The spec says
All UCANs MUST be canonically encoded with DAG-CBOR for signing.
However the canonicalization spec says
Per the core UCAN spec, all implementations MUST support JWT encoding. This provides a common representation that all implementations can understand. JWT canonicalization allows for alternate encodings to convert to and from the standard JWT format, retain the JWT signature scheme, and so on.
and in the encoding steps,
dag-json encoding MUST be used
The rs-ucan implementation seems to reflect this, canonicalizing the payload to a dag-json JWT for signing.
Is dag-json the canonical encoding for signing?