feat(deviant.x): /wallet/ download landing page
Dedicated hub at deviant.x/wallet/ (Sia-hosted, mirrored on silentmode.st/apps/deviant/wallet/) with APK + PWA install cards, live manifest fetch for SHA-256 + size + published date, "what's in it" summary, and a chipnet warning. Picked /wallet over /dl for SEO (keyword alignment with "deviant wallet" searches), content-hub potential (room for /wallet/ios/, /wallet/docs/), and consistency with the rest of the site's word paths (/potidaea/, /artemision/, /katalogos/). APK + manifest stay at silentmode.st (fast HTTP, 32 MB per release is expensive on Sia); the download page uses absolute URLs so clicks resolve the same whether the HTML was served from Sia or silentmode.st. Template preserved at Parameters/webfiles/deviant_wallet_download.html so future updates have a tracked source. See snapshots/0277-wallet-download-page-deviant-x-wallet.md. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
parent
0a9c768001
commit
600f4e7873
3 changed files with 380 additions and 2 deletions
316
Parameters/webfiles/deviant_wallet_download.html
Normal file
316
Parameters/webfiles/deviant_wallet_download.html
Normal file
|
|
@ -0,0 +1,316 @@
|
|||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1">
|
||||
<title>Deviant Wallet — download</title>
|
||||
<meta name="description" content="Download the Deviant wallet — a chipnet-first BCH wallet with ASM/Potidaea swaps, Anthemus DEX, Agora, BNS resolution, and multisig cosign. APK, PWA, source.">
|
||||
<link rel="icon" href="https://silentmode.st/deviant/brand/icon/favicon.svg" type="image/svg+xml">
|
||||
<link rel="canonical" href="https://deviant.x/wallet/">
|
||||
<meta property="og:title" content="Deviant Wallet">
|
||||
<meta property="og:description" content="Chipnet-first Bitcoin Cash wallet. APK, PWA, source — all on deviant.x.">
|
||||
<meta property="og:image" content="https://silentmode.st/deviant/brand/source/exports/icon-512.png">
|
||||
<meta property="og:url" content="https://deviant.x/wallet/">
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,300;9..144,400;9..144,500;9..144,600&family=DM+Sans:wght@400;500;600;700&family=DM+Mono:wght@400;500&display=swap">
|
||||
|
||||
<style>
|
||||
:root {
|
||||
--sky-deep: #050810;
|
||||
--sky-mid: #0a0f1c;
|
||||
--sky-rim: #131a2a;
|
||||
--ink-soft: #b8c2d4;
|
||||
--ink: #d6dde9;
|
||||
--ink-bright: #f1f4fa;
|
||||
--muted: #6a7488;
|
||||
--acid: #d6ff3d;
|
||||
--acid-glow: rgba(214, 255, 61, 0.55);
|
||||
--acid-halo: rgba(214, 255, 61, 0.22);
|
||||
--acid-dim: rgba(214, 255, 61, 0.08);
|
||||
--card: rgba(255, 255, 255, 0.04);
|
||||
--card-border: rgba(255, 255, 255, 0.08);
|
||||
}
|
||||
|
||||
* { box-sizing: border-box; margin: 0; padding: 0; }
|
||||
html { scroll-behavior: smooth; }
|
||||
body {
|
||||
background: radial-gradient(ellipse at top, var(--sky-rim) 0%, transparent 60%),
|
||||
radial-gradient(ellipse at bottom right, var(--sky-mid) 0%, transparent 50%),
|
||||
var(--sky-deep);
|
||||
background-attachment: fixed;
|
||||
color: var(--ink);
|
||||
font-family: 'Fraunces', Georgia, serif;
|
||||
font-weight: 400;
|
||||
min-height: 100vh;
|
||||
overflow-x: hidden;
|
||||
padding: 32px 20px 80px;
|
||||
}
|
||||
a { color: var(--acid); text-decoration: none; }
|
||||
a:hover { text-decoration: underline; }
|
||||
|
||||
.wrap { max-width: 820px; margin: 0 auto; }
|
||||
|
||||
nav.top {
|
||||
display: flex; justify-content: space-between; align-items: center;
|
||||
margin-bottom: 48px; font-family: 'DM Sans', sans-serif; font-size: 14px;
|
||||
}
|
||||
nav.top .brand {
|
||||
display: inline-flex; align-items: center; gap: 10px;
|
||||
color: var(--ink-bright); font-weight: 500;
|
||||
}
|
||||
nav.top .brand img { width: 28px; height: 28px; }
|
||||
nav.top .links a { color: var(--ink-soft); margin-left: 20px; }
|
||||
nav.top .links a:hover { color: var(--acid); text-decoration: none; }
|
||||
|
||||
header.hero { text-align: center; padding: 20px 0 44px; }
|
||||
header.hero .mark { width: 96px; height: 96px; margin: 0 auto 20px; display: block; }
|
||||
header.hero h1 {
|
||||
font-family: 'Fraunces', serif; font-weight: 400;
|
||||
font-size: clamp(2rem, 6vw, 3.4rem); letter-spacing: -0.02em;
|
||||
color: var(--ink-bright);
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
header.hero h1 .g { color: var(--acid); }
|
||||
header.hero p.lede {
|
||||
color: var(--ink-soft); font-size: 1.1rem; max-width: 560px;
|
||||
margin: 0 auto; line-height: 1.6;
|
||||
}
|
||||
.version-pill {
|
||||
display: inline-flex; align-items: center; gap: 8px;
|
||||
margin-top: 20px; padding: 6px 14px; border-radius: 999px;
|
||||
background: var(--acid-dim); border: 1px solid var(--acid-halo);
|
||||
font-family: 'DM Mono', monospace; font-size: 12px; color: var(--acid);
|
||||
}
|
||||
.version-pill .dot { width: 6px; height: 6px; border-radius: 50%; background: var(--acid); box-shadow: 0 0 8px var(--acid-glow); }
|
||||
|
||||
.install-grid {
|
||||
display: grid; grid-template-columns: 1fr 1fr; gap: 16px;
|
||||
margin-top: 32px;
|
||||
}
|
||||
@media (max-width: 640px) { .install-grid { grid-template-columns: 1fr; } }
|
||||
|
||||
.install {
|
||||
background: var(--card); border: 1px solid var(--card-border);
|
||||
border-radius: 14px; padding: 22px 20px;
|
||||
transition: border-color 0.15s, transform 0.15s;
|
||||
}
|
||||
.install:hover { border-color: var(--acid-halo); transform: translateY(-1px); }
|
||||
.install .platform {
|
||||
font-family: 'DM Sans', sans-serif; font-size: 11px; letter-spacing: 0.1em;
|
||||
text-transform: uppercase; color: var(--muted); margin-bottom: 8px;
|
||||
}
|
||||
.install h2 {
|
||||
font-family: 'Fraunces', serif; font-weight: 500; font-size: 1.4rem;
|
||||
color: var(--ink-bright); margin-bottom: 6px;
|
||||
}
|
||||
.install p { font-size: 14px; color: var(--ink-soft); line-height: 1.6; margin-bottom: 16px; }
|
||||
.install .btn {
|
||||
display: inline-flex; align-items: center; gap: 8px;
|
||||
padding: 10px 18px; border-radius: 8px;
|
||||
font-family: 'DM Sans', sans-serif; font-weight: 600; font-size: 14px;
|
||||
background: var(--acid); color: #0b0e14;
|
||||
text-decoration: none;
|
||||
}
|
||||
.install .btn:hover { opacity: 0.9; text-decoration: none; }
|
||||
.install .btn.ghost {
|
||||
background: transparent; color: var(--acid);
|
||||
border: 1px solid var(--acid-halo);
|
||||
}
|
||||
.install .meta {
|
||||
display: flex; flex-wrap: wrap; gap: 10px;
|
||||
margin-top: 10px; font-family: 'DM Mono', monospace;
|
||||
font-size: 11px; color: var(--muted);
|
||||
}
|
||||
.install .meta code {
|
||||
background: rgba(0,0,0,0.3); padding: 2px 6px; border-radius: 4px;
|
||||
color: var(--ink-soft);
|
||||
word-break: break-all;
|
||||
}
|
||||
|
||||
section.what {
|
||||
margin-top: 56px; padding: 28px;
|
||||
background: var(--card); border: 1px solid var(--card-border);
|
||||
border-radius: 14px;
|
||||
}
|
||||
section.what h3 {
|
||||
font-family: 'Fraunces', serif; font-weight: 500; font-size: 1.4rem;
|
||||
color: var(--ink-bright); margin-bottom: 14px;
|
||||
}
|
||||
section.what ul { list-style: none; padding: 0; }
|
||||
section.what li {
|
||||
padding: 6px 0; color: var(--ink-soft); font-size: 15px; line-height: 1.6;
|
||||
display: flex; gap: 10px; align-items: baseline;
|
||||
}
|
||||
section.what li::before {
|
||||
content: "⌁"; color: var(--acid); font-size: 14px; flex: none;
|
||||
}
|
||||
section.what li b { color: var(--ink-bright); font-weight: 500; }
|
||||
|
||||
section.safety {
|
||||
margin-top: 24px; padding: 20px 24px;
|
||||
background: rgba(255, 165, 0, 0.04);
|
||||
border: 1px solid rgba(255, 165, 0, 0.18);
|
||||
border-radius: 12px;
|
||||
font-size: 13.5px; line-height: 1.6; color: var(--ink-soft);
|
||||
}
|
||||
section.safety b { color: #ffb74d; font-weight: 500; }
|
||||
|
||||
section.history {
|
||||
margin-top: 40px;
|
||||
}
|
||||
section.history h3 {
|
||||
font-family: 'Fraunces', serif; font-weight: 500; font-size: 1.2rem;
|
||||
color: var(--ink-bright); margin-bottom: 14px;
|
||||
}
|
||||
section.history .rel {
|
||||
display: flex; justify-content: space-between; align-items: baseline;
|
||||
padding: 12px 0; border-top: 1px solid var(--card-border);
|
||||
font-family: 'DM Sans', sans-serif; font-size: 14px;
|
||||
}
|
||||
section.history .rel .ver { color: var(--acid); font-weight: 500; }
|
||||
section.history .rel .date { color: var(--muted); font-size: 12px; }
|
||||
section.history .rel a { color: var(--ink-soft); font-size: 12px; }
|
||||
|
||||
footer {
|
||||
margin-top: 72px; padding-top: 24px;
|
||||
border-top: 1px solid var(--card-border);
|
||||
display: flex; justify-content: space-between; align-items: center;
|
||||
font-family: 'DM Sans', sans-serif; font-size: 12px; color: var(--muted);
|
||||
}
|
||||
footer a { color: var(--muted); }
|
||||
footer a:hover { color: var(--acid); }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="wrap">
|
||||
|
||||
<nav class="top">
|
||||
<a class="brand" href="https://silentmode.st/deviant/">
|
||||
<img src="https://silentmode.st/deviant/brand/icon/icon-512.svg" alt="">
|
||||
<span>Deviant</span>
|
||||
</a>
|
||||
<div class="links">
|
||||
<a href="https://silentmode.st/deviant/">Home</a>
|
||||
<a href="https://silentmode.st/deviant/potidaea/">Potidaea</a>
|
||||
<a href="https://silentmode.st/deviant/anthemus/">Anthemus</a>
|
||||
<a href="https://code.silentmode.st/silentmode/deviant">Source</a>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<header class="hero">
|
||||
<img class="mark" src="https://silentmode.st/deviant/brand/icon/icon-512.svg" alt="Deviant">
|
||||
<h1>Deviant <span class="g">Wallet</span></h1>
|
||||
<p class="lede">
|
||||
A chipnet-first Bitcoin Cash wallet. Native ASM swaps via Potidaea, the Anthemus DEX, Agora liquidity, BNS resolution,
|
||||
and interoperable multisig cosign.
|
||||
</p>
|
||||
<div class="version-pill">
|
||||
<span class="dot"></span>
|
||||
<span id="version-text">v0.1.2 · beta · chipnet</span>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<!-- INSTALL -->
|
||||
<div class="install-grid">
|
||||
|
||||
<div class="install">
|
||||
<div class="platform">Android</div>
|
||||
<h2>APK</h2>
|
||||
<p>Debug build. Direct install — enable "Install from unknown sources" on first launch.</p>
|
||||
<a class="btn" id="apk-link" href="https://silentmode.st/apps/deviant/releases/deviant-wallet-latest.apk" download>⬇ Download APK</a>
|
||||
<div class="meta">
|
||||
<span>SHA-256:</span><code id="apk-sha">loading…</code>
|
||||
</div>
|
||||
<div class="meta">
|
||||
<span>Size:</span><code id="apk-size">—</code>
|
||||
<span>Updated:</span><code id="apk-date">—</code>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="install">
|
||||
<div class="platform">Browser</div>
|
||||
<h2>Web app</h2>
|
||||
<p>Progressive web app — open it, add to home screen, use. No install, auto-updates.</p>
|
||||
<a class="btn ghost" href="https://silentmode.st/apps/deviant/">↗ Open the PWA</a>
|
||||
<div class="meta">
|
||||
<span>Works offline after first load.</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- SAFETY -->
|
||||
<section class="safety">
|
||||
<b>Chipnet only.</b> Mainnet is selectable but this is pre-release software — fund it with chipnet test coins only.
|
||||
Keys never leave the device; the whole stack is open-source and reproducible from the forge.
|
||||
</section>
|
||||
|
||||
<!-- WHAT -->
|
||||
<section class="what">
|
||||
<h3>What's in it</h3>
|
||||
<ul>
|
||||
<li><b>Native BCH wallet.</b> Send, Receive, Sweep, Consolidate with the Aegis 600-coin cap and largest-first selection.</li>
|
||||
<li><b>Potidaea · ASM swaps.</b> Counterparty-free BCH ↔ MBA via covenant pricing — no order book, no slippage, infinite depth at the mark.</li>
|
||||
<li><b>Anthemus DEX.</b> P2P swaps for CashTokens with pair discovery.</li>
|
||||
<li><b>Agora.</b> Public order book across the installed asset set.</li>
|
||||
<li><b>BNS Send.</b> Type <code style="font-family:'DM Mono',monospace;background:rgba(0,0,0,0.3);padding:1px 5px;border-radius:3px">alice.bch</code> or <code style="font-family:'DM Mono',monospace;background:rgba(0,0,0,0.3);padding:1px 5px;border-radius:3px">sirius.x</code> — resolves via Ariadne, broadcasts to the resolved address.</li>
|
||||
<li><b>Multisig cosign.</b> aegis.cosign.v1 inbox over Nostr NIP-59 — spec-interoperable with Aegis wallets.</li>
|
||||
<li><b>WalletConnect.</b> Both WC (v2) and WizardConnect for BCH-native dApps.</li>
|
||||
<li><b>Multi-account keystore.</b> Many wallets under one PIN (the Bitcoin.com model), independent + HD-account kinds.</li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<!-- HISTORY -->
|
||||
<section class="history">
|
||||
<h3>Release history</h3>
|
||||
<div class="rel">
|
||||
<div><span class="ver">v0.1.2</span> · <span>BNS Send, multisig inbox, 600-coin cap</span></div>
|
||||
<div><span class="date">2026-10-23</span></div>
|
||||
</div>
|
||||
<div class="rel">
|
||||
<div><span class="ver">v0.1.1</span> · <span>Dedicated Add-wallet flow, auto-update, beta banner retired</span></div>
|
||||
<div><span class="date">2026-10-23</span></div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<footer>
|
||||
<div>
|
||||
<a href="https://code.silentmode.st/silentmode/deviant">Source</a>
|
||||
·
|
||||
<a href="https://silentmode.st/deviant/">deviant.x</a>
|
||||
·
|
||||
<a href="https://silentmode.st/apps/deviant/releases/latest.json">manifest</a>
|
||||
</div>
|
||||
<div>MIT · deviant.x</div>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
// Fetch the live manifest and populate the APK hash + size + timestamp so this
|
||||
// page always reflects the current release without a redeploy. The APK link
|
||||
// itself points at `deviant-wallet-latest.apk` (symlink), so even an older
|
||||
// cached page still downloads the right file.
|
||||
(async () => {
|
||||
try {
|
||||
const r = await fetch('https://silentmode.st/apps/deviant/releases/latest.json?' + Math.floor(Date.now()/60000), { cache: 'no-store' });
|
||||
if (!r.ok) return;
|
||||
const m = await r.json();
|
||||
if (m.version) document.getElementById('version-text').textContent =
|
||||
`v${m.version} · ${m.channel || 'beta'} · chipnet`;
|
||||
if (m.apk?.sha256) document.getElementById('apk-sha').textContent = m.apk.sha256;
|
||||
if (m.apk?.bytes) document.getElementById('apk-size').textContent =
|
||||
(m.apk.bytes / (1024 * 1024)).toFixed(1) + ' MB';
|
||||
if (m.publishedAt) document.getElementById('apk-date').textContent =
|
||||
m.publishedAt.slice(0, 10);
|
||||
if (m.apk?.url) {
|
||||
// Use the versioned URL from the manifest so share links are stable.
|
||||
document.getElementById('apk-link').href = m.apk.url;
|
||||
}
|
||||
} catch {}
|
||||
})();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
60
snapshots/0277-wallet-download-page-deviant-x-wallet.md
Normal file
60
snapshots/0277-wallet-download-page-deviant-x-wallet.md
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
---
|
||||
domain: wallet
|
||||
summary: deviant.x/wallet download landing page — Sia-hosted + silentmode.st mirror, live manifest fetch.
|
||||
tags: wallet, deviant.x, download, sia, bns, seo, release-channel
|
||||
---
|
||||
|
||||
# 0277 — deviant.x/wallet download landing
|
||||
|
||||
New marketing surface at `deviant.x/wallet/` collecting every install path in
|
||||
one place.
|
||||
|
||||
## Why `/wallet` not `/dl`
|
||||
|
||||
Picked `/wallet` over `/dl` for SEO + hub potential:
|
||||
|
||||
- **Keyword alignment** — "deviant wallet" searches match the URL directly.
|
||||
- **Content hub** — room to grow with `/wallet/ios/`, `/wallet/docs/`, release
|
||||
notes, without reserving the whole site under a cryptic prefix.
|
||||
- **Site consistency** — deviant.x already uses word paths (`/potidaea/`,
|
||||
`/artemision/`, `/katalogos/`). `/dl` would be the odd one out.
|
||||
|
||||
## Where it's hosted
|
||||
|
||||
- **Primary (BNS)**: `s3://bns/deviant.x/wallet/index.html` (Sia), served via
|
||||
`navigate.st/bns/deviant.x/wallet/` → the BNS gateway and any native BNS
|
||||
resolver (Theseus, Ariadne's Thread) answer with the Sia blob.
|
||||
- **Mirror**: `silentmode.st/apps/deviant/wallet/` (nginx), same content.
|
||||
|
||||
APK + manifest stay at `silentmode.st/apps/deviant/releases/...` — 32 MB on
|
||||
Sia per release would be expensive, and the fast HTTP path is already
|
||||
proven. The download page uses absolute URLs so clicks work the same
|
||||
whether the HTML was served from Sia or from silentmode.st.
|
||||
|
||||
## Page shape
|
||||
|
||||
- Hero with the brand mark + a live version pill fed by `/releases/latest.json`
|
||||
(shows current version · channel · network).
|
||||
- Two install cards:
|
||||
- **Android APK** — direct download, SHA-256 + size + published date fetched
|
||||
live from the manifest so the page never shows stale integrity data.
|
||||
- **Web app (PWA)** — opens the Capacitor shell served from
|
||||
`/apps/deviant/`.
|
||||
- "What's in it" list: BCH, Potidaea ASM, Anthemus, Agora, BNS Send, multisig
|
||||
cosign, WalletConnect, multi-account keystore.
|
||||
- Chipnet warning + MIT/open-source footer.
|
||||
- Release history (static — rewrite with each snapshot).
|
||||
|
||||
Design mirrors the main deviant.x marketing site (Fraunces serif, acid-green
|
||||
accent, dark theme) so the download page doesn't look like a different site.
|
||||
|
||||
Template saved to [Parameters/webfiles/deviant_wallet_download.html](Parameters/webfiles/deviant_wallet_download.html)
|
||||
for traceability.
|
||||
|
||||
## How updates flow
|
||||
|
||||
Each release pushes a new `latest.json` to
|
||||
`silentmode.st/apps/deviant/releases/`. The download page's JS fetches it on
|
||||
load, so the SHA-256, size, and version pill always match the latest APK
|
||||
without re-uploading the HTML to Sia. Only the Release history block below
|
||||
the fold needs a manual tap on new releases.
|
||||
|
|
@ -10,7 +10,7 @@
|
|||
> Duplicate snapshot numbers exist (0018, 0019, 0022, 0027, 0053, 0054, 0057, 0062, 0083, 0084,
|
||||
> 0144, 0145, 0153, 0164) — they are distinct files, disambiguated below by slug.
|
||||
|
||||
_326 snapshots · 326 tagged · 8 domains · regenerate after adding one._
|
||||
_327 snapshots · 327 tagged · 8 domains · regenerate after adding one._
|
||||
|
||||
## Quick-find — all snapshots (Ctrl-F by №, domain, tag, or word)
|
||||
|
||||
|
|
@ -338,12 +338,13 @@ _326 snapshots · 326 tagged · 8 domains · regenerate after adding one._
|
|||
| [0276](0276-potidaea-chart-tab-plan.md) | wallet | potidaea ui chart oracle price-history plan | Design for a Potidaea Chart tab — historical price chart of any asset in USD, powered by a lean off-chain oracle history + on-chain covenant rate for MBAs |
|
||||
| [0276](0276-wallet-bns-multisig-consolidate-cap.md) | wallet | wallet bns multisig aegis cosign nostr consolidation sweep 0.1.2 | BNS Send targets (alice.bch), Multisig cosign inbox (aegis.cosign.v1 interop), 600-coin cap on Sweep + Consolidate. |
|
||||
| [0277](0277-potidaea-orbital-swap-retry-adaptation.md) | asm | asm potidaea orbital-swap retry zero-contention chipnet wallet-parity | Potidaea dApp (navigate.st/bns/potidaea.asm) adopts the tier-4 client-side optimistic chain + retry pattern shipped in the beta wallet AsmCore (snapshot 0272): claimViaWc / claimViaLocalSigner / claimViaLocalSignerShare wrapped with silent re-broadcast on txn-mempool-conflict, retry-status banner in pendingSheet, resolved-via-N badge on doneSheet. tsc clean, dApp built. |
|
||||
| [0277](0277-wallet-download-page-deviant-x-wallet.md) | wallet | wallet deviant.x download sia bns seo release-channel | deviant.x/wallet download landing page — Sia-hosted + silentmode.st mirror, live manifest fetch. |
|
||||
| [0278](0278-asm-sequencer-service-drafted-and-proved.md) | asm | asm potidaea orbital-swap sequencer tier-2 zero-contention chipnet proof daemon relay | Tier-2 ASM sequencer service drafted as a coordinator-funded HTTP relay + tested end-to-end on chipnet. 5 simultaneous /claim requests → 5/5 accepted with the daemon-assigned order forming a single reservoir chain (each tx spent the previous tx's reservoir output). Complements the tier-4 wallet retry from 0272/0275/0277 by adding the low-latency relay path with the wallet retry as fallback. |
|
||||
| [0279](0279-asm-sequencer-full-stack-userfunded-wallet-wire-systemd.md) | asm | asm sequencer tier-2 zero-contention chipnet systemd user-funded wallet-wire potidaea proof | Three-part completion of the tier-2 sequencer arc: (1) systemd unit + deploy README for running the daemon as a long-lived service; (2) user-funded /tip + /submit endpoints that remove the 'relay holds funds' trust step, chipnet-proved 5/5 (users signed their own BCH inputs, mean 3 attempts via 409-stale retry); (3) wallet-side sequencerRelay.ts client in both shells/app and design/potidaea with probe-first-then-commit race-free dispatch. Plus a chipnet-fund-from-h.mjs helper that topped up A/C/E/F/G from wallet H. |
|
||||
| [0280](0280-asm-sequencer-settings-ui-toggle.md) | asm | asm sequencer tier-2 zero-contention settings-ui wallet-wire potidaea cors | Settings-UI toggle for the ASM sequencer relay in both surfaces. Beta wallet gets a new 'ASM sequencer relay' group in SettingsScreen with URL input + live reachability probe. Potidaea's dynamic walletMenu gains the same input + status chip (drafted, not yet committed — needs the DEA session's co-mingled main.ts/app.html changes to land first). Server gained permissive CORS so browser probes succeed. Browser-verified reachable↔unreachable transitions against a live chipnet daemon. |
|
||||
| [0281](0281-wallet-potidaea-balance-flash-overlay-removed.md) | wallet | potidaea bug-fix cleanup balance-paint theseus | Potidaea's "0.82 BCH flash → empty" balance race fixed by removing the pending-swap optimistic overlay layer (−251 lines) and the wc.on('idle') auto-wipe. |
|
||||
|
||||
## Wallet UI (shells/app) `(106)`
|
||||
## Wallet UI (shells/app) `(107)`
|
||||
|
||||
- [0023-wallet-display-layer](0023-wallet-display-layer.md) — wallet display layer — D-1/D-2/D-4/D-6 surfaced in one structure · _wallet_
|
||||
- [0024-wallet-send-import-d5](0024-wallet-send-import-d5.md) — Phase 2 Step 5 — tier-B send + import flows with D-5 · _wallet_
|
||||
|
|
@ -450,6 +451,7 @@ _326 snapshots · 326 tagged · 8 domains · regenerate after adding one._
|
|||
- [0275-wallet-auto-update-published](0275-wallet-auto-update-published.md) — Auto-update banner on-launch + published release channel on deviant.x (manifest + APK). · _wallet, auto-update, release, deviant.x, capacitor_
|
||||
- [0276-potidaea-chart-tab-plan](0276-potidaea-chart-tab-plan.md) — Design for a Potidaea Chart tab — historical price chart of any asset in USD, powered by a lean off-chain oracle history + on-chain covenant rate for MBAs · _potidaea, ui, chart, oracle, price-history, plan_
|
||||
- [0276-wallet-bns-multisig-consolidate-cap](0276-wallet-bns-multisig-consolidate-cap.md) — BNS Send targets (alice.bch), Multisig cosign inbox (aegis.cosign.v1 interop), 600-coin cap on Sweep + Consolidate. · _wallet, bns, multisig, aegis, cosign, nostr, consolidation, sweep, 0.1.2_
|
||||
- [0277-wallet-download-page-deviant-x-wallet](0277-wallet-download-page-deviant-x-wallet.md) — deviant.x/wallet download landing page — Sia-hosted + silentmode.st mirror, live manifest fetch. · _wallet, deviant.x, download, sia, bns, seo, release-channel_
|
||||
- [0281-wallet-potidaea-balance-flash-overlay-removed](0281-wallet-potidaea-balance-flash-overlay-removed.md) — Potidaea's "0.82 BCH flash → empty" balance race fixed by removing the pending-swap optimistic overlay layer (−251 lines) and the wc.on('idle') auto-wipe. · _potidaea, bug-fix, cleanup, balance-paint, theseus_
|
||||
|
||||
## ASM / Orbital Swap / Potidaea / Anthemus `(45)`
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue