-- rename structuredError.structuredMessage to message
-- remove the legacy 'message' field from structuredError.data, allow the top level 'error' string to preserve that for us.
-- remove the 'originalError' field from structuredError
-- rename structured_errors to rpc_errors
* context manager for BlockTools
* Missed one usage and fixed up Self import
* Ignore cleanup errors in tempdir cleanup for BlockTools
* Remove debug prints
* Fixed up sync blocktools and use @contextmanager
* Address review comments
* Add return type
* Empty commit for github
* Strange github things
* adjust order of finding ports
* increase WEIGHT_PROOF_RECENT_BLOCKS in the test constants, to make it more robust
* improve error message when WEIGHT_PROOF_RECENT_BLOCKS is too small
* fix test_wallet_blockchain.py
* fix test_wallet_node.py
* fix test_wallet_sync.py
optimize block tools by generating the block generator (for transaction_data=) up-front, rather than every time we farm a block, until we get a transaction block
* relax proof-of-space validation in weight proofs. make it height agnostic
* fix typo in block_tools logging. hoist calculations out of the block_tools PoS loop
* make the plot-filter schedule safe in proof-of-space validation as part of weight proofs
* review comments
* reduce use of pool_reward_puzzle_hash feature of BlockTools, since it's not supported by v2 plots
* the BlockTools feature to ask for a specific pool puzzle hash are not supported by v2 proofs. v2 plots only have pool contract puzzle hash
* hoist calculations out of the loop over all test plots
* tweak phase-out to allow zero-epoch phase-outs, for tests
* review comments
* fix off-by-one in is_v1_phased_out
* review comments
* harvester_api_protocol
* move to apis
* Remove `chia.apis` => `chia.harvester` dependency.
* Remove circular dependencies between `chia.apis` and service modules.
* SolverAPIStub, and add solver to tach.toml.
* Make the stubs (lack of) implementations more consistent.
* Use `stub_metadata_for_type` instead of `class_for_type`.
The only thing ever used from `ApiProtocol` in `WSConnection`
was the metadata field, so let's pass along only that.
* NewSignagePointHarvester2
* remove some stuff
* change v1 plot phase-out to not affect required iters, and to be quantized to epoch blocks
* disable hard-fork 2 tests until we have a new test cache
* fix rate limits test
* address review comments
* introduce file lock for creating the test-plots in tests. This avoids having every process in pytest-xdist create the same plots, clobbering each other
* add lockfile to the test fixtures that generate the test blockchains. These are quite expensive to generate, we don't want every pytest-xdist process to have to do it
* improve error message when the plot manager has an unexpected number of plots, in the simulator
* review comments: use FileLock instead of custom made
* bump chia_rs to 0.31.0
* integrate new pos2 API from chia_rs into V2Prover
* fixup test_harvester_api mocking of Prover
* review-comments: rename get_quality() to get_string() on Quality protocol
* reivew comments
* fixup bump chia_rs
* restore quality string to bytes32
fix issue in BlockTools where transaction_generator was (incorrectly) used as a proxy for whether the block was a TX block or not. Also improve error messages for plot sizes as well as the minimum plot size for v2 plots on testnet (which also affects our simulations in CI)
* stub chiapos2 API
* update block tools to support v2 plots when generating chains, as well as using the solve_proof() stub in the solver
* review comments
* add shortcuts for bytes32 and G1Element to test_proof_of_space.py to make it a bit easier to read
* introduce calculate_plot_difficulty(), for incrementing plot difficulty over time. Tweak the placeholder cut-over block heights to make it possible to test
* update verify_and_get_quality_string() to support more aspects of v2 plots. update the v2 proof verification stub to take plot difficulty. add plot filter test cases for v2 plots
* move some tests from weight-proof to proof-of-space
* migrate casts to wallet util
* reset mempool_check_conditions
* ruff to re-order imports
* reset full_node_rpc_api
* add tests for casts
* ruff and type
* move to util to avoid consensus depending on wallet
* ruff again
* add a deterministic seed for random