dev.malpercio.cards.witness
An appview's signed observation of a card changing hands, written into the appview's own repo. Triggered by a dev.malpercio.cards.item appearing on the firehose. Accepted witnesses form a prev-linked chain per give; exactly one accepted witness exists per (give, hop). Rejected witnesses explain why a claimant's item is not recognized. The chain is durable against player-side deletions and auditable by replaying the firehose.
Details · record, key tid
| Kind | record |
|---|---|
| Record key | tid |
| Authority | cards.malpercio.dev |
| Indexed |
Record
record · key tidProperties
detail
stringRejected only. Human-readable specifics, e.g. the URI of the item that won.
maxLength: 512
from
string · didSender of the transfer, if any.
Root give this observation concerns.
Repo owner of item. For accepted witnesses, the recognized holder after this hop.
hop
integerAccepted only. 0 = received from provider, n = nth transfer.
minimum: 0
The claimant's item as seen. Pinned so the observation stands even if the item is later deleted.
prev
refAccepted only. The accepted witness for hop-1.
reason
stringRejected only. superseded: another item was already accepted at this hop. not-holder: the transfer's sender was not the recognized holder. expired: transfer.expiresAt passed before the item appeared. invalid: the records fail structural verification (recipient, CID, revoked give).
knownValues: superseded | not-holder | expired | invalid
knownValues: accepted | rejected
transfer
refThe transfer as seen, absent at hop 0.
Similar lexicons
semantic matchLexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.
-
dev.malpercio.cards.transfer
recordWritten by the current owner to hand a card to another DID. The recipient completes the transfer by writing a dev.malpercio.cards.item whose 'via' strongRefs this record. Repos are mutable, so an appview indexing the firehose resolves conflicting transfers of the same give (first seen wins).
-
dev.malpercio.cards.item
recordA card (or sealed pack) held by the repo owner. Not authoritative on its own: validity comes from the chain of strongRefs back to a provider give whose recipient matches the current owner at each hop. Blobs are the owner's local copies and must hash to the CIDs on the root give.