* remove none from async generator and add a custom error type
* remove client check from data funcs
* remove client check from farm funcs
* remove client check from peer, show and netspace funcs
* remove none check from sim funcs
* change the wallet code in cmds util to use the new error type
* update plotnft_funcs with new error
* remove none checks from coin and wallet funcs
* cleanup logic a tad
* enable soft-fork2
* add blockchain (consensus) test for time-lock conditions (non-ephemeral spend)
* introduce new soft-fork rule to compare ASSERT_SECONDS_* conditions against the previous transaction block's timestamp (to be consistent with ASSERT_HEIGHT_* conditions)
* bump chia_rs. This updates the mempool rules to disallow relative height- and time conditions on ephemeral coin spends
* implement assert_before in mempool_check_time_locks. Extend ephemeral coin test in blockchain with assert_before conditions
* implement support for assert_before conditions in compute_assert_height()
* support assert-before in mempool
* add timelock rule
* address review comments
* bump chia_rs to version 0.2.3
* add new error codes for assert_my_birth_*
* add new condition codes for ASSERT_MY_BIRTH_*
* add logic for ASSERT_MY_BIRTH_* conditions
* bump chia_rs to latest version
* add new error codes for ASSERT_BEFORE_* condition failures, ASSERT_CONCURRENT_SPEND failing, ASSERT_CONCURRENT_PUZZLE_FAILED and for impossible constraints
* add new condition opcodes for ASSERT_BEFORE_*, ASSERT_CONCURRENT_SPEND and ASSERT_CONCURRENT_PUZZLE
* fixup Spend and SpendBundleCondition types
* fixup tests that otherwise fail with MINTING_COIN
* fix test that otherwise would fail with RESERVE_FEE_CONDITION_FAILED
* remove use of NO_NEG_DIV flag. It's now implied
* remove duplicate test parameters
* 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
* cmds: Implement `chia beta` for the beta test program
* Unhide and document all `beta` subcommands
* Refactor all subcommands
* Introduce `chia beta configure`
* Introduce `chia beta status`
* Test all `chia beta` commands
* Use a separate file logger for beta logs
* Write the plotting call args to the log file
* Sort potential submissions
* Some refactoring around log file log handler creation
* JSON dump the plotting args
* util: Implement key label support for `FileKeyring` and `KeyringWrapper`
* Restrict trailing/leading whitespaces in the label
* Bump `MAX_LABEL_LENGTH` to 65
* Additional label tests
* Drop duplicated `KeychainFingerprintNotFound` definition
* util: Introduce `KeyData` and `_get_pk_and_entropy` -> `_get_key_data`
* Fix typos
* `include_secrets=False` in `delete_key_by_fingerprint`
* Use a variable for the mnemonic string in `KeyDataSecrets.__post_init__`
* 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)
* Check types of messages returned from other peers
* Check message type data structures at startup, check that no peeer messages that expect replies are broadcast, and dynamically check return types of messages that do expect replies.
* Type hint protocol message type check functions
* lint
* typo
* add replay_type decorator
* add api reply decorations
* typo
* Don't check non full-node broadcast messages
* Distinguish internal vs peer protocol error
Added Changelog
Moved static check to import time
Moved protocol timeouts to chia/protocols/protocol_timing.py
Comment typos
Rename create_request -> send_request
Comment that INVALID_PROTOCOL_MESSAGE is bannable, not temporary
* Call static check at module import time
* Rename message_response_ok
* Improve protocol checking for outgoing message validation
* Type-o
* reset submodule
Co-authored-by: almog <almogdepaz@gmail.com>
* Start block body tests
* More tests
* More tests
* Improvements and security fixes to block body validation
* Revert bad test changes
* Fix check for ref list size
* squash
* rebase cleanup
* cost
* Combine adam's and straya's PRs
* Fix cost test
* Fix another test
* Improve safety in reorgs
* Improve wallet in reorgs
* Improve wallet in reorgs
* Bug in reorg handling
* Bug in reorg handling, and fix test
* Band aid
* Comment out to pass test
* Comment out test
* rebase clean
* USe a list of reference generators
* create
* Integrate Block Compression
* Fix generator argument creation
* improve test
* update block tools
* Separate CompressorArg and GeneratorArg, improve type hints
* First crack at `list_to_tree`.
* Integrate generator arguments as tree
* End to end test for generators
* Fix linting issues, hook up things, and add a test
* tidy GeneratorArg test
* Get compression and decompression working in full node
* Fix fetching block generator from DB in multiprocess
* Fix edge case in reorgs, test many combinations of reorgs
* reduce max number of generators refs allowed in a block
* Apply Straya's fix for calculating the end index for generator args
* typos
* Run test_block_compression for a transaction large enough to force multiple input coins in the transaction
* Update generator compression tests for treearg change and decompressor offset args fix
* Fix merge conflict
* Fix test
* Fix full node tests
* Don't make full blocks
* fix lint
Co-authored-by: Yostra <straya@chia.net>
Co-authored-by: Adam Kelly <aqk@aqk.im>
Co-authored-by: Richard Kiss <him@richardkiss.com>
* Add test for relative seconds
* rebased on top of main
* Renamed AGG_SIG to AGG_SIG_UNSAFE
Renamed height and time conditions
Changed some demo p2 puzzles to use AGG_SIG_ME
* fix merge on cost_calculator
* update hex and sha256tree of p2_delegated_conditions
* fix condition name in rl clvm
* updated the innerpuz sha256tree after careful inspection