Files
observer/web
grenadeandClaude Opus 5.5 6fa8cf342a
ci / gate (push) Successful in 4m37s
deploy / validate (push) Skipped
deploy / build (push) Successful in 9m31s
deploy / deploy-web (push) Successful in 15s
deploy / deploy-api (push) Successful in 31s
feat: NEAR calls and events read as sentences, JSON as the fallback
The transaction page showed every call's arguments and every event's
payload as pretty-printed JSON. Most of those shapes are fixed by a
standard (NEP-141, NEP-245, dip4) or are formats seen on this chain's
paths (the bridge's ft_deposit, execute_intents in both its raw and
NEP-413 encodings, Ref swap instructions). Those now read as sentences
with typed parts: amounts in token units, Intents accounts linked, and
Quantus transactions and addresses linked to this site.

A sentence is produced only when it accounts for every field. Fields
are read through a reader that records what was used. An unknown,
missing or mistyped field, an intent kind nobody wrote a case for, or a
msg in an unread format falls back to the JSON, with a note saying so.
Fields left out on purpose (signatures, nonces, gas hints, intent
hashes) are dropped by name in the formatter. The raw JSON stays one
click away behind every sentence.

Measured over the 12 transactions stored in production: every event and
all but three calls read as sentences. The three that fall back are two
private Ref callbacks and qcat.nearlytrade.near's ft_resolve_transfer,
which carries a non-standard `tax` field.

Closes #47

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015tyzzRVjH9AdwGtYwsH5VC
2026-10-07 12:52:34 +03:00
..