* Add proper types to daemon client & keychain
* pre type pass on keychain proxy
* add auto restarting keychain proxy
* finalize keychain proxy v2
* move event calls
* fix close on timeout
* fix possible key leak in logging
* fix last little error
* log on disconnection & reduce duplicate code
* Update client.py
* create new test.simulator module
to allow other packages to use the simulator without it crashing.
also tiny QOL fixes
* change user mode sim plot filter
Now only plots matching the user set fingerprint are loaded, this decreases the chance of user error.
* fix small oops in configure
* oops
* fix lint
* isort, who dis
* move folder over to chia/simulator
also change mypy settings again
* redesign simulator config loader
* edit initial config file and use it in start_simulator
also final lint cleanup
* small change
* aarggggghhhh
LINTTTTTTTTTTTTTTTT
* fix lint for the last time
DAMN END OF LINE
* Add Types & change port
* fix config loading for tests
* change config options
remove unnecessary options & change ports back
* Add additional config options for old simulator
* Get working simulator & implement the requirements
i hope my code makes sense:)
* remove extra part of config
* fix config typos
* add callback for autofarm
we can call this to tell the node to farm a block
* add auto farm rpc to simulator
* add plot_directory to config
add separate plot dir to avoid issues where the plot dir is shared with tests and an assert fails
* remove port from config
no longer needed due to existing gui simulator being broken
* switch to dedicated plot creation function
* modify api for greater block customization
Added block type option & amount of block option
* disable auto farm for tests
breaks them all ;)
Also made sure to run autofarm while a transaction is in mempool if the mode was just changed
* change farm_block for the better
* clean up autofarm
remove unnecessary optional
* update create block tools and allow additional plot creation tweaks
& do requested fixes
* change to k18's
* minor nitpick
* testing some changes
stop reading these descriptions, just ask me on keybase
* change plot directory name stuff
* add editing of root level keys
* use config_overrides
* update plot info
* re separate create_block_tools
* revert some changes as requested
change back get_plot_dir & undo change to asyncio.run
* replace unnessary catch while adding plot locations
switch to better if logic
* combine simulator_bt function into main
fix block_tools logic too
* fix lint
windows bad
* test auto_farming
* remove change that causes more harm then good
* move test over and unflake it
* make test do the bare minimum
* add proper block waiting or wait avoidance
* fix failing test
* add new rpc client & a small fix
* add new test & add some minor changes to start_sim to support it
New test tests whole user facing simulator with real keychain, gui and daemon.
* merge fixes
* update block-cache version
CHANGE TO MY USER, REVERT THIS LATER
PLS REVERT BEFORE MERGE
fix version
* Revert "update block-cache version"
This reverts commit 3afbbc5f51.
* block args from reaching simulator
* clean up test plot creation
* remove extra bt's being called
this reduces load time
* fix stupid bug
* damn lint
* Revert "remove extra bt's being called"
This reverts commit f78debcc26.
* Revert "clean up test plot creation"
This reverts commit d006a1a196.
* align with 12204
* rename RPC's for clarity
* disable cache error when not running in automated mode
* update tests with new rpc's
oops i forgor
* finalize sim api
* something funky going on
* Revert "something funky going on"
This reverts commit afa1ddde27.
* fix config
* add get_farming_ph rpc
* remove random simulation thing, why are we even using this.
* update tests
* simplify test code & fix lint
* lol one of my own pr's broke another one of my pr's
git funny
* Simplify service start configuration loading
* oops
* more oops
* rename `config` to `service_config` as appropriate
* rename `full_config` to `config`
* just create and apply EndpointResult
* int -> uint32
* hexstr_to_bytes -> bytes32.from_hexstr
* deal with returning tuples with success and error data
* uint64
* assert height is not None
* more uint64() for nft coin amount
(cherry picked from commit 544d3d5892)
* TransactionRecord -> List[TransactionRecord]
* return generic error from create_new_wallet()
* Dict[Union[int, bytes32], int]
* just ignore the optional coin issues
* streamable: Merge `strictdataclass` into `Streamable` class
* tests: Test not supported streamable types
* streamable: Reorder decorators
* streamable: Simplify streamable decorator and force correct usage/syntax
* streamable: Just move some stuff around in the file
* streamable: Improve syntax error messages
* mypy: Drop `type_checking.py` and `test_type_checking.py` from exclusion
* streamable: Use cached fields instead of `__annotations__`
This is now possible after merging `__post_init__` into `Streamable`
* Introduce `DefinitionError` as `StreamableError`
* `/t` -> ` `
* Try putting BLS in multiprocess
* Fix test
* Fix test again
* Fix test again ^ 2
* Don't use cache unless necessary, cleanup of unused code.
* WIP fixing tests
* Blockchain tests passing
* Remaining tests and lint
* More test fixes
* Fix full_node_rpc test
* Fix remaining tests
* Correct boolean
* Don't validate sig if CLVM fails. Also testing signature validation properly
* Simplify block prevalidation API and improve tests
* Fix logic error and remaining tests
* Update comments and change to AssertionError
* Try to improve CI performance
* Fix mempool test, try to fix test_blockchain performance
* Set default argument to fix test
* Fix DB conversion test
* Use cache for validating signatures (#9859)
* Use cache for validating signatures
* comments: fix typo
* Don't rerun the super slow part of the test (#9887)
* 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