Skip to content

Commit

Permalink
Merge pull request #38 from projectNEWM/amw/fix_conway
Browse files Browse the repository at this point in the history
STUD-329: Fix Kogmios Certificate parsing
  • Loading branch information
AndrewWestberg authored Sep 2, 2024
2 parents 74366f8 + 31bf6ca commit 35905d1
Show file tree
Hide file tree
Showing 4 changed files with 44 additions and 10 deletions.
2 changes: 1 addition & 1 deletion build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ if (!project.hasProperty("isGithubActions")) {
}

group = "io.newm"
version = "2.3.1-SNAPSHOT"
version = "2.3.2-SNAPSHOT"

java.sourceCompatibility = JavaVersion.VERSION_21
java.targetCompatibility = JavaVersion.VERSION_21
Expand Down
2 changes: 1 addition & 1 deletion buildSrc/src/main/kotlin/Versions.kt
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ object Versions {
const val JUNIT = "5.11.0"
const val KOTLIN = "2.0.20"
const val KOTLINX_DATETIME = "0.6.1"
const val KOTLINX_SERIALIZATION = "1.7.1"
const val KOTLINX_SERIALIZATION = "1.7.2"
const val KTLINT = "1.3.1"
const val KTLINT_PLUGIN = "12.1.1"
const val KTOR = "2.3.12"
Expand Down
48 changes: 40 additions & 8 deletions src/main/kotlin/io/newm/kogmios/protocols/model/Certificate.kt
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@ sealed interface Certificate
@Serializable
@SerialName("stakeDelegation")
data class StakeDelegationCertificate(
@SerialName("from")
val from: String,
@SerialName("credential")
val credential: String,
@SerialName("stakePool")
Expand All @@ -24,6 +26,8 @@ data class StakeDelegationCertificate(
@Serializable
@SerialName("stakeCredentialRegistration")
data class StakeCredentialRegistrationCertificate(
@SerialName("from")
val from: String,
@SerialName("credential")
val credential: String,
@SerialName("deposit")
Expand All @@ -33,6 +37,8 @@ data class StakeCredentialRegistrationCertificate(
@Serializable
@SerialName("stakeCredentialDeregistration")
data class StakeCredentialDeregistrationCertificate(
@SerialName("from")
val from: String,
@SerialName("credential")
val credential: String,
@SerialName("deposit")
Expand Down Expand Up @@ -114,19 +120,45 @@ data class GenesisDelegation(
)

@Serializable
@SerialName("constitutionalCommitteeHotKeyRegistration")
data class ConstitutionalCommitteeHotKeyRegistrationCertificate(
@SerialName("constitutionalCommitteeDelegation")
data class ConstitutionalCommitteeDelegationCertificate(
@SerialName("member")
val member: IdHash,
@SerialName("hotKey")
val hotKey: String,
@SerialName("delegate")
val delegate: ConstitutionalCommitteeDelegate,
) : Certificate

@Serializable
@JsonClassDiscriminator("status")
sealed interface ConstitutionalCommitteeDelegate

@Serializable
@SerialName("authorized")
data class AuthorizedConstitutionalCommitteeDelegate(
@SerialName("id")
val id: String,
@SerialName("from")
val from: String,
) : ConstitutionalCommitteeDelegate

@Serializable
@SerialName("resigned")
data class ResignedConstitutionalCommitteeDelegate(
@SerialName("metadata")
val metadata: AnchorMetadata? = null,
) : ConstitutionalCommitteeDelegate

@Serializable
@SerialName("none")
data object NoneConstitutionalCommitteeDelegate : ConstitutionalCommitteeDelegate

@Serializable
@SerialName("constitutionalCommitteeRetirement")
data class ConstitutionalCommitteeRetirementCertificate(
@SerialName("member")
val member: IdHash,
@SerialName("metadata")
val metadata: AnchorMetadata? = null,
) : Certificate

@Serializable
Expand All @@ -136,17 +168,17 @@ data class DelegateRepresentativeRegistrationCertificate(
val delegateRepresentative: DelegateRepresentative,
@SerialName("deposit")
val deposit: Ada,
@SerialName("anchor")
val anchor: AnchorMetadata? = null,
@SerialName("metadata")
val metadata: AnchorMetadata? = null,
) : Certificate

@Serializable
@SerialName("delegateRepresentativeUpdate")
data class DelegateRepresentativeUpdateCertificate(
@SerialName("delegateRepresentative")
val delegateRepresentative: DelegateRepresentative,
@SerialName("anchor")
val anchor: AnchorMetadata? = null,
@SerialName("metadata")
val metadata: AnchorMetadata? = null,
) : Certificate

@Serializable
Expand Down
2 changes: 2 additions & 0 deletions src/main/kotlin/io/newm/kogmios/protocols/model/IdHash.kt
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,6 @@ import kotlinx.serialization.Serializable
data class IdHash(
@SerialName("id")
val id: String,
@SerialName("from")
val from: String? = null,
)

0 comments on commit 35905d1

Please sign in to comment.