Commit Graph

3570 Commits

Author SHA1 Message Date
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
Alex Sharov
3842351293
move DictAggregator to erigon-lib (#2933) 2021-11-09 10:12:25 +07:00
Alex Sharov
deed48c01a
Small step towards torrent downloader (#2929) 2021-11-08 20:40:56 +07:00
Alex Sharov
9ab2bbee1b
recsplit: single offset bucket (#2928) 2021-11-08 14:27:47 +07:00
Giulio Rebuffo
02d3c697d1 removed eth64/65 tests 2021-11-07 22:16:49 +01:00
Giulio Rebuffo
f34ccb75e5 refactor downloader 2021-11-07 20:25:37 +01:00
Alex Sharov
194330fa4b
Recsplit: preserve immutability threshold (#2926) 2021-11-07 13:01:33 +07:00
Alex Sharov
49ff8ff166
Recsplit: collision typed error (#2925) 2021-11-07 09:58:20 +07:00
Alex Sharov
ed83d2974f
Pool: don't send empty events (#2924) 2021-11-07 09:45:00 +07:00
alex.sharov
e802e43fa8 add pprof http to hack 2021-11-07 09:16:25 +07:00
Giulio rebuffo
c1e7650106
added engine_ namespace in rpcdaemon (#2923) 2021-11-07 08:38:36 +07:00
Alex Sharov
a5bbe82a59
ETL: use logPrefix as suffix of tmp files (#2921) 2021-11-05 17:19:44 +07:00
Igor Mandrigin
4a5aaeea72 unbreak rpc daemon after snapshot.dir removal 2021-11-04 20:47:55 +01:00
Alex Sharov
4dbf025fb5
suppress some p2p errors (#2914)
* save

* save
2021-11-04 11:14:49 +00:00
alex.sharov
f1a493914f save 2021-11-04 16:05:33 +07:00
alex.sharov
5d0f081a9c save 2021-11-04 15:45:55 +07:00
Alex Sharov
686721b6c6
EliasFano: fix jump calculation, fuzzing to trigger jump logic (#2912) 2021-11-04 13:25:34 +07:00
Alex Sharov
702631bf6f
prohibit change prune mode (#2908) 2021-11-03 20:05:52 +07:00
alex.sharov
132bce6066 fix miss-type of cli param: txpool.globalbasefeeslots 2021-11-02 21:49:46 +07:00
Alex Sharov
70461e4e68
Recsplit: add first byte of hash to txn payload (#2902) 2021-11-02 14:35:09 +07:00
Alex Sharov
8c6c9527db
Drop --txpool.v1 flag (#2901) 2021-11-02 09:35:58 +07:00
Alex Sharov
6f055e7adc
Recsplit: call ef.Build and set ef.prevOffset (#2897) 2021-11-01 09:24:06 +07:00
Alex Sharov
3d63c93b3d
Recsplit: add hack recsplitLookup for test (#2895) 2021-10-31 10:20:31 +07:00
ledgerwatch
04f7fe468a
hack to print headers (#2892)
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2021-10-30 12:27:30 +01:00
Alex Sharov
fc010b77ee
Switch sentry mock to pool v2 (#2885)
* save

* save

* save

* save

* save

* save

* save

* pool v2 docs

* pool v2 docs

* pool v2 docs

* save

* save

* save

* save

* save

* save

* save
2021-10-28 21:18:34 +07:00
Dean
83f780cab1
Update README.md (#2887)
typo
2021-10-28 20:00:39 +07:00
alex.sharov
e2ec9f7621 pool v2 docs 2021-10-28 17:50:49 +07:00
alex.sharov
e366abd9e8 pool v2 docs 2021-10-28 17:49:40 +07:00
Alex Sharov
83593c28c2
recsplit: bigger bufio buffer (#2867) 2021-10-26 11:19:56 +07:00
alex.sharov
95f240d597 enable pool test 2021-10-25 17:15:56 +07:00
alex.sharov
42b84026c2 skip 2021-10-25 17:14:45 +07:00
Alex Sharov
5d7904c133
erl.collector - move logPrefix to constructor (#2866) 2021-10-25 15:09:43 +07:00
alex.sharov
e22758355f check that header not nil 2021-10-22 10:10:38 +07:00
Alex Sharov
e6bd6fbfcc
Add p2p msg to panic (#2861) 2021-10-22 09:51:49 +07:00
Alex Sharov
752f76847d
propagate all promoted txs when add local tx (#2841) 2021-10-20 10:40:23 +07:00
alex.sharov
bc5c09f5fc RPC: fix nil pointer on error 2021-10-20 07:28:14 +07:00
ledgerwatch
57ebf94c16
Revert "Trace calls to precompiles if value is not zero (#2839)" (#2842)
This reverts commit 7234210fe0.
2021-10-19 16:26:35 +01:00
ledgerwatch
7234210fe0
Trace calls to precompiles if value is not zero (#2839) 2021-10-19 07:53:39 +01:00
Andrea Lanfranchi
a477aaadd9
Enable DeveloperPeriodFlag (#2838)
Setting a period !=0 allows mining of empty blocks
2021-10-19 07:50:25 +01:00
Andrea Lanfranchi
839e0c9d28
Allow peers in dev mode (#2836) 2021-10-18 19:36:01 +01:00
ledgerwatch
2dec76123c
Use decompressor from erigon-lib and experiments with tx lookup (#2824)
* Use decompressor

* Use decompressor

* Close compressor

* Upgrade to latest erigon-lib

* Fix compile errors

* Fix lint

* Remove count from files

* Remove count from files

Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2021-10-16 22:19:13 +01:00
e-danko
574be07415
Updated Fermion genesis extraData (#2830)
* updated Fermion extradata + fixed bug with PublicKey

* Update Fermion extradata: fix genesis hash
2021-10-16 13:12:57 +03:00
Alex Sharov
f81ade1b2b
enable poolv2 by default (#2831) 2021-10-16 12:37:43 +07:00
alex.sharov
7885cc6809 Revert "enable by default"
This reverts commit 7f58290a45.
2021-10-16 09:55:38 +07:00
alex.sharov
7f58290a45 enable by default 2021-10-16 09:55:23 +07:00
e-danko
c970261ac9
switched Fermion to Clique (#2823)
* switched Fermion to Clique

* Update Fermion to Clique: updated genesis block hash
2021-10-13 17:51:45 +03:00
Alex Sharov
a470da8c2c
enable London in mining, fix pre-london gasPool in mining (#2821) 2021-10-13 11:04:59 +07:00
Igor Mandrigin
cd1e98d44b
update Fermion devnet id to 1212120 to avoid clashes with https://chainlist.org (#2817) 2021-10-13 08:28:07 +07:00
Alex Sharov
04f8ecb0ae
RemoteRPC: add --state.cache=keys_amount cli parameter (#2816) 2021-10-12 16:27:47 +07:00
Alex Sharov
da00e949c4
RemoteRPC: coherentCache for kv.Code; LocalRPC: enable small blocksLRU (#2815) 2021-10-12 12:04:04 +07:00
ledgerwatch
21d024b06a
More mature experiments with the state and transaction compression (#2811)
* Change to use Patten inside patricia tree

* Huffman codes for compression

* Huffman coding of positions, generate tx files to test compression

* Split state into 3 files, relative positions, average decoding time

* Small optimisations of decompression

* Optimise intermediate compression

* Update erigon-lib ref

* Fix lint

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2021-10-11 21:05:45 +01:00
Eugene
c431dbfb5d
prealloc for block receipts (#2814) 2021-10-11 21:24:21 +07:00
Alex Sharov
3bd223d5f8
set correct default values of sub-pool sizes when --txpoo.v2 set (#2813) 2021-10-11 12:40:39 +07:00
Alex Sharov
2d64584d4f
Better prune logs (#2812) 2021-10-11 11:58:57 +07:00
Alex Sharov
64178ff80d
Checkpoint challenge timeout: remove td check after handshake (#2807)
* remove td check after handshake

* save
2021-10-10 22:14:50 +07:00
Eugene
90e608c771
Implement test for RPC newHeads notification (#2805)
* implement test for `eth_subscribe`

* fix variable name collision
2021-10-09 16:04:54 +07:00
Alexandr Borodulin
4b881569c3
implement-reading-the-signature-private-key-from-a-file (#2798)
Co-authored-by: Aleksandr Borodulin <a.borodulin@axioma.lv>
2021-10-09 08:39:00 +07:00
Alex Sharov
5ca558c667
Move lengths to erigon-lib other packages depend on it (#2799)
* move lengths to erigon-lib

* move lengths to erigon-lib
2021-10-08 10:20:45 +07:00
canepat
03659cc801
Add eth_call bench test (#2796)
Refactor requestAndCompare to check errors
2021-10-08 08:43:54 +07:00
ledgerwatch
7e4996bb09
Reworkings of state compression experiments (#2790)
* Changes

* Progress

* Another way

* More

* More

* Produce encoding

* Add uncoded characters

* cleanup

* Add sortdict

* Fixes

* Use patricia from erigon-lib

* Cleanup

* Switch to dynamic programming, optimise allocations in FindMatches

* Optimise allocations

* Reduce allocations

* Switch to main branch of erigon-lib, reduce allocations further

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
2021-10-06 19:58:12 +01:00
Alex Sharov
54cdf74394
Rpcdaemon: add --tevm flag to enable experiment (#2788) 2021-10-06 16:09:47 +07:00
alex.sharov
74168d9426 remove debug prints 2021-10-06 14:05:22 +07:00
Alex Sharov
a6a63e8b0e
Integration to print right stage in logs (#2785) 2021-10-06 14:02:50 +07:00
Alex Sharov
b878096ef0
RPCDaemon: reduce --rpc.batch.concurrency default from 50 to 2 (#2784) 2021-10-06 13:58:18 +07:00
Alex Sharov
2e93434a94
Enable "State stream" by default (#2780) 2021-10-05 16:06:45 +07:00
Alex Sharov
21785780bf
IntermediateHash stage - switch from incremental to re-generate mode - if jump > 100K blocks (#2781) 2021-10-05 15:32:18 +07:00
Andrea Lanfranchi
3bc3be4b5f
Clean up DEBUG category logs (#2776)
- move many DEBUG logs into TRACE category
2021-10-05 08:14:04 +07:00
Andrea Lanfranchi
c913f35c2e
Inner errors (#2774) 2021-10-04 22:16:52 +07:00
Alex Sharov
de16cb9e23
add logs in recoverFromDb func (#2769) 2021-10-04 19:46:05 +07:00
Alex Sharov
b890e973db
Dockerfile: switch to go1.17 and alpine3.14 (#2766) 2021-10-04 08:04:38 +07:00
Alex Sharov
83555c2255
Pool v2: --txpool.accountslots flag support (#2765) 2021-10-03 13:27:37 +07:00
alex.sharov
e73d6c2282 --txpoo.pricelimit support 2021-10-03 07:52:18 +07:00
Alex Sharov
d61a9ad073
Pool v2: --txpool.pricelimit support (#2763) 2021-10-02 17:34:57 +07:00
Alex Sharov
f167df06c2
Revert "rpcdaemon: (#2752)" (#2762)
This reverts commit 2afd028d3d.
2021-10-01 18:30:14 +07:00
Eugene
2afd028d3d
rpcdaemon: (#2752)
*Change `TxPoolApiAddr` to match that one being set by default
2021-10-01 09:15:58 +07:00
alex.sharov
76aa1a7c1a no panic on nil filters 2021-10-01 09:15:45 +07:00
ledgerwatch
99cc7b7b13
Fix for the RPC daemon dual mode (#2756)
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2021-09-30 17:40:58 +01:00
Alex Sharov
0ec73d6390
no panic on nil filters (#2751) 2021-09-30 18:42:25 +07:00
alex.sharov
3f10758faf add --txpool.globalbasefeeeslots 2021-09-29 14:55:43 +07:00
alex.sharov
fc44197f06 fix merge conflict 2021-09-29 14:48:19 +07:00
Alex Sharov
2d98c3bd0d
Remote RPC: add blocksLRU (#2744) 2021-09-29 13:51:51 +07:00
alex.sharov
3c58aa101c fix merge conflict 2021-09-29 10:32:41 +07:00
Alex Sharov
17abe11cc0
Remote RPC: add state cache (#2738) 2021-09-29 08:36:25 +07:00
e-danko
0c93c314d4
added Fermion network (#2737) 2021-09-29 08:35:43 +07:00
Igor Mandrigin
9848028aef
Implement a simple healthcheck (#2740) 2021-09-28 16:27:57 +07:00
Nickolay Savchenko
d027d712eb
Json rpc eip1898 correctness (#2736) 2021-09-28 09:25:56 +07:00
ledgerwatch
0d34a5b9c5
[State sync experiment] Building dictionary for state file compression (#2721)
* Kasai experiments

* Use divsufsort instead of standard lib

* Refactor experiments, split dictionary building into chunks

* Fixes

* Estimate compression, sample

* More stats

* Parallelise

* Fix lint

* dictionary aggregator

* Actual replacement

* Fixes, separate dictionary processing

* Test file

* More correct dictionary, decompression

* Use dynamic programming to reduce dictionary

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
2021-09-27 21:32:53 +01:00
e-danko
7d338f5e1c
#2660: added Kovan network (#2733) 2021-09-27 19:56:17 +07:00
Alex Sharov
3dcc226b8b
--mdbx.augment.limit (#2734) 2021-09-27 18:43:24 +07:00
Zachinquarantine
5da7fb64bf
Remove deprecated Whisper code (#2726) 2021-09-25 22:28:25 +07:00
alex.sharov
0976b9e452 add todo list to txpool readme 2021-09-24 09:42:17 +07:00
Alexandr Borodulin
d7159cd8bd
More convenient pruning for non-PoW consensus: add --prune.*.before flags (#2714) 2021-09-23 09:13:19 +07:00
Alex Sharov
0b776eead4
flag --txpool.v2 to enable --state.stream flag (#2718) 2021-09-22 15:39:51 +07:00
Alex Sharov
787ec652a0
Sender check read from db (#2717) 2021-09-22 11:57:09 +07:00
Alex Sharov
3de50637cd
remove changeset.Walk func (#2716) 2021-09-22 07:54:29 +07:00
Alex Sharov
133eec0c7e
Pool: correct new pending txs notifications (#2715) 2021-09-21 17:35:28 +07:00
ledgerwatch
a9e4cbc83e
Recsplit experiments (#2706)
* Only do 2m

* Optimisation

* Flexible count

* Count properly

* count

* Bijection check

* Add keys

* Print bucket info

* Collision map

* Collision map

* Add tracing

* Tracing

* Fix split

* No trace, print lookup time

* Not override count if block=0

* fix count

* Go mod tidy

* Fix lint

* Measurements

* Cleanup

* Latest erigon-lib

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
2021-09-21 07:53:22 +01:00
alex.sharov
6927165f0e save 2021-09-21 08:57:23 +07:00
Alex Sharov
a0321e2f3a
Pool: return lost error, fix race of 2 sentries, more friendly logs (#2707) 2021-09-20 20:16:50 +07:00
Alex Sharov
1f8937fdd1
Pool: discard reasons, lru, start pool even if no --mine flag (#2704) 2021-09-20 13:20:50 +07:00
Alex Sharp
c519b04551 Revert "state mphf experiment"
This reverts commit b0182d7834.
2021-09-19 11:41:51 +01:00
Alex Sharp
b0182d7834 state mphf experiment 2021-09-19 11:40:23 +01:00
Alex Sharov
8d9e058eb7
Pool: chain config, non-mainnet (#2702) 2021-09-18 20:58:23 +07:00
Alex Sharov
b30ccd2ddf
Revert "Add prune before parameters" (#2701)
This reverts commit 49a98ad4b6.
2021-09-18 08:37:39 +07:00
Alexandr Borodulin
49a98ad4b6
Add prune before parameters 2021-09-17 19:01:15 +07:00
Alex Sharov
165fe1696f
Pool: readme (#2699) 2021-09-17 18:21:21 +07:00
Alex Sharov
400c71b7ce
Pool: txID-based cache (#2697) 2021-09-17 10:31:20 +07:00
Alex Sharov
3b9f07f550
don't recover sender only to print it in logs (#2695) 2021-09-16 21:08:46 +07:00
Alex Sharov
76dd448c70
Pool: switch cache to tx.ID(), add blockNum to tx info to drop from full pool old txs first (#2688) 2021-09-15 19:34:05 +07:00
Alex Sharov
ad1682cf40
Expose mdbx's txID to remote_kv (#2686) 2021-09-15 14:22:57 +07:00
Alex Sharov
ec14cba611
Remote Pool: add mining rpc, test pending txs stream (#2685) 2021-09-15 09:09:19 +07:00
Alex Sharov
77db993cfc
Pool: add coherent cache (#2678) 2021-09-13 14:58:25 +07:00
Alex Sharov
a3cd1d3df4
fix sentry forks slice race (#2676) 2021-09-13 13:54:12 +07:00
Alex Sharov
d7c929411b
fix sentry discover race (#2675) 2021-09-13 13:39:48 +07:00
Eugene
4bd8721d49
sentry/download: (#2672)
*Use atomics for `PeerInfo.Height()` and `PeerInfo.SetHeight(uint64)`
2021-09-12 17:51:15 +07:00
ledgerwatch
15b4095718
Move ETL to erigon-lib (#2667)
* Move ETL to erigon-lib

* Update link in the readme

* go mod tidy

* Use common/chan.go from erigon-lib

* Clean up

* Fix lint

* Fix test

* Fix compilation

Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
2021-09-12 08:50:17 +01:00
Alex Sharov
b5a6046fc3
sentry peerInfo race (#2666) 2021-09-11 16:12:03 +01:00
Alex Sharov
ed33b651cd
Print goroutines trace to STDOUT without app stop on SIGUSR1 (#2663) 2021-09-11 18:16:39 +07:00
Alex Sharov
87afc18cfd
increase fdlimit from all binaries (#2665)
(not only rpcdaemon)
2021-09-11 16:25:21 +07:00
Alex Sharov
3193f95152
Apply mined block (#2650) 2021-09-09 14:26:58 +07:00
Alex Sharov
2d8941a845
Pool: built-in v2 (#2643) 2021-09-08 12:31:51 +07:00
Alex Sharov
99317663f8
No open db in main, right clique sign, periodically release write tx on devnet (#2642) 2021-09-08 11:13:34 +07:00
alex.sharov
76fcb869c9 add prune mode to integration sender 2021-09-08 08:41:44 +07:00
Giulio rebuffo
b85c5f40e2
added senders pruning (#2634) 2021-09-08 08:38:58 +07:00
Alex Sharov
dd7f197db3
Devnet private key (#2639) 2021-09-07 16:12:49 +07:00
Alex Sharov
2f5b1e490b
revert json iter pool change (#2627) 2021-09-07 09:54:00 +07:00
ledgerwatch
450bd5d655
Not to exclude traces to precompiles on the top level (#2635)
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2021-09-06 16:36:44 +01:00
Alex Sharov
873ef75f39
Pool: grafana board (#2625) 2021-09-03 14:16:27 +07:00
Alex Sharov
28480a36ec
Pool: add --txpool.v2 flag to rpcdaemon (#2624) 2021-09-03 11:19:35 +07:00
Alex Sharov
4c1dbdf50e
Pool: add --txpool.v2 flag to erigon (it just disabling existing machinery for now) (#2620) 2021-09-02 17:04:30 +07:00
Alex Sharov
cf026fdd91
Rpcdaemon race on chainConfig set (#2617) 2021-09-02 15:47:48 +07:00
Alex Sharov
953f348d1e
Pool: add grpc server (#2615) 2021-09-02 12:55:04 +07:00
ledgerwatch
12cbf4d6fa
Ropsten to find correct chain (#2614)
* Ropsten to find correct chain

* Cleanup and compile fix

* Compile fix

* Print duration of the unwind, not the timestamp

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2021-09-01 22:21:57 +01:00
ledgerwatch
6564d6a42f
Properly fix the case when gasPrice is not specified (#2607)
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2021-09-01 09:26:24 +01:00
Zachinquarantine
5e713d6da6
Remove calaveras testnet (#2600)
* Remove calaveras

* Remove Calaveras testnet
2021-09-01 08:16:30 +07:00
Alex Sharov
143a0d0231
Pool: remove redundant prefix in txs table (#2603) 2021-08-31 21:59:30 +07:00
Alex Sharov
cfeac97156
Pool: state eviction (#2590) 2021-08-28 18:24:53 +07:00
Alex Sharov
1f480fa472
pool: make sender info unloadable (#2584)
* ss

* ss

* ss

* ss

* ss

* ss

* ss

* ss

* ss

* ss

* ss

* ss

* ss
2021-08-27 11:51:33 +07:00
Alex Sharov
10feb71530
Pool: handle "stop at non-canonical block" case (#2582) 2021-08-26 10:01:00 +07:00
Alex Sharov
caa1122dd3
consuming is slow (#2580) 2021-08-25 09:07:50 +07:00
Alex Sharov
f3021dd2af
RPC: small optimizations (#2564) 2021-08-24 08:28:58 +01:00
Alex Sharov
7e4db20427
pool: add own db (#2575)
* save

* save
2021-08-24 10:56:13 +07:00
Omar Ceja
63083657d4
Support for latest block in erigon_getHeaderByNumber (#2574)
Co-authored-by: Omar Ceja <oceja@users.noreply.github.com>
2021-08-24 09:13:51 +07:00
Leonardo Yvens
629969fdd6
rpc: Increase the default gas limit to 50 million (#2572)
To be consistent with the change in e9b2c80.
2021-08-23 21:30:21 +07:00
Alex Sharov
1d11dee5ca
Pool: senders cache - right merging and fallback logic (#2563)
* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save
2021-08-21 22:04:24 +07:00
Alex Sharov
289e434b87
Pool: senders cache object, reject known tx before senders recover, fix lock contention (#2562)
* save

* save
2021-08-21 08:25:42 +07:00
Alex Sharov
abd2e2de2e
Sentry: clients can't slow down each-other, dedicated stream for sending headers (#2558) 2021-08-20 19:48:18 +07:00
ledgerwatch
e3114acc9e
Avoid crash with vmTrace (#2555)
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2021-08-19 10:38:18 +01:00
Andrea Lanfranchi
00d627bdb0
Remove config.name (const "erigon") from paths (#2531)
* Remove config.name (const "erigon") from paths

* Fix unit test

* Safety check

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2021-08-18 16:24:03 +07:00
Alex Sharov
6c7edb0d34
state diff send to txpool (#2532) 2021-08-17 15:52:55 +07:00
alex.sharov
3d3a313565 disable slow integrity checks for trie by default 2021-08-15 19:45:38 +07:00
alex.sharov
55c67b1a43 add commit to stage_trie 2021-08-15 19:44:47 +07:00
Alex Sharov
c7c3a5932a
rename ReadBody to ReadBodyWithTransactions to make it obvious that it's heavier then just ReadBody (#2534)
* rename ReadBody to ReadBodyWithTransactions

* rename ReadBody to ReadBodyWithTransactions
2021-08-15 17:08:28 +07:00
Alex Sharov
cacc4c7e3b
fix integration trie nil pointer (#2533)
* fix integration trie

* fix integration trie
2021-08-15 16:47:44 +07:00
Alex Sharov
5278ef4224
experimental: txpool cmd (#2530)
* save

* sentry handshake

* move sentry clients to erigon-lib

* move sentry clients to erigon-lib

* move sentry clients to erigon-lib

* move sentry clients to erigon-lib

* correct grpc retry

* correct grpc retry

* correct grpc retry

* save

* save

* save

* save
2021-08-14 20:47:11 +07:00
Alex Sharov
98e60b5b4b
Separate handshake from set_status - because txpool can't set any sentry status but need to handshake (#2529)
* sentry handshake

* move sentry clients to erigon-lib

* correct grpc retry

* correct grpc retry

* correct grpc retry
2021-08-14 15:11:46 +07:00
Thomas Jay Rush
dfeabada77
Fixes issue #2527 and #2526 and adds testing to rpctest (#2528) 2021-08-13 20:45:09 +01:00
Alex Sharov
4f358fca88
Increase default private.api.ratelimit (#2521)
* increase default private.api.ratelimit

* increase default private.api.ratelimit
2021-08-13 16:51:59 +01:00
ledgerwatch
1135e2b4fb
[sentry] Enforce max protocol version as well as min protocol version (#2525)
* Print data

* E

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2021-08-13 16:51:18 +01:00
ledgerwatch
9f14d00788
Fix trace_filter crash (#2523)
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2021-08-13 10:52:56 +01:00
Alex Sharov
f01a71a696
feehistory fix types to be compatible with spec (#2518) 2021-08-13 10:47:43 +07:00
ledgerwatch
42418d18ad
trace_call and trace_callMany to set gasPrice = basefee if not specified (#2513)
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
2021-08-12 09:13:23 +01:00
ledgerwatch
7d586d986d
Compatibility fixes for vmTrace (#2512)
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2021-08-11 21:23:04 +01:00
Alex Sharov
f78484d141
Update README.md 2021-08-11 15:19:13 +07:00
Evgeny Danilenko
4cd72c8328
Keep readonly value while changing interpreters back and forth (#2508)
* restore TEVM

* fuzzing and property based

* comment

* lint

* stack callback into defer ater checking an error

* sequential tests
2021-08-10 09:48:56 +07:00
ledgerwatch
65a9a265c2
Prevent frequent commits to the node DB in sentries (#2505)
* Prevent frequent commits to the node DB in sentries

* Commit when btree goes over limit

* iterator for SeedQuery

* Fixing test

* Fix tests

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2021-08-09 09:52:42 +01:00
ledgerwatch
350d7fe7a9
Adding support for vmTrace into trace_ routines (#2497)
* VmTrace

* Fixes to gasCall, beginning of vmTrace

* Fix opcode tracer

* Add mem and store, enable vmTrace for all methods

* Fix lint

* More nuances and debugging|

* More fixes

* Fix for trace_callMany

* Fix for trace_callMany

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2021-08-08 13:28:03 +01:00
Alex Sharov
6c2beb273e
Remove tsdb dependency (#2503)
* remove tsdb dep

* remove tsdb dep

* remove tsdb dep

* remove tsdb dep
2021-08-08 16:56:54 +07:00
Alex Sharov
6bf34b5cb8
RPC: eth_feeHistory (#2501)
* eth_FeeHistory

* eth_FeeHistory

* eth_FeeHistory

* lint

* lint
2021-08-08 14:27:47 +07:00
Alex Sharov
72e9660b74
RPC: eth_MaxPriorityFeePerGas (#2498) 2021-08-08 09:18:41 +07:00
Alex Sharov
d617fca739
remove devp2p cmd - if we will support it then need do it in another repo (because it depends on account manager). (#2496)
* up cobra lib

* remove devp2p cmd - if we will support it then need do it in another repo (because it depends on account manager).
2021-08-08 09:17:08 +07:00
Alex Sharov
6e24a83065
extract kv interface from remoteKv client (#2494) 2021-08-07 12:03:12 +07:00
Alex Sharov
b718e46c0a
Grafana to show all stages progress, less spooky logs, no runtime logPrefix calculation (#2493)
* better logs, label-based metrics

* no runtime log prefix calculation

* clean

* dashboard to show all stages metrics
2021-08-07 11:11:45 +07:00
Richard Patel
743fe8d77b
README.md: add txpool_status (#2491) 2021-08-06 17:10:29 +07:00
Richard Patel
7767b4df88
rpcdaemon: add txpool_status() (#2407)
perfecto
2021-08-06 09:45:44 +07:00
ledgerwatch
44f43312c9
Minor fixes for tracing (#2485)
* Minor fixes for tracing

* Typo in comment

* rpctest bench tracefilter to use limited number of accounts

* replay command to fail if there is a difference

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2021-08-03 20:58:18 +01:00
Alex Sharov
e17e7b6656
enable http body close linter (#2479) 2021-08-02 14:52:54 +07:00
Alex Sharov
5444e70038
allow to run stages once if --nodiscover (#2470) 2021-07-31 12:25:56 +07:00
Alex Sharov
3ed0f5c83d
better prune error message (#2475) 2021-07-31 12:24:20 +07:00
Alex Sharov
6bd44eb26c
move kv to erigon-lib (#2467) 2021-07-29 18:53:13 +07:00
Alex Sharov
69dc2776dc
MIT licensed metrics lib (#2462) 2021-07-29 17:27:46 +07:00
Alex Sharov
5069558752
Apache licensed logger (#2460) 2021-07-29 17:23:23 +07:00
ledgerwatch
69fcbe74ce
Fix tracing issues (#2461)
* Fix tracing issues

* Fix test

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2021-07-28 18:49:06 +01:00
Alex Sharov
21cb7befa4
finish remove bucket suffix (#2458) 2021-07-28 10:43:51 +07:00
Alex Sharov
838e5f9ef2
Move bucket constants into kv package, move kv interface to kv package (#2455) 2021-07-28 09:47:38 +07:00
Alex Sharov
63a6c45ef1
Remove some db interfaces (#2452) 2021-07-27 19:35:32 +07:00
Alex Sharov
974eb62d75
fix _syncing on zero block (#2453) 2021-07-27 19:22:27 +07:00
Alex Sharov
054581f507
staged syncs automatically add error prefix about stage number and name (#2445) 2021-07-26 13:19:01 +07:00
ledgerwatch
89ab061569
trace_ methods to take into account AccessList intrinsic gas (#2440)
* Debugging

* trace_ methods to take into account AccessList intrinsic gas

* Clean upp and fix error message

* More cleanup

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2021-07-24 12:22:38 +01:00
Alex Sharov
6bf54c951a
Sokol v0: unwind support (#2439) 2021-07-24 16:50:42 +07:00
Alex Sharov
6801208497
move some tests to kv interface (#2438) 2021-07-24 14:14:11 +07:00
Alex Sharov
a36a613e61
move migrations to kv interfaces (#2430) 2021-07-24 11:28:05 +07:00
Alex Sharov
f735997fa1
Sokol v0: remove unused parameters and methods (#2435) 2021-07-24 11:04:07 +07:00
Alex Sharov
43fad49a0d
enable all tooltips (#2428) 2021-07-22 23:12:12 +07:00
Alex Sharov
6e6a079168
make $rate_interval configurable and migrate charts to new type (#2427) 2021-07-22 23:06:19 +07:00
ledgerwatch
026c4e9d02
Reorg ropsten solution (#2419)
* Reorg ropsten solution

* Add option

* Print TD recalc

* Correct fix for eip1559

* Try to fix the unwind

* Print header progress and hash

* Not insert descendants of bad headers

* Print some more

* Print less

* Better way of marking bad headers

* Disable inSync

* Penalise peers who give incorrect chain pieces

* better fix for initial cycle

* Clean up

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2021-07-22 16:49:36 +01:00
Alex Sharov
b957ae98e4
eip1559 for pending tx rpc (#2426) 2021-07-22 21:21:55 +07:00
ledgerwatch
d7c405308c
Update skip_analysis.go (#2420) 2021-07-22 18:57:36 +07:00
Alex Sharov
50ccb67d52
shorter flags (#2423) 2021-07-22 18:55:56 +07:00
ledgerwatch
e4cade4ea7
Fix recording file for rpctest (#2418)
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
2021-07-21 22:37:32 +01:00
ledgerwatch
e903152378
Fix for trace_replayBlockTransactions (#2414)
* Intermediate

* fix

* fix

* Fix test

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
2021-07-21 19:34:56 +01:00