Commit Graph

3570 Commits

Author SHA1 Message Date
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
alex.sharov
e442c8bb2e improve downloader readme 2021-12-31 12:09:11 +07:00
alex.sharov
e29be219a7 improve downloader readme 2021-12-31 11:53:15 +07:00
Giulio rebuffo
864b744ed2
Support for syncing on mergemock (#3174)
* block proposing

* standard finalized

* mergemock execution

* private chain can now be ran yay

* perfectioned

* polished

* more polishing

* resize PR

* resize PR

* resize PR

* simplifications

* fixed tests

* better syncronous communication

* better syncronous once again

* clean

* Re-enabled headers verification

* mining finish

* mining finish

* cleaned hash computation

* fixed evm bug

* go.mod

* Update .gitignore

* Update .gitignore

* Update .gitignore

* removed new line from .gitignore

* added go.mod and go.sum

* feeRecipient into preset

* useExternal

* todo

* fixed comment for forkchoiceUpdateV1

* smaller

* smaller

* Revert changes to miner frequency

* Restore useExternalTx

* Fix headerLoadFunc

* do not reset payloadId

* rename

* extra is empty

Co-authored-by: yperbasis <andrey.ashikhmin@gmail.com>
2021-12-29 17:25:13 +01:00
Alex Sharov
5cac9fbff5
Move snapshot creation from hack.go to "erigon snapshot create" cli sub-commmand (#3177) 2021-12-27 14:59:29 +07:00
Alex Sharov
f3973afee8
Rule guard linter enable (#3168) 2021-12-26 10:54:26 +07:00
alex.sharov
d45325c324 downloader readme 2021-12-25 15:32:51 +07:00
Alex Sharov
f5ebd52015
Downloader: --download.limit --upload.limit flags (#3163) 2021-12-24 15:03:51 +07:00
Alex Sharov
4f2fbf27b5
Downloader: log alloc/sys (#3162) 2021-12-24 12:39:33 +07:00
Alex Sharov
40205fb7ca
Torrent: continue download after reboot, --torrent.verbosity flag (#3161) 2021-12-24 10:44:14 +07:00
Andrew Ashikhmin
445ac05220
Verify PoS headers before inserting them into DB (#3151)
* Remove TotalDifficulty stage

* Introduce FeedHeaderFuncType

* Some TODOs

* Don't gossip PoS headers

* FeedHeaderPoS

* Call header.Hash once

* Use FeedHeaderPoS for to write PoS header

* Support errors in EngineExecutePayloadV1

* useExternalTx boilerplate

* Call VerifyHeader on PoS header

* latestValidHash must be nil when status is SYNCING

* fixCanonicalChain instead of canonicalHeadersCollector

* engine.VerifyHeader + FeedHeaderPoS as headerLoadFunc

* fix daemon

Co-authored-by: Giulio Rebuffo <giulio.rebuffo@gmail.com>
2021-12-23 15:06:10 +01:00
Giulio rebuffo
4cebe039a2
Added tips to erigon_WatchTheBurn (#3153)
* added blockIssuance type

* added stage

* bug fixing

* simplifications

* minimalised

* fixed burned computation

* stage complete

* stage issuance

* reposition

* finished

* lint

* tips

* lint

* snapsync
2021-12-22 09:14:18 +07:00
Enrique Jose Avila Asapche
290174a21e
Engine GetPayloadBodiesV1 (#3118)
* added an intitial idea for getBodiesV1

* changed it so it uses a map of hash => bodies

* fixed error in engine implement

* added make

* changed it so it uses rpc.BlockNumberOrHash

* changed map to use hash => executionPayload
2021-12-21 22:56:58 +01:00
Alex Sharov
7390db7b84
Snapshots hashes for mainnet (#3150) 2021-12-21 21:12:32 +07:00
Alex Sharov
82753a6cda
add words count in .seg (breaking change in snapshot format) (#3140) 2021-12-21 10:48:34 +07:00
ledgerwatch
502e933029
Remove mined transactions, fix crash in filters (#3143)
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2021-12-17 10:33:50 +00:00
alex.sharov
59c2e88fec Revert "count in .seg"
This reverts commit 1a130bc9a9.
2021-12-17 09:36:07 +07:00
alex.sharov
1a130bc9a9 count in .seg 2021-12-17 09:35:49 +07:00
ledgerwatch
3ac87a07d5
Downgrade messages to Debug (#3139)
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2021-12-16 23:39:06 +00:00
ledgerwatch
feb79883ac
Txpool: broadcast transaction along with announcements (#3135)
* Txpool: broadcast transaction along with announcements

* Fix panic

* Add TransactionMsg

* Change terminology in the logs

* Fixes from erigon-lib

* Rebroadcast txs promoted to pending subpool

* Deduplicate promoted hashes, fix basefee promotion

* Make sending more resilient, fix promoted

* Split Broadcast and Announce

* Downgrade to Debug messages

* Limit number of retries in SendMessageByMinBlock

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2021-12-16 22:32:05 +00:00
Giulio rebuffo
c596bb4306
Added WatchTheBurnStage + erigon_watchTheBurn json rpc call (#3137)
* added blockIssuance type

* added stage

* bug fixing

* simplifications

* minimalised

* fixed burned computation

* stage complete

* stage issuance

* reposition

* finished

* lint
2021-12-16 22:08:27 +00:00
brendan-kelly
3d048b7f1a
Add chain config and CLI changes for Binance Smart Chain support (#3131)
* Add chain config and CLI changes for Binance Smart Chain support

* Remove BSC hashes for now

* Add an if statement for BSC forks

* Fix up if statement

* Compiles

* Remove extra dependencies from go.mod/go.sum

* Add a TODO

* Potentially fix the tests
2021-12-16 07:26:44 +00:00
ledgerwatch
9f861e1b3f
Check upgrade/downgrade of database schema version to prevent accidental upgrade, remove migrations (#3133)
* Check upgrade/downgrade

* Remove old migrations

* Fix compilation

* Fix lint

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
2021-12-15 21:03:04 +00:00
Frojdi Dymylja
499c27d2e1
change: port js tracer changes (#3128)
* change: expose callCtx as ScopeContext

* change: update tracer API

* change: logger API
update: jst tracer

* add: port jst tracer 2

* add: port jst tracer 3

* add: access list tracer

* chore: lint
2021-12-15 13:19:58 +00:00
ledgerwatch
bcdff3cb9b
Txpool tracing by sender addresses (#3113)
* Txpool tracing by sender addresses

* Update to latest erigon-lib

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2021-12-14 16:15:54 +00:00
Alex Sharov
ecb10e8548
Snapshots download and seed (#3117)
* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* Squashed 'interfaces/' content from commit e5b1945d0

git-subtree-dir: interfaces
git-subtree-split: e5b1945d02da7a7f00e2289034ee90a6edd60184

* 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
2021-12-14 10:13:17 +00:00
Giulio rebuffo
23b3c1d9bc
Added reversed for proof-of-stake syncing (#3092)
* reverse sync slow but working

* progress

* p

* close request

* backwards refactoring

* cleanup 1

* added RequestAssembler

* remove trash code and spaghetti

* efficient

* fix

* refactor

* tf

* refact

* final refactoring

* headers forward restored

* test fixed

* make CI happy

* resolved comments

* not using insertList anymore

* oops

* better collectors

* removed debug config

* avoid pointers

* added sleep

* use of channels

* sleeping

* added logs for ETL

* added more cleanup

* correct glacier

* some refactoring

* maxRequests

* tweaks

* config.go

* config conflicts

* renamed functions
2021-12-13 17:46:15 +01:00
Tim Daubenschütz
432fd11b5b
Document txpool.api.addr when using txpool API (#3116) 2021-12-12 23:06:12 +00:00
Alexandr Borodulin
22a9a9b27d
Add error tests for starknet_sendRawTransaction method (#3102)
* Add error tests for starknet_sendRawTransaction method

* Noop tx pool

* Rename cairo tx to starknet tx, refactor starknet send raw transaction test

* Remove noop tx pool

* Transaction struct

Co-authored-by: Aleksandr Borodulin <a.borodulin@axioma.lv>
2021-12-12 22:24:21 +00:00
brendan-kelly
ee99f17fbe
Add Parlia consensus engine for Binance Smart Chain support (#3086)
* Add Parlia consensus engine for Binance Smart Chain support

* Leave RamanujanBlock as nil in params/config.go

* Run `go fmt` on files needing it

* Add comment for PoSA

* Remove empty branches and ineffectual assignments in parlia.go

* Remove commented imports

* Fix compilation error

* Remove EIP155Signer in transaction_signing.go

* Fix compilation issue

* Fix go fmt issues

* Remove Ramanujan from print statement

* Remove references to EthAPIBackend approach

* Fix Finalize method across consensus engines

* Run go fmt

* More linting

* Remove more changes

* remove a comment

* Remove unneeded hashing function

* Remove bytes check and fix actual vs expected mistake
2021-12-11 00:07:10 +00:00
ledgerwatch
5413a4db91
Header download simplifications (#3106)
* Header download simplifications

* Fixes

* Reuse headerRaw for inserting into DB

* Fix tests

* Fix test

* Revert to the loop in RequestMoreHeaders

* Change Warn to Debug

Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2021-12-10 07:04:04 +00:00
Enrique Avila Asapche
99fd589459 added an intitial idea for getBodiesV1 2021-12-10 00:39:04 +00:00
Alexandr Borodulin
bbb3cc978f
Starknet getcode (#3038)
* deploy_cairo_smartcontract

* deploy_cairo_smartcontract / 2

Add new transaction type for cairo and vm factory

* starknet_getcode

* deploy_cairo_smartcontract / 3

* deploy_cairo_smartcontract / 4

* deploy_cairo_smartcontract / 5

Co-authored-by: Aleksandr Borodulin <a.borodulin@axioma.lv>
2021-12-06 14:58:53 +00:00
ledgerwatch
65d2fbda7c
trace_ include subtraces to precompiles with value > 0 (#3096)
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2021-12-06 12:03:57 +00:00
primal_concrete_sledge
d89e5d2603
Issue/2710 add grpc health check (#3091)
* ISSUE-2710: Add standard grpc health check to services with grpc server

* Go import changed files

* Add flags for healthcheck

* Add grpc healthcheck option to rpcdaemon

* Remove grpc port info if grpc is not enabled

* Resolve merge issues
2021-12-06 12:03:46 +00:00
Giulio rebuffo
918c42ce20
Dropped more ETH65 Code (#3094)
* dropped more eth65 code

* dropped more eth65 code
2021-12-06 08:46:18 +00:00
Alex Sharov
3f34dee475
first revisit downloader service (#3093) 2021-12-06 10:06:37 +07:00
Alex Sharov
b7aa5be149
Remove snapshot migrator class (#3088) 2021-12-05 16:13:40 +07:00
Alex Sharov
178fd1931d
Genesis sync from existing snapshots (#3087) 2021-12-05 09:03:08 +07:00
ledgerwatch
bcc2538577
eth_getLogs to start from latest by default (#3079)
* eth_getLogs to start from latest by default

* Update eth_receipts.go

* Update eth_receipts.go

* Update eth_receipts.go
2021-12-03 12:36:52 +00:00
Dmitry Savelev
71d7b38b85
Fix NodeInfo protocols decoding (#3081) 2021-12-03 11:13:25 +00:00
Giulio rebuffo
3c95db0078
Fixed Proof-of-stake transition (#3075)
* added download channel to stage headers

* added direct execution

* now channel of headers rather than bodies

* simplifications

* fixed ttd headerForward

* garbage removed

* added some more stepping stones

* better transition

* covered edge case

* added names to returned values

* clean
2021-12-03 11:55:00 +01:00
Alex Sharov
4062c0590b
Update README.md 2021-12-02 18:52:41 +07:00
Andrew Ashikhmin
e258eff9c2
Update Engine API to v1.0.0-alpha.5 (#3074)
* Update Engine API to v1.0.0-alpha.5

* Remove ForkchoiceState since we're going to handle unwinds via ExecutePayload, not ForkchoiceUpdated
2021-12-01 19:15:57 +01:00
ledgerwatch
3449eed8e0
More info about remote RPC Daemon state cache + eth_createAccessList (#3068) 2021-12-01 07:52:36 +00:00
ledgerwatch
7a1a2db3ce
Reverse order of arguments in eth_createAccessList (#3066)
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
2021-12-01 07:34:58 +00:00
Dmitry Savelev
d4f6ceff1c
Add NodeInfo implementation (#3046)
* Add NodeInfo implementation

* replace magic value with a constant.

* update dependencies

* bump minor version

* add nodes deduplication logic.

* shuffle values in test cases a little.
2021-11-30 22:42:12 +00:00
Giulio rebuffo
d7ee2b1447
Merge pull request #2997 from ledgerwatch/enginev1
Added ExecutePayloadV1 to engine_ namespace [the merge]
2021-11-30 19:21:17 +01:00
ledgerwatch
b1b68e05ea
Erigon2 state runner - option to compare with historical state (#3061)
* Comment out comparisons

* Introduce check option

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
2021-11-30 16:46:43 +00:00
Giulio Rebuffo
52e302b9ab ops again 2021-11-30 14:14:04 +01:00
Giulio rebuffo
97ed051dca
Error handling 2021-11-30 13:58:00 +01:00
ledgerwatch
feebc7d3e6
save (#3059) (#3060)
Co-authored-by: Alex Sharov <AskAlexSharov@gmail.com>
2021-11-30 12:36:01 +00:00
Giulio rebuffo
5c417e49dd
ops 2021-11-30 11:50:34 +01:00
TBC Dev
5eca3beea9
Avoid redundant BitLen() (#3056)
* Prefer uint256.IsZero() or big.Sign() for 0-testing over BitLen()

* Avoid redundant BitLen()
2021-11-29 22:35:51 +00:00
Giulio Rebuffo
00bd53a7a4 gencodec 2021-11-29 18:30:33 +01:00
Giulio Rebuffo
e76bc807bb better api 2021-11-29 15:47:08 +01:00
TBC Dev
ae4819ddad
Prefer Block.NumberU64() over Block.Number.Uint64() (#3051) 2021-11-29 11:32:41 +00:00
ledgerwatch
0e6e47e913
Create access list (#3048)
* Create access list

* CreateAccessList compiles

* fixes

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2021-11-29 09:28:35 +00:00
Giulio rebuffo
cfed35921c
Merge branch 'devel' into enginev1 2021-11-29 09:57:56 +01:00
TBC Dev
57d641b6f9
Avoid redundant Block.Header() deep-copy (#3050)
* Add separate Block.Nonce() and Block.NonceU64()

* Add Block.Seal()

* Avoid redundant Block.Header() deep-copy

* Add warning comment for Block.Header()
2021-11-29 08:52:36 +00:00
Alex Sharov
8104a90993
Snapshot: exec and trie to support snapshot files (#3033) 2021-11-29 10:43:19 +07:00
TBC Dev
2f0758e817
ChainSegment efficiency (#3042)
* De-dup blockHeaders66() and blockHeaders65()

* Simplify loops and EOL detection

* Add ChainSegmentHeader struct and refactor

* Add RawRlpHash() to avoid re-encode for header hash

* Avoid multiple redundant rlpHash()

* Sort headers by height,hash to make dups consecutive

* Flip condition to reduce map lookups

* Remove redundant check

* Use rlp.RawValue rather than []byte to help self-document
2021-11-27 17:28:17 +00:00
ledgerwatch
5a09c1c8c6
Erigon2 state runner (#3034)
* erigon 2 state experiment

* Some boilerplate

* More boilerplate

* More boilerplate

* Introduce comparison

* trace merges

* Fix

* Update erigon-lib dependency

Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2021-11-27 09:43:25 +00:00
Giulio Rebuffo
6866eec31f added transition checks 2021-11-26 23:03:47 +01:00
Giulio Rebuffo
af8b6da238 useless 2021-11-26 21:47:06 +01:00
Giulio Rebuffo
8e7954ee00 payload unwind placeholder 2021-11-26 21:46:43 +01:00
leonardchinonso
d02903be2e
Devnet build to test eth_getBalance, eth_sendRawTransaction and txpool_content (#3041)
* completed and cleaned up dev chain build

* Last minute syntax changes
2021-11-26 16:05:16 +00:00
Giulio rebuffo
38548e28fb
Merge branch 'devel' into enginev1 2021-11-26 15:42:36 +01:00
ledgerwatch
6910e18e7f
[txpool] Introduce PriceBump, change tx replacement logic, add test (#3039)
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2021-11-26 14:39:26 +00:00
Giulio Rebuffo
e72d2399da updated lib 2021-11-25 19:44:02 +01:00
Giulio Rebuffo
768617f412 added proper errors 2021-11-24 23:19:40 +01:00
Giulio Rebuffo
435d1d1519 channels implemented 2021-11-24 23:00:00 +01:00
TBC Dev
905818f4e2
Simplify SentPeers replies (#3028) 2021-11-24 17:17:08 +00:00
Alex Sharov
67c49cf1c3
Pool: support multi sentry (#3030)
* save

* save

* save

* save

* save

* save

* save

* save
2021-11-24 17:15:14 +00:00
Alex Sharov
9d46c80046
save (#3031) 2021-11-24 17:09:14 +00:00
alex.sharov
726278fd8a save 2021-11-24 10:55:25 +07:00
leonardchinonso
607e958123
Committing changes for devnettest (#3026) 2021-11-23 16:44:46 +00:00
TBC Dev
8b4bc39e5d
Fix atomic peer height update (#3019) 2021-11-22 18:40:57 +00:00
Alex Sharov
6d24a30a01
Drop txpool v1 (#3017)
* drop_txpool_v1

* drop_txpool_v1

Co-authored-by: Alex Sharp <alexsharp@alexs-macbook-pro.home>
2021-11-22 18:38:51 +00:00
ledgerwatch
becb25021b
Revert erroneous merge (#3022)
* Revert "Making corrections to code formatting"

This reverts commit c154d65cec.

* Revert "Implemented devnet test for eth_getBalance"

This reverts commit dc4c001f51.

Co-authored-by: Alex Sharp <alexsharp@alexs-macbook-pro.home>
2021-11-22 18:33:37 +00:00
leonardchinonso
c154d65cec Making corrections to code formatting 2021-11-22 19:15:12 +01:00
leonardchinonso
dc4c001f51 Implemented devnet test for eth_getBalance 2021-11-22 18:36:33 +01:00
Giulio Rebuffo
af4caf4459 fixed compilation 2021-11-22 16:17:01 +01:00
Giulio Rebuffo
bac85f854b added getPayloadV1 2021-11-22 16:12:34 +01:00
Giulio Rebuffo
c05e3a9fa1 connected to daemon 2021-11-22 11:36:52 +01:00
TBC Dev
e1c44cd19b
Change sentry peer_id from H512 pubkey to H256 keccak256(pubkey) (#3013)
* Rename protoHandshake.ID to protoHandshake.Pubkey

* Fix enode.ID comment descriptions

* Change sentry peer_id from H512 pubkey to H256 keccak256(pubkey)

* Simplify PeerInfo helpers
2021-11-22 05:39:31 +00:00
Giulio Rebuffo
21cbc19f21 using batch over tx 2021-11-21 23:11:50 +01:00
Giulio Rebuffo
1267d540b1 added engine_executePayloadV1 2021-11-21 22:47:33 +01:00
Giulio Rebuffo
23883d9104 merge 2021-11-21 21:55:41 +01:00
Dmitry Savelev
77a31a8b36
Fix Sentry server initialization (#3008) 2021-11-21 19:36:26 +00:00
ledgerwatch
2f9128cf21
eth_estimateGas to correctly recap to balance for London txs (#3006)
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2021-11-21 11:19:33 +00:00
ledgerwatch
2ddfa52515
trace_block to return empty result for genesis (#3002)
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2021-11-21 09:59:28 +00:00
ledgerwatch
b073787f1d
eth_getTransactionReceipt not to return unrelated txs (#2998)
* Cleanup

* Restore

* Fix for existing tx

* Cleanup

Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
2021-11-21 09:22:29 +00:00
Alex Sharov
b3e8a1a02a
hack: remove createIdx and txLookup methods (#3000) 2021-11-21 12:06:36 +07:00
Alex Sharov
e55256296b
snapshots: read block from snapshots, add sender to txs file (#2996) 2021-11-21 10:32:14 +07:00
Giulio Rebuffo
6dd2d67121 Added ExecutePayloadV1 method to engine_ namespace 2021-11-20 22:53:03 +01:00
Giulio Rebuffo
224441cb07 initial commit2 2021-11-20 17:27:11 +01:00
Alex Sharov
d4850b6adc
Hack: dump bodies and headers (#2994) 2021-11-20 09:41:01 +07:00
Alex Sharov
2a08dbd3d9
Recsplit: move files read/write helpers to erigon-lib (#2993) 2021-11-19 12:12:25 +07:00
Alex Sharov
5b634a790e
Canonical tx ids (#2986)
* 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
2021-11-18 14:07:55 +00:00
ledgerwatch
69fa571f8d
Fix for eth_getLogs with zero fromBlock and toBlock (#2989) 2021-11-18 14:05:20 +00:00
Giulio rebuffo
e6916d4d00
[EIP-4399 2/3] Added total difficulty stage and transition logic (#2964)
* added diff stage

* added td stage

* improvements + more tests

* added err check

* added err check

* transition raw interfaces

* interface for transition

* unwind updates

* maybe this fix

* now fixed?

* fixes

* better db-format

* better db-format

* sum and mod

* sum and mod

* fixed headers unwind
2021-11-17 15:50:41 +00:00
ledgerwatch
12f565697e
pending nonce (#2953)
* pending nonce

* Increment nonce of last tx to get tx count

* Upgrade erigon-lib

Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2021-11-15 10:54:31 +00:00
TBC Dev
a902880e99
Refactor sentry peers (#2961) 2021-11-15 10:07:57 +07:00
TBC Dev
669b5dd3ab
Add trusted peers flag (#2958)
* Refactor and consolidate enode-list config parsing

* Add trustedpeers flag
2021-11-14 18:44:44 +07:00
Alex Sharov
aad0d0c777
grpc GetBlock api (#2955) 2021-11-14 11:08:52 +07:00
TBC Dev
484c8eed91
Fix SendHeaderRequest peer minBlock (#2946) 2021-11-11 08:34:13 +00:00
alex.sharov
c1cbb21f3d save 2021-11-11 10:39:44 +07:00
Giulio rebuffo
ab4c080cbc
Merge pull request #2939 from ledgerwatch/enginev1
Dropped ETH65
2021-11-10 21:44:39 +01:00
Alex Sharov
f31a76baea
Compress: add maxPatternLen=64 (#2943) 2021-11-10 22:10:01 +07:00
Alex Sharov
c7a014b72f
RPC: don't save nil's to blocksLRU (#2937) 2021-11-10 10:31:13 +07:00
Alex Sharov
e670f3930f
Lcp must be int32 (#2934) 2021-11-09 17:47:12 +07:00