* prover protocol and v2Prover
* format name
* format
* refactor filename
* tests/raise unimplemented
* add get_filename_str to mock
* rename methods
* rename
* refactor
* improve coverage
* test from bytes
* Add new flag to support recurvely scanning and following links
* black fix
* hardlink_to only in python 3.10+
* Remove unneeded hardlink checks as hardlinks to directories aren't a thing
* Minor update per code review
* use boolean_datacases
* Add new flag to initial-config
* replace blspy imports with chia_rs imports for BLS types
* remove blspy-stubs, since we're dropping the blspy dependency. chia_rs has type stubs already
* Timeout for retrieving a decompressor.
* Pre-commit fix
* Use new chiapos
* Use chiapos 2.0.1
---------
Co-authored-by: wallentx <william.allentx@gmail.com>
* configure isort to add the future annotations import
* apply the new isort setting
* remove type ignores for new mypy (#13539)
https://pypi.org/project/mypy/0.981/
* another
* minor lock scope reduction
* use the lock in tests
* Use the passed root_path in configure CLI command
* switch to lock_and_load_config()
* oops
* cleanup
* make _load_config_maybe_locked() private
* black
* Remove future improvement opportunity TODO comment
* Add configuration locking
Extracted from https://github.com/Chia-Network/chia-blockchain/pull/10631
* note that fasteners will likely be replaced by filelock
* Fix test_multiple_writers on macOS
* create_all_ssl() doesn't need to be inside the config access lock
* add warnings about not using async within get_config_lock() get lock contexts
* no need to pre-touch the lock file
* .yaml.lock instead of just .lock
* test_multiple_writers() is sync
* Revert "add warnings about not using async within get_config_lock() get lock contexts"
This reverts commit 681af3835b.
* reduce lock context size in chia_init()
* use an exit stack in load_config()
* avoid config existence precheck
* only lock around the read in load_config()
* do not raise e, just raise
* tidy new imports
* fix queue empty check in test_config.py
* remove commented out code in test_config.py
* remove unused import
Co-authored-by: Jeff Cruikshank <jeff@chia.net>
* chia|tests: Pass the loaded/removed plots with `PlotRefreshResult`
Instead of just the counts.
* plotting: Default to `False` for `expected_result_matched`
* tests: Validate the loaded/removed plots match the expectations
* plotting|harvester|tests: Improve batch processing
Let it only process `batch_size` files per `refresh_batch` call.
* plotting: Improve thread shutdown
* plotting|harvester|tests: Drop `loaded_size` from `PlotRefreshResult`
* rename: Drop `_plots` and `_files` suffixes in `PlotRefreshResult`
* plotting: Drop `PlotRefreshResult.__add__`
I introduced it but i don't really like it because its not a "real" add
any only works in one direction because of `remaining`.
* Revert "plotting: Fix failed_to_open_filenames re-try interval"
This reverts 8a8abc41a8 which is part of
#7848. Seems like i confused myself there.
* plotting|util: Introduce `retry_invalid_seconds` in plot refresh params
* plotting: Cleanup `failed_to_open_filenames`
* tests: Test re-try of plots which failed to load
* harvester|plotting|tests: Introduce `PlotManager` class
This moves all plots related and plot-directory related stuff from the
harvester into the class `PlotManager`, adjusts all related code
accordingly and adds some extra wrappers there.
* harvester|plotting|tests: Return how many new plots were loaded
* plotting: Fix `failed_to_open_filenames` re-try interval
With `< 1200` it just tries it on the next refresh.
* plotting: Fix and improve duplicates handling
* harvester|plotting: Thread locks for `PlotManager.plots`
* chia|tests: Load plots in batches
* chia|tests: Move plot refreshing into a separate thread
* plotting: Properly handle removed plots
And fix tests accordingly. It seems like this fix https://github.com/Chia-Network/chia-blockchain/pull/3350 wasn't really a fix, rather adjusting to allow for a bug?
* plotting|harvester|tests: Introduce `PlotRefreshResult`
* tests: Expand `test_farmer_harvester_rpc.py`
* chia|tests: Move some stuff from `plot_tools.py` into new file `util.py`
* refactor: Rename `plot_tools.py` to `manager.py`
* chia|tests: Use pure dataclass for `PlotsRefreshParameter`
With `uint16` as type saving to config doesn't work, this is a
preparation for the next commit.
* harvester: Adjust deprecation message, use `info` instead of `warning`
* plotting: Fix typo
* refactor: Rename `filename` to `file_path`
Fits better and does avoid shadowing with filename from outer scope.
* chia|tests: Move some methods from `plotting.manager` to `plotting.util`
* plotting: Make `refresh_callback` mandatory