* move SerializedProgram into its own file (to fixup type annotations)
* fix type annotations for SerializedProgram
* fixup import statements for new SerializedProgram module
* add local max subscription config
* add and use trusted wallet config
tests
* lint
* unused import
* break early
* dont break because we need to iterate for hints
* fix off by one
* lint
* 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
* mixed rework around tx records and offer takes
* more
* wait for wallets
* process_transaction_records() -> process_transactions()
* correct to use new bundles= parameter a couple spots
* .process_transaction_records()
* .process_spend_bundles()
* 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>
* process_transaction_records() -> process_transactions()
* split to process_transaction_records()/_spend_bundles()/_coin_spends()
* expand tests to have multiple transactions etc per repeat
* back to .process_transaction_records() for calls
* one line function defs
https://github.com/Chia-Network/chia-blockchain/actions/runs/3185807311/jobs/5195866349#step:16:487
```python-traceback
________ ERROR at setup of TestMempoolManager.test_invalid_block_index _________
[gw3] darwin -- Python 3.10.7 /Users/runner/work/chia-blockchain/chia-blockchain/venv/bin/python
venv/lib/python3.10/site-packages/pytest_asyncio/plugin.py:293: in _asyncgen_fixture_wrapper
result = event_loop.run_until_complete(setup())
../../../hostedtoolcache/Python/3.10.7/x64/lib/python3.10/asyncio/base_events.py:646: in run_until_complete
return future.result()
venv/lib/python3.10/site-packages/pytest_asyncio/plugin.py:275: in setup
res = await gen_obj.__anext__()
tests/conftest.py:437: in one_node_one_block
nodes, _, bt = await async_gen.__anext__()
tests/setup_nodes.py:213: in setup_simulators_and_wallets
await create_block_tools_async(
chia/simulator/block_tools.py:2113: in create_block_tools_async
await bt.setup_plots()
chia/simulator/block_tools.py:337: in setup_plots
assert len(self.plot_manager.plots) == len(self.expected_plots)
E AssertionError
---------------------------- Captured stdout setup -----------------------------
create_block_tools_async called 25 times
Found private CA in /var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/tmpwl0ved2d, using it to generate TLS certificates
BlockTools daemon port: 46514
------------------------------ Captured log setup ------------------------------
22:37:05 chia.plotting.manager: ERROR _refresh_callback raised: with the traceback: Traceback (most recent call last):
File "/Users/runner/work/chia-blockchain/chia-blockchain/chia/plotting/manager.py", line 194, in _refresh_task
self._refresh_callback(PlotRefreshEvents.batch_processed, batch_result)
File "/Users/runner/work/chia-blockchain/chia-blockchain/chia/simulator/block_tools.py", line 231, in test_callback
assert update_result.duration < 5
AssertionError
```
* configure isort to add the future annotations import
* apply the new isort setting
* remove type ignores for new mypy (#13539)
https://pypi.org/project/mypy/0.981/
* another
* provide a skeleton hint protocol for rpc apis
* more
* more self.custom_get_connections = None
* fix RpcApiProtocol.service hinting
* catch up with RpcApiProtocol._state_changed()
* FullNode.server is now non-optional. 'ish
* drop another todo
* custom_get_connections -> get_connections
* just make get_connections() a mandatory method with a helper provided
* lots
* try again
* ._start_with_fingerprint()
* fill out the Service generic parameter in start scripts
* ... instead of pass
* add docstrings to the protocols
* remove no longer needed hasattr/not None checks
* remove outdated comment
* refactor Harvester._is_shutdown to ._shut_down
* Remove mempool.additions
* Don't re run the program, and remove program from mempool item
* Removals only stores item ids, and stores a list
* Move pending cache down to prevent cache dos
* Separate validation from adding to pool, and remove mypy exceptions
* Fix bug with replacing
* Add to mypy
* Revert cbgui
* precommit fail
* Properly update the seen dict
* lint error
* Fix mempool bug
* Enable mypy for a bunch of files
* Update after merge with main
* 99/260 remaining
* Address comments
* Enable more mypy
* Merge conflict mypy file
* More fixes
* pytest.ini and cb-gui
* One more flake8 fix
* Flake8 and tests
* More test fixes
* isort
* Make LGTM happy
* Update chia/full_node/block_store.py
Co-authored-by: Kyle Altendorf <sda@fstab.net>
* Update chia/full_node/full_node_store.py
Co-authored-by: Kyle Altendorf <sda@fstab.net>
* Update chia/wallet/util/peer_request_cache.py
Co-authored-by: Kyle Altendorf <sda@fstab.net>
* Apply all suggestions from PR comments
* Revert cb-gui
* 100 back to 1000, minor tweaks
Co-authored-by: Kyle Altendorf <sda@fstab.net>
* Replace localhost with 127.0.0.1 in block tools config
* also make self_hostname fixture be 127.0.0.1
* Move config rewrite inside `automated_testing` conditional
* Few additional sets of test SSL certs/keys for CI
* Track which sets of SSL test certs/keys are in use. Emits a warning if a set of test certs/keys are reused which still in use.
* Accidentally moved a set of certs/keys
* No network type
* Use selected network
* remove NETWORK_TYPE
* Don't warn on invalid key, and remove from config
* Remove bytes32
* Put back the warning log