You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-**Live proposal deserialization** — `proposals/page.tsx` now fetches real vote tallies via `getProposal` on mount; WebSocket `onAccountChange` subscription provides real-time count updates; falls back to BASELINE on RPC error
28
+
-**`/faucet` page** — 2 SOL devnet airdrop via `connection.requestAirdrop`; rate-limit detection with fallback link to faucet.solana.com; linked in Navbar
29
+
-**Realms ecosystem links** — "Open in Realms ↗" in proposals boot context; "View on Realms ↗" in Footer via new `realmAddress` prop; both link to `app.realms.today/dao/{realm}?cluster=devnet`
30
+
-**Escrow state panel on `/lock`** — on wallet connect, checks existing `EscrowAccount` PDA; shows locked amount, multiplier, unlock date, status; unlock button appears when lock expires
31
+
-**`lockTokensEscrow` + `unlockTokensEscrow` + `getEscrowState`** — three new functions in `governanceActions.ts` replacing SPL-Governance deposit with real Anchor escrow CPI
32
+
-**`src/lib/tick_escrow_idl.json`** — Anchor IDL for the tick-escrow program
33
+
-**`TICK_ESCROW_PROGRAM_ID` + `TICK_ESCROW_PROGRAM_ID_BYTES`** in `governance.ts`
34
+
-**`NEXT_PUBLIC_TICK_ESCROW_PROGRAM_ID`** env var added to `.env.local`
35
+
36
+
### Changed
37
+
-`lock/page.tsx` — uses `lockTokensEscrow` (Anchor CPI) instead of `lockTokens` (SPL-Governance deposit); escrow panel added above lock option cards; `hasParams` no longer requires `realm` param (only `mint` needed for escrow)
38
+
-`proposals/page.tsx` — `displayCounts` derived from live on-chain data; `useEffect` x2 (fetch + WebSocket); Realms link in boot context; Footer receives `realmAddress` prop
39
+
-`Footer.tsx` — added `realmAddress?: string` prop; renders Realms link above existing footer text when provided
40
+
-`Navbar.tsx` — added `/faucet` between `/lock` and `/finance`
41
+
-`package.json` — version `1.2.0` → `2.0.0`
42
+
43
+
---
44
+
26
45
## [1.2.0] — 2026-03-01 — Real On-Chain Voting, All Simulations Removed
27
46
28
47
### Added
@@ -119,7 +138,7 @@ Format follows [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
119
138
-`PRIVACY.md` — no data collected, wallet key handling, Vercel hosting disclosure
Copy file name to clipboardExpand all lines: docs/ROADMAP.md
+24-17Lines changed: 24 additions & 17 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -52,29 +52,36 @@ Everything in this phase is built and running at the demo URL.
52
52
53
53
---
54
54
55
-
## Phase 2 — Production Realms Integration
55
+
## Phase 2 — Production Realms Integration ✅ Complete
56
56
57
-
**Timeline:**Month 1–2 post-hackathon
57
+
**Timeline:**2026-03-02 (completed)
58
58
59
59
Phase 1 shipped real on-chain DAO creation (TX1/TX2/TX3), real castVote for all 3 proposals, and real token locking — all confirmed on devnet. Phase 2 adds live account deserialization, the ve$TICK escrow contract, and ecosystem integration.
Replace URL-param-based proposal loading in `proposals/page.tsx` with real `getGovernanceAccounts` calls against the devnet. Subscribe to account changes via WebSocket for real-time vote count updates. Display actual on-chain vote tallies rather than baseline+delta counts.
65
-
66
-
**$TICK airdrop faucet**
67
-
Add a faucet page so demo participants can receive $TICK and participate in governance without deploying their own DAO. Already created on deploy; airdrop endpoint needed.
68
-
69
-
**Real ve$TICK escrow contract**
70
-
Build the locking escrow using Anchor:
71
-
- Users deposit $TICK and choose a lock duration (30 / 90 / 180 / 365 days)
72
-
- Escrow mints a non-transferable `ve$TICK` receipt token
Submit the TIX-DAO Realm to the Realms directory. Users will be able to access the Realm via both the TIX-DAO UI and the standard Realms UI — they share the same on-chain state.
63
+
**Live proposal deserialization** ✅
64
+
-[x]`getProposal` fetches real on-chain vote tallies from devnet on page load
65
+
-[x] WebSocket `onAccountChange` subscription pushes real-time updates as votes come in
66
+
-[x]`displayCounts` derived from live on-chain data; falls back to baseline if RPC error
0 commit comments