* Improve and fix outdated messages in CLI.
* Update chia/cmds/init_funcs.py
Good catch
Co-authored-by: Jeff Cruikshank <paninaro@gmail.com>
Co-authored-by: Jack Nelson <jackmiami60612@gmail.com>
Co-authored-by: Jeff Cruikshank <paninaro@gmail.com>
* 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
Compound commits are bad. Making mypy stricter pointed out some things and
they snowballed. If this is problematic even at this early stage, I can
adjust and put more effort into avoiding this.
* 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