Commit Graph

3681 Commits

Author SHA1 Message Date
alex.sharov
fee018ae1e trackerslist up 2022-04-06 16:19:59 +07:00
Alex Sharov
2efc723dbd
Torrent: enable ws (#3836) 2022-04-06 16:15:37 +07:00
Alex Sharov
6f7a9dbace
Snapshots: nat support (#3834) 2022-04-06 15:25:32 +07:00
Alex Sharov
80bd44fce5
Snapsthos: build indices on retire blocks (#3823)
* grpc up

* grpc up

* grpc up
2022-04-05 16:22:11 +07:00
TBC Dev
bf06095811
hack: Allow blockTotal <= 0 as offset from head (#3818) 2022-04-05 08:07:07 +07:00
Alex Sharov
3030526afb
Delete blocks on integration stage_header --unwind (#3813)
* fix for non-can block

* fix for non-can block
2022-04-04 14:12:14 +07:00
alex.sharov
c4879dd4b8 snapshots: auto fix 2022-04-02 13:20:26 +07:00
alex.sharov
10f195578b fix linter 2022-04-01 15:11:02 +07:00
Alex Sharov
d1218181b0
Snapshots: geth compatibility, use --syncmode=snap flag (#3808) 2022-04-01 15:00:50 +07:00
Alex Sharov
8b03582558
compressor: log lvl #408
* save

* save
2022-04-01 10:44:30 +07:00
Andrew Ashikhmin
6ff6c39d13
Prefer forkchoice head as latest block in RPC (#3806)
* LastForkchoice accessors

* Update erigon-lib

* Prefer forkchoice head as latest block in RPC

* Fix typo
2022-04-01 08:33:50 +07:00
leonardchinonso
fbb62c7a35
Chore/test log subscription (#3786)
* saving

* Implemented and tested subscription of logs

* Fixed lint errors

* fixed compilation error

* Removed print statements across code

* made review changes

* Validated hex addresses
2022-03-31 13:40:09 +01:00
battlmonstr
930d662f21
Refactor crypto.FromECDSAPub to MarshalPubkey/Std (#3797)
Most places that used this method were cutting off the 1st byte.
Refactor this idea to a common place.

* better naming: MarshalPubkey matches existing UnmarshalPubkey
* "Std" suffix for the ANSI standard encoding without cut off
* docs
2022-03-31 11:06:20 +07:00
Alex Sharov
b7afdf4a83
Single root ctx (#3796) 2022-03-30 16:51:43 +07:00
Alex Sharov
27f1bdbd51
cloud: commit (#3793) 2022-03-30 09:55:22 +07:00
Alex Sharov
2e49137a23
cloud: commit (#3792) 2022-03-30 09:54:07 +07:00
Igor Mandrigin
7f1771516c
Fix 'all defaults' case for eth_estimateGas (#3790)
* Fix 'all defaults' case for eth_estimateGas

* fix tests

Co-authored-by: Igor Mandrigin <i@mandrigin.ru>
2022-03-30 08:04:51 +07:00
Andrew Ashikhmin
816ad30eff
Small Merge-related clarifications & improvements (#3785)
* Hd.Fetching -> FetchingNew

* ReadHeadHeaderHash makes more sense in verifyAndSaveNewPoSHeader

* Potentially more correct LatestValidHash in case of payload with invalid transactions
2022-03-29 11:47:07 +02:00
Alex Sharov
477d04f669
Integration: update StageFinish too #3782 2022-03-29 13:45:53 +07:00
Alex Sharov
f5a8230016
Snapshots: write hashes to file only if amount of them growth (#3784) 2022-03-28 14:44:11 +07:00
Alex Sharov
89d4477df3
Snapshots: nil indices on p2p fix (#3772) 2022-03-27 10:07:58 +07:00
ledgerwatch
9ea6398524
Fixes to subscribe logs (#3769)
* Fixes to subscribe logs

* Add criteria to logs subscription

* Skeleton of RPC daemon event log distribution

* Simplify

* Send aggregated filter to Erigon

* Change API

* Print

* Fixes

* Fix topics filtering

* Fill txHash and blockHash

* Timing logs, fill tx index

* Print

* More print

* Print

* Asynchronous sending of log events to RPC daemon

* Remove prints

* Only extract logs if there are subscribers

* Check empty when RPC daemon is removed

Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2022-03-26 18:21:31 +00:00
Marin Ivanov
1075bcacae
rpcdaemon: Tidy up eth_getLogs (#3765) 2022-03-25 11:17:23 +07:00
Alex Sharov
4da85fe94e
integration_unwind_sender (#3767) 2022-03-25 11:00:52 +07:00
Alex Sharov
8754415359
fix integration unwind nil pointer (#3763) 2022-03-24 15:13:56 +07:00
Alex Sharov
a21f7561ab
Snapshots: gen .torrent file only for big segments #3761 (#3761) 2022-03-24 12:26:22 +07:00
Alex Sharov
85e47d83d2
Snapshots: remove "experimental" prefix from cli flag (#3760) 2022-03-24 12:17:31 +07:00
Alex Sharov
a357421719
Snapshots: notify rpcdaemon about new snapshot (#3755) 2022-03-24 09:25:38 +07:00
Giulio rebuffo
f4bf94f78a
Fixed Erigon README for Authentication API and jwt.hex generates in Datadir (#3757)
* added datadir jwt

* fixed readme
2022-03-24 09:10:29 +07:00
Giulio rebuffo
904674e1a1
added Websocket support and authentication to Engine API (#3752)
* added ws support and auth

* fixed lint
2022-03-23 17:12:19 +01:00
ledgerwatch
f8668da905
[erigon2] Bring back MDBX as storage for recent data (#3756)
* fixes

* Update

* Update to erigon-lib main

Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2022-03-23 16:00:06 +00:00
leonardchinonso
ae1655caef
Feature/automate devnet tool nonce (#3754)
* Added eth_getTransactionCount to the devnet tool

* Fixed lint errors

* Fixed lint

* Fixed compilation error
2022-03-23 14:26:33 +00:00
Giulio rebuffo
b7fb85df6a
demoted logs (#3753) 2022-03-23 10:28:32 +01:00
primal_concrete_sledge
fed19d5591
feat/rpcadaemon_logs_sub (#3751) 2022-03-23 07:35:04 +00:00
Andrew Ashikhmin
74a7d7c75a
Refactor PoS downloader (#3717)
* Remove blockHeight arg from FeedHeaderPoW

* Revert "Remove blockHeight arg from FeedHeaderPoW"

This reverts commit 9bf92921db11cd4e13386fcee29f30241d070fc6.

* Move PayloadMessage & ForkChoiceMessage to package engineapi

* RequestList instead of newPayloadCh & forkChoiceCh

* Introduce request status

* Send reply only when request status is New

* Move BeaconRequestList to HeaderDownload

* Don't SetFetching when PoS (Fetching means handling newBlockHashes)

* Merge Syncing & Synced into DataWasMissing

* Introduce SyncStatus

* onlyNew arg in WaitForRequest

* Move waitingForBeaconChain into RequestList

* Interrupt instead of skipCycleHack

* Introduce timeout for PoS headers

* Split downloadMissingPoSHeaders

* Move StartPoSDownloader into HeaderDownload

* Move Stopping interrupt to StartPoSDownloader

* Move stopping PayloadStatus back to HeadersPOS

* cleanUpPoSDownload

* Post-merge fix

* TestBogusForkchoice

* TestPoSDownloader

* requestStatus in attemptPoSDownload

* Broadcast in SetStatus

* Cosmetics

* attemptPoSDownload -> schedulePoSDownload

* Demote some logs to Trace
2022-03-22 17:49:12 +01:00
Alex Sharov
4cf4c1bac1
Snapshots: better support of p2p (#3749) 2022-03-21 20:36:03 +07:00
alex.sharov
a9475d9693 trackerslist 2022-03-21 14:49:59 +07:00
Alex Sharov
9c49142e6b
Snapshots: script to commit hashes (#3746) 2022-03-21 13:40:35 +07:00
Alex Sharov
586ad297e6
Snapshots: script to auto-commit torrent hashes (#3745) 2022-03-21 11:22:37 +07:00
alex.sharov
a8c13ebd4f docs about faster rsync 2022-03-21 09:39:48 +07:00
Enrique Jose Avila Asapche
726557fe72
Expose jwt-secret flag in erigon (#3741) 2022-03-21 08:33:10 +07:00
Enrique Jose Avila Asapche
022e0dd6b2
Added kiln devnet (#3742)
* kiln-devnet flag

* kiln-devnet genesis

* bootnodes

* added chain name

* lint

* allocs
2022-03-19 17:04:48 +00:00
ledgerwatch
d5fb8f7d24
[erigon2] Separate handover timing (#3736)
* Separate handover timing

* Update

* Corrected handover time calculation

* Not use compression when aggregate

* Update to latest erigon-lib

* Update to erigon-lib main

* Update

* Disable reproducible builds

* Restore github actions

* Restore github actions

* Revert "linter to support go 1.18 (#3739)"

This reverts commit 1fd434d3d1.

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2022-03-19 16:15:12 +00:00
leonardchinonso
d0322ab840
Added eth_getTransactionCount to the devnet tool (#3734)
* Added eth_getTransactionCount to the devnet tool

* Fixed lint errors
2022-03-18 11:57:23 +00:00
ledgerwatch
c47cf1fd49
[erigon2] Optimise Huffman decoding (#3727)
* Update to erigon-lib

* Fix for block number

* Update

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
2022-03-18 09:55:38 +00:00
Alex Sharov
7bf87e9597
Snapshots: grpc event (#3732) 2022-03-18 15:06:23 +07:00
Alex Sharov
f314222180
Snapshots: start seed new large .seg files (#3724) 2022-03-18 11:12:18 +07:00
leonardchinonso
d074a403c0
improved error handling and segmented packages and functions (#3728) 2022-03-17 20:16:02 +00:00
Artem Tsebrovskiy
f14df3faa3
added support of Clique consensus for block processing for erigon2 (#3705)
* added support of Clique consensus for block processing for erigon2

* erigon2: remove block reader which doesn't use system pre and post block transactions
2022-03-17 07:30:47 +00:00
Alex Sharov
426d972356
Integration: fix nil snapshots case (#3723)
* save

* save
2022-03-17 08:57:03 +07:00
Enrique Jose Avila Asapche
bb711676a4
enabling apis for merge if chainConfig has TTD (#3721) 2022-03-17 08:28:17 +07:00
leonardchinonso
2e81cdbfd9
Feature/add getlogs to devnet tool (#3722)
* adding eth_getLogs functionality for contract events for the devnet tool

* Made changes to fix double hashing

* Fixed lint errors

* Changed strings.Replace to strings.ReplaceAll for replacing strings

* Cleaned up print statements across files

* Fixed logs not being populated in result typee.go

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2022-03-16 22:21:05 +00:00
ledgerwatch
52852c0850
rpcdaemon: fix TxContext in traceBlock (#3716) (#3718)
Previously `txCtx` is not updated for every tx, which
leads to wrong tracing results.

Co-authored-by: can <can@canx.me>
2022-03-16 16:21:40 +00:00
Alex Sharov
d5dbad4f27
save (#3715co 2022-03-16 15:35:36 +07:00
Andrew Ashikhmin
2785a57d1c
More Merge logging (#3712)
* More Merge logging

* Even more logging

* Marshall incoming payload json

* Fix json formatting

* Revert json marshalling

* Some extra logs
2022-03-16 06:55:21 +01:00
Alex Sharov
469b75c3d3
Snapshots: retire blocks by default (#3707) 2022-03-16 09:57:48 +07:00
mars
a0765a8bc4
No need to panic (#3694) 2022-03-15 07:47:23 +00:00
leonardchinonso
4ee0ae1610
adding eth_getLogs functionality for contract events for the devnet tool (#3680)
* adding eth_getLogs functionality for contract events for the devnet tool

* Made changes to fix double hashing

* Fixed lint errors

* Changed strings.Replace to strings.ReplaceAll for replacing strings

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2022-03-14 13:59:51 +00:00
Giulio rebuffo
e20506e932
fixed JWT authentication port (#3689)
* fixed JWT

* jwt.hex

* ops
2022-03-14 14:47:26 +01:00
Giulio rebuffo
b6f707d811
fixed bootstrap nodes bug (#3688)
* fix transition warning

* fixed commit genesis

* fixed bootstrap nodes bug

* Update genesis.go
2022-03-14 09:47:56 +01:00
ledgerwatch
8b00636e21
[erigon2] history indices based on Elias Fano (#3679)
* [erigon2] history indices based on Elias Fano

* Tidy

* Update

* tx lookup to support blocTo in integration

* Update to fix

* Update

* Fix

* Update to erigon-lib main

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2022-03-13 23:11:49 +00:00
Giulio rebuffo
72d9947479
fix transition warning (#3687) 2022-03-13 10:24:17 +01:00
Giulio rebuffo
7094dcc614
Fixed forkid for mergeBlock (#3686)
* fixed forkid for mergeBlock

* ops

* ops again
2022-03-12 22:51:31 +00:00
Alex Sharov
f03d08c5ce
Snapshots: retire testing tool (#3684) 2022-03-12 17:26:11 +07:00
alex.sharov
6ac254b54e fix devel 2022-03-12 09:54:07 +07:00
ledgerwatch
2d1d71153a
Update eth_call.go 2022-03-12 00:16:18 +00:00
Artem Tsebrovskiy
d300c2821b
erigon2: implemented chain switching by --chain flag (#3668)
erigon2: fix linter
2022-03-10 14:01:37 +00:00
Alex Sharov
b003d07839
Add system-txs to begin end of block (#3654)
* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* up torrent

* up torrent

* up torrent

* up torrent

* up torrent

* up torrent

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save
2022-03-10 07:48:58 +00:00
Vox
865999abb6
Fix dev chain listen port not set (#3671)
* Fix forced --port=0 and warn user of hard-coded flags

* Fix typo

* Check for port explicitly set, be verbose about it

Co-authored-by: 0xVox <ohnoyoudont@nottoday.com>
2022-03-10 12:13:55 +07:00
leonardchinonso
14b300214a
Feature/test event logs (#3631)
* Adding contract code for event logs subscription

* Saving changes

* gofmt'd files

* Setting up devnet test tool for log subscription testing

* Fixed lint errors

* Changes to debug case

* fixed linting

* Committing debugging changes

* Finalised contract tx creation and mining

* Fixed lint errors

* Made base fee upper limit a constant
2022-03-09 22:45:24 +00:00
Alex Sharov
e10506c933
save (#3664) 2022-03-09 17:29:19 +00:00
Alex Sharov
0b2ce6f845
rpcdaemon: limit amount of read transactions (#3637)
* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* a

* a

* a

* a

* a

* a

* fefefe

* fefefe

* fefefe

* fefefe

* fefefe

* fefefe

* fefefe

* fefefe

* fefefe

* fefefe

* fefefe

* fefefe

* fefefe

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save
2022-03-08 10:43:14 +07:00
Enrique Jose Avila Asapche
dd47dfdf09
typo and code consistency (#3651) 2022-03-07 10:24:21 +07:00
Alex Sharov
864bd87b84
torrent better logging (#3649) 2022-03-05 10:26:08 +07:00
Alex Sharov
70c979764d
up torrent version (#3648) 2022-03-05 10:16:54 +07:00
Andrew Ashikhmin
4607179849
Handle a corner case in forkchoiceUpdated (#3640)
* Fix typo

* fix typos

* Handle corner case when unwinding to geneis

* No-op ForkChoice
2022-03-03 16:09:03 +01:00
battlmonstr
c8a25d0226
Refactor getting chain info by chain name. (#3635)
* get chain config, genesis hash and network ID by chain name in params/config
* get genesis block chain name in core/genesis
2022-03-03 21:57:10 +07:00
Andrew Ashikhmin
f58e80bd56
Expose eth API on the same ports as engine API (#3633)
* Expose port 8551 (authenticated Engine API)

* Expose eth API on the same ports as engine API
2022-03-02 14:58:46 +01:00
battlmonstr
47df98a499
Use "err" key for logging errors. (#3632)
log.Warn/Error uses "err" key to log errors in most places.
This renames "error" to "err" in some places to adhere to this convention.
2022-03-01 15:40:51 +00:00
Enrique Jose Avila Asapche
a65f12b248
State override support (#3628)
* added stateOverride type

* solved import cycle

* refactoring

* imported wrong package

* fixed Call arguments

* typo

* override for traceCall
2022-03-01 15:40:24 +00:00
Giulio rebuffo
cb8aacae87
Added Engine Authentication [JWT] (#3531)
* jwt

* fuuuuture

* added auth

* merge

* merge

* Update jwt to the latest version

* ops

* comments

* cleanup

* bad

* gut

* maybe

* mod sum

Co-authored-by: yperbasis <andrey.ashikhmin@gmail.com>
2022-02-28 12:07:09 +01:00
Alex Sharov
0cac29d1d2
Update README.md 2022-02-26 19:55:17 +07:00
Giulio rebuffo
99f688c3ec
PrevRandao Renaming (#3616)
* PrevRandao Renaming

* lint
2022-02-24 18:16:05 +01:00
battlmonstr
f5a0c9d834
p2p: Disable port mapping task with --nat extip (#3612)
If --nat extip:1.2.3.4 option is specified, the port mapping logic
(AddMapping/DeleteMapping) does nothing.
This optimization avoids running a goroutine for doing nothing.
2022-02-24 15:09:56 +00:00
ledgerwatch
17b2a9ba93
Bor fixes (#3553)
* Integration to work with bor

* Turn off validator set check

* disable verifySeal, add skeleton of postExec stage

* Pass around syscall

* Print

* Print more

* Default heimdall values for integration

* restore contract

* Print

* Print

* Print

* Print

* Print

* Print

* Print

* Print

* Fix nonce of system contract

* Remove prints

* Revert some more printing

* More fixes

* Print log

* Fix transfer log

* More printing

* More printing

* Print

* Print

* Print

* Print

* Print

* Print

* Print

* Fix validaor reward

* Remove printing

* Remove more prints

* Less printing

* Fetch validators from heimdall

* Remove syscall from Seal and CalcDifficulty

* Remove syscall from Prepare

* Print

* Remove DNS discovery

* Print apply snapshot

* Print

* Chunk up snapshot generation

* Chunk up snapshot generation

* Better logs when snapshotting

* Handle parents

* Prevent shadowing of snap

* Fix heimdall fetch

* Logging fixes

* Save generated snapshots

* Add header

* Less logging

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
2022-02-24 00:03:10 +00:00
ledgerwatch
ee488020dd
Auto detect latest block for optimal use of plain state and state cache (#3598)
* Auto detect latest block for optimal use of plain state and state cache

* Fix lint

* Fix test

Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
2022-02-23 23:42:14 +00:00
Andrew Ashikhmin
37ccbc53d6
Refactor payload building (#3592)
* Bump MaxPendingPayloads

* UnknownPayload error

* Improve ExchangeTransitionConfigurationV1 comment

* Extract MakeEmptyHeader

* Move MakeEmptyHeader to chain_makers

* Start with empty block as pending payload

* Only build payloads with the right parent hash

* Double check parent hash in SpawnMiningCreateBlockStage

* Simpler error formatting

* ReadHeadBlockHash instead of ReadHeadHeaderHash

* Avoid rebuilding already built blocks

* getPayload should stop the build process

* Tweaking stageLoopIsBusy

* Don't update pending payload after engine_getPayload
2022-02-23 21:27:38 +01:00
battlmonstr
47edcd1b6b
Refactor discovery bootnodes parsing. (#3596)
Simplify node URL list logic.
Handle errors.
2022-02-23 20:24:13 +00:00
leonardchinonso
269ce45e70
Feature/test event logs (#3595)
* Adding contract code for event logs subscription

* Saving changes

* gofmt'd files

* Setting up devnet test tool for log subscription testing

* Fixed lint errors
2022-02-23 17:47:01 +00:00
battlmonstr
6fceb72a74
Refactor node private key setup. (#3593)
Extract private key setup from the global config setup to make it reusable.
Return errors instead of panicing.

* NodeKey() method is removed - it is unused.
2022-02-23 15:05:27 +00:00
Enrique Jose Avila Asapche
198f021f33
Better inputs (#3590)
* updated tests

* using rpc.Timestamp

* added Timestamp type
2022-02-23 13:52:19 +00:00
ledgerwatch
7397af57d4
Optimise eth_getStorageAt for current state (#3580)
* Optimise eth_getStorageAt for current state

* Fix

Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
2022-02-23 09:44:55 +00:00
battlmonstr
082194d538
Discovery: add Context to Listen. (#3577)
Add explicit Context to ListenV4 and ListenV5.
This makes it possible to stop listening by an external signal.
2022-02-22 18:18:43 +00:00
battlmonstr
4337871f7f
Rename log/logger to follow conventions. (#3579)
* use "log" for struct fields
* use "logger" for function parameters and local vars

This is a compromise between:
1) using logger := log.New() to avoid aliasing (log := log.New())
2) and keeping it short when logging e.g.: srv.log.Info(...)
2022-02-22 18:17:15 +00:00
battlmonstr
e6c056e666
Rename Datadir/dataDir to follow conventions. (#3576)
* rename from Datadir to DataDir (functions and public vars)
* rename dataDir to datadir (local variables)
2022-02-22 17:39:48 +00:00
Giulio rebuffo
b49381821f
Fixed get-payload and Hanging ForkChoice (#3575)
* done

* removed sleep

* f

* errors.Is(err, io.EOF) instead of err == io.EOF

Co-authored-by: yperbasis <andrey.ashikhmin@gmail.com>
2022-02-22 14:47:23 +01:00
ledgerwatch
266625f56a
Fixes to access list and state overrides (#3570)
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
2022-02-22 10:29:02 +00:00
Alex Sharov
20452c3dd6
close channel by producer (#3569) 2022-02-22 16:25:02 +07:00
Alex Sharov
b08cb44353
embed rpcdaemon: enable it only by --http flag (#3574) 2022-02-22 16:23:54 +07:00
Alex Sharov
f5da8833b6
erigon2: exec metric (#3567) 2022-02-22 08:55:49 +07:00
Enrique Jose Avila Asapche
231255f026
correct naming (#3563) 2022-02-22 08:42:23 +07:00
Alex Sharov
27b87f44d6
Erigon2: support block snapshots (#3557)
* save

* erigon

* save
2022-02-22 08:42:12 +07:00
Andrew Ashikhmin
980276c322
Fix coinbase in stage_mining_exec (#3564)
* Simplify TerminalBlockHash & TerminalBlockNumber

* Simplify FeedHeaderPoS

* More accurate comment

* Relax TerminalBlockHash check

* Extract the sleep hack into stageLoopIsBusy

* Several short naps instead of a single longish sleep

* Fix coinbase in stage_mining_exec

* More orthodox loop

* typo in comment
2022-02-21 18:05:39 +01:00
ledgerwatch
78974d7844
Fix for BSC incorrect execution (#3560)
* Fix for BSC incorrect execution

* collect skip analysis

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2022-02-21 12:42:23 +00:00
Alex Sharov
bed56c6363
Embed rpcdaemon - more cli flags (#3556)
* more rpc emed flags

* more rpc emed flags

* more rpc emed flags
2022-02-21 09:32:42 +07:00
Alex Sharov
e6c4f0bc2a
lock snapshot dir when flag set (#3555) 2022-02-21 09:32:30 +07:00
ledgerwatch
e784f2b809
[erigon2] ETL optimisations (#3550) 2022-02-21 09:31:06 +07:00
Enrique Jose Avila Asapche
d12560f1b5
Get block by time stamp (#3514)
* initial

* binary search through blocks

* snapshot

* returning highest block

* oldest block is now 0

* multiple test written for  getBlockByTimeStamp

* retrieved picked block time stamp

* added into erigon_api

* returning pointer

* reverting c37b99b2d7ebc2250b103393378cc4a4f94a6c21

* deleted print

* proper rpc block response

* fixing test

* returning lowest block

* lint

* typo

* fixed test

* returning lowest-1

* skip while loop for times too big or small

* added to readme

* using sort.Search
2022-02-20 10:45:29 +00:00
Enrique Jose Avila Asapche
e348b3ea93
deleted kovan (#3546) 2022-02-19 08:15:44 +00:00
ledgerwatch
80d7734ea8
[erigon2] fix history creation (txNum confusion) (#3547)
* More tracing

* More tracing

* More tracing

* Keep correct txNum

* Keep correct txNum

* Update to tracing

* Off by one

* Print memory info

* Quicker startup

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2022-02-19 08:15:35 +00:00
bernard-wagner
58d2118c10
rpcdaemon: added debug_traceBlockByNumber and debug_traceBlockByHash (#3548) 2022-02-19 08:15:27 +00:00
Alex Sharov
b60faba5d9
more stable grpc err chec (#3541) 2022-02-18 09:54:38 +07:00
Alex Sharov
3de83e2d96
RPCDaemon: to start with disabled txpool (#3539) 2022-02-18 09:45:20 +07:00
Alex Sharov
226982d293
Use class dir.Rw - to separate Ro and Rw access to snapshotDir (#3534)
* save

* save

* save

* save

* save

* save

* save
2022-02-18 09:24:17 +07:00
Andrew Ashikhmin
0701c83222
Fix stall on unwind in handleForkChoice (#3536)
* ReadHeader instead of ReadHeaderByHash

* Add Engine API to rpcdaemon README

* Fix nil pointer dereference in HandlePendingBlock

* Fix latestValidHash JSON

* Delete GetPayloadBodiesV1

* Break infinte unwind loop in handleForkChoice

* More logging
2022-02-17 18:30:57 +01:00
ledgerwatch
c5b4d3e352
[erigon2] Thin commitment (2nd attempt) (#3515)
* Another fix for history files

* Fix NPE

* Another fix

* Proper closing sequence

* Remove first byte insert flag

* Fixes

* Update

* Add traceblock to erigon2 command

* Update

* Update

* Update

* Update

* print panic

* Fix history reads

* Update

* Update locks

* Update

* Fixes

* Set changesets and commitments upfront

* Logging instead of printing

* Fixes in aggregator and recsplit

* Update to erigon-lib

* Remove empty commitments

* Update

* Update

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
2022-02-17 10:56:20 +07:00
Alex Sharov
18989d73e6
RPCDaemon: --txpool.api.addr by default to use value of --private.api.addr #3532 2022-02-17 09:06:22 +07:00
alex.sharov
89f3164653 Revert "save"
This reverts commit 3ac9112df1.
2022-02-17 09:04:23 +07:00
alex.sharov
3ac9112df1 save 2022-02-17 09:02:32 +07:00
Omer Korner
eabc2da6db
Fix typo (#3529) 2022-02-16 18:42:00 +00:00
Alex Sharov
237a7d24d0
Embed RPCDaemon (#3522)
* save

* save

* save

* save

* save
2022-02-16 17:38:54 +00:00
Andrew Ashikhmin
3663f8c709
Explicit error for purged change sets (#3528) 2022-02-16 16:44:16 +01:00
Alex Sharov
7960d0a472
Snapshot: link.header is nil sometime (#3520)
* save

* save

* save

* save

* save

* save

* save

* save

* save

* Add another check

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2022-02-16 12:55:43 +00:00
Andrew Ashikhmin
7bad3a9c59
state.PlainState is now at the beginning of blockNbr, not the end (#3517)
* state.PlainState is now at the beginning of blockNbr, not the end (fix discprepancy with GetAsOf)

* Fix tests
2022-02-16 08:38:12 +00:00
Alex Sharov
6d9ea162ab
rpc daemon embed (step 3) (#3519) 2022-02-16 11:24:51 +07:00
Alex Sharov
e652b5fa87
snapshots: header stage fixes (#3518) 2022-02-16 08:38:54 +07:00
Enrique Jose Avila Asapche
089a1dd5e7
adding engine_ExchangeTransitionConfigurationV1 (#3454) 2022-02-15 09:30:54 +00:00
ledgerwatch
c865290502
Add traceblock to erigon2 command (#3516)
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2022-02-14 23:15:24 +00:00
Andrew Ashikhmin
64f4de50cd
Optimized eth_createAccessList (#3453)
* Make blockNrOrHash optional in CreateAccessList (in line with geth)

* OptimizedAccessList

* cosmetics

* optimizeGas param instead of separate method

* Inline toAddress
2022-02-14 18:39:45 +00:00
Andrew Ashikhmin
b3905fb659
Fix rpcdaemon: borDb may be nil (#3512) 2022-02-14 13:00:54 +01:00
alex.sharov
83c99d66da torrent flags - fix parsing logic 2022-02-14 14:14:37 +07:00
ledgerwatch
dffcc57ecc
[erigon2] Fix history bug, optimise bitmap search (#3510)
* Fix history bug, optimise bitmap search

* Optimise SeekInBitmap64

* Update erigon-lib

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2022-02-13 20:02:18 +00:00
alex.sharov
d488482c89 save 2022-02-13 08:53:10 +07:00
ledgerwatch
ef6013faff
Automation for gathering erigon2 history data (#3501)
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2022-02-12 22:16:06 +00:00
Alex Sharov
1ba95c1087
atomic close 2 channels (#3498) 2022-02-12 17:09:17 +00:00
ledgerwatch
2074b98568
Tools for gathering data on erigon2 history and bitmaps (#3488)
* Tools for gathering data on erigon2 history and bitmaps

* Always start with 0

* Always start with 0

* Clean up commitment files, trace block

* traceblock

* Add tracing to checkChangeSets

* Fixes to DeleteAccount

* Update to latest erigon-lib

Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2022-02-12 15:48:38 +00:00
Alex Sharov
c9cee7a884
path -> filepath (path package is for urls) (#3493) 2022-02-12 20:33:09 +07:00
Alex Sharov
479c7f3d9d
Embed rpcdaemon: prepared direct clients (#3492) 2022-02-12 19:47:19 +07:00
leonardchinonso
aca755ab43
Fix/rpcdaemon ws upgrade (#3490)
* Added a method to `cmd/rpcdaemon/cli/config.go` to check header of incoming http request for a ws upgrade request

* Added the testing of the 'GET /' request for ws to the devnet tool

* Fixed lint errors
2022-02-12 12:40:19 +01:00
Alex Sharov
8d7eca012a
user-friendly pagesize flag (#3484) 2022-02-12 15:23:06 +07:00
ledgerwatch
eb6a168603
[erigon2] Chain history and bitmap indices (#3437)
* First update

* Update to latest erigon-lib

* Fix lint

* Update

* Update

* Update

* Add history2 command

* Updates

* Update erigon-lib

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
2022-02-12 00:06:57 +00:00
Alex Sharov
a1318f869a
make services net-independent (#3481) 2022-02-11 17:11:59 +07:00
alex.sharov
49efd8c051 downloader: fix Ctrl+C 2022-02-11 14:59:51 +07:00
alex.sharov
8068a1bed2 save 2022-02-11 14:57:59 +07:00
Alex Sharov
dcabe33f33
Downloader: don't setup erigon's config if --dowloader.api.addr is set (#3480) 2022-02-11 14:39:28 +07:00
Alex Sharov
f66f937d4d
downloader: print logs on validity check (#3479) 2022-02-11 12:47:29 +07:00
Alex Sharov
3d3315132c
downloader switch back to bolt backend (#3478) 2022-02-11 12:44:18 +07:00
alex.sharov
92fc5ae3de Revert "downloader: enable logs"
This reverts commit db97199d5b.
2022-02-11 11:21:42 +07:00
alex.sharov
db97199d5b downloader: enable logs 2022-02-11 11:17:42 +07:00
leonardchinonso
9dbedb2e1d
Chore/improve devnettest (#3476)
* Increased hardcoded gas price from 50000

* Added functionality to search for last propagated transaction in mined blocks after sending a transaction.

* Added functionality to search for last propagated transaction in mined blocks after sending a transaction.
2022-02-11 10:23:40 +07:00
Alex Sharov
79de194edf
snapshot: less logs (#3467) 2022-02-10 16:16:55 +07:00
Alex Sharov
ccf434f270
GetTransactionByHash: fallback to txpool (#3463)
* GetTransactionByHash: fallback to txpool

* GetTransactionByHash: fallback to txpool
2022-02-10 08:36:24 +00:00
Alex Sharov
2e17b8f515
snapshot: parallel transaction index, recsplit: reset offset collector, etl: faster flush and load (#3465) 2022-02-10 14:40:29 +07:00
Jared Doro
0223489183
[WIP] Adding Support for Sepolia (#3462)
* [WIP] Adding Sepolia

* Fix formatting

* Added Timestamp to Sepolia genesis

* update config

* fixed formating
2022-02-10 07:27:36 +00:00
Alex Sharov
7346f0b56d
Update readme.md 2022-02-10 08:33:05 +07:00
Alex Sharov
e695a6e58b
state and newHead: 1 goroutine per subscriber (#3452) 2022-02-10 08:25:58 +07:00
Andrew Ashikhmin
8466cb1b7b
New Engine API semantics (Kiln v1) (#3340)
* Disable PoS sync temporarily

* Resore PoS sync

* Handle Ctrl^C in HeadersPOS

* Consistent naming

* Extract verifyAndSavePoSHeader & downloadMissingPoSHeaders

* Preparation for EngineForkChoiceUpdated re-orgs

* Extract ForkingPoint

* Comments

* New proto for Engine API

* EngineExecutePayload -> EngineNewPayload

* Return INVALID_BLOCK_HASH if block hash is invalid

* Return EngineStatus_ACCEPTED for side chain blocks

* Update erigon-lib (PR 268)

* Fix payload2Hash

* reverseDownloadCh -> beaconPayloadCh

* Update erigon-lib

* Engine API updated

* ExecutionStatus -> PayloadStatus

* Introduce forkChoiceCh

* Mock ForkChoiceMessage/PayloadStatus

* Add ValidationError to PayloadStatus

* Small clean-ups

* Add INVALID_TERMINAL_BLOCK to EngineStatus

* Add a comment

* Extract handleNewPayload & handleForkChoice

* Partially implement handleForkChoice

* Update erigon-lib

* short vs long re-org

* Move header insertion out of downloadMissingPoSHeaders

* Update erigon-lib

* Refactor ProcessSegmentPOS

* Fix imports

* Wire downloadMissingPoSHeaders into handleForkChoice

* evictOldPendingPayloads

* nolint:unused for assertSegment

* Try nolint instead of nolint:unused

* Small comment improvements

* HeadHeaderHash/StageProgress in handleForkChoice

* TODO: bodyDownloader.AddToPrefetch(block)

* Review call suggestions

* Don't use ReadHeaderNumber in ProcessSegmentPOS

* Don't leave ethbackend waiting when server is stopping

* Update erigon-lib

* More explicit signature of downloadMissingPoSHeaders
2022-02-09 08:33:22 +01:00
Alex Sharov
1d6f8a04ac
Embed downloader (#3450)
* save

* save

* save

* save

* save

* save
2022-02-09 13:22:43 +07:00
alex.sharov
863db147cf bor: ensure db exists 2022-02-09 09:31:12 +07:00
Alex Sharov
e5081c78b9
bor: ensure db exists (#3449) 2022-02-09 09:28:06 +07:00
primal_concrete_sledge
60f4b3a46d
fix/add_4th_parameter_to_parity_list (#3443)
* fix/add_4th_parameter_to_parity_list

* Change blocknum type from interface{} to rpc.BlockNumberOrHash

* Change latest block check
2022-02-08 13:02:18 +00:00
Enrique Jose Avila Asapche
35fcd3a829
Merging Turbo bor into devel (#3372)
* implemented bor consensus

* add bor flags to default

* change bucket into snapshot to clique

* enable stateSync

* bypass reciept checks

* fix receipt calculation and bor logs

* fix: contract call wrt bor

* Update mumbai config

* Add: bor-mainnet flag and config

* Add bor consensus to integration

* use header coinbase in block context

* london fork mumbai changes

* fix genesis error

* Jaipur fork for mumbai

* add sysCall to verifyHeader

* added bor related rpc method implementation

* added bor specific rpc extensions

* fixes in snapshot implementation, major refactor for bor rpc

* modify consensus specific db path for bor

* fix: remove parallel compute for get root hash rpc method

* Added bor-receipt flow

* Use turbo-bor-lib and bor tables

* Use bor table in RPC snapshot

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* update rpc readme

* link rpc docs in readme

* Update Readme

* Update Readme

* move erigon namespace rpc methods to eth

* rm: erigon namespace

* rm: erigon namespace, update list of available rpc methods, add example

* fix: binary name in rpc readme

* fix: max db size

* Add london to bor-mainnet

* updated node.go

* add system req to readme

* golang version fix readme

* added networknames in correct place

* nil

* ran gofmt

* erigon

* fixed fake.go

* dont need turbor-lib

* old readme

* fixing readme

* half

* other half

* changed return

* fixing return

* fixed return

* fixed flags

* gofmt

* merge with devel

* latest erigon-lib

* fixed context.coinbase

* took out syscall

* fixed params in hash

* bor type now is consensus.Engine

* parlia is consensus.Engine

* missing arg and repeated importation

* repeated importation

* fixed eth_receipts.go

* deleted duplicate issuance

* part of consensus.Engine type

* added eth_api issuance

* networkname

* added erigon_system file

* fork struct taken out

* added erigon block

* getLogByHash for erigonImpl

* gofmt

* fixed lint

* ops

* gofmt

* gofmt

* added APIImple functions

* fixed clique test

* took out print

* fixed state added balance

* fixed README

* fixed rpcDaemon README

* fixed integration README

* updated blockchain.go

* lint

* added bor back into blockchain.go

* took out comment

* lint

* updated daemon

* updated wtb

* removed duplicate

* removed VerifyHeaders

* prevent use of wrong Transfer

* fixed state_processor.go

* fixed state_transition.go

* fixed headers

* returning err

* error handling in bor read tx look up

* put for txLookUp

* dealing with error

* lint

* traces

* more traces

* fixed receipt in execution

* getTrasanction receipt for bor or others

* nil

* lint

* ops

* deleted syscall

* took out else

* Merge branch 'devel

* tests syscalls

* changed borReceipt to receipt

* reset header algos

* arguments fix

* took out prefixes

* lint

* erigon-named

* borReceiptKey = blocknumber

* reverts e3b60c2e159d03efcb855f7ab3da5a098dd60c33.

* correct hashing tx

* dont need it here

* lint

* added txlookup for bor

* change to uint256

* outputs for isBor

* wrapper

* added isBor and isParlia

* isBor

* fixed BorTransfer

* not readBody

* correct prefix

* added blockNum

* added readStorageBody

* readStorageBody

* lint

* got rid of unnecessary bor_receipt func

* onlny if bor

* use clone

* append

* writeToSlice

* added isBor flag

* fixed writeToSlice

* normal sorting

* lint

* Reset erigon-snapshots

* Move bor prefix into if

Co-authored-by: Krishna Upadhyaya <krishnau1604@gmail.com>
Co-authored-by: Manav Darji <manavdarji.india@gmail.com>
Co-authored-by: Uttam Singh <uttamkhanduja@yahoo.in>
Co-authored-by: Giulio Rebuffo <giulio.rebuffo@gmail.com>
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
2022-02-07 21:30:46 +00:00
Alex Sharov
69ae7dcad9
prepare to add downloader inside erigon (#3441)
* save

* save

* save

* save
2022-02-07 16:54:20 +07:00
alex.sharov
c421df7953 don't drop on ctx cancel 2022-02-07 15:23:07 +07:00
alex.sharov
c461eec22e don't drop on ctx cancel 2022-02-07 15:10:55 +07:00
Alex Sharov
4540cdd04e
don't drop on ctx cancel (#3440) 2022-02-07 14:58:46 +07:00
alex.sharov
5f4c284eab remove debug line 2022-02-07 12:13:55 +07:00
Alex Sharov
8fa4d759f8
Snapshots: Add verify command, fix mainnet hashes (#3439) 2022-02-07 12:07:46 +07:00
Alex Sharov
25a94ceb66
Downloader: print banned ips (#3430)
* save

* save

* save

* save

* save
2022-02-05 10:40:27 +07:00
alex.sharov
5a748687f8 save 2022-02-05 08:46:00 +07:00
Alex Sharov
ef668bee47
Open downloader: add % progress to logs (#3428) 2022-02-04 16:52:46 +07:00
Alex Sharov
29a4adfbaa
ParallelCompressor: Remove intermediate ETL collectors (#3427)
* save

* save

* save
2022-02-04 16:48:16 +07:00
Alex Sharov
b8c75e6b0b
save (#3426) 2022-02-04 13:10:21 +07:00
Alex Sharov
01380316a5
close nodes db on server start error (#3424) 2022-02-04 13:04:37 +07:00
Alex Sharov
bbf1b5b4bd
Torrent less goroutines (#3423) 2022-02-04 12:42:55 +07:00
ledgerwatch
093bfbad39
[erigon2] Optimisations (#3412)
* Update

* [erigon2] optimisations

* Update to latest erigon-lib

* Update to latest erigon-lib, fix lint

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
2022-02-03 09:36:27 +00:00
Igor Mandrigin
ff4fa5efd3
fix compatibility of getting tx by number (#3409)
* fix compatibility of getting tx by number

`eth_getTransactionByBlockHashAndIndex` and `eth_getTransactionByBlockNumberAndIndex` should return `null` if the index provided is out of bound (checked with Infura and Cloudflare ETH gateway).

* small fixup (formatting)
2022-02-02 14:25:16 +00:00
Alex Sharov
68f1b52b1f
Sentry: 1 goroutine per peer (for outbound requests) (#3403) 2022-02-02 14:59:00 +07:00
alex.sharov
7e93a08155 Revert "save"
This reverts commit 5ad09bfef3.
2022-02-02 09:58:34 +07:00
alex.sharov
5ad09bfef3 save 2022-02-02 09:58:16 +07:00
Alex Sharov
1214831c6e
downloader reduce amount of trackers to 10 (#3394) 2022-02-01 10:41:10 +07:00
Alex Sharov
0f44a545e6
reduce client limit (#3393) 2022-02-01 10:06:31 +07:00
Alex Sharov
7844af0343
smaller limit (#3392) 2022-02-01 09:57:18 +07:00
Alex Sharov
e168e52df5
reduce client conns (#3391) 2022-02-01 09:30:59 +07:00
ledgerwatch
4ef14215b4
[erigon2] three threads, better stats in the logs (#3378)
* [erigon2] Use compact keys in commitments

* Better stats in the logs

* Update

* Update

* Update

* Fix lint

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
2022-01-31 23:40:51 +00:00
Alex Sharov
636e3a8327
Open Don't drop torrents if they don't resolved long time (#3388) 2022-01-31 21:51:31 +07:00
Alex Sharov
d5cbbf5a65
Fix panic in devel (#3386) 2022-01-31 14:04:16 +07:00
Alex Sharov
7b77585195
Downloader: supress some errors (#3381) 2022-01-31 12:28:59 +07:00
Alex Sharov
63b31c2eed
supress some logs (#3380) 2022-01-31 11:29:34 +07:00
Alex Sharov
1f77e220de
disable dht (#3379) 2022-01-31 08:56:48 +07:00
Zachinquarantine
95fbde50be
cmd/utils: fix typo (#3377)
fixes typo in line 553
2022-01-30 19:54:40 +00:00
Giulio rebuffo
9040238f96
issuance (#3375) 2022-01-30 06:42:44 +00:00
Zachinquarantine
4f2b7dba0c
Remove deprecated eth compilers (#3376)
* Update eth_deprecated.go

* Update eth_api.go

* Update eth_api.go

* Update eth_deprecated.go

* Update README.md
2022-01-30 06:42:17 +00:00
Giulio rebuffo
9ca0a721af
Cumulative index stage (#3314)
* prog

* chain traffic

* added log estimation

* fixed err

* unwind
2022-01-27 10:49:03 +00:00
Alex Sharov
aa25792daf
Downloader: use default config (including db) #3359 2022-01-27 13:02:44 +07:00
Alex Sharov
341f70c67b
Snapshot: simplify files walk (#3355) 2022-01-27 12:56:08 +07:00
Alex Sharov
0f908c81fa
Snapshot: use default config (#3357) 2022-01-27 11:23:12 +07:00
Alexandr Borodulin
c46a69a9d1
Fetch nonce from DB (#3316) 2022-01-27 11:09:41 +07:00
Alex Sharov
bb1d19060f
Add downloader to docker-compose (#3348) 2022-01-26 22:26:33 +07:00
Alex Sharov
3142541e5d
Better downloader and txpool docs, support --txpool.trace.senders in external pool (#3346)
* better docs

* better docs
2022-01-26 16:11:22 +07:00
Giulio rebuffo
a75c625d3e
Watchtheburn flag for enabling watch the burn stage (#3325)
* now watch-the-burn needs to be enabled

* refine

* ops

* readme.md

* ops
2022-01-25 17:36:21 +00:00
Enrique Jose Avila Asapche
2aa1ebf9f6
Separate Server For Engine API (#3332) 2022-01-25 19:44:35 +03:00
ledgerwatch
079a177614
[erigon2] Computing data dependencies between transactions (#3290)
* Use ibs per transaction instead of per block

* Remove copy functions, introduce balance increase map

* Fix test

* Fix lint

* Introduce balanceIncrease journal action

* Introduce balanceIncrease journal action

* Simplifications

* Fix

* Reset

* Simplify

* Fix

* Fixes

* Fix for reading nil accounts

* Fix edge cases with reverts

* Clean up test output

* Fix transfers

* Handle special case of ripemd

* Try with fixed compress, only commit every commfreq blocks

* Updates

* Updates

* Update to fixed erigon-lib

* Update to erigon-lib

* Remove stop

* Update to latest erigon-lib

* fixup

* Cleanup

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
2022-01-24 23:12:25 +00:00
e-danko
c42b3e0c3a
StarknetAddress type (#3339)
* added StarknetAddress type

* Moved StarknetAddress to Address32
2022-01-24 15:55:44 +00:00
Alex Sharov
bf01b047bd
Update main.go 2022-01-24 14:12:34 +07:00
Alex Sharov
d29ee65d70
Update readme.md 2022-01-24 14:11:10 +07:00
Alex Sharov
9e8543d948
Snapshots: fill kv.HeaderNumber table (#3328) 2022-01-24 13:47:05 +07:00
Alex Sharov
2a3f87b5c8
Mdbx page size (#3323) 2022-01-22 12:53:25 +07:00
Alex Sharov
304b40dd0a
Snapshot: prohibit to change cli flags (#3311) 2022-01-22 11:18:24 +07:00
Enrique Jose Avila Asapche
ffedd6ac3f
Enabled proposer by default (#3319) 2022-01-21 22:50:34 +03:00
Michelangelo Riccobene
89258fe24f
Enable Sentry to send "peer disconnected" event (#3317) 2022-01-21 10:50:48 +00:00
e-danko
d0123f52fd
Starknet grpc (#3312)
* created starknet_call method

* updated erigon lib

* updated erigon lib

* lint issues
2022-01-20 15:34:00 +00:00
Somu Bhargava
c620b1e7c9
Add Erigon Import feature for Hive integration purpose (#3298) 2022-01-20 07:34:50 +00:00
Alex Sharov
93e28ed3dd
fix some linter warns (#3310) 2022-01-20 14:00:31 +07:00
Alex Sharov
6fd002eb5a
Snapshot: move old blocks to snapshots (non-async version) (#3309)
* save

* save
2022-01-20 12:01:02 +07:00
Artem Tsebrovskiy
7c184f7caa
commands: follow-up update of (#2119): realigned TraceFilterModeIntersection behaviour (#3304) 2022-01-19 21:09:50 +00:00
Alex Sharov
1e3228124a
Move cli root context to erigon-lib (#3294)
* save

* save

* save
2022-01-19 10:49:07 +07:00
Igor Mandrigin
6e01ff5694
fermion: fix block gossip with Starknet txs (#3289)
* move salt to StarknetTransaction

* fixup

* fixup 2

* fixup 2

* fix broken block gossip for with Starknet transactions
2022-01-18 19:54:39 +03:00
Enrique Jose Avila Asapche
ef180848f0
Transaction is nil (#3273)
* checks if txn is nil

* returning nil, nil
2022-01-18 14:04:05 +00:00
Andrew Ashikhmin
f141803661
No need for ApplyBinanceSmartChainEIPs (#3282) 2022-01-18 13:43:21 +00:00
Igor Mandrigin
393753af42
fix starknet tx hashing to work with txpool v2 (#3283)
* fix starknet tx hashing to work with txpool v2

* fix test

* fix starknet txs mining

* lint fixup

* fixup

* fix 2
2022-01-18 11:20:35 +01:00
Alex Sharov
9188705849
Switch to parallel (#3285)
* save

* save

* save

* save

* save

* save

* save

* save

* save

* save
2022-01-18 15:01:36 +07:00
ledgerwatch
3655916eb9
Junk db util (#3284)
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
2022-01-18 12:03:23 +07:00
Alexandr Borodulin
4622287834
Add gas parameter to raw tx generator (#3280)
* Add gas parameter to raw tx generator

* Update go.mod

Co-authored-by: Aleksandr Borodulin <a.borodulin@axioma.lv>
2022-01-17 14:35:24 +01:00
Alex Sharov
f9983edc76
Snapshots: ParallelCompressor class, DecompressedFile class (#3265) 2022-01-17 16:57:57 +07:00
ledgerwatch
1af72faf71
[erigon2] optional writing of "before" value for changes, decouple commitment from blocks (#3272)
* Sepatate commitment calculation from blocks

* Fix

* Fix lint

Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
2022-01-16 21:24:54 +00:00
ledgerwatch
17aff6090f
[erigon2] Resumable prototype (#3263)
* [erigon2] Resumable prototype

* Fix compile error

* Resumable prototype

Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
2022-01-16 08:40:16 +00:00
ledgerwatch
c774bff61e
Update erigon2.go (#3266) 2022-01-15 09:41:56 +00:00
Alex Sharov
359af9e49d
Snapshots: files list (#3264) 2022-01-15 11:23:37 +07:00
Dmitry Savonin
a49d409457
Full BSC support with validator mode (#3233)
* migrated consensus and chain config files for bsc support

* migrated more files from bsc

* fixed consensus crashing

* updated erigon lib for parlia snapshot prefix

* added staticpeers for bsc

* [+] added system contracts
[*] fixed bug with loading snapshot
[+] enabled gas bailout
[+] added fix to prevent syncing more than 1000 headers (for testing only)
[*] fixed bug with crashing sender recover sometimes

* migrated system contract calls

* [*] fixed bug with returning mutable balance object
[+] migrated lightclient contracts from bsc
[*] fixed parlia consensus config param

* [*] fixed tendermint deps

* [+] added some logs

* [+] enabled bsc forks
[*] fixed syscalls from coinbase
[*] more logging

* Fix call sys contract gas calculation

* [*] fixed executing system transactions

* [*] enabled receipt hash, gas and bloom filter checks

* [-] removed some logging scripts
[*] set header checkpoint to 10 million blocks (for testing forks)

* [*] fixed bug with commiting dirty inter block state state after system transaction execution
[-] removed some extra logs and comments

* [+] added chapel and rialto testnet support

* [*] fixed chapel allocs

* [-] removed 6 mil block limit for headers sync

* Fix hardforks on chapel and other testnets

* [*] fixed header sync issue after merge

* [*] tiny code cleanup

* [-] removed some comments

* [*] increased mdbx map size to 4 TB

* [*] increased max chaindata size to 6 tb

* [*] bring more compatibility with origin erigon and some code cleanup

* [+] added support of validator mode for BSC chain

* [*] enable private key load for bsc, rialto and chapel chains

* [*] fixed running BSC validator node

* Fix the branch list

* [*] tiny fixes for linter

* [*] formatted imports for core and parlia packages

* [*] fixed import rules in other files

* Revert "[*] formatted imports for core and parlia packages"

This reverts commit c764b58b34fedc2b14d69458583ba0dad114f227.

* [*] changed import rules in more packages

* [*] fixed type mismatch in hack command

* [*] fixed crash on new epoch, enabled bootstrap flags

* [*] fixed linter errors

* [*] fixed missing err check for syscalls

* [*] now BSC implementation is fully compatible with erigon original sources

* Revert "Add chain config and CLI changes for Binance Smart Chain support (#3131)"

This reverts commit 3d048b7f1a.

* Revert "Add Parlia consensus engine for Binance Smart Chain support (#3086)"

This reverts commit ee99f17fbe.

* [*] fixed several issues after merge

* [*] fixed integration compilation

* Revert "Fix the branch list"

This reverts commit 8150ca57e5f2707a84a9f6a1c5b809b7cc84547b.

* [-] removed receipt repair migration

* [*] fixed parlia fork numbers output

* [*] bring more devel compatibility, fixed bsc address list for access list calculation

* [*] fixed bug with commiting state transition for bad blocks in BSC

* [*] fixed bsc changes apply for integration command and updated config print for parlia

* [*] fixed bug with applying bsc forks for chapel and rialto testnet chains
[*] let's use finalize and assemble for mining to  let consensus know for what it's finalizing block

* Fix compilation errors in hack.go

* Fix lint

* reset changes in erigon-snapshots to devel

* Remove unrelated changes

* Fix embed

* Remove more unrelated changes

* Remove more unrelated changes

* Restore clique and aura miner config

* Refactor interfaces not to use slice pointers

* Refactor parlia functions to return tx and receipt instead of dealing with slices

* Fix for header panic

* Fix lint, restore system contract addresses

* Remove more unrelated changes, unify GatherForks

Co-authored-by: Dmitry Ivanov <convexman18@gmail.com>
Co-authored-by: j75689 <j75689@gmail.com>
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
2022-01-14 19:06:35 +00:00
ledgerwatch
ea6dbd49e8
[erigon2] Running with commitment (#3203)
* [erigon2] Running with commitment

* [erigon2] Running with commitment

* [erigon2] Running with commitment

* go mod tidy

* [erigon2] Running with commitment

* More

* Debug

* fix

* Fix

* state root command

* More fixes

* Fix

* Progress to 164735

* Only trace when failing

* fix for firstInsert

* Over block 1.36m

* Update

* fix to deleteAccount

* Fixes for plainKeys

* Undo printing

* No changeset generation by default

* Print block number on interrupt, fix lint

* Fix lint

* Open history DB as read only

* Print error

* Open non read only

* Readonly again

* Fix lint

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
2022-01-14 16:02:44 +00:00
primal_concrete_sledge
69671cf6c6
WIP:feature/rewrite-devnettest-to-cobra (#3227)
* WIP:feature/rewrite-devnettest-to-cobra

* Add parity commands

* Update dev chain md
2022-01-14 13:08:41 +00:00
Alex Sharov
d8aa5d2d86
[wip] penalize peer for invalid rlp (#3232)
* save

* log

* save
2022-01-13 14:45:23 +00:00
primal_concrete_sledge
7ac165d462
issue/2028-support_parity_listStorageKeys (#3235) 2022-01-13 18:05:30 +07:00
Giulio rebuffo
c0523482a8
Eip4399 state test in cmd/evm (#3220)
* added state tests

* fixed all

* ops

* fix quick

* fix quick
2022-01-10 14:17:26 +01:00
Alex Sharov
06c52c7bc3
Snapshots: create .seg and huffman_codes.txt in tmpdir (#3223) 2022-01-09 15:18:45 +07:00
Alex Sharov
2bcc40fd3f
Snapshots: create .dat in tmpdir (#3222) 2022-01-09 14:43:58 +07:00
Andrew Ashikhmin
c2d0f0082a
Report Valid ExecutionStatus only after all stages (#3212)
* Stricter transition check

* EthBackendServer.numberSent was unused

* Take account of PoS blocks in TopSeenHeight

* Report Valid ExecutionStatus only after all stages, not straight in headers

* Print TTD on startup

* No need to check parent.Hash() again

* core: change baseFee into baseFeePerGas in genesis json

* fix typo

Co-authored-by: Martin Holst Swende <martin@swende.se>
2022-01-07 16:54:26 +01:00
Alex Sharov
4ef541f5dc
Snapshots: tx lookup in RPC from snapshots (#3214) 2022-01-07 20:52:38 +07:00
Alex Sharov
13d9e71ac7
Snapshots: txnHash2BlockNum idx (#3213) 2022-01-06 18:22:59 +07:00
Alex Sharov
eed7475af0
Snapshot: move parallel compression to erigon-lib (#3211) 2022-01-06 14:13:09 +07:00
Alex Sharov
65188ce440
Snapshot: add hash first byte to headers.seg, serve p2p blocks from snapshots (#3198) 2022-01-05 17:14:37 +07:00
Artem Tsebrovskiy
0655e58fa2
#2119 - implemented trace_filter intersection mode for (#3167)
* contracts: implemented trace_filter intersection mode for Trace API (#2119)

* fixed formatting

* revisited error check during tx tracing
2022-01-05 16:38:19 +07:00
Andrew Ashikhmin
d14c223881
Simplify miner gas limit post EIP-1559. Default to 30M (#3205) 2022-01-05 16:36:24 +07:00
Giulio rebuffo
195eb9abaa
Added mining for POS (#3187)
* added comunication with channels

* added final mining

* removed trash

* bug fixing

* async calls

* one thread

* tests

* better comments

* no lock

* better placing of skipCycleHack

* removed long timer

* moved transitioned block processing

* better naming

* disabled updates on blocks

* sync.Cond

* 2 sync.Cond

* better locking

* Use single sync.Cond. Proposer shutdown

Co-authored-by: yperbasis <andrey.ashikhmin@gmail.com>
2022-01-04 18:37:36 +01:00
Alex Sharov
156287a982
Sanity check p2p block (#3197) 2022-01-04 15:46:22 +07:00
Alexandr Borodulin
8203cdf4cd
Added salt to starknet transaction for cairo contract address generation (#3178)
Co-authored-by: Aleksandr Borodulin <a.borodulin@axioma.lv>
2022-01-03 12:32:22 +07:00
Alex Sharov
d4442af192
save (#3193) 2022-01-03 11:39:03 +07:00
Alex Sharov
6904e4c3c4
Snapshot: describe idx schema (#3191) 2021-12-31 20:42:56 +07:00
alex.sharov
065898396a improve downloader readme 2021-12-31 16:36:24 +07:00