Skip to content

Commit 7e34ddb

Browse files
hosseinkarami-devGitHub Actions Bot
andauthored
chore: regenerate client from OpenAPI (#81)
Co-authored-by: GitHub Actions Bot <[email protected]>
1 parent 99cf2b9 commit 7e34ddb

File tree

2 files changed

+48
-1
lines changed

2 files changed

+48
-1
lines changed

models/src/main/kotlin/io/github/hosseinkarami_dev/near/rpc/models/ReceiptValidationError.kt

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,4 +154,19 @@ public sealed class ReceiptValidationError {
154154
public val size: ULong,
155155
)
156156
}
157+
158+
/**
159+
* * The `refund_to` of an ActionReceipt is not valid.
160+
*/
161+
@Serializable
162+
public data class InvalidRefundTo(
163+
@SerialName("InvalidRefundTo")
164+
public val invalidRefundTo: InvalidRefundToPayload,
165+
) : ReceiptValidationError() {
166+
@Serializable
167+
public data class InvalidRefundToPayload(
168+
@SerialName("account_id")
169+
public val accountId: String,
170+
)
171+
}
157172
}

models/src/main/kotlin/io/github/hosseinkarami_dev/near/rpc/serializers/ReceiptValidationErrorSerializer.kt

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ object ReceiptValidationErrorSerializer : KSerializer<ReceiptValidationError> {
3232
element("NumberInputDataDependenciesExceeded", serializer<JsonElement>().descriptor)
3333
element("ActionsValidation", serializer<JsonElement>().descriptor)
3434
element("ReceiptSizeExceeded", serializer<JsonElement>().descriptor)
35+
element("InvalidRefundTo", serializer<JsonElement>().descriptor)
3536
}
3637

3738
override fun serialize(encoder: Encoder, value: ReceiptValidationError) {
@@ -86,6 +87,12 @@ object ReceiptValidationErrorSerializer : KSerializer<ReceiptValidationError> {
8687
val payload = JsonObject(map)
8788
jsonEncoder.encodeJsonElement(payload)
8889
}
90+
is io.github.hosseinkarami_dev.near.rpc.models.ReceiptValidationError.InvalidRefundTo -> {
91+
val map = mutableMapOf<String, JsonElement>()
92+
map["InvalidRefundTo"] = jsonEncoder.json.encodeToJsonElement(serializer<io.github.hosseinkarami_dev.near.rpc.models.ReceiptValidationError.InvalidRefundTo.InvalidRefundToPayload>(), value.invalidRefundTo)
93+
val payload = JsonObject(map)
94+
jsonEncoder.encodeJsonElement(payload)
95+
}
8996
}
9097
return
9198
}
@@ -99,6 +106,7 @@ object ReceiptValidationErrorSerializer : KSerializer<ReceiptValidationError> {
99106
is io.github.hosseinkarami_dev.near.rpc.models.ReceiptValidationError.NumberInputDataDependenciesExceeded -> out.encodeSerializableElement(descriptor, 5, serializer<io.github.hosseinkarami_dev.near.rpc.models.ReceiptValidationError.NumberInputDataDependenciesExceeded>(), value)
100107
is io.github.hosseinkarami_dev.near.rpc.models.ReceiptValidationError.ActionsValidation -> out.encodeSerializableElement(descriptor, 6, serializer<io.github.hosseinkarami_dev.near.rpc.models.ReceiptValidationError.ActionsValidation>(), value)
101108
is io.github.hosseinkarami_dev.near.rpc.models.ReceiptValidationError.ReceiptSizeExceeded -> out.encodeSerializableElement(descriptor, 7, serializer<io.github.hosseinkarami_dev.near.rpc.models.ReceiptValidationError.ReceiptSizeExceeded>(), value)
109+
is io.github.hosseinkarami_dev.near.rpc.models.ReceiptValidationError.InvalidRefundTo -> out.encodeSerializableElement(descriptor, 8, serializer<io.github.hosseinkarami_dev.near.rpc.models.ReceiptValidationError.InvalidRefundTo>(), value)
102110
}
103111
out.endStructure(descriptor)
104112
}
@@ -118,7 +126,7 @@ object ReceiptValidationErrorSerializer : KSerializer<ReceiptValidationError> {
118126

119127
is JsonObject -> {
120128
val jobj = element
121-
val knownVariantNames = setOf("InvalidPredecessorId", "InvalidReceiverId", "InvalidSignerId", "InvalidDataReceiverId", "ReturnedValueLengthExceeded", "NumberInputDataDependenciesExceeded", "ActionsValidation", "ReceiptSizeExceeded")
129+
val knownVariantNames = setOf("InvalidPredecessorId", "InvalidReceiverId", "InvalidSignerId", "InvalidDataReceiverId", "ReturnedValueLengthExceeded", "NumberInputDataDependenciesExceeded", "ActionsValidation", "ReceiptSizeExceeded", "InvalidRefundTo")
122130
if (jobj["InvalidPredecessorId"] != null) {
123131
return io.github.hosseinkarami_dev.near.rpc.models.ReceiptValidationError.InvalidPredecessorId(decoder.json.decodeFromJsonElement(serializer<io.github.hosseinkarami_dev.near.rpc.models.ReceiptValidationError.InvalidPredecessorId.InvalidPredecessorIdPayload>(), jobj["InvalidPredecessorId"]!!))
124132
}
@@ -143,6 +151,9 @@ object ReceiptValidationErrorSerializer : KSerializer<ReceiptValidationError> {
143151
if (jobj["ReceiptSizeExceeded"] != null) {
144152
return io.github.hosseinkarami_dev.near.rpc.models.ReceiptValidationError.ReceiptSizeExceeded(decoder.json.decodeFromJsonElement(serializer<io.github.hosseinkarami_dev.near.rpc.models.ReceiptValidationError.ReceiptSizeExceeded.ReceiptSizeExceededPayload>(), jobj["ReceiptSizeExceeded"]!!))
145153
}
154+
if (jobj["InvalidRefundTo"] != null) {
155+
return io.github.hosseinkarami_dev.near.rpc.models.ReceiptValidationError.InvalidRefundTo(decoder.json.decodeFromJsonElement(serializer<io.github.hosseinkarami_dev.near.rpc.models.ReceiptValidationError.InvalidRefundTo.InvalidRefundToPayload>(), jobj["InvalidRefundTo"]!!))
156+
}
146157
if (jobj.size == 1) {
147158
val entry = jobj.entries.first()
148159
val key = entry.key
@@ -181,6 +192,10 @@ object ReceiptValidationErrorSerializer : KSerializer<ReceiptValidationError> {
181192
val obj = valueElem as? JsonObject ?: throw SerializationException("Expected object payload for variant ReceiptSizeExceeded: " + key)
182193
return decoder.json.decodeFromJsonElement(serializer<io.github.hosseinkarami_dev.near.rpc.models.ReceiptValidationError.ReceiptSizeExceeded>(), obj)
183194
}
195+
"InvalidRefundTo" -> {
196+
val obj = valueElem as? JsonObject ?: throw SerializationException("Expected object payload for variant InvalidRefundTo: " + key)
197+
return decoder.json.decodeFromJsonElement(serializer<io.github.hosseinkarami_dev.near.rpc.models.ReceiptValidationError.InvalidRefundTo>(), obj)
198+
}
184199
else -> { /* knownVariantNames.contains(key) guards this branch; shouldn't reach here */ }
185200
}
186201
}
@@ -215,6 +230,7 @@ object ReceiptValidationErrorSerializer : KSerializer<ReceiptValidationError> {
215230
"NumberInputDataDependenciesExceeded" -> return decoder.json.decodeFromJsonElement(serializer<io.github.hosseinkarami_dev.near.rpc.models.ReceiptValidationError.NumberInputDataDependenciesExceeded>(), jobj)
216231
"ActionsValidation" -> return decoder.json.decodeFromJsonElement(serializer<io.github.hosseinkarami_dev.near.rpc.models.ReceiptValidationError.ActionsValidation>(), jobj)
217232
"ReceiptSizeExceeded" -> return decoder.json.decodeFromJsonElement(serializer<io.github.hosseinkarami_dev.near.rpc.models.ReceiptValidationError.ReceiptSizeExceeded>(), jobj)
233+
"InvalidRefundTo" -> return decoder.json.decodeFromJsonElement(serializer<io.github.hosseinkarami_dev.near.rpc.models.ReceiptValidationError.InvalidRefundTo>(), jobj)
218234
else -> { /* fallthrough to grouped handling */ }
219235
}
220236
// grouped handling by tf content (if any)
@@ -228,6 +244,7 @@ object ReceiptValidationErrorSerializer : KSerializer<ReceiptValidationError> {
228244
if (chosenGroupKey == null && ("NumberInputDataDependenciesExceeded".lowercase() == tfLower || tfLower.contains("NumberInputDataDependenciesExceeded".lowercase()) || "NumberInputDataDependenciesExceeded".lowercase().contains(tfLower))) { chosenGroupKey = "NumberInputDataDependenciesExceeded" }
229245
if (chosenGroupKey == null && ("ActionsValidation".lowercase() == tfLower || tfLower.contains("ActionsValidation".lowercase()) || "ActionsValidation".lowercase().contains(tfLower))) { chosenGroupKey = "ActionsValidation" }
230246
if (chosenGroupKey == null && ("ReceiptSizeExceeded".lowercase() == tfLower || tfLower.contains("ReceiptSizeExceeded".lowercase()) || "ReceiptSizeExceeded".lowercase().contains(tfLower))) { chosenGroupKey = "ReceiptSizeExceeded" }
247+
if (chosenGroupKey == null && ("InvalidRefundTo".lowercase() == tfLower || tfLower.contains("InvalidRefundTo".lowercase()) || "InvalidRefundTo".lowercase().contains(tfLower))) { chosenGroupKey = "InvalidRefundTo" }
231248
if (chosenGroupKey != null) {
232249
when (chosenGroupKey) {
233250
"InvalidPredecessorId" -> {
@@ -262,6 +279,10 @@ object ReceiptValidationErrorSerializer : KSerializer<ReceiptValidationError> {
262279
try { return decoder.json.decodeFromJsonElement(serializer<io.github.hosseinkarami_dev.near.rpc.models.ReceiptValidationError.ReceiptSizeExceeded>(), jobj) } catch (_: Exception) { }
263280
throw SerializationException("Cannot disambiguate variant for base token 'ReceiptSizeExceeded' and tf='\$tf'")
264281
}
282+
"InvalidRefundTo" -> {
283+
try { return decoder.json.decodeFromJsonElement(serializer<io.github.hosseinkarami_dev.near.rpc.models.ReceiptValidationError.InvalidRefundTo>(), jobj) } catch (_: Exception) { }
284+
throw SerializationException("Cannot disambiguate variant for base token 'InvalidRefundTo' and tf='\$tf'")
285+
}
265286
else -> { /* no group matched */ }
266287
}
267288
}
@@ -275,6 +296,7 @@ object ReceiptValidationErrorSerializer : KSerializer<ReceiptValidationError> {
275296
// group: NumberInputDataDependenciesExceeded
276297
// group: ActionsValidation
277298
// group: ReceiptSizeExceeded
299+
// group: InvalidRefundTo
278300

279301
val requiredMatches = mutableListOf<Int>()
280302
if (jobj.containsKey("InvalidPredecessorId")) requiredMatches.add(0)
@@ -285,6 +307,7 @@ object ReceiptValidationErrorSerializer : KSerializer<ReceiptValidationError> {
285307
if (jobj.containsKey("NumberInputDataDependenciesExceeded")) requiredMatches.add(5)
286308
if (jobj.containsKey("ActionsValidation")) requiredMatches.add(6)
287309
if (jobj.containsKey("ReceiptSizeExceeded")) requiredMatches.add(7)
310+
if (jobj.containsKey("InvalidRefundTo")) requiredMatches.add(8)
288311
if (requiredMatches.size == 1) {
289312
when (requiredMatches[0]) {
290313
0 -> return decoder.json.decodeFromJsonElement(serializer<io.github.hosseinkarami_dev.near.rpc.models.ReceiptValidationError.InvalidPredecessorId>(), jobj)
@@ -295,6 +318,7 @@ object ReceiptValidationErrorSerializer : KSerializer<ReceiptValidationError> {
295318
5 -> return decoder.json.decodeFromJsonElement(serializer<io.github.hosseinkarami_dev.near.rpc.models.ReceiptValidationError.NumberInputDataDependenciesExceeded>(), jobj)
296319
6 -> return decoder.json.decodeFromJsonElement(serializer<io.github.hosseinkarami_dev.near.rpc.models.ReceiptValidationError.ActionsValidation>(), jobj)
297320
7 -> return decoder.json.decodeFromJsonElement(serializer<io.github.hosseinkarami_dev.near.rpc.models.ReceiptValidationError.ReceiptSizeExceeded>(), jobj)
321+
8 -> return decoder.json.decodeFromJsonElement(serializer<io.github.hosseinkarami_dev.near.rpc.models.ReceiptValidationError.InvalidRefundTo>(), jobj)
298322
else -> throw SerializationException("Internal required-match dispatch error")
299323
}
300324
}
@@ -348,6 +372,12 @@ object ReceiptValidationErrorSerializer : KSerializer<ReceiptValidationError> {
348372
val score = matchCount.toDouble() / 1.toDouble()
349373
if (score > bestScore) { bestScore = score; bestIdx = 7 } else if (score == bestScore) { bestIdx = null }
350374
}
375+
run {
376+
var matchCount = 0
377+
if (jobj["InvalidRefundTo"] != null) matchCount++
378+
val score = matchCount.toDouble() / 1.toDouble()
379+
if (score > bestScore) { bestScore = score; bestIdx = 8 } else if (score == bestScore) { bestIdx = null }
380+
}
351381
if (bestIdx != null && bestScore > 0.0) {
352382
when (bestIdx) {
353383
0 -> return decoder.json.decodeFromJsonElement(serializer<io.github.hosseinkarami_dev.near.rpc.models.ReceiptValidationError.InvalidPredecessorId>(), jobj)
@@ -358,6 +388,7 @@ object ReceiptValidationErrorSerializer : KSerializer<ReceiptValidationError> {
358388
5 -> return decoder.json.decodeFromJsonElement(serializer<io.github.hosseinkarami_dev.near.rpc.models.ReceiptValidationError.NumberInputDataDependenciesExceeded>(), jobj)
359389
6 -> return decoder.json.decodeFromJsonElement(serializer<io.github.hosseinkarami_dev.near.rpc.models.ReceiptValidationError.ActionsValidation>(), jobj)
360390
7 -> return decoder.json.decodeFromJsonElement(serializer<io.github.hosseinkarami_dev.near.rpc.models.ReceiptValidationError.ReceiptSizeExceeded>(), jobj)
391+
8 -> return decoder.json.decodeFromJsonElement(serializer<io.github.hosseinkarami_dev.near.rpc.models.ReceiptValidationError.InvalidRefundTo>(), jobj)
361392
else -> throw SerializationException("Internal scoring dispatch error")
362393
}
363394
}
@@ -369,6 +400,7 @@ object ReceiptValidationErrorSerializer : KSerializer<ReceiptValidationError> {
369400
try { return decoder.json.decodeFromJsonElement(serializer<io.github.hosseinkarami_dev.near.rpc.models.ReceiptValidationError.NumberInputDataDependenciesExceeded>(), jobj) } catch (_: Exception) { }
370401
try { return decoder.json.decodeFromJsonElement(serializer<io.github.hosseinkarami_dev.near.rpc.models.ReceiptValidationError.ActionsValidation>(), jobj) } catch (_: Exception) { }
371402
try { return decoder.json.decodeFromJsonElement(serializer<io.github.hosseinkarami_dev.near.rpc.models.ReceiptValidationError.ReceiptSizeExceeded>(), jobj) } catch (_: Exception) { }
403+
try { return decoder.json.decodeFromJsonElement(serializer<io.github.hosseinkarami_dev.near.rpc.models.ReceiptValidationError.InvalidRefundTo>(), jobj) } catch (_: Exception) { }
372404
throw SerializationException("Missing discriminator or recognizable variant in ReceiptValidationError")
373405
}
374406
}

0 commit comments

Comments
 (0)