Syrius Extension Wallet v0.3.6

Project Name: Syrius Extension Wallet 0.3.6: hardening, operator modes, mobile apps

Description: The first proposal, Syrius Extension Wallet: refactoring, reskinning, and new features, covered 0.1.10 to 0.3.2. This one covers what came after it, 0.3.2 to 0.3.6, all delivered and released:

  • The dApp boundary was hardened by two outside reviewers, in 36 pull requests. An approval is now single use, tied to the page, account and block it was shown for.
  • A send can no longer be signed twice. Every block is recorded before it leaves, and an interrupted one is looked up and resent as the same bytes.
  • Pillar, Sentinel, Accelerator-Z, token and spork operations are in the wallet. Two of them were Phase 2 candidates in the first proposal.
  • The same wallet is an Android app, an iOS app and a Firefox add-on, built and published by CI beside the Chrome ZIP.

Why it matters for Zenon: every web dApp on Zenon signs through this extension, so its approval screen is the last check between a page and a user’s funds. And a Pillar operator can now register, collect and vote from a browser or a phone, without desktop Syrius.

URL:

Team:

  • sol: design, implementation, integration of every contributor PR, releases
  • @0x3639: security review. 12 pull requests (#2 to #13, released as 0.3.4) and 4 issues (#38 to #41)
  • edgepillar: review and fixes. 24 pull requests (#14 to #58) and 3 issues, among them #19, which the transaction journal answers

Delivered

0.3.2 (first proposal) 0.3.6
dApp approvals per-origin permission, every signature prompted single use, expiring, bound to the page, the account and the exact block shown; cancelled when the page navigates; every contract argument decoded (#4 to #11)
What a site sees before consent address and chain nothing; afterwards only the node’s host
Approval window abuse unbounded four pending requests per tab, one window per 30 s; sandboxed null origins refused (#40, #39)
Interrupted send outcome unknown, a retry signs a second block recorded before sending, resent as the same bytes, never replaced (#31)
Two sends at once the second is refused or displaces the first take turns per account, across windows
Sending and receiving only while the popup is open in the background while unlocked; incoming transfers received every 30 s
Proof of work one core, no estimate up to four cores, with a countdown; works on all platforms
Operator functions none Pillar (register, update, revoke, rewards), Sentinel, Accelerator-Z (create, phases, vote), Sporks
Tokens list issue with a custom id prefix or suffix, mint, burn, update
Everyday use send, receive, stake, delegate address book, delegate APR and sorting, batch plasma cancel, Zap, dollar value, node stats
Look token-driven design system redesign in dark and light, vendored fonts and icons, no remote assets
Errors raw node output a number and a short description for each
New wallet confirm all 24 words in order confirm three, by position
Updating download the ZIP by hand App updates in place and checks the published checksum
Platforms Chrome and Brave ZIP plus Android APK (signed), iOS IPA (unsigned), Firefox XPI (unsigned)
Mobile none fingerprint or Face ID, QR scan, syrius:// links, syrius://request for other apps
Tests selector check and one dApp end-to-end 39 suites: 32 in Node, 7 in a real browser

Against the first proposal’s Phase 2 list:

Candidate State
Accelerator-Z: browse, vote, create delivered (Pillar mode)
Sentinel support delivered
Bugs reported against 0.3.x delivered; no issue is open
Chrome Web Store and Firefox listings Firefox package builds and works; not listed (see below). Chrome Web Store not updated
P2P / HTLC swaps in the wallet not planned - Ferry is supported
WalletConnect not started
Hardware wallets (Ledger) not started

Funding

Total Requested Funding = 5,000 ZNN and 50,000 QSR, one phase, delivered.

ZNN QSR
sol 3,000 30,000
@0x3639 (security review) 1,000 10,000
edgepillar (review and fixes) 1,000 10,000

Project Duration: 2026-09-08 (0.3.2) to 2026-10-13 (0.3.6), four releases: 0.3.3, 0.3.4, 0.3.5, 0.3.6.

How did you calculate your budget?

  • Scope. 187 commits and 41,976 added lines over 0.3.2, three new platforms, and a security pass by two reviewers.
  • Comparable. The first proposal asked 4,000 ZNN and 40,000 QSR for 0.1.10 to 0.3.2. This is the project cap.

Other Information

Not yet proven:

  • Installing 0.3.6 over 0.3.5, and the APK and IPA on a device. The APK’s signature verifies; the iOS build is unsigned and installs through SideStore or AltStore.
  • The popup fallback for sending and receiving on a real Chromium 112, the oldest the manifest allows.

Risks and dependencies:

  • Mozilla disabled the add-on on AMO as “deceptive or misleading”. An appeal is drafted, offering a new name and ID. Until it is reinstated there is no signed XPI.
  • The 0.3.4 update asks for a new permission, webNavigation. Chrome words it as “Read your browsing history”. It is what lets an approval be cancelled when its page navigates.
  • elliptic has an open low-severity advisory with no patched version.

Previous proposals:

On-chain filing:

Project name (≤30 chars) Funds
Syrius Extension Wallet v0.3.6 5,000 ZNN / 50,000 QSR, one phase