* eth-sign: initial implementation
* sighash: pre-refactor
* sighash: refactor, all old tests pass
* sighash: test ovmsigner code paths for eip155 and eth_sign
* sighash: tx serialization tests
* sighash: refactor to sign bytes
* common/varbytes: use varbytes serialization from btcd
* transactionmeta: implement and test
* rawdb: add new index
* types/transaction: use txmeta
* blockchain: index tx meta on new block
* rpc: fix sendrawethsigntransaction docstring
* meta test: remove dead code
* ethapi: clean up comment
* lint: fix
* txmeta: clean up compares
* ethapi: remove rlp tag
* signer: remove rlp encoding tags from struct
* types: use factory pattern for getting sighash type
* sighash: migrate to using const
* tx pool: use ovmsigner for tx validation
* tx signing: fix eth_sign serialization
* sighash: new version
* sighash: commit to chainid
* sighash: bugfixes
* core/types: prevent panic on tx sort
* core/types: rename to transaction_meta
* core/blockchain: index txmeta
* sighash: no native value
* ethapi: use ovm signer
* sighash: move chainid
* Adding L1RollupTxId field to Transactions
* Adding rollup transactions signing key config and bug fixing within api.go. Signing key and endpoint will be removed when go handles batch fetching
* core: reinit chain from freezer in batches
* core/rawdb: concurrent database reinit from freezer dump
* core/rawdb: reinit from freezer in sequential order
* all: freezer style syncing
core, eth, les, light: clean up freezer relative APIs
core, eth, les, trie, ethdb, light: clean a bit
core, eth, les, light: add unit tests
core, light: rewrite setHead function
core, eth: fix downloader unit tests
core: add receipt chain insertion test
core: use constant instead of hardcoding table name
core: fix rollback
core: fix setHead
core/rawdb: remove canonical block first and then iterate side chain
core/rawdb, ethdb: add hasAncient interface
eth/downloader: calculate ancient limit via cht first
core, eth, ethdb: lots of fixes
* eth/downloader: print ancient disable log only for fast sync
* core: lookup txs by block number instead of block hash
Transaction hashes now store a reference to their corresponding
block number as opposed to their hash. In benchmarks this was
shown to reduce storage by over 12 GB.
The main limitation of this approach is that transactions on
non-canonical blocks could never be looked up, however that is
currently not supported.
The database version has been upgraded to version 5 and the
transaction lookup process is backwards-compatible with the
prior two transaction lookup formats prexisting in the
database instance. Tests have been added to ensure this.
* core/rawdb: tiny review nit fixes
This PR is a more advanced form of the dirty-to-clean cacher (#18995),
where we reuse previous database write batches as datasets to uncache,
saving a dirty-trie-iteration and a dirty-trie-rlp-reencoding per block.