diff --git a/account.py b/account.py index 29cced2..8c610a8 100644 --- a/account.py +++ b/account.py @@ -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): diff --git a/main.py b/main.py index 81dd365..539637a 100644 --- a/main.py +++ b/main.py @@ -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