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
06d4470b
Unverified
Commit
06d4470b
authored
Feb 24, 2020
by
Péter Szilágyi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
core: fix broken tests due to API changes + linter
parent
19099421
Changes
18
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
55 additions
and
182 deletions
+55
-182
blockchain_test.go
core/blockchain_test.go
+1
-1
iterator_test.go
core/state/iterator_test.go
+1
-1
difflayer.go
core/state/snapshot/difflayer.go
+1
-1
difflayer_test.go
core/state/snapshot/difflayer_test.go
+1
-1
disklayer_test.go
core/state/snapshot/disklayer_test.go
+4
-4
generate.go
core/state/snapshot/generate.go
+1
-1
iteration.md
core/state/snapshot/iteration.md
+0
-60
iterator_binary.go
core/state/snapshot/iterator_binary.go
+1
-1
iterator_fast.go
core/state/snapshot/iterator_fast.go
+4
-12
iterator_test.go
core/state/snapshot/iterator_test.go
+3
-6
journal.go
core/state/snapshot/journal.go
+1
-1
sort.go
core/state/snapshot/sort.go
+0
-56
state_test.go
core/state/state_test.go
+2
-2
statedb_test.go
core/state/statedb_test.go
+10
-10
sync_test.go
core/state/sync_test.go
+3
-3
tx_pool_test.go
core/tx_pool_test.go
+19
-19
gas_table_test.go
core/vm/gas_table_test.go
+1
-1
odr_test.go
les/odr_test.go
+2
-2
No files found.
core/blockchain_test.go
View file @
06d4470b
...
@@ -144,7 +144,7 @@ func testBlockChainImport(chain types.Blocks, blockchain *BlockChain) error {
...
@@ -144,7 +144,7 @@ func testBlockChainImport(chain types.Blocks, blockchain *BlockChain) error {
}
}
return
err
return
err
}
}
statedb
,
err
:=
state
.
New
(
blockchain
.
GetBlockByHash
(
block
.
ParentHash
())
.
Root
(),
blockchain
.
stateCache
)
statedb
,
err
:=
state
.
New
(
blockchain
.
GetBlockByHash
(
block
.
ParentHash
())
.
Root
(),
blockchain
.
stateCache
,
nil
)
if
err
!=
nil
{
if
err
!=
nil
{
return
err
return
err
}
}
...
...
core/state/iterator_test.go
View file @
06d4470b
...
@@ -29,7 +29,7 @@ func TestNodeIteratorCoverage(t *testing.T) {
...
@@ -29,7 +29,7 @@ func TestNodeIteratorCoverage(t *testing.T) {
// Create some arbitrary test state to iterate
// Create some arbitrary test state to iterate
db
,
root
,
_
:=
makeTestState
()
db
,
root
,
_
:=
makeTestState
()
state
,
err
:=
New
(
root
,
db
)
state
,
err
:=
New
(
root
,
db
,
nil
)
if
err
!=
nil
{
if
err
!=
nil
{
t
.
Fatalf
(
"failed to create state trie at %x: %v"
,
root
,
err
)
t
.
Fatalf
(
"failed to create state trie at %x: %v"
,
root
,
err
)
}
}
...
...
core/state/snapshot/difflayer.go
View file @
06d4470b
...
@@ -478,7 +478,7 @@ func (dl *diffLayer) StorageList(accountHash common.Hash) []common.Hash {
...
@@ -478,7 +478,7 @@ func (dl *diffLayer) StorageList(accountHash common.Hash) []common.Hash {
storageMap
:=
dl
.
storageData
[
accountHash
]
storageMap
:=
dl
.
storageData
[
accountHash
]
storageList
:=
make
([]
common
.
Hash
,
0
,
len
(
storageMap
))
storageList
:=
make
([]
common
.
Hash
,
0
,
len
(
storageMap
))
for
k
,
_
:=
range
storageMap
{
for
k
:=
range
storageMap
{
storageList
=
append
(
storageList
,
k
)
storageList
=
append
(
storageList
,
k
)
}
}
sort
.
Sort
(
hashes
(
storageList
))
sort
.
Sort
(
hashes
(
storageList
))
...
...
core/state/snapshot/difflayer_test.go
View file @
06d4470b
...
@@ -167,7 +167,7 @@ func TestInsertAndMerge(t *testing.T) {
...
@@ -167,7 +167,7 @@ func TestInsertAndMerge(t *testing.T) {
merged
:=
(
child
.
flatten
())
.
(
*
diffLayer
)
merged
:=
(
child
.
flatten
())
.
(
*
diffLayer
)
{
// Check that slot value is present
{
// Check that slot value is present
got
,
_
:=
merged
.
Storage
(
acc
,
slot
)
got
,
_
:=
merged
.
Storage
(
acc
,
slot
)
if
exp
:=
[]
byte
{
0x01
};
bytes
.
Compare
(
got
,
exp
)
!=
0
{
if
exp
:=
[]
byte
{
0x01
};
!
bytes
.
Equal
(
got
,
exp
)
{
t
.
Errorf
(
"merged slot value wrong, got %x, exp %x"
,
got
,
exp
)
t
.
Errorf
(
"merged slot value wrong, got %x, exp %x"
,
got
,
exp
)
}
}
}
}
...
...
core/state/snapshot/disklayer_test.go
View file @
06d4470b
...
@@ -310,7 +310,7 @@ func TestDiskPartialMerge(t *testing.T) {
...
@@ -310,7 +310,7 @@ func TestDiskPartialMerge(t *testing.T) {
t
.
Helper
()
t
.
Helper
()
blob
,
err
:=
base
.
AccountRLP
(
account
)
blob
,
err
:=
base
.
AccountRLP
(
account
)
if
bytes
.
Compare
(
account
[
:
],
genMarker
)
>
0
&&
err
!=
ErrNotCoveredYet
{
if
bytes
.
Compare
(
account
[
:
],
genMarker
)
>
0
&&
err
!=
ErrNotCoveredYet
{
t
.
Fatalf
(
"test %d: post-marker (%x) account access (%x) succeded: %x"
,
i
,
genMarker
,
account
,
blob
)
t
.
Fatalf
(
"test %d: post-marker (%x) account access (%x) succe
e
ded: %x"
,
i
,
genMarker
,
account
,
blob
)
}
}
if
bytes
.
Compare
(
account
[
:
],
genMarker
)
<=
0
&&
!
bytes
.
Equal
(
blob
,
data
)
{
if
bytes
.
Compare
(
account
[
:
],
genMarker
)
<=
0
&&
!
bytes
.
Equal
(
blob
,
data
)
{
t
.
Fatalf
(
"test %d: pre-marker (%x) account access (%x) mismatch: have %x, want %x"
,
i
,
genMarker
,
account
,
blob
,
data
)
t
.
Fatalf
(
"test %d: pre-marker (%x) account access (%x) mismatch: have %x, want %x"
,
i
,
genMarker
,
account
,
blob
,
data
)
...
@@ -326,7 +326,7 @@ func TestDiskPartialMerge(t *testing.T) {
...
@@ -326,7 +326,7 @@ func TestDiskPartialMerge(t *testing.T) {
t
.
Helper
()
t
.
Helper
()
blob
,
err
:=
base
.
Storage
(
account
,
slot
)
blob
,
err
:=
base
.
Storage
(
account
,
slot
)
if
bytes
.
Compare
(
append
(
account
[
:
],
slot
[
:
]
...
),
genMarker
)
>
0
&&
err
!=
ErrNotCoveredYet
{
if
bytes
.
Compare
(
append
(
account
[
:
],
slot
[
:
]
...
),
genMarker
)
>
0
&&
err
!=
ErrNotCoveredYet
{
t
.
Fatalf
(
"test %d: post-marker (%x) storage access (%x:%x) succeded: %x"
,
i
,
genMarker
,
account
,
slot
,
blob
)
t
.
Fatalf
(
"test %d: post-marker (%x) storage access (%x:%x) succe
e
ded: %x"
,
i
,
genMarker
,
account
,
slot
,
blob
)
}
}
if
bytes
.
Compare
(
append
(
account
[
:
],
slot
[
:
]
...
),
genMarker
)
<=
0
&&
!
bytes
.
Equal
(
blob
,
data
)
{
if
bytes
.
Compare
(
append
(
account
[
:
],
slot
[
:
]
...
),
genMarker
)
<=
0
&&
!
bytes
.
Equal
(
blob
,
data
)
{
t
.
Fatalf
(
"test %d: pre-marker (%x) storage access (%x:%x) mismatch: have %x, want %x"
,
i
,
genMarker
,
account
,
slot
,
blob
,
data
)
t
.
Fatalf
(
"test %d: pre-marker (%x) storage access (%x:%x) mismatch: have %x, want %x"
,
i
,
genMarker
,
account
,
slot
,
blob
,
data
)
...
@@ -386,7 +386,7 @@ func TestDiskPartialMerge(t *testing.T) {
...
@@ -386,7 +386,7 @@ func TestDiskPartialMerge(t *testing.T) {
t
.
Helper
()
t
.
Helper
()
blob
:=
rawdb
.
ReadAccountSnapshot
(
db
,
account
)
blob
:=
rawdb
.
ReadAccountSnapshot
(
db
,
account
)
if
bytes
.
Compare
(
account
[
:
],
genMarker
)
>
0
&&
blob
!=
nil
{
if
bytes
.
Compare
(
account
[
:
],
genMarker
)
>
0
&&
blob
!=
nil
{
t
.
Fatalf
(
"test %d: post-marker (%x) account database access (%x) succeded: %x"
,
i
,
genMarker
,
account
,
blob
)
t
.
Fatalf
(
"test %d: post-marker (%x) account database access (%x) succe
e
ded: %x"
,
i
,
genMarker
,
account
,
blob
)
}
}
if
bytes
.
Compare
(
account
[
:
],
genMarker
)
<=
0
&&
!
bytes
.
Equal
(
blob
,
data
)
{
if
bytes
.
Compare
(
account
[
:
],
genMarker
)
<=
0
&&
!
bytes
.
Equal
(
blob
,
data
)
{
t
.
Fatalf
(
"test %d: pre-marker (%x) account database access (%x) mismatch: have %x, want %x"
,
i
,
genMarker
,
account
,
blob
,
data
)
t
.
Fatalf
(
"test %d: pre-marker (%x) account database access (%x) mismatch: have %x, want %x"
,
i
,
genMarker
,
account
,
blob
,
data
)
...
@@ -406,7 +406,7 @@ func TestDiskPartialMerge(t *testing.T) {
...
@@ -406,7 +406,7 @@ func TestDiskPartialMerge(t *testing.T) {
t
.
Helper
()
t
.
Helper
()
blob
:=
rawdb
.
ReadStorageSnapshot
(
db
,
account
,
slot
)
blob
:=
rawdb
.
ReadStorageSnapshot
(
db
,
account
,
slot
)
if
bytes
.
Compare
(
append
(
account
[
:
],
slot
[
:
]
...
),
genMarker
)
>
0
&&
blob
!=
nil
{
if
bytes
.
Compare
(
append
(
account
[
:
],
slot
[
:
]
...
),
genMarker
)
>
0
&&
blob
!=
nil
{
t
.
Fatalf
(
"test %d: post-marker (%x) storage database access (%x:%x) succeded: %x"
,
i
,
genMarker
,
account
,
slot
,
blob
)
t
.
Fatalf
(
"test %d: post-marker (%x) storage database access (%x:%x) succe
e
ded: %x"
,
i
,
genMarker
,
account
,
slot
,
blob
)
}
}
if
bytes
.
Compare
(
append
(
account
[
:
],
slot
[
:
]
...
),
genMarker
)
<=
0
&&
!
bytes
.
Equal
(
blob
,
data
)
{
if
bytes
.
Compare
(
append
(
account
[
:
],
slot
[
:
]
...
),
genMarker
)
<=
0
&&
!
bytes
.
Equal
(
blob
,
data
)
{
t
.
Fatalf
(
"test %d: pre-marker (%x) storage database access (%x:%x) mismatch: have %x, want %x"
,
i
,
genMarker
,
account
,
slot
,
blob
,
data
)
t
.
Fatalf
(
"test %d: pre-marker (%x) storage database access (%x:%x) mismatch: have %x, want %x"
,
i
,
genMarker
,
account
,
slot
,
blob
,
data
)
...
...
core/state/snapshot/generate.go
View file @
06d4470b
...
@@ -93,7 +93,7 @@ func (gs *generatorStats) Log(msg string, marker []byte) {
...
@@ -93,7 +93,7 @@ func (gs *generatorStats) Log(msg string, marker []byte) {
// and generation is continued in the background until done.
// and generation is continued in the background until done.
func
generateSnapshot
(
diskdb
ethdb
.
KeyValueStore
,
triedb
*
trie
.
Database
,
cache
int
,
root
common
.
Hash
,
wiper
chan
struct
{})
*
diskLayer
{
func
generateSnapshot
(
diskdb
ethdb
.
KeyValueStore
,
triedb
*
trie
.
Database
,
cache
int
,
root
common
.
Hash
,
wiper
chan
struct
{})
*
diskLayer
{
// Wipe any previously existing snapshot from the database if no wiper is
// Wipe any previously existing snapshot from the database if no wiper is
// currenty in progress.
// current
l
y in progress.
if
wiper
==
nil
{
if
wiper
==
nil
{
wiper
=
wipeSnapshot
(
diskdb
,
true
)
wiper
=
wipeSnapshot
(
diskdb
,
true
)
}
}
...
...
core/state/snapshot/iteration.md
deleted
100644 → 0
View file @
19099421
## How the fast iterator works
Consider the following example, where we have
`6`
iterators, sorted from
left to right in ascending order.
Our 'primary'
`A`
iterator is on the left, containing the elements
`[0,1,8]`
```
A B C D E F
0 1 2 4 7 9
1 2 9 - 14 13
8 8 - 15 15
- - - 16
-
```
When we call
`Next`
on the primary iterator, we get (ignoring the future keys)
```
A B C D E F
1 1 2 4 7 9
```
We detect that we now got an equality between our element and the next element.
And we need to continue
`Next`
ing on the next element
```
1 2 2 4 7 9
```
And move on:
```
A B C D E F
1 2 9 4 7 9
```
Now we broke out of the equality, but we need to re-sort the element
`C`
```
A B D E F C
1 2 4 7 9 9
```
And after shifting it rightwards, we check equality again, and find
`C == F`
, and thus
call
`Next`
on
`C`
```
A B D E F C
1 2 4 7 9 -
```
At this point,
`C`
was exhausted, and is removed
```
A B D E F
1 2 4 7 9
```
And we're done with this step.
core/state/snapshot/iterator_binary.go
View file @
06d4470b
...
@@ -35,7 +35,7 @@ type binaryAccountIterator struct {
...
@@ -35,7 +35,7 @@ type binaryAccountIterator struct {
}
}
// newBinaryAccountIterator creates a simplistic account iterator to step over
// newBinaryAccountIterator creates a simplistic account iterator to step over
// all the accounts in a slow, but eaily verif
y
able way.
// all the accounts in a slow, but eaily verif
i
able way.
func
(
dl
*
diffLayer
)
newBinaryAccountIterator
()
AccountIterator
{
func
(
dl
*
diffLayer
)
newBinaryAccountIterator
()
AccountIterator
{
parent
,
ok
:=
dl
.
parent
.
(
*
diffLayer
)
parent
,
ok
:=
dl
.
parent
.
(
*
diffLayer
)
if
!
ok
{
if
!
ok
{
...
...
core/state/snapshot/iterator_fast.go
View file @
06d4470b
...
@@ -41,7 +41,7 @@ func (its weightedAccountIterators) Len() int { return len(its) }
...
@@ -41,7 +41,7 @@ func (its weightedAccountIterators) Len() int { return len(its) }
// Less implements sort.Interface, returning which of two iterators in the stack
// Less implements sort.Interface, returning which of two iterators in the stack
// is before the other.
// is before the other.
func
(
its
weightedAccountIterators
)
Less
(
i
,
j
int
)
bool
{
func
(
its
weightedAccountIterators
)
Less
(
i
,
j
int
)
bool
{
// Order the iterators primaril
l
y by the account hashes
// Order the iterators primarily by the account hashes
hashI
:=
its
[
i
]
.
it
.
Hash
()
hashI
:=
its
[
i
]
.
it
.
Hash
()
hashJ
:=
its
[
j
]
.
it
.
Hash
()
hashJ
:=
its
[
j
]
.
it
.
Hash
()
...
@@ -131,7 +131,7 @@ func (fi *fastAccountIterator) init() {
...
@@ -131,7 +131,7 @@ func (fi *fastAccountIterator) init() {
// determine which.
// determine which.
//
//
// This whole else-block can be avoided, if we instead
// This whole else-block can be avoided, if we instead
// do an inital priority-sort of the iterators. If we do that,
// do an init
i
al priority-sort of the iterators. If we do that,
// then we'll only wind up here if a lower-priority (preferred) iterator
// then we'll only wind up here if a lower-priority (preferred) iterator
// has the same value, and then we will always just continue.
// has the same value, and then we will always just continue.
// However, it costs an extra sort, so it's probably not better
// However, it costs an extra sort, so it's probably not better
...
@@ -233,16 +233,8 @@ func (fi *fastAccountIterator) next(idx int) bool {
...
@@ -233,16 +233,8 @@ func (fi *fastAccountIterator) next(idx int) bool {
// The elem we're placing it next to has the same value,
// The elem we're placing it next to has the same value,
// so whichever winds up on n+1 will need further iteraton
// so whichever winds up on n+1 will need further iteraton
clash
=
n
+
1
clash
=
n
+
1
if
cur
.
priority
<
fi
.
iterators
[
n
+
1
]
.
priority
{
// We can drop the iterator here
return
cur
.
priority
<
fi
.
iterators
[
n
+
1
]
.
priority
return
true
}
// We need to move it one step further
return
false
// TODO benchmark which is best, this works too:
//clash = n
//return true
// Doing so should finish the current search earlier
})
})
fi
.
move
(
idx
,
index
)
fi
.
move
(
idx
,
index
)
if
clash
!=
-
1
{
if
clash
!=
-
1
{
...
...
core/state/snapshot/iterator_test.go
View file @
06d4470b
...
@@ -67,14 +67,11 @@ func (ti *testIterator) Seek(common.Hash) {
...
@@ -67,14 +67,11 @@ func (ti *testIterator) Seek(common.Hash) {
func
(
ti
*
testIterator
)
Next
()
bool
{
func
(
ti
*
testIterator
)
Next
()
bool
{
ti
.
values
=
ti
.
values
[
1
:
]
ti
.
values
=
ti
.
values
[
1
:
]
if
len
(
ti
.
values
)
==
0
{
return
len
(
ti
.
values
)
>
0
return
false
}
return
true
}
}
func
(
ti
*
testIterator
)
Error
()
error
{
func
(
ti
*
testIterator
)
Error
()
error
{
panic
(
"implement me"
)
return
nil
}
}
func
(
ti
*
testIterator
)
Hash
()
common
.
Hash
{
func
(
ti
*
testIterator
)
Hash
()
common
.
Hash
{
...
@@ -82,7 +79,7 @@ func (ti *testIterator) Hash() common.Hash {
...
@@ -82,7 +79,7 @@ func (ti *testIterator) Hash() common.Hash {
}
}
func
(
ti
*
testIterator
)
Account
()
[]
byte
{
func
(
ti
*
testIterator
)
Account
()
[]
byte
{
panic
(
"implement me"
)
return
nil
}
}
func
(
ti
*
testIterator
)
Release
()
{}
func
(
ti
*
testIterator
)
Release
()
{}
...
...
core/state/snapshot/journal.go
View file @
06d4470b
...
@@ -164,7 +164,7 @@ func loadDiffLayer(parent snapshot, r *rlp.Stream) (snapshot, error) {
...
@@ -164,7 +164,7 @@ func loadDiffLayer(parent snapshot, r *rlp.Stream) (snapshot, error) {
// Journal writes the persistent layer generator stats into a buffer to be stored
// Journal writes the persistent layer generator stats into a buffer to be stored
// in the database as the snapshot journal.
// in the database as the snapshot journal.
func
(
dl
*
diskLayer
)
Journal
(
buffer
*
bytes
.
Buffer
)
(
common
.
Hash
,
error
)
{
func
(
dl
*
diskLayer
)
Journal
(
buffer
*
bytes
.
Buffer
)
(
common
.
Hash
,
error
)
{
// If the snapshot is currenty being generated, abort it
// If the snapshot is current
l
y being generated, abort it
var
stats
*
generatorStats
var
stats
*
generatorStats
if
dl
.
genAbort
!=
nil
{
if
dl
.
genAbort
!=
nil
{
abort
:=
make
(
chan
*
generatorStats
)
abort
:=
make
(
chan
*
generatorStats
)
...
...
core/state/snapshot/sort.go
View file @
06d4470b
...
@@ -34,59 +34,3 @@ func (hs hashes) Less(i, j int) bool { return bytes.Compare(hs[i][:], hs[j][:])
...
@@ -34,59 +34,3 @@ func (hs hashes) Less(i, j int) bool { return bytes.Compare(hs[i][:], hs[j][:])
// Swap swaps the elements with indexes i and j.
// Swap swaps the elements with indexes i and j.
func
(
hs
hashes
)
Swap
(
i
,
j
int
)
{
hs
[
i
],
hs
[
j
]
=
hs
[
j
],
hs
[
i
]
}
func
(
hs
hashes
)
Swap
(
i
,
j
int
)
{
hs
[
i
],
hs
[
j
]
=
hs
[
j
],
hs
[
i
]
}
// merge combines two sorted lists of hashes into a combo sorted one.
func
merge
(
a
,
b
[]
common
.
Hash
)
[]
common
.
Hash
{
result
:=
make
([]
common
.
Hash
,
len
(
a
)
+
len
(
b
))
i
:=
0
for
len
(
a
)
>
0
&&
len
(
b
)
>
0
{
if
bytes
.
Compare
(
a
[
0
][
:
],
b
[
0
][
:
])
<
0
{
result
[
i
]
=
a
[
0
]
a
=
a
[
1
:
]
}
else
{
result
[
i
]
=
b
[
0
]
b
=
b
[
1
:
]
}
i
++
}
for
j
:=
0
;
j
<
len
(
a
);
j
++
{
result
[
i
]
=
a
[
j
]
i
++
}
for
j
:=
0
;
j
<
len
(
b
);
j
++
{
result
[
i
]
=
b
[
j
]
i
++
}
return
result
}
// dedupMerge combines two sorted lists of hashes into a combo sorted one,
// and removes duplicates in the process
func
dedupMerge
(
a
,
b
[]
common
.
Hash
)
[]
common
.
Hash
{
result
:=
make
([]
common
.
Hash
,
len
(
a
)
+
len
(
b
))
i
:=
0
for
len
(
a
)
>
0
&&
len
(
b
)
>
0
{
if
diff
:=
bytes
.
Compare
(
a
[
0
][
:
],
b
[
0
][
:
]);
diff
<
0
{
result
[
i
]
=
a
[
0
]
a
=
a
[
1
:
]
}
else
{
result
[
i
]
=
b
[
0
]
b
=
b
[
1
:
]
// If they were equal, progress a too
if
diff
==
0
{
a
=
a
[
1
:
]
}
}
i
++
}
for
j
:=
0
;
j
<
len
(
a
);
j
++
{
result
[
i
]
=
a
[
j
]
i
++
}
for
j
:=
0
;
j
<
len
(
b
);
j
++
{
result
[
i
]
=
b
[
j
]
i
++
}
return
result
[
:
i
]
}
core/state/state_test.go
View file @
06d4470b
...
@@ -36,7 +36,7 @@ type stateTest struct {
...
@@ -36,7 +36,7 @@ type stateTest struct {
func
newStateTest
()
*
stateTest
{
func
newStateTest
()
*
stateTest
{
db
:=
rawdb
.
NewMemoryDatabase
()
db
:=
rawdb
.
NewMemoryDatabase
()
sdb
,
_
:=
New
(
common
.
Hash
{},
NewDatabase
(
db
))
sdb
,
_
:=
New
(
common
.
Hash
{},
NewDatabase
(
db
)
,
nil
)
return
&
stateTest
{
db
:
db
,
state
:
sdb
}
return
&
stateTest
{
db
:
db
,
state
:
sdb
}
}
}
...
@@ -146,7 +146,7 @@ func TestSnapshotEmpty(t *testing.T) {
...
@@ -146,7 +146,7 @@ func TestSnapshotEmpty(t *testing.T) {
}
}
func
TestSnapshot2
(
t
*
testing
.
T
)
{
func
TestSnapshot2
(
t
*
testing
.
T
)
{
state
,
_
:=
New
(
common
.
Hash
{},
NewDatabase
(
rawdb
.
NewMemoryDatabase
()))
state
,
_
:=
New
(
common
.
Hash
{},
NewDatabase
(
rawdb
.
NewMemoryDatabase
())
,
nil
)
stateobjaddr0
:=
toAddr
([]
byte
(
"so0"
))
stateobjaddr0
:=
toAddr
([]
byte
(
"so0"
))
stateobjaddr1
:=
toAddr
([]
byte
(
"so1"
))
stateobjaddr1
:=
toAddr
([]
byte
(
"so1"
))
...
...
core/state/statedb_test.go
View file @
06d4470b
...
@@ -39,7 +39,7 @@ import (
...
@@ -39,7 +39,7 @@ import (
func
TestUpdateLeaks
(
t
*
testing
.
T
)
{
func
TestUpdateLeaks
(
t
*
testing
.
T
)
{
// Create an empty state database
// Create an empty state database
db
:=
rawdb
.
NewMemoryDatabase
()
db
:=
rawdb
.
NewMemoryDatabase
()
state
,
_
:=
New
(
common
.
Hash
{},
NewDatabase
(
db
))
state
,
_
:=
New
(
common
.
Hash
{},
NewDatabase
(
db
)
,
nil
)
// Update it with some accounts
// Update it with some accounts
for
i
:=
byte
(
0
);
i
<
255
;
i
++
{
for
i
:=
byte
(
0
);
i
<
255
;
i
++
{
...
@@ -73,8 +73,8 @@ func TestIntermediateLeaks(t *testing.T) {
...
@@ -73,8 +73,8 @@ func TestIntermediateLeaks(t *testing.T) {
// Create two state databases, one transitioning to the final state, the other final from the beginning
// Create two state databases, one transitioning to the final state, the other final from the beginning
transDb
:=
rawdb
.
NewMemoryDatabase
()
transDb
:=
rawdb
.
NewMemoryDatabase
()
finalDb
:=
rawdb
.
NewMemoryDatabase
()
finalDb
:=
rawdb
.
NewMemoryDatabase
()
transState
,
_
:=
New
(
common
.
Hash
{},
NewDatabase
(
transDb
))
transState
,
_
:=
New
(
common
.
Hash
{},
NewDatabase
(
transDb
)
,
nil
)
finalState
,
_
:=
New
(
common
.
Hash
{},
NewDatabase
(
finalDb
))
finalState
,
_
:=
New
(
common
.
Hash
{},
NewDatabase
(
finalDb
)
,
nil
)
modify
:=
func
(
state
*
StateDB
,
addr
common
.
Address
,
i
,
tweak
byte
)
{
modify
:=
func
(
state
*
StateDB
,
addr
common
.
Address
,
i
,
tweak
byte
)
{
state
.
SetBalance
(
addr
,
big
.
NewInt
(
int64
(
11
*
i
)
+
int64
(
tweak
)))
state
.
SetBalance
(
addr
,
big
.
NewInt
(
int64
(
11
*
i
)
+
int64
(
tweak
)))
...
@@ -149,7 +149,7 @@ func TestIntermediateLeaks(t *testing.T) {
...
@@ -149,7 +149,7 @@ func TestIntermediateLeaks(t *testing.T) {
// https://github.com/ethereum/go-ethereum/pull/15549.
// https://github.com/ethereum/go-ethereum/pull/15549.
func
TestCopy
(
t
*
testing
.
T
)
{
func
TestCopy
(
t
*
testing
.
T
)
{
// Create a random state test to copy and modify "independently"
// Create a random state test to copy and modify "independently"
orig
,
_
:=
New
(
common
.
Hash
{},
NewDatabase
(
rawdb
.
NewMemoryDatabase
()))
orig
,
_
:=
New
(
common
.
Hash
{},
NewDatabase
(
rawdb
.
NewMemoryDatabase
())
,
nil
)
for
i
:=
byte
(
0
);
i
<
255
;
i
++
{
for
i
:=
byte
(
0
);
i
<
255
;
i
++
{
obj
:=
orig
.
GetOrNewStateObject
(
common
.
BytesToAddress
([]
byte
{
i
}))
obj
:=
orig
.
GetOrNewStateObject
(
common
.
BytesToAddress
([]
byte
{
i
}))
...
@@ -385,7 +385,7 @@ func (test *snapshotTest) String() string {
...
@@ -385,7 +385,7 @@ func (test *snapshotTest) String() string {
func
(
test
*
snapshotTest
)
run
()
bool
{
func
(
test
*
snapshotTest
)
run
()
bool
{
// Run all actions and create snapshots.
// Run all actions and create snapshots.
var
(
var
(
state
,
_
=
New
(
common
.
Hash
{},
NewDatabase
(
rawdb
.
NewMemoryDatabase
()))
state
,
_
=
New
(
common
.
Hash
{},
NewDatabase
(
rawdb
.
NewMemoryDatabase
())
,
nil
)
snapshotRevs
=
make
([]
int
,
len
(
test
.
snapshots
))
snapshotRevs
=
make
([]
int
,
len
(
test
.
snapshots
))
sindex
=
0
sindex
=
0
)
)
...
@@ -399,7 +399,7 @@ func (test *snapshotTest) run() bool {
...
@@ -399,7 +399,7 @@ func (test *snapshotTest) run() bool {
// Revert all snapshots in reverse order. Each revert must yield a state
// Revert all snapshots in reverse order. Each revert must yield a state
// that is equivalent to fresh state with all actions up the snapshot applied.
// that is equivalent to fresh state with all actions up the snapshot applied.
for
sindex
--
;
sindex
>=
0
;
sindex
--
{
for
sindex
--
;
sindex
>=
0
;
sindex
--
{
checkstate
,
_
:=
New
(
common
.
Hash
{},
state
.
Database
())
checkstate
,
_
:=
New
(
common
.
Hash
{},
state
.
Database
()
,
nil
)
for
_
,
action
:=
range
test
.
actions
[
:
test
.
snapshots
[
sindex
]]
{
for
_
,
action
:=
range
test
.
actions
[
:
test
.
snapshots
[
sindex
]]
{
action
.
fn
(
action
,
checkstate
)
action
.
fn
(
action
,
checkstate
)
}
}
...
@@ -477,7 +477,7 @@ func TestTouchDelete(t *testing.T) {
...
@@ -477,7 +477,7 @@ func TestTouchDelete(t *testing.T) {
// TestCopyOfCopy tests that modified objects are carried over to the copy, and the copy of the copy.
// TestCopyOfCopy tests that modified objects are carried over to the copy, and the copy of the copy.
// See https://github.com/ethereum/go-ethereum/pull/15225#issuecomment-380191512
// See https://github.com/ethereum/go-ethereum/pull/15225#issuecomment-380191512
func
TestCopyOfCopy
(
t
*
testing
.
T
)
{
func
TestCopyOfCopy
(
t
*
testing
.
T
)
{
state
,
_
:=
New
(
common
.
Hash
{},
NewDatabase
(
rawdb
.
NewMemoryDatabase
()))
state
,
_
:=
New
(
common
.
Hash
{},
NewDatabase
(
rawdb
.
NewMemoryDatabase
())
,
nil
)
addr
:=
common
.
HexToAddress
(
"aaaa"
)
addr
:=
common
.
HexToAddress
(
"aaaa"
)
state
.
SetBalance
(
addr
,
big
.
NewInt
(
42
))
state
.
SetBalance
(
addr
,
big
.
NewInt
(
42
))
...
@@ -494,7 +494,7 @@ func TestCopyOfCopy(t *testing.T) {
...
@@ -494,7 +494,7 @@ func TestCopyOfCopy(t *testing.T) {
//
//
// See https://github.com/ethereum/go-ethereum/issues/20106.
// See https://github.com/ethereum/go-ethereum/issues/20106.
func
TestCopyCommitCopy
(
t
*
testing
.
T
)
{
func
TestCopyCommitCopy
(
t
*
testing
.
T
)
{
state
,
_
:=
New
(
common
.
Hash
{},
NewDatabase
(
rawdb
.
NewMemoryDatabase
()))
state
,
_
:=
New
(
common
.
Hash
{},
NewDatabase
(
rawdb
.
NewMemoryDatabase
())
,
nil
)
// Create an account and check if the retrieved balance is correct
// Create an account and check if the retrieved balance is correct
addr
:=
common
.
HexToAddress
(
"0xaffeaffeaffeaffeaffeaffeaffeaffeaffeaffe"
)
addr
:=
common
.
HexToAddress
(
"0xaffeaffeaffeaffeaffeaffeaffeaffeaffeaffe"
)
...
@@ -566,7 +566,7 @@ func TestCopyCommitCopy(t *testing.T) {
...
@@ -566,7 +566,7 @@ func TestCopyCommitCopy(t *testing.T) {
//
//
// See https://github.com/ethereum/go-ethereum/issues/20106.
// See https://github.com/ethereum/go-ethereum/issues/20106.
func
TestCopyCopyCommitCopy
(
t
*
testing
.
T
)
{
func
TestCopyCopyCommitCopy
(
t
*
testing
.
T
)
{
state
,
_
:=
New
(
common
.
Hash
{},
NewDatabase
(
rawdb
.
NewMemoryDatabase
()))
state
,
_
:=
New
(
common
.
Hash
{},
NewDatabase
(
rawdb
.
NewMemoryDatabase
())
,
nil
)
// Create an account and check if the retrieved balance is correct
// Create an account and check if the retrieved balance is correct
addr
:=
common
.
HexToAddress
(
"0xaffeaffeaffeaffeaffeaffeaffeaffeaffeaffe"
)
addr
:=
common
.
HexToAddress
(
"0xaffeaffeaffeaffeaffeaffeaffeaffeaffeaffe"
)
...
@@ -656,7 +656,7 @@ func TestCopyCopyCommitCopy(t *testing.T) {
...
@@ -656,7 +656,7 @@ func TestCopyCopyCommitCopy(t *testing.T) {
// first, but the journal wiped the entire state object on create-revert.
// first, but the journal wiped the entire state object on create-revert.
func
TestDeleteCreateRevert
(
t
*
testing
.
T
)
{
func
TestDeleteCreateRevert
(
t
*
testing
.
T
)
{
// Create an initial state with a single contract
// Create an initial state with a single contract
state
,
_
:=
New
(
common
.
Hash
{},
NewDatabase
(
rawdb
.
NewMemoryDatabase
()))
state
,
_
:=
New
(
common
.
Hash
{},
NewDatabase
(
rawdb
.
NewMemoryDatabase
())
,
nil
)
addr
:=
toAddr
([]
byte
(
"so"
))
addr
:=
toAddr
([]
byte
(
"so"
))
state
.
SetBalance
(
addr
,
big
.
NewInt
(
1
))
state
.
SetBalance
(
addr
,
big
.
NewInt
(
1
))
...
...
core/state/sync_test.go
View file @
06d4470b
...
@@ -41,7 +41,7 @@ type testAccount struct {
...
@@ -41,7 +41,7 @@ type testAccount struct {
func
makeTestState
()
(
Database
,
common
.
Hash
,
[]
*
testAccount
)
{
func
makeTestState
()
(
Database
,
common
.
Hash
,
[]
*
testAccount
)
{
// Create an empty state
// Create an empty state
db
:=
NewDatabase
(
rawdb
.
NewMemoryDatabase
())
db
:=
NewDatabase
(
rawdb
.
NewMemoryDatabase
())
state
,
_
:=
New
(
common
.
Hash
{},
db
)
state
,
_
:=
New
(
common
.
Hash
{},
db
,
nil
)
// Fill it with some arbitrary data
// Fill it with some arbitrary data
accounts
:=
[]
*
testAccount
{}
accounts
:=
[]
*
testAccount
{}
...
@@ -72,7 +72,7 @@ func makeTestState() (Database, common.Hash, []*testAccount) {
...
@@ -72,7 +72,7 @@ func makeTestState() (Database, common.Hash, []*testAccount) {
// account array.
// account array.
func
checkStateAccounts
(
t
*
testing
.
T
,
db
ethdb
.
Database
,
root
common
.
Hash
,
accounts
[]
*
testAccount
)
{
func
checkStateAccounts
(
t
*
testing
.
T
,
db
ethdb
.
Database
,
root
common
.
Hash
,
accounts
[]
*
testAccount
)
{
// Check root availability and state contents
// Check root availability and state contents
state
,
err
:=
New
(
root
,
NewDatabase
(
db
))
state
,
err
:=
New
(
root
,
NewDatabase
(
db
)
,
nil
)
if
err
!=
nil
{
if
err
!=
nil
{
t
.
Fatalf
(
"failed to create state trie at %x: %v"
,
root
,
err
)
t
.
Fatalf
(
"failed to create state trie at %x: %v"
,
root
,
err
)
}
}
...
@@ -113,7 +113,7 @@ func checkStateConsistency(db ethdb.Database, root common.Hash) error {
...
@@ -113,7 +113,7 @@ func checkStateConsistency(db ethdb.Database, root common.Hash) error {
if
_
,
err
:=
db
.
Get
(
root
.
Bytes
());
err
!=
nil
{
if
_
,
err
:=
db
.
Get
(
root
.
Bytes
());
err
!=
nil
{
return
nil
// Consider a non existent state consistent.
return
nil
// Consider a non existent state consistent.
}
}
state
,
err
:=
New
(
root
,
NewDatabase
(
db
))
state
,
err
:=
New
(
root
,
NewDatabase
(
db
)
,
nil
)
if
err
!=
nil
{
if
err
!=
nil
{
return
err
return
err
}
}
...
...
core/tx_pool_test.go
View file @
06d4470b
...
@@ -86,7 +86,7 @@ func pricedDataTransaction(nonce uint64, gaslimit uint64, gasprice *big.Int, key
...
@@ -86,7 +86,7 @@ func pricedDataTransaction(nonce uint64, gaslimit uint64, gasprice *big.Int, key
}
}
func
setupTxPool
()
(
*
TxPool
,
*
ecdsa
.
PrivateKey
)
{
func
setupTxPool
()
(
*
TxPool
,
*
ecdsa
.
PrivateKey
)
{
statedb
,
_
:=
state
.
New
(
common
.
Hash
{},
state
.
NewDatabase
(
rawdb
.
NewMemoryDatabase
()))
statedb
,
_
:=
state
.
New
(
common
.
Hash
{},
state
.
NewDatabase
(
rawdb
.
NewMemoryDatabase
())
,
nil
)
blockchain
:=
&
testBlockChain
{
statedb
,
10000000
,
new
(
event
.
Feed
)}
blockchain
:=
&
testBlockChain
{
statedb
,
10000000
,
new
(
event
.
Feed
)}
key
,
_
:=
crypto
.
GenerateKey
()
key
,
_
:=
crypto
.
GenerateKey
()
...
@@ -171,7 +171,7 @@ func (c *testChain) State() (*state.StateDB, error) {
...
@@ -171,7 +171,7 @@ func (c *testChain) State() (*state.StateDB, error) {
// a state change between those fetches.
// a state change between those fetches.
stdb
:=
c
.
statedb
stdb
:=
c
.
statedb
if
*
c
.
trigger
{
if
*
c
.
trigger
{
c
.
statedb
,
_
=
state
.
New
(
common
.
Hash
{},
state
.
NewDatabase
(
rawdb
.
NewMemoryDatabase
()))
c
.
statedb
,
_
=
state
.
New
(
common
.
Hash
{},
state
.
NewDatabase
(
rawdb
.
NewMemoryDatabase
())
,
nil
)
// simulate that the new head block included tx0 and tx1
// simulate that the new head block included tx0 and tx1
c
.
statedb
.
SetNonce
(
c
.
address
,
2
)
c
.
statedb
.
SetNonce
(
c
.
address
,
2
)
c
.
statedb
.
SetBalance
(
c
.
address
,
new
(
big
.
Int
)
.
SetUint64
(
params
.
Ether
))
c
.
statedb
.
SetBalance
(
c
.
address
,
new
(
big
.
Int
)
.
SetUint64
(
params
.
Ether
))
...
@@ -189,7 +189,7 @@ func TestStateChangeDuringTransactionPoolReset(t *testing.T) {
...
@@ -189,7 +189,7 @@ func TestStateChangeDuringTransactionPoolReset(t *testing.T) {
var
(
var
(
key
,
_
=
crypto
.
GenerateKey
()
key
,
_
=
crypto
.
GenerateKey
()
address
=
crypto
.
PubkeyToAddress
(
key
.
PublicKey
)
address
=
crypto
.
PubkeyToAddress
(
key
.
PublicKey
)
statedb
,
_
=
state
.
New
(
common
.
Hash
{},
state
.
NewDatabase
(
rawdb
.
NewMemoryDatabase
()))
statedb
,
_
=
state
.
New
(
common
.
Hash
{},
state
.
NewDatabase
(
rawdb
.
NewMemoryDatabase
())
,
nil
)
trigger
=
false
trigger
=
false
)
)
...
@@ -345,7 +345,7 @@ func TestTransactionChainFork(t *testing.T) {
...
@@ -345,7 +345,7 @@ func TestTransactionChainFork(t *testing.T) {
addr
:=
crypto
.
PubkeyToAddress
(
key
.
PublicKey
)
addr
:=
crypto
.
PubkeyToAddress
(
key
.
PublicKey
)
resetState
:=
func
()
{
resetState
:=
func
()
{
statedb
,
_
:=
state
.
New
(
common
.
Hash
{},
state
.
NewDatabase
(
rawdb
.
NewMemoryDatabase
()))
statedb
,
_
:=
state
.
New
(
common
.
Hash
{},
state
.
NewDatabase
(
rawdb
.
NewMemoryDatabase
())
,
nil
)
statedb
.
AddBalance
(
addr
,
big
.
NewInt
(
100000000000000
))
statedb
.
AddBalance
(
addr
,
big
.
NewInt
(
100000000000000
))
pool
.
chain
=
&
testBlockChain
{
statedb
,
1000000
,
new
(
event
.
Feed
)}
pool
.
chain
=
&
testBlockChain
{
statedb
,
1000000
,
new
(
event
.
Feed
)}
...
@@ -374,7 +374,7 @@ func TestTransactionDoubleNonce(t *testing.T) {
...
@@ -374,7 +374,7 @@ func TestTransactionDoubleNonce(t *testing.T) {
addr
:=
crypto
.
PubkeyToAddress
(
key
.
PublicKey
)
addr
:=
crypto
.
PubkeyToAddress
(
key
.
PublicKey
)
resetState
:=
func
()
{
resetState
:=
func
()
{
statedb
,
_
:=
state
.
New
(
common
.
Hash
{},
state
.
NewDatabase
(
rawdb
.
NewMemoryDatabase
()))
statedb
,
_
:=
state
.
New
(
common
.
Hash
{},
state
.
NewDatabase
(
rawdb
.
NewMemoryDatabase
())
,
nil
)
statedb
.
AddBalance
(
addr
,
big
.
NewInt
(
100000000000000
))
statedb
.
AddBalance
(
addr
,
big
.
NewInt
(
100000000000000
))
pool
.
chain
=
&
testBlockChain
{
statedb
,
1000000
,
new
(
event
.
Feed
)}
pool
.
chain
=
&
testBlockChain
{
statedb
,
1000000
,
new
(
event
.
Feed
)}
...
@@ -565,7 +565,7 @@ func TestTransactionPostponing(t *testing.T) {
...
@@ -565,7 +565,7 @@ func TestTransactionPostponing(t *testing.T) {
t
.
Parallel
()
t
.
Parallel
()
// Create the pool to test the postponing with
// Create the pool to test the postponing with
statedb
,
_
:=
state
.
New
(
common
.
Hash
{},
state
.
NewDatabase
(
rawdb
.
NewMemoryDatabase
()))
statedb
,
_
:=
state
.
New
(
common
.
Hash
{},
state
.
NewDatabase
(
rawdb
.
NewMemoryDatabase
())
,
nil
)
blockchain
:=
&
testBlockChain
{
statedb
,
1000000
,
new
(
event
.
Feed
)}
blockchain
:=
&
testBlockChain
{
statedb
,
1000000
,
new
(
event
.
Feed
)}
pool
:=
NewTxPool
(
testTxPoolConfig
,
params
.
TestChainConfig
,
blockchain
)
pool
:=
NewTxPool
(
testTxPoolConfig
,
params
.
TestChainConfig
,
blockchain
)
...
@@ -778,7 +778,7 @@ func testTransactionQueueGlobalLimiting(t *testing.T, nolocals bool) {
...
@@ -778,7 +778,7 @@ func testTransactionQueueGlobalLimiting(t *testing.T, nolocals bool) {
t
.
Parallel
()
t
.
Parallel
()
// Create the pool to test the limit enforcement with
// Create the pool to test the limit enforcement with
statedb
,
_
:=
state
.
New
(
common
.
Hash
{},
state
.
NewDatabase
(
rawdb
.
NewMemoryDatabase
()))
statedb
,
_
:=
state
.
New
(
common
.
Hash
{},
state
.
NewDatabase
(
rawdb
.
NewMemoryDatabase
())
,
nil
)
blockchain
:=
&
testBlockChain
{
statedb
,
1000000
,
new
(
event
.
Feed
)}
blockchain
:=
&
testBlockChain
{
statedb
,
1000000
,
new
(
event
.
Feed
)}
config
:=
testTxPoolConfig
config
:=
testTxPoolConfig
...
@@ -866,7 +866,7 @@ func testTransactionQueueTimeLimiting(t *testing.T, nolocals bool) {
...
@@ -866,7 +866,7 @@ func testTransactionQueueTimeLimiting(t *testing.T, nolocals bool) {
evictionInterval
=
time
.
Second
evictionInterval
=
time
.
Second
// Create the pool to test the non-expiration enforcement
// Create the pool to test the non-expiration enforcement
statedb
,
_
:=
state
.
New
(
common
.
Hash
{},
state
.
NewDatabase
(
rawdb
.
NewMemoryDatabase
()))
statedb
,
_
:=
state
.
New
(
common
.
Hash
{},
state
.
NewDatabase
(
rawdb
.
NewMemoryDatabase
())
,
nil
)
blockchain
:=
&
testBlockChain
{
statedb
,
1000000
,
new
(
event
.
Feed
)}
blockchain
:=
&
testBlockChain
{
statedb
,
1000000
,
new
(
event
.
Feed
)}
config
:=
testTxPoolConfig
config
:=
testTxPoolConfig
...
@@ -969,7 +969,7 @@ func TestTransactionPendingGlobalLimiting(t *testing.T) {
...
@@ -969,7 +969,7 @@ func TestTransactionPendingGlobalLimiting(t *testing.T) {
t
.
Parallel
()
t
.
Parallel
()
// Create the pool to test the limit enforcement with
// Create the pool to test the limit enforcement with
statedb
,
_
:=
state
.
New
(
common
.
Hash
{},
state
.
NewDatabase
(
rawdb
.
NewMemoryDatabase
()))
statedb
,
_
:=
state
.
New
(
common
.
Hash
{},
state
.
NewDatabase
(
rawdb
.
NewMemoryDatabase
())
,
nil
)
blockchain
:=
&
testBlockChain
{
statedb
,
1000000
,
new
(
event
.
Feed
)}
blockchain
:=
&
testBlockChain
{
statedb
,
1000000
,
new
(
event
.
Feed
)}
config
:=
testTxPoolConfig
config
:=
testTxPoolConfig
...
@@ -1071,7 +1071,7 @@ func TestTransactionCapClearsFromAll(t *testing.T) {
...
@@ -1071,7 +1071,7 @@ func TestTransactionCapClearsFromAll(t *testing.T) {
t
.
Parallel
()
t
.
Parallel
()
// Create the pool to test the limit enforcement with
// Create the pool to test the limit enforcement with
statedb
,
_
:=
state
.
New
(
common
.
Hash
{},
state
.
NewDatabase
(
rawdb
.
NewMemoryDatabase
()))
statedb
,
_
:=
state
.
New
(
common
.
Hash
{},
state
.
NewDatabase
(
rawdb
.
NewMemoryDatabase
())
,
nil
)
blockchain
:=
&
testBlockChain
{
statedb
,
1000000
,
new
(
event
.
Feed
)}
blockchain
:=
&
testBlockChain
{
statedb
,
1000000
,
new
(
event
.
Feed
)}
config
:=
testTxPoolConfig
config
:=
testTxPoolConfig
...
@@ -1105,7 +1105,7 @@ func TestTransactionPendingMinimumAllowance(t *testing.T) {
...
@@ -1105,7 +1105,7 @@ func TestTransactionPendingMinimumAllowance(t *testing.T) {
t
.
Parallel
()
t
.
Parallel
()
// Create the pool to test the limit enforcement with
// Create the pool to test the limit enforcement with
statedb
,
_
:=
state
.
New
(
common
.
Hash
{},
state
.
NewDatabase
(
rawdb
.
NewMemoryDatabase
()))
statedb
,
_
:=
state
.
New
(
common
.
Hash
{},
state
.
NewDatabase
(
rawdb
.
NewMemoryDatabase
())
,
nil
)
blockchain
:=
&
testBlockChain
{
statedb
,
1000000
,
new
(
event
.
Feed
)}
blockchain
:=
&
testBlockChain
{
statedb
,
1000000
,
new
(
event
.
Feed
)}
config
:=
testTxPoolConfig
config
:=
testTxPoolConfig
...
@@ -1153,7 +1153,7 @@ func TestTransactionPoolRepricing(t *testing.T) {
...
@@ -1153,7 +1153,7 @@ func TestTransactionPoolRepricing(t *testing.T) {
t
.
Parallel
()
t
.
Parallel
()
// Create the pool to test the pricing enforcement with
// Create the pool to test the pricing enforcement with
statedb
,
_
:=
state
.
New
(
common
.
Hash
{},
state
.
NewDatabase
(
rawdb
.
NewMemoryDatabase
()))
statedb
,
_
:=
state
.
New
(
common
.
Hash
{},
state
.
NewDatabase
(
rawdb
.
NewMemoryDatabase
())
,
nil
)
blockchain
:=
&
testBlockChain
{
statedb
,
1000000
,
new
(
event
.
Feed
)}
blockchain
:=
&
testBlockChain
{
statedb
,
1000000
,
new
(
event
.
Feed
)}
pool
:=
NewTxPool
(
testTxPoolConfig
,
params
.
TestChainConfig
,
blockchain
)
pool
:=
NewTxPool
(
testTxPoolConfig
,
params
.
TestChainConfig
,
blockchain
)
...
@@ -1274,7 +1274,7 @@ func TestTransactionPoolRepricingKeepsLocals(t *testing.T) {
...
@@ -1274,7 +1274,7 @@ func TestTransactionPoolRepricingKeepsLocals(t *testing.T) {
t
.
Parallel
()
t
.
Parallel
()
// Create the pool to test the pricing enforcement with
// Create the pool to test the pricing enforcement with
statedb
,
_
:=
state
.
New
(
common
.
Hash
{},
state
.
NewDatabase
(
rawdb
.
NewMemoryDatabase
()))
statedb
,
_
:=
state
.
New
(
common
.
Hash
{},
state
.
NewDatabase
(
rawdb
.
NewMemoryDatabase
())
,
nil
)
blockchain
:=
&
testBlockChain
{
statedb
,
1000000
,
new
(
event
.
Feed
)}
blockchain
:=
&
testBlockChain
{
statedb
,
1000000
,
new
(
event
.
Feed
)}
pool
:=
NewTxPool
(
testTxPoolConfig
,
params
.
TestChainConfig
,
blockchain
)
pool
:=
NewTxPool
(
testTxPoolConfig
,
params
.
TestChainConfig
,
blockchain
)
...
@@ -1336,7 +1336,7 @@ func TestTransactionPoolUnderpricing(t *testing.T) {
...
@@ -1336,7 +1336,7 @@ func TestTransactionPoolUnderpricing(t *testing.T) {
t
.
Parallel
()
t
.
Parallel
()
// Create the pool to test the pricing enforcement with
// Create the pool to test the pricing enforcement with
statedb
,
_
:=
state
.
New
(
common
.
Hash
{},
state
.
NewDatabase
(
rawdb
.
NewMemoryDatabase
()))
statedb
,
_
:=
state
.
New
(
common
.
Hash
{},
state
.
NewDatabase
(
rawdb
.
NewMemoryDatabase
())
,
nil
)
blockchain
:=
&
testBlockChain
{
statedb
,
1000000
,
new
(
event
.
Feed
)}
blockchain
:=
&
testBlockChain
{
statedb
,
1000000
,
new
(
event
.
Feed
)}
config
:=
testTxPoolConfig
config
:=
testTxPoolConfig
...
@@ -1442,7 +1442,7 @@ func TestTransactionPoolStableUnderpricing(t *testing.T) {
...
@@ -1442,7 +1442,7 @@ func TestTransactionPoolStableUnderpricing(t *testing.T) {
t
.
Parallel
()
t
.
Parallel
()
// Create the pool to test the pricing enforcement with
// Create the pool to test the pricing enforcement with
statedb
,
_
:=
state
.
New
(
common
.
Hash
{},
state
.
NewDatabase
(
rawdb
.
NewMemoryDatabase
()))
statedb
,
_
:=
state
.
New
(
common
.
Hash
{},
state
.
NewDatabase
(
rawdb
.
NewMemoryDatabase
())
,
nil
)
blockchain
:=
&
testBlockChain
{
statedb
,
1000000
,
new
(
event
.
Feed
)}
blockchain
:=
&
testBlockChain
{
statedb
,
1000000
,
new
(
event
.
Feed
)}
config
:=
testTxPoolConfig
config
:=
testTxPoolConfig
...
@@ -1507,7 +1507,7 @@ func TestTransactionDeduplication(t *testing.T) {
...
@@ -1507,7 +1507,7 @@ func TestTransactionDeduplication(t *testing.T) {
t
.
Parallel
()
t
.
Parallel
()
// Create the pool to test the pricing enforcement with
// Create the pool to test the pricing enforcement with
statedb
,
_
:=
state
.
New
(
common
.
Hash
{},
state
.
NewDatabase
(
rawdb
.
NewMemoryDatabase
()))
statedb
,
_
:=
state
.
New
(
common
.
Hash
{},
state
.
NewDatabase
(
rawdb
.
NewMemoryDatabase
())
,
nil
)
blockchain
:=
&
testBlockChain
{
statedb
,
1000000
,
new
(
event
.
Feed
)}
blockchain
:=
&
testBlockChain
{
statedb
,
1000000
,
new
(
event
.
Feed
)}
pool
:=
NewTxPool
(
testTxPoolConfig
,
params
.
TestChainConfig
,
blockchain
)
pool
:=
NewTxPool
(
testTxPoolConfig
,
params
.
TestChainConfig
,
blockchain
)
...
@@ -1573,7 +1573,7 @@ func TestTransactionReplacement(t *testing.T) {
...
@@ -1573,7 +1573,7 @@ func TestTransactionReplacement(t *testing.T) {
t
.
Parallel
()
t
.
Parallel
()
// Create the pool to test the pricing enforcement with
// Create the pool to test the pricing enforcement with
statedb
,
_
:=
state
.
New
(
common
.
Hash
{},
state
.
NewDatabase
(
rawdb
.
NewMemoryDatabase
()))
statedb
,
_
:=
state
.
New
(
common
.
Hash
{},
state
.
NewDatabase
(
rawdb
.
NewMemoryDatabase
())
,
nil
)
blockchain
:=
&
testBlockChain
{
statedb
,
1000000
,
new
(
event
.
Feed
)}
blockchain
:=
&
testBlockChain
{
statedb
,
1000000
,
new
(
event
.
Feed
)}
pool
:=
NewTxPool
(
testTxPoolConfig
,
params
.
TestChainConfig
,
blockchain
)
pool
:=
NewTxPool
(
testTxPoolConfig
,
params
.
TestChainConfig
,
blockchain
)
...
@@ -1668,7 +1668,7 @@ func testTransactionJournaling(t *testing.T, nolocals bool) {
...
@@ -1668,7 +1668,7 @@ func testTransactionJournaling(t *testing.T, nolocals bool) {
os
.
Remove
(
journal
)
os
.
Remove
(
journal
)
// Create the original pool to inject transaction into the journal
// Create the original pool to inject transaction into the journal
statedb
,
_
:=
state
.
New
(
common
.
Hash
{},
state
.
NewDatabase
(
rawdb
.
NewMemoryDatabase
()))
statedb
,
_
:=
state
.
New
(
common
.
Hash
{},
state
.
NewDatabase
(
rawdb
.
NewMemoryDatabase
())
,
nil
)
blockchain
:=
&
testBlockChain
{
statedb
,
1000000
,
new
(
event
.
Feed
)}
blockchain
:=
&
testBlockChain
{
statedb
,
1000000
,
new
(
event
.
Feed
)}
config
:=
testTxPoolConfig
config
:=
testTxPoolConfig
...
@@ -1766,7 +1766,7 @@ func TestTransactionStatusCheck(t *testing.T) {
...
@@ -1766,7 +1766,7 @@ func TestTransactionStatusCheck(t *testing.T) {
t
.
Parallel
()
t
.
Parallel
()
// Create the pool to test the status retrievals with
// Create the pool to test the status retrievals with
statedb
,
_
:=
state
.
New
(
common
.
Hash
{},
state
.
NewDatabase
(
rawdb
.
NewMemoryDatabase
()))
statedb
,
_
:=
state
.
New
(
common
.
Hash
{},
state
.
NewDatabase
(
rawdb
.
NewMemoryDatabase
())
,
nil
)
blockchain
:=
&
testBlockChain
{
statedb
,
1000000
,
new
(
event
.
Feed
)}
blockchain
:=
&
testBlockChain
{
statedb
,
1000000
,
new
(
event
.
Feed
)}
pool
:=
NewTxPool
(
testTxPoolConfig
,
params
.
TestChainConfig
,
blockchain
)
pool
:=
NewTxPool
(
testTxPoolConfig
,
params
.
TestChainConfig
,
blockchain
)
...
...
core/vm/gas_table_test.go
View file @
06d4470b
...
@@ -81,7 +81,7 @@ func TestEIP2200(t *testing.T) {
...
@@ -81,7 +81,7 @@ func TestEIP2200(t *testing.T) {
for
i
,
tt
:=
range
eip2200Tests
{
for
i
,
tt
:=
range
eip2200Tests
{
address
:=
common
.
BytesToAddress
([]
byte
(
"contract"
))
address
:=
common
.
BytesToAddress
([]
byte
(
"contract"
))
statedb
,
_
:=
state
.
New
(
common
.
Hash
{},
state
.
NewDatabase
(
rawdb
.
NewMemoryDatabase
()))
statedb
,
_
:=
state
.
New
(
common
.
Hash
{},
state
.
NewDatabase
(
rawdb
.
NewMemoryDatabase
())
,
nil
)
statedb
.
CreateAccount
(
address
)
statedb
.
CreateAccount
(
address
)
statedb
.
SetCode
(
address
,
hexutil
.
MustDecode
(
tt
.
input
))
statedb
.
SetCode
(
address
,
hexutil
.
MustDecode
(
tt
.
input
))
statedb
.
SetState
(
address
,
common
.
Hash
{},
common
.
BytesToHash
([]
byte
{
tt
.
original
}))
statedb
.
SetState
(
address
,
common
.
Hash
{},
common
.
BytesToHash
([]
byte
{
tt
.
original
}))
...
...
les/odr_test.go
View file @
06d4470b
...
@@ -91,7 +91,7 @@ func odrAccounts(ctx context.Context, db ethdb.Database, config *params.ChainCon
...
@@ -91,7 +91,7 @@ func odrAccounts(ctx context.Context, db ethdb.Database, config *params.ChainCon
for
_
,
addr
:=
range
acc
{
for
_
,
addr
:=
range
acc
{
if
bc
!=
nil
{
if
bc
!=
nil
{
header
:=
bc
.
GetHeaderByHash
(
bhash
)
header
:=
bc
.
GetHeaderByHash
(
bhash
)
st
,
err
=
state
.
New
(
header
.
Root
,
state
.
NewDatabase
(
db
))
st
,
err
=
state
.
New
(
header
.
Root
,
state
.
NewDatabase
(
db
)
,
nil
)
}
else
{
}
else
{
header
:=
lc
.
GetHeaderByHash
(
bhash
)
header
:=
lc
.
GetHeaderByHash
(
bhash
)
st
=
light
.
NewState
(
ctx
,
header
,
lc
.
Odr
())
st
=
light
.
NewState
(
ctx
,
header
,
lc
.
Odr
())
...
@@ -122,7 +122,7 @@ func odrContractCall(ctx context.Context, db ethdb.Database, config *params.Chai
...
@@ -122,7 +122,7 @@ func odrContractCall(ctx context.Context, db ethdb.Database, config *params.Chai
data
[
35
]
=
byte
(
i
)
data
[
35
]
=
byte
(
i
)
if
bc
!=
nil
{
if
bc
!=
nil
{
header
:=
bc
.
GetHeaderByHash
(
bhash
)
header
:=
bc
.
GetHeaderByHash
(
bhash
)
statedb
,
err
:=
state
.
New
(
header
.
Root
,
state
.
NewDatabase
(
db
))
statedb
,
err
:=
state
.
New
(
header
.
Root
,
state
.
NewDatabase
(
db
)
,
nil
)
if
err
==
nil
{
if
err
==
nil
{
from
:=
statedb
.
GetOrNewStateObject
(
bankAddr
)
from
:=
statedb
.
GetOrNewStateObject
(
bankAddr
)
...
...
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