app: build out /contracts with live deployed addresses - #86
Open
Faithy5 wants to merge 5 commits into
Open
Conversation
…n guide, and flow diagram Replace the /contracts placeholder with the full contracts story: the three contracts and why they are separate (attestation cheap and frequent, settlement conservative and rare), a registry-driven deployment table with explorer links and WASM hashes, reproducible-build verification steps, the attest -> meter -> settle flow diagram, and source + audit-status links. The deployment table reads from a local registry mirroring modeltrace-contract#62; until that registry lands every address is honestly marked not-yet-deployed, so the page goes live by editing data, not markup.
Contributor
|
@Faithy5 ci fails please fix it |
The e2e accessibility suite fails on mobile: the deployment table wrapper, the verification code blocks, and the wide chart plots all scroll on narrow viewports without a tab stop (axe scrollable-region-focusable). Add tabIndex to each scroll container so keyboard users can reach the content.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #53
What this changes
Replaces the
/contractsplaceholder with the full contracts page: the three Soroban contracts and why they are deliberately separate (attestation cheap and frequent, settlement conservative and rare), a registry-driven deployment table with explorer-linked addresses and WASM hashes, reproducible-build verification steps so a reader can verify deployed bytes against source, an attest → meter → settle flow diagram, and direct links to source and audit status.Why
app/contracts/page.tsxwas the emptiest page on the site while being the first one a technical reviewer opens. "Verify it yourself" is the most persuasive thing this site can say, so the page is built around it: every address and hash is read from a deployment registry rather than hardcoded in JSX.How it was verified
npm test— 17 tests pass (3 new suites: registry integrity, deployment table rendering, flow diagram)npm run build— production build green,/contractsprerendered staticallynpm run lint— no warnings or errorsmain); CI will run itNotes for reviewers
The deployment registry in
modeltrace-contract(issue #62) does not exist yet and no contracts are deployed, so every address/hash is honestly rendered as Not yet deployed. The page reads fromapp/contracts/deployments.ts, a local mirror shaped exactly like the registry that issue will produce — when it lands, the page goes live by editing data, not markup. No fabricated addresses are shipped: a fake explorer link would contradict the page's entire promise.Risk
No change to any public contract interface.
New page content only; existing routes, nav, and layout untouched.
The one behavioral note:
/contractsnow renders real content instead of a placeholder (covered by existing unit + e2e route tests).Existing tests pass
New tests cover the change
No change to a public contract interface, or a migration note is included