* core/state/snapshot: print warning if failed to resolve journal
* core/state/snapshot: fix snapshot recovery
When we meet the snapshot journal consisted with:
- disk layer generator with new-format
- diff layer journal with old-format
The base layer should be returned without error.
The broken diff layer can be reconstructed later
but we definitely don't want to reconstruct the
huge diff layer.
* core: add tests
# Conflicts:
# core/state/snapshot/journal.go
* more compact append implementation
* do appned for dupsort buckets
* do appned for dupsort buckets
* do appned for dupsort buckets
* do appned for dupsort buckets
* do appned for dupsort buckets
* fix tests
* fix tests
* fix `make grpc` on new checkouts
* update proto files
* add some stub
* prototype with fake events
* notifying about events
* pass events
* events are being sent
* transfer headers to filters
* create the “filters” struct
* implement new heads
* PoC of New Heads subscription
* fix keep alive
* fixups for the client
* add “type” to the event
* support header event type on client
* better stage refactor
* fixup for the eth backend
* fixups
* fix tests
* fix tests
* fix linters
* address comments
* remove unused log
* change_set_dup
* change_set_dup
* change_set_dup
* change_set_dup
* change_set_dup
* change_set_dup
* change_set_dup
* change_set_dup
* change_set_dup
* change_set_dup
* change_set_dup
* change_set_dup
* change_set_dup
* change_set_dup
* change_set_dup
* change_set_dup
* change_set_dup
* change_set_dup
* change_set_dup
* change_set_dup
* change_set_dup
* working version
* working version
* working version
* working version
* working version
* working version
* working version
* working version
* working version
* working version
* working version
* working version
* working version
* working version
* working version
* working version
* working version
* working version
* working version
* working version
* working version
* working version
* working version
* working version
* working version
* working version
* working version
* working version
* working version
* working version
* working version
* working version
* working version
* working version
* working version
* working version
* working version
* working version
* working version
* working version
* working version
* working version
* working version
* working version
* aa
* aa
* aa
* aa
* aa
* aa
* aa
* aa
* aa
* aa
* aa
* aa
* aa
* aa
* aa
* squash
* squash
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* history_early_stop
* history_early_stop
* vmConfig with ReadOnly false
* auto_increment
* auto_increment
* rebase master
Co-authored-by: Alexey Akhunov <akhounov@gmail.com>
* First
* More on SA interpreter
* Fixup
* Add cfg action to hack binary that invokes the SaInterpreter. Added an operation handler for PUSH1
* refactor cfg tests into separate file
* Move cfg tests into separate file
* More refactoring into new file
* dataflow interpreter
* work on cfg0
* finish cfg0
* df works on base examples
* refactor into dataflow spec
* add bounded stack
* add harder example
* fix switch pass thru
* fix switch pass thru
* bug fix, and better printing
* manual merge
* restore call to test gencfg
* abstract interpretation based cfg analysis
* fix post signature
* use uint256 instead uint64, add post function
* preprocess stmts
* initial implementation of resolve
* fix resolve
* fix resolve
* print stmts for edges
* print stmts for edges
* print states
* print states
* bug fixes, debugging
* fix jumpi dest - first working impl
* reachability analysis to filter out dead edges
* add all transfer functions
* larger contract bytecodes from solc compiler
* simple solidity contract goes thru
* add deposit contract bytecode
* rename deposit contract test
* fix new contract arg
* Address non-determinism leading to imprecise results
* improve debugging output
* improve debugging output
* improve debugging output
* fix for bug causing incorrect analysis results
* fix for bug causing incorrect analysis results
* fix for bug causing incorrect analysis results
* add more test cases
* fix coverage bug
* debugging for non-termination
* fix bad fixpoint check
* fix data inference
* fix transfer function for halting stmts
* switch to deposit contract test, disable debugging
* add anly counter to viz, fix stmt.valid check
* show all preds, adjust anlycounter behavior
* dfs instead of bfs to fail earlier
* viz improvements
* add worklist size to viz
* add test case for private functions
* valueset analysis
* add more checks to fail earlier in the analysis to help debugging, improve debugging output, catch additional bad jumps
* delete old code
* delete old code
* delete old code
* fix up minor changes to jump table
* copy over comments from cgf-1 branch
* remove minor diffs
* add recompiled deposit contract
* graph viz
* cleanup/refactoring
* initial impl of viz
* script to run cfg anly and generate dot file
* div example
* accept bytecode from cmd line
* add minimal deposit contract example
* replace valueset analysis with stackset analysis
* get in sync with master
* sync with master
* fix linting
* fix linting
* fix linting
* reformatting
* fix linting
* fix linting
* fix linting
* fix linting
* fix linting
* fix linting
* fix linting
* harness for running over all contracts
* refactor anly, track coverage metrics
* breakdown unresolved into different types, fix bad opcode bug
* sort programs by frequency
* ingest used contracts from bigquery
* performance, concurrency, bug fixes
* more test cases, handle invalid jumps differently, remove duplicate edges, report analytics limit
* simplify concurrency
* correctly track short stack
* add new transfer function, fix stack len
* variable stack length, perf opts, inc anly count limit
* profiling
* test case for large state size
* use custom hash function for control
* timeouts
* cfg.sh
* increase to 5 min timeout
* track elpased time
* use ptr
* increase limits
* increase limits
* fix mem leak
* debug mem leak
* debug mem leak
* lower resource limits
* fix nil error
* add new lattice element
* re-enable
* cut down limits
* preliminary proof checker
* refactor batch mode to run cfg in subprocess,put memory limit
* remove hard wiring
* adjust limits
* update metrics tracking
* more succinct proof checker
* rewrite checker
* bug fixes on checker
* bug fix
* remove print stmts
* track proof size
* print proof size
* don't panic on process error
* compress proof
* go mody tidy
* code formatting
* fix capitalization
* fix linting
* fix linting
* fix linting
* fix linting
* fix linting
* remove unnecessary files
* fix typo
Co-authored-by: Alexey Akhunov <akhounov@gmail.com>
* ReadBlockByNumber and ReadChainConfig return error
* Let's make rawdb package to return error. But by small steps.
High-level methods need to move first:
ReadBlockByNumber
ReadChainConfig
ReadBlockByHash
ReadHeaderByHash
WriteChainConfig
WriteDatabaseVersion
WriteBlock
DeleteTd
WriteTd
ReadTd
* save progress
* save progress
* save progress
* save progress
* etl bimaps
* etl bimaps
* etl bimaps
* etl bimaps
* a
* a
* a
* a
* a
* a
* a
* save progress
* save progress
* save progress
* a
* fix_race_condition_on_zstd_build
* clean
* clean
* clean
* clean
* clean
* go mod tidy
* clean
* clean
* clean
* clean
* clean
* clean
* clean
* clean
* clean
* clean
* clean
* clean
* clean
* clean
* clean
* clean
* clean
* fix corner case
* commit every
* call traces etl
* call traces etl
* call traces etl
* return missed error
* go mod tidy
* go mod tidy
* go mod tidy
* rebase to master
* remove trash
* print full key if it has 8 leading zeroes
* Initial commit for CallTraces index
* Fix compilation
* fix lint, add comment
* Fix integration
* Add Close function to ethdb.Cursor, fix some compile errors
* Try to stop cursor leak in Get
* Fix compile errors in RPC daemon
* Fix compile errors
* fixing another way
* Some fixes
* More fixes
* More fixes
* More fixes
* Fixes to core/state
* Fix lint
* Fix lint
* Fixes
* Stage caching for call trace stage
* Add mem stats
* Try to stop the leak
* Turn off debug
* Chunks for 10k blocks
* Print
* Revert "Print"
This reverts commit 5ffada4828d61e00e5dad1ca12c98258dfbbad00.
* Revert "Chunks for 10k blocks"
This reverts commit cfb9d498e782e5583d41c30abf0e2137da27383e.
* Trying to fix the leak
* Don't compute receipts in re-tracing
* Not compose block
* Print speed, fix receipts, bigger caches
* Fix lint
* Utilise changeset info
* Counters
* Use NoReceipts and ReadOnly
* ReadOnly is incompatible with caching
* Skip test leaking transactions
* Fix block test
* Change disable message for call-traces stage
* Use block option for call traces integration
* Fix retracing due to incarnation
This change adds a test framework for the "eth" protocol and some basic
tests. The tests can be run using the './devp2p rlpx eth-test' command.
# Conflicts:
# core/forkid/forkid.go
# eth/discovery.go
# eth/handler.go
# eth/helper_test.go
# eth/protocol_test.go