Commit Graph
14659 Commits
Author SHA1 Message Date
Matt HauffandGitHub d9aedb5494 Fix flaky VC test (#15289)
* Fix flaky VC test

* mypy

* fix coverage
2023-05-17 10:23:46 -05:00
Amine Khaldi d55317fe44 Merge commit '1c5b4a1d12dfe30d09c1698cacc569d567f9c766' into checkpoint/main_from_release_1.8.1_1c5b4a1d12dfe30d09c1698cacc569d567f9c766 2023-05-17 16:15:26 +01:00
William AllenandGitHub 76745870f8 checkpoint: into main from release/1.8.1 @ 61ad4dae37 (#15315)
Source hash: 61ad4dae37
Remaining commits: 1
2023-05-17 10:13:05 -05:00
Amine Khaldi b4c161ec57 Merge commit '61ad4dae37b9fd9a1dcd61416d3d7eaae0cc2fe3' into checkpoint/main_from_release_1.8.1_61ad4dae37b9fd9a1dcd61416d3d7eaae0cc2fe3 2023-05-17 11:15:52 +01:00
William AllenandGitHub be4d04509d checkpoint: into main from release/1.8.1 @ 4629a9d6ae (#15301)
Source hash: 4629a9d6ae
Remaining commits: 0
2023-05-16 19:26:07 -05:00
JeffandGitHub 1c5b4a1d12 Bump chia-blockchain-gui 1.8.1-rc4 (#15302)
Bump chia-blockchain-gui to e8265277fc4a0953fe78732cdc0e75e3fdca52d9

* update Electron 22.3.5 to 22.3.7 to address security advisories by @paninaro in https://github.com/Chia-Network/chia-blockchain-gui/pull/1773

**Full Changelog**: https://github.com/Chia-Network/chia-blockchain-gui/compare/1.8.1-rc3...1.8.1-rc4
1.8.1-rc4
2023-05-16 16:46:02 -05:00
Arvid NorbergandGitHub 61ad4dae37 optimize compact proofs (#15304) 2023-05-16 16:45:22 -05:00
Peter TrippandGitHub c8c04f6717 Improve help text for deprecated 'chia show' commands. (#15297) 2023-05-16 12:30:25 -05:00
Amine Khaldi 78c719f0e3 Merge commit '4629a9d6ae8fffa9ec89694ee610bd879c8b970a' into checkpoint/main_from_release_1.8.1_4629a9d6ae8fffa9ec89694ee610bd879c8b970a 2023-05-16 18:26:32 +01:00
William AllenandGitHub ed68e176e7 checkpoint: into main from release/1.8.1 @ 2aadff68ab (#15296)
Source hash: 2aadff68ab
Remaining commits: 1
2023-05-16 12:14:30 -05:00
Amine Khaldi 7ab7af6f7d Merge commit '2aadff68ab5b57e6fa884dddf70ba1c3516dfb8d' into checkpoint/main_from_release_1.8.1_2aadff68ab5b57e6fa884dddf70ba1c3516dfb8d 2023-05-16 11:43:28 +01:00
JeffandGitHub 4629a9d6ae Bump chia-blockchain-gui 1.8.1-rc3 (#15294)
Bump chia-blockchain-gui to 1096c76d664b6455744f846cb76d4b07a1fba431

* adds the WalletConnect command getNFTWalletsWithDIDs to return a listing of NFT wallets that have an associated DID that the user possesses by @paninaro in https://github.com/Chia-Network/chia-blockchain-gui/pull/1770

**Full Changelog**: https://github.com/Chia-Network/chia-blockchain-gui/compare/1.8.1-rc2...1.8.1-rc3
1.8.1-rc3
2023-05-15 19:52:11 -05:00
JeffandGitHub 2aadff68ab hardcode num param when listing NFTs from CLI (#15293) 2023-05-15 19:51:40 -05:00
Matt HauffandGitHub 4603b9d768 Decorrelate forwards_compat and reuse_puzhash from trade test params (#15287)
Decorrelate forwards compat and reuse_puzhash from trade test params
2023-05-15 19:50:56 -05:00
Matt HauffandGitHub 598450f320 Pass VC fee parameter all the way through and check balances in tests (#15286)
Pass fee all the way through and check balances in tests
2023-05-15 19:49:31 -05:00
Kronus91andGitHub d5a56f756e Add type filter for get_transactions (#15196)
* Add type filter for get_transactions

* Resolve comments

* Improve unit test

* Resolve comments

* Resolve comments
2023-05-15 10:19:06 -05:00
William AllenandGitHub 7d81cc197b checkpoint: into main from release/1.8.1 @ 676b14f5eb (#15276)
Source hash: 676b14f5eb
Remaining commits: 0
2023-05-13 12:52:47 -05:00
Kyle Altendorf 4e11e43a3a Merge commit '676b14f5ebbb1b01a071c07ad7dfc7f306298c13' into checkpoint/main_from_release_1.8.1_676b14f5ebbb1b01a071c07ad7dfc7f306298c13 2023-05-13 13:09:41 -04:00
432d2ee308 Add some more daemon "rpc" tests (#15215)
* Add some more daemon "rpc" tests

* fixes due to some platform differences

* Add unlock_keyring tests and some experiments with monkeypatch

* rewrote simpler tests into single paramterized test

* add parameters to patch function

* Use monkeypatch.context for better isolation

* remove monkeypatch and test by deleting the keyring file

* remove now unused monkeypatch function

* changes from PR suggestions

* more readable parameterization per suggestions

* datacases

* description and id property

* swap description and route order

* *cases

---------

Co-authored-by: Kyle Altendorf <sda@fstab.net>
2023-05-12 17:48:41 -05:00
JeffandGitHub 676b14f5eb Bump chia-blockchain-gui to a59286e4eaacafca3b7fe9cee0d99ff3e5f9ed13 (#15267)
Includes:
Fix for joining a pool
Fix for creating a DID
Removal of a hardcoded default NFT limit (doesn't impact anything)
Fixes for WalletConnect pairing
madmax plotting fix when tmpdir2 isn't specified
1.8.1-rc2
2023-05-12 17:08:45 -05:00
Kyle AltendorfandGitHub 217429a126 add datacases() and named_datacases() (#15265)
* add `datacases()` and `named_datacases()`

* correct DataCasesProtocol

* add back the tests for testing the test utilities
2023-05-12 12:58:45 -05:00
William AllenandGitHub d1ffa43ea8 checkpoint: into main from release/1.8.1 @ c6863fd92b (#15266)
Source hash: c6863fd92b
Remaining commits: 0
2023-05-12 12:58:06 -05:00
Amine Khaldi e76d9c56e6 Merge commit 'c6863fd92bfaf2838117a38656b0ac0d47d1e970' into checkpoint/main_from_release_1.8.1_c6863fd92bfaf2838117a38656b0ac0d47d1e970 2023-05-12 18:07:31 +01:00
Amine KhaldiandGitHub eb898dfe95 Identical spend aggregation (#13799)
* Exploring identical spend aggregation.

* Attempt to address review.

* Revert this.

* Explore spend-based processing instead of the bundle-based one.

* Attempt to address reviews.

* Update against chia_rs and add some improvements.

* Leverage the fact that we're in a function now to perform early exits.

* Explore propagating exceptions.

* Relax the exception handling.

* Add unit tests.

* Add some comments and perform some renames for more readability.

* Refactor tests and split them by scenario.

* Take Arvid's suggestion to simplify the check.

* Improve test readability.

* Make the set explicit instead of computing it with union().

* Run in MEMPOOL_MODE for cost and additions.

* Use int_from_bytes() instead of int.from_bytes().

* Add more unit tests for run_for_cost_and_additions (to cover coin amount 0 as well as a negative amount).

* Don't use as_python() for created coins.

* Account for the cost of create coin conditions and extract additions from the NPCResult.

* Rely on NPCResult for the maximum allowed cost.

* Stop looking for the relevant spend at the first occurrence (then process its created coins).

* Add a unit test for spending a coin in different ways then finding it spent in new peak.

This makes sure all mempool items that would spend that coin get removed.

* Parameterize the test for spending a coin in different ways then finding it spent in new peak, to account for both the optimized and the reorg code paths.

* Keep track of coin spends cost and additions in mempool items in case they won't make it into the block, so we don't rerun that again next time.

* Extend replace by fee tests with eligibility scenarios.

* Refactor find_duplicate_spends into get_deduplication_info and process_mempool_items into create_bundle_from_mempool_items.
Slightly refactor check_removals and create_bundle_from_mempool.

* Cast to uint64 in the return statement.

* Adapt to the recent addition of seq.

* Add unit tests for mempool items' bundle_coin_spends.

* Leverage the recently added make_test_conds when creating this npc_result.

* Pass in bundle_coin_spends and max_cost instead of InternalMempoolItem so that it remains internal.

* Add a test for the scenario where we pick a sub-optimal aggregation by deduplicating on solution A, seen in a relatively higher FPC item, then receiving better cost saving items on solution B after that one.

* Add some end-to-end tests for identical spend aggregation.

* Add a comment documenting why eligible_coin_spends map is ephemeral.
2023-05-12 10:55:53 -05:00
Arvid NorbergandGitHub c6863fd92b don't add transactions to the mempool before it has a valid peak (#15264) 2023-05-12 10:54:35 -05:00
Earle LoweandGitHub ee70a978de Remove unused alert server test code and support files (#15249)
* Remove unused test code

* Remove remainder of defunct alert code
2023-05-12 00:12:30 -05:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2be903e2e8 build(deps): bump boto3 from 1.26.111 to 1.26.131 (#15246)
Bumps [boto3](https://github.com/boto/boto3) from 1.26.111 to 1.26.131.
- [Release notes](https://github.com/boto/boto3/releases)
- [Changelog](https://github.com/boto/boto3/blob/develop/CHANGELOG.rst)
- [Commits](https://github.com/boto/boto3/compare/1.26.111...1.26.131)

---
updated-dependencies:
- dependency-name: boto3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-11 19:10:27 -05:00
c1c4f99f6c Introduce Verifiable Credentials Primitive (#15059)
* First crack at VC puzzles

* Add p2_puzzle_or_hidden_puzzle

* First crack at drivers

* Basic test infra

* compile clsp and test covenant layer

* lint

* Add test for match_covenant_layer

* Add tests for DID TP

* Add tests for DID backdoor

* Add tests for p2_puzzle_or_hidden_puzzle

* Change DID backdoor -> p2_puzzle_w_auth + did_puzzle_authorizer

* Add a VerifiedCredential class

* Make p2_puz_or_hidden_puz viral

* Add morpher solution to covenant layer

* Add capability to update the proofs of a VC

* update_proofs -> do_spend

* Finish lifecycle of VC

* Make backdoor puzzle, remove p2_puzzle_w_auth from stack

* Extract p2_puzzle_w_auth to its own files

* lint

* rework launch process so it works after revocation

* Add some extra tests for the final state after revocation

* Add cost logging

* slight opimizations

* python comments and ergonomic improvements

* Comments for chialisp

* Add VC wallet and store infra

* Add a negative test for updating proofs w/o DID

* First crack at CR CAT

* Turn two hashes into one

* Extract some shatrees out of puzzle hash creation

* Add a stager function

* Precalculate initial_singleton_inner_puzhash_hash

* Add another stager

* Refine stagers

* Add cost logging and assert provider is authorized

* Add sketched out CRCAT class

* black

* Test most of CRCAT drivers

* lint

* Remove an unnecessary param

* Don't commit to singleton ID in parent morpher

* Extract DID to ownership layer

* lint

* use intitial puzzle hash for covenant as proof to morpher

* Collapse hash of parent morhper

* Remove stagers

* Rename some params

* Use SELF_HASH construct

* remove dependency on shatree

* Minor optimization of curried hashes

* Balance tree

* hint -> remark

* Make a v2 ownership layer for cost-sake

* (WIP) Migrate to tp hash at ownership layer

* (WIP) Return tp_hash from tp

* use a stager again

* use constants for ints

* use more constants

* inline a function, get rid of constant

* Switch to tree metadata on ownership layer

* Impelement wallet launch vc

* Minor fixes and rename a bunch of stuff

* lint

* Fix tests

* First crack at proof checking

* Remove unused imports

* Merge tests to get better coverageg

* Fix is_vc methods

* pre-commit

* pre-commit again

* Implement VC spend

* make sql pre-commit check work with git worktrees

* CRCATWallet

* Comment reasoning in script file

Co-authored-by: Kyle Altendorf <sda@fstab.net>

* Add a concept of VCProofs

* Show proofs in vc_get_vc_list as well

* Implememnt CRCAT wallet

* Extend lineage store

* Make tests pass

* WalletIdentifier fix

* Add revocation RPC

* forgotten bytes32

* Return coin name with vc record

* First crack at adding VC authorizations to offers

* Add CROuterPuzzle

* Fix wallet_funcs.py

* VCWallet changes only

* Fix wallet db schema test

* Add RPC client methods and tests

* Allow a path for user to clear VC

* Mint VC command

* Get VCs command

* Forgotten hex compilation

* Automatically fetch DID when we have it

* Update Proofs command

* Add Proof Reveal command

* Get Proofs For Root command

* Revoke VC command

* Chialisp pre-commit cleanup

* Deprecate as_python()

* Add a limit to some sql queries

* Fix some bad imports

* Fix changed wallet sync function

* Check for tail condition amounts in CAT spending

* Add RPC docs

* only need one mojo for a singleton

* Fix comment

* remove create_puzhash from add_new_wallet

* Remove create_tandam_xch_tx

* fix wallet_state_manager hinting

* Rename RPCs

* Use streamable classes for RPC request parsing

* add back accidentally deleted method call

* Remove unnecessary copy() call

* Add negative test for using wrong DID to update proofs/revoke vc

* Add negative test for making sure invalid proofs can't be proven

* Add negative test for trying to piggyback on top an unrelated VC spend

* Make output_amount a uint64

* some chialisp bug fixes

* chialisp readability improvements

* Force same provider on provider update of DID

* typo in EML

* Add vc_wallet folders to package list

* mypy

* Increase test coverage a bit

* Add a bit more coverage

* rework wallet creation

* Delete is_addition_relevant

* Coveralls ignores

* remove brick reference

* coveralls-ignore --> pragma: no cover

* Couple more ignores

* typo corrections

---------

Co-authored-by: ytx1991 <t.yu@chia.net>
Co-authored-by: Kyle Altendorf <sda@fstab.net>
2023-05-11 19:09:05 -05:00
wjblankeandGitHub f2785201bd Changed: output plotid when we find an invalid proof of space (#15257)
* output plotid when we find an invalid proof of space

* fix
2023-05-11 19:06:17 -05:00
Almog De PazandGitHub 148a8eb59c Refactor mutiproc prevalidation (#15166)
* remove redundant code

* remove redundant code

* lint

* remove

* rename recent_blocks

* convert to bytes outside of loop

* lint
2023-05-11 19:06:02 -05:00
dustinfaceandGitHub c20c19387b wallet: Fix coin state sorting (#15124) 2023-05-11 19:05:50 -05:00
dustinfaceandGitHub 43a4939dbc wallet: Move WalletPeers init to the end of _start_with_fingerprint (#15150) 2023-05-11 19:04:52 -05:00
dustinfaceandGitHub 951158d7f5 wallet: Implement WalletPuzzleStore.delete_wallet (#15125) 2023-05-11 19:04:31 -05:00
dustinfaceandGitHub 7c7740eb89 wallet: Implement WalletPoolStore.delete_wallet (#15126) 2023-05-11 19:04:15 -05:00
dustinfaceandGitHub 0c4222f83e wallet: Implement WalletCoinStore.delete_wallet (#15127) 2023-05-11 19:04:01 -05:00
dustinfaceandGitHub e4c339e072 tests: Drop run-py-tests.sh (#15144) 2023-05-11 19:03:35 -05:00
Joseph ChiocchiandGitHub 50c1ea9679 Fix #13393 offer shows network's XCH like TXCH on testnet10 (#15224)
* a naive first-pass at resolving #13393

- attempts to use `AddressType` with `config` already being loaded
- assumptions made of internal structures being built where the asset type and lookups with literal `XCH`|`xch` can be swapped out 
- value of `txch`|`xch` is set to `network_xch` calling `AddressType.XCH.hrp(config)` 1x

* fix roughing-in typos

* remove most assumptions except literal in format str

* whoops - using the wrong lookup enum

* revert literal "xch"

* trying a signature change of `print_offer_summary`

* fmt: blacken
2023-05-10 19:19:26 -05:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
33b37ecdcf build(deps): bump bitstring from 4.0.1 to 4.0.2 (#15244)
Bumps [bitstring](https://github.com/scott-griffiths/bitstring) from 4.0.1 to 4.0.2.
- [Release notes](https://github.com/scott-griffiths/bitstring/releases)
- [Changelog](https://github.com/scott-griffiths/bitstring/blob/main/release_notes.txt)
- [Commits](https://github.com/scott-griffiths/bitstring/compare/bitstring-4.0.1...bitstring-4.0.2)

---
updated-dependencies:
- dependency-name: bitstring
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-10 18:53:04 -05:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
131c164232 build(deps): bump zstd from 1.5.4.0 to 1.5.5.1 (#15247)
Bumps [zstd](https://github.com/sergey-dryabzhinsky/python-zstd) from 1.5.4.0 to 1.5.5.1.
- [Release notes](https://github.com/sergey-dryabzhinsky/python-zstd/releases)
- [Commits](https://github.com/sergey-dryabzhinsky/python-zstd/compare/v1.5.4.0...v1.5.5.1)

---
updated-dependencies:
- dependency-name: zstd
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-10 18:52:51 -05:00
William AllenandGitHub f7b057d72f checkpoint: into main from release/1.8.1 @ 67bf417944 (#15254)
Source hash: 67bf417944
Remaining commits: 0
2023-05-10 18:24:16 -05:00
360bf2d59a Add basic test for get_farmed_amount wallet RPC (#15208)
* Add basic test for get_farmed_amount RPC

* remove unused line

* simplified test

* add a tx with a fee for get_farmed_amount test

* minor cleanup

* Apply suggestions from code review

Co-authored-by: Kyle Altendorf <sda@fstab.net>

* Some updates from PR comments

---------

Co-authored-by: Kyle Altendorf <sda@fstab.net>
2023-05-10 17:59:30 -05:00
Amine Khaldi 66618839dd Merge commit '67bf417944233ab32e1570de60d5a32f89b4890b' into checkpoint/main_from_release_1.8.1_67bf417944233ab32e1570de60d5a32f89b4890b 2023-05-10 17:14:21 +01:00
William AllenandGitHub acf60ae7cc checkpoint: into main from release/1.8.1 @ 0d4ea244db (#15253)
Source hash: 0d4ea244db
Remaining commits: 1
2023-05-10 11:07:57 -05:00
Amine Khaldi 7b60fb686b Merge commit '0d4ea244db37bce281b4403f2d718a86bbee1d23' into checkpoint/main_from_release_1.8.1_0d4ea244db37bce281b4403f2d718a86bbee1d23 2023-05-10 11:38:25 +01:00
Amine KhaldiandGitHub 54686f1121 Don't leverage SQLite's generated column feature for fee_per_cost. We'll hopefully reintroduce it again in the future (#15243)
* Don't leverage SQLite's generated column feature for fee_per_cost. We'll hopefully reintroduce it again in the future.

* Lint.
2023-05-09 18:52:09 -05:00
William AllenandGitHub c6483ffbf8 checkpoint: into main from release/1.8.1 @ dfb467b18f (#15248)
Source hash: dfb467b18f
Remaining commits: 2
2023-05-09 18:51:19 -05:00
Amine Khaldi 468625ee88 Merge commit 'dfb467b18f96eebf9e814c3ff8b997f54e66a51c' into checkpoint/main_from_release_1.8.1_dfb467b18f96eebf9e814c3ff8b997f54e66a51c 2023-05-09 22:19:19 +01:00
dustinfaceandGitHub b90d91d46b server: Don't pass the host to WSChiaConnection (#14152)
Use the one from the connection data like we do it with the port. The
result there is slightly different since its resolved so `localhost`
becomes an IP in `peer_info` but i anyway will open a PR soon to
transition from `str` to `IPAddress` in there.
2023-05-09 15:58:20 -05:00
dustinfaceandGitHub 2983b99590 tests: Fix assert_tx_amounts in test_wallet_rpc.py (#15113)
* Fix `assert_tx_amounts`'s change condition

* Add a test case with `select_coin=True` without change
2023-05-09 15:57:07 -05:00
dustinfaceandGitHub 66b0dfddaa wallet: Drop unused chia.wallet.wallet_action (#15116) 2023-05-09 15:56:54 -05:00