* add coin_store benchmark
* optimize _set_spent in CoinStore
* simplify _add_coin_record, since we won't use it to replace an entry anymore
* use executemany in add_coin_record and set_spent
* disable sqlite sync
* Check types of messages returned from other peers
* Check message type data structures at startup, check that no peeer messages that expect replies are broadcast, and dynamically check return types of messages that do expect replies.
* Type hint protocol message type check functions
* lint
* typo
* add replay_type decorator
* add api reply decorations
* typo
* Don't check non full-node broadcast messages
* Distinguish internal vs peer protocol error
Added Changelog
Moved static check to import time
Moved protocol timeouts to chia/protocols/protocol_timing.py
Comment typos
Rename create_request -> send_request
Comment that INVALID_PROTOCOL_MESSAGE is bannable, not temporary
* Call static check at module import time
* Rename message_response_ok
* Improve protocol checking for outgoing message validation
* Type-o
* reset submodule
Co-authored-by: almog <almogdepaz@gmail.com>
* fullnode related changes from wallet protocol and unharded derivation
* limit total subscriptions per peer
* reset counter on disconnect
* dict not a set
* check membership
* remove unused tests, lint
* no need to check announcements in python, it's all done in rust
* remove python condition parsing, use rust unconditionally
* no need to assert_my_amount, it's done in rust
* assert my puzzlehash is done in rust, no need to check it in python
* parent id is checked in rust, no need to do it in python
* my coin ID is checked in rust, no need to do it in python
* reorder condition checks to have to ones we won't see at the end
* no need for the RUST_CONDITION_CHECKER constant anymore
* update pool tests to use get_name_puzzle_condition
* improve CoinStore test by using pytest parameters (instead of for loops) and use a context manager for the DB connection
* use temporary filename for sqlite db
* change sqlite pragma synchronous=FULL to pragma synchronous=NORMAL to improve disk I/O performance. In the case of catastrophic (hardware, power or kernel) failure, our database can be rebuilt
* removed redundant database pragmas in wallet
* add ids to the return response of start_plotting
* black formatting
* Update chia/daemon/server.py
Co-authored-by: Adam Kelly <338792+aqk@users.noreply.github.com>
* Update server.py
updated a comment in order to get build actions to rerun
Co-authored-by: Adam Kelly <338792+aqk@users.noreply.github.com>
* Let the timelord laucher connect to a configurable hostname
* Use 'host' to be more consistent with the other config sections
* Add timelord launcher host to initial config
* plotting: Refactor file exists check in `process_file`
* plotting: Refactor processing of the `ThreadPoolExecutor.map()` result
I might miss something but imo the use of `reduce` here just reduces
readability and has no value.
* plotting: Let `process_file` return `Optional[PlotInfo]`
* tests: Set `batch_size` to `2` in `setup_plots`
The idea here was to test something smaller than the plots we load.
Fix after 17dea1b708.
* plotting: Set `batch_sleep_milliseconds` to `0` in `check_plots`
The idea here was to have less sleep time since we don't need to give
other threads the chance to jump in. It was `1` before but `0` makes
more sense imo.
Fix after 17dea1b708.
* fixed the bugs related to DID puzzles
* change test so that wallets recover into other wallets
* fix parent_info fetching when recovering
* fix did_test
* delete did tests related to singleton behaviours as that is tested elsewhere
* linting fixes
* update hash commit for did_innerpuz.clvm
* update DID wallet RPC calls
* more lint fixes
* delete further references to deprecated did_spend function
* fix bug in wallet state manager related to falsely detecting pool create
* added did_rpc test
* make sure amounts are uint64
* lint fixes
* Fix deadlock in DID wallet creation, and introduce create_new_did_wallet API call
* rename solution_to_pool_state
* Remove tests dir from packages
* added potential fix
* Allow getting unconfirmed balance from wallet_state_manager when under lock
* Remove a deadlock from create_new_did_wallet
* Update DID wallet test to use async check for farmed chia in wallet setup
* Fix unsigned arithmetic error
* Make DID wallet tests compatible with WalletStateManager lock checking
* check if removal belongs to the wallet
* unconfirmed
* did test cleanup
* fix temppuzhash to be an innerpuz
* clean up DID Wallet, add test for previously broken case
* added state_change call when coin added
added did_info for transaction sent
* update delete wallet parameters
* add comments to DID innerpuz
* fix duplicating bug with tx store
* re-enable did tests
* fix cc wallet bare raise
* remove unused assignation
* fix bare spend in did_wallet
* fix small bug
* messages are a cons box where the first value denotes type of message
* cc_wallet uses new parameter for get_confired_balance
* updates to the puzzle based upon suggestion by Richard
* update git submodule chia-blockchain-gui to did_branch
* updated gui to did_branch 76f9e6cea9f58a30984580b594631f3ae2679752
* updated gui to 041ac79be4
Co-authored-by: Adam Kelly <338792+aqk@users.noreply.github.com>
Co-authored-by: Yostra <straya@chia.net>
Co-authored-by: William Blanke <wjb98672@gmail.com>
* 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