Verify the chains
Confirm that none of your payloads and none of the exchange's cycles are missing.
A single proof shows one cycle is right. The chains show nothing is missing between cycles. Why there are two is explained in Two chains.
Your chain
GET /v1/me/batches lists your payloads, oldest first. The list is paginated (200 per page, up to
1,000). Recompute each leafHash from its proof rather than trusting the listed value. For each
payload after the first:
prevUserBatchHashequals the previous item'sleafHash;userSeqNumis exactly one more than the previous item's.
Your first payload's prevUserBatchHash is 32 zero bytes.
The manifest chain
Each manifest's prevManifestHash is a plain SHA-256, with no prefix byte, of the previous
manifest's encoding. The encoding is in Byte layouts.
The first manifest's prevManifestHash is 32 zero bytes. Walk the chain from the ledger and
confirm:
- every manifest's
prevManifestHashmatches the hash of the one before it; - there is exactly one manifest for every batch number, with none missing.