Skip to content

Commit 1116561

Browse files
committed
Port delete_unconfirmed_transactions
1 parent f4945e9 commit 1116561

File tree

7 files changed

+26
-14
lines changed

7 files changed

+26
-14
lines changed

chia/_tests/cmds/wallet/test_wallet.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@
4545
CancelOfferResponse,
4646
CATSpendResponse,
4747
CreateOfferForIDsResponse,
48+
DeleteUnconfirmedTransactions,
4849
FungibleAsset,
4950
GetHeightInfoResponse,
5051
GetNextAddress,
@@ -571,8 +572,8 @@ def test_del_unconfirmed_tx(capsys: object, get_test_cli_clients: tuple[TestRpcC
571572

572573
# set RPC Client
573574
class UnconfirmedTxRpcClient(TestWalletRpcClient):
574-
async def delete_unconfirmed_transactions(self, wallet_id: int) -> None:
575-
self.add_to_log("delete_unconfirmed_transactions", (wallet_id,))
575+
async def delete_unconfirmed_transactions(self, request: DeleteUnconfirmedTransactions) -> None:
576+
self.add_to_log("delete_unconfirmed_transactions", (request.wallet_id,))
576577

577578
inst_rpc_client = UnconfirmedTxRpcClient()
578579
test_rpc_clients.wallet_rpc_client = inst_rpc_client

chia/_tests/pools/test_pool_rpc.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
from chia.wallet.util.wallet_types import WalletType
4242
from chia.wallet.wallet_node import WalletNode
4343
from chia.wallet.wallet_request_types import (
44+
DeleteUnconfirmedTransactions,
4445
GetTransactions,
4546
GetWalletBalance,
4647
GetWallets,
@@ -463,7 +464,7 @@ async def pw_created(check_wallet_id: int) -> bool:
463464
def mempool_empty() -> bool:
464465
return full_node_api.full_node.mempool_manager.mempool.size() == 0
465466

466-
await client.delete_unconfirmed_transactions(1)
467+
await client.delete_unconfirmed_transactions(DeleteUnconfirmedTransactions(uint32(1)))
467468
await full_node_api.process_all_wallet_transactions(wallet=wallet)
468469
await full_node_api.wait_for_wallet_synced(wallet_node=wallet_node, timeout=20)
469470

chia/_tests/wallet/rpc/test_wallet_rpc.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,7 @@
108108
CombineCoins,
109109
DefaultCAT,
110110
DeleteKey,
111+
DeleteUnconfirmedTransactions,
111112
DIDCreateBackupFile,
112113
DIDGetDID,
113114
DIDGetMetadata,
@@ -2169,7 +2170,7 @@ async def test_key_and_address_endpoints(wallet_rpc_environment: WalletRpcTestEn
21692170

21702171
await time_out_assert(20, tx_in_mempool, True, client, created_tx.name)
21712172
assert len(await wallet.wallet_state_manager.tx_store.get_unconfirmed_for_wallet(1)) == 1
2172-
await client.delete_unconfirmed_transactions(1)
2173+
await client.delete_unconfirmed_transactions(DeleteUnconfirmedTransactions(uint32(1)))
21732174
assert len(await wallet.wallet_state_manager.tx_store.get_unconfirmed_for_wallet(1)) == 0
21742175

21752176
sk_resp = await client.get_private_key(GetPrivateKey(pks[0]))

chia/cmds/wallet_funcs.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@
4545
from chia.wallet.wallet_coin_store import GetCoinRecords
4646
from chia.wallet.wallet_request_types import (
4747
CATSpendResponse,
48+
DeleteUnconfirmedTransactions,
4849
DIDFindLostDID,
4950
DIDGetDID,
5051
DIDGetInfo,
@@ -425,7 +426,7 @@ async def delete_unconfirmed_transactions(
425426
root_path: pathlib.Path, wallet_rpc_port: Optional[int], fp: Optional[int], wallet_id: int
426427
) -> None:
427428
async with get_wallet_client(root_path, wallet_rpc_port, fp) as (wallet_client, fingerprint, _):
428-
await wallet_client.delete_unconfirmed_transactions(wallet_id)
429+
await wallet_client.delete_unconfirmed_transactions(DeleteUnconfirmedTransactions(uint32(wallet_id)))
429430
print(f"Successfully deleted all unconfirmed transactions for wallet id {wallet_id} on key {fingerprint}")
430431

431432

chia/wallet/wallet_request_types.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -427,6 +427,12 @@ class GetNextAddressResponse(Streamable):
427427
address: str
428428

429429

430+
@streamable
431+
@dataclass(frozen=True)
432+
class DeleteUnconfirmedTransactions(Streamable):
433+
wallet_id: uint32
434+
435+
430436
@streamable
431437
@dataclass(frozen=True)
432438
class GetOffersCountResponse(Streamable):

chia/wallet/wallet_rpc_api.py

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,7 @@
119119
CreateNewDL,
120120
CreateNewDLResponse,
121121
DeleteKey,
122+
DeleteUnconfirmedTransactions,
122123
DIDCreateBackupFile,
123124
DIDCreateBackupFileResponse,
124125
DIDFindLostDID,
@@ -1714,20 +1715,20 @@ async def spend_clawback_coins(
17141715
"transactions": None, # tx_endpoint wrapper will take care of this
17151716
}
17161717

1717-
async def delete_unconfirmed_transactions(self, request: dict[str, Any]) -> EndpointResult:
1718-
wallet_id = uint32(request["wallet_id"])
1719-
if wallet_id not in self.service.wallet_state_manager.wallets:
1720-
raise ValueError(f"Wallet id {wallet_id} does not exist")
1718+
@marshal
1719+
async def delete_unconfirmed_transactions(self, request: DeleteUnconfirmedTransactions) -> Empty:
1720+
if request.wallet_id not in self.service.wallet_state_manager.wallets:
1721+
raise ValueError(f"Wallet id {request.wallet_id} does not exist")
17211722
if await self.service.wallet_state_manager.synced() is False:
17221723
raise ValueError("Wallet needs to be fully synced.")
17231724

17241725
async with self.service.wallet_state_manager.db_wrapper.writer():
1725-
await self.service.wallet_state_manager.tx_store.delete_unconfirmed_transactions(wallet_id)
1726-
wallet = self.service.wallet_state_manager.wallets[wallet_id]
1726+
await self.service.wallet_state_manager.tx_store.delete_unconfirmed_transactions(request.wallet_id)
1727+
wallet = self.service.wallet_state_manager.wallets[request.wallet_id]
17271728
if wallet.type() == WalletType.POOLING_WALLET.value:
17281729
assert isinstance(wallet, PoolWallet)
17291730
wallet.target_state = None
1730-
return {}
1731+
return Empty()
17311732

17321733
async def select_coins(
17331734
self,

chia/wallet/wallet_rpc_client.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
CreateOfferForIDsResponse,
3737
CreateSignedTransactionsResponse,
3838
DeleteKey,
39+
DeleteUnconfirmedTransactions,
3940
DIDCreateBackupFile,
4041
DIDCreateBackupFileResponse,
4142
DIDFindLostDID,
@@ -365,8 +366,8 @@ async def spend_clawback_coins(
365366
response = await self.fetch("spend_clawback_coins", request)
366367
return response
367368

368-
async def delete_unconfirmed_transactions(self, wallet_id: int) -> None:
369-
await self.fetch("delete_unconfirmed_transactions", {"wallet_id": wallet_id})
369+
async def delete_unconfirmed_transactions(self, request: DeleteUnconfirmedTransactions) -> None:
370+
await self.fetch("delete_unconfirmed_transactions", request.to_json_dict())
370371

371372
async def get_current_derivation_index(self) -> str:
372373
response = await self.fetch("get_current_derivation_index", {})

0 commit comments

Comments
 (0)