diff --git a/crypto/src/main/kotlin/org/openrs2/crypto/CryptoJacksonModule.kt b/crypto/src/main/kotlin/org/openrs2/crypto/CryptoJacksonModule.kt index 35c866d5..1d0c4f0c 100644 --- a/crypto/src/main/kotlin/org/openrs2/crypto/CryptoJacksonModule.kt +++ b/crypto/src/main/kotlin/org/openrs2/crypto/CryptoJacksonModule.kt @@ -6,6 +6,7 @@ import javax.inject.Singleton @Singleton public class CryptoJacksonModule : SimpleModule() { init { + addDeserializer(XteaKey::class.java, XteaKeyDeserializer) addSerializer(XteaKey::class.java, XteaKeySerializer) } } diff --git a/crypto/src/main/kotlin/org/openrs2/crypto/XteaKeyDeserializer.kt b/crypto/src/main/kotlin/org/openrs2/crypto/XteaKeyDeserializer.kt new file mode 100644 index 00000000..4e396f8c --- /dev/null +++ b/crypto/src/main/kotlin/org/openrs2/crypto/XteaKeyDeserializer.kt @@ -0,0 +1,11 @@ +package org.openrs2.crypto + +import com.fasterxml.jackson.core.JsonParser +import com.fasterxml.jackson.databind.DeserializationContext +import com.fasterxml.jackson.databind.deser.std.StdDeserializer + +public object XteaKeyDeserializer : StdDeserializer(XteaKey::class.java) { + override fun deserialize(parser: JsonParser, ctx: DeserializationContext): XteaKey { + return XteaKey.fromIntArray(ctx.readValue(parser, IntArray::class.java)) + } +}