Commit Graph

23 Commits

Author SHA1 Message Date
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