* feat: add system config consensus to deprecate poa
* fix: check extra field lens
* Finish implementation with one signer only
* Implement unit tests
* Only check signature if block not requested
* Remove Extra from rlp encoding (and hashing)
* Implement UpgradableEngine as middleware for Clique/SystemContract
* Use isEuclid, add json tag to Requested, make go idiomatic
* Changes post integration test
* Remove comment
* Address comments
* Merge
* New field BlockSignature (not used in hashing/JSON)
* Enforce .Extra to be an empty slice
* replace header.Requested for header.IsNewBlock
* mark new block as IsNewBlock
* Make new RLP optional fields always default for legacy/reth compatibility
* Placing new fields as last non-zero rlp:optional values used by Scroll
* Penalize nodes that send non-zero Euclid V2 header field values
* Bring back .Requested to downloader instead of .IsNewBlock
* Replace IsNewBlock for Requested
* Address comments
* merge
* prevent timing issues in tests
* fix ci
* chore: auto version bump [bot]
* Update consensus/system_contract/consensus.go
Co-authored-by: Morty <70688412+yiweichi@users.noreply.github.com>
* chore: auto version bump [bot]
* Update consensus/system_contract/consensus.go
Co-authored-by: Jonas Theis <4181434+jonastheis@users.noreply.github.com>
* Remove whitespaces and merge version number
* chore: auto version bump [bot]
* validate that the read address from L1 is not empty and improved error handling when fetching address
* Fix indentation issue
* Fix test
* goimports fix
* goimports
---------
Co-authored-by: Alejandro Ranchal-Pedrosa <a.ranchalpedrosa@gmail.com>
Co-authored-by: jonastheis <4181434+jonastheis@users.noreply.github.com>
Co-authored-by: jonastheis <jonastheis@users.noreply.github.com>
Co-authored-by: ranchalp <ranchalp@users.noreply.github.com>
Co-authored-by: Péter Garamvölgyi <peter@scroll.io>
* feat: configure max block range for eth_getLogs (#521)
* configure max block range for eth_getLogs
* bump version
* address comments, add test
* set default value
* address comments
* fix golint
* Update cmd/utils/flags.go
Co-authored-by: colin <102356659+colinlyguo@users.noreply.github.com>
---------
Co-authored-by: colinlyguo <colinlyguo@scroll.io>
Co-authored-by: colin <102356659+colinlyguo@users.noreply.github.com>
* set dafault maxblockrange to -1 and fix nil pointer bug
* update version
* change error logic
* check for range in filter
* Update eth/ethconfig/config.go
Co-authored-by: colin <102356659+colinlyguo@users.noreply.github.com>
* adjust error message
* fix duplicate version
---------
Co-authored-by: colinlyguo <colinlyguo@scroll.io>
Co-authored-by: colin <102356659+colinlyguo@users.noreply.github.com>
Co-authored-by: Péter Garamvölgyi <peter@scroll.io>
* configure max block range for eth_getLogs
* bump version
* address comments, add test
* set default value
* address comments
* fix golint
* Update cmd/utils/flags.go
Co-authored-by: colin <102356659+colinlyguo@users.noreply.github.com>
---------
Co-authored-by: colinlyguo <colinlyguo@scroll.io>
Co-authored-by: colin <102356659+colinlyguo@users.noreply.github.com>
* demo for witness generator
* add simple binary for witness generating
* revert the witgen utility
* purge some code
* induce mptwitness argument
* handle case for failed tx, and special block in POA
* mptwitness: refactor for enabling output ops with different order
* induce witness gen with rwtable order
* self-documenting options for mptwitness
* fix trace flag according to review
* fix issue in handling failed tx
* refactor
* update according to reviews
Co-authored-by: HAOYUatHZ <haoyu@protonmail.com>
* eth,rpc: allow for flag configured timeouts for eth_call
* lint: account for package-local import order
* cr: rename `rpc.calltimeout` to `rpc.evmtimeout`
The PR implements the --miner.notify.full flag that enables full pending block
notifications. When this flag is used, the block notifications sent to mining
endpoints contain the complete block header JSON instead of a work package
array.
Co-authored-by: AlexSSD7 <alexandersadovskyi7@protonmail.com>
Co-authored-by: Martin Holst Swende <martin@swende.se>
This PR adds a more CLI flag, so that the les-server can serve light clients even the local node is not synced yet.
This functionality is needed in some testing environments(e.g. hive). After launching the les server, no more blocks will be imported so the node is always marked as "non-synced".
This moves the eth config definition into a separate package, eth/ethconfig.
Packages eth and les can now import this common package instead of
importing eth from les, reducing dependencies.
Co-authored-by: Felix Lange <fjl@twurst.com>