* `assert spend_bundle is not None`, required after hinting in next commit
* Don't start duplicated RPC servers, use the already started ones
* Wait for wallet sync before minting
* Move `request_time` creation into `is_peer_synced`
* Pass in `height: uint32` instead of `header_block: HeaderBlock`
* Disconnect untrusted peers as soon as we have a synced trusted
* Add `test_long_sync_untrusted_break`
* Ignore already disconnected peers
* better handling of offer status and failed txs
* 5 retries before tx is marked failed
* increase test timeouts
* fixed test
* require only difference vs whole fee
* polish + fee coins kick in only if we're missing fee
* Stop sending change to a new address
* Fix bug
* Add config & unit tests
* Resolve comments
* Refine based on the requirements
* Change config to str
* Disable addr reuse for unit test since the hardcode offer doesn't compatible with it
* Cover offer trade
* Add unit test and RPC support
* Add reuse option for cli
* Enhance unit test
* Fix unit test
* full_node: Rename `FullNode.resond_block` to `FullNode.add_bock`
The naming `respond_block` is confusing here imo, we have a full node
API method called `respond_block` but here in the `FullNode` class this
method is there to try adding a block to the full nodes's chain so i
think `add_block` is the better choice?
Also change the `respond_block: full_node_protocol.RespondBlock`
parameter to `block: FullBlock` which lets us get rid of many
`full_node_protocol.RespondBlock` wrappings.
* `FullNode.receive_block_batch` -> `FullNode.add_block_batch`
* `receive_unfinished_block` -> `add_unfinished_block` + change parameter
* `FullNode.respond_transaction` -> `FullNode.add_transaction`
* `FullNode.respond_end_of_sub_slot` -> `FullNode.add_end_of_sub_slot`
* `FullNode.respond_compact_vdf` -> `FullNode.add_compact_vdf`
* `respond_compact_proof_of_time` -> `add_compact_proof_of_time`
* `respond_transaction_semaphore` -> `add_transaction_semaphore`
* Make `WalletNode.set_sync_mode` an `asynccontextmanager`
* Only fetch the height if debug logs are enabled
* `yield` the start height of the sync context in `set_sync_mode`.
* fix test asserts to not require the same object, just the same value
* make Mempool's implementation private and give it a public interface
* fixup test that used to count fee *levels* but now count transactions
* Drop redundant fixtures in `test_dl_wallet.py`
* Drop `two_wallet_nodes_five_freeze`
Maybe im just not getting it but the `five_freeze` doesn't sound right
here to me and the fixture does the same as `two_wallet_nodes` so i
guess we can just drop it?
* Drop `wallet_and_node` fixture
* Drop both `wallet_node` fixtures
The one in `conftest.py` and the one in `test_dl_wallet.py`.
* Drop both `wallet_node` fixtures
The one in `conftest.py` and the one in `test_dl_wallet.py`.
* Drop `wallet_node_sim_and_wallet` fixture
* Drop `wallet_node_simulator` fixture
* Drop `one_wallet_node` fixture
* preliminary test_pool_rpc refactor
* remove todo
* handle some todos
* one more
* wait for wallets to sync in the fixtures
* drop an extra wallet
* drop unused function
* add test
* do some forwards compat stuff
* Add a forwards compat example
* fix test
* Add more forwards compat tests
* Add more forwads compat tests
* Add forwards compatibility for nft1s
* add forward compatibility for nft offers
* Add forwards compatibility tests for DL offers
* Update DL test offers
* lint
* isort
* offer mod bytes
* Fix compression test
* isort again
* Add special offers for <=3.7 (CATs)
* Add special offers for <=3.7 (NFT1s)
* Add special offers for <=3.7 (NFT0s)
* Add special offers for <=3.7 (DLs)
* Check for conflicting items during aggregation
* isort
* Return created old offers properly marked
* Add resync API
* Resolve comments
* Fix precommit
* set_wallet_resync RPC call
* disable resync after reset
* Update chia/wallet/wallet_node.py
Co-authored-by: Jeff <paninaro@gmail.com>
* fixes
* fixes
* rename method
* more tests, schema test
* removed formatting changes in initial-config
* another test case
* another test case
* simplification
* rename fix
* hinting
* added notification id table
---------
Co-authored-by: ytx1991 <t.yu@chia.net>
Co-authored-by: Jeff <paninaro@gmail.com>
* wallet: Avoid duplicates in `get_puzzle_hashes_to_subscribe`
We currently store the derived puzzle hashes in both, puzzle store and
interested store and here we combine them as list. There is some code to
mitigate duplicate subscriptions but its based on chunks here
39d733599d/chia/wallet/wallet_node.py (L662)
so if there are less than 1000 puzzle hashes it obviously still can lead
to redundant subscription calls?
* Add `test_unique_puzzle_hash_subscriptions`
* Rename notification config
* Change unit test
* Fix test
* Set minimum required notification amount
---------
Co-authored-by: Matt Hauff <quexington@gmail.com>
* move SerializedProgram into its own file (to fixup type annotations)
* fix type annotations for SerializedProgram
* fixup import statements for new SerializedProgram module
* Add NFT bulk transfer API
* Fix pre-commit
* Improve unit test
* Fix precommit
* Improve unit test
* Fix response json serialization
* Fix bulk API missing transaction
* Remove print
* Add get_transaction_memo API
* Add unit test for XCH
* Cover received coins
* Revert test hack
* Remove irrelevant change
* Add parameter override
* Fix pre-commit
* Updated `verify_signature` RPC to support signatures made by `sign_message_by_*` RPCs
* Updated RPC to use "signing_mode" param name with value "chip_0002"
Added CHIP_0002_SIGN_MESSAGE_PREFIX string constant
* Tests for verify_signature
* Update chia/wallet/wallet.py
Co-authored-by: Kyle Altendorf <sda@fstab.net>
* Adds SigningMode enum with CHIP-0002 and BLS message augmentation schemes
chia keys sign/verify support JSON output
chia keys verify now accepts the -b as_bytes option
* Fix a mypy warning
* Updated link to CHIP-0002
* isort
* Fix tests
* improve error handling
* comment how test data was generated
* Update chia/rpc/wallet_rpc_api.py
Co-authored-by: Kyle Altendorf <sda@fstab.net>
* Update chia/rpc/wallet_rpc_api.py
Co-authored-by: Kyle Altendorf <sda@fstab.net>
Co-authored-by: Kyle Altendorf <sda@fstab.net>
* fix fee bug
The fee should not be taken into account when dealing with CAT's or other non XCH coins.
* fix broken CAT removals
it was never implemented ...
* Update wallet_rpc_api.py
* Add NFT bulk transfer API
* Fix pre-commit
* Improve unit test
* Fix precommit
* Improve unit test
* Fix response json serialization
* Fix bulk API missing transaction
* Remove print