Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix script fault parsing #31

Merged
merged 1 commit into from
Feb 10, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ if (!project.hasProperty("isGithubActions")) {
}

group = "io.newm"
version = "2.0.0-SNAPSHOT"
version = "2.0.1-SNAPSHOT"

java.sourceCompatibility = JavaVersion.VERSION_17
java.targetCompatibility = JavaVersion.VERSION_17
Expand Down
6 changes: 3 additions & 3 deletions buildSrc/src/main/kotlin/Versions.kt
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@ object Versions {
const val COMMONS_LOGGING = "1.3.0"
const val COMMONS_NUMBERS = "1.1"
const val COROUTINES = "1.7.3"
const val GOOGLE_TRUTH = "1.3.0"
const val JUNIT = "5.10.1"
const val GOOGLE_TRUTH = "1.4.0"
const val JUNIT = "5.10.2"
const val KOTLIN = "1.9.22"
const val KOTLINX_DATETIME = "0.5.0"
const val KOTLINX_SERIALIZATION = "1.6.2"
const val KTLINT = "1.1.1"
const val KTLINT_PLUGIN = "12.1.0"
const val KTOR = "2.3.7"
const val KTOR = "2.3.8"
const val LOGBACK = "1.4.14"
const val MAVEN_REPO_AUTH_PLUGIN = "3.0.4"
const val MOCKK = "1.13.9"
Expand Down
Binary file modified gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package io.newm.kogmios.protocols.model.fault

import io.newm.kogmios.protocols.model.Validator
import io.newm.kogmios.protocols.model.serializers.ScriptExecutionFailureFaultDataSerializer
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable

Expand All @@ -18,8 +19,23 @@
override val data: ScriptExecutionFailureFaultData,
) : Fault


Check failure on line 22 in src/main/kotlin/io/newm/kogmios/protocols/model/fault/ScriptExecutionFailureFault.kt

View workflow job for this annotation

GitHub Actions / build

Needless blank line(s)
@Serializable(with = ScriptExecutionFailureFaultDataSerializer::class)
class ScriptExecutionFailureFaultData: ArrayList<ScriptExecutionFailureFaultDataItem>(), FaultData {

Check failure on line 24 in src/main/kotlin/io/newm/kogmios/protocols/model/fault/ScriptExecutionFailureFault.kt

View workflow job for this annotation

GitHub Actions / build

Missing spacing before ":"
override fun equals(other: Any?): Boolean {
if (this === other) return true
if (other !is ScriptExecutionFailureFaultData) return false
if (!super.equals(other)) return false
return true
}

override fun hashCode(): Int {
return super.hashCode()
}
}

@Serializable
data class ScriptExecutionFailureFaultData(
data class ScriptExecutionFailureFaultDataItem(
@SerialName("validator")
val validator: Validator,
@SerialName("error")
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
package io.newm.kogmios.protocols.model.serializers

import io.newm.kogmios.protocols.model.fault.ScriptExecutionFailureFaultData
import io.newm.kogmios.protocols.model.fault.ScriptExecutionFailureFaultDataItem
import kotlinx.serialization.KSerializer
import kotlinx.serialization.builtins.ListSerializer
import kotlinx.serialization.descriptors.SerialDescriptor
import kotlinx.serialization.encoding.Decoder
import kotlinx.serialization.encoding.Encoder

object ScriptExecutionFailureFaultDataSerializer : KSerializer<ScriptExecutionFailureFaultData> {
private val delegateListSerializer = ListSerializer(ScriptExecutionFailureFaultDataItem.serializer())

override fun deserialize(decoder: Decoder): ScriptExecutionFailureFaultData {
return ScriptExecutionFailureFaultData().also {
it.addAll(delegateListSerializer.deserialize(decoder))
}
}

override val descriptor: SerialDescriptor =
SerialDescriptor("EraSummariesResult", delegateListSerializer.descriptor)

override fun serialize(encoder: Encoder, value: ScriptExecutionFailureFaultData) {

Check failure on line 23 in src/main/kotlin/io/newm/kogmios/protocols/model/serializers/ScriptExecutionFailureFaultDataSerializer.kt

View workflow job for this annotation

GitHub Actions / build

Newline expected after opening parenthesis

Check failure on line 23 in src/main/kotlin/io/newm/kogmios/protocols/model/serializers/ScriptExecutionFailureFaultDataSerializer.kt

View workflow job for this annotation

GitHub Actions / build

Parameter should start on a newline

Check failure on line 23 in src/main/kotlin/io/newm/kogmios/protocols/model/serializers/ScriptExecutionFailureFaultDataSerializer.kt

View workflow job for this annotation

GitHub Actions / build

Newline expected before closing parenthesis
delegateListSerializer.serialize(encoder, value)
}
}

Check failure on line 26 in src/main/kotlin/io/newm/kogmios/protocols/model/serializers/ScriptExecutionFailureFaultDataSerializer.kt

View workflow job for this annotation

GitHub Actions / build

File must end with a newline (\n)
Original file line number Diff line number Diff line change
Expand Up @@ -72,8 +72,8 @@
}
}

@Test

Check failure on line 75 in src/test/kotlin/io/newm/kogmios/protocols/txsubmit/TxSubmitTest.kt

View workflow job for this annotation

GitHub Actions / build

Annotations should occur immediately before the annotated construct
@Disabled
// @Disabled
fun `test EvaluateTx valid tx`() =
runBlocking {
createTxSubmitClient(
Expand All @@ -87,7 +87,10 @@

val response =
client.evaluate(
"84a40082825820b831f224dfcbf5dd0e0012a491d84579de436d2d4a1a251c88001c83cad2047400825820b831f224dfcbf5dd0e0012a491d84579de436d2d4a1a251c88001c83cad2047401018282581d60da0eb5ed7611482ec5089b69d870e0c56c1c45180256112398e0835b1a000f424082581d60da0eb5ed7611482ec5089b69d870e0c56c1c45180256112398e0835b1b00000221963ad53e021a0002b1a1031a02fa0928a100818258204499320a77997987955eadba91721d5be54ca36536c5448009e822ba3f882d695840b987ad1462c18186ac6710603762249635126e7c5f60c524f8af5c511dd202ba8932d979eaaa9a3adc008dc3485d632b017815810687ebba7abce64e75df240ff5f6",
// working

Check failure on line 90 in src/test/kotlin/io/newm/kogmios/protocols/txsubmit/TxSubmitTest.kt

View workflow job for this annotation

GitHub Actions / build

Unexpected indentation (28) (should be 24)
// "84aa0081825820292f43ca3da4026c7b7d70267adb3d20e494fdb65751dcddddfc1252c4fb995c000d81825820f748cf7fa087e4f7252789e6c4954903d37eff007578b937b65e7603c26071bb0112828258207641e0d3e0abdea6ea4f5f8c9aefd3194d0f907207f6c8a119c0ac4656b0a23f00825820948046a408a3c35d8b482cbe622e9ac632b49f49280d680b114cdbf3562a0f71010182a300581d700e70594d46a226aa08a3351b1e71ca44e51ef5cd5e6ada385831badd01821a0014524ea1581ca95dbc93ec0bf7b3ecec07742372fb2bd0084acdf9615e96c5ce21f7a15820ca11ab1e00305f4f71a0ca0c680c4f8ae17222abfefff7c5b5b2ece1b1deb64001028201d818581cd8799f1879d8799f1b0000018d48374c001b0000018d61f71800ffff82581d60a91113cbeb8c42e56a66ebdb492be53909aaab740387e37cdf1c6b7f1a0119799f1082581d60a91113cbeb8c42e56a66ebdb492be53909aaab740387e37cdf1c6b7f1a004739a3111a0005119d021a000361130e83581c3ae131d72082b2be2b7f7eae7b1c54eb914a5679e87aec20983079a6581c77f07a29d7f2efd2f5d697886620e2c409f110df8d9f2bedadf898d9581ca91113cbeb8c42e56a66ebdb492be53909aaab740387e37cdf1c6b7f09a1581ca95dbc93ec0bf7b3ecec07742372fb2bd0084acdf9615e96c5ce21f7a15820ca11ab1e00305f4f71a0ca0c680c4f8ae17222abfefff7c5b5b2ece1b1deb640010b582027da63c9cc30e891bc5a90a2da58f6c4030de282ed06bf3547ee01a8f22a072ea20083825820a7f12998639de2ad89851710b0c4f3307b774056d851cf6ba1698ee27574a7905840ca4a742e40719db255bb34114cd5694a0a0f1b4d368bff65fdb87f340951a5411944aef032e775affb46afe34ec93fa5709e0b1bc464ee1d5df72299445a2a0f8258204d991397c2751adca62eb18a8b3de3959314135e6442dc89f346bd40aa32e89958406f47d2b81bcd4fdb5a8c3d1a7e1e3a12d6a57677d54d66b091da66f650aa1493ec8f03e24113b92952fb7c905dccf2f11fb9fe2aa5a5980f25dbd2877f6a0d098258201917d87ffec739f20d586a128a6d787198c5da11b44015a71c62c88fa628f8f258404717c2e533ceba6980244aa700ea38ea9fc27f0b245535348b243fd7a9b331a9f062d65bd0c0b2ab7bb7478596cdcc2fc0163a072c48601043bc0f99942d250e0581840100d87980821a00028b4d1a03ada6b2f5f6",
// broken
"84aa008182582034d18219c730a6984d80f24b9221517d2fecf08dec0376b9bad55174098e039c000182a300581d700e70594d46a226aa08a3351b1e71ca44e51ef5cd5e6ada385831badd01821a0013bac8a1581ca95dbc93ec0bf7b3ecec07742372fb2bd0084acdf9615e96c5ce21f7a15820ca11ab1e00305f4f71a0ca0c680c4f8ae17222abfefff7c5b5b2ece1b1deb64001028201d818581ad87982187bd879821b0000018d7bb6e4001b0000018d9576b000a200581d60e32a130a38872f9de02a598386da90ae91520918ce3c59a9dac83f96011a0396af98021a002dc6c009a1581ca95dbc93ec0bf7b3ecec07742372fb2bd0084acdf9615e96c5ce21f7a15820ca11ab1e00305f4f71a0ca0c680c4f8ae17222abfefff7c5b5b2ece1b1deb640010b5820c8e18324ccf9abfedcde1de2923366c6b09cfb37dc74e4e6b5448f35c670b5680d81825820f748cf7fa087e4f7252789e6c4954903d37eff007578b937b65e7603c26071bb010e81581c3ae131d72082b2be2b7f7eae7b1c54eb914a5679e87aec20983079a610a200581d6077f07a29d7f2efd2f5d697886620e2c409f110df8d9f2bedadf898d9011a000f4240111a003d090012828258207641e0d3e0abdea6ea4f5f8c9aefd3194d0f907207f6c8a119c0ac4656b0a23f00825820948046a408a3c35d8b482cbe622e9ac632b49f49280d680b114cdbf3562a0f7101a20083825820a7f12998639de2ad89851710b0c4f3307b774056d851cf6ba1698ee27574a7905840d3f6c099bd6e2ce0da571f2fb0fd84be31ea79e933b2718816856ef2a8bfc3eb63a162ae1074fd33ac281a5406e1d7106dc684601181d33f6fcecb1fb50499088258204d1ff441ae2bad05f39a8a2419beb89ad70dea555c17d0d5ba11a9e1dab6a0a15840200591ab8abc802418457782f3a2da4010d35d074eb74e2674dca91ec019fb6ee9515651dff1e932d47c0778662d101216d71b2a72df69a73f5ed3e1c14beb098258204d991397c2751adca62eb18a8b3de3959314135e6442dc89f346bd40aa32e8995840dcf418d7425545e8ba9660671289bd03f40874a0fdf2c6f4f62278c175582c6bfed3b2330092dc2a1d66cb00d1caf4f0b64a05de1da554262dc2f8b8f52dea060581840100d87980821a00d59f801b00000002540be400f5f6",
)
assertThat(response).isNotNull()
println(response.result)
Expand Down
Loading