Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
G
Geth-Modification
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
张蕾
Geth-Modification
Commits
2a7c4b62
Unverified
Commit
2a7c4b62
authored
4 years ago
by
Péter Szilágyi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
eth: fix tracing state retrieval if requesting the non-dirty genesis
parent
9d10856e
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
10 additions
and
0 deletions
+10
-0
state_accessor.go
eth/state_accessor.go
+10
-0
No files found.
eth/state_accessor.go
View file @
2a7c4b62
...
...
@@ -61,6 +61,16 @@ func (eth *Ethereum) stateAtBlock(block *types.Block, reexec uint64, base *state
// the internal junks created by tracing will be persisted into the disk.
database
=
state
.
NewDatabaseWithConfig
(
eth
.
chainDb
,
&
trie
.
Config
{
Cache
:
16
})
// If we didn't check the dirty database, do check the clean one, otherwise
// we would rewind past a persisted block (specific corner case is chain
// tracing from the genesis).
if
!
checkLive
{
statedb
,
err
=
state
.
New
(
current
.
Root
(),
database
,
nil
)
if
err
==
nil
{
return
statedb
,
nil
}
}
// Database does not have the state for the given block, try to regenerate
for
i
:=
uint64
(
0
);
i
<
reexec
;
i
++
{
if
current
.
NumberU64
()
==
0
{
return
nil
,
errors
.
New
(
"genesis state is missing"
)
...
...
This diff is collapsed.
Click to expand it.
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