mirror of
https://github.com/Chia-Network/chia-blockchain.git
synced 2026-08-29 02:24:35 -05:00
* Initial draft of custody architecture * Rename CustodyType -> Puzzle * Rename UnknownCustody -> UnknownPuzzle * Rename CustodyHint -> PuzzleHint * Rename CustodyWithRestrictions -> PuzzleWithRestrictions * Reorganize for clarity * Add support for identifying and filling in unknown puzzles * rename custody -> puzzle * MofN puzzles * Restriction layer * Fix PlaceholderPuzzle with MofN restriction * Add indexing * Elaborate on potential optimizations * Light comment improvements * Add spec namespace * 3.10 compatibility I think? * pylint I hate you * pylint I really hate you * Add an optimized puzzle for 1ofN * Coverage ignores * Add optimization for NofN * Add support for `PuzzleWithRestrictions` with no MofN * comments * Fix members with restrictions inside of MofNs * pylint * Rework restrictions * Use feeder pattern for MofNs as well * f you pylint * initial commit * start work on tests * fix all but signature in test * fix test * black, isort, flake8 * migrate changes to new files / folders * mypy fixes * remove unused imports * add bls_member to deployed_puzzle_hashes * no memo for BLS Member * change comments on BLSMember * chialispp bls_member * update test comment * black again * pylint disable * add a more minimal test for blsmember * fix quex comments * flake8 * Add basic framework for delegated puzzle validators * code coverage for memo() * don't reuse variable of different type * coverage * pre-commit * pre-commit * Fix spend sim import * Add passkey member puzzle * Dedup a bit * Add `Timelock` restriction * Rename variable * Add coin announcement restriction * initial commit * Add comments per @matt-o-how * typo * correct formatting for using secp_verify * secp256r1 fix * pretty print lisp * add to deployed puzzle hashes * ruff formatted * Add a restriction to mimic existing vault recovery * Add a helper method * initial commit * fix test * fix_test_2 * ruff format * add secp256k1_member to deployed puzzle hashes * pretty print lisp * ruff check fix. * curve_order fix * ruff format * Add memo-ization to the restriction * add assertion for secpr1_member memo in test_secp256r1_member * add assertion for secpk1_member memo in test_secp256k1_member * add secpmember solve method * - specify type for secp_sk in member puzzles * add SECPK1 and SECPR1 "puzzle assert" members with corresponding tests * Fix bug and add test coverage to dpuz wrapper enforcement puzzle * Fix bug and add test coverage to timelock puzzle * pre-commit * initial commit * Add dataclass for SingletonMember in member_puzzles.py * fix message coin_ids * rename eve to launcher * add minimal message condition test * change message mode to 3F * use correct message format * fix test * cleanup * fix formatting in singleton_member.clsp * Add files for test chialisp * Add a wrapper that forces a message condition with a coin ID commitment * Add a version of a passkey puzzle that only asserts puzzle hash * add comments, remove unused code, add customisable singleton info * initial commit * fix typo and pprint chialisp * chialisp pretty print * Add comment about message * add bls_with_taproot puzzle and member class * mypy fixes * more mypy fixes * remove breakpoint * correct name in deployed_puzzle_hashes * remove mod from name * only allowed delegated_puzzle as taproot_path * add test that checks bad taproot is blocked * ruff fix * make BLSWithTaproot Member flexible * address nitpicks * mypy fixes * Remove member and restriction implementations * Import from chia_puzzles_py (and fix tests) * Remove executable bibt? * Re-add some of the member and restrictions * Some kw_only * More kw_only * Reviews by @matt-o-how and cursor * Comments by cursor * Remove `Force1of2WithRestrictedVariable` * Bring in some downstream stuff * Make a heightlock instead of timelock restriction * comments by cursor * Test coverage * Better condition_codes.clib-ing * comments by @matt-o-how --------- Co-authored-by: Matthew Howard <m.o.howard97@gmail.com> Co-authored-by: matt-o-how <48453825+matt-o-how@users.noreply.github.com>