* Minimized a chance where `sudo xxx install ...` is executed and prompts users for password
* Fixed install issue on Ubuntu/Debian
* (Retry) Fixed install issue on Ubuntu/Debian
* Fixed an issue where `install.sh` exits unexpectedly on Ubuntu/Debian
* Added `set +e` and `set -e` to find_xxx functions
* Improve code structure
* Fixed an issue where `install.sh` fails if Python < 3.7 is already installed
* Added `-s` option and overwhaul entire construction
* `-d` and `-s` can be both specified at once
Includes:
NFT content/metadata caching and associated user settings
Key labeling follow-up fixes#1025
replaced is_running with running_services
when all services running used poolingInterval 10seconds otherwise 1sec
fixed text color for wallet state chip
Spacescan.io offer sharing for token/NFT offers (#1035)
Fix#1041 error when content-type encoding is iso-8859-1
* convert datalayer to DBWrapper2 (all write)
* more read, less write
* remove unneeded connection managers
* and... close it
* data store now creates its own wrapper
* Drop unused hint DataLayer.batch_update_db_wrapper
* require named arguments for most of `DBWrapper2.create()`
https://github.com/Chia-Network/chia-blockchain/actions/runs/3173913911/jobs/5170075702
```python-traceback
Traceback (most recent call last):
File "/Users/runner/work/chia-blockchain/chia-blockchain/chia/server/node_discovery.py", line 299, in _connect_to_peers
await self._query_dns(dns_address)
File "/Users/runner/work/chia-blockchain/chia-blockchain/chia/server/node_discovery.py", line 237, in _query_dns
self.log.warn(f"querying DNS introducer failed: {e}")
File "/Users/runner/hostedtoolcache/Python/3.10.7/x64/lib/python3.10/logging/__init__.py", line 1492, in warn
warnings.warn("The 'warn' method is deprecated, "
DeprecationWarning: The 'warn' method is deprecated, use 'warning' instead
```
* util: Set log levels per handler / Fix the log level in beta mode
Prior to this PR the log level from the beta config (`DEBUG`) wasn't
used. So the beta mode still was depending on the config level of the
service being `DEBUG`.
This PR refactors the logging setup a bit to make it even possible to
set a specific log level for each handler which is what we need to make
the `beta.log` level independent from the normal `debug.log` level.
* Add the error to the log
* Compare to `DEBUG`
* Log the handler also
* more explicit and complete handling of api decorator data
* fix
* .message_class
* actually, those are different types...
* tweak
* simplify
* learn that functools.wraps copies random attributes
* add a transactional reader as `DBWrapper2.reader()`
* contextlib.AbstractAsyncContextManager
* try a minimal test
* rework test to allow the read to finish so the write can finish the commit after that
* pylint disable
* WAL!!!
* more tests
* if TYPE_CHECKING for typing variable assignments
* future
* cover some more test cases
* 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
* Log the number of cache entries and the time it took to parse them
* Log `started` and `done` as `INFO` and `batch_processed` as `DEBUG`
* Log the plot found message with `DEBUG` level
* Some additional debug logs in `new_signage_point_harvester`
* mint from did
* fix did puzzle announcements
* clean up params and test
* mypy
* add RPC endpoint
* use rpc client for test
* test create spends in loop
* transfer to target
* fix lineage proof for transfers
* isolate block timing issue in test
* DID lineage proof
* test transfer to targets
* add exclude list to select_coins RPC
* coin json
* move tests to did wallet
* fix typing royalties
* cleanup tests
* DID_HRP to AddressType
* clvm compilation
* improve checks in rpc api
* move mint_from_did to nft wallet
* reduce number of blocks in tests
* forgot to remove mint function from did_wallet.py
* mypy
* validate NFT metadata and edition numbers in test
* fix puzzle announcements, refactor and comments
* make tests work with new RPC server settings
* create puzzle assertions for eve and transfer spends
* rename vars for mint numbering
* rename more edition -> mint variables
* remove DID owner from eve spend
* make coin announcement from did spend
* make transfer from eve spend
* corrections for address options in RPC
* simplify intermediate launchers
* announcments for xch xpend
* re-order announcements for xch spend
* test with fewer blocks
* skip off chain metadata test with IPFS
* add bulk mint puzzle and methods to nft wallet
* add rpc endpoints
* add tests
* don't skip off chain metadata test
* fix default case for xch_coin_list
* Add bladebit for pre-release mac builds. Update pyinstaller to include bladebit if the file exists
* Make plotter inclusion conditional based on if they are present for the build or not
* temp: always get pre-release bladebit plotter for testing
* Only include bladebit on pre-release
* Refactor away from post init for UPnP
* refactor UPnP to not be reusable
* update upnp in datalayer too
* add if_needed parameter to UPnP.shutdown()
* simpler
* be more lenient about startup failures, like before
* too many ways for UPnP to fail right now, revert to a smaller refactor approach instead of fixing them all up