Repository navigation
docs: tidy the attestation gate after its merge - #18
Merged
Merged
Conversation
The prose tightening dropped "and *those bytes* are what the authority keys sign", which is the clause that says what the signature actually covers. The table beneath it is entirely about per-field binding, so the sentence that names the bytes being bound is load-bearing rather than decorative. It is also what the tests depend on: test.rs rebuilds the struct and calls to_xdr rather than hand-rolling bytes, and that is only obviously correct if the doc says the XDR is the signed payload. Attribute placement goes back to doc-comment-first. Both orderings compile to byte-identical Wasm, verified by building each with the prose held constant, so this is convention rather than correctness: soroban-sdk's own source puts docs above #[contract*] in every instance, and so does std above #[derive]. The rest of the tightening is kept, rewrapped to the file's ~78 column margin. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AcvxDnqPzixzsnf4dj1Fvd
Building, not Working. The contract is written and its eight happy path tests pass, but the refusal matrix is unwritten and it has not been deployed to testnet through the reproducible-build pipeline, so nobody has run it end to end from a clean clone. Working means that has happened. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AcvxDnqPzixzsnf4dj1Fvd
It was always marked delete-before-merge and slipped through with PR #17. The README is what ships; the brief was the working document behind it, and it carries a layout, a build pipeline and a test matrix that would go stale the moment either changed. What it specified is not all done. The refusal matrix is unwritten, the README still has TODOs waiting on a testnet deploy, and none of that is lost: the file stays readable at ef82b15 for as long as the history does. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AcvxDnqPzixzsnf4dj1Fvd
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This branch was successfully deployed
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.
Three follow-ups to PR #17, which merged the contract itself. No contract logic changes.
Restore the clause that says what is signed
The
Attestationdoc comment had been tightened down to "is XDR-serialized, and every field below is bound by the signature", which drops the part that names the mechanism: those bytes are what the authority keys sign. The table underneath it is entirely about per-field binding, andtest.rsdepends on the same fact, since it rebuilds the struct and callsto_xdrrather than hand-rolling bytes. The rest of the tightening is kept, rewrapped to the file's margin.Attribute placement goes back to doc-comment-first. Both orderings compile to byte-identical Wasm, verified by building each with the prose held constant, so this is convention rather than correctness: soroban-sdk's own source puts docs above
#[contract*]in every instance, as does std above#[derive].Add the root README row
Building, not Working. The contract is written and its eight happy path tests pass, but the refusal matrix is unwritten and it has not been deployed to testnet, so nobody has run it end to end from a clean clone.
Delete BRIEF.md
Marked delete-before-merge from the start, slipped through with #17. Nothing else in the repo references it, and it stays readable at
ef82b15.Known open, not addressed here
adminkeeps all 8 tests green), the expiry comparison is never tested at its boundary, andcontribute's auth is caught only incidentally by the host's recording-auth rule rather than by an assertion.TODOs in the example README waiting on a testnet deploy.🤖 Generated with Claude Code
https://claude.ai/code/session_01AcvxDnqPzixzsnf4dj1Fvd