Commit graph

16448 commits

Author SHA1 Message Date
Péter Szilágyi
97ae32441e
travis: use newer builder image (#28475) 2023-11-07 13:00:31 +02:00
Péter Szilágyi
51b5ad3da3
.travis: enable cross building to macos arm64 (#28474)
Co-authored-by: Felix Lange <fjl@twurst.com>
2023-11-07 11:35:03 +01:00
Léo Vincent
22a2b63df6
chore: improve bor server --help (#1063)
* chore: update `txarrivalwait` flag description

* chore: update docs

* chore: update other flags

* fix: doc generation is now deterministic

* chore: remove debug

* feat: sort options in `bor server --help`

* fix: prealloc array

* fix: lint issues

* internal/cli: remove nolint

---------

Co-authored-by: marcello33 <marcelloardizzone@hotmail.it>
Co-authored-by: Manav Darji <manavdarji.india@gmail.com>
2023-11-07 10:57:18 +05:30
Péter Szilágyi
e91cdb49be
ethclient: fix forwarding 1559 gas fields (#28462) 2023-11-03 19:40:37 +02:00
Alvaro Sevilla
b1cec853be
eth/tracers: add position field for callTracer logs (#28389)
Currently, one can use the "withLogs" parameter to include logs in the
callTracer results, which allows the user to see at which trace level
was each log emitted.
This commit adds a position field to the logs which determine
the exact ordering of a call's logs and its subcalls. This would
be useful e.g. for explorers wishing to display the flow of execution.

Co-authored-by: jsvisa <delweng@gmail.com>
2023-11-03 10:28:27 +01:00
Arpit Temani
1483c960ed merge develop 2023-11-03 10:10:02 +05:30
Ulaş Erdoğan
738107b6c8 crypto/secp256r1: remove malleability check due to spec
(cherry picked from commit cec0b05811)
2023-11-03 09:33:50 +05:30
Ulaş Erdoğan
ab2f20e8dd crypto/secp256r1: reject the reference pubKey coordinates
(cherry picked from commit 98f10b0d5e)
2023-11-03 09:33:36 +05:30
Ulaş Erdoğan
2bbf30ff90 core/vm: force the input length of p256verify
(cherry picked from commit 21f4932c9b)
2023-11-03 09:33:22 +05:30
Ulaş Erdoğan
d64d8e73c1 crypto/secp256r1: refactor by simplfying return
(cherry picked from commit 1be1875156)
2023-11-03 09:33:08 +05:30
Ulaş Erdoğan
0d115db168 core, crypto/secp256r1: fix error reverts tx error
(cherry picked from commit 2820903f59)
2023-11-03 09:32:56 +05:30
Ulaş Erdoğan
b5559e3018 core/vm: update the eip number
(cherry picked from commit f5b6d7e995)
2023-11-03 09:32:40 +05:30
Ulaş Erdoğan
40e6de0bf2 core/vm: fix testdata non-malleable for p256Verify
(cherry picked from commit ec17e788ad)
2023-11-03 09:31:20 +05:30
Ulaş Erdoğan
fc057aaabb crypto/secp25r1: fix reverse malleability issue
(cherry picked from commit 066a31f634)
2023-11-03 09:31:08 +05:30
Ulaş Erdoğan
83a20d36ec core/vm: simplify the return values format
(cherry picked from commit d245194e77)
2023-11-03 09:30:56 +05:30
Ulaş Erdoğan
ae2d3da5c1 core/vm, params: rename precompiled to p256verify
(cherry picked from commit 6c7028a904)
2023-11-03 09:30:42 +05:30
Ulaş Erdoğan
56f193346e params: add new precompiled gas price
(cherry picked from commit c0554c0764)
2023-11-03 09:30:32 +05:30
Ulaş Erdoğan
cdb96096d8 core/vm: implement secp256r1 verifier precompiled
(cherry picked from commit a8c0a2e05c)
2023-11-03 09:30:21 +05:30
Ulaş Erdoğan
9956fdfc99 crypto/secp2561r1: add secp256r1 curve verifiers
(cherry picked from commit fb89b61cdc)
2023-11-03 09:30:08 +05:30
Arpit Temani
bc338be57b
Merge pull request #1068 from maticnetwork/v1.1.0-beta-candidate
Merge V1.1.0 beta candidate to 'develop'
2023-11-02 16:47:53 +05:30
Shivam Sharma
6169648537 fix : lint 2023-11-02 15:28:41 +05:30
lmittmann
a3be38127c
core/vm: performance tweak of OpCode.String() (#28453)
make `opCodeToString` a `[256]string` array

Co-authored-by: lmittmann <lmittmann@users.noreply.github.com>
2023-11-02 08:54:28 +02:00
Arpit Temani
b3f4b0b982
Merge pull request #1067 from maticnetwork/shivam/prevrandao-hotfix
rm : prevrandao
2023-11-01 00:46:46 +05:30
Shivam Sharma
953039d1c0 rm : prevrandao 2023-11-01 00:44:16 +05:30
rjl493456442
f4ac548619
ethdb/pebble: cap memory table size as maxMemTableSize-1 (#28444) 2023-10-31 18:19:31 +02:00
Mario Vega
285202aae2
cmd/evm: add --run option to blocktest command (#28421)
Co-authored-by: lightclient <lightclient@protonmail.com>
2023-10-31 15:23:51 +01:00
Felix Lange
bc42e88415
core: add basic chain history support in GenerateChain (#28428)
This change improves GenerateChain to support internal chain history access (ChainReader)
for the consensus engine and EVM.

GenerateChain takes a `parent` block and the number of blocks to create. With my changes,
the consensus engine and EVM can now access blocks from `parent` up to the block currently
being generated. This is required to make the BLOCKHASH instruction work, and also needed
to create real clique chains.  Clique uses chain history to figure out if the current signer is in-turn,
for example.

I've also added some more accessors to BlockGen. These are helpful when creating transactions:

- g.Signer returns a signer instance for the current block
- g.Difficulty returns the current block difficulty
- g.Gas returns the remaining gas amount

Another fix in this commit concerns the receipts returned by GenerateChain. The receipts now
have properly derived fields (BlockHash, etc.) and should generally match what would be
returned by the RPC API.
2023-10-31 12:39:25 +01:00
Jakub Freebit
447945e438
core/rawdb: add logging and fix comments around AncientRange function. (#28379)
This adds warning logs when the read does not match the expected count.
We can also remove the size limit since the function documentation explicitly states
that callers should limit the count.
2023-10-31 12:04:45 +01:00
rjl493456442
ea2e66a58e
trie/triedb/pathdb: improve dirty node flushing trigger (#28426)
* trie/triedb/pathdb: improve dirty node flushing trigger

* trie/triedb/pathdb: add tests

* trie/triedb/pathdb: address comment
2023-10-31 11:39:55 +02:00
Jerry
4896ab25ed
Set withdraw to nil when building blocks for integration tests (#1066) 2023-10-30 22:04:20 -07:00
SHIVAM SHARMA
ab42a16a1b
fix : typo in (tx *DynamicFeeTx) gasPriceU256() (#1064) 2023-10-30 13:23:34 +05:30
Martin Holst Swende
233db64cc1
all: make vendored copy of reexec (#28382)
a little copying is better than a little dependency

-- go proverb

We have this dependency on docker, a.k.a moby: a gigantic library, and we only need ~70 LOC,
so here I tried moving it inline instead.

Co-authored-by: Felix Lange <fjl@twurst.com>
2023-10-28 00:14:43 +02:00
Delweng
2d7dba024d
graphql: always set content-type to application/json (#28417)
---------

Signed-off-by: jsvisa <delweng@gmail.com>
2023-10-27 16:50:59 +02:00
Guillaume Ballet
4cbca5178a
core, cmd/geth: add --override.* flags to geth init (#28407)
* core, cmd/geth: add --override.* flags to geth init

* also apply overrides before genesis commit with new block

* review feedback
2023-10-27 10:15:14 +08:00
Delweng
abe3fca1de
graphql: fix an issue of nil pointer panic (#28416)
Signed-off-by: jsvisa <delweng@gmail.com>
2023-10-26 13:48:51 +02:00
vuittont60
d8c59ac8f2
fix some typos (#1058)
Co-authored-by: marcello33 <marcelloardizzone@hotmail.it>
2023-10-26 17:10:25 +05:30
Martin Holst Swende
58ae1df684
cmd/geth: test for logging-output (#28373)
This PR is a bit in preparation for the slog work in #28187 .

Our current test re logging mostly test the internals, but we have no real end-to-end test of the logging output. This PR introduces a simple reexec-based log tester. This also relies upon a special mode in geth, which can be made to eject a set of predefined log messages (only available if the build-tag `integrationtests` is used

e.g. go run --tags=integrationtests ./cmd/geth --log.format terminal logtest

While working on this, I also noticed a quirk in the setup: when geth was configured to use a file output, then two separate handlers were used (one handler for the file, one handler for the console). Using two separate handlers means that two formatters are used, thus the formatting of any/all records happened twice. This PR changes the mechanism to use two separate io.Writers instead, which is both more optimal and fixes a bug which occurs due to a global statefulness in the formatter.
2023-10-25 17:57:12 +02:00
Adrian Sutton
d8c6ae054c
rpc: use correct stringer-method for serializing BlockNumberOrHash (#28358)
The String() version of BlockNumberOrHash uses decimal for all block numbers, including negative ones used to indicate labels. Switch to using BlockNumber.String() which encodes it correctly for use in the JSON-RPC API.
2023-10-25 15:52:42 +02:00
Delweng
f7b62e5506
graphql: logs return error if from block > to (#28412)
As per discussion in ethereum/execution-apis#475

Signed-off-by: jsvisa <delweng@gmail.com>
2023-10-25 15:20:23 +02:00
Martin Holst Swende
96b75033c0
trie: use explicit errors in stacktrie (instead of panic) (#28361)
This PR removes panics from stacktrie (mostly), and makes the Update return errors instead. While adding tests for this, I also found that one case of possible corruption was not caught, which is now fixed.
2023-10-25 14:53:50 +02:00
Martin Holst Swende
300df874d7
cmd/evm: make t8ntool handle transaction decoding errors better (#28397)
This change closes https://github.com/ethereum/go-ethereum/issues/27730 . By using an iterator instead of a slice of transactions, we can better handle the case when an individual transaction (within an otherwise well-formed RLP-list) cannot be decoded.
2023-10-25 14:08:52 +02:00
Anshal Shukla
5da60c24d7 bump : version to v1.1.0-beta3 2023-10-25 15:41:40 +05:30
Shivam Sharma
b88d00c7af add : check for commit span in apply bor message 2023-10-25 15:40:15 +05:30
moomin
a8617c6d4d
txpool/legacypool: remove already known error in legacypool (#28400) 2023-10-23 18:36:11 +03:00
rjl493456442
ab04aeb855
core, eth, trie: filter out boundary nodes and remove dangling nodes in stacktrie (#28327)
* core, eth, trie: filter out boundary nodes in stacktrie

* eth/protocol/snap: add comments

* Update trie/stacktrie.go

Co-authored-by: Martin Holst Swende <martin@swende.se>

* eth, trie: remove onBoundary callback

* eth/protocols/snap: keep complete boundary nodes

* eth/protocols/snap: skip healing if the storage trie is already complete

* eth, trie: add more metrics

* eth, trie: address comment

---------

Co-authored-by: Martin Holst Swende <martin@swende.se>
2023-10-23 18:31:56 +03:00
Delweng
43e6a3c196
graphql: return error if block from>to (#28393)
As per discussion in ethereum/execution-apis#475
2023-10-23 17:25:26 +02:00
rjl493456442
3853f50082
trie/triedb/pathdb, core/rawdb: enhance error message in freezer (#28198)
This PR adds more error message for debugging purpose.
2023-10-23 15:46:39 +02:00
hyunchel
062598bb40
core/blockchain: fix typos and grammar (#28295) 2023-10-23 15:23:41 +02:00
kaliubuntu0206
54f35c68be
ethstats: fix bug in block reporting (#28398)
Fixes a bug where the ethstats omits to report full block contents. This bug was a side-effect of https://github.com/ethereum/go-ethereum/pull/26777,  where `CurrentBlock` was changed to return a header instead of a block, leading to a failed type assertion.
2023-10-23 15:06:05 +02:00
Andrew Ashikhmin
c8548c9d37
params: fix bor key-value config look-up (#1055)
* Retire calculateBorConfigHelper in favour of borKeyValueConfigHelper

* Use borKeyValueConfigHelper for CalculateBurntContract

* Numerical instead of lexicographic sorting of config keys

* Add test for burntContract

* fix lint

---------

Co-authored-by: marcello33 <marcelloardizzone@hotmail.it>
Co-authored-by: Manav Darji <manavdarji.india@gmail.com>
2023-10-23 18:30:11 +05:30