Closed kazimuth closed 2 weeks ago
This does not presently fix the incompatibility between the serde
and sats
serialization of Identity
and Address
. I will leave that for a later change if needed.
This does not presently fix the incompatibility between the
serde
andsats
serialization ofIdentity
andAddress
. I will leave that for a later change if needed.
Can you be more specific about what incompatibility you mean here?
Can you be more specific about what incompatibility you mean here?
Yes, sats
+serde_json
serializes Identity
as {"__identity__": "0x[hex]"}
whereas serde
+serde_json
serializes Identity
as merely "[hex]"
.
This is slightly silly because we already have the IdentityForUrl
type in client-api
that is defined to serialize as "[hex]"
.
On reflection I don't think this needs anything else, besides possibly additional testing, but I'm not sure what that testing would entail.
Okay, I think I've got everything and this is ready.
Description of Changes
This fixes some issues caused by https://github.com/clockworklabs/SpacetimeDB/pull/1616.
We are now more careful about endianness when converting
Identity
andAddress
to byte arrays / strings.API and ABI breaking changes
ABI break; this will require a wipe of modules, since the controldb has been changed to look up
identities
andaddresses
by their usual printed form, which corresponds to a big-endian byte array.Expected complexity level and risk
5/5
Testing
See the added tests, also running smoketests. I am not sure what else would be a good idea to do.