* put otherwise unheld tasks into the pit
* and the rest too
* cull less often
* task referencer
* private
* report unexpectedly unreferenced tasks
* also warn for automated catching in tests
* reporting task
* undo some
* fixup for 3.9
* ban asyncio.create_task
* oof
* simplify including using `Task.add_done_callback()` for culling
* add `/get_log_level` and `/set_log_level` to all rpcs
* tidy
* for py <3.11
* fixup
* add tests
* a few no covers
* add `RpcClient.reset_log_level()`
* tidy
* fixup
* Check if connections are classified as feelers and log connection successes/failures to debug level only. Continue logging warnings/errors as before, just specify if they are associated with feeler connections.
* Reformatted for CI
* Flake8 formatting
* Simplified logging into one-liners where possible.
* explicitly collect api methods instead of later using getattr
* api as a class itself
* tidy
* fixup
* tidier
* and...
* fixup
* oops
* mm
* hum
* fixup
* monkey patching helper
* ...
* tidy
* back to instances
* fix
* self-patch
* duplicate original request attributes
* Update chia/_tests/wallet/sync/test_wallet_sync.py
Co-authored-by: Amine Khaldi <amine.khaldi@reactos.org>
* test that `@metadata.request()` fails on repeated request type
* ...
---------
Co-authored-by: Amine Khaldi <amine.khaldi@reactos.org>
* Initial draft of mempool updates [skip ci]
* More implementation work, but capability issue [skip ci]
* Temp (will probably revert)
* Get first test passing
* Setup spent coin tests
* Add unrelated test data to make tests better
* Refactor test
* Finish testing
* Update tests
* Include removal reason and block inclusion tests
* Remove unnecessary dict
* Add missing message to test
* Fix after rebase
* Broadcast support from node for mempool updates
* Remove redundant code
* Use new_block
* Filter and early return suggestions
* Reword comments on PeakPostProcessingResult
* Improve mempool fn name and doc comment
* Bump wallet protocol version
* Add ratelimits
* Add tests for querying mempool items
* Asserts and more tests
* Add peers for spend bundle tests
* Move capabilities underneath Capability
* Split default capabilities for each service
* Make get_capabilities take in node_type
* Remove optionality
* Refactor get_capability_overrides
* bump chia_rs to 0.7.0 and transition using sized ints and sized bytes from chia_rs
* transition StructStream to use the version from chia_rs
* Initial port of ConsensusConstants to Rust
* Revert max cost calculation to use int for now
* Remove SizedBytes, since it was moved to chia_rs
* Remove test_struct_stream, since it was moved to chia_rs
* use [0] * 100 instead of bytes(100)
* restore wallet_rpc_api, and make type hints match JsonDict (Any)
* fixup ConsensusConstants; restore return value of calculate_prefix_bits()
* fixup ConsensusConstants; construct int for intermedate cost values
* fixup ConsensusConstants; construct int for intermedate cost values
* fixup: transition StructStream to use the version from chia_rs
* revert changing type annotations for json dict
---------
Co-authored-by: Rigidity <me@rigidnetwork.com>
* New wallet sync protocol
* New updates to protocol and initial tests
* Bump new message ids
* Bump protocol version
* Update existing messages
* Implementation of TransactionAddedUpdate
* Improve unit tests
* Update protocol and tests to use previous height
* Testing tweaks
* Remove transaction subscriptions
* Update protocol tests
* Fix request_coin_state test
* Improve test suite, add min_amount, fix bugs
* Update protocol message serialization tests
* Resolve conflicting file
* Remove old hint store code
* Remove transaction added protocol type
* Make height optional for genesis challenge
* Test subscribe after initial state and dedupe ids in that case
* Forcing an empty commit.
* Fix new protocol tests
* Improve performance of clearing subscriptions
* Add more amounts to coin store test
* Lower max items for coin store test
* Fix test coverage, set lower max response items
* Remove add_puzzle_subscriptions and remove_puzzle_subscriptions from protocol
* Update protocol message list test
* Fix valid reply len
* Fix performance issue in query and add error codes
* Add missing message to regression tes
* Add rate limits
* Add test for hint store get_coin_ids_multi
* Increase max puzzle hash batch size and make it a constant
* Use actual params on to_bytes
* Fix test
* Actually check output of no puzzle hash coin state test
* use separate protocol versions for the different services
* Validate protocol version on handshake
* simplify checking protocol version for incoming connections
---------
Co-authored-by: Harold Brenes <h.brenes@chia.net>
* Pass full version in Handshake
* Move chia version conversion into crawler
* Rename to overloaded `chia_short_version` and always return str
* Ensure we extract major.minor.patch from invalid pep440 if available
* update to aiohttp 3.9.2
* correct testing of bans
* fixup
* again
* again (again)
* 🍌 ooh-ooh-aah-aah 🐒
* add back a test that banned host can not connect
* Update source to black 24 spec
* update black to 24.1.1
* update pylint to ignore multiple-statements
* update test file
* black updates
* format updates
* Update test_network_protocol_files.py
* Update test_network_protocol_files.py
* Send RewardChainBlockUnfinished to the harvester
- Simplify data pasing in request_signed_values
* Fix instances where the rc_block_unfinished must be sent
* Lint, fix test, generate protocol messages
* Rate Limit Adjustment for RequestSignedValues (#17481)
* Further bump request_signed_values rate limit
---------
Co-authored-by: Amine Khaldi <amine.khaldi@reactos.org>
Co-authored-by: Luna <96448399+DaOneLuna@users.noreply.github.com>
* update full_node_store to support multiple UnfinishedBlocks with the same reward hash
* extend full node store to support recording outstanding requests for v2 unfinished blocks
* add test for full_node_store
* simplify creation of UnfinishedBlock in test_full_node.py
* extend UnfinishedBlock protocol to support distinguishing between unfinished blocks with the same partial hash but different foliage
* add test for NewUnfinishedBlock and NewUnfinishedBlock2
* when asking the full_node_store for an unfinished block, only by its partial hash; return the highest ranking (lowest foliage tx block hash)