feat: Add initial internal node option
All checks were successful
Build Docker / Build Image (push) Successful in 10m29s

This commit is contained in:
2025-08-26 16:44:10 +10:00
parent 4c84bc2bbe
commit 5ff8960b7b
9 changed files with 310 additions and 30 deletions

24
main.py
View File

@@ -1150,14 +1150,13 @@ def settings():
if not os.path.exists(".git"):
return render_template("settings.html", account=account,
hsd_version=account_module.hsdVersion(False),
error=error,success=success,version="Error")
error=error,success=success,version="Error",internal=account_module.HSD_INTERNAL_NODE)
info = gitinfo.get_git_info()
if not info:
return render_template("settings.html", account=account,
hsd_version=account_module.hsdVersion(False),
error=error,success=success,version="Error")
error=error,success=success,version="Error",internal=account_module.HSD_INTERNAL_NODE)
branch = info['refs']
if branch != "main":
@@ -1172,7 +1171,7 @@ def settings():
version += ' (New version available)'
return render_template("settings.html", account=account,
hsd_version=account_module.hsdVersion(False),
error=error,success=success,version=version)
error=error,success=success,version=version,internal=account_module.HSD_INTERNAL_NODE)
@app.route('/settings/<action>')
def settings_action(action):
@@ -1189,19 +1188,21 @@ def settings_action(action):
if 'error' in resp:
return redirect("/settings?error=" + str(resp['error']))
return redirect("/settings?success=Rescan started")
elif action == "resend":
if action == "resend":
resp = account_module.resendTXs()
if 'error' in resp:
return redirect("/settings?error=" + str(resp['error']))
return redirect("/settings?success=Resent transactions")
elif action == "zap":
if action == "zap":
resp = account_module.zapTXs(request.cookies.get("account"))
if type(resp) == dict and 'error' in resp:
return redirect("/settings?error=" + str(resp['error']))
return redirect("/settings?success=Zapped transactions")
elif action == "xpub":
if action == "xpub":
xpub = account_module.getxPub(request.cookies.get("account"))
content = "<br><br>"
content += f"<textarea style='display: none;' id='data' rows='4' cols='50'>{xpub}</textarea>"
@@ -1212,6 +1213,12 @@ def settings_action(action):
title="xPub Key",
content=f"<code>{xpub}</code>{content}")
if action == "restart":
resp = account_module.hsdRestart()
return render_template("message.html", account=account,
title="Restarting",
content="The node is restarting. This may take a minute or two. You can close this window.")
return redirect("/settings?error=Invalid action")
@app.route('/settings/upload', methods=['POST'])
@@ -1259,6 +1266,9 @@ def login():
wallets = account_module.listWallets()
wallets = render.wallets(wallets)
# If there are no wallets redirect to either register or import
if len(wallets) == 0:
return redirect("/welcome")
if 'message' in request.args:
return render_template("login.html",