From c3bc55d37c4e867a4907da47004f0da19f63dc69 Mon Sep 17 00:00:00 2001 From: SatoshiQaziMuhammed Date: Thu, 5 Nov 2026 04:25:23 +0400 Subject: [PATCH] Sign the root over WalletConnect (#83) * Sign the root over WalletConnect Wallet 1.3.0's DApp browser never delivers injected-provider requests, so the page could not get a signature from any installed wallet. WalletConnect is the route installed wallets answer: on the phone the page opens the wallet by its pezkuwiwallet://wc link, elsewhere it shows a code for the wallet to scan, then asks for polkadot_signMessage on payload. Measured over a real session on the 1.3.0 signing code: the signature verifies under the "substrate" context, which is what the thresholds count. The injected provider stays as a second button for wallets where it works. The WalletConnect bundle is built from scripts/root/wc (pinned versions, node build.mjs). * Open the wallet by a fixed link, not the peer's redirect The redirect in a WalletConnect session's peer metadata is supplied by whichever wallet connects, so following it let a connecting peer navigate the signing page anywhere, javascript: included. --- docs/root-signing/index.html | 158 +- docs/root-signing/vendor/walletconnect.js | 95 ++ scripts/root/wc/build.mjs | 15 + scripts/root/wc/entry.js | 10 + scripts/root/wc/package-lock.json | 1843 +++++++++++++++++++++ scripts/root/wc/package.json | 15 + 6 files changed, 2078 insertions(+), 58 deletions(-) create mode 100644 docs/root-signing/vendor/walletconnect.js create mode 100644 scripts/root/wc/build.mjs create mode 100644 scripts/root/wc/entry.js create mode 100644 scripts/root/wc/package-lock.json create mode 100644 scripts/root/wc/package.json diff --git a/docs/root-signing/index.html b/docs/root-signing/index.html index b6d56be..65d4a0a 100644 --- a/docs/root-signing/index.html +++ b/docs/root-signing/index.html @@ -5,7 +5,8 @@ Guhertina mifteya kokê