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
Effort: M — Estimate: 8-11 h — Dependencies:#36, #39 — Unlocks: trust in shared links
Context
The public verifier page loads data from the mock source and never checks the chain. apps/credit-history/src/components/verify/public-verification-view.tsx:
// SEAM: this is where the SDK verification will be called by RPC against the vc-vault.// NOTE: verifyVc returns ONLY 'valid' | 'revoked'. The 'invalid' state is decided by this view.constsource=getCredentialSource();
Goal
/verify/[token] resolves the real presentation (#39), verifies each credential against the vc-vault via the SDK, and renders valid / revoked / invalid truthfully.
For each credential, call the SDK verifyVc (through @acta-products/acta) by RPC against the vc-vault; map the contract result (valid/revoked) to the UI status.
Keep invalid as the app-level fallback (not found / not verifiable / malformed / expired token).
Preserve the existing banner + skeleton + state panels; wire the real holderDid (now did:stellar).
Context
The public verifier page loads data from the mock source and never checks the chain.
apps/credit-history/src/components/verify/public-verification-view.tsx:Goal
/verify/[token]resolves the real presentation (#39), verifies each credential against the vc-vault via the SDK, and rendersvalid/revoked/invalidtruthfully.Step by step
verifyVc(through@acta-products/acta) by RPC against the vc-vault; map the contract result (valid/revoked) to the UI status.invalidas the app-level fallback (not found / not verifiable / malformed / expired token).holderDid(nowdid:stellar).Out of scope
Acceptance criteria
verifyVcresult.invalidstate.holderDidrenders indid:stellarformat.pnpm lint && pnpm typecheck && pnpm buildpass.