Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
B
baas-ide
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
JIRA
JIRA
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
guxukai
baas-ide
Commits
4db645cb
Commit
4db645cb
authored
Jun 29, 2018
by
Iuri Matias
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
move code and trace code from remix-debug to remix-lib
parent
cc0028c1
Hide whitespace changes
Inline
Side-by-side
Showing
28 changed files
with
154 additions
and
51 deletions
+154
-51
index.js
remix-debug/index.js
+3
-10
Ethdebugger.js
remix-debug/src/Ethdebugger.js
+2
-2
int.js
remix-debug/test/decoder/localsTests/int.js
+3
-3
misc.js
remix-debug/test/decoder/localsTests/misc.js
+3
-2
misc2.js
remix-debug/test/decoder/localsTests/misc2.js
+3
-2
structArray.js
remix-debug/test/decoder/localsTests/structArray.js
+3
-2
mapping.js
remix-debug/test/decoder/stateTests/mapping.js
+2
-1
tests.js
remix-debug/test/tests.js
+1
-5
index.js
remix-lib/index.js
+11
-0
package.json
remix-lib/package.json
+2
-1
breakpointManager.js
remix-lib/src/code/breakpointManager.js
+3
-3
codeManager.js
remix-lib/src/code/codeManager.js
+4
-4
codeResolver.js
remix-lib/src/code/codeResolver.js
+0
-0
codeUtils.js
remix-lib/src/code/codeUtils.js
+0
-0
disassembler.js
remix-lib/src/code/disassembler.js
+1
-2
opcodes.js
remix-lib/src/code/opcodes.js
+0
-0
traceAnalyser.js
remix-lib/src/trace/traceAnalyser.js
+1
-2
traceCache.js
remix-lib/src/trace/traceCache.js
+1
-2
traceManager.js
remix-lib/src/trace/traceManager.js
+3
-3
traceRetriever.js
remix-lib/src/trace/traceRetriever.js
+0
-0
traceStepManager.js
remix-lib/src/trace/traceStepManager.js
+3
-3
codeManager.js
remix-lib/test/codeManager.js
+1
-2
disassembler.js
remix-lib/test/disassembler.js
+0
-0
init.js
remix-lib/test/init.js
+31
-0
testWeb3.js
remix-lib/test/resources/testWeb3.js
+51
-0
testWeb3.json
remix-lib/test/resources/testWeb3.json
+17
-0
tests.js
remix-lib/test/tests.js
+4
-0
traceManager.js
remix-lib/test/traceManager.js
+1
-2
No files found.
remix-debug/index.js
View file @
4db645cb
'use strict'
'use strict'
var
EthDebugger
=
require
(
'./src/Ethdebugger'
)
var
EthDebugger
=
require
(
'./src/Ethdebugger'
)
var
CodeManager
=
require
(
'./src/code/codeManager'
)
var
BreakpointManager
=
require
(
'./src/code/breakpointManager'
)
var
StorageViewer
=
require
(
'./src/storage/storageViewer'
)
var
StorageViewer
=
require
(
'./src/storage/storageViewer'
)
var
StorageResolver
=
require
(
'./src/storage/storageResolver'
)
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 :
Use of breakPointManager :
...
@@ -24,16 +24,9 @@ module.exports = {
...
@@ -24,16 +24,9 @@ module.exports = {
* @return {Function} _locationToRowConverter - function implemented by editor which return a column/line position for a char source location
* @return {Function} _locationToRowConverter - function implemented by editor which return a column/line position for a char source location
*/
*/
BreakpointManager
:
BreakpointManager
,
BreakpointManager
:
BreakpointManager
,
code
:
{
CodeManager
:
CodeManager
,
BreakpointManager
:
BreakpointManager
},
storage
:
{
storage
:
{
StorageViewer
:
StorageViewer
,
StorageViewer
:
StorageViewer
,
StorageResolver
:
StorageResolver
StorageResolver
:
StorageResolver
},
trace
:
{
TraceManager
:
TraceManager
}
}
}
}
remix-debug/src/Ethdebugger.js
View file @
4db645cb
'use strict'
'use strict'
var
CodeManager
=
require
(
'./code/codeManager'
)
var
StorageViewer
=
require
(
'./storage/storageViewer'
)
var
StorageViewer
=
require
(
'./storage/storageViewer'
)
var
StorageResolver
=
require
(
'./storage/storageResolver'
)
var
StorageResolver
=
require
(
'./storage/storageResolver'
)
var
TraceManager
=
require
(
'./trace/traceManager'
)
var
SolidityProxy
=
require
(
'./decoder/solidityProxy'
)
var
SolidityProxy
=
require
(
'./decoder/solidityProxy'
)
var
stateDecoder
=
require
(
'./decoder/stateDecoder'
)
var
stateDecoder
=
require
(
'./decoder/stateDecoder'
)
...
@@ -11,6 +9,8 @@ var localDecoder = require('./decoder/localDecoder')
...
@@ -11,6 +9,8 @@ var localDecoder = require('./decoder/localDecoder')
var
InternalCallTree
=
require
(
'./decoder/internalCallTree'
)
var
InternalCallTree
=
require
(
'./decoder/internalCallTree'
)
var
remixLib
=
require
(
'remix-lib'
)
var
remixLib
=
require
(
'remix-lib'
)
var
TraceManager
=
remixLib
.
trace
.
traceManager
var
CodeManager
=
remixLib
.
code
.
CodeManager
var
traceHelper
=
remixLib
.
helpers
.
trace
var
traceHelper
=
remixLib
.
helpers
.
trace
var
init
=
remixLib
.
init
var
init
=
remixLib
.
init
var
executionContext
=
remixLib
.
execution
.
executionContext
var
executionContext
=
remixLib
.
execution
.
executionContext
...
...
remix-debug/test/decoder/localsTests/int.js
View file @
4db645cb
'use strict'
'use strict'
var
TraceManager
=
require
(
'../../../src/trace/traceManager'
)
var
CodeManager
=
require
(
'../../../src/code/codeManager'
)
var
vmCall
=
require
(
'../vmCall'
)
var
vmCall
=
require
(
'../vmCall'
)
var
remixLib
=
require
(
'remix-lib'
)
var
remixLib
=
require
(
'remix-lib'
)
var
TraceManager
=
remixLib
.
trace
.
TraceManager
var
CodeManager
=
remixLib
.
code
.
CodeManager
var
traceHelper
=
remixLib
.
helpers
.
trace
var
traceHelper
=
remixLib
.
helpers
.
trace
var
SolidityProxy
=
require
(
'../../../src/decoder/solidityProxy'
)
var
SolidityProxy
=
require
(
'../../../src/decoder/solidityProxy'
)
var
InternalCallTree
=
require
(
'../../../src/decoder/internalCallTree'
)
var
InternalCallTree
=
require
(
'../../../src/decoder/internalCallTree'
)
...
...
remix-debug/test/decoder/localsTests/misc.js
View file @
4db645cb
'use strict'
'use strict'
var
TraceManager
=
require
(
'../../../src/trace/traceManager'
)
var
CodeManager
=
require
(
'../../../src/code/codeManager'
)
var
vmCall
=
require
(
'../vmCall'
)
var
vmCall
=
require
(
'../vmCall'
)
var
remixLib
=
require
(
'remix-lib'
)
var
remixLib
=
require
(
'remix-lib'
)
var
traceHelper
=
remixLib
.
helpers
.
trace
var
traceHelper
=
remixLib
.
helpers
.
trace
...
@@ -9,6 +7,9 @@ var InternalCallTree = require('../../../src/decoder/internalCallTree')
...
@@ -9,6 +7,9 @@ var InternalCallTree = require('../../../src/decoder/internalCallTree')
var
EventManager
=
remixLib
.
EventManager
var
EventManager
=
remixLib
.
EventManager
var
helper
=
require
(
'./helper'
)
var
helper
=
require
(
'./helper'
)
var
TraceManager
=
remixLib
.
trace
.
TraceManager
var
CodeManager
=
remixLib
.
code
.
CodeManager
module
.
exports
=
function
(
st
,
vm
,
privateKey
,
contractBytecode
,
compilationResult
,
cb
)
{
module
.
exports
=
function
(
st
,
vm
,
privateKey
,
contractBytecode
,
compilationResult
,
cb
)
{
vmCall
.
sendTx
(
vm
,
{
nonce
:
0
,
privateKey
:
privateKey
},
null
,
0
,
contractBytecode
,
function
(
error
,
txHash
)
{
vmCall
.
sendTx
(
vm
,
{
nonce
:
0
,
privateKey
:
privateKey
},
null
,
0
,
contractBytecode
,
function
(
error
,
txHash
)
{
if
(
error
)
{
if
(
error
)
{
...
...
remix-debug/test/decoder/localsTests/misc2.js
View file @
4db645cb
'use strict'
'use strict'
var
TraceManager
=
require
(
'../../../src/trace/traceManager'
)
var
CodeManager
=
require
(
'../../../src/code/codeManager'
)
var
vmCall
=
require
(
'../vmCall'
)
var
vmCall
=
require
(
'../vmCall'
)
var
remixLib
=
require
(
'remix-lib'
)
var
remixLib
=
require
(
'remix-lib'
)
var
traceHelper
=
remixLib
.
helpers
.
trace
var
traceHelper
=
remixLib
.
helpers
.
trace
...
@@ -9,6 +7,9 @@ var InternalCallTree = require('../../../src/decoder/internalCallTree')
...
@@ -9,6 +7,9 @@ var InternalCallTree = require('../../../src/decoder/internalCallTree')
var
EventManager
=
remixLib
.
EventManager
var
EventManager
=
remixLib
.
EventManager
var
helper
=
require
(
'./helper'
)
var
helper
=
require
(
'./helper'
)
var
TraceManager
=
remixLib
.
trace
.
TraceManager
var
CodeManager
=
remixLib
.
code
.
CodeManager
module
.
exports
=
function
(
st
,
vm
,
privateKey
,
contractBytecode
,
compilationResult
,
cb
)
{
module
.
exports
=
function
(
st
,
vm
,
privateKey
,
contractBytecode
,
compilationResult
,
cb
)
{
vmCall
.
sendTx
(
vm
,
{
nonce
:
0
,
privateKey
:
privateKey
},
null
,
0
,
contractBytecode
,
function
(
error
,
txHash
)
{
vmCall
.
sendTx
(
vm
,
{
nonce
:
0
,
privateKey
:
privateKey
},
null
,
0
,
contractBytecode
,
function
(
error
,
txHash
)
{
if
(
error
)
{
if
(
error
)
{
...
...
remix-debug/test/decoder/localsTests/structArray.js
View file @
4db645cb
'use strict'
'use strict'
var
TraceManager
=
require
(
'../../../src/trace/traceManager'
)
var
CodeManager
=
require
(
'../../../src/code/codeManager'
)
var
vmCall
=
require
(
'../vmCall'
)
var
vmCall
=
require
(
'../vmCall'
)
var
remixLib
=
require
(
'remix-lib'
)
var
remixLib
=
require
(
'remix-lib'
)
var
traceHelper
=
remixLib
.
helpers
.
trace
var
traceHelper
=
remixLib
.
helpers
.
trace
...
@@ -9,6 +7,9 @@ var InternalCallTree = require('../../../src/decoder/internalCallTree')
...
@@ -9,6 +7,9 @@ var InternalCallTree = require('../../../src/decoder/internalCallTree')
var
EventManager
=
remixLib
.
EventManager
var
EventManager
=
remixLib
.
EventManager
var
helper
=
require
(
'./helper'
)
var
helper
=
require
(
'./helper'
)
var
TraceManager
=
remixLib
.
trace
.
TraceManager
var
CodeManager
=
remixLib
.
code
.
CodeManager
module
.
exports
=
function
(
st
,
vm
,
privateKey
,
contractBytecode
,
compilationResult
,
cb
)
{
module
.
exports
=
function
(
st
,
vm
,
privateKey
,
contractBytecode
,
compilationResult
,
cb
)
{
vmCall
.
sendTx
(
vm
,
{
nonce
:
0
,
privateKey
:
privateKey
},
null
,
0
,
contractBytecode
,
function
(
error
,
txHash
)
{
vmCall
.
sendTx
(
vm
,
{
nonce
:
0
,
privateKey
:
privateKey
},
null
,
0
,
contractBytecode
,
function
(
error
,
txHash
)
{
if
(
error
)
{
if
(
error
)
{
...
...
remix-debug/test/decoder/stateTests/mapping.js
View file @
4db645cb
var
remixLib
=
require
(
'remix-lib'
)
var
remixLib
=
require
(
'remix-lib'
)
var
compilerInput
=
remixLib
.
helpers
.
compiler
.
compilerInput
var
compilerInput
=
remixLib
.
helpers
.
compiler
.
compilerInput
var
TraceManager
=
remixLib
.
trace
.
TraceManager
var
compiler
=
require
(
'solc'
)
var
compiler
=
require
(
'solc'
)
var
stateDecoder
=
require
(
'../../../src/decoder/stateDecoder'
)
var
stateDecoder
=
require
(
'../../../src/decoder/stateDecoder'
)
var
vmCall
=
require
(
'../vmCall'
)
var
vmCall
=
require
(
'../vmCall'
)
var
TraceManager
=
require
(
'../../../src/trace/traceManager'
)
var
StorageResolver
=
require
(
'../../../src/storage/storageResolver'
)
var
StorageResolver
=
require
(
'../../../src/storage/storageResolver'
)
var
StorageViewer
=
require
(
'../../../src/storage/storageViewer'
)
var
StorageViewer
=
require
(
'../../../src/storage/storageViewer'
)
...
...
remix-debug/test/tests.js
View file @
4db645cb
...
@@ -6,16 +6,12 @@ var vmCall = require('./vmCall')
...
@@ -6,16 +6,12 @@ var vmCall = require('./vmCall')
var
Debugger
=
require
(
'../src/Ethdebugger'
)
var
Debugger
=
require
(
'../src/Ethdebugger'
)
var
compiler
=
require
(
'solc'
)
var
compiler
=
require
(
'solc'
)
require
(
'./traceManager.js'
)
require
(
'./codeManager.js'
)
require
(
'./disassembler.js'
)
require
(
'./decoder/decodeInfo.js'
)
require
(
'./decoder/decodeInfo.js'
)
require
(
'./decoder/storageLocation.js'
)
require
(
'./decoder/storageLocation.js'
)
require
(
'./decoder/storageDecoder.js'
)
require
(
'./decoder/storageDecoder.js'
)
require
(
'./decoder/localDecoder.js'
)
require
(
'./decoder/localDecoder.js'
)
var
BreakpointManager
=
re
quire
(
'../src/code/breakpointManager'
)
var
BreakpointManager
=
re
mixLib
.
code
.
BreakpointManager
tape
(
'debug contract'
,
function
(
t
)
{
tape
(
'debug contract'
,
function
(
t
)
{
t
.
plan
(
12
)
t
.
plan
(
12
)
...
...
remix-lib/index.js
View file @
4db645cb
...
@@ -22,6 +22,10 @@ var txRunner = require('./src/execution/txRunner')
...
@@ -22,6 +22,10 @@ var txRunner = require('./src/execution/txRunner')
var
executionContext
=
require
(
'./src/execution/execution-context'
)
var
executionContext
=
require
(
'./src/execution/execution-context'
)
var
typeConversion
=
require
(
'./src/execution/typeConversion'
)
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'
)
{
if
(
typeof
(
module
)
!==
'undefined'
&&
typeof
(
module
.
exports
)
!==
'undefined'
)
{
module
.
exports
=
modules
()
module
.
exports
=
modules
()
}
}
...
@@ -32,6 +36,13 @@ if (typeof (window) !== 'undefined') {
...
@@ -32,6 +36,13 @@ if (typeof (window) !== 'undefined') {
function
modules
()
{
function
modules
()
{
return
{
return
{
code
:
{
CodeManager
:
CodeManager
,
BreakpointManager
:
BreakpointManager
},
trace
:
{
TraceManager
:
TraceManager
},
EventManager
:
EventManager
,
EventManager
:
EventManager
,
helpers
:
{
helpers
:
{
trace
:
traceHelper
,
trace
:
traceHelper
,
...
...
remix-lib/package.json
View file @
4db645cb
...
@@ -50,7 +50,8 @@
...
@@ -50,7 +50,8 @@
"node_modules/*"
,
"node_modules/*"
,
"build/*"
,
"build/*"
,
"test/resources/*"
"test/resources/*"
]
],
"parser"
:
"babel-eslint"
},
},
"browserify"
:
{
"browserify"
:
{
"transform"
:
[
"transform"
:
[
...
...
remix-
debug
/src/code/breakpointManager.js
→
remix-
lib
/src/code/breakpointManager.js
View file @
4db645cb
'use strict'
'use strict'
var
remixLib
=
require
(
'remix-lib'
)
var
EventManager
=
re
mixLib
.
EventManager
var
EventManager
=
re
quire
(
'../eventManager'
)
var
helper
=
re
mixLib
.
helpers
.
trace
var
helper
=
re
quire
(
'../helpers/traceHelper'
)
/**
/**
* allow to manage breakpoint
* allow to manage breakpoint
...
...
remix-
debug
/src/code/codeManager.js
→
remix-
lib
/src/code/codeManager.js
View file @
4db645cb
'use strict'
'use strict'
var
remixLib
=
require
(
'remix-lib'
)
var
EventManager
=
re
mixLib
.
EventManager
var
EventManager
=
re
quire
(
'../eventManager'
)
var
traceHelper
=
re
mixLib
.
helpers
.
trace
var
traceHelper
=
re
quire
(
'../helpers/traceHelper'
)
var
SourceMappingDecoder
=
re
mixLib
.
SourceMappingDecoder
var
SourceMappingDecoder
=
re
quire
(
'../sourceMappingDecoder'
)
var
CodeResolver
=
require
(
'./codeResolver'
)
var
CodeResolver
=
require
(
'./codeResolver'
)
/*
/*
...
...
remix-
debug
/src/code/codeResolver.js
→
remix-
lib
/src/code/codeResolver.js
View file @
4db645cb
File moved
remix-
debug
/src/code/codeUtils.js
→
remix-
lib
/src/code/codeUtils.js
View file @
4db645cb
File moved
remix-
debug
/src/code/disassembler.js
→
remix-
lib
/src/code/disassembler.js
View file @
4db645cb
'use strict'
'use strict'
var
parseCode
=
require
(
'./codeUtils'
).
parseCode
var
parseCode
=
require
(
'./codeUtils'
).
parseCode
var
remixLib
=
require
(
'remix-lib'
)
var
util
=
require
(
'../util'
)
var
util
=
remixLib
.
util
var
createExpressions
=
function
(
instructions
)
{
var
createExpressions
=
function
(
instructions
)
{
var
expressions
=
[]
var
expressions
=
[]
...
...
remix-
debug
/src/code/opcodes.js
→
remix-
lib
/src/code/opcodes.js
View file @
4db645cb
File moved
remix-
debug
/src/trace/traceAnalyser.js
→
remix-
lib
/src/trace/traceAnalyser.js
View file @
4db645cb
'use strict'
'use strict'
var
remixLib
=
require
(
'remix-lib'
)
var
traceHelper
=
require
(
'../helpers/traceHelper'
)
var
traceHelper
=
remixLib
.
helpers
.
trace
function
TraceAnalyser
(
_cache
)
{
function
TraceAnalyser
(
_cache
)
{
this
.
traceCache
=
_cache
this
.
traceCache
=
_cache
...
...
remix-
debug
/src/trace/traceCache.js
→
remix-
lib
/src/trace/traceCache.js
View file @
4db645cb
'use strict'
'use strict'
var
remixLib
=
require
(
'remix-lib'
)
var
helper
=
require
(
'../util'
)
var
helper
=
remixLib
.
util
function
TraceCache
()
{
function
TraceCache
()
{
this
.
init
()
this
.
init
()
...
...
remix-
debug
/src/trace/traceManager.js
→
remix-
lib
/src/trace/traceManager.js
View file @
4db645cb
...
@@ -3,9 +3,9 @@ var TraceAnalyser = require('./traceAnalyser')
...
@@ -3,9 +3,9 @@ var TraceAnalyser = require('./traceAnalyser')
var
TraceRetriever
=
require
(
'./traceRetriever'
)
var
TraceRetriever
=
require
(
'./traceRetriever'
)
var
TraceCache
=
require
(
'./traceCache'
)
var
TraceCache
=
require
(
'./traceCache'
)
var
TraceStepManager
=
require
(
'./traceStepManager'
)
var
TraceStepManager
=
require
(
'./traceStepManager'
)
var
remixLib
=
require
(
'remix-lib'
)
var
traceHelper
=
re
mixLib
.
helpers
.
trace
var
traceHelper
=
re
quire
(
'../helpers/traceHelper'
)
var
util
=
re
mixLib
.
util
var
util
=
re
quire
(
'../util'
)
function
TraceManager
(
options
)
{
function
TraceManager
(
options
)
{
this
.
web3
=
options
.
web3
this
.
web3
=
options
.
web3
...
...
remix-
debug
/src/trace/traceRetriever.js
→
remix-
lib
/src/trace/traceRetriever.js
View file @
4db645cb
File moved
remix-
debug
/src/trace/traceStepManager.js
→
remix-
lib
/src/trace/traceStepManager.js
View file @
4db645cb
'use strict'
'use strict'
var
remixLib
=
require
(
'remix-lib'
)
var
traceHelper
=
re
mixLib
.
helpers
.
trace
var
traceHelper
=
re
quire
(
'../helpers/traceHelper'
)
var
util
=
re
mixLib
.
util
var
util
=
re
quire
(
'../util'
)
function
TraceStepManager
(
_traceAnalyser
)
{
function
TraceStepManager
(
_traceAnalyser
)
{
this
.
traceAnalyser
=
_traceAnalyser
this
.
traceAnalyser
=
_traceAnalyser
...
...
remix-
debug
/test/codeManager.js
→
remix-
lib
/test/codeManager.js
View file @
4db645cb
'use strict'
'use strict'
var
tape
=
require
(
'tape'
)
var
tape
=
require
(
'tape'
)
var
remixLib
=
require
(
'remix-lib'
)
var
Web3Providers
=
require
(
'../src/web3Provider/web3Providers'
)
var
Web3Providers
=
remixLib
.
vm
.
Web3Providers
var
TraceManager
=
require
(
'../src/trace/traceManager'
)
var
TraceManager
=
require
(
'../src/trace/traceManager'
)
var
CodeManager
=
require
(
'../src/code/codeManager'
)
var
CodeManager
=
require
(
'../src/code/codeManager'
)
var
web3Test
=
require
(
'./resources/testWeb3'
)
var
web3Test
=
require
(
'./resources/testWeb3'
)
...
...
remix-
debug
/test/disassembler.js
→
remix-
lib
/test/disassembler.js
View file @
4db645cb
File moved
remix-lib/test/init.js
0 → 100644
View file @
4db645cb
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
remix-lib/test/resources/testWeb3.js
0 → 100644
View file @
4db645cb
'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
}
remix-lib/test/resources/testWeb3.json
0 → 100644
View file @
4db645cb
{
"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"
]}]}
}
}
remix-lib/test/tests.js
View file @
4db645cb
...
@@ -3,3 +3,7 @@ require('./eventManager.js')
...
@@ -3,3 +3,7 @@ require('./eventManager.js')
require
(
'./sourceMappingDecoder.js'
)
require
(
'./sourceMappingDecoder.js'
)
require
(
'./util.js'
)
require
(
'./util.js'
)
require
(
'./txFormat.js'
)
require
(
'./txFormat.js'
)
require
(
'./traceManager.js'
)
require
(
'./codeManager.js'
)
require
(
'./disassembler.js'
)
remix-
debug
/test/traceManager.js
→
remix-
lib
/test/traceManager.js
View file @
4db645cb
'use strict'
'use strict'
var
TraceManager
=
require
(
'../src/trace/traceManager'
)
var
TraceManager
=
require
(
'../src/trace/traceManager'
)
var
tape
=
require
(
'tape'
)
var
tape
=
require
(
'tape'
)
var
remixLib
=
require
(
'remix-lib'
)
var
Web3Providers
=
require
(
'../src/web3Provider/web3Providers'
)
var
Web3Providers
=
remixLib
.
vm
.
Web3Providers
var
web3Test
=
require
(
'./resources/testWeb3'
)
var
web3Test
=
require
(
'./resources/testWeb3'
)
let
web3
=
null
let
web3
=
null
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment