Commit Graph

2625 Commits

Author SHA1 Message Date
Andrew Ashikhmin
634e9e4f3c
Prohibit EIP-2718 txn wrapped as RLP strings (#3827) 2022-04-06 10:40:44 +02:00
ledgerwatch
d604b5e107
Update preverified hashes and skip analysis (#3831)
* Update skip_analysis

* Preverified hashes

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2022-04-05 21:49:45 +01:00
Alex Sharov
3030526afb
Delete blocks on integration stage_header --unwind (#3813)
* fix for non-can block

* fix for non-can block
2022-04-04 14:12:14 +07:00
Giulio rebuffo
1b0d7c80bf
Better batches for Execution (Hashmaps based instead of BTree based) (#3814) 2022-04-04 14:11:59 +07:00
Alex Sharov
d1218181b0
Snapshots: geth compatibility, use --syncmode=snap flag (#3808) 2022-04-01 15:00:50 +07:00
Andrew Ashikhmin
6ff6c39d13
Prefer forkchoice head as latest block in RPC (#3806)
* LastForkchoice accessors

* Update erigon-lib

* Prefer forkchoice head as latest block in RPC

* Fix typo
2022-04-01 08:33:50 +07:00
ledgerwatch
eb07ad89dd
Update Skip analysis and preverified hashes (#3777)
* Update skip analysis

* Add preverified hashes for mainnet and ropsten

* preverified hashes and bootnode for sepolia

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2022-03-27 09:42:33 +01:00
Alex Sharov
89d4477df3
Snapshots: nil indices on p2p fix (#3772) 2022-03-27 10:07:58 +07:00
Enrique Jose Avila Asapche
022e0dd6b2
Added kiln devnet (#3742)
* kiln-devnet flag

* kiln-devnet genesis

* bootnodes

* added chain name

* lint

* allocs
2022-03-19 17:04:48 +00:00
Artem Tsebrovskiy
f14df3faa3
added support of Clique consensus for block processing for erigon2 (#3705)
* added support of Clique consensus for block processing for erigon2

* erigon2: remove block reader which doesn't use system pre and post block transactions
2022-03-17 07:30:47 +00:00
Alex Sharov
469b75c3d3
Snapshots: retire blocks by default (#3707) 2022-03-16 09:57:48 +07:00
ledgerwatch
10aee02e2e
Update skip analysis and preverified hashes (#3700)
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2022-03-15 14:45:36 +00:00
ledgerwatch
a0df37f508
Update gaspool.go 2022-03-12 00:08:04 +00:00
Alex Sharov
b003d07839
Add system-txs to begin end of block (#3654)
* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* up torrent

* up torrent

* up torrent

* up torrent

* up torrent

* up torrent

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save
2022-03-10 07:48:58 +00:00
leonardchinonso
14b300214a
Feature/test event logs (#3631)
* Adding contract code for event logs subscription

* Saving changes

* gofmt'd files

* Setting up devnet test tool for log subscription testing

* Fixed lint errors

* Changes to debug case

* fixed linting

* Committing debugging changes

* Finalised contract tx creation and mining

* Fixed lint errors

* Made base fee upper limit a constant
2022-03-09 22:45:24 +00:00
Andrew Ashikhmin
4607179849
Handle a corner case in forkchoiceUpdated (#3640)
* Fix typo

* fix typos

* Handle corner case when unwinding to geneis

* No-op ForkChoice
2022-03-03 16:09:03 +01:00
battlmonstr
c8a25d0226
Refactor getting chain info by chain name. (#3635)
* get chain config, genesis hash and network ID by chain name in params/config
* get genesis block chain name in core/genesis
2022-03-03 21:57:10 +07:00
battlmonstr
47df98a499
Use "err" key for logging errors. (#3632)
log.Warn/Error uses "err" key to log errors in most places.
This renames "error" to "err" in some places to adhere to this convention.
2022-03-01 15:40:51 +00:00
mohoff
c5e03fd852
Alloc file for dev chain (#3626)
* chore: alloc file for dev chain

* chore: fix lint issue

Co-authored-by: Moritz Hoffmann <moritz@btcx.com>
2022-02-26 07:27:22 +00:00
Enrique Jose Avila Asapche
58851feb9b
Fix eth call (#3618)
* added isFake

* using isFake instead of checkNonce

* Revert "using isFake instead of checkNonce"

This reverts commit 6a202bbcdda666677fc93744549046432fae18b6.

* Revert "added isFake"

This reverts commit 2c4802488afde25ac583c6af6e6778cfa90c4dcd.

* only checking EOA if we are checking for Nonce
2022-02-25 12:51:29 +00:00
ledgerwatch
114d2d8f3a
Skip analysis update (#3594)
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2022-02-24 10:23:44 +07:00
ledgerwatch
17b2a9ba93
Bor fixes (#3553)
* Integration to work with bor

* Turn off validator set check

* disable verifySeal, add skeleton of postExec stage

* Pass around syscall

* Print

* Print more

* Default heimdall values for integration

* restore contract

* Print

* Print

* Print

* Print

* Print

* Print

* Print

* Print

* Fix nonce of system contract

* Remove prints

* Revert some more printing

* More fixes

* Print log

* Fix transfer log

* More printing

* More printing

* Print

* Print

* Print

* Print

* Print

* Print

* Print

* Fix validaor reward

* Remove printing

* Remove more prints

* Less printing

* Fetch validators from heimdall

* Remove syscall from Seal and CalcDifficulty

* Remove syscall from Prepare

* Print

* Remove DNS discovery

* Print apply snapshot

* Print

* Chunk up snapshot generation

* Chunk up snapshot generation

* Better logs when snapshotting

* Handle parents

* Prevent shadowing of snap

* Fix heimdall fetch

* Logging fixes

* Save generated snapshots

* Add header

* Less logging

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
2022-02-24 00:03:10 +00:00
ledgerwatch
542b8827b0
storage override revert support (#3597)
* storage override revert support

* Fix

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

* UnknownPayload error

* Improve ExchangeTransitionConfigurationV1 comment

* Extract MakeEmptyHeader

* Move MakeEmptyHeader to chain_makers

* Start with empty block as pending payload

* Only build payloads with the right parent hash

* Double check parent hash in SpawnMiningCreateBlockStage

* Simpler error formatting

* ReadHeadBlockHash instead of ReadHeadHeaderHash

* Avoid rebuilding already built blocks

* getPayload should stop the build process

* Tweaking stageLoopIsBusy

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

* Saving changes

* gofmt'd files

* Setting up devnet test tool for log subscription testing

* Fixed lint errors
2022-02-23 17:47:01 +00:00
ledgerwatch
266625f56a
Fixes to access list and state overrides (#3570)
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
2022-02-22 10:29:02 +00:00
ledgerwatch
78974d7844
Fix for BSC incorrect execution (#3560)
* Fix for BSC incorrect execution

* collect skip analysis

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2022-02-21 12:42:23 +00:00
Enrique Jose Avila Asapche
e348b3ea93
deleted kovan (#3546) 2022-02-19 08:15:44 +00:00
ledgerwatch
f1aea7707f
Update skip analysis and preverified headers (#3527)
* Updated skip analysis for mainnet

* Preverified hashes for mainnet

* Add Sepolia and Ropsten

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2022-02-16 18:41:49 +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
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
ledgerwatch
a5bd91e2e1
Update skip analysis and preverified hashes (#3471)
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2022-02-10 14:10:10 +00: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
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
Giulio rebuffo
2cc49f454f
Fixed receipts ommission on BSC (#3436)
* fix

* ops
2022-02-05 21:01:03 +00:00
Giulio rebuffo
1602842a63
fixed api.blockWithSenders (#3435)
* fix

* fix 2

* fixed api.blockWithSenders

* removed white space

* pretty
2022-02-05 19:11:56 +00:00
ledgerwatch
e23f23757f
Update skip_analysis.go (#3408) 2022-02-02 14:36:39 +01: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
Alexey Sharp
8bf28dec45 Update skip_analysis and preverified hashes for mainnet 2022-01-27 10:29:47 +00:00
Alex Sharov
6385a35ee8
remove one more logger (#3360) 2022-01-27 13:31:53 +07: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
Alex Sharov
9e8543d948
Snapshots: fill kv.HeaderNumber table (#3328) 2022-01-24 13:47:05 +07:00
Dmitry Savonin
9c1b5f8f0c
Always set gas bailout to true for Parlia consensus engine due to system transactions gas price (#3330) 2022-01-23 10:32: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
ledgerwatch
8287b3eda1
skip analysis and preverified hashes update (#3300)
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2022-01-19 16:24:46 +00: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
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
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
ledgerwatch
c0db9295b8
Skip analysis and preverified hashe update (#3244)
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2022-01-12 10:36:12 +00:00
primal_concrete_sledge
748abd39f6
Suggesting fix for data race (#3236) 2022-01-11 21:23:24 +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
Andrew Ashikhmin
d14c223881
Simplify miner gas limit post EIP-1559. Default to 30M (#3205) 2022-01-05 16:36:24 +07: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
40205fb7ca
Torrent: continue download after reboot, --torrent.verbosity flag (#3161) 2021-12-24 10:44:14 +07: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
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
d836e9e2d7
[beta] Skip analysis and preverified hashes (#3130)
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2021-12-14 21:55:47 +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
Andrew Ashikhmin
d739810dc5
Serenity engine: fall back to eth1 engine before the Merge (#3112)
* (EIP-4399) MixDigest is utilized for RANDOM

* Add GetTd to ChainHeaderReader

* Remove unused VerifyHeaders from consensus consensus

* Introduce params.MaxGasLimit

* Serenity engine: fall back to eth1 engine before the Merge

* Serenity engine in CreateConsensusEngine

* ethOne -> eth1Engine
2021-12-13 18:29:38 +01: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
Andrew Ashikhmin
d0dbf014f3
Update consensus tests to 10.2. EIP-2681 (#3103)
* ArrowGlacier fork config

* core/vm: implement EIP-2681: Limit account nonce to 2^64-1 (#23853)

This retroactively implements requirements or EIP-2681 for the account nonce upper limit.

* Update consesus tests to 10.2

* Handle TransactionWithHighNonce64Minus1

* Check intrinsic gas in transaction tests

* Refactor overflow protection in IntrinsicGas

* Remove remnants of vm tests

* Update difficulty tests to the new format

Co-authored-by: Andrei Maiboroda <andrei@ethereum.org>
2021-12-07 18:24:59 +01: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
494853ae39
Update skip analysis and preverified hashes (#3097)
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2021-12-06 12:40:06 +00:00
Andrew Ashikhmin
759fb00593
[beta] Stricter uint256 RLP decoding. Update consensus tests to 10.1 (#3089)
* Clean up test runners. Don't run legacy tests

* Cherry pick https://github.com/ethereum/go-ethereum/pull/22927

* Tests update 10.1: Transaction Tests

* Port decodeBigInt changes to decodeUint256

* Introduce (*Stream) Uint256Bytes

* Temporarily disable stTransactionTest/HighGasPrice

* linter

* ttWrongRLP transaction tests pass now

* Fix stTransactionTest/HighGasPrice

Co-authored-by: Felix Lange <fjl@twurst.com>
2021-12-06 08:00:54 +00:00
Alex Sharov
178fd1931d
Genesis sync from existing snapshots (#3087) 2021-12-05 09:03:08 +07: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
Andrew Ashikhmin
094ab5e77d
[EIP-4399] Remove newly added Header.Random (reuse mixHash instead) (#3069)
* [EIP-4399] Remove newly added Header.Random (reuse mixHash instead)

* add a TODO

* Update mock payload hashes
2021-12-01 13:41:31 +01: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
TBC Dev
e98f39b2c4
Fix Header.EncodingSize() to match EncodeRLP() with EIP-3675 (#3053)
* Fix Header.EncodingSize() to match EncodeRLP() with EIP-3675

* Fix error messages for Random in DecodeRLP()
2021-11-30 14:23:34 +00:00
ledgerwatch
feebc7d3e6
save (#3059) (#3060)
Co-authored-by: Alex Sharov <AskAlexSharov@gmail.com>
2021-11-30 12:36:01 +00: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
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
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
ledgerwatch
c3e361eadb
Update skip analysis and preverified (#3045)
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2021-11-28 12:59:11 +00: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
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
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
Giulio Rebuffo
21cbc19f21 using batch over tx 2021-11-21 23:11:50 +01:00
Giulio Rebuffo
23883d9104 merge 2021-11-21 21:55:41 +01:00
ledgerwatch
f0ca5eacd8
Update skip_analysis.go (#3009) 2021-11-21 16:43:47 +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
Giulio Rebuffo
224441cb07 initial commit2 2021-11-20 17:27:11 +01: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
Giulio rebuffo
44fe9765f3
Merge pull request #2978 from ledgerwatch/eip4399
[Eip4399 part 3/3] Supplant DIFFICULTY opcode with RANDOM
2021-11-17 19:47:11 +01: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
2ad6ca10cf
Ropsten and main net preverified hashes, skip analysis (#2973)
* Ropsten preverified hashes

* Pre-verified hashes for mainnet, skip analysis

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2021-11-16 20:14:26 +00:00
Giulio Rebuffo
94d477cdd9 EIP 4399 finalized 2021-11-15 21:23:56 +01:00
alex.sharov
bca0d1d473 Increase default txpool size 2021-11-15 10:16:03 +07:00
Giulio rebuffo
0b1027ea2c
added random field to block type (#2962) 2021-11-15 10:05:53 +07:00
TBC Dev
9e5ae33eb0
Use IsZero() instead of Sign() for uint256.int (#2960) 2021-11-14 22:18:47 +07:00
ledgerwatch
c0fffb6f0a
Update skip_analysis.go (#2915) 2021-11-04 11:15:01 +00:00
Alex Sharov
1a45f26a7c
move (#2910) 2021-11-04 08:25:40 +00:00
Andrew Ashikhmin
1214302a19
Arrow Glacier network upgrade (#2896) 2021-10-31 20:31:18 +07:00
ledgerwatch
3f21910963
Update preverified headers (main net, roosten), update skip analysis block (#2875)
* Preverified headers

* Update skip analysis

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2021-10-27 17:16:20 +01:00
Alex Sharov
a28a0b7744
PoolV2: set default limit to sub-pools 10K (#2855) 2021-10-21 15:59:39 +07:00
Alex Sharov
752f76847d
propagate all promoted txs when add local tx (#2841) 2021-10-20 10:40:23 +07: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
ledgerwatch
b37f733f14
Update skip_analysis.go (#2825) 2021-10-14 16:34:19 +01: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
e-danko
19b7354a1d
#2658: eliminated HeadersSeal function (#2731)
* #2658: removed using HeadersSeal function from experiments module

* #2658: lint issues

* #2658: fix typo
2021-10-13 08:31:04 +07:00
Andrew Ashikhmin
91df893e84
EIP-3607 (check if sender is EOA). Update tests to v10.0 (#2820)
* Update Ethereum tests to v10.0

* Implement EIP-3607
2021-10-13 08:30:09 +07:00
Alex Sharov
da00e949c4
RemoteRPC: coherentCache for kv.Code; LocalRPC: enable small blocksLRU (#2815) 2021-10-12 12:04:04 +07:00
ledgerwatch
e097490118
Update skip_analysis.go (#2792) 2021-10-07 11:16:48 +03:00
e-danko
900f687e84
Fermion genesis block (#2787)
* updated Fermion genesis block

* Updated Fermion genesis block: added precompiles
2021-10-06 12:00:23 +03:00
Alex Sharov
0625cd4f11
No senders is fine (#2775) 2021-10-05 10:03:49 +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
canepat
e19dcd89fc
Add check to have pre-Homestead behavior on code store error (#2749)
* Add check to have pre-Homestead behavior on code store error

* Fix linter error
2021-10-01 12:24:48 +07:00
ledgerwatch
31d04ad88b
Update skip_analysis.go (#2747) 2021-09-30 11:14:48 +03:00
Enrique Jose Avila Asapche
677d2f88bf
test tha produces an error for decoding incarnation (#2742) 2021-09-30 08:52:58 +07:00
alex.sharov
fc44197f06 fix merge conflict 2021-09-29 14:48:19 +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
e-danko
7d338f5e1c
#2660: added Kovan network (#2733) 2021-09-27 19:56:17 +07:00
Alex Sharov
a148e71d9d
Pool: switch to pendingBaseFee (#2732) 2021-09-26 23:09:36 +07:00
Enrique Jose Avila Asapche
3f1d51121c
Decoding incarnation and Tests (#2727) 2021-09-26 19:58:20 +07:00
ledgerwatch
8bbd5916b3
Update skip_analysis.go (#2723) 2021-09-23 10:38:28 +01:00
Alex Sharov
2b804cdc35
save (#2722) 2021-09-23 09:14:00 +07:00
Alex Sharov
3de50637cd
remove changeset.Walk func (#2716) 2021-09-22 07:54:29 +07:00
Jaanek Oja
5e4bd653d7
mark support for eip-1559 tx types for most permissive signer (#2698)
Co-authored-by: Jaanek Oja <jaanekoja@gmail.com>
2021-09-17 10:00:23 +01:00
Alex Sharov
400c71b7ce
Pool: txID-based cache (#2697) 2021-09-17 10:31:20 +07:00
ledgerwatch
44768b5a4f
Update skip_analysis.go (#2692) 2021-09-16 15:21:21 +07:00
Alex Sharov
ad1682cf40
Expose mdbx's txID to remote_kv (#2686) 2021-09-15 14:22:57 +07:00
Andrew Ashikhmin
ced5965ef7
Remove ReceiptsKey in favour of EncodeBlockNumber (#2681) 2021-09-13 20:59:18 +07:00
George Hotz
1e94b3a13d
fix eth_callBundle by allowing nil baseFee in tx serialize (#2674) 2021-09-13 17:04:08 +07:00
Alex Sharov
71b3491807
fix sentry forks slice race (#2677) 2021-09-13 14:29:08 +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
9ac16d2528
revert change (#2669) 2021-09-12 10:05:42 +07:00
ledgerwatch
f9e4090966
Update skip_analysis.go (#2651) 2021-09-09 10:41:09 +01:00
Alex Sharov
0d79c19f21
clean ipc string (#2644) 2021-09-08 15:25:10 +07:00
Alex Sharov
2d8941a845
Pool: built-in v2 (#2643) 2021-09-08 12:31:51 +07:00
Alex Sharov
9067ca5b15
Non-secret devnet key (#2641) 2021-09-08 11:00:06 +07:00
Alex Sharov
dd7f197db3
Devnet private key (#2639) 2021-09-07 16:12:49 +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
ledgerwatch
2c6d4ae48d
Update skip_analysis.go (#2613) 2021-09-01 21:37:01 +01:00
Zachinquarantine
5e713d6da6
Remove calaveras testnet (#2600)
* Remove calaveras

* Remove Calaveras testnet
2021-09-01 08:16:30 +07:00
Alex Sharov
f3021dd2af
RPC: small optimizations (#2564) 2021-08-24 08:28:58 +01:00
ledgerwatch
c5de686b22
Update skip_analysis.go 2021-08-19 10:10:36 +01:00
Alex Sharov
85565dcd92
base fee in header json (#2550)
* base fee in header json

* base fee in header json
2021-08-18 16:26:33 +07:00
Alex Sharov
b7ada2a595
create new Change object if incarnation increased (#2539)
* create new Change object if incarnation increased

* create new Change object if incarnation increased
2021-08-18 09:41:07 +07:00
Alex Sharov
6c7edb0d34
state diff send to txpool (#2532) 2021-08-17 15:52:55 +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
racytech
1a22191a3d
removed meaningless code (#2519) 2021-08-13 10:49:15 +07:00
ledgerwatch
d325daf529
Update skip_analysis.go (#2517) 2021-08-12 11:29:28 +03: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
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
29380e4b46
parse dynFee tx corner case (#2500)
* parse dyn fee tx error

* parse dyn fee tx error

* lint
2021-08-08 14:27:34 +07:00
Richard Patel
7767b4df88
rpcdaemon: add txpool_status() (#2407)
perfecto
2021-08-06 09:45:44 +07:00
ledgerwatch
7be3535c3d
Update skip_analysis.go 2021-08-05 09:21:00 +01: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
canepat
38a31cecb7
RPCDaemon: eth_gasPrice add baseFee if any to suggested gas price (#2484)
* Avoid decreasing gasFeeCap at each GetEffectiveGasTip call
Add baseFee if any to suggested gas price

* Move add before GPO caching
2021-08-03 11:48:09 +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
74473a6362
Update skip_analysis.go 2021-07-29 09:12:11 +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
733991018b
port active precompiles activation (#2448) 2021-07-27 09:39:41 +07:00
Andrew Ashikhmin
db86092ccd
Remove unnecessary value transfer check from TransitionDb (#2424) 2021-07-26 15:09:39 +01:00
Alex Sharov
054581f507
staged syncs automatically add error prefix about stage number and name (#2445) 2021-07-26 13:19:01 +07: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
1a4d9a0f35
tx_hash_cache_broken (#2432) 2021-07-23 19:16:58 +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
ledgerwatch
d7c405308c
Update skip_analysis.go (#2420) 2021-07-22 18:57:36 +07:00
ledgerwatch
96ee6e1537
Fix for eip1559 incorrect assert (#2415)
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
2021-07-21 19:35:08 +01:00
Alex Sharov
d2552196ad
Sokol v0: support for first epoch-set transition (#2411) 2021-07-21 18:13:26 +07:00
Alex Sharov
c3e1cfdac8
Pruning for: exec, log_index, tx_lookup, history stages (#2399)
* Pruning for: exec, log_index, tx_lookup, history stages

* Pruning for: exec, log_index, tx_lookup, history stages

* Pruning for: exec, log_index, tx_lookup, history stages

* Pruning for: exec, log_index, tx_lookup, history stages

* add tvm flag

* save

* db migration for storage mode
add flag --prune=
remove flag --storage-mode=
add flag --experiments=tevm,...
rename integration set_storage_mode to set_prune

* fix

* forward move of stages must skip everything before PruneTo

* keep in db progress of prune method

* keep in db progress of prune method

* simplify logs

* simplify logs

* simplify logs

* fix test

* simplify logs

* simplify logs

* simplify logs

* simplify logs

* remove callTraceSet as dupsort
use etl transform for txlookup prune
remove some logs

* cleanup tests a bit

* print_stages and eth_sync to show prune progress

* fix print_stages

* add readme about --prune.to flag

* more docs

* add --prune.history.older and other flags support

* fix migration on empty db

* better toString

* better toString
2021-07-20 21:03:19 +01:00
Alex Sharov
031b0b177e
remove mutexes use (#2406) 2021-07-20 15:34:11 +07:00
Alex Sharov
a79b3cd6eb
unify stage params (#2384) 2021-07-17 09:09:56 +07:00
Alex Sharov
325c9cd9d8
RPC: compatible accountRange (#2378) 2021-07-16 22:01:29 +07:00
Alex Sharov
9f6ef74adc
Linter: to check tx.Rollback() by ruleguard (#2383) 2021-07-16 20:23:54 +07:00
Alex Sharov
0d35048058
RPC: Access list storage keys are non-nil (#2375) 2021-07-15 21:00:51 +07:00
Alex Sharov
c9e4e0bd3d
broadcast local txs (#2354) 2021-07-15 11:17:48 +07:00
Artem Vorotnikov
a49b920659
Remove preimages (#2370) 2021-07-15 09:06:07 +07:00
Alex Sharov
29695bc91d
Revert "Revert "buy gas optimize (#2360)" (#2367)" (#2369) 2021-07-14 21:34:14 +07:00
Alex Sharov
ede11f1ab1
Revert "buy gas optimize (#2360)" (#2367)
This reverts commit 7c95f3911f.
2021-07-14 21:10:48 +07:00
Alex Sharov
7c95f3911f
buy gas optimize (#2360) 2021-07-14 21:10:20 +07:00
ledgerwatch
d802e6367a
Update skip_analysis.go (#2364) 2021-07-14 07:52:32 +01:00
Alex Sharov
75ee5db06f
Block read optimize (#2357) 2021-07-13 16:31:59 +07:00
Alex Sharov
557d082c51
Sokol v0: epoch support (#2348)
* remove ctx from state writer interface

* call me baby

* save

* save

* can process block 1

* can process block 1

* can process block 1

* can process block 1

* save

* save

* parse logs logic

* cleans

* cleans

* cleans
2021-07-12 16:27:25 +01:00
Alex Sharov
188dfb14b8
txPool: propagate on peer connect (#2335) 2021-07-11 14:01:16 +07:00
Alex Sharov
e1c17e035a
rawdb.TxLookup - to return err, remove docs of rpcdaemon dual mode (#2340) 2021-07-11 12:25:21 +07:00
Alex Sharov
5eaf4c8cc3
rpc: 1559 in call and tracing (#2327) 2021-07-11 04:05:56 +00:00
Alex Sharov
858fb3f503
mainnet london block and port some go-ethereum fixes related to baseFee (#2323) 2021-07-09 16:54:06 +07:00
Alex Sharov
76bc954283
Sokol v0: can process 1-st block (#2310) 2021-07-08 19:40:43 +07:00
ledgerwatch
95ab8506bc
Update skip_analysis.go (#2315) 2021-07-08 11:54:43 +01:00
Alex Sharov
7c60cc0fee
step towards kv interface (#2313) 2021-07-08 09:56:09 +07:00
Alex Sharov
a78cb54132
step towards kv interface (#2311) 2021-07-07 23:15:49 +07:00
Alex Sharov
a68b5ba361
Replace ChainConfig.WithEIPsFlags by go-ethereum's ChainConfig.Rules (#2304)
* use chainRules

* use chainRules

* use chainRules

* use chainRules

* use chainRules
2021-07-05 19:52:50 +01:00
Alex Sharov
9683b26483
remove ctx from state writer interface (#2302) 2021-07-05 15:42:44 +07:00
ledgerwatch
7c8d85d829
Update skip_analysis.go (#2295) 2021-07-05 07:32:42 +01:00
Alex Sharov
3db7e85994
Simplify GetAsOf (#2285)
* no reason to copy if we work with ethdb.Tx (user of ethdb.Tx expecting that all data valid until end of tx)

* less objects
2021-07-04 08:49:31 +01:00
alex.sharov
4be66ee9cb Revert "save"
This reverts commit 6eed73566d.
2021-07-03 17:38:58 +07:00
alex.sharov
6eed73566d save 2021-07-03 17:01:23 +07:00
ledgerwatch
87f0594660
Update skip_analysis.go (#2263) 2021-07-01 21:59:56 +07:00
Alex Sharov
6df7230108
Sokol v0 - better header rlp, steps to generate blocks (#2256) 2021-06-30 16:30:21 +07:00
Zhengyan Gao
31cd8afe98
update tx block base fee, tips,fee cap json fields. (eip1559) (#2237)
* update tx block base fee, tips,fee cap json fields. (eip1559)

* gofmt core/types/block.go
2021-06-27 22:14:01 +01:00
Alex Sharov
ef3e5d3107
add 0x prefix for RPC accountRange (#2243) 2021-06-27 15:19:34 +01:00
ledgerwatch
7baf3ec484
Move secp256k1 into a separate go module, hook up erigon-lib (#2239)
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
2021-06-26 15:03:05 +01:00
Alex Sharov
605d7a8d59
Sokol v0 (#2228)
* handle chain flag in integration

* handle chain flag in integration

* handle chain flag in integration

* save

* save

* merge devel

* save

* noopWriter - one is enough

* chain spec parser

* chain spec parser

* embed

* embed

* embed

* embed

* embed

* embed

* embed

* clean

* clean

* correct alloc after reset state

* correct alloc after reset state

* correct alloc after reset state

* integration reset state now does re-apply genesis and chainConfig

* eips summary

* eips summary

* eips summary
2021-06-25 19:13:40 +01:00
ledgerwatch
3ea6e1779a
Update skip_analysis.go 2021-06-24 09:51:34 +01:00
Alex Sharov
59d05dc5fe
hide file exists err (#2218) 2021-06-22 11:09:45 +01:00
Alex Sharov
7d1e17712f
don't create block context twice (#2213) 2021-06-21 19:54:41 +01:00
Alex Sharov
99c770c51b
tx.AsMessage was called twice (#2209)
* tx.AsMessage was called twice

* noopWriter - one is enough
2021-06-21 06:56:56 +01:00
Artem Vorotnikov
d8a009837b
Nuke preimage remnants (#2203) 2021-06-20 13:00:22 +07:00
Alex Sharov
4736bac190
save (#2197) 2021-06-19 21:29:02 +01:00
Alex Sharov
bc271f92ce
To break dependency to db implementation - move all db classes to "ethdb/kv" and leave in "ethdb" only interfaces (#2195) 2021-06-19 15:21:53 +07:00
ledgerwatch
249e4112e4
Update skip_analysis.go (#2189) 2021-06-17 14:51:38 +01:00
Artem Vorotnikov
4fa034a306
Fix history test (#2179) 2021-06-16 16:20:58 +03:00
BitBaseBit
3a95e1a1c2
add london testnet blocks (#2178) 2021-06-16 12:06:55 +01:00
Artem Vorotnikov
af836a6200
Nuke LMDB (#2167) 2021-06-16 13:57:58 +03:00
BitBaseBit
159777db29
Changed gas price oracle to use effective tip and ignoreUnder parameter for 1559. (#2173)
* added temp file in crashreports because git is stupid and wont add empty folders

* implemented ignoreUnder + EffectiveGas for legacy and dynamic txs

* implemented changes to gas price oracle for 1559

* switched Cmp to Lt/Gt
2021-06-15 21:45:34 +01:00
Alex Sharov
b160e30652
Send GetBlockHeaders immediately if TD of connected peer >= our TD (#2169)
* empty engine

* start sync from peer right after handshake if it's TD is higher

* fixCanonicalChain to print logs

* clean

* >
2021-06-15 13:43:55 +01:00
Artem Vorotnikov
0a4e0d1fa1
Various code simplificaitons (#2165)
* simplify randomaccount

* simplify execution unwind

* Remove standalone account accessors
2021-06-14 19:52:30 +01:00
ledgerwatch
2c1fe2a3a7
Restore TD records (#2164)
* Insert missing TD values

* Print missing TD records

* Fix typo

* Apply fix

* Fixes in execution stage

* Fix tx/sec output

* Advance exec

* Reset unwind

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2021-06-14 19:51:57 +01:00
BitBaseBit
7ed337cdcc
Implemented panic handling, graceful shutdown and reporting for all goroutines that don't explicitly handle them. (#2153)
* implemented crash reporting for all goroutine panics that aren't handled explicitly

* implemented crash reporting for all goroutine panics that aren't handled explicitly

* changed node defaults back to originals after testing

* implemented panic handling for all goroutines that don't explicitly handle them, outputting the stack trace to a file in crashreports

* handling panics on all goroutines gracefully

* updated missing call

* error assignment

* implemented suggestions

* path.Join added

* implemented Evgeny's suggestions

* changed path.Join to filepath.Join for cross-platform

* added err check

* updated RecoverStackTrace to LogPanic

* updated closures

* removed call of common.Go to some goroutines

* updated scope capture

* removed testing files

* reverted back to original method, I feel like its less intrusive

* update filename for clarity
2021-06-13 17:41:39 +01:00
ledgerwatch
74862ce607
Upgrade tests to 9.0.2 (#2147)
* Upgrade tests to 9.0.1

* Fix gas limit rule

* Clean up output

* Update testdata

* Fix tip assigment

* Fix genesis discrepancy

* Skip typeTwo berlin test

Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
2021-06-13 14:01:11 +01:00
ledgerwatch
d1e4edb180
Better compatibility with OE for trace_call and trace_callMany (#2137)
* Better compatibility for trace_call

* Also for trace_callMany

* non canonical hash error

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2021-06-11 13:19:10 +01:00
Evgeny Danilenko
de26634d8d
TEVM status pruning (#2034)
* use trace for TEVM status

* restore testdata

* fix getting contract from plain state

* unwind

* linters

* reproducible build debug

* debug

* debug

* remove debug
2021-06-11 09:34:25 +01:00
ledgerwatch
22d96a602e
Update skip_analysis.go (#2133) 2021-06-10 12:42:33 +02:00
Alex Sharov
9637d74c72
More correct rlp of Sokol headers (#2124)
* save

* better rlp support

* save
2021-06-09 08:20:47 +01:00
Alex Sharov
40eaf77eb8
Sokol genesis and chainconfig (#2116)
* sokol init

* test

* precompiles

* precompiles

* add code

* sokol test

* save

* save

* save

* save

* save

* save
2021-06-07 12:01:54 +01:00
ledgerwatch
73bb98f686
Move tests 6 (#2107)
* Move tests 6

* Compile fixes

* Fix lint

* Compile fixes

* Fix compile

* compile fixes

* Compile fix

* Fix consesus/clique

* Cleanup

* Add gas limit

* Print

* Prints

* More print

* Fix

* Reinstate TestGetBlockReceipts66

Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2021-06-06 22:44:14 +01:00
Alex Sharov
2be0ab6923
revert receipt codec version (#2109) 2021-06-06 09:52:13 +07:00
Alex Sharov
5ba3ea162a
Simulated backend and genesis to kv (#2104)
* move to kv

* move to kv

* move to kv

* move to kv

* move to kv

* move to kv

* merge

* merge

* merge

* merge

* merge

* merge

* merge

* merge
2021-06-05 16:17:04 +01:00
ledgerwatch
f7fc4d66ec
Move tests 5 (#2069)
* Remove silkworm and reader builders

* Switch tests

* Stop from hanging

* Update tests to 9.0.0

* Move tests back

* Moving code around

* Fix lint

* More fixes

* Intermediate

* Fix compile

* Fix compile errors

* Compile errors

* Fix lint

* Comment out more printing

* More simplifications

* Compile fixes

* Compile fix

* More replacements

* More fixes

* More muddling through

* lint

* Exclude dao split test

* Restore sidechains after unwind

* Errors in senders stage, stopped in bodies stage

* Fix compile

* Fix compile

* Fix tests

* More fixes

* More fixes

* Code cleanup

Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
Co-authored-by: alex.sharov <AskAlexSharov@gmail.com>
2021-06-05 11:00:21 +01:00
Alex Sharov
1f13f73045
up version of uint256 lib (#2082)
* eip 1559_tx_constraints

* eip 1559_tx_constraints

* return error on uint256 overflow

* up uint256 version

* merge master

* fix master

Co-authored-by: ledgerwatch <akhounov@gmail.com>
2021-06-04 17:25:28 +01:00
Alex Sharov
70a404fe2e
fix master (#2098) 2021-06-04 21:12:29 +07:00
Alex Sharov
7cd8046c35
Enable p2p receipts (#2080)
* enable receipts

* enable receipts

* return error on uint256 overflow

* wait for subscription

Co-authored-by: ledgerwatch <akhounov@gmail.com>
2021-06-04 14:33:10 +01:00