|
Ran
|
Jobs
1
|
Files
940
|
Run time
3min
|
Badge
README BADGES
|
push
github
[LABS-490] Extract coin splitting functionality into its own module (#21161) <!-- CURSOR_SUMMARY --> > [!NOTE] > **Medium Risk** > Refactors wallet coin split/combine paths used by RPC; behavior should be equivalent but touches core transaction construction and coin selection. > > **Overview** > Moves **split** and **combine** coin logic out of `WalletStateManager` into a new **`FungibilityManager`**, wired on the state manager at startup and used by the wallet RPC for `split_coins` / `combine_coins`. > > RPC handlers now resolve a fungible wallet via `get_fungible_wallet` (standard or CAT only) and call the manager instead of `wallet_state_manager.split_coins` / `combine_coins`. Invalid wallet types raise **`Wallet {id} is not eligible for coin splitting`** (tests updated for split and combine RPC paths). **`coin_num_limit`** is no longer forwarded into the combine implementation; limits still apply via `CombineCoins` request validation. > > Behavior of coin selection, fees, and transaction building is intended to stay the same—this is primarily structural cleanup for LABS-490. > > <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit 28e52c207. Bugbot is set up for automated code reviews on this repo. Configure [here](https://www.cursor.com/dashboard/bugbot).</sup> <!-- /CURSOR_SUMMARY -->
19892 of 24894 branches covered (79.91%)
Branch coverage included in aggregate %.
76 of 76 new or added lines in 4 files covered. (100.0%)
5 existing lines in 3 files now uncovered.116732 of 126576 relevant lines covered (92.22%)
1.84 hits per line
| Lines | Coverage | ∆ | File |
|---|---|---|---|
| 2 |
86.29 |
-0.18% | chia/full_node/full_node_api.py |
| 2 |
83.86 |
0.11% | chia/full_node/full_node.py |
| 1 |
93.84 |
0.0% | chia/_tests/simulation/test_simulation.py |
| ID | Job ID | Ran | Files | Coverage | |
|---|---|---|---|---|---|
| 1 | 32417539713.1 | 1880 |
90.2 |
GitHub Action Run |
| Coverage | ∆ | File | Lines | Relevant | Covered | Missed | Hits/Line | Branch Hits | Branch Misses |
|---|