Junaidb commited on
Commit
bdb583d
·
verified ·
1 Parent(s): 1ef6a10

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +27 -0
app.py CHANGED
@@ -56,4 +56,31 @@ async def relay_txn(payload: dict):
56
 
57
 
58
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
59
 
 
56
 
57
 
58
 
59
+ @app.post("/sign-message")
60
+ async def sign_message(payload: dict):
61
+ message = bytes(payload["message"])
62
+
63
+ # 1️⃣ verify quantum proof (same as your txn logic)
64
+ proof = base58.b58decode(payload["winternitz_proof"])
65
+ anchor = base58.b58decode(payload["anchor"])
66
+ lap = payload["lap"]
67
+
68
+ check = proof
69
+ for _ in range(lap):
70
+ check = hashlib.sha256(check).digest()
71
+
72
+ if check != anchor:
73
+ return {"success": False, "error": "Quantum auth failed"}
74
+
75
+ # 2️⃣ server signs message hash
76
+ msg_hash = hashlib.sha256(message).digest()
77
+
78
+ server_sig = SERVER_KEY.sign_message(msg_hash)
79
+
80
+ return {
81
+ "success": True,
82
+ "server_signature": base58.b58encode(bytes(server_sig)).decode()
83
+ }
84
+
85
+
86