Kronus91
f0071358bf
Clawback Integration ( #14348 )
...
* Clawback integration draft
* Add unit test
* Clawback rework
* Fix unit test
* Fix coin type
* Add tx fee & bulk clawback
* Add manual claim
* Add get_clawback_coins API
* Fix unit test
* Fix unit test
* Resolve comments
* Fix unit test
* remove erroneous comment from p2_1_of_n.clvm
* Resolve comments
* use full puzzle instead of hash in augmented_condition.clvm
* Fix pre-commit
* Add set auto claim api
* Resolve comments
* Fix precommit
* Add get auto claim config api
* Fix pre-commit
* Fix mypy and unit tests
* Switch to reuse coin store solution
* Fix unit tests
* Fix pylint
* Resolve comments
* Fix rename
* Revert puzzle_decorator_type since circular import
* Resolve comments
* Add new coin_type & metadata to coin_records
* Remove unrelated changes
* Fix pre-commit
* Remove unrelated changes
* Fix pre-commit
* Add get_coin_records_between
* Fix field data type
* Resolve comments
* Fix unit test
* Remove unrelated changes
* Remove unrelated changes
* Improve unit tests
* Resolve comments
* Fix clvm hex
* Fix unit tests
* Fix API router
* Update rpc client
* Fix pre-commit
* Remove unrelated changes
* Fix set/get auto claim
* Force populate secret key for clawback
* optimizations
* added clawback puzzle hashes
* update drivers and add lifecycle tests
* Fix driver Program types
* avoid redundant uncurry in clawback
* simplify deserialize_coin_metadata()
* run clawback puzzles with a lower cost limit
* Update chia/wallet/wallet_state_manager.py
Co-authored-by: Arvid Norberg <arvid@libtorrent.org>
* Add tx records for Clawback
* Add clawback coin id
* Add type filter for get_transactions
* Modify clawback tx types
* Resolve comments
* Resolve comments
* Fix unit tests
* Resolve comments
* Improve unit test
* Use merkle tree class
* Resolve comments
* Resolve comments
* Fix curry tree hash
* Improve coverage
* Improve coverage
* Fix unit test
* Fix test
* Improve coverage
* Fix pre-commit
* Resolve comments
* Handle invalid clawback metadata
* Fix unit tests
* Improve coverage
* Handle empty byte issue
* Forward memo
* Fix unit test
* Resolve comments
* Rework Clawback TX management
* Add confirmed filter
* Resolve comments
* Fix unit test
* Fix pre-commit
* Improve coverage
* Fix unit test
* Handle missing auto_claim config
* Fix pre-commit
* Revert tx confirmed change
* Drop unused `deserialize_coin_metadata`
* Parse clawback metadata in `WalletCoinRecord.parsed_metadata`
* Use `WalletCoinRecord.parsed_metadata`
* Avoid querying low amount coins with the `amount_range` parameter
* Drop unused `to_puzhash`
* Drop `print("Ping")`
* Drop outdated assert
* Resolve comments
* Fix coverage
---------
Co-authored-by: geoffwalmsley <geoffwalmsley@gmail.com>
Co-authored-by: Sebastjan Trepca <trepca@gmail.com>
Co-authored-by: arvidn <arvid@libtorrent.org>
Co-authored-by: xdustinface <xdustinfacex@gmail.com>
2023-06-05 10:53:34 -05:00
dustinface
c5714b1720
wallet: Fix filter imports ( #15325 )
2023-05-18 13:19:57 -05:00
dustinface
0c4222f83e
wallet: Implement WalletCoinStore.delete_wallet
( #15127 )
2023-05-11 19:04:01 -05:00
dustinface
67910197eb
wallet: Improve WalletCoinStore.get_coin_records
( #15099 )
...
Improve `WalletCoinStore.get_coin_records`
2023-05-03 00:31:52 -05:00
dustinface
4c7f7e7d23
wallet: Implement WalletCoinRecord.to_json_dict_parsed_metadata
( #15108 )
2023-04-25 11:21:10 -06:00
Kronus91
a998ea48d8
Add new coin_type & metadata to coin_records ( #15013 )
...
* Add new coin_type & metadata to coin_records
* Remove unrelated changes
* Fix pre-commit
* Remove unrelated changes
* Fix pre-commit
* Add get_coin_records_between
* Fix field data type
* Resolve comments
* Fix unit test
* Remove unrelated changes
* Remove unrelated changes
2023-04-12 11:30:08 -06:00
dustinface
9b608f40f9
wallet: Drop WalletCoinStore.get_multiple_coin_records
( #14862 )
2023-03-27 10:16:33 -05:00
dustinface
543f8c24eb
wallet: Return a dict in WalletCoinStore.get_coin_records
( #14828 )
2023-03-20 13:17:59 -05:00
dustinface
62ee1c8766
wallet: Don't just subscribe to all coin ids from the DB ( #14813 )
2023-03-15 17:52:56 -05:00
Kyle Altendorf
ff5ef6e073
remove leading newlines from indented code blocks ( #14653 )
...
* remove leading newlines from indented code blocks
* catch another one
2023-02-23 21:53:48 -06:00
Kyle Altendorf
3b084a165b
configure isort to add the future annotations import ( #13327 )
...
* 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
2022-09-30 03:40:22 -05:00
Kyle Altendorf
bbd032e1c9
embrace click 8 ( #13559 )
...
* click==8.1.3, black==22.8.0
* black
* click option creator hinting
* ignores for to-be-resolved issue
* remove unused import
2022-09-29 11:24:36 -05:00
Amine Khaldi
08442bcffa
Merge commit 'a3fd118487ff572c1bc3983982a7c49339426d8c' into checkpoint/main_from_release_1.6.0_a3fd118487ff572c1bc3983982a7c49339426d8c
2022-09-09 22:59:03 +01:00
Arvid Norberg
a3fd118487
instead of fetching every unspent coin from the DB, just to count how many small unspent coins we have, ask the DB to count directly. It's a lot faster ( #13361 )
2022-09-07 17:10:14 -05:00
Amine Khaldi
0f4f2dda57
Merge commit '8bc1cc41a5f532765c09c975c515d649ee89ac0e' into checkpoint/main_from_release_1.6.0_8bc1cc41a5f532765c09c975c515d649ee89ac0e
2022-09-02 18:28:57 +01:00
Dan Perry
8bc1cc41a5
Xch spam ( #12878 )
...
* Add mariano54s spam filter changes (original PR is #11894 )
* Add new spam_filter tests
* remove get_all_coins method and query db directly in test
* Add test to include case where everything gets filtered, even the first coin
* If filter threshold is <= 1, no need to run the filter
* add test of chia.wallet.wallet_coin_store.get_all_unspent_coins
* Add test case for receiving large coin after sending dust coin
* Add NFT test to spam wallet
* resolve merge conflicts with main
* remove unneeded coin store test
* Add black formatting
* split long comments into multiple lines
* Run black, second try
* Manually add black changes
* Black
Co-authored-by: Mariano Sorgente <sorgente711@gmail.com>
2022-08-30 17:44:27 -05:00
Arvid Norberg
7617bfdfba
When adding coins to the wallet, lookup the coin records in bulk, rather than one at a time ( #13142 )
2022-08-25 02:04:18 -05:00
Arvid Norberg
97390eef67
revert change to change OR REPLACE -> OR FAIL in wallet_coin_store. There's not enough test coverage to make this change with confidence, and it's not necessary ( #12924 )
2022-08-16 03:33:13 -05:00
Arvid Norberg
21e563eb4f
optimize get_coins_to_check() by returning the coin_names directly, rather than allocating full WalletCoinRecords and then compute the names ( #12741 )
2022-08-02 12:28:08 -05:00
Arvid Norberg
acc8b7c98d
Optimize wallet set_spent() ( #12391 )
...
* optimize WalletCoinStore.set_spent() to just update the required fields in the DB
* overwriting an existing record with WalletCoinStore.add_coin_record() is an error
2022-07-15 17:16:59 -05:00
Arvid Norberg
8ec56d1901
Wallet dbwrapper 2 ( #12234 )
...
* change DBWrapper -> DBWrapper2 in wallet. rip out all transaction tracking threaded through the wallet (because DBWrapper2 uses nested transactions)
* fix logging
* fix pending_changed callback in wallet_node
2022-07-12 19:09:05 -05:00
Arvid Norberg
4a69bc1613
Wallet coin store cache ( #12130 )
...
* remove wallet coin store 'cache', where all coins are kept in RAM. Rely on the sqlite DB
* some DB optimizations to WalletCoinStore
2022-06-29 16:50:29 -05:00
Arvid Norberg
2d812c5002
resurrect WalletCoinStore unittest ( #12116 )
2022-06-29 04:34:14 -05:00