* protocols|server: Define new harvester plot refreshing protocol messages
* protocols: Bump `protocol_version` to `0.0.34`
* tests: Introduce `setup_farmer_multi_harvester`
Allows to run a test setup with 1 farmer and mutiple harvesters.
* plotting: Add an initial plot loading indication to `PlotManager`
* plotting|tests: Don't add removed duplicates to `total_result.removed`
`PlotRefreshResult.removed` should only contain plots that were loaded
properly before they were removed. It shouldn't contain e.g. removed
duplicates or invalid plots since those are synced in an extra sync step
and not as diff but as whole list every time.
* harvester: Reset `PlotManager` on shutdown
* plot_sync: Implement plot sync protocol
* farmer|harvester: Integrate and enable plot sync
* tests: Implement tests for the plot sync protocol
* farmer|tests: Drop obsolete harvester caching code
* setup: Add `chia.plot_sync` to packages
* plot_sync: Type hints in `DeltaType`
* plot_sync: Drop parameters in `super()` calls
* plot_sync: Introduce `send_response` helper in `Receiver._process`
* plot_sync: Add some parentheses
Co-authored-by: Kyle Altendorf <sda@fstab.net>
* plot_sync: Additional hint for a `Receiver.process_path_list` parameter
* plot_sync: Force named parameters in `Receiver.process_path_list`
* test: Fix fixtures after rebase
* tests: Fix sorting after rebase
* tests: Return type hint for `plot_sync_setup`
* tests: Rename `WSChiaConnection` and move it in the outer scope
* tests|plot_sync: More type hints
* tests: Rework some delta tests
* tests: Drop a `range` and iterate over the list directly
* tests: Use the proper flags to overwrite
* test: More missing duplicates tests
* tests: Drop `ExpectedResult.reset`
* tests: Reduce some asserts
* tests: Add messages to some `assert False` statements
* tests: Introduce `ErrorSimulation` enum in `test_sync_simulated.py`
* tests: Use `secrects` instead of `Crypto.Random`
* Fixes after rebase
* Import from `typing_extensions` to support python 3.7
* Drop task name to support python 3.7
* Introduce `Sender.syncing`, `Sender.connected` and a log about the task
* Add `tests/plot_sync/config.py`
* Align the multi harvester fixture with what we do in other places
* Update the workflows
Co-authored-by: Kyle Altendorf <sda@fstab.net>
* Handle INSTALL_PYTHON_VERSION in Install.ps1, otherwise search 3.9/3.8/3.7
* fix python availability check in Install.ps1
* when Install.ps1 does not find an acceptable python, list supported versions in order
* Update Install.ps1
Co-authored-by: Matt Hauff <quexington@gmail.com>
Co-authored-by: Matt Hauff <quexington@gmail.com>
* Set keychain_proxy to None in await_closed() to support reinitialization.
* Added `shutting_down` param to _await_closed() to control whether the keychain_proxy is closed.
From my understanding this is only used by `chiavdf` source builds which
happen only if `install-timelord.sh` gets called but it doesn't in the
addressed cases.
* Force apt to install the things we asked it to
* Update .github/workflows/benchmarks.yml
Co-authored-by: dustinface <35775977+xdustinface@users.noreply.github.com>
Co-authored-by: dustinface <35775977+xdustinface@users.noreply.github.com>
* Start fast full node tests
* Perf improvement on send_transaction
* Major performance improvement for mempool test
* Speed up another test
* Speed up mempool tests startup
* Lint
* Debug tests
* Try function scope for wallet_nodes
* Update comment
* MacOS isn't updating OpenSSL in install.sh
* Exit if no brew on MacOS
* Code the if tree like a pro instead.
Co-authored-by: Kyle Altendorf <sda@fstab.net>
Co-authored-by: Kyle Altendorf <sda@fstab.net>
* Check for vulnerable openssl
* Update OpenSSL on MacOS
* First attempt - openssl Ubuntu 18.04 and 20.04
* place local/bin ahead in PATH
* specify install openssl
* correct path
* run ldconfig
* stop building and check for patched openssl
* spell sudo right by removing it
* Remove openssl building - 1st attempt RHs
* Test Windows OpenSSL version HT @AmineKhaldi
* when going through a reorg, maintain all chain state until the very end, when the new fork has been fully validated and added
* when rolling back the chain, also rollback the height-to-hash map
* add tests
* improve error message when a block is missing from the blockchain database
* Update chia/full_node/block_height_map.py
Co-authored-by: Kyle Altendorf <sda@fstab.net>
Co-authored-by: Kyle Altendorf <sda@fstab.net>