Skip to content

Coverage Gap Report

Home · Top · Table of Contents

Table of Contents

Kevin K. Le (LinkedIn) — Founder, Founding Engineer, and Current Lead Engineer; Software Engineer at the Oregon Blockchain Group, University of Oregon.

Kellen Snider — Founding Engineer; Software Engineer at the Oregon Blockchain Group, University of Oregon. His vision, ideas, and dedication during TrustLedger's Ethereum development were invaluable to the codebase we build on today.

See CREDITS.md.

Date: 2026-06-09

Current Evidence

Home · Top · Table of Contents

  • Frontend unit tests exist under src/tests/unit/.
  • Frontend Playwright tests exist under src/tests/public-routes.spec.ts.
  • Hardhat tests exist under test/.
  • Foundry unit, fuzz, and fork tests exist under contracts/test/.
  • New oracle unit coverage was added in src/tests/unit/oracle.test.ts.
  • New health-check unit coverage was added in src/tests/unit/health.test.ts.
  • New legal helper coverage was added in src/tests/unit/legal-docs.test.ts.
  • New Solana helper coverage was added in src/tests/unit/solana-helper.test.ts.
  • New interactive home preview coverage was added in src/tests/unit/interactive-contract-preview.test.tsx.

Latest frontend coverage from cd src && npm run test:coverage:

Metric Current
Statements 98.07%
Branches 80.12%
Functions 100%
Lines 98.07%

Solidity coverage percentages still need a selected contract coverage command and threshold policy. Phase 7 Item 3 is complete for the current sweep, while the future gaps below remain useful hardening work before mainnet.

Known Critical Gaps

Home · Top · Table of Contents

Area Gaps
Frontend components Full dashboard, create, acceptance, arbitration, juror, wallet, and error-boundary coverage is incomplete.
Hooks/providers/state Role context, wallet persistence, inactivity logout, theme, and AppKit provider edge cases need broader tests.
Forms Contract creation, acceptance/rejection, review, upload, encryption, and validation failure states need complete coverage.
Authentication Magic-link send/verify, replay, expiry, malformed token, and future EIP-712 sign-in flows need integration tests.
Authorization Bearer-gated notification and cron routes need route-level success/failure tests.
Wallet integrations WalletConnect missing-project-id behavior, chain switching, read/write failures, and disconnected states need coverage.
Backend services Email, notifications, oracle, API validation, and error normalization need higher route coverage.
Blockchain reads/writes Contract read/write wrappers, event handling, indexing assumptions, oracle interactions, and failure paths need integration coverage.
Integrations IPFS, Arweave, email provider, wallet providers, RPC providers, and price providers need mocked failure-path tests.
E2E Onboarding, registration, login, wallet connection, reputation lookup, contract creation/signing/acceptance, disputes, oracle flows, profile management, and dashboards need end-to-end coverage.

Implemented In This Change

Home · Top · Table of Contents

  • src/services/oracle.ts unit tests for symbol validation, provider parsing, cache reuse, stale fallback, and malformed payload rejection.
  • src/services/health.ts unit tests for healthy config, missing required config, and invalid public app URL handling.
  • src/helpers/legal-docs.ts unit tests for locale fallback, review status, and translation prompt guardrails.
  • src/helpers/solana.ts unit tests for native support mode, cluster fallback, public-key shape checks, and Explorer URL generation.
  • src/app/[locale]/_components/InteractiveContractPreview.tsx React Testing Library tests for direct phase selection and CTA-driven phase advancement.

Home · Top · Table of Contents

  • Add API route tests for /api/oracle/rates.
  • Add Jest tests for notification route authorization and cron recipient resolution.
  • Add Playwright wallet-mocked flows for create, accept, submit, dispute, and review journeys.
  • Add Solidity tests for oracle-dependent stablecoin payment scenarios before any on-chain oracle consumption is introduced.
  • Add coverage thresholds only after current percentages are measured and flaky integration gaps are removed.

Authors and Contributors

Home · Top · Table of Contents

  • Kevin K. Le — Founder, Founding Engineer, and Current Lead Engineer (LinkedIn)
  • Kellen Snider — Founding Engineer (LinkedIn)

See CREDITS.md for the complete acknowledgement list.

Home · Top · Table of Contents

This document is part of TrustLedger, an open-source decentralized escrow and arbitration protocol. Use of this software and documentation is subject to the Terms and Conditions, Privacy Policy, and Risk Disclosure. See LEGAL.md for the full compliance and licensing overview.