Readonlyinvalid_Refused by AssetId.create / validate.
Readonlyinvalid_Refused by AssetId.fromString / fromBytes.
Readonlyinvalid_Refused by the identity rule (^[0-9a-f]{68}$), though not necessarily by the decoder.
ReadonlynoteReadonlyscript_txid_hex reversed: serialization order, what the introspection opcodes match.
Readonlytxid_Genesis txid in display order — the 32 bytes an id's leading 64 hex chars carry.
ReadonlyvalidReadonlyversion
Cross-repo test vectors for the Arkade Asset ID encodings.
Remarks
Shipped from
src/rather thantest/so consumers outside this package can pin the same bytes:lightning-swap-serviceimports this value, while NArk and go-sdk vendor the backingassetIdVectors.jsonfrom a pinned revision of this repository.The encoding is implemented in seven places across three repos and every disagreement between them fails silently — a flipped txid makes a covenant unsatisfiable, a flipped group index resolves to a different asset, a case mismatch is a routing miss. None of those name their cause, which is what these vectors are for.
See
plans/asset-id-shared-vectors.md