feat: Implement getting pending redeems
All checks were successful
Build Docker / Build Image (push) Successful in 44s

This commit is contained in:
Nathan Woodburn 2025-02-01 11:19:35 +11:00
parent b5c3075fba
commit 7a4300066f
Signed by: nathanwoodburn
GPG Key ID: 203B000478AD0EF1
2 changed files with 26 additions and 5 deletions

View File

@ -600,11 +600,31 @@ def getPendingReveals(account):
pending.append(bid)
return pending
#! TODO
def getPendingRedeems(account):
bids = getBids(account)
domains = getDomains(account,False)
def getPendingRedeems(account,password):
hsw.rpc_selectWallet(account)
hsw.rpc_walletPassphrase(password,10)
tx = hsw.rpc_createREDEEM('','default')
if tx['error']:
return []
pending = []
try:
for output in tx['result']['outputs']:
if output['covenant']['type'] != 5:
continue
if output['covenant']['action'] != "REDEEM":
continue
nameHash = output['covenant']['items'][0]
# Try to get the name from hash
name = hsd.rpc_getNameByHash(nameHash)
if name['error']:
pending.append(nameHash)
else:
pending.append(name['result'])
except:
print("Failed to parse redeems")
return pending
def getPendingRegisters(account):

View File

@ -1489,6 +1489,7 @@ def api_wallet(function):
return jsonify({"error": "Not logged in"})
account = account_module.check_account(request.cookies.get("account"))
password = request.cookies.get("account").split(":")[1]
if not account:
return jsonify({"error": "Invalid account"})
@ -1515,7 +1516,7 @@ def api_wallet(function):
if function == "pendingRegister":
return jsonify({"result": len(account_module.getPendingRegisters(account))})
if function == "pendingRedeem":
return jsonify({"result": len(account_module.getPendingRedeems(account))})
return jsonify({"result": len(account_module.getPendingRedeems(account,password))})
return jsonify({"error": "Invalid function", "result": "Invalid function"}), 400