Skip to content

Commit ff9da13

Browse files
committed
Promote encrypted capital markets proof route
1 parent b0869b8 commit ff9da13

5 files changed

Lines changed: 53 additions & 48 deletions

File tree

Lines changed: 3 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,5 @@
1-
import type { Metadata } from "next";
1+
import { redirect } from "next/navigation";
22

3-
import { EncryptIkaDesktopProofWorkbench } from "@/components/encrypt-ika-desktop-proof-workbench";
4-
import { OperationStateLegend } from "@/components/operation-state-legend";
5-
import { OperationsShell } from "@/components/operations-shell";
6-
import { buildRouteMetadata } from "@/lib/route-metadata";
7-
8-
export const metadata: Metadata = buildRouteMetadata({
9-
title: "Encrypt Ika Desktop Proof",
10-
description:
11-
"Desktop-only proof route for browser encryption, REFHE receipts, Ika readiness, and Solana pre-alpha approval intent boundaries.",
12-
path: "/proof/encrypt-ika-desktop",
13-
keywords: ["encrypt", "ika", "2pc-mpc", "refhe", "desktop proof"],
14-
});
15-
16-
export default function EncryptIkaDesktopProofPage() {
17-
return (
18-
<OperationsShell
19-
eyebrow="Desktop proof"
20-
title="Encrypt / Ika / 2PC-MPC / REFHE proof without mobile ambiguity"
21-
description="A desktop-only verification path that separates live execution, readiness checks, intent receipts, and private settlement lanes with clear proof signals."
22-
badges={[
23-
{ label: "Desktop only", variant: "cyan" },
24-
{ label: "Ika readiness", variant: "violet" },
25-
{ label: "REFHE receipt", variant: "success" },
26-
]}
27-
>
28-
<OperationStateLegend description="This page is intentionally strict: readiness, intent, receipt, and full settlement are separate states so judges do not confuse proof continuity with completed private settlement." />
29-
<EncryptIkaDesktopProofWorkbench />
30-
</OperationsShell>
31-
);
3+
export default function EncryptIkaDesktopProofRedirect() {
4+
redirect("/proof/encrypted-capital-markets/");
325
}
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
import type { Metadata } from "next";
2+
3+
import { EncryptIkaDesktopProofWorkbench } from "@/components/encrypt-ika-desktop-proof-workbench";
4+
import { OperationStateLegend } from "@/components/operation-state-legend";
5+
import { OperationsShell } from "@/components/operations-shell";
6+
import { buildRouteMetadata } from "@/lib/route-metadata";
7+
8+
export const metadata: Metadata = buildRouteMetadata({
9+
title: "Encrypted Capital Markets Proof",
10+
description:
11+
"Reviewer-visible proof route for browser encryption, REFHE receipts, Ika readiness, and Solana pre-alpha approval intent boundaries.",
12+
path: "/proof/encrypted-capital-markets",
13+
keywords: ["encrypted capital markets", "encrypt", "ika", "2pc-mpc", "refhe", "confidential payroll"],
14+
});
15+
16+
export default function EncryptedCapitalMarketsProofPage() {
17+
return (
18+
<OperationsShell
19+
eyebrow="Encrypted capital markets proof"
20+
title="Encrypt / Ika / 2PC-MPC / REFHE proof for confidential organizational finance"
21+
description="A reviewer-visible verification path that separates live execution, readiness checks, intent receipts, and private settlement lanes with clear proof signals."
22+
badges={[
23+
{ label: "Encrypted finance", variant: "cyan" },
24+
{ label: "Ika readiness", variant: "violet" },
25+
{ label: "REFHE receipt", variant: "success" },
26+
]}
27+
>
28+
<OperationStateLegend description="This route is intentionally strict: readiness, intent, receipt, and full settlement are separate states so judges can inspect proof continuity without confusing it with private settlement completion." />
29+
<EncryptIkaDesktopProofWorkbench />
30+
</OperationsShell>
31+
);
32+
}

apps/web/src/app/services/encrypt-ika-operations/page.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,8 @@ export default function EncryptIkaOperationsPage() {
5757
<Link href="/services/cloak-private-settlement" className={cn(buttonVariants({ size: "sm" }))}>
5858
Open private settlement
5959
</Link>
60-
<Link href="/proof/encrypt-ika-desktop" className={cn(buttonVariants({ size: "sm", variant: "secondary" }))}>
61-
Open desktop proof
60+
<Link href="/proof/encrypted-capital-markets" className={cn(buttonVariants({ size: "sm", variant: "secondary" }))}>
61+
Open encrypted capital markets proof
6262
</Link>
6363
<Link href="/proof" className={cn(buttonVariants({ size: "sm", variant: "secondary" }))}>
6464
Open proof

apps/web/src/components/encrypt-ika-desktop-proof-workbench.tsx

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -68,13 +68,13 @@ function getVisitorSessionId() {
6868

6969
export function EncryptIkaDesktopProofWorkbench() {
7070
const [steps, setSteps] = useState<Step[]>([
71-
{ id: "browser-encryption", label: "Browser encryption", state: "idle", detail: "Desktop WebCrypto payload encryption runs locally before proof." },
71+
{ id: "browser-encryption", label: "Browser encryption", state: "idle", detail: "WebCrypto payload encryption runs locally before proof." },
7272
{ id: "refhe-receipt", label: "REFHE receipt", state: "idle", detail: "Build encrypted payroll receipt and commitment continuity." },
7373
{ id: "ika-sui", label: "Ika Sui readiness", state: "idle", detail: "Read Ika network encryption key and packages through @ika.xyz/sdk." },
7474
{ id: "ika-solana", label: "Ika Solana pre-alpha", state: "idle", detail: "Read executable program and funded operator wallet on devnet." },
7575
{ id: "ika-approval", label: "Ika approval route", state: "idle", detail: "Prepare the governed approval route for the confidential payroll message." },
7676
]);
77-
const [preview, setPreview] = useState("Run a desktop proof action to see live output.");
77+
const [preview, setPreview] = useState("Run an encrypted proof action to see live output.");
7878
const [networkExecutions, setNetworkExecutions] = useState(0);
7979
const [executionStats, setExecutionStats] = useState<ExecutionStats | null>(null);
8080
const [running, setRunning] = useState(false);
@@ -98,8 +98,8 @@ export function EncryptIkaDesktopProofWorkbench() {
9898
status,
9999
receiptHash: receiptHash || undefined,
100100
page: window.location.pathname,
101-
network: "desktop-live",
102-
source: "encrypt-ika-desktop-proof",
101+
network: "review-live",
102+
source: "encrypted-capital-markets-proof",
103103
sessionId: getVisitorSessionId(),
104104
metadata,
105105
}),
@@ -118,7 +118,7 @@ export function EncryptIkaDesktopProofWorkbench() {
118118

119119
async function runDesktopProof() {
120120
setRunning(true);
121-
setPreview("Running desktop-only Encrypt / Ika / REFHE proof checks...");
121+
setPreview("Running Encrypt / Ika / REFHE proof checks...");
122122
setNetworkExecutions(0);
123123
try {
124124
updateStep("browser-encryption", "running");
@@ -131,7 +131,7 @@ export function EncryptIkaDesktopProofWorkbench() {
131131
const iv = crypto.getRandomValues(new Uint8Array(12));
132132
const ciphertext = await crypto.subtle.encrypt({ name: "AES-GCM", iv }, key, encoder.encode(payroll));
133133
const ciphertextHex = Array.from(new Uint8Array(ciphertext), (byte) => byte.toString(16).padStart(2, "0")).join("");
134-
updateStep("browser-encryption", "done", "Desktop browser encrypted payroll payload with AES-GCM-256.");
134+
updateStep("browser-encryption", "done", "Browser encrypted payroll payload with AES-GCM-256.");
135135
await recordExecution("browser-encryption", "Browser encryption", "success", null, { ciphertextBytes: ciphertext.byteLength });
136136

137137
updateStep("refhe-receipt", "running");
@@ -140,10 +140,10 @@ export function EncryptIkaDesktopProofWorkbench() {
140140
headers: { "Content-Type": "application/json" },
141141
body: JSON.stringify({
142142
ciphertext: ciphertextHex,
143-
inputCommitment: "desktop-input-commitment",
144-
computationCommitment: "desktop-sum-2200-usdc",
145-
policyHash: "desktop-policy-confidential-payroll",
146-
totalAmountCommitment: "desktop-total-2200",
143+
inputCommitment: "review-input-commitment",
144+
computationCommitment: "review-sum-2200-usdc",
145+
policyHash: "review-policy-confidential-payroll",
146+
totalAmountCommitment: "review-total-2200",
147147
recipientCount: 2,
148148
}),
149149
}).then((response) => response.json());
@@ -173,7 +173,7 @@ export function EncryptIkaDesktopProofWorkbench() {
173173
method: "POST",
174174
headers: { "Content-Type": "application/json" },
175175
body: JSON.stringify({
176-
message: "PrivateDAO desktop confidential payroll approval",
176+
message: "PrivateDAO confidential payroll approval",
177177
operationType: "confidential-payroll",
178178
curve: "ED25519",
179179
signatureScheme: "EddsaSha512",
@@ -185,24 +185,24 @@ export function EncryptIkaDesktopProofWorkbench() {
185185

186186
setPreview(pretty({ browser: { encrypted: true, ciphertextBytes: ciphertext.byteLength }, refhe, ikaSui, ikaSolana, approval }));
187187
} catch (error) {
188-
setPreview(error instanceof Error ? error.message : "Desktop proof run failed.");
188+
setPreview(error instanceof Error ? error.message : "Encrypted proof run failed.");
189189
} finally {
190190
setRunning(false);
191191
}
192192
}
193193

194194
return (
195195
<section className="rounded-[28px] border border-cyan-300/16 bg-cyan-300/[0.07] p-6">
196-
<div className="text-[11px] uppercase tracking-[0.28em] text-cyan-100/78">Desktop-only proof runner</div>
196+
<div className="text-[11px] uppercase tracking-[0.28em] text-cyan-100/78">Encrypted execution proof runner</div>
197197
<h2 className="mt-3 text-2xl font-semibold text-white">Encrypt / Ika / 2PC-MPC / REFHE execution truth board</h2>
198198
<p className="mt-3 max-w-4xl text-sm leading-7 text-white/66">
199-
This desktop route lets a visitor run the encrypted payroll proof path directly: browser encryption, REFHE receipt generation,
199+
This route lets a visitor run the encrypted payroll proof path directly: browser encryption, REFHE receipt generation,
200200
Ika SDK network read, Solana pre-alpha program read, and governed approval-route preparation. The counters below are
201201
stored by the backend so attempts from different devices increase the same public totals.
202202
</p>
203203
<div className="mt-5 flex flex-wrap gap-3">
204204
<button type="button" onClick={() => void runDesktopProof()} disabled={running} className={cn(buttonVariants({ size: "sm" }))}>
205-
{running ? "Running..." : "Run desktop proof"}
205+
{running ? "Running..." : "Run encrypted proof"}
206206
</button>
207207
<Link href="/services/encrypt-ika-operations" className={cn(buttonVariants({ size: "sm", variant: "secondary" }))}>
208208
Open Encrypt / Ika

docs/judge-live-update-links-2026-05-21.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ PrivateDAO is presented as a sovereign operational intelligence layer for encryp
88
- Judge route: https://privatedao.org/judge/
99
- Updated judges route: https://privatedao.org/judges/
1010
- Proof center: https://privatedao.org/proof/
11-
- Encrypt / Ika / 2PC-MPC / REFHE desktop proof: https://privatedao.org/proof/encrypt-ika-desktop/
11+
- Encrypted capital markets proof: https://privatedao.org/proof/encrypted-capital-markets/
1212
- Trust center: https://privatedao.org/trust/
1313
- Whitepaper: https://privatedao.org/whitepaper/
1414
- Legacy whiteprint redirect surface: https://privatedao.org/whiteprint/

0 commit comments

Comments
 (0)