Commit Graph

4840 Commits

Author SHA1 Message Date
Giulio rebuffo
ec8cdd4701
Refactore fork choice to RR approach (#7359) 2023-04-20 22:47:58 +02:00
Jason Yellick
7f31b047f1
Fix eth_getProof element order (#7351)
According to EIP-1186 the `proof` parts of the response to eth_getProof
should be returned "starting with the stateRoot-Node, following the path
of the SHA3 (address) as key." Currently, the proof is returned in
traversal order, rather than from the root.

Although all of the proof elements are there and correct, this is
contrary to the EIP and will cause problems for some clients. The
existing rpc test uses a map to lookup proof elements by hash, rather
than by index, so this bug was not initially caught.

This commit fixes the behavior, updates the existing test, and adds
additional checks to the rpc test.

Co-authored-by: Jason Yellick <jason@enya.ai>
2023-04-20 10:06:19 +07:00
Giulio rebuffo
f8f1658f8d
added deep copy to BeaconState copy (#7352)
Before caches were recomputed, now caches are not recomputed anymore for
BeaconStates internals
2023-04-19 22:56:24 +02:00
Giulio rebuffo
2ce5e761bb
added --internalcl flag to Erigon (#7349) 2023-04-19 14:37:35 +02:00
Alex Sharov
b23a0267d3
e3: deadlock fix part2 (#7344) 2023-04-19 08:12:13 +00:00
mars
bcfaa84b35
add api debug_getRawHeader debug_getRawBlock (#7333)
Add  json rpc api :
debug_getRawHeader
debug_getRawBlock 

doc:
 https://ethereum.github.io/execution-apis/api-documentation/
2023-04-19 08:05:45 +00:00
Alex Sharov
695b9f887b
e3: close input chan in the end of rwloop (to fix deadlock) (#7342) 2023-04-19 07:26:22 +00:00
Alex Sharov
a5b9f2d774
e3: close input chan when no work left (#7340) 2023-04-19 04:47:53 +00:00
Krishna Upadhyaya
283bd9bbef
Fix nullnull issue (#7334)
https://github.com/ledgerwatch/erigon/issues/7248
2023-04-19 01:47:19 +00:00
alex.sharov
31e5036985 save 2023-04-18 08:26:55 +07:00
Giulio rebuffo
515aedda7b
Added Caplin Phase 1 (#7290)
* Introduces full beacon validation
* Removes light client
* NOTE: slow on purpose, I want everything to be BLS verified for now.
2023-04-17 18:06:50 +00:00
Alex Sharov
69a3396433
add flag --db.size.limit (#7325) 2023-04-17 12:48:57 +00:00
Alex Sharov
6d5a16a4ab
e3: fix exec tx nil (#7322) 2023-04-17 06:42:37 +00:00
Andrew Ashikhmin
9b81302d9d
Embed AuRa config into chain Config (#7307)
Prerequisite: https://github.com/ledgerwatch/erigon-lib/pull/970
2023-04-14 07:51:25 +00:00
Andrew Ashikhmin
96bb5d544b
Remove Parlia (#7306)
Pre-requisite: https://github.com/ledgerwatch/erigon-lib/pull/969
2023-04-14 06:24:10 +00:00
sudeep
74ca124a62
Shanghai update for evm tool (#7304) 2023-04-13 14:55:51 +00:00
Andrew Ashikhmin
02f6cac7b7
Move hexutil.Bytes to erigon-lib (#7305) 2023-04-13 11:19:02 +00:00
racytech
47fd86e4fb
eip-4844: assigned value to excessDataGas, unused packages removed (#7289)
`excessDataGas` has been partially made eip-4844 ready, so instead of
passing nils to functions, now it actually assigned to some value (it is
expected to be nil until cancun update).
2023-04-12 05:45:44 +00:00
a
fc7f5e1693
fix nil ptr on polygon trace methods (#7265)
when assigning default bor parameters, need to make sure config exists
first. since not sending the config will result in it being nil, not the
empty struct.
2023-04-10 07:00:36 +00:00
alex.sharov
6e57f3ef92 e3: less conlicts 2023-04-10 09:38:08 +07:00
Alex Sharov
895e61d1ab
e3: merge out chan+heap to one class (#7287) 2023-04-10 02:33:20 +00:00
Russel Waters
e56793d5ea
txpool: update cli flags (#7282)
it would appear that an extra `e` was added somewhere along the way to
the cli flags for txpool. If this was intentional I was curious as to
why, otherwise it seems like fixing the flag would remedy some
confusion. Thank you

Upon further investigation it would appear
https://github.com/ledgerwatch/erigon/blob/devel/cmd/utils/flags.go#L173
shows corrected spelling.
2023-04-08 06:52:04 +00:00
Giulio rebuffo
c1cf58ef93
Added forkchoice rule (#7281)
Added fork choice rule to Erigon-CL
2023-04-08 01:01:10 +00:00
ledgerwatch
9690228ede
[Diagnostics] Simplify logging settings, introduce correct log rotation with lumberjack (#7273)
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2023-04-07 21:08:44 +00:00
Alex Sharov
e26c607922
e3: combine input tasks channel+heap to class PriorityQueueWithRetry and add docs (#7275) 2023-04-07 06:43:05 +00:00
Alex Sharov
9b5d7357dd
e3: remove sync.Cond and make ownership of first queue clearer (producer will close it). (#7268)
Separate: 
- new tasks coming by channel with limited capacity (touching the limit
will block - like sync.Cond.Wait() does, but composable). as a result -
don't need track queue size (it will not increase conflict-rate).
- re-exec tasks are going to priority-queue (which is also higher
priority than 1-st `chan`).
2023-04-06 09:03:54 +00:00
Andrew Ashikhmin
762b63eb14
More logging for block build requests (#7264) 2023-04-05 15:30:45 +00:00
Jason Yellick
80530e10a9
Add storage proof support to eth_getProof (#7202)
This PR completes the implementation of `eth_getProof` by adding support
for storage proofs.

Because storage proofs are potentially overlapping, the existing
strategy of simply aggregating all proofs together into a single result
was challenging. Instead, this commit rewires things to introduce a
ProofRetainer, which aggregates proofs and their corresponding nibble
encoded paths in the trie. Once all of the proofs have been aggregated,
the caller requests the proof result, which then iterates over the
aggregated proofs, placing each into the relevant proof array into the
result.

Although there are tests for `eth_getProof` as an RPC and for the new
`ProofRetainer` code, the code coverage for the proof generation over
complex tries is lacking. But, since this is not a new problem I'll plan
to follow up this PR with an additional one adding more coverage into
`turbo/trie`.

---------

Co-authored-by: Jason Yellick <jason@enya.ai>
2023-04-05 03:01:31 +00:00
alex.sharov
2515b9c069 evm use shared db 2023-04-04 11:32:40 +07:00
alex.sharov
634f07ddd5 save 2023-04-04 11:32:12 +07:00
Alex Sharov
6339a3c9d1
remove lru package alias (#7251) 2023-04-04 04:02:23 +00:00
Alex Sharov
a42d362cbd
move aura epoch data from chainDB to auraDB. remove epochReader parameter from consensus interface (#7250) 2023-04-04 03:30:07 +00:00
ledgerwatch
7258a2b872
Remove BSC support in Erigon (step 1) (#7246)
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2023-04-03 14:46:21 +00:00
racytech
d67087f7fd
eip-4844: ApplyTransaction now expects excessDataGas (#7233)
Tiny addition to ApplyTransaction. Now it expects excessDataGas param so
the BlockContext can be created with it
2023-04-03 14:30:28 +00:00
Alex Sharov
77fcc58400
grafana remove datasource uid (#7247) 2023-04-03 11:59:41 +00:00
Alex Sharov
65fcec8d85
e3: replace sync.Cond to fix deadlock (#7243) 2023-04-03 11:33:43 +00:00
Alex Sharov
06da707d58
e3: add metric for repeat count (#7239) 2023-04-03 04:34:45 +00:00
Alex Sharov
d3cc1e152c
switch to lruv2 (#7238) 2023-04-03 03:19:30 +00:00
Lawrence Aiello
64bdd13276
chore: update outdated grafana panels (#7232)
## Changelog

Fixed the following Grafana panels:
* DB Size
* GC and State
* DB Pages Ops/sec
* Commit Counters
* Getrusage
* Latest Block

Also partially fixes https://github.com/ledgerwatch/erigon/issues/7226
2023-04-03 02:38:05 +00:00
Alex Sharov
a8e8bf4528
remove simd lib, because it doesn't work with ghcr.io/goreleaser/goreleaser-cross (which producing release binaries) (#7229)
@shyba hi, seems this lib doesn't work with
ghcr.io/goreleaser/goreleaser-cross (which producing release binaries)
removing it for now, feel free to add it in future - if can make it work
with goreleaser-cross
see: https://github.com/ledgerwatch/erigon/issues/7210
2023-03-31 05:07:43 +00:00
Jochen Müller
97eccd913c
Some additions to the devnet tool (#7225)
- Fix tx numbers expected
- Check for baseFee subpool size too
- Fix tx counting
- Wait for blocks in baseFee subpool to be promoted and mined
- Add BlockNumber request
2023-03-30 21:49:28 +00:00
ledgerwatch
fac796d921
Diagnostics - step 2 (#7214)
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2023-03-30 20:59:03 +00:00
racytech
04b57904b0
eip-4844: excessDataGas param added to block execution functions (#7217)
Small addition to block execution functions. Now they expect
excessDataGas param so the BlockContext can be created with it.
2023-03-30 20:42:43 +00:00
alex.sharov
d9f8cc25d3 close memdb in ./cmd/evm 2023-03-30 12:21:22 +07:00
ledgerwatch
8bb83fe770
Skip test in fork_graph_test.go (#7216) 2023-03-29 20:35:21 +00:00
Giulio rebuffo
2f482b8789
Fork-choice graph oriented implementation (#7212) 2023-03-29 16:16:45 +00:00
Alex Sharov
592ec1ee0d
e4: step 1 to run tests (#7209) 2023-03-29 14:01:27 +00:00
Alex Sharov
417a437584
Break dependency of ethcfg package to core/consensus/etc... move genesis struct to 'types' package (#7206) 2023-03-29 07:27:06 +00:00
racytech
975e38a800
eip-4844: NewEVMBlockContext now expects excessDataGas (#7203)
Small change in core.NewEVMBlockContext and now it expects
excessDataGas. This will be used in state transition to compute data fee
for eip-4844 data blobs. The logic that computes it will be added in the
next PRs.
2023-03-29 06:39:36 +00:00
Andrew Ashikhmin
b85d22b46d
log BLS verification failure (#7196) 2023-03-28 11:34:25 +00:00
Giulio rebuffo
ab3a1d2ce5
Remove propagation of lightclient updates (#7192) 2023-03-27 22:42:40 +00:00
racytech
70bc7f7a25
eip-4844: small additions and modified gaspool (#7190)
This PR contains very small EIP-4844 additions. GasPool is modified and
now it is a struct with 2 fields "gas" and "dataGas" (blobs are priced
in dataGas). ExcessDataGas block header field added. ExcessDataGas
needed to compute the data gas price. EIP-4844 helper functions are
added as well.
2023-03-27 21:39:15 +00:00
Giulio rebuffo
540af96ef7
removed --el.enabled (#7187) 2023-03-27 10:12:31 +00:00
Giulio rebuffo
628f52dd6c
Added reverse beacon changeset for beacon state rewind (#7185)
Added changesets for beacon chain to implement memory efficient fork
choice
2023-03-26 22:25:08 +00:00
alex.sharov
5ddb86d5fd clean 2023-03-26 11:13:30 +07:00
alex.sharov
19cf48affb prevent infinity unwind when no --unwind.every flag set 2023-03-26 10:52:31 +07:00
alex.sharov
3913a99341 integration temporal db 2023-03-26 10:36:23 +07:00
Alex Sharov
cff73b8aec
add constant kv.Unlim=-1 (#7183) 2023-03-26 03:18:04 +00:00
Alex Sharov
201572c6f5
enable more linters #954 (#7179) 2023-03-25 05:13:27 +00:00
Alex Sharov
7a51a29991
e3: DomainGetAsOf, DomainRange (#7177) 2023-03-25 03:51:43 +00:00
Max Revitt
bedc3548bb
fix(release): http-https redirect working (#7176) 2023-03-25 03:37:58 +00:00
Giulio rebuffo
25999def30
Fixed storage for download (#7175) 2023-03-24 14:11:24 +00:00
a
d3c790c166
add eth_getFilterLogs to docs (#7171)
add eth_getFilterLogs to docs
2023-03-24 04:03:01 +00:00
alex.sharov
89571074c1 panic in trace_adhoc 2023-03-24 10:10:41 +07:00
Alex Sharov
9001f668a7
go 1.19 atomics (#7164) 2023-03-23 05:11:28 +00:00
alex.sharov
b9b0950c70 test simplify 2023-03-23 10:31:43 +07:00
Jason Yellick
a09541c82c
Add eth_getProof support for historical blocks (#7115)
This PR starts with a few small commits of code cleanup. Reviewed
separately they should hopefully obviously be functionally no-ops. I'm
happy to strip these out and submit them separately if desired.

The final commit is to add support for older blocks as a parameter to
eth_getProof. In order to compute proofs, the function leverages the
staged sync unwinding code to bring the hashed state table back to its
historic state, as well as to build a list of trie nodes which need to
be invalidated/re-computed in the trie computation. Because these
operations could be expensive for very old blocks, it limits the
distance proofs are allowed from the head. It also adds some additional
checks for correctness, as well as tests which verify the
implementation.

This was discussed a bit on Discord in the db-format topic.

---------

Co-authored-by: Jason Yellick <jason@enya.ai>
2023-03-23 03:22:33 +00:00
Alex Sharov
af4d2c22a9
--txpool.commit.every panic handling (#7163) 2023-03-23 03:18:36 +00:00
Alex Sharov
223fcd178c
e3: domain range api simplify (#7158) 2023-03-22 07:36:03 +00:00
Alex Sharov
753a680cbd
e3: union limit (#7156) 2023-03-22 06:38:04 +00:00
Alex Sharov
28c1b1d50d
e4: to use serializev3 (#7154) 2023-03-22 04:53:49 +00:00
Temirlan
4e5dce1365
add flag txpool.commit_every (#7062)
Adds flag _--txpool.commit_every_ to control how often transactions
should be committed to the storage

[Related Issue](https://github.com/ledgerwatch/erigon/issues/7002)
2023-03-22 03:53:47 +00:00
Andrew Ashikhmin
56a3844656
Drop Default from GenesisBlock* functions (#7147)
Small cosmetic changes and clean-ups
2023-03-20 15:44:22 +00:00
Giulio rebuffo
97e17678ca
fixed fork consensus spec test (#7143) 2023-03-20 15:25:52 +00:00
Giulio rebuffo
6005bdd8b2
removed stream handler (#7142) 2023-03-19 23:15:34 +00:00
Giulio rebuffo
fb00d714b5
added tests for ssz_static in consensus tests and fixed beacon blocks encoding (#7141) 2023-03-19 22:47:27 +00:00
Giulio rebuffo
b129a9415e
Update go deps (#7138) 2023-03-19 20:13:53 +00:00
Giulio rebuffo
fc10aef874
removed database functionality from lightclient (#7135) 2023-03-18 20:27:37 +00:00
Giulio rebuffo
35a0ba571d
Banning peers sending bad gossip (#7134) 2023-03-18 19:45:53 +00:00
Giulio rebuffo
77a8cf9d5b
refactored sentinel gossip and only connect to nimbus now (#7127) 2023-03-17 21:51:19 +00:00
Giulio rebuffo
36828fbb08
Added tool for processing for all mainnet beacon blocks (#7095) 2023-03-17 12:37:51 +00:00
alex.sharov
e4b2072a16 --rpc.returndata.limit 2023-03-17 11:21:14 +07:00
Max Revitt
82217f5411
fix(release): download page https redirect (#7120)
Updated initial traefik config so the http -> https redirect on
download.erigon.sh will work.
2023-03-17 03:29:09 +00:00
awskii
7cee93aa10
E4 metrics upd (#7122) 2023-03-17 00:38:38 +00:00
Max Revitt
87c958b5c1
fix(release): run download page update separately (#7112)
Checksum not working as the file isn't available in the assets when run
in the same job.
2023-03-16 03:40:42 +00:00
Alex Sharov
157a380be7
e3: history no auto-increment (#7097) 2023-03-15 08:03:57 +00:00
hexoscott
4f91dff773
fix for reading yaml/toml config in cmd/integration (#7101) 2023-03-14 08:33:59 +00:00
Victor Shyba
158fb2b606
Optimize memory buffer, simplify set32, use sha256-simd (#7060)
Hi,

I'm syncing Gnosis on a Celeron N5100 to get familiar with the codebase.
In the process I managed to optimize some things from profiling.
Since I'm not yet on the project Discord, I decided to open this PR as a
suggestion. This pass all tests here and gave me a nice boost for that
platform, although I didn't have time to benchmark it yet.

* reuse VM Memory objects with sync.Pool. It starts with 4k as `evmone`
[code
suggested](0897edb001/lib/evmone/execution_state.hpp (L49))
as a good value.
* set32 simplification: mostly cosmetic
* sha256-simd: Celeron has SHA instructions. We should probably do the
same for torrent later, but this already helped as it is very CPU bound
on such a low end processor. Maybe that helps ARM as well.
2023-03-14 07:17:04 +00:00
hexoscott
efd541028c
read metrics config from yaml file (#7089) 2023-03-14 00:07:05 +00:00
Jason Yellick
b21569ccc5
Backfill eth getproof tests (#7092)
This PR adds missing tests for eth_getProof and does some mild
refactoring with switching from strings to more strict types. It's
likely best/most easily reviewed commit by commit.

Note, the tests include quite a number of helper types and functions for
doing the proof validation. This is largely because unlike Geth,
Erigon's approach to trie computations only requires serializing the
trie nodes, not deserializing them. Consequently, it wasn't obvious how
to leverage the existing trie code for doing deserialization and proof
checks. I checked on Discord, but, there were no suggestions. Of course,
any feedback is welcome and I'd be happy to remove this code if it can
be avoided.

Additionally, I've opted to change the interface type for `GetProof` to
use a `common.Hash` for the storage keys instead of a `string`. I
_think_ this should be fairly safe, as until very recently it was
unimplemented. That being said, since it's an interface, it has the
potential to break other consumers, anyone who was generating mocks
against it etc. There's additionally a `GetStorageAt` that follows the
same parameter. I'd be happy to submit a PR modifying this one as well
if desired.

Also, as a small note, there is test code for checking storage proofs,
but, storage proofs aren't currently supported by the implementation. My
hope is to add storage proofs and historic proofs in a followup PR.

---------

Co-authored-by: Jason Yellick <jason@enya.ai>
2023-03-14 00:04:52 +00:00
Giulio rebuffo
bc546c72da
Added hard fork transition support to Erigon-CL. (#7088) 2023-03-13 12:10:36 +00:00
Alex Sharov
f2d99f9d85
e3: split "changed keys" iterator to simplify (#7086) 2023-03-13 08:06:50 +00:00
hexoscott
9f6b842d03
check for free messages when calling trace_transaction (#7073)
Gateway reported an issue with a trace returning an odd result, similar
to the recent problem we'd seen with gnosis. I found that
debug_traceTransaction worked fine so found where the differences were.
trace_transaction wasn't checking for service transactions so the trace
failed around fees when it shouldn't.

A number of code paths use callManyTransactions so they should all now
check for service messages where needed.
2023-03-13 07:36:40 +00:00
Alex Sharov
f432cde16b
e3: reconst: run workers in errgroup (#7071) 2023-03-13 04:04:49 +00:00
Alex Sharov
a44e0afbd6
Downloader main loop wait on close (#7082) 2023-03-13 02:12:30 +00:00
Kevin Ingersoll
ec071b4195
fix typo in eth_call error (#7084)
Spotted this typo when poking at Cloudflare's public gateway and mapped
it back here 🙈
2023-03-13 02:12:08 +00:00
Giulio rebuffo
dbf1225cb2
Added partial SSZ library (#7083)
Implements SSZ encode/decoding and hashtreeroot for simple list-lacking
data structures. does not account offset case.
2023-03-12 14:41:53 +00:00
Giulio rebuffo
9167429a75
Added phase0 support to Erigon-CL. (#7066)
Added phase 0 support.
2023-03-11 19:27:21 +00:00
awskii
a96293ae8a
e4: added some metrics to code (#7078) 2023-03-10 19:21:10 +00:00
Andrew Ashikhmin
3270720cb7
Remove ETC-specific DAOForkSupport=false functionality (#7075) 2023-03-10 12:10:11 +00:00
Alex Sharov
81c7936df4
sentry: handle "retry later" grpc stream (#6852) 2023-03-10 05:28:25 +00:00
Alex Sharov
570c3d65ab
up moq version, up some lru version (#7069) 2023-03-10 04:03:32 +00:00
awskii
36e3c94897
run E4 via integration binary (#7063)
added subcommand `state_domains` of `bin/integration` to start
processing of existing chaindata with use of state domains and
commitment.
It creates two directory in `datadir`: `state` and `statedb` for files
and mdbx respectively.

This version runs blocks one after another and produces merged files. 
Want to add some metrics to export later.
2023-03-10 03:27:12 +00:00
Giulio rebuffo
7f6d1c9575
Added SSZ support for Phase0 state. (#7065) 2023-03-09 17:34:49 +00:00
Michael Montour
d5fbc5011e
Partial EIP1186 eth_getProof implementation (#6560)
This is a partial implementation of eth_getProof (see issue #1349),
supporting only a request for the latest block and an empty list of
storage keys (i.e. Account proof only). I don't know if there's a better
way of implementing this, but this was what I could come up with.
Posting it here in case it's useful.

Example output:
```
> eth.getProof("0x67b1d87101671b127f5f8714789C7192f7ad340e", [], 'latest')
{
  accountProof: ["0xf90131a0252c9d4ed347b4cf3fdccaea3ccef0a507e6bd4dbe4dcd98609b7195347c4062a0ab8cdb808c8303bb61fb48e276217be9770fa83ecf3f90f2234d558885f5abf18080a01a697e814758281972fcd13bc9707dbcd2f195986b05463d7b78426508445a04a0b5d7a91be5ee273cce27e2ad9a160d2faadd5a6ba518d384019b68728a4f62f4a0c2c799b60a0cd6acd42c1015512872e86c186bcf196e85061e76842f3b7cf86080a0e73919d9f472eec11f6da95518503f5527a98b9428f7a02c4f55bf51854214e480a06301b39b2ea8a44df8b0356120db64b788e71f52e1d7a6309d0d2e5b86fee7cb8080a01b7779e149cadf24d4ffb77ca7e11314b8db7097e4d70b2a173493153ca2e5a0a066a7662811491b3d352e969506b420d269e8b51a224f574b3b38b3463f43f0098080", "0xf8518080808080a0a00135c9ec2655cb6a47ab7ad27d6fc150d9cba8b3d4a702e879179116a68a60808080808080a02fb46956347985b9870156b5747712899d213b1636ad4fe553c63e33521d567a80808080", "0xf873a02056274a27dd7524955417c11ecd917251cc7c4c8310f4c7e4bd3c304d3d9a79b850f84e808a021e19e0c9bab2400000a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a0c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470"],
  address: "0x67b1d87101671b127f5f8714789c7192f7ad340e",
  balance: "0x21e19e0c9bab2400000",
  codeHash: "0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
  nonce: "0x0",
  storageHash: "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
  storageProof: []
}
> eth.getBlock('latest').stateRoot
"0x6a0673c691edfa4c4528323986bb43c579316f436ff6f8b4ac70854bbd95340b"
```
2023-03-09 03:04:09 +00:00
Alex Sharov
d19fcd870b
e3: use iterators composition in invIndex.Range (#7056) 2023-03-09 02:26:40 +00:00
Stéphane Loeuillet
fd1a971384
graphql: add Tx Receipts Logs to output (#7059) 2023-03-09 02:22:41 +00:00
Alex Sharov
92c444bc1a
--torrent.staticpeers (#7052) 2023-03-08 08:30:00 +00:00
Giulio rebuffo
e6ba82ca0b
Added Capella specs support to Erigon-CL (#7051)
Passing consensus-specs tests for Capella. Processing of withdrawals and
ExecutionChanges. efficient non-validation implemented. Refactored:
ExecutionPayload/ExecutionPayloadHeader.
2023-03-07 21:57:18 +00:00
Stéphane Loeuillet
e59d37e61d
graphql: protect against nil pointer deref on cases like TX with nil … (#7047)
…To address (contract creation)
2023-03-07 12:20:18 +00:00
Alex Sharov
7868782186
nil ptr in checkPruneHistory (#7042) 2023-03-07 08:37:21 +00:00
Alex Sharov
b685407175
attempt to fix TestGolangBindings (#7041) 2023-03-07 06:14:35 +00:00
Alex Sharov
d4e25daf22
etl: distinct empty values from nil (#7039)
Reverts ledgerwatch/erigon#7038
2023-03-07 04:19:00 +00:00
Alex Sharov
7206e482da
Revert "etl: distinct empty values from nil" (#7038)
Reverts ledgerwatch/erigon#6934
2023-03-07 03:22:23 +00:00
Alex Sharov
78aa8652d2
e3: native map instead of btree where can (because e2 experience shows - it's faster) (#7010) 2023-03-07 02:34:30 +00:00
Alex Sharov
c5acfd0503
etl: distinct empty values from nil (#6934) 2023-03-07 02:33:21 +00:00
hexoscott
77065ee0f3
remove PeerUseless calls (#7032) 2023-03-06 18:59:14 +00:00
Stéphane Loeuillet
16973ec185
graphql: add missing fields in block.transaction (#7034) 2023-03-06 18:58:10 +00:00
Giulio rebuffo
9101fdadcc
Long keys and finalization markers added. (#7024) 2023-03-05 19:15:17 +00:00
Giulio rebuffo
7eda83f81a
Merged beacon indexing with other stages (#7023) 2023-03-05 16:11:35 +00:00
Giulio rebuffo
aea6f86cab
refactored state transition and removed transistor (#7021) 2023-03-04 21:14:45 +00:00
Giulio rebuffo
90ed3c1cb0
optimized state roots cache for erigon-cl (#7020) 2023-03-04 16:28:20 +00:00
awskii
e48609ee8d
E4 btree-like indexes (#6834)
This branch implements support of btree indexes instead of .kvi files.
Kvi also created, but not used during search/lookup, only for size
comparation.

Btree allows to make seek calls, while recsplit indexes does not support
that query.
During initial tests, btree indexes are ~1-3% smaller than recsplit but
avg lookup time bigger up to 1.5us (which compensates with ability to
fetch next key).

BtAlloc
```
337000 searches, last took 5.417µs avg=4.385µs next_access_last[of 10000 keys] 105ns
338000 searches, last took 3.792µs avg=4.385µs next_access_last[of 10000 keys] 103ns
339000 searches, last took 5.125µs avg=4.386µs next_access_last[of 10000 keys] 103ns
340000 searches, last took 4.75µs avg=4.386µs next_access_last[of 10000 keys] 103ns
341000 searches, last took 3.875µs avg=4.386µs next_access_last[of 10000 keys] 104ns
342000 searches, last took 6.042µs avg=4.387µs next_access_last[of 10000 keys] 107ns
343000 searches, last took 3.209µs avg=4.388µs next_access_last[of 10000 keys] 108ns
344000 searches, last took 2.292µs avg=4.393µs next_access_last[of 10000 keys] 113ns
345000 searches, last took 2.417µs avg=4.394µs next_access_last[of 10000 keys] 106ns
346000 searches, last took 2.625µs avg=4.394µs next_access_last[of 10000 keys] 103ns
347000 searches, last took 4.417µs avg=4.397µs next_access_last[of 10000 keys] 104ns
348000 searches, last took 5.458µs avg=4.398µs next_access_last[of 10000 keys] 103ns
349000 searches, last took 4.875µs avg=4.4µs next_access_last[of 10000 keys] 102ns
350000 searches, last took 4.25µs avg=4.4µs next_access_last[of 10000 keys] 104ns
351000 searches, last took 6.25µs avg=4.403µs next_access_last[of 10000 keys] 106ns
352000 searches, last took 3.125µs avg=4.404µs next_access_last[of 10000 keys] 106ns
```

Recsplit
```
354000 searches, last took 1.209µs avg=3.081µs
355000 searches, last took 1.333µs avg=3.076µs
356000 searches, last took 1.541µs avg=3.071µs
357000 searches, last took 1.333µs avg=3.066µs
358000 searches, last took 1.333µs avg=3.062µs
359000 searches, last took 1.167µs avg=3.057µs
360000 searches, last took 1.791µs avg=3.052µs
361000 searches, last took 1.209µs avg=3.048µs
362000 searches, last took 1.375µs avg=3.043µs
363000 searches, last took 1.166µs avg=3.038µs
364000 searches, last took 1.625µs avg=3.033µs
365000 searches, last took 1.125µs avg=3.029µs
366000 searches, last took 1.208µs avg=3.024µs
367000 searches, last took 1.333µs avg=3.019µs
368000 searches, last took 1.791µs avg=3.015µs
369000 searches, last took 1.333µs avg=3.01µs
370000 searches, last took 1.166µs avg=3.006µs
371000 searches, last took 1.125µs avg=3.001µs
372000 searches, last took 1.333µs avg=2.997µs
```

https://github.com/ledgerwatch/erigon-lib/pull/891/files
2023-03-04 03:19:25 +00:00
Giulio rebuffo
aadf56376f
Passing operations consensus tests. (#7018) 2023-03-03 22:52:33 +00:00
Jochen Müller
da369fedac
Fix test in devnet tool (#7019)
- invalid gas price range with max < min
- nonce bumped for transactions that will not be mined
2023-03-03 16:20:45 +00:00
Max Revitt
bf1d08c8cc
feat(release): github action, build script, and release manager (#6818)
- [x] setup infra
- [x] provide readme
- [x] setup secrets (keys) for infra
- [x] resolve todos
- [x] remove unnecessary test actions triggers
- [x] update go path (should be installed on runner properly - unlike my
self hosted quick setup)
- [x] provide docs on using checksum and signature to verify the binary
2023-03-03 10:11:28 +00:00
Giulio rebuffo
2ff8f3bee0
refactored eftests so that they are not ugly (#7003) 2023-03-02 15:42:11 +00:00
Giulio rebuffo
d6ba1b65c8
Added removeStreamHandler again (#6996) 2023-03-02 14:22:03 +00:00
Leonard Chinonso
599fc24aed
Devnet Test for EIP1559 (#6938)
**Current Problem**

When X transactions are created, with M transactions out of them having
`gasFeeCap` greater than the current `baseFeePerGas` for the block, and
N transactions having `gasFeeCap` lower, all X transactions get added to
the yellow pool (baseFee) in the txpool and they never get mined.
However when X transactions all having `gasFeeCap` higher than the
`baseFeePerGas` are created, they all get added to the green pool
(pending) in the txpool and thus get mined.

This phenomenon can be inspected in the
`signEIP1559TxsLowerAndHigherThanBaseFee2` function where the number of
transactions that should have `gasFeeCap` higher than and lower than the
current `baseFeePerGas` is specified in its parameter - `func
signEIP1559TxsLowerAndHigherThanBaseFee2(amountLower, amountHigher
int...`.
When `amountLower` is set as `0`, all transactions created from
`amountHigher` will be mined because they have `gasFeeCap` >
`baseFeePerGas`. When `amountLower` has a value > `0`, all the
transactions created (including transactions created with
`amountHigher`) will go to the yellow pool (baseFee) and thus do not get
mined.
2023-03-02 10:25:11 +00:00
Alex Sharov
8406cb7899
e3: exec workers - can't treat all errors as "state conflict", because applyLoop will get same error and handle them well (#6993) 2023-03-01 09:55:29 +00:00
Alex Sharov
d6d142c4b0
switch sentinel to lru/v2 generic cache (#6990) 2023-03-01 08:00:46 +00:00
Alex Sharov
a4f69abb97
e3: less locks, less casts (#6991) 2023-03-01 07:59:56 +00:00
nanevardanyan
cf9ee425ed
check for TransactionsV3 flag (#6988) 2023-03-01 02:13:12 +00:00
Giulio rebuffo
f97550c48f
Fixed capella startup for LC (#6989) 2023-02-28 21:17:10 +00:00
Giulio rebuffo
edcd271f72
Added capella SSZ tests (#6965) 2023-02-27 23:33:10 +00:00
Alex Sharov
b3c49af086
e3: aggressive drain resultCh to heap before start conflict-resolution (#6979) 2023-02-27 13:08:33 +00:00
Roberto Bayardo
f01e3d1717
handle nil update return values without panic (#6941)
Saw this when trying to sync goerli today:


```
INFO[02-23|11:10:20.611] [2/15 Headers] Waiting for Consensus Layer...
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x18 pc=0x14a58dd]

goroutine 11484998 [running]:
github.com/ledgerwatch/erigon/cl/cltypes.(*LightClientOptimisticUpdate).EncodingSizeSSZ(0x0)
        github.com/ledgerwatch/erigon/cl/cltypes/lightclient.go:620 +0x1d
github.com/ledgerwatch/erigon/cmd/sentinel/sentinel/communication/ssz_snappy.EncodeAndWrite({0x77f6a74bc058?, 0xc03912b100?}, {0x2c2f628, 0x0}, {0xc022ad9f
5c, 0x1, 0x1})
        github.com/ledgerwatch/erigon/cmd/sentinel/sentinel/communication/ssz_snappy/encoding.go:34 +0xae
github.com/ledgerwatch/erigon/cmd/sentinel/sentinel/handlers.(*ConsensusHandlers).lightClientOptimisticUpdateHandler(0xc021f0d500, {0x2c57c28, 0xc03912b100
})
        github.com/ledgerwatch/erigon/cmd/sentinel/sentinel/handlers/lightclient.go:82 +0x19d
github.com/libp2p/go-libp2p/p2p/host/basic.(*BasicHost).SetStreamHandler.func1({0xc085e0fa90, 0x42}, {0x77f6a74bbfe8?, 0xc03912b100})
        github.com/libp2p/go-libp2p@v0.25.1/p2p/host/basic/basic_host.go:580 +0x76
created by github.com/libp2p/go-libp2p/p2p/host/basic.(*BasicHost).newStreamHandler
        github.com/libp2p/go-libp2p@v0.25.1/p2p/host/basic/basic_host.go:421 +0x74f

```
2023-02-27 10:00:49 +00:00
Alex Sharov
860f0fd569
evm: remove mutex from journal (#6967) 2023-02-27 05:48:18 +00:00
Alex Sharov
98cc4535d1
RPC: chainConfig field use atomic pointer instead of mutex (#6960) 2023-02-26 10:24:52 +00:00
alex.sharov
bc1d2151ac integration: print total time 2023-02-26 10:31:44 +07:00
hexoscott
fd49965932
check prune history on trace calls (#6932)
Not sure if this is too aggressive or not, but return early once we have
a block number if state history has been pruned for that block number.
2023-02-26 09:10:46 +07:00
Giulio rebuffo
b51b293f14
faster rewards and penalties processing (#6958) 2023-02-25 21:51:30 +00:00
Giulio rebuffo
300ef31888
fixed lightclient regression (#6957) 2023-02-25 16:39:35 +00:00
Giulio rebuffo
e0cde0eae9
Fixed random/random consensus spec tests (#6955) 2023-02-25 14:50:01 +00:00
Alex Sharov
431fba815f
e3: simplify tracer (#6953) 2023-02-25 12:44:45 +07:00
Jason Yellick
7b62bede1e
Log bound addresses instead of configured ones (#6948)
The CLI logging currently emits the configured address when noting that
the HTTP or Engine RPC services are started. This is _usually_ the same
as the listening address, but not always. In particular, when the bind
directive specifies an ambiguous parameter, like port 0 for an ephemeral
port, the actually bound address will differ.

This change will help users to operate Erigon while binding to ephemeral
ports. This is especially helpful for developers trying to run multiple
instances of Erigon concurrently in tests which may or may not be
executing in parallel.

Co-authored-by: Jason Yellick <jason@enya.ai>
2023-02-25 02:29:48 +00:00
Giulio rebuffo
9b8991b62a
added random/random consensus tests support (#6951) 2023-02-24 22:42:27 +00:00
Giulio rebuffo
651121c5ce
added empty slots sanity tests (#6950) 2023-02-24 21:43:58 +00:00
Giulio rebuffo
cfa8dd8657
Fixed sanity consensus tests for slots processing (#6949) 2023-02-24 21:07:32 +00:00
nanevardanyan
ab6239b30f
WIP: cmd, turbo, core, eth: TransactionsV3 flag and persist in new table (#6754) 2023-02-24 18:49:25 +00:00
Giulio rebuffo
4525db6a9c
Fixed lightclient regression (#6946) 2023-02-24 15:11:50 +00:00
ledgerwatch
9c9449a059
Mock of Erigon support - step 1 (#6930)
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2023-02-22 12:38:22 +00:00
Alex Sharov
a19d1b59c5
Pool and RPCBlocksCache: to use generic lru (#6928) 2023-02-22 07:50:00 +00:00
Alex Sharov
4a81e62ea8
lightclient: simple retry backoff (#6922) 2023-02-22 01:42:01 +00:00
Andrew Ashikhmin
54593d934c
Don't use embedded CL by default for Gnosis (#6918)
Only Nimbus peers support light clients, and there's not enough Nimbus
peers on Gnosis.
2023-02-21 18:36:25 +00:00
Alex Sharov
ddcb1c90cd
e3: don't collect readList in ApplyWorker, because it's conflict-free (#6916) 2023-02-21 05:11:45 +00:00
alex.sharov
3a4ad0c614 GraphQL docs 2023-02-21 08:25:06 +07:00
ledgerwatch
f09fd51083
Skip the graphQL test which is not unit test (#6912)
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2023-02-20 22:51:46 +00:00
Anshal Shukla
62a890df93
Remove miner address from eth_getBlockByNumber for bor RPC calls (#6898)
Makes it consistent with response of bor. Fixes
[Issue#735](https://github.com/maticnetwork/bor/issues/735).
2023-02-20 22:04:42 +00:00
Stéphane Loeuillet
195a72bf74
Initial GraphQL interface implementation (#6821)
That's an initial PR mostly for code review, not ready for production
use

Got basic GraphQL working when querying a single block

---------

Co-authored-by: Alex Sharov <AskAlexSharov@gmail.com>
2023-02-20 11:23:06 +00:00
Alex Sharov
c7a654cf05
E3: trace_filter to support of pos (#6909) 2023-02-20 09:42:40 +00:00
Anshal Shukla
7ce3f7b158
State sync transactions added to debug_traceBlockByNumber call (#6830)
State sync transactions can be enabled using `"borTraceEnabled": true`
parameter, this is to ensure that the current behaviour is unchanged.
2023-02-20 08:04:11 +00:00
alex.sharov
8580111641 lighting: reduce retry rate 2023-02-20 14:39:31 +07:00
Alex Sharov
b5a310effe
temporary solution for lightclient ratelimit (#6908) 2023-02-20 07:33:13 +00:00
Alex Sharov
1ee4a13904
temporary solution for lightclient ratelimit (#6907)
https://github.com/ledgerwatch/erigon/issues/6905
2023-02-20 07:31:20 +00:00
Giulio rebuffo
afe3c89c3a
added sanity tests to consensus spec tests (#6897) 2023-02-17 23:00:07 +00:00
Giulio rebuffo
df1563b401
Passing all finality consensus-spec-tests for altair/bellatrix (#6894) 2023-02-17 17:57:05 +00:00
Giulio rebuffo
a23429c352
Added finality consensus-specs-tests (#6892) 2023-02-17 14:13:00 +00:00
Giulio rebuffo
917cb7dac6
Fixed epoch processing Sqrt cache (#6889) 2023-02-16 21:48:32 +00:00
Giulio rebuffo
60a3aa71e3
Fixed epoch processing consensus tests (#6887) 2023-02-16 19:04:16 +00:00
Giulio rebuffo
3c069f7cbd
added static peers flag (#6884) 2023-02-15 17:56:10 +00:00
Giulio rebuffo
ae8657e226
API in lightclient instead of gossip (#6883) 2023-02-15 17:09:21 +00:00
Giulio rebuffo
4b7d6305aa
Added Epoch processing Ethereum consensus tests (#6878) 2023-02-15 16:53:28 +00:00
Andrew Ashikhmin
58fcc04575
blockValue should use gasUsed rather than gasLimit (#6875)
Fees going to the gas fee recipient should be based on the actual gas
used (available in the receipt) rather than the gas limit in a
transaction. This fixes Hive test "GetPayloadV2 Block Value".

Also `engine_getPayloadBodiesByRangeV1` params should be encoded as hex
strings.
2023-02-14 15:05:27 +00:00
mmsqe
add5f80f43
doc: fix typo for ReturnDataLimit (#6874) 2023-02-14 14:35:51 +00:00
Alex Sharov
45ffd2368b
e3: don't cancel workers (#6869) 2023-02-14 06:13:27 +00:00
Philippe Schommers
22bf78ba92
fix: variable slots per epoch in light client (#6868)
Missed a spot in #6864, my bad.
2023-02-13 21:27:13 +00:00
Giulio rebuffo
ef502afd51
Fixed finalized hash in lightclient (#6867) 2023-02-13 21:18:37 +00:00
Giulio rebuffo
7fb6d94a64
Added more peer count logs (#6865) 2023-02-13 20:51:50 +00:00
Philippe Schommers
cb6878cd7d
fix: use variable for slots per epoch in CL (#6864)
Some network might have different `SLOTS_PER_EPOCH` configs instead of
the currently hardcoded `32`.
2023-02-13 20:51:33 +00:00
Alex Sharov
4079347dab
sentry nil ptr fix (#6859) 2023-02-13 13:05:29 +00:00
Alex Sharov
999899d66d
e3: read files list from db (#6833) 2023-02-13 05:17:01 +00:00
Giulio rebuffo
41f37fce42
Remove state root computation when disabled check mode is used (#6855) 2023-02-12 23:43:11 +00:00
Giulio rebuffo
7c43cb532c
~2x Optimization to state root computation (#6854)
Most notably use of more than a single thread. there is still potential
for me but there are more important things for now to work on.
2023-02-12 21:26:31 +00:00
Giulio rebuffo
d23d049221
various optimizations to state transition and epoch in particular (#6844) 2023-02-12 15:36:24 +00:00
Alex Sharov
80b375b074
sentry: less sprintf in logs (#6851) 2023-02-12 11:23:58 +00:00
Alex Sharov
d5bb42453a
Update lib-p2p to support golang 1.20 (#6848) 2023-02-12 11:23:33 +00:00
alex.sharov
1f539523ae mdbx_to_mdbx: print alloc 2023-02-12 10:06:07 +07:00
Giulio rebuffo
a608cb8110
added epoch processing to CL (#6842) 2023-02-11 22:15:30 +00:00
ledgerwatch
ee83447fa1
CL lightclient to create memdb in the tmpdir which gets cleaned up on… (#6829)
… startup

---------

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro-2.local>
2023-02-11 20:44:51 +00:00
Giulio rebuffo
885ed781fd
added better tests to epoch transitions (#6838) 2023-02-10 23:53:05 +00:00
Giulio rebuffo
a0677885d8
fixed rewards/penalties processing (#6837) 2023-02-10 20:27:28 +00:00
Giulio rebuffo
1b862a7c31
Added processing of sync committee updates (#6836) 2023-02-10 16:17:12 +00:00
Giulio rebuffo
868c40bbf6
Added processing of flag indexes updates (#6832) 2023-02-10 14:17:27 +00:00
Alex Sharov
7c9f30d25b
e3: return list of e3 files by grpc (#6827) 2023-02-10 13:45:33 +07:00
Alex Sharov
983db55dc5
Downloader: "incomplete" markers are more important than "complete", so commit them with fsync (#6825) 2023-02-10 13:20:19 +07:00
Alex Sharov
910ea64c3e
e3: worker stuck on exit (#6826) 2023-02-10 13:18:39 +07:00
Giulio rebuffo
4e950db56e
added processing of historical roots (#6823) 2023-02-10 01:09:05 +01:00
Giulio rebuffo
cf22a098a7
Added effective balances processing (#6822) 2023-02-09 23:14:56 +01:00
Giulio rebuffo
a3ebc79d9d
Added Registry updates processing. (#6820) 2023-02-09 22:26:36 +01:00
Giulio rebuffo
64ddd9f60e
Added reward/penalties processing (#6819) 2023-02-09 17:48:52 +01:00
Alex Sharov
ec52990c43
e3: Thread safe reopen folder (#6810) 2023-02-09 12:11:40 +07:00
Giulio rebuffo
f7e58a7964
added separable lightclient (#6800)
How to run:
Erigon flags needed: --private.api.addr <ADDR> --externalcl
Lightclient flags needed: --private.api.addr <ADDR>
2023-02-08 00:06:07 +01:00
Giulio rebuffo
c92b858888
Cleaned up and optimized proposer index retriaval. (#6799) 2023-02-07 20:14:04 +01:00
Giulio rebuffo
a585ae4894
Added Optimizations to Beacon state transition. (#6792) 2023-02-07 17:44:37 +01:00
Kian
72c01b2d88
Fix getBlockTransactionCount returning null (#6793)
So... for blocks that don't exist, the eth_getBlockTransactionCount RPCs
should return `null`. Erigon does this correctly right now and this is
covered by the unit test in
[rpcdaemon/commands/corner_cases_support_test.go](https://github.com/ledgerwatch/erigon/blob/devel/cmd/rpcdaemon/commands/corner_cases_support_test.go).

But, for blocks that don't have any transactions, like
[703696](https://etherscan.io/block/703696), the RPC also returns
`null`.

I've changed this to correctly return `0` and have added 2 new tests to
handle it. (I had to add another block to the test chain in
rpcdaemon/rpcdaemontest/test_util.go and had to fix a few other tests
that broke as a result.)

Resolves #6775
2023-02-07 18:32:42 +07:00
Andrew Ashikhmin
2fa448c45f
Validate params of GetPayloadBodiesByHash and ByRange (#6785)
See https://github.com/ethereum/execution-apis/pull/366 and
https://github.com/ethereum/execution-apis/pull/370.

Also fix a couple of issues so that the Hive tests pass.
2023-02-06 18:38:45 +01:00
a
966be04e6d
add eth_getFilterLogs, fix filter subscription ids (#6514)
this pr does the following:

1. adds new function to ApiImpl `GetFilterLogs` which should implement
`eth_getFilterLogs` (eth_getFilterChanges except with only logs filters)

2. changes the ID generator of rpchelper.Filters to use crypto/rand.

3. switched logs subscriptions to use the secure ID instead of number

4. changes subcription ids from an 8 byte hex string to a 16 byte
2023-02-06 10:18:10 +07:00
Alex Sharov
4cae1b94e9
switch sentinel to native go errors (#6782) 2023-02-06 10:15:52 +07:00
Alex Sharov
dede1a2c9e
e3: more mergeFiles tests, refcnt for LocalityIndex (#6765) 2023-02-06 09:05:29 +07:00
Giulio rebuffo
ee4c8ed3bd
Added working slot processing. (#6779) 2023-02-05 21:53:59 +01:00
ledgerwatch
52aef48748
Workaround for BSC nodes not propagating new block hashes and blocks (#6777)
It turns out that "standard" BSC nodes based on Geth, do not propagate
new block hashes and blocks, at least towards Erigon nodes. This is a
workaround

---------

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2023-02-05 18:42:51 +00:00
Giulio rebuffo
03f737c458
Added processing for Attestation (#6772) 2023-02-03 16:39:09 +01:00
Giulio rebuffo
2975ca5782
added process Voluntary Exit (#6768) 2023-02-02 12:16:28 +01:00
ledgerwatch
38177d8f68
Fix hive after merging eth/68 PR (#6766)
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2023-02-02 08:26:30 +00:00
ledgerwatch
bf24018205
Add support for eth/68 (#6764)
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro-2.local>
Co-authored-by: Alex Sharp <alexsharp@surfer-172-29-1-65-hotspot.internet-for-guests.com>
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2023-02-01 22:21:31 +00:00
Alex Sharov
aaec53857f
e3: last reader to close/remove merged files (marked as canDelete) inside tx.Rollback() (#6738) 2023-02-01 15:44:13 +07:00
Anshal Shukla
a4f8175136
Bor file structure updated (#6167)
Updated bor consensus folder structure
2023-01-31 14:00:57 +05:30
Alex Sharov
8a31eda27c
integration: set genesis to cfg (#6750) 2023-01-31 14:05:30 +07:00
Giulio rebuffo
3748a6af97
Added processing for deposits (#6746) 2023-01-30 18:55:57 +01:00
Andrew Ashikhmin
de5a061fdf
Remove StarknetTransaction and friends (#6745) 2023-01-30 16:56:58 +01:00
Giulio rebuffo
1436060fd8
added sync aggregate method for processing (#6740) 2023-01-30 14:39:56 +01:00
Alex Sharov
62746c6185
fix snap flag behavior (#6743) 2023-01-30 17:37:58 +07:00
ledgerwatch
8c2713b0b8
Fix lint (#6737)
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2023-01-29 10:16:05 +00:00
Alex Sharov
9287a2202b
e3: eth_getModifiedAccountsByNumber (#6733) 2023-01-29 10:10:39 +07:00
Marc-André Dumas
407cfef9e7
rpc: move receipts length check after bor logic (#6731)
Fixing issue #6730
2023-01-28 21:21:57 +00:00
farwayer
00390a974f
Fix retrieving Bor transactions from the pool (#6689)
At the moment erigon does not try to look for bor transactions inside
the pool
2023-01-28 21:20:08 +00:00
Alex Sharov
2998aa6386
e3: debug_accountRange (#6726) 2023-01-28 12:03:24 +07:00
Giulio rebuffo
a0d236df31
Added process slashings (#6728) 2023-01-27 23:19:23 +01:00
Alex Sharov
1583cdb068
e3: debug_accountAt, read from history instead of block exec (#6723) 2023-01-27 19:09:51 +07:00
Alex Sharov
13d6415de8
e3: ots system txn handle 2023-01-27 16:05:09 +07:00
Alex Sharov
5b703749bd
e3: ots underflow fixes (#6721) 2023-01-27 14:41:11 +07:00
Alex Sharov
171a965faa
e3: ots some underflow fixes (#6720) 2023-01-27 14:16:09 +07:00
Alex Sharov
b99e4abb3e
move math big constants to erigon-lib (#6719) 2023-01-27 11:39:34 +07:00
Alex Sharov
081e59311d
e3: ots_getTransactionBySenderAndNonce (#6718) 2023-01-27 11:34:04 +07:00
Giulio rebuffo
b3076a812d
added resets processing for Erigon-CL (#6716) 2023-01-27 01:24:03 +01:00
Giulio rebuffo
e660dd923d
refactored transitions methods in Erigon-CL (#6714) 2023-01-26 23:50:44 +01:00
Max Revitt
6559c15ebb
feat(trace): use specific error string (#6696)
In v2.36.0 we correctly trace this transaction, however due to a code
ordering issue in previous releases, there was an 'out of gas' response,
because we fell through to the code here where
ErrContractAddressCollision will be returned as such. This change isn't
the fix, but ensures the actual error is returned.
2023-01-26 15:10:51 +01:00
Andrew Ashikhmin
ee7fd4183d
Always penalize useless peers (#6710)
Should help us to drop useless peers on shadow forks and PoS chains in
general.
2023-01-26 14:14:20 +01:00
Andrew Ashikhmin
d12fda5cbd
Switch AccessList, IntrinsicGas, SafeAdd/Mul to erigon-lib (#6709)
Reduce code duplication.
2023-01-26 12:26:12 +01:00
Alex Sharov
a0c3730e38
e3: cleanup (#6708) 2023-01-26 17:52:04 +07:00
alex.sharov
a23f42358b save 2023-01-26 17:29:01 +07:00
Alex Sharov
30fefd1fe1
e3: trace_filter on iter (#6707) 2023-01-26 17:24:29 +07:00
alex.sharov
ea7684a096 save 2023-01-26 17:21:52 +07:00
Alex Sharov
7572a42356
e3: trace_filter on iterators (#6706) 2023-01-26 16:51:13 +07:00
Alex Sharov
79b42c9dc0
e3: ots_getContractCreator (#6705) 2023-01-26 16:34:52 +07:00
Alex Sharov
584ad344a6
ots_getContractCreator test (#6703) 2023-01-26 11:36:06 +07:00
alex.sharov
a609748c68 cleanup 2023-01-26 10:38:09 +07:00
alex.sharov
db47049e5b cleanup 2023-01-26 10:36:56 +07:00
Giulio rebuffo
ff21ef7b21
Added checkpoints and justification bits processing (post-altair) (#6699)
* Added processing of checkpoints
* Unit tests rigorously imported from prysm
* They all pass :)
2023-01-26 00:31:20 +01:00