Commit graph

1167 commits

Author SHA1 Message Date
Péter Szilágyi
db03e01577 build, internal, version: break ci.go/version->common dependency (#30638)
This PR tries to break the ci.go to common dependency by moving the
version number out of params.
2024-11-19 14:50:11 +01:00
Péter Szilágyi
1c88e42ea9 build: get rid of ci.go -> common direct dependency (#30637) 2024-11-19 14:50:11 +01:00
Péter Szilágyi
7a79f2f89f all: get rid of custom MaxUint64 and MaxUint64 (#30636) 2024-11-19 14:50:11 +01:00
Péter Szilágyi
9c054f8ad1 core, eth, ethstats: simplify chain head events (#30601) 2024-11-19 14:50:11 +01:00
jwasinger
086a52d5cb internal/ethapi: refactor TxArgs.setCancunFeeDefaults (#30541)
calculating a reasonable tx blob fee cap (`max_blob_fee_per_gas *
total_blob_gas`) only depends on the excess blob gas of the parent
header. The parent header is assumed to be correct, so the method should
not be able to fail and return an error.
2024-11-19 14:50:11 +01:00
Martin HS
7a625d3a08 build: update to golangci-lint 1.61.0 (#30587)
Changelog: https://golangci-lint.run/product/changelog/#1610 

Removes `exportloopref` (no longer needed), replaces it with
`copyloopvar` which is basically the opposite.

Also adds: 
- `durationcheck`
- `gocheckcompilerdirectives`
- `reassign`
- `mirror`
- `tenv`

---------

Co-authored-by: Marius van der Wijden <m.vanderwijden@live.de>
2024-11-19 14:50:11 +01:00
Felix Lange
bee38ebb39 all: implement EIP-7002 & EIP-7251 (#30571)
This is a redo of #29052 based on newer specs. Here we implement EIPs
scheduled for the Prague fork:

- EIP-7002: Execution layer triggerable withdrawals
- EIP-7251: Increase the MAX_EFFECTIVE_BALANCE

Co-authored-by: lightclient <lightclient@protonmail.com>
2024-11-19 14:50:11 +01:00
Felix Lange
c93656f18e all: implement flat deposit requests encoding (#30425)
This implements recent changes to EIP-7685, EIP-6110, and
execution-apis.

---------

Co-authored-by: lightclient <lightclient@protonmail.com>
Co-authored-by: Shude Li <islishude@gmail.com>
2024-11-19 14:50:11 +01:00
Sina M
153e570d19 internal/web3ext: rm unused modules (#30532)
Remove console extensions for already deleted API namespaces (les, vflux and ethash).
2024-11-19 14:50:11 +01:00
marcello33
10d9594b52
chg: try blocks hex ecnoding 2024-11-14 07:19:13 +01:00
marcello33
0634d11d86
cgh: use geth for maxInt 2024-11-13 15:01:55 +01:00
marcello33
32138d70ad
cgh: fix possible out of range on blockNumber 2024-11-13 14:58:18 +01:00
marcello33
baa8a2bb63
cgh: fix rpc blockNumber and bash warnings 2024-11-13 14:45:41 +01:00
marcello33
927db07fc4
chg: switch blockNumber 2024-11-13 14:04:19 +01:00
marcello33
9cb6fcac0b
chg: handle edge cases with string blockNumber 2024-11-13 11:33:02 +01:00
marcello33
7a854127dc
fix: lint 2024-11-08 18:40:26 +01:00
marcello33
2af775c1f8
fix: build 2024-11-08 18:25:39 +01:00
marcello33
422122815c
add: deps 2024-11-08 18:16:23 +01:00
marcello33
8c960fd08a
Merge branch 'develop' of https://github.com/maticnetwork/bor into bor-grpc 2024-11-08 18:13:04 +01:00
marcello33
e21905701d
chg: sort imports 2024-11-08 17:46:55 +01:00
marcello33
10f5303fac
chg: remove redundant logs 2024-11-08 17:37:48 +01:00
marcello33
af939db84b
chg: logs 2024-11-08 16:22:50 +01:00
marcello33
af5c3275b2
chg: fix functions' names 2024-11-08 12:05:03 +01:00
marcello33
5d0d4fbbc5
chg: register reflection for grpc server 2024-11-08 11:31:11 +01:00
marcello33
7b4666df92
add: logs 2024-11-07 14:14:19 +01:00
Jerry
ab66e61737
Fix getBlockTransactionCountByNumber/Hash (#1365) 2024-10-29 11:45:56 -07:00
Jerry
19ab4720ae Add flag discovery.dns 2024-10-15 11:04:42 -07:00
Jerry
57a7f7fd6f Fix eth_getTransactionReceipt 2024-10-15 11:04:42 -07:00
Jerry
3b9f73ab69
Fix bor tx missing 2024-10-09 09:36:06 -07:00
Jerry
a7578a3cea Fix panic on getting safe block
Since bor doesn't have "safe" block, the api should always return null when requested safe block.
2024-10-09 07:59:21 -07:00
marcello33
63dd8d6315
fix: lint 2024-10-07 07:50:23 +02:00
marcello33
8185d48f71
internal/cli: add: prometheus sever timeouts 2024-10-07 07:40:19 +02:00
Jerry
af5c2b1cad
Merge remote-tracking branch 'upstream/master' into develop 2024-10-01 11:59:32 -07:00
Sina M
40fd887df6
internal/ethapi: remove td field from block (#30386)
implement https://github.com/ethereum/execution-apis/pull/570
2024-10-01 11:36:56 +02:00
Sina M
f2e13c7e33
internal/ethapi: fix gascap 0 for eth_simulateV1 (#30496)
Similar to #30474.
2024-09-24 13:14:38 +02:00
jwasinger
564b616163
internal/ethapi/api: for simulated calls, set gaspool to max value if global gascap is 0 (#30474)
In #27720, we introduced RPC global gas cap. A value of `0` means an unlimited gas cap. However, this was not the case for simulated calls. This PR fixes the behaviour.
2024-09-23 13:31:56 +02:00
Håvard Anda Estensen
4c4f21293e
internal: run tests in parallel (#30381)
Continuation of https://github.com/ethereum/go-ethereum/pull/28546
2024-09-16 08:44:47 +02:00
Pratik Patil
95c051215d
AMOY SPECIFIC (updated WMATIC code) 2024-09-13 21:07:37 +05:30
Pratik Patil
625e943fab
added Ahmedabad HF related configs and block number for mainnet 2024-09-13 10:16:40 +05:30
marcello33
8c14f12d68
chg: solve conflicts 2024-09-10 15:32:42 +02:00
Sina M
8f4fac7b86
internal/ethapi: eth_multicall (#27720)
This is a successor PR to #25743. This PR is based on a new iteration of
the spec: https://github.com/ethereum/execution-apis/pull/484.

`eth_multicall` takes in a list of blocks, each optionally overriding
fields like number, timestamp, etc. of a base block. Each block can
include calls. At each block users can override the state. There are
extra features, such as:

- Include ether transfers as part of the logs
- Overriding precompile codes with evm bytecode
- Redirecting accounts to another address

## Breaking changes

This PR includes the following breaking changes:

- Block override fields of eth_call and debug_traceCall have had the
following fields renamed
  - `coinbase` -> `feeRecipient`
  - `random` -> `prevRandao`
  - `baseFee` -> `baseFeePerGas`

---------

Co-authored-by: Gary Rong <garyrong0905@gmail.com>
Co-authored-by: Martin Holst Swende <martin@swende.se>
2024-09-06 11:31:00 +02:00
Pratik Patil
79fd5cad70
added Ahmedabad HF related configs and block number for amoy (#1324) 2024-09-05 21:11:59 +05:30
Manav Darji
8262eae9e3
consensus/bor: use CallWithState to fetch last state id (#1323)
* consensus/bor: use CallWithState to fetch last state id

* fix
2024-09-05 21:11:44 +05:30
anshalshukla
a66305dae3
fix: lint, add: milestone related tests in downloader 2024-09-05 14:03:10 +05:30
Marius van der Wijden
b0b67be0a2
all: remove forkchoicer and reorgNeeded (#29179)
This PR changes how sidechains are handled. 

Before the merge, it was possible to import a chain with lower td and not set it as canonical. After the merge, we expect every chain that we get via InsertChain to be canonical. Non-canonical blocks can still be inserted
with InsertBlockWIthoutSetHead.

If during the InsertChain, the existing chain is not canonical anymore, we mark it as a sidechain and send the SideChainEvents normally.
2024-09-04 15:03:06 +02:00
lightclient
dfd33c7792
all: implement EIP-6110, execution layer triggered deposits (#29431)
This PR implements EIP-6110: Supply validator deposits on chain. It also sketches
out the base for Prague in the engine API types.
2024-09-04 14:33:51 +02:00
anshalshukla
3cb949f674
fix: avoid capping warnings for gas set by internal system transactions 2024-09-04 13:12:14 +05:30
anshalshukla
693d8aebcd
skip: testcase 2024-09-04 10:52:11 +05:30
anshalshukla
43043ed7ec
fix: few linting errors 2024-09-02 11:00:33 +05:30
anshalshukla
c0c129859d
fix: testcases 2024-09-01 15:19:05 +05:30
Manav Darji
1a98c5cba2
internal/ethapi/testdata: add note 2024-09-01 14:27:07 +05:30
Manav Darji
20b83d1dc1
internal/ethapi/testdata: revert genesis hash 2024-09-01 14:23:20 +05:30
anshalshukla
fc30355849
fix: TestRPCGetTransactionReceiptsByBlock 2024-09-01 13:36:21 +05:30
anshalshukla
02faed0a32
fix:testcases 2024-08-31 16:15:31 +05:30
Manav Darji
1d86ab346d
internal/cli: skip tests due to dev mode not working 2024-08-31 15:39:36 +05:30
anshalshukla
3c48fca257
fix: testcases 2024-08-27 00:51:36 +05:30
stevemilk
3c37db7989
all: clean up goerli flag and config (#30289)
Co-authored-by: lightclient <lightclient@protonmail.com>
2024-08-20 15:59:48 +02:00
Martin HS
d0fd1331f1
all: update to go version 1.23.0 (#30323)
This PR updates the version of go used in builds and docker to
1.23.0. Release notes: https://go.dev/doc/go1.23

More importantly, following our policy of maintaining the last two
versions (which now becomes 1.23 and 1.22), we can now make use of
the things that were introduced in 1.22: https://go.dev/doc/go1.22

Go 1.22 makes two changes to “for” loops.
- each iteration creates new variables, 
- for loops may range over integers

Other than that, some interesting library changes and other stuff.
2024-08-20 15:50:07 +02:00
Martin HS
60db6a7b42
internal/build: include git-date on detached head (#30320)
When we are building in detached head, we cannot easily obtain the same information as we can if we're in non-detached head.

However, one thing we _can_ obtain is the git-hash and git-date. Currently, we omit to include the git-date into the build-info, which causes problem for reproducable builds which are on a detached head.

This change fixes it to include the date-info always.
2024-08-19 13:35:04 +02:00
Marcello Ardizzone
aa54ff55a8
internal/debug: remove memsize to fix docker (#1308)
* chg: remove memsize

* chg: fix lint
2024-08-16 10:50:00 +02:00
anshalshukla
b1419eb41d
fix: testcases 2024-08-13 16:46:46 +05:30
anshalshukla
4a9a875738
merge: master 2024-08-13 11:48:57 +05:30
anshalshukla
5cda3fe0f0
fix: testcases 2024-08-13 11:39:52 +05:30
anshalshukla
e6132fdf1e
fix: testcases 2024-08-09 11:59:34 +05:30
Anshal Shukla
dbf55ce6cc
Merge tag 'v1.14.6' into upstream_merge_1.14.6 2024-08-05 16:29:10 +05:30
Felix Lange
e4675771ed
internal/debug: remove memsize (#30253)
Removing because memsize will very likely be broken by Go 1.23. See
https://github.com/fjl/memsize/issues/4
2024-08-02 06:44:03 +02:00
Pratik Patil
6939df80da
replaced 4337 with PIP-15 2024-07-30 10:00:12 +05:30
lightclient
f94baab238
internal/ethapi: fix state override test (#30228)
Looks like #30094 became a bit stale after #30185 was merged and now we
have a stale ref to a state override object causing CI to fail on
master.
2024-07-26 11:02:37 +08:00
caseylove
ac0f220040
eth/tracers, internal/ethapi: remove unnecessary map pointer in state override (#30094) 2024-07-25 01:01:59 +02:00
Manav Darji
dce4253605
PIP-35: enforce gas related configs for mainnet (#1290)
* enforce gas configs for all networks

* eth/gasprice: remove else if for log

* docs/cli: update example config

* fix tests

* internal/cli/server: fix tests

* miner: fix tests
2024-07-23 19:32:48 +05:30
rjl493456442
766ce23032
core/state: fix SetStorage override behavior (#30185)
This pull request fixes the broken feature where the entire storage set is overridden.

Originally, the storage set override was achieved by marking the associated account
as deleted, preventing access to the storage slot on disk. However, since #29520, this
flag is also checked when accessing the account, rendering the account unreachable.

A fix has been applied in this pull request, which re-creates a new state object with all
account metadata inherited.
2024-07-23 14:54:35 +02:00
Manav Darji
1a05223076
PIP-35 for amoy: enforce gas related configs (#1285)
* enforce gas related configs for amoy

* internal/cli/server: revert changes to default config.toml for test

* eth: check nil genesis for tests
2024-07-11 11:05:12 +05:30
Anshal Shukla
f4c41e2e70
Merge branch 'release/1.13' into upstream_merge_1.13 2024-07-10 11:19:34 +05:30
jwasinger
41abab9e39
build: add check for stale generated files (#30037)
Co-authored-by: Felix Lange <fjl@twurst.com>
2024-07-01 17:16:15 +02:00
Anshal Shukla
48c1d57e73
save 2024-06-29 09:09:20 +05:30
Anshal Shukla
14764d13c5
save 2024-06-29 09:06:21 +05:30
AMIR
73f7e7c087
internal/debug: remove unnecessary log level assignment (#30044)
Log level is specified in L259 so it's unnecessary to specify it for handlers (L234, L236).
2024-06-25 11:30:58 +02:00
Anshal Shukla
91cd4a8c8b
add api calls to bor grpc 2024-06-21 17:45:05 +05:30
Ha DANG
67a862db9d
cmd/geth, ethdb/pebble: improve database statistic (#29948)
* cmd/geth, ethdb/pebble: polish method naming and code comment

* implement db stat for pebble

* cmd, core, ethdb, internal, trie: remove db property selector

* cmd, core, ethdb: fix function description

---------

Co-authored-by: prpeh <prpeh@proton.me>
Co-authored-by: Gary Rong <garyrong0905@gmail.com>
2024-06-19 14:47:17 +08:00
Manav Darji
9c2d462e21
internal/cli: check for delete permissions before starting to prune (#1269) 2024-06-18 14:43:29 +05:30
Pratik Patil
bd5d54e9fe
Merge pull request #1267 from maticnetwork/psp-p2p-upstream
p2p: cherry-pick commits from geth for peering issues
2024-06-13 13:00:54 +05:30
Marcello Ardizzone
d67620c8f4
core, eth, internal, miner, params: enforce 30gwei for gas related configs in bor (#1264)
* add: enforce 30gwei for gas related configs in bor

* chg: fix lint
2024-06-12 14:41:25 +05:30
Felix Lange
1e97148249
all: fix inconsistent receiver name and add lint rule for it (#29974)
* .golangci.yml: enable check for consistent receiver name

* beacon/light/sync: fix receiver name

* core/txpool/blobpool: fix receiver name

* core/types: fix receiver name

* internal/ethapi: use consistent receiver name 'api' for handler object

* signer/core/apitypes: fix receiver name

* signer/core: use consistent receiver name 'api' for handler object

* log: fix receiver name
2024-06-12 10:45:42 +03:00
Felix Lange
1351a54287
p2p/discover: improved node revalidation (#29572)
Node discovery periodically revalidates the nodes in its table by sending PING, checking
if they are still alive. I recently noticed some issues with the implementation of this
process, which can cause strange results such as nodes dropping unexpectedly, certain
nodes not getting revalidated often enough, and bad results being returned to incoming
FINDNODE queries.

In this change, the revalidation process is improved with the following logic:

- We maintain two 'revalidation lists' containing the table nodes, named 'fast' and 'slow'.
- The process chooses random nodes from each list on a randomized interval, the interval being
  faster for the 'fast' list, and performs revalidation for the chosen node.
- Whenever a node is newly inserted into the table, it goes into the 'fast' list.
  Once validation passes, it transfers to the 'slow' list. If a request fails, or the
  node changes endpoint, it transfers back into 'fast'.
- livenessChecks is incremented by one for successful checks. Unlike the old implementation,
  we will not drop the node on the first failing check. We instead quickly decay the
  livenessChecks give it another chance.
- Order of nodes in bucket doesn't matter anymore.

I am also adding a debug API endpoint to dump the node table content.

Co-authored-by: Martin HS <martin@swende.se>
2024-06-11 13:53:35 +05:30
Anshal Shukla
e28c2036fc
remove additional bootnodes (#1255) 2024-06-06 23:13:43 +05:30
SangIlMo
682ae838b2
internal/ethapi: recap higher args.Gas with block GasLimit in DoEstimateGas (#29738)
* internal/ethapi: recap higher args.Gas with block GasLimit in DoEstimateGas

* internal/ethapi: fix gas estimator capping code

* internal/ethapi: fix test

* fix goimports lint (remove space)

---------

Co-authored-by: Péter Szilágyi <peterke@gmail.com>
2024-06-04 10:59:41 +03:00
Pratik Patil
f25b6efad2
Merge branch 'develop' of https://github.com/maticnetwork/bor into upstream_merge 2024-05-28 22:24:54 +05:30
Manav Darji
e789b4e312
eth/internal: add debug.peerStats for stats related to all connected peers (#1252)
* implement debug.peerStats for stats related to all connected peers

* add identifier for ipc

* display block number in peer stats

* eth/downloader: log error while terminating sync
2024-05-28 17:51:00 +05:30
Pratik Patil
6a5c55266e
Merge branch 'develop' of https://github.com/maticnetwork/bor into upstream_merge 2024-05-28 17:20:23 +05:30
Pratik Patil
052405b03e
Revert "Merge upstream_merge branch to develop (#1229)"
This reverts commit 7e2be02c26.
2024-05-28 14:10:49 +05:30
Mobin Mohanan
7224576fba
core, eth/protocols/snap, internal/ethapi: remove redundant types (#29841) 2024-05-27 14:39:39 +08:00
Pratik Patil
4170c2756a
Merge pull request #1250 from maticnetwork/psp-master
Backmerge Master to develop after 1.3.2 release
2024-05-27 11:38:44 +05:30
Felix Lange
6a9158bb1b
p2p/discover: improved node revalidation (#29572)
Node discovery periodically revalidates the nodes in its table by sending PING, checking
if they are still alive. I recently noticed some issues with the implementation of this
process, which can cause strange results such as nodes dropping unexpectedly, certain
nodes not getting revalidated often enough, and bad results being returned to incoming
FINDNODE queries.

In this change, the revalidation process is improved with the following logic:

- We maintain two 'revalidation lists' containing the table nodes, named 'fast' and 'slow'.
- The process chooses random nodes from each list on a randomized interval, the interval being
  faster for the 'fast' list, and performs revalidation for the chosen node.
- Whenever a node is newly inserted into the table, it goes into the 'fast' list.
  Once validation passes, it transfers to the 'slow' list. If a request fails, or the
  node changes endpoint, it transfers back into 'fast'.
- livenessChecks is incremented by one for successful checks. Unlike the old implementation,
  we will not drop the node on the first failing check. We instead quickly decay the
  livenessChecks give it another chance.
- Order of nodes in bucket doesn't matter anymore.

I am also adding a debug API endpoint to dump the node table content.

Co-authored-by: Martin HS <martin@swende.se>
2024-05-23 14:26:09 +02:00
Karl Bartel
0d4cdb3dbe
internal/ethapi: fix typos (#29784)
Fix typos in api.go
2024-05-23 10:41:51 +02:00
Manav Darji
d95c05b98a
Enable ancient block pruning (#1216)
* core/state: typo

Signed-off-by: Delweng <delweng@gmail.com>

* core/rawdb: backport from https://github.com/bnb-chain/bsc/pull/543

Signed-off-by: Delweng <delweng@gmail.com>

* eth,ethdb,node,core/state: backport from https://github.com/bnb-chain/bsc/pull/543

Signed-off-by: Delweng <delweng@gmail.com>

* eth,core: backport from https://github.com/bnb-chain/bsc/pull/543

Signed-off-by: Delweng <delweng@gmail.com>

* cmd: open db with freeze disabled

Signed-off-by: Delweng <delweng@gmail.com>

* cli: snapshot prune-block

Signed-off-by: Delweng <delweng@gmail.com>

* fix typo

Signed-off-by: Delweng <delweng@gmail.com>

* cli/snapshot: fix the issue of dup open db error

Signed-off-by: Delweng <delweng@gmail.com>

* cli/snapshot: resolve datadir and ancient before backup

Signed-off-by: Delweng <delweng@gmail.com>

* core: more prune-block log

Signed-off-by: Delweng <delweng@gmail.com>

* core: truncatetail missing f.offset

Signed-off-by: Delweng <delweng@gmail.com>

* core/rawdb: indextx adjust offset of pruned block

Signed-off-by: Delweng <delweng@gmail.com>

* core/rawdb: freezer batch should implement the offset commit, ref https://github.com/bnb-chain/bsc/pull/1005

Signed-off-by: Delweng <delweng@gmail.com>

* core: check of ancientdb, backport https://github.com/bnb-chain/bsc/pull/817

Signed-off-by: Delweng <delweng@gmail.com>

* core/state: read raw borReceipt to backup

Signed-off-by: Delweng <delweng@gmail.com>

* core/rawdb: bor receipt maybe in []Receipt or Receipt RLP format

Signed-off-by: Delweng <delweng@gmail.com>

* core/state: typo and error msg

Signed-off-by: Delweng <delweng@gmail.com>

* core/rawdb: offSet -> offset

Signed-off-by: Delweng <delweng@gmail.com>

* cli/snapshot: comment

Signed-off-by: Delweng <delweng@gmail.com>

* cli/snapshot: add prune-block doc

Signed-off-by: Delweng <delweng@gmail.com>

* docs: add prune-block document

Signed-off-by: Delweng <delweng@gmail.com>

* core/rawdb: print wrong bor-receipt length

Signed-off-by: Delweng <delweng@gmail.com>

* internal/cli: add snapshot prune block tests (referenced from bsc's PR)

* improve errors

* cmd, core, eth, internal: fix lint

* internal/cli: refactor snapshot prune block test

* fix linters in tests

* internal/cli: add inspect-ancient-db command, update docs

* pruner: use a generic function for simplification

* internal/cli: fixes for inspect-db command

* internal/cli: improve pruning tests

* core/rawdb: update end block calculation logic in inspect command

* core/rawdb: improve checks db initialisation

* core/rawdb: remove offset check

* update mocks for span, ethdb and add command in makefile

* docs/cli: update docs with inspect command

* go mod tidy

* refactor and resolve conflicts

* resolve more conflicts

* refactor

* explicitly read node for hash scheme

* add check for hash scheme, fix tests

* fix typo

* update docs and add warning

* raise error if pbss is enabled

* revert read raw bor receipt change

* consensus/bor: handle nil header case in get root hash

* address comments

* core/rawdb: check chain continuity by matching parent hash

* core/rawdb: account for pruned ancient blocks

* go mod tidy

* fix tests

* fix tests

---------

Signed-off-by: Delweng <delweng@gmail.com>
Co-authored-by: Delweng <delweng@gmail.com>
2024-05-09 11:19:34 +05:30
Anshal Shukla
7c729f542b
Fix state sync hash (#1207)
* fix: hashing of statesync txn

* add: state sync txn in getBlockReceipts, testcase to check hashing of state sync txn in GetTransactonReceiptsByBlock
2024-05-06 20:04:02 +05:30
Anshal Shukla
f2a892c515
fix: lint 2024-05-06 16:10:32 +05:30
Anshal Shukla
9e07678b45
Merge branch 'develop' into merge-master 2024-05-06 11:26:23 +05:30
lightclient
2e8e35f2ad
all: refactor so NewBlock, WithBody take types.Body (#29482)
* all: refactor so NewBlock(..) and WithBody(..) take a types.Body

* core: fixup comments, remove txs != receipts panic

* core/types: add empty withdrawls to body if len == 0
2024-04-30 14:55:08 +02:00
Martin HS
5e07054589
internal/ethapi: listen to ctx cancellation in access list (#29686) 2024-04-30 14:48:54 +02:00