* use a class for the chia cli context data
* actually assign to the context properly...
* handle the not-present case
* catch up
* tidy
* more
* stuff
* ...
* more real
* expected address prefix
* 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
* Repin hsms
* Add to sdist only allowed list
* Signer protocol tweaks
* Convert wallet RPC client to deserialized types
* Introduce @tx_out_cmd decorator
* Make execute_signing_instructions RPC
* Add transport layer support
* Add signer commands
* Rework wallet execute_signing_instructions
* Inadvertent merge changes
* Fix signer command tests
* Try a different approach: recursive flattening
* Bump hsms
* Add comments
* Test coverage
* Coverage ignores
* Remove inadvertent time traveler
* Bring in lost time traveler
* pylint
* Attempt to make qr test less flaky
* Actually test coverage ignore
* Small refactor for test coverage
* transport -> translation
* missed one
* transport -> translation
* Fix asdict error
* coverage
* Forgoe rotation testing for now
* Test coverage
* jsonify_unsigned_txs -> full_jsonify
* Move a class
* Add better type checking to framework
* explicitly state kwargs on _CommandParsingStage
Co-authored-by: Kyle Altendorf <sda@fstab.net>
* Address comments by @altendky
* Consolidate add_private_key and add_public_key
* Consolidate get_key_for_fingerprint and get_public_key_for_fingerprint
* Test fix
* Merge fix
* Bad merge
* Bad merge
* oops
* pylint
* Tweak keychain_proxy.get_key_for_fingerprint
* Fix wallet RPC test?
* pragma: no cover
* Redesign clvm_streamable
* Fix test imports
* black
* fix one more test
* Address comments by @altendky
* Test coverage
* bytes32
* Better CLI mnemonic check
* Use functools.partial
* Rename full jsonify to chip 29
* whoops missed a couple
* Better CLI mnemonic check
* black
* pylint
* Missed one
* black
* Farm at least one block
* Revert last change and fix 0 block farming
* black
* bad merge
* Merge fix
* Inadvertent changes
* Inadvertent changes
* Syncronize with quex.tx_out_decorator2
* These are no longer dictionaries.
* Use new clvm_streamable pattern
* Fix offer endpoint
* Add @tx_out_cmd decorator
* Bump ecdsa version
* Fix @marshal util to return proper transactions
* Add get_public_key
* port `chia wallet send` to @tx_out_cmd
* merge fix of puzzle hash derivation
* Port `chia wallet coins` to @tx_out_cmd
* Port chia wallet clawback to @tx_out_cmd
* Port `chia wallet take/cancel_offer` to @tx_out_cmd
* Port `chia wallet did ...` to @tx_out_cmd
* Port `chia wallet nft ...` to @tx_out_cmd
* Port `chia wallet notifications send` to @tx_out_cmd
* Port `chia wallet vcs ...` to @tx_out_cmd
* Port `chia dao ...` to @tx_out_cmd
* Exclude data layer and plotnft functions
* [no ci]
* Address comments by @AmineKhaldi
* Fix rpc util
* add test for BSTLSigningInstructions
* [UNDO] d9c6f54398
* [UNDO] 7fc1d2adfd
* [UNDO] 23c9ee8549
* [UNDO] aacc9f0228
* [UNDO] 548465403b
* Undo unintentional changes
* Stuff that's not part of this
* More stuff that doesn't belong
* One last thing that doesn't belong
* Unintentional change
---------
Co-authored-by: Kyle Altendorf <sda@fstab.net>
Co-authored-by: Amine Khaldi <amine.khaldi@reactos.org>
* 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>
* 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>
* 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.
* added clarifying comments
* WIP test
* added WIP test
* Refine genesis challenge. Remove unnecessary pool_puzzle function
* Sign spend. Remove create_member_spend. Rename state transition function to create_travel_spend
* Rename create_member_spend to create_travel_spend
* Add singleton id logging
* Enhance logging for debugging
* renaming
* rephrase inside the puzzle
* fixed signing and added some support functions
* Fix issue with announcement
* Progress spending the singleton
* Fix arguments to pool_state_to_inner_puzzle call
* Fix arguments to pool_state_to_inner_puzzle
* Improve error message when wallet is not running
* Remove misleading message about missing wallet process, when problem is the farmer by making poolnft command error out earlier
* Fix parent coin info bug
* Multiple state transitions in one block
* Lint
* Remove assert
* Fix incorrect p2_singleton_ph calculation (thanks nil00)
* Update waiting room puzzle to accept genesis_challenge
* Update calls to create_waiting
* Go to waiting state from committed state
* Augment debug_spend_bundle
* fix 2 bugs in wallet
* Fix lint
* fix bad_agg_sig bug
* Tests and lint
* remove breakpoint
* fix clvm tests for new hexs and hashs
* Fixed a bug in the coin store that was probably from merging. (#6577)
* Fixed a bug in the coin store that was probably from merging.
* The exception doesn't need to be there
* CI Lint fix
* Added lifecycle tests for pooling drivers (#6610)
* Ms.poolabsorb (#6615)
* Support for absorbing rewards in pools (untested)
* Style improvements
* More work on absorb
* Revert default root and remove log
* Revert small plots
* Use real sub slot iters
* Update types
* debug1
* Fix bugs
* fix output of agg sig log messages
* Make fewer calls to pw_status in test
* remove old comment
* logging and state management
* logging
* small bug fix & rename for accuracy
* format
* Fix types for uncurry function
* lint
* Update test to use exceptions
* Change assumptions about self-pooling in lifecycle test
* Install types for mypy
* Revert "Install types for mypy"
This reverts commit a82dcb712a.
* install types for mypy
* install types for mypy
* More keys
* Remove flags requiring interactive prompts
* Change initial spend to waiting room if self-pooling
* lint
* lint
* linting
* Refactor test
* Use correct value in log message
* update p2_singleton_or_delated_puzhash
* initial version of pool wallet with p2_singleton_or_delay
* run black formatting
* fix rebase wonkiness
* fix announcement code in p2_singleton_or_delayed
* removed redundant defaulting
standardised hexstr handling
* lint fixes
* Fixed pool lifecycle tests to current standards, but discovered tests are not validating signatures
* Signatures validate on this test now although the test still does not check it.
* Lint fix
* Fixed plotnft show and linting errors
* fixed failing farmer/harvester rpc test
* lint fix
* Commenting out some outdated tests
* Updated test coverage
* lint fix
* Some minor P2singleton improvements (#6325)
* Improve some debugging tools.
* Tidy pool clvm.
* Use `SINGLETON_STRUCT`. Remove unused `and` macro.
* Use better name `SINGLETON_MOD_HASH`.
* Finish lifecycle test suite.
* Fixing for merge with chia-blockchain/pools_delayed_puzzle (#72)
Co-authored-by: Matt Hauff <quexington@gmail.com>
* Default delay time was being set incorrectly
* Extracted get_delayed_puz_info_from_launcher_spend to driver code
* Ms.taproot plot2 (#6692)
* Start work on adding taproot to new plots
* Fix issue in block_tools
* new test-cache
* Lint
* DID fixexs
* Fix other tests
* Python black
* Fix full node store test
* Ensure block index <= 128 bits.
* fix test_pool_config test
* fix comments in pool_config and in chialisp files
* self_pool -> pool -> self_pool
* Implement leaving pools
* Fix conflicts with main via mini-rebase
* Fixup rebase mistakes
* Bring in Mariano's node discovery chagnes from pools.dev
* Fix adapters - Thanks Richard
* build tests
* Add pools tests
* Disable DID tests
* farmer|protocol: Some renaming related to the pool protocol
* farmer: Use `None` instead of `{}` and add local `pool_state`
* protocol|farmer: Introduce and use `PoolErrorCode`
* rename: `pool_payout_instructions` -> `payout_instructions`
* refactor: `AuthenticationKeyInfo` -> `authentication_key`
* refactor: Move `launcher_id` up
* rename: Some variable name changes
* rename: `points_balance` -> `points`
* format: Squash aggregation into one line
* farmer: Make `update_pool_state` public
* farmer: Print traceback if `update_pool_state` fails
* farmer: Periodically call `GET /pool_info`, add `_pool_get_pool_info`
* farmer: Add `authentication_token_timeout` to `pool_state`
Fetch it from `GET /pool_info`
* protocol|farmer: Implement support for `GET|POST|PUT /farmer`
* farmer: Make use of `GET|POST /farmer`
- To make the farmer known by the pool
- To update local balance/difficulty from the pool periodically
* farmer|protocol: Adjust `POST /partial` to match the latest spec
* farmer: Hash messages before signing
* pools: Drop unused code
* farmer: Fix aggregation of partial signatures
* farmer: support self pooling, don't pool if url==""
* wallet: return uint64 for delay time, instead of bytes
* pool: add error code for delay time too short
* farmer: cleaner logging when no connection to pool
* farmer: add harvester node id to pool protocol
* Rename method (test fix) and lint fix
* Change errors to warnings (pool communication)
* Remove pool callbacks on a reorg
* farmer: Continue earlier when no pool URL is provided
* farmer: Print method in log
* farmer: Handle exceptions for all pool endpoint calls
* farmer|protocol: Keep track of failed requests to the pool
* farmer: Fix typo which caused issue with pooling
* wallet: simplify solution_to_extra_data
* tests: Comment out DID tests which are not working yet
* Remove DID Wallet test workflows
* Return launcher_id when creating Pool Wallet
* Name p2_singleton_puzzle_hash correctly
* Improve 'test_singleton_lifecycle_fast.py'.
* Make test more robust in the face of asynchronous adversity
* Add commandline cmds for joining and leaving pools
* Fix poolnft leave params
* Remove redundant assignment brought in from main
* Remove unneeded code
* Style and parsimony
* pool_puzzles: Check was wrong, and bad naming
* format: Fix linting
* format: Remove log and rename variable
* pool-wallet: Fix self pooling with multiple pool wallets. Don't remove interested puzzle_hash
* gui: Use pools branch
* format: fix lint
* Remove ununsed code, improve initial_pool_state_from_dict
* farmer: Instantly update the config, when config file changes
* format: Speed up loading of the authentication key
* logging: less annoying logging
* Test pool NFT creation directly to pool
* Test switching pools without self-farming in between
* lint
* pooling: Use integer for protocol version (#6797)
* pooling: Use integer for protocol version
* pooling: Fix import
* Update GUI commit
* Ms.login2 (#6804)
* pooling: Login WIP
* pooling: add RPC for get_link
* dont use timeout
* pooling: rename to get_login_link
* format: remove logging
* Fix SES test
* Required cli argument
Co-authored-by: almog <almogdepaz@gmail.com>
* farmer|protocols: Rename `current_difficulty` for `POST /partial` (#6807)
* Fix to farm summary
* Use target_puzzlehash param name in RPC call
* Pool test coverage (#6782)
* Improvement in test coverage and typing
* Added an extra absorb to the pool lifecycle test (only works when merged with https://github.com/Chia-Network/chia-blockchain/pull/6733)
* Added new drivers for the p2_singleton puzzles
* Added new tests and test coverage for singletons
* organize pools testing directory
* black formatting
* black formatting in venv
* lint fix
* Update CI tests
* Fixing tests post rebase
* lint fix
* Minor readability fix
Co-authored-by: matt <matt@chia.net>
* farmer: Drop `target_puzzle_hash` from `GET /farmer` and `GET /login` (#6816)
* Allow creation of PlotNFTs in self-farming state
* gui: Fix install with more RAM (#6821)
* Allow implicit payout_address in self-pool state, improve error messages and param ergonomics
* print units in non-standard wallets correctly
* Fix farmer import
* Make syncing message in CLI more intuitive like the GUI
* Fix linting and show header hash instead of height
* gui: Update to 725071236eff8c81d5b267dc8eb69d7e03f3df8c
* Revert "Merge"
This reverts commit 23a1e688c5, reversing
changes made to a850246c6f.
* Revert "Revert "Merge""
This reverts commit 680331859f.
* Treat tx_record as Dict. Refactor tx submission
* Also add passed-in coin spends when processing new blocks in reconsider_peak
* Test utilities had moved
* Fix import of moved block_tools
* Potentially fix yaml
* Previously didn't take the right part of this change
* Add -y flag, improve commandline plotnft handling
* Fix typo
* Add -y flag to plotnft create
* pool_wallet: Restore from DB properly
* wallet: ignore bad pool configs
* Reduce memory
* pool_wallet: Add claim command
* pool_wallet: Set transaction records to confirmed
* wallet: Fix bug in transaction cache
* Formatting and remove log
* pool_wallet: CLI balance and improvements to plotnft_funcs.py
* pool_wallet: Simplify, and fix issue with double submission
* pool_wallet: Fix tests
* pool_wallet: Don't allow switching before relative lock height
* update gui
* change to 3000 mem
* Correct sense of -y flag for self-pooling
* cli: Display payout instructions for pool
* pool_wallet: Don't create massive transactions
* cli: Improvements to plotnft
* pool_wallet: Get correct pool state
* pool_wallet: Use last transaction block to prevent condition failure
* Add block height for current state
* Add outstanding unconfirmed transactions to pw_status
* Refine command line plotnft show pending transactions
* Fix tests by using the correct output from pw_status
* Try to fix windows build
* Print expected leave height
* label pool urls
* pool_wallet: Don't include pool 1.75 rewards in total
* wallet: Add RPC and CLI for deleting unconfirmed transactions for a wallet
* pool_wallet: If farming to a pool, show 0 balance in wallet
* pool_wallet: Show error message if invalid state, in CLI
* pool_wallet: Don't allow switching if there are pending unconfirmed transactions
* tests: Clean up pool test logging
* tests: Fix lint
* Changed the pool innerpuzzes (#6802)
* overload solutions for pool_innerpuz parameters
* Fix tests for reduced size puzzles
* deleted messy deprecated test
* Fix lint.
* fix bug where spend types were the wrong way around
* merge with richard's lint fix
* fix wallet bug
remove unnecessary signature
add defun-inline for clarity
* Swap to defun for absorb case
Use cons box for member innerpuz solution
* fix if statement for cons box p1
* remove unnecessary solution arg
* quick innerpuz fix to make tests pass
* Switch to key-value pairs
Undo cons box solution in pool_member inner puzzle
* fix singleton lifecycle test
* added some comments to calrify the meaning on "ps"
* lint fix
* reduce label size, search for label when reconstructing from solution
* no need to keep looping if `p` found
* lint fix
* Removed unecessary defun-inline and changed hyphens to underscores
* Changed created_coin_value_or_0 to an inline function
* Changed morph_condition to an inline function
* Added a comment for odd_cons_m113
* Rename output_odd and odd_output_found
* Add inline functions to document the lineage proof values
* Stager two rewrite
* Added an ASSER_MY_AMOUNT to p2_singleton_or_delayed
* Extract truth functionality to singleton_truths.clib
* Fix tree hashes
* Changed truths to a struct rather than a list.
* fix test_singletons
update did_innerpuz
* recompile did_innerpuz
* fix a log error
* Renamed variable and factored out code per @richardkiss
* lint fix
* switch launcher extra_data to key_value pairs
* fix parsing of new format of extra_data in launcher solution
* fix broken test for new launcher solution format
* remove bare raise
Co-authored-by: Richard Kiss <him@richardkiss.com>
Co-authored-by: Matt Hauff <quexington@gmail.com>
* Also add passed-in coin spends when processing new blocks in reconsider_peak (#6898)
Co-authored-by: Adam Kelly <aqk>
* Moved debug_spend_bundle and added it to the SpendBundle object (#6840)
* Moved debug_spend_bundle and added it to the SpendBundle object
* Remove problematic typing
* Add testnet config
* wallet: Memory would get corrupted if there was an error (#6902)
* wallet: Memory would get corrupted if there was an error
* wallet: Use block_record
* wallet: Add records in a full fork too
* wallet: remove unnecessary arguments in CC and DID
* add to cache, revert if transaction fails
Co-authored-by: Yostra <straya@chia.net>
* Improve comment
* pool_wallet: Fix driver bug
* wallet: Fix memory corruption
* gui: Update to latest
* Increase memory size
* tests: Add test for absorbing from pool
* small fix in solution_to_extra_data
* Fixed incorrect function name
* pooling: Fix EOS handling in full node
* [pools.testnet9]add post /partial and /farmer header (#6957)
* Update farmer.py
add post header
* Update farmer_api.py
add post header
* Update chia/farmer/farmer.py
Co-authored-by: dustinface <35775977+xdustinface@users.noreply.github.com>
* Update chia/farmer/farmer_api.py
Co-authored-by: dustinface <35775977+xdustinface@users.noreply.github.com>
Co-authored-by: Mariano Sorgente <3069354+mariano54@users.noreply.github.com>
Co-authored-by: dustinface <35775977+xdustinface@users.noreply.github.com>
* Fix lint and cleanup farmer.py
* farmer: Fix linting issues (#7010)
* Handle the case of incorrectly formatted PoolState data returned from inner singleton
* wallet: Resubmit transaction if not successful, rename to new_transaction_block_callback (#7008)
* Fix lint in pool_puzzles
* pooling: Fix owner private key lookup, and remove unnecessary argument
* pooling: Clear target state on `delete_unconfirmed_transactions`
* Lint
* Fix non-deterministic test
* Slight cleanup clvm driver code (#7028)
* Return None when a deserialized CLVM structure does not fit the expected format of var-value pair for singleton data
* lint
Co-authored-by: Adam Kelly <aqk>
* Revert "Add testnet config"
This reverts commit 9812442724.
Co-authored-by: matt <matt@chia.net>
Co-authored-by: Adam Kelly <aqk@aqk.im>
Co-authored-by: Mariano Sorgente <sorgente711@gmail.com>
Co-authored-by: Matt Hauff <quexington@gmail.com>
Co-authored-by: Mariano Sorgente <3069354+mariano54@users.noreply.github.com>
Co-authored-by: Adam <aqk@Adams-MacBook-Pro.local>
Co-authored-by: Adam Kelly <aqk>
Co-authored-by: Richard Kiss <him@richardkiss.com>
Co-authored-by: xdustinface <xdustinfacex@gmail.com>
Co-authored-by: almog <almogdepaz@gmail.com>
Co-authored-by: dustinface <35775977+xdustinface@users.noreply.github.com>
Co-authored-by: Earle Lowe <e.lowe@chia.net>
Co-authored-by: arvidn <arvid@libtorrent.org>
Co-authored-by: willi123yao <willi123yao@gmail.com>
Co-authored-by: arty <art.yerkes@gmail.com>
Co-authored-by: William Blanke <wjb98672@gmail.com>
Co-authored-by: matt-o-how <48453825+matt-o-how@users.noreply.github.com>
Co-authored-by: Chris Marslender <chrismarslender@gmail.com>
Co-authored-by: Yostra <straya@chia.net>
Co-authored-by: DouCrazy <43004977+lpf763827726@users.noreply.github.com>