Remove deprecated Python analyze-chain.py in favor of Rust version
Per Arvid: this tool was ported to Rust before the hard fork.
The Python version is unmaintained.
Made-with: Cursor
* context manager for BlockTools
* Missed one usage and fixed up Self import
* Ignore cleanup errors in tempdir cleanup for BlockTools
* Remove debug prints
* Fixed up sync blocktools and use @contextmanager
* Address review comments
* Add return type
* Empty commit for github
* Strange github things
* adjust order of finding ports
Simplify add_block_batch.
1. No need to accept AugmentedBlockchain and reconstruct it again.
2. No need to return both success and an unused optional error.
* Use #!/usr/bin/env bash
* Update setup-poetry.sh
* Use #!/usr/bin/env bash for shebang
* fix up typo for leading space
* For consistency fix up a few other scripts
* make pre_validate_multi_processing() return futures, rather than the awaited and joined results from the thread jobs. This is crucial to allow the validaion jobs to run concurrently with the database interaction in the main thread
* Split up the add_block_batch() function into 3 parts, preparing them to be pipelined in long-sync
* pass AugmentedBlockchain into pre_validate_multiprocessing() and prevalidate_blocks(), to support the augmented blockchain to outlive a single batch
* pipeline pre-validation in sync_from_forkpoint()
* optimize the common case of _reconsider_peak(), to avoid one database lookup
* address review comments
* rename filter_blocks() -> skip_blocks(). It's is only relevant at the start of the sync, add comment and assert
* refactor
* minor fixes
* fix_tests
* add finish sync to add_blocks_in_batches
* add_blocks_in_batches updates wallets
* test fixes
* fix condition in add_block
* add known block to cache
* restore comment
* remove init file from log dir
* fix failed reorg test
* revert known block info change
* assert height in cat test
* wait for wallet height in nft test
* assert sync all height for all wallets
* test_cat_creation assert height
* rename vars
* assert height in process states
* combine current sub slot iterations, current difficulty and previous ses block into ChainState, to make it easier to pass around and update
* address review comments
* address review comments. rename ChainState -> ValidationState. add more comments
* refactor pre_validate_blocks_multiprocessing
* fix condtion
* get diff and ssi from blocks
* works_with_skip_ses
* add default
* propegate_to_header_validation
* pass data between batches
* remove redundant code
* merge fix
* remove optionals and refactor tests
* only use cache
* merge fix
* fix test
* dont traverse if we have prev sub epoch block
* return bad_prev error if block is missing
* mandetory param names
* clean
* fix_benchmark_test
change the type of ref_list to List[bytes] instead of List[SerializedProgram]. Also, avoid passing the block generator twice to the worker process for validation
* remove block_height_list from BlockGenerator. This field is only used when farming blocks, and we don't use it in production right now. We only use it in the tests, BlockTools. It has been updated with a cleaner and more direct way of setting the block reference list in new blocks
* test
* bump chia_rs to 0.7.0 and transition using sized ints and sized bytes from chia_rs
* transition StructStream to use the version from chia_rs
* Initial port of ConsensusConstants to Rust
* Revert max cost calculation to use int for now
* Remove SizedBytes, since it was moved to chia_rs
* Remove test_struct_stream, since it was moved to chia_rs
* use [0] * 100 instead of bytes(100)
* restore wallet_rpc_api, and make type hints match JsonDict (Any)
* fixup ConsensusConstants; restore return value of calculate_prefix_bits()
* fixup ConsensusConstants; construct int for intermedate cost values
* fixup ConsensusConstants; construct int for intermedate cost values
* fixup: transition StructStream to use the version from chia_rs
* revert changing type annotations for json dict
---------
Co-authored-by: Rigidity <me@rigidnetwork.com>