Skip to content

Anchor a proof reference to every attestation #235

Open

Description

@pragalli

Priority

High — must be addressed in current sprint

User story / Problem statement

Currently an attestation carries only the share price and its expiry. Nothing on-chain links that number to the evidence behind it, so a reader has to trust the reporter. The submission promises "Multisig reporter, deviation cap, cooldown, freshness, proof reference" (Tranche 2, deliverable 1), and the design document already states that every attestation carries one. The Tranche 3 SEP-1 template also links the latest proof-of-backing reference, so it depends on this.

Expected outcome

Every accepted attestation stores a proof reference: a hash of the supporting document and a URI where it can be fetched. Integrators read it next to the price.

Acceptance criteria

  • NavReport carries a proof hash (BytesN<32>) and a bounded-length URI
  • attest rejects an empty hash
  • latest() returns the proof reference, and the attestation event emits it
  • the admin panel's attest form collects both fields
  • tests cover acceptance, rejection and the event payload
  • the design document and the code describe the same report shape

Alternatives considered

#173 point 3 proposes dropping the proof reference from the design document, since nothing verifies it on-chain, and favouring a second confirmation for anomalous reports. Dropping it means amending a funded Tranche 2 deliverable and the Tranche 3 SEP-1 template with SCF. The two are not exclusive: the reference is cheap; the confirmation can follow.

Technical notes

The contract anchors the proof; it never validates it. Changing NavReport changes the generated bindings consumed by the attest form merged in #224.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions