- When interacting with times, use
chronocrate and UTC. AvoidSystemTime. - Never have a
messageorerrorattribute name for any variant of any error enums. When UniFFI generates Kotlin exception classes, they inherit fromkotlin.Exceptionwhich has amessageattribute, having a duplicate one creates conflicts in Kotlin;errorgets translated into the nativeExceptionclass. - Using
#[error(transparent)]without#[uniffi(flat_error)]is not a good idea as UniFFI does not support re-using types across different error enums at least on Kotlin.
- Ensure that the
TransactionTypeIdis never re-ordered. Only additive changes are allowed or this would break all past transactions handling.