Description
Verify end-to-end anchoring for the required lifecycle events and align initialAnchorStatus to the D4 policy. Anchor: MINT, SERVICE, TRANSFER, TRANSFER_ACCEPTED, AUTH_VERDICT, CONTRACT_SIGNED, CORRECTION. Do not anchor: NOTE, AUTH_REQUEST, TRANSFER_INITIATED. Ensure stable payload canonicalization so payloadHash recomputes to the on-chain value. Per D2, keep watchCommitment == serialNumberHash and anchor hashes only.
Affected areas
backend/src/controllers/watch.controller.ts, backend/src/services/onchain.service.ts, backend/src/serializers/.
Dependencies / order
Depends on #8.
Acceptance criteria
Definition of done
Description
Verify end-to-end anchoring for the required lifecycle events and align
initialAnchorStatusto the D4 policy. Anchor:MINT,SERVICE,TRANSFER,TRANSFER_ACCEPTED,AUTH_VERDICT,CONTRACT_SIGNED,CORRECTION. Do not anchor:NOTE,AUTH_REQUEST,TRANSFER_INITIATED. Ensure stable payload canonicalization sopayloadHashrecomputes to the on-chain value. Per D2, keepwatchCommitment == serialNumberHashand anchor hashes only.Affected areas
backend/src/controllers/watch.controller.ts,backend/src/services/onchain.service.ts,backend/src/serializers/.Dependencies / order
Depends on #8.
Acceptance criteria
initialAnchorStatusmatches the D4 anchor/skip mapping exactly.MINT,SERVICE,TRANSFERyields anANCHOREDevent on staging with a verifiable tx.payloadHashfrom storedpayloadJsonmatches the on-chain value for each.Definition of done
staging(nevermain).stagingpreview stack.