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
c6b72a00
Commit
c6b72a00
authored
Jan 23, 2017
by
chriseth
Committed by
GitHub
Jan 23, 2017
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #180 from ethereum/outofgas
Remove outofgas checking
parents
7a434782
2517e200
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
10 additions
and
11 deletions
+10
-11
traceAnalyser.js
src/trace/traceAnalyser.js
+2
-7
traceCache.js
src/trace/traceCache.js
+8
-4
No files found.
src/trace/traceAnalyser.js
View file @
c6b72a00
...
...
@@ -90,7 +90,6 @@ TraceAnalyser.prototype.buildStorage = function (index, step, context) {
}
TraceAnalyser
.
prototype
.
buildDepth
=
function
(
index
,
step
,
tx
,
callStack
,
context
)
{
var
outOfGas
=
runOutOfGas
(
step
)
if
(
traceHelper
.
isCallInstruction
(
step
)
&&
!
traceHelper
.
isCallToPrecompiledContract
(
index
,
this
.
trace
))
{
var
newAddress
if
(
traceHelper
.
isCreateInstruction
(
step
))
{
...
...
@@ -111,10 +110,10 @@ TraceAnalyser.prototype.buildDepth = function (index, step, tx, callStack, conte
this
.
traceCache
.
pushSteps
(
index
,
context
.
currentCallIndex
)
context
.
lastCallIndex
=
context
.
currentCallIndex
context
.
currentCallIndex
=
0
}
else
if
(
traceHelper
.
isReturnInstruction
(
step
)
||
traceHelper
.
isStopInstruction
(
step
)
||
outOfGas
||
step
.
error
||
step
.
invalidDepthChange
)
{
}
else
if
(
traceHelper
.
isReturnInstruction
(
step
)
||
traceHelper
.
isStopInstruction
(
step
)
||
step
.
error
||
step
.
invalidDepthChange
)
{
if
(
index
<
this
.
trace
.
length
)
{
callStack
.
pop
()
this
.
traceCache
.
pushCall
(
step
,
index
+
1
,
null
,
callStack
.
slice
(
0
),
outOfGas
||
step
.
error
||
step
.
invalidDepthChange
,
outOfGas
)
this
.
traceCache
.
pushCall
(
step
,
index
+
1
,
null
,
callStack
.
slice
(
0
),
step
.
error
||
step
.
invalidDepthChange
)
this
.
buildCalldata
(
index
,
step
,
tx
,
false
)
this
.
traceCache
.
pushSteps
(
index
,
context
.
currentCallIndex
)
context
.
currentCallIndex
=
context
.
lastCallIndex
+
1
...
...
@@ -126,8 +125,4 @@ TraceAnalyser.prototype.buildDepth = function (index, step, tx, callStack, conte
return
context
}
function
runOutOfGas
(
step
)
{
return
parseInt
(
step
.
gas
)
-
parseInt
(
step
.
gasCost
)
<
0
}
module
.
exports
=
TraceAnalyser
src/trace/traceCache.js
View file @
c6b72a00
...
...
@@ -33,12 +33,16 @@ TraceCache.prototype.pushMemoryChanges = function (value) {
this
.
memoryChanges
.
push
(
value
)
}
TraceCache
.
prototype
.
pushCall
=
function
(
step
,
index
,
address
,
callStack
,
reverted
,
outOfGas
)
{
if
(
step
.
op
===
'RETURN'
||
step
.
op
===
'STOP'
||
reverted
)
{
// outOfGas has been removed because gas left logging is apparently made differently
// in the vm/geth/eth. TODO add the error property (with about the error in all clients)
TraceCache
.
prototype
.
pushCall
=
function
(
step
,
index
,
address
,
callStack
,
reverted
)
{
var
validReturnStep
=
step
.
op
===
'RETURN'
||
step
.
op
===
'STOP'
if
(
validReturnStep
||
reverted
)
{
if
(
this
.
currentCall
)
{
this
.
currentCall
.
call
.
return
=
index
-
1
this
.
currentCall
.
call
.
reverted
=
reverted
this
.
currentCall
.
call
.
outOfGas
=
outOfGas
if
(
!
validReturnStep
)
{
this
.
currentCall
.
call
.
reverted
=
reverted
}
var
parent
=
this
.
currentCall
.
parent
this
.
currentCall
=
parent
?
{
call
:
parent
.
call
,
parent
:
parent
.
parent
}
:
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