* tests: Allow to use custom keys in `BlockTools.new_plot`
* tests: Create three plots with `G1Element()` as farmer/pool key
But not add them as default plots. Just to have plots in the test cache with different keys from
within and outside the keychain for plot loading tests.
create
* test|github: Bump `test-cache` version to `0.28.0`
* plotting: Drop plots from `no_key_filenames` after the keys appeared
* plotting: Drop plots from `no_key_filenames` if the plot was removed
* tests: Test loading of plots where we miss the keys
* plotting: Use `x.copy()` instead of `list(x)`
* plotting: Add a comment about the missing keys plot removal
* tests: Fix after #9595
* tests: Move the `expected_result_matched` assignment out of the loop
This issue was introduced in #9505 and leads to false positives as soon
as there was one of the attributes in `PlotRefreshResult` checked to be
valid followed by an invalid one.
* tests: Fix `test_invalid_plots`
* plotting: Fix try/except in `PlotManager._refresh_task`
* tests: Move the start refreshing call into `PlotRefreshTester` ctor
It being in `run()` before where it was called every test iteration lead
to not detecting an issue with the try/except introduced in #9409. See
ee1dd1912f4678d7b960b670473bd4b3ffbd890b for the fix.
* farmer: Run a start background task to wait if there are no keys yet
* farmer: Run the handshake in a background task if there are no keys yet
* tests: Yield the service in farmer/harvester setups
* tests: Introduce `start_service` in farmer/harvester setups
* server: Make `ChiaServer` and `Service` restartable
* tests: Test the delayed start/handshake in `test_farmer_harvester.py`
* tests: Move `test_farmer_harvester.py` to `tests/core/farmer_harvester`
Attempt to avoid issues due to the global block tools / shared keychain
between tests
* farmer: Return `bool` in `Farmer.setup_keys`
* tests: Add `__init__.py` to `tests/farmer_harvester`
* Remove initial writes to DB, since there is nothing new to write at this point
Both of these methods are called later after each crawler iteration. The lines being deleted write all the same data back to the DB right after the initial data was loaded FROM the DB in the "create" method call, which is a waste of time, especially for mainnet where there are hundreds of thousands of records to write back
* Add additional logs around DB writes
* Add a retry around writing to the DB in case something else has a lock on the DB
Metrics processes read from this DB periodically and sometimes things time out just right and we get a lock exception. Without this retry, we'd hit the other exception handler which doesn't allow the loop to continue
* unify the name we use for the special mode we run CLVM in, when accepting transactions into the mempool. We currently call this, strict mode, safe mode, safe and unsafe. Neither of these names are very descriptive. This patch renames this mode to mempool-mode
* import as
* stub SizedBytes.fromhex() until upstream is released
https://github.com/python/typeshed/pull/6201
* black
* more
* more
* more
* more
* more
* import TYPE_CHECKING via from
* more
* more
* catch up
* Update to node 16
* Install lerna globally. Lerna clean, and comment out audit:fix for now since it doesn't work with Lerna (see https://github.com/lerna/lerna/issues/1663)
* Global lerna in build mac as well
* Test building the gui package, instead of from the root
* Build installer from the gui package and copy daemon folder to the correct place
* Pass executable name / options.name to linux installers
* Move installers to the root of blockchain-gui
* Fix winstaller
* Latest NEXT
* Update to latest UI
* Copy signing cert for windows to proper location
* Set the permissions of chrome-sandbox
Testing to see if setting the permissions of chrome-sandbox prior to packaging works, or if an RPM post-install script is needed
* use rpm attr to set file permissions
* whitespace fixup
Without this the plot manager thread silently dies on exceptions and
refreshing just stops. This change leads to refreshing reset and a error
log on exceptions.
Earlier in the function `peak_hash` is used and is detectible as
`bytes32`. At this location it is assigned from an `Any` hinted
value thus leaving `bytes32` as a valid, although inaccurate,
hint. Renamed to avoid this collision of uses. When we ban `Any`
we will end up dealing with this.