Most places that used this method were cutting off the 1st byte.
Refactor this idea to a common place.
* better naming: MarshalPubkey matches existing UnmarshalPubkey
* "Std" suffix for the ANSI standard encoding without cut off
* docs
* Hd.Fetching -> FetchingNew
* ReadHeadHeaderHash makes more sense in verifyAndSaveNewPoSHeader
* Potentially more correct LatestValidHash in case of payload with invalid transactions
* Fixes to subscribe logs
* Add criteria to logs subscription
* Skeleton of RPC daemon event log distribution
* Simplify
* Send aggregated filter to Erigon
* Change API
* Print
* Fixes
* Fix topics filtering
* Fill txHash and blockHash
* Timing logs, fill tx index
* Print
* More print
* Print
* Asynchronous sending of log events to RPC daemon
* Remove prints
* Only extract logs if there are subscribers
* Check empty when RPC daemon is removed
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
* Separate handover timing
* Update
* Corrected handover time calculation
* Not use compression when aggregate
* Update to latest erigon-lib
* Update to erigon-lib main
* Update
* Disable reproducible builds
* Restore github actions
* Restore github actions
* Revert "linter to support go 1.18 (#3739)"
This reverts commit 1fd434d3d1.
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
* Update to erigon-lib
* Fix for block number
* Update
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
* added support of Clique consensus for block processing for erigon2
* erigon2: remove block reader which doesn't use system pre and post block transactions
* adding eth_getLogs functionality for contract events for the devnet tool
* Made changes to fix double hashing
* Fixed lint errors
* Changed strings.Replace to strings.ReplaceAll for replacing strings
* Cleaned up print statements across files
* Fixed logs not being populated in result typee.go
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
* adding eth_getLogs functionality for contract events for the devnet tool
* Made changes to fix double hashing
* Fixed lint errors
* Changed strings.Replace to strings.ReplaceAll for replacing strings
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
* [erigon2] history indices based on Elias Fano
* Tidy
* Update
* tx lookup to support blocTo in integration
* Update to fix
* Update
* Fix
* Update to erigon-lib main
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
* 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
* Fix forced --port=0 and warn user of hard-coded flags
* Fix typo
* Check for port explicitly set, be verbose about it
Co-authored-by: 0xVox <ohnoyoudont@nottoday.com>
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* a
* a
* a
* a
* a
* a
* fefefe
* fefefe
* fefefe
* fefefe
* fefefe
* fefefe
* fefefe
* fefefe
* fefefe
* fefefe
* fefefe
* fefefe
* fefefe
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
If --nat extip:1.2.3.4 option is specified, the port mapping logic
(AddMapping/DeleteMapping) does nothing.
This optimization avoids running a goroutine for doing nothing.
* Auto detect latest block for optimal use of plain state and state cache
* Fix lint
* Fix test
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
Extract private key setup from the global config setup to make it reusable.
Return errors instead of panicing.
* NodeKey() method is removed - it is unused.
* use "log" for struct fields
* use "logger" for function parameters and local vars
This is a compromise between:
1) using logger := log.New() to avoid aliasing (log := log.New())
2) and keeping it short when logging e.g.: srv.log.Info(...)
* Simplify TerminalBlockHash & TerminalBlockNumber
* Simplify FeedHeaderPoS
* More accurate comment
* Relax TerminalBlockHash check
* Extract the sleep hack into stageLoopIsBusy
* Several short naps instead of a single longish sleep
* Fix coinbase in stage_mining_exec
* More orthodox loop
* typo in comment
* initial
* binary search through blocks
* snapshot
* returning highest block
* oldest block is now 0
* multiple test written for getBlockByTimeStamp
* retrieved picked block time stamp
* added into erigon_api
* returning pointer
* reverting c37b99b2d7ebc2250b103393378cc4a4f94a6c21
* deleted print
* proper rpc block response
* fixing test
* returning lowest block
* lint
* typo
* fixed test
* returning lowest-1
* skip while loop for times too big or small
* added to readme
* using sort.Search
* More tracing
* More tracing
* More tracing
* Keep correct txNum
* Keep correct txNum
* Update to tracing
* Off by one
* Print memory info
* Quicker startup
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
* Make blockNrOrHash optional in CreateAccessList (in line with geth)
* OptimizedAccessList
* cosmetics
* optimizeGas param instead of separate method
* Inline toAddress
* 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>
* Added a method to `cmd/rpcdaemon/cli/config.go` to check header of incoming http request for a ws upgrade request
* Added the testing of the 'GET /' request for ws to the devnet tool
* Fixed lint errors
* Increased hardcoded gas price from 50000
* Added functionality to search for last propagated transaction in mined blocks after sending a transaction.
* Added functionality to search for last propagated transaction in mined blocks after sending a transaction.
* 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>
* fix compatibility of getting tx by number
`eth_getTransactionByBlockHashAndIndex` and `eth_getTransactionByBlockNumberAndIndex` should return `null` if the index provided is out of bound (checked with Infura and Cloudflare ETH gateway).
* small fixup (formatting)
* 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>
* [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>
* 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>