* make BlsCache a proper class, rather than a global dict with helper functions
* make the BLS cache a member of the FullNode, rather than a global variable
* add test for BAD_AGGREGATE_SIGNATURE when using the BLS cache
* drop in merkle set from rust
* add test of non-inclusion
* migrate sync_utils to use chia_rs
* remove unused import
* flake8 fixes
* mypy fix
* more lint fixes
* isort
* remove old merkle_set.py
* make test proof of exlcusion more explicit
* covnert test_merkle_set to use chia_rs MerkleSet
* isort again
* bump chia_rs to 0.7.0 and transition using sized ints and sized bytes from chia_rs
* transition StructStream to use the version from chia_rs
* Initial port of ConsensusConstants to Rust
* Revert max cost calculation to use int for now
* Remove SizedBytes, since it was moved to chia_rs
* Remove test_struct_stream, since it was moved to chia_rs
* use [0] * 100 instead of bytes(100)
* restore wallet_rpc_api, and make type hints match JsonDict (Any)
* fixup ConsensusConstants; restore return value of calculate_prefix_bits()
* fixup ConsensusConstants; construct int for intermedate cost values
* fixup ConsensusConstants; construct int for intermedate cost values
* fixup: transition StructStream to use the version from chia_rs
* revert changing type annotations for json dict
---------
Co-authored-by: Rigidity <me@rigidnetwork.com>
* remove disabled tests from CHIP-13
* rename the new soft-fotk to soft-fork 4. We've already had soft-fork 3, but it's activated and its logic has been removed
* Pass full version in Handshake
* Move chia version conversion into crawler
* Rename to overloaded `chia_short_version` and always return str
* Ensure we extract major.minor.patch from invalid pep440 if available
* Update source to black 24 spec
* update black to 24.1.1
* update pylint to ignore multiple-statements
* update test file
* black updates
* format updates
* Update test_network_protocol_files.py
* Update test_network_protocol_files.py
* add tests.ether
* add new tests/ether.py
* go time out assert
* remove unused JunitPropertyName
* rename to `tests/process_junit.py`
* fixup
* hinting and pylint
* fixup
* after install
* handle skipped tests
* --only plot_sync/
* better relative paths
* better relative paths
* todos
* todos
* tidy
* back to full test run
* add markdown headings
* just make results an artifact
$GITHUB_STEP_SUMMARY upload aborted, supports content up to a size of 1024k, got 6067k.
* also output the top 50 to the step summary
* Update process_junit.py
* Update process_junit.py
Augment conditions_dict_for_solution and conditions_for_solution to accept both programs and serialized programs.
This allows us to use serialized programs without the need to convert them into programs.
* update full_node_store to support multiple UnfinishedBlocks with the same reward hash
* extend full node store to support recording outstanding requests for v2 unfinished blocks
* add test for full_node_store
* simplify creation of UnfinishedBlock in test_full_node.py
* extend UnfinishedBlock protocol to support distinguishing between unfinished blocks with the same partial hash but different foliage
* add test for NewUnfinishedBlock and NewUnfinishedBlock2
* when asking the full_node_store for an unfinished block, only by its partial hash; return the highest ranking (lowest foliage tx block hash)
* use rust types for VDFInfo, VDFProof and ClassgroupElement. Since these types aren't dataclasses, the dataclass.replace() is changed to method replace()
* add test for recursive_replace()
* add comment in recursive_replace() hack
add feature to profile just the block validation. This exposes what is actually going on while we validate blocks. Sometimes the block validation times are affected by other tasks that hog the CPU, blocking the main co-routine from being scheduled