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
68c755a2
Commit
68c755a2
authored
Apr 15, 2016
by
Felix Lange
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
core/state: fix TestDump
Lazy "I'll just put return here instead of fixing the test" found by go vet.
parent
ebf3cf8f
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
27 additions
and
9 deletions
+27
-9
dump.go
core/state/dump.go
+12
-4
state_object.go
core/state/state_object.go
+1
-1
state_test.go
core/state/state_test.go
+14
-4
No files found.
core/state/dump.go
View file @
68c755a2
...
...
@@ -46,11 +46,19 @@ func (self *StateDB) RawDump() World {
it
:=
self
.
trie
.
Iterator
()
for
it
.
Next
()
{
addr
:=
self
.
trie
.
GetKey
(
it
.
Key
)
stateObject
,
_
:=
DecodeObject
(
common
.
BytesToAddress
(
addr
),
self
.
db
,
it
.
Value
)
account
:=
Account
{
Balance
:
stateObject
.
balance
.
String
(),
Nonce
:
stateObject
.
nonce
,
Root
:
common
.
Bytes2Hex
(
stateObject
.
Root
()),
CodeHash
:
common
.
Bytes2Hex
(
stateObject
.
codeHash
),
Code
:
common
.
Bytes2Hex
(
stateObject
.
Code
())}
account
.
Storage
=
make
(
map
[
string
]
string
)
stateObject
,
err
:=
DecodeObject
(
common
.
BytesToAddress
(
addr
),
self
.
db
,
it
.
Value
)
if
err
!=
nil
{
panic
(
err
)
}
account
:=
Account
{
Balance
:
stateObject
.
balance
.
String
(),
Nonce
:
stateObject
.
nonce
,
Root
:
common
.
Bytes2Hex
(
stateObject
.
Root
()),
CodeHash
:
common
.
Bytes2Hex
(
stateObject
.
codeHash
),
Code
:
common
.
Bytes2Hex
(
stateObject
.
Code
()),
Storage
:
make
(
map
[
string
]
string
),
}
storageIt
:=
stateObject
.
trie
.
Iterator
()
for
storageIt
.
Next
()
{
account
.
Storage
[
common
.
Bytes2Hex
(
self
.
trie
.
GetKey
(
storageIt
.
Key
))]
=
common
.
Bytes2Hex
(
storageIt
.
Value
)
...
...
core/state/state_object.go
View file @
68c755a2
...
...
@@ -287,7 +287,7 @@ func DecodeObject(address common.Address, db trie.Database, data []byte) (*State
}
if
!
bytes
.
Equal
(
ext
.
CodeHash
,
emptyCodeHash
)
{
if
obj
.
code
,
err
=
db
.
Get
(
ext
.
CodeHash
);
err
!=
nil
{
return
nil
,
fmt
.
Errorf
(
"can't
find
code for hash %x: %v"
,
ext
.
CodeHash
,
err
)
return
nil
,
fmt
.
Errorf
(
"can't
get
code for hash %x: %v"
,
ext
.
CodeHash
,
err
)
}
}
obj
.
nonce
=
ext
.
Nonce
...
...
core/state/state_test.go
View file @
68c755a2
...
...
@@ -36,7 +36,6 @@ var _ = checker.Suite(&StateSuite{})
var
toAddr
=
common
.
BytesToAddress
func
(
s
*
StateSuite
)
TestDump
(
c
*
checker
.
C
)
{
return
// generate a few entries
obj1
:=
s
.
state
.
GetOrNewStateObject
(
toAddr
([]
byte
{
0x01
}))
obj1
.
AddBalance
(
big
.
NewInt
(
22
))
...
...
@@ -48,24 +47,35 @@ func (s *StateSuite) TestDump(c *checker.C) {
// write some of them to the trie
s
.
state
.
UpdateStateObject
(
obj1
)
s
.
state
.
UpdateStateObject
(
obj2
)
s
.
state
.
Commit
()
// check that dump contains the state objects that are in trie
got
:=
string
(
s
.
state
.
Dump
())
want
:=
`{
"root": "
6e277ae8357d013e50f74eedb66a991f6922f93ae03714de58b3d0c5e9eee53f
",
"root": "
71edff0130dd2385947095001c73d9e28d862fc286fca2b922ca6f6f3cddfdd2
",
"accounts": {
"
1468288056310c82aa4c01a7e12a10f8111a0560e72b700555479031b86c357d
": {
"
0000000000000000000000000000000000000001
": {
"balance": "22",
"nonce": 0,
"root": "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
"codeHash": "c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
"code": "",
"storage": {}
},
"a17eacbc25cda025e81db9c5c62868822c73ce097cee2a63e33a2e41268358a1": {
"0000000000000000000000000000000000000002": {
"balance": "44",
"nonce": 0,
"root": "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
"codeHash": "c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
"code": "",
"storage": {}
},
"0000000000000000000000000000000000000102": {
"balance": "0",
"nonce": 0,
"root": "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
"codeHash": "87874902497a5bb968da31a2998d8f22e949d1ef6214bcdedd8bae24cca4b9e3",
"code": "03030303030303",
"storage": {}
}
}
...
...
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