* Add the request types
* Add the request types
* some test fixes
* Add the client ports
* Fix tests
* Add cmd support and fix a test
* Missed a couple
* Add test for `CreateNewWallet.__post_init__()`
* Add some checks when trying to join the same pool already joined
* Add test to test the specific cli case
* Remove line added during debugging
* Add test
* misc updates
* remove cli test
* final tests for joining same pool again
* Update check from code review
* update test framework
* Use click.ClickException for error
* Add check for wallet synced up front as the first thing checked for joining a pool
* Add test for unsynced RPC call
* chia plotnft CLI improvements
* use CliRpcConnectionError
* add check to show
* fix typo
* Update plotnft CLI to newer framework
* Fix help cut-paste error
* add test using new framework
* some minor fixes
* use click.Choice for pool/local option
* some click options
* Some more plotnft cli tests
* drop test_pool_cmdline from mypy-exclusions
* mypy fixes
* several fixes
* Add leave test
* join tests
* more join tests
* missing await
* Try setting config
* use root_path from NeedsWalletRPC
* linting
* Some cleanup
* Add claim tests
* Improved tests
* refactor some test code
* Add inspect tests
* Skip bad test for now
* Add in change payout tests
* quoting error
* Add test for get_login_link
* Add in a few negative tests for join
* Few more tests
* Experment with clirunner env overrides
* put back chia_root into context dict
* Some cleanup and one more test
* maybe final test
* some updates
* some dedup and reorg of test code
* run trusted and untrusted paramertization
* make reuse puzhash stuff work
* Add in required mock object for test_update_pool_config_new_config
* rearrange code per review comment - limit use of NeedsWalletRPC to chia_command
* Add in plotnft click parsing tests
* added ability to pass in obj to runner invoke
* Add in some more test cases
* fix up create issues with config
* Add in couple more test cases for error conditions
* Minor code cleanup
* Use long options for readability, minor code cleanup
* Use config file for farmer rpc port
* simplify code
* Add testing for prompt cases
* Add mocking for default_root_path
* context cleanup
* temp debugging output
* patch the proper object
* move some wallet fixtures into top level conftest and remove conftest import
* merge to origin/main
* Remove unused parameter
* Unroll some test cruft
* ('preserve tuple',)
* isort
* update test
* Update the Wallet RPC Api call in is_transaction_confirmed, and remove the no longer used user_wallet_id param.
---------
Co-authored-by: Amine Khaldi <amine.khaldi@reactos.org>
* remove none from async generator and add a custom error type
* remove client check from data funcs
* remove client check from farm funcs
* remove client check from peer, show and netspace funcs
* remove none check from sim funcs
* change the wallet code in cmds util to use the new error type
* update plotnft_funcs with new error
* remove none checks from coin and wallet funcs
* cleanup logic a tad
* add new get_wallet_client generator
* switch plotnft code to new generator
* change coin commands over to new generator
* remove extra imports
* change to 100% new async generator
* remove execute_with_wallet func
* Enable mypy on almost every cli file.
* Rename variables from yes
* switch to kwargs on really long functions & fix default list
* fix missing None & Fix syntax for unrelated change
* make more functions kwarg only
* Apply suggestions from code review
Co-authored-by: Kyle Altendorf <sda@fstab.net>
* final review changes
* oops fix backwards compatibility
* drop default, hint sequence
* List (for now...)
---------
Co-authored-by: Kyle Altendorf <sda@fstab.net>
If you currently claim rewards `claim_cmd` fails to print the txhash
with the lookup hint in `submit_tx_with_confirmation`
```
Error performing operation on Plot NFT -f 172057028 wallet id: 12:
'dict' object has no attribute 'name'
```
Because `submit_tx_with_confirmation` expects a `TransactionRecord` as
result from its callable parameter `func` but `pw_absorb_rewards`
returns a dict which includes the `TransactionRecord` as value for the
key `transaction`. This PR makes sure all other methods used as `func`
callable have the same return behaviour as `pw_absorb_rewards`. We could
have adjusted it the other way around (only return `TransactionRecord`
in `pw_absorb_rewards`) but then we would drop information in the RPC
client.
With this PR you get:
```
Do chia wallet get_transaction -f 172057028 -tx
0x34f74a1ffd9da9a493b78463e635996fd03d4f805ade583acb9764df73355f9c to
get status
```
* This patch enables fees for the plotnft commands - create, claim, join, and leave.
It also corrects a mismatch in the wallet code that appeared to expect Announcement objects, but actually required bytes.
* Update to using Announcement class. Publish both claim tx and fee tx for correct wallet accounting.
* Update keysearch for new wallet
* Update test for fee, and update wallet_id invariant
* Rename variable tracking coin in absorb SpendBundle
* Update RPC failure cmdline diagnostic
* Remove fee parameter in sign method. Add publish transaction method. Add entry in RPC API replies.
* Fix fee tx in absorb. Update absorb tests to test for fees
* conflict
* lint
Co-authored-by: William Blanke <wjb98672@gmail.com>
* pool_wallet: Deterministic derivation of auth key, and only count poolWallets for indeces
* cli: Use the same limit for cli creation
* farmer: no more auth keys in config
* farmer: handle case of no authentication sk
* farmer: remove async, and fix test
* lint
* test: Add a test for many pool wallets, and user store
* test: Wait for wallet to be synced in test
* wallet: fix startup (no dns servers) and change to server checking of plotnfts
* cli: change to server checking
* tests: fix user store test
* Improve caching
* PR comments
* Remove useless class
* Try to fix test again
* add limit to creation.
limit is 20 and can be overridden with --override_limit
* Fix english lint
* Update plotnft_funcs.py
* Update plotnft_funcs.py
* Add change payout address
Tested and working on testnet10
* correct small mistake
* Update plotnft_funcs.py
* Update plotnft_funcs.py
* Make code look better
Thanks for the idea Quex.
Co-Authored-By: Matt Hauff <quexington@gmail.com>
* add auto switching from central server
* Revert "add auto switching from central server"
This reverts commit 93f10a35c8.
* Update plotnft_funcs.py
Co-authored-by: Matt Hauff <quexington@gmail.com>
* stub SizedBytes.fromhex() until upstream is released
https://github.com/python/typeshed/pull/6201
* black
* more
* more
* more
* more
* more
* import TYPE_CHECKING via from
* more
* more
* catch up
* Rework sized bytes for type hinting compatibility
* add a bunch of type: ignores
* this will be handled elsewhere
* noqa E501 instead of changing code
* normalize comment plurality
* @classmethod
* Revert "@classmethod"
This reverts commit 95db80e339.
* add ignore in benchmarks
* just E501 again...
* add some new type: ignores
* Add fees to plotnft commandline and RPCs
* Return calculated fee based on number of transactions
* Extend tests to support fees. Default fee to 0 if not present in RPC call.
* Make plotnft cmdline fees use XCH, like
* fix validator
* cmdline tests
* Remove duplicate option
* Add fees to plotnft commandline and RPCs
* Return calculated fee based on number of transactions
* Extend tests to support fees. Default fee to 0 if not present in RPC call.
* Add points found 24h to CLI reporting
The points_found_24h seems to include more data than that so first it
gets filtered down to the past 24 hours. This additionally affects the
existing percent successful points 24 hours number. Which is actually
the percent of partials successful, not points. This could differ a bit
if the difficulty is changed during the relevant period.
* remove 24 hour data truncation
To be handled by #7906 or similar.
https://github.com/Chia-Network/chia-blockchain/pull/7906
* cleanup
* shorten lines for linting
* success_pct = 0.0 for mypy