Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Updates #12 to add additional testing, using libipld's assert_roundtrip.
Debug + PartialEq needed to be implemented on the CACAO types in order to use
assert_roundtrip
.This is in a separate draft PR because it depends on spruceid/siwe-rs#20 (making
siwe::TimeStamp
implementDebug
), which is not yet published.Note that even though this is a round-trip test, I found that the serialization used internally (in assert_roundtrip, e.g.
cacao.encode(DagCborCodec, &mut bytes)
) does not does exactly match the byte array being used as input taken from Ceramic. Segments for some properties appear in a different order; i.e. it appears that either the Rust or Ceramic DagCbor serialization is not deterministic, or they otherwise have a discrepancy in the field ordering; opened #14 about that.