Péter Szilágyi
94c8de0217
Merge pull request #24936 from holiman/no_compilers
...
common/compiler, cmd/abigen: remove solc/vyper compiler integration
3 years ago
Sina Mahmoodi
ba47d800b1
eth/tracers/js: drop duktape engine ( #24934 )
...
#23773 added a JS tracer which uses Goja as its engine. In this PR I remove the previous tracer which used duktape as well as remove the dependencies.
This PR also comes with 2 fixes in the Goja tracer and one small behavioural change:
I had handled errors in the native Go functions by panicing. My oversight was that Goja only handles panics with a Goja.Value as argument. The difference is panic(goja.Value) allows JS to catch the exception whereas Interrupt(error) doesn't.
There was a race in how I handled Stop.
Because of 1. some of the methods that simply return nil on error (like memory.slice) now throw an exception.
3 years ago
Martin Holst Swende
8541ddbd95
common/compiler, cmd/abigen: remove solc/vyper compiler integration
3 years ago
Martin Holst Swende
af02e97929
accounts/abi: validate fieldnames, fixes #24930 ( #24932 )
3 years ago
rjl493456442
59ac229f87
core/state/snapshot: detect and clean up dangling storage snapshot in generation ( #24811 )
...
* core/state/snapshot: check dangling storages when generating snapshot
* core/state/snapshot: polish
* core/state/snapshot: wipe the last part of the dangling storages
* core/state/snapshot: fix and add tests
* core/state/snapshot: fix comment
* README: remove mentions of fast sync (#24656 )
Co-authored-by: Marius van der Wijden <m.vanderwijden@live.de>
* core, cmd: expose dangling storage detector for wider usage
* core/state/snapshot: rename variable
* core, ethdb: use global iterators for snapshot generation
* core/state/snapshot: polish
* cmd, core/state/snapshot: polish
* core/state/snapshot: polish
* Update core/state/snapshot/generate.go
Co-authored-by: Martin Holst Swende <martin@swende.se>
* ethdb: extend db test suite and fix memorydb iterator
* ethdb/dbtest: rollback changes
* ethdb/memorydb: simplify iteration
* core/state/snapshot: update dangling counter
* core/state/snapshot: release iterators
* core/state/snapshot: update metrics
* core/state/snapshot: update time metrics
* metrics/influxdb: temp solution to present counter meaningfully, remove it
* add debug log, revert later
* core/state/snapshot: fix iterator panic
* all: customized snapshot iterator for backward iteration
* core, ethdb: polish
* core/state/snapshot: remove debug log
* core/state/snapshot: address comments from peter
* core/state/snapshot: reopen the iterator at the next position
* ethdb, core/state/snapshot: address comment from peter
* core/state/snapshot: reopen exhausted iterators
Co-authored-by: Tbnoapi <63448616+nuoomnoy02@users.noreply.github.com>
Co-authored-by: Marius van der Wijden <m.vanderwijden@live.de>
Co-authored-by: Martin Holst Swende <martin@swende.se>
3 years ago
Felix Lange
2b0d0ce8b0
build/bot: create .ssh directory in ppa-build.sh ( #24922 )
3 years ago
Felix Lange
d4faff965f
build/bot: avoid install of python-bzrlib, python-paramiko in PPA build ( #24921 )
3 years ago
Felix Lange
adcad1cd39
build/bot: add ppa-build.sh ( #24919 )
3 years ago
Felix Lange
04b6c56375
build/bot: remove xctool invocation in macos build script ( #24918 )
3 years ago
Felix Lange
8cab5e171c
build/bot: add mac build script ( #24917 )
3 years ago
Péter Szilágyi
7aced8114f
Merge pull request #24915 from karalabe/catalyst-custom-errors
...
core, eth, les, rpc: polish catalyst errors, add context
3 years ago
Péter Szilágyi
34bda5eae3
core, eth, les, rpc: polish catalyst errors, add context
3 years ago
Marius van der Wijden
4a4d531052
eth/catalyst: update implementation to spec ( #24802 )
...
* eth/catalyst: return invalid payload attributes error
* eth/catalyst: implement LVH as specified, add tests
* eth/catalyst: return current block hash not header hash
* eth/catalyst: fix test
* eth/catalyst: bring error codes in line with spec
3 years ago
Eduard S
310f751639
eth/tracers/js: add memory.length method ( #24887 )
3 years ago
Péter Szilágyi
a35a5cad22
Merge pull request #24908 from zhaochonghe/master
...
core: fix the order of address in queue
3 years ago
Martin Holst Swende
59e0f1ee00
tests: update reference tests ( #24899 )
...
* tests: update reference tests
* tests: fix flaw in state test execution
* f
3 years ago
zhaochonghe
2bfd9a28d1
core: fix the order of address in queue ( #24907 )
...
reverse the order of address in queue
3 years ago
Péter Szilágyi
7bcbbbf836
Merge pull request #24905 from holiman/fix_has
...
ethdb/remotedb: fix flawed check in Has/HasAncient
3 years ago
Martin Holst Swende
2f4996a9b2
ethdb/remotedb: fix flawed check in Has/HasAncient
3 years ago
Péter Szilágyi
5c5ef6f16e
Merge pull request #24901 from karalabe/fix-linter
...
params: fix broken linter
3 years ago
Péter Szilágyi
975dee2593
params: fix broken linter
3 years ago
Afr Schoe
21a3a21bf9
params: update goerli bootnodes ( #24900 )
...
* params: update goerli bootnodes
* params: use ip for enodes
3 years ago
Sina Mahmoodi
bf693228a3
eth/tracers/js: goja tracer ( #23773 )
...
This adds a JS tracer runtime environment based on the Goja VM. The new
runtime replaces the duktape runtime, which will be removed soon.
Goja is implemented in Go and is faster for cases where the Go <-> JS
transition overhead dominates overall performance. It is faster because
duktape is written in C, and the transition cost includes the cost of using
cgo. Another reason for using Goja is that go-duktape is not maintained
anymore.
We expect the performace of JS tracing to be at least as good or better with
this change.
3 years ago
Marius van der Wijden
cc9fb8e21d
eth/catalyst, miner: build the execution payload async ( #24866 )
...
* eth/catalyst: build the execution payload async
* miner: added comment, added test case
* eth/catalyst: miner: move async block production to miner
* eth/catalyst, miner: support generate seal block async
* miner: rework GetSealingBlockAsync to use a passed channel
* miner: apply rjl's diff
* eth/catalyst: nitpicks
Co-authored-by: Gary Rong <garyrong0905@gmail.com>
3 years ago
Marius van der Wijden
e6fa102eb0
core, eth, internal, rpc: implement final block ( #24282 )
...
* eth: core: implement finalized block
* eth/catalyst: fix final block
* eth/catalyst: update finalized head gauge
* internal/jsre/deps: updated web3.js to allow for finalized block
* eth/catalyst: make sure only one thread can call fcu
* eth/catalyst: nitpicks
* eth/catalyst: use plain mutex
* eth: nitpicks
3 years ago
Martin Holst Swende
57192bd0dc
ethdb/remotedb, cmd: add support for remote (readonly) databases ( #24836 )
...
* ethdb/remotedb, cmd: add support for remote (readonly) databases
* ethdb/remotedb: minor changes
* ethdb/remotedb: close the conn
* cmd, ethdb: add rpc accessor for ancient data
* internal/ethapi: license
* ethdb/remotedb: linter fixes
3 years ago
Håvard Anda Estensen
4b309c7006
all: replace non-trivial uses of package ioutil with os ( #24886 )
...
Co-authored-by: Martin Holst Swende <martin@swende.se>
3 years ago
Håvard Anda Estensen
e644d45c14
all: use strings.EqualFold for string comparison ( #24890 )
3 years ago
Martin Holst Swende
e0a9752b96
cmd/geth: add `db check-state-content` to verify integrity of trie nodes ( #24840 )
...
This PR adds db tooling (geth db check-state-content) to verify the integrity of trie nodes. It iterates through the 32-byte key space in the database, which is expected to contain RLP-encoded trie nodes, addressed by hash.
3 years ago
Marius van der Wijden
381c66caf0
eth/catalyst: set the correct LatestValidHash ( #24855 )
...
* eth/catalyst: set the correct LatestValidHash
* eth/catalyst: core: return LVH during reorg, rework invalid teminal block
* eth/catalyst: nitpicks
3 years ago
Sina Mahmoodi
29a6b6bcac
graphql: add raw fields to block and tx ( #24816 )
3 years ago
rjl493456442
39fb82bcfb
eth: fix flaky test, don't attach empty slots/proofs ( #24885 )
...
* eth/protocols/snap: don't include empty snapshot slot slice
This PR fixes the snapshot storage serving handler. In snap protocol
the response is capped by the response size. Server can cutdown the
response if the accumulated byte size exceeds the local hard limit.
It means we can meet a special scenario that there is no storage slot
included for a requested account, but we attach the proof for this
account by mistake.
So in the prover side, when it meets a empty storage response but with
a valid proof proves there are some more slots left in the trie, then
requestor will reject this response and disconnect with server.
In this PR, if there is no storage slot served for the requested account,
then no proof should be attached as well.
* eth/protocols/snap: loosen restrictions for flaky tests
* eth/catalyst: fix flaky test in catalyst
3 years ago
Qian Bin
fe5a26733c
core/vm: reduce overhead in instructions-benchmark ( #24860 )
...
* core/vm: reduce footprint of OP benchmark
* core/vm: for opBenchmark, add code to detect inputs mutation
* Update core/vm/instructions_test.go
Co-authored-by: Martin Holst Swende <martin@swende.se>
* core/vm: opBenchmark, stop timer before sanity-test code
Co-authored-by: Martin Holst Swende <martin@swende.se>
3 years ago
Martin Holst Swende
af806168b6
cmd/geth: update vulnerabilities.json testdata ( #24856 )
3 years ago
Håvard Anda Estensen
07508ac0e9
all: replace uses of ioutil with io and os ( #24869 )
3 years ago
s7v7nislands
330e53fbb9
core/asm: use strings.Builder and fix godoc issues ( #24861 )
3 years ago
Péter Szilágyi
fcbc05ccb6
Merge pull request #24884 from karalabe/deprecate-rinkeby
...
cmd/utils: add deprecation warning for Rinkeby
3 years ago
Péter Szilágyi
0a55b9731c
cmd/utils: add deprecation warning for Rinkeby
3 years ago
Marius van der Wijden
4f80f7806e
params: set ropsten TTD for TheMerge ( #24876 )
3 years ago
Ryan Schneider
ae7d834bc7
internal/ethapi: add debug_getRawReceipts RPC method ( #24773 )
...
Adds a method to retrieve all the binary encoded receipts from a block
3 years ago
Sina Mahmoodi
440c9fcf75
graphql: fix long literal passed in a variable ( #24864 )
3 years ago
Qian Bin
e0a1fd5fdc
core/vm: optimize Memory.Set32 ( #24847 )
...
* core/vm: remove unnecessary memset for Memory.Set32
* core/vm: optimize Memory.Set32
3 years ago
Felipe Strozberg
f5ff022dbc
ethclient: add PeerCount method ( #24849 )
...
* adding peer count function
* Update ethclient.go
Co-authored-by: Felix Lange <fjl@twurst.com>
3 years ago
s7v7nislands
539bbd6349
core/vm: separate opcode group for 0x20 range ( #24850 )
3 years ago
s7v7nislands
24c590cbec
core/vm: clean up some dead functions ( #24851 )
3 years ago
||= nil
8a008ee0e6
cmd/geth: print info banner for --dev mode ( #24759 )
...
Co-authored-by: nedifi <nedifi@users.noreply.github.com>
Co-authored-by: Felix Lange <fjl@twurst.com>
3 years ago
Martin Holst Swende
646503208e
eth/protocols/snap: sort trienode heal requests by path ( #24779 )
...
* sort snap trienode heal requests
* eth/protocols/snap: remove debug code
* eth/protocols/snap: simplify sort, generate pathsets later
* eth/protocols/snap: review concern
* eth/protocols/snap: renamings
* eth/protocols/snap: add comments in Merge
* eth/protocols/snap: remove variable 'last' in Merge
* eth/protocols/snap: fix lint flaws in test
Co-authored-by: Felix Lange <fjl@twurst.com>
3 years ago
aaronbuchwald
52eb87d87c
core/vm: update benchmark to use Errorf instead of Sprintf ( #24845 )
3 years ago
Martin Holst Swende
91751cbaa7
signer/fourbyte: remove offending signatures ( #24842 )
3 years ago
Sina Mahmoodi
5b46f1d1eb
internal: drop TestSignCliqueBlock ( #24837 )
3 years ago