Use launcher_id as the primary key when updating (current) pool config.
Add an error diagnostic for the case where updating fails due to the supplied closure.
* 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>
* Give a type to tuple representing peak (height and block hash) of peer
* Update chia/wallet/wallet_node.py
Co-authored-by: Kyle Altendorf <sda@fstab.net>
---------
Co-authored-by: Kyle Altendorf <sda@fstab.net>
Co-authored-by: Earle Lowe <e.lowe@chia.net>
* Check Wallet DB integrity
* Update command line help
* Improve duplicate DerivationPath index error message
* Move tests to chia/tests
* lint
* py init file
* Print WalletType names
* Don't complain about wallets not having derivation entries that don't need them
* Validate addresses used in order
* Update tests with new error output
* Fix check_addresses_used_contiguous in the case when the last address of the previous wallet was unused
* Return a better error message when the 'coin_id' argument for nft_get_info cannot be decoded into a byte32
* Show extra whitespace more readily
Co-authored-by: Kyle Altendorf <sda@fstab.net>
---------
Co-authored-by: Kyle Altendorf <sda@fstab.net>
* Limit rate of spammy log messages when farmer is disconnected from pool
* Remove typo
* Use reliably increasing clock
* Make test faster, more reliable
* Change names used to look up estimated spendbundle sizes in get_fee_estimate RPC
* Update tests
* add test for get_spendbundle_type_cost
* add spend_count to get_fee_estimate
* Update chia/rpc/full_node_rpc_api.py
Co-authored-by: Jeff <jeff@chia.net>
Co-authored-by: Jeff <jeff@chia.net>
* When looking for peers, try all DNS servers first, then try the introducer. Start from a random dns server each restart.
* Simplify randomizing dns server order
* Add MempoolRemoveReason, which represents why we are removing a MempoolItem
* Add integration tests for remove_from_pool. Generalize call count tracking in mock Fee Estimator.
* Hold a ref to the fee estimator when the Mempool is destroyed and re-created. Unify the sharing of information between Mempool and MempoolManager
* Adjust tests to new Mempool create interface
* Store dynamic Mempool info in the FeeEstimator and static info in the Mempool
* Adjust tests
* Restore logging of block cost % calculation to use documented full block size
* Omit check for nil self.last_mempool_info
* Annotate Mempool members
* Add integration test for add_mempool_item
* Annotate types in BitcoinFeeEstimator class
* Fixes the case when a fee estimation request is made before the FullNode has initialized a peak
* Clarify code by setting defaults early
* Only spawn one full node in test
* Don't rely on noticing self.limit_factor, instead do the block limit calculation once.
* Report the fill rate relative to the consensus rules, i.e. the published max block cost.
* Resend transactions
* Don't recheck transactions more frequently than timeout
* Add wallet resend parameter to config, move timeout code out of tx store, but close to call site
* Add a test for wallet transaction resend
* Add test for wallet retry
* isort new files for precommit and update workflows
* Use correct fixture name
* LGTM - remove unused import
Co-authored-by: Earle Lowe <e.lowe@chia.net>
* Fix the case of claiming a large number of coins with a fee from a pool wallet
* Revert change to unrelated test
* Set PoolWallet.DEFAULT_MAX_CLAIM_SPENDS to 300
* A few review improvements
* Rename confusing fixtures, especially ones with the same name but different implementation
* revert premature fixture rename: two_wallet_nodes_start_height_1
* Consolidate test fixtures
* Rename confusing fixtures, especially ones with the same name but different implementation
* rename test_environment to test_plot_environment
* Make it so setup_two_nodes is no longer the name of a fixture and a utility function
* revert premature fixture rename: two_wallet_nodes_start_height_1
* Remove unused test code
* Centralize fixture uses of setup_n_nodes
* Centralize fixure uses of setup_two_nodes
* Break up setup_nodes into setup_services, for individial services, and setup_nodes, for initializing different simulator configurations
* Sort imports
* Use bt fixture
* rebase
* Use local_hostname
* flake8
* Remove set_shared_instance
* Remove unneeded comments
* Revert unrelated change
* Add back type signature - rebase issue
* Correct type for _configure_legacy_backend
* See what's going on during CI mypy run
* github workflows
* mypy typing
* Remove legacy Keyring create method
* Start daemon first
* Set chia-blockchain-gui to hash in main
* Fix two test files that were not importing self_hostname
* self_hostname fixture
* Convert all class fixtures to top level functions
* Use bt fixture
* rebase
* Use local_hostname
* Fix test_json (inheritance from unittest.TestCase)
* Use correct BlockTools fixture for test_simulation
* Pass bt fixture into cost calculation tests
* flake8
* Add missing parameters to test functions
* Fix from rebase issues
* Remove set_shared_instance
* Update comment
* Remove unneeded comments
* Remove unused code
* Remove unused code, run `multiprocessing.set_start_method("spawn")` at correct time.
* Revert unrelated change
* Set daemon_port. Teardown services in correct order.
BIG thanks to Mariano Sorgente for debugging help.
* Add back type signature - rebase issue
* Apply review fixes from Jeff
* Document why we need a later pytest-asyncio version
* Correct type for _configure_legacy_backend
* See what's going on during CI mypy run
* github workflows
* mypy typing
* Remove legacy Keyring create method
* Start daemon first
* Shutdown daemon coroutine properly
* Remove un-needed daemon_port argument
* Set chia-blockchain-gui to hash in main
* Remove connect_to_daemon_port
* Remove code that set "daemon_port" before calling `setup_daemon`
* Remove self_hostname fixture and extra self_hostname global
* Fix two test files that were not importing self_hostname
* self_hostname fixture
* Remove more unused test code
* Simplify fixture
* 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>
* Fix running blocks with generators that use back-references
* Update tools/run_block.py
Co-authored-by: Thomas Pytleski <pytlesk4@gmail.com>
Co-authored-by: Thomas Pytleski <pytlesk4@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.
* 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>