Commit Graph

18290 Commits

Author SHA1 Message Date
Shane Bammel
cf67d947dd Refactor and simplify PulseChain integration 2023-06-27 19:11:02 -05:00
bretep
b79df0254f Initial PulseChain integration
Sign block using correct chainId

Add IsPulseChain to config

Add support for pulsechain blocks and snapshots

Add support for chain config now located in erigon-lib

Fix decoding hex to int

Ensure pulsechain config

Add support for PulseChain snapshots
2023-06-27 17:50:22 -05:00
Alex Sharp
5536d64594 Stable modifications 2023-06-22 12:10:17 +01:00
ledgerwatch
f8a5c8c6ce
Fix DumpTxs (#7782) 2023-06-22 12:08:16 +01:00
ledgerwatch
141c4aeb4c
More Bor mainnet snapshot files (#7783) 2023-06-22 09:22:01 +01:00
Manav Darji
951ebd2d32
Revert "Remove excessive logging in bor (#7690)" (#7777)
This reverts commit 7671f419f8.
2023-06-21 14:16:21 +01:00
Alex Sharov
7bad6d3fd9
erigon_info metric (#7769) 2023-06-21 11:13:50 +07:00
ledgerwatch
3542298664
[bor] Code simplifications (#7772) 2023-06-20 15:14:26 +01:00
Mark Holt
051cad0fdd
Devnet diagnostics (#7762)
Added support tunnel to the devnet cmd. In order to get this to run I
made the following changes:

* Create a public function 
* Added non root logging

I have also added commentary to the readme to explain the additional
command line arguments needed to integrate with diagnostics. In summary,
if you set the --diagnostics.url the devenet will wait for diagnostic
requests rather than exiting

---------

Co-authored-by: alex.sharov <AskAlexSharov@gmail.com>
2023-06-20 10:11:55 +01:00
Alex Sharov
880c939df8
e3: idx range method (#7767) 2023-06-20 10:58:37 +07:00
ledgerwatch
6815323f33
Update to latest erigon-lib (#7764)
Co-authored-by: alex.sharov <AskAlexSharov@gmail.com>
2023-06-20 10:57:19 +07:00
awskii
932c2ac69d
fix for test (#7765)
Fixes test `TestExec22/UnwindExecutionStagePlainStatic`.
2023-06-20 02:04:42 +01:00
Somnath Banerjee
71231140a5
Block Gas limit contract integration for Chiado (#7727)
Changes summary:
- Continue with the gasLimit check skip in ``verifyHeader`` of
``merge.go`` for unless pre-merge block and blockGasLimitContract
present
- Refactor ``aura.go`` a bit
- Have ``sysCall`` method customized to be able to call state (contract)
at a parent (or any other) header state
2023-06-19 22:06:51 +05:30
racytech
ec4281e344
BlobTxWrapper RLP encode-decode and tests (#7742) 2023-06-19 13:28:44 +02:00
alex.sharov
5be6851622 save 2023-06-19 18:01:17 +07:00
alex.sharov
e28fcc0852 Merge branch 'stable' into devel 2023-06-19 17:59:47 +07:00
alex.sharov
6755f7e1fd save 2023-06-19 17:50:07 +07:00
Alex Sharov
9e96de6226
e3: fix test (#7760) 2023-06-19 14:02:34 +07:00
Alex Sharov
86035ca566
e3: unwind simplify (#7759) 2023-06-19 13:42:43 +07:00
Alex Sharov
2adf258a33
e3: simplify unwind (#7758) 2023-06-19 11:40:13 +07:00
Alex Sharov
a77edd7a32
faster opening of snapshots and indices (#7757)
- mostly by MADV_SEQUENTIAL during opening 
- see https://github.com/ledgerwatch/erigon-lib/pull/1025
2023-06-19 11:34:01 +07:00
Alex Sharov
eae2d9a79c
Disable ci tests on another servers: step 2 (#7752) 2023-06-17 10:27:58 +07:00
Alex Sharov
94d592d522
disable ci tests on another servers (#7751) 2023-06-17 10:25:22 +07:00
Alex Sharov
a63b24bca6
up NAT STUN lib (#7750) 2023-06-17 09:38:38 +07:00
Alex Sharov
d3c3be9c91
e2: optimize tests speed (#7738) 2023-06-15 16:09:11 +07:00
Andrew Ashikhmin
252e57b76f
Base BlobTx on DynamicFeeTransaction (#7736)
Continuation of PR #7715
2023-06-15 10:57:27 +02:00
Alex Sharov
e5023775aa
Enforce blockReader interface (#7737)
- breaks dependency from staged_sync to package with block_reader
implementation
- breaks dependency from snap_sync to package with block_reader
implementation
- breaks dependency from mining to txpool implementation
2023-06-15 13:11:51 +07:00
Andrew Ashikhmin
a5886732b9
Use BitLenToByteLen from erigon-lib (#7735) 2023-06-14 14:48:16 +02:00
Mark Holt
f110102023
Devnet scenarios (#7723)
This is an update to the devnet code which introduces the concept of
configurable scenarios. This replaces the previous hard coded execution
function.

The intention is that now both the network and the operations to run on
the network can be described in a data structure which is configurable
and composable.

The operating model is to create a network and then ask it to run
scenarios:

```go
network.Run(
		runCtx,
		scenarios.Scenario{
			Name: "all",
			Steps: []*scenarios.Step{
				&scenarios.Step{Text: "InitSubscriptions", Args: []any{[]requests.SubMethod{requests.Methods.ETHNewHeads}}},
				&scenarios.Step{Text: "PingErigonRpc"},
				&scenarios.Step{Text: "CheckTxPoolContent", Args: []any{0, 0, 0}},
				&scenarios.Step{Text: "SendTxWithDynamicFee", Args: []any{recipientAddress, services.DevAddress, sendValue}},
				&scenarios.Step{Text: "AwaitBlocks", Args: []any{2 * time.Second}},
			},
		})
```
The steps here refer to step handlers which can be defined as follows:

```go
func init() {
	scenarios.MustRegisterStepHandlers(
		scenarios.StepHandler(GetBalance),
	)
}

func GetBalance(ctx context.Context, addr string, blockNum requests.BlockNumber, checkBal uint64) {
...
```
This commit is an initial implementation of the scenario running - which
is working, but will need to be enhanced to make it more usable &
developable.

The current version of the code is working and has been tested with the
dev network, and bor withoutheimdall. There is a multi miner bor
heimdall configuration but this is yet to be tested.

Note that by default the scenario runner picks nodes at random on the
network to send transactions to. this causes the dev network to run very
slowly as it seems to take a long time to include transactions where the
nonce is incremented across nodes. It seems to take a long time for the
nonce to catch up in the transaction pool processing. This is yet to be
investigated.
2023-06-14 12:35:22 +01:00
Giulio rebuffo
4f812efbc8
Better version of libp2p where losing peers bug fixed (#7726)
Co-authored-by: Alex Sharov <AskAlexSharov@gmail.com>
2023-06-14 13:14:52 +02:00
Andrew Ashikhmin
4a2a19909c
Fix integration tests after ChainID move (#7734)
Post-fix after PR #7732
2023-06-14 13:02:02 +02:00
Andrew Ashikhmin
2dd7df910c
Fix lint issues (#7733)
Fix some issues introduced in PR #7715
2023-06-14 11:54:14 +02:00
Andrew Ashikhmin
862d7b6bc6
Move ChainID from CommonTx to DynamicFeeTransaction (#7732)
For legacy transactions ChainID is optional (missing in
pre-[EIP155](https://eips.ethereum.org/EIPS/eip-155) transactions) and
is derived from `V` anyway.

Also, cherry pick https://github.com/ethereum/go-ethereum/pull/27452.
2023-06-14 11:44:05 +02:00
Alex Sharov
1b14785d79
ws unfreeze (#7724)
attempt to address next issue: 

> when I'm having a lot of websocket connections the node is freezing
and then it needs like 10 mins to sync. Then if I keep pushing requests
it falls out of sync all the time
2023-06-14 16:25:05 +07:00
racytech
8b312d54e8
eip-4844: desszing blobtx: initial commit (#7715) 2023-06-14 11:01:03 +02:00
Alex Sharov
226763b1ae
fix test (#7731) 2023-06-14 13:07:20 +07:00
Alex Sharov
f4d8bd84b3
Crypto lib up (#7730) 2023-06-14 10:43:29 +07:00
Alex Sharov
5ff8246e2a
e4: release some tests (#7729) 2023-06-14 10:01:00 +07:00
Alex Sharov
78d9e0077b
sys lib version up (#7722) 2023-06-13 14:29:51 +07:00
Alex Sharov
6121f6363a
kv_mdbx: don't use defer for wg.Add(). not necessary and sometime it checking invalid err variable (#7719) 2023-06-13 10:57:08 +07:00
Alex Sharov
ae1b193d6f
use 1 constant in tests to configure initialCycle variable (#7720) 2023-06-13 10:55:59 +07:00
Giulio rebuffo
cefbf18088
Fixed grpcing of block (#7717) 2023-06-12 21:55:13 +02:00
Krishna Upadhyaya
a45f6bda1d
Updated indoreBlock (#7716) 2023-06-12 17:38:34 +01:00
Mark Holt
e99269ebce
added --log.dir.prefix flag (#7714)
This request adds an additional logging flag to change the name of the
logfiles produced by erigon to be prefixed by a name other than
'erigon'.

This allows multiple nodes to log to the same directory without
overwriting each others files. It is requires so that the devnet when
running can maintain all of its log files in a single consolidated
directory which survives devnet restarts.

---------

Co-authored-by: Mark Holt <mark@distributed.vision>
2023-06-12 15:30:05 +01:00
Manav Darji
5c0c9fdff9
consensus/bor: optimise get span, fixes in header validation (#7689)
This PR does the following things. 

- Optimises the get span for bor function. The function was responsible
to fetch span from heimdall and store in cache. If not found, it would
iterate back (or front) depending on the last found span in cache. In
this iteration it would also fetch the span every time it moves front /
back which is not necessary at all. As we know the `spanLength` we can
leverage it to directly jump to the required span ID without fetching
all the intermediate ones.
- Adds a check for `number > 255` in validating producers from headers'
extra data with ones in span. As bor fetches this data from contract, it
used to give correct results for 0th span (i.e. 0-255 blocks) and hence
no error occurs. Erigon on the other hand directly uses span to get
producers for all blocks. Hence, the data in 0th span turns out to be
wrong (as it's hardcoded in contract). We can skip validation for 0th
span blocks until we start fetching data from contract.
- As we're planning to use erigon as a validator, it will also be
responsible for preparing headers. It used to write all the validators
in the `header.Extra` field instead of just the selected producers. As
we have `GetCurrentProducers` function available now, we can use it
instead of `GetCurrentValidators`.
2023-06-12 12:48:15 +01:00
Alex Sharov
31be6f6885
StagedSync: fix canRunCycleInOneTransaction logic (#7712) 2023-06-12 16:02:28 +07:00
Alex Sharov
6c8b07003f
e3: add lost logger (#7711) 2023-06-12 15:23:28 +07:00
omahs
c21d77aa20
Fix: typos (#7710)
Fix: typos
2023-06-12 14:39:52 +07:00
Giulio rebuffo
63006611ec
Added concurrent bls (#7709) 2023-06-12 00:40:03 +02:00
a
4d35e776da
[caplin] abstract transition (#7661)
start of abstracting the transition layer. 

incremental movements.
2023-06-11 23:50:02 +02:00