* Block and transaction processing helpers
* flake8
* more and hints
* More
* separate tests of the simulator from tests using the simulator
* move fixture to conftest
* amounts are uint64
* remove unneeded while loop
* backoff instead of fixed sleep times
* .farm_blocks() only forces tx blocks when needed
* fix test_wallet_create_hit_max_send_amount
* fix test_wallet_tx_reorg
* fix test_address_sliding_window
* rename to farm_blocks_to_wallet
* rename to farm_rewards_to_wallet
* undo changes to protocol endpoints
* reword farm_blocks_to_wallet() loop
* rename process_blocks() to farm_blocks_to_puzzlehash() for now
* timeouts
* debug
* debug
* debug... for 3,7
* fix
* up timeout per block to 2 seconds
* increase transaction processing default timeout
* make debug maybe ok to leave around
* tidy
* intersperse sleeps again for wallet progression
* remove debug code
* review tidy
* cheat on uint64() type
* Update tests/simulation/test_simulator.py
* another import fix
* more fixes
* farm_blocks_to_puzzlehash
* more
* tweak
* fix the two-tx-blocks-instead-of-one dilemma
thanks to almog for figuring this out
* fix
* fixup
* rework since it was still broken on 3.7/3.8...
* oops
* yucky timeout
* more timeout
* cleanup todos
* add balance assertion after reorg before resubmission processing
* Apply suggestions from code review
* rename funds to expected_confirmed_balance
* catchup
* Simplify addition_amount calculation in validate_spend_bundle() and remove unneeded COIN_AMOUNT_NEGATIVE and COIN_AMOUNT_EXCEEDS_MAXIMUM checks.
* Create a record for the test coin, return it from get_coin_record() and split the tests case by case.
* Add comments next to the unexpected error codes.
* Move the test block record into the fixture function.
* Make it explicit that we're not calling get_coin_record in these tests.
* Also test get_name_puzzle_conditions besides pre_validate_spendbundle.
* Revert testing get_name_puzzle_conditions besides pre_validate_spendbundle.
* dont wait for timeout on None response
* handle return msg by type
* remove empty line
* isort
* improve reply check
* use map to check reply, add has_capability helper
* fix has_capability
* unused import
* add new, optimized tx queue
* isort & fix starting index
* make faster
* fix order
* add comment, change to peer id, remove extra apis and change max size
* lint
* final lint fix
* change to simplequeue, get rid of task and change to cursor
* fix logic
* isort
* optimize cleanup
* add unit tests
* fix comments and switch to random
also add better spacing
* stupid mypy
* undo changes + stupid mypy
* fix tests, raise if full & seperate out peer_id
* get rid of class
* change to simulated tx queue entry
* add local high priority test & remove un necessary asserts
* change to better, faster check
* remove internal asserts
* cleanup test
* Update test_tx_processing_queue.py
* Some simulation test CI hackery
* let me try this
* try this
* yet more attempts
* sigh
* some more attempts
* Adjusting test yaml
* directory != dir
* run a bunch of dups
* experiments
* correct len check
* minor simplifications
* undo test.yaml changes
* Use temp keyring and cleanup temp dirs
* Simplfied get_full_chia_simulator
* move empty_keyring fixture to conftest
* Update tests/simulation/test_start_simulator.py
Co-authored-by: Kyle Altendorf <sda@fstab.net>
* Update tests/simulation/test_start_simulator.py
Co-authored-by: Kyle Altendorf <sda@fstab.net>
Co-authored-by: Kyle Altendorf <sda@fstab.net>
* more explicit and complete handling of api decorator data
* fix
* .message_class
* actually, those are different types...
* tweak
* simplify
* learn that functools.wraps copies random attributes
* hack the ~planet~ `@api_request` decorator
* R not T
* more future
* implementation detail renames
* minimal fixup for daemon signal handling regression
* test daemon shutdown response to signals
* positional
* test datalayer shutdown response to signals
* one parametrized test for the services
* colocate the daemon test
* drop sig
* add sendable_termination_signals
* oops, it was SIGTERM
* wait for the daemon
* chia keys show --json (display all keys as json)
* black (linting) chia keys show --json (display all keys as json)
* output a root object containing the keys array
* support key with empty label
* add test_show_json and test_show_mnemonic_json to test_keys
* chia keys show --json -- do not format json output
* tests/core/cmds/test_keys.py -- result.output.find(<value>) != -1
* tests/core/cmds/test_keys.py -- result.output.find(<value>) != -1 -- black
* Pass root_path in show_all_keys and fix tests
Co-authored-by: Jeff Cruikshank <jeff@chia.net>
* Drop `get_full_node_connections` -> use `get_connections`
* Drop `connection_by_type`
I think the housekeeping required to have it isn't worth it since we
don't handle huge numbers of connections and `get_connections` should be
less enough overhead. Im open for complains though.
* convert datalayer to DBWrapper2 (all write)
* more read, less write
* remove unneeded connection managers
* and... close it
* data store now creates its own wrapper
* Drop unused hint DataLayer.batch_update_db_wrapper
* require named arguments for most of `DBWrapper2.create()`