From 5b3806df05cf83a1a668b9d81e4cd2d7452dfcf7 Mon Sep 17 00:00:00 2001 From: Andrew Westberg Date: Sun, 25 Aug 2024 21:22:40 +0000 Subject: [PATCH] STUD-320: Fix Conway era reference scripts minting fees --- build.gradle.kts | 2 +- .../protocols/model/MinFeeReferenceScripts.kt | 14 ++++++++++++++ .../protocols/model/ProposedProtocolParameters.kt | 6 +++++- .../model/result/ProtocolParametersResult.kt | 7 ++++++- 4 files changed, 26 insertions(+), 3 deletions(-) create mode 100644 src/main/kotlin/io/newm/kogmios/protocols/model/MinFeeReferenceScripts.kt diff --git a/build.gradle.kts b/build.gradle.kts index 60880f5..e19c918 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -19,7 +19,7 @@ if (!project.hasProperty("isGithubActions")) { } group = "io.newm" -version = "2.3.0-SNAPSHOT" +version = "2.3.1-SNAPSHOT" java.sourceCompatibility = JavaVersion.VERSION_21 java.targetCompatibility = JavaVersion.VERSION_21 diff --git a/src/main/kotlin/io/newm/kogmios/protocols/model/MinFeeReferenceScripts.kt b/src/main/kotlin/io/newm/kogmios/protocols/model/MinFeeReferenceScripts.kt new file mode 100644 index 0000000..94f3bae --- /dev/null +++ b/src/main/kotlin/io/newm/kogmios/protocols/model/MinFeeReferenceScripts.kt @@ -0,0 +1,14 @@ +package io.newm.kogmios.protocols.model + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +@Serializable +data class MinFeeReferenceScripts( + @SerialName("range") + val range: Int, + @SerialName("base") + val base: Double, + @SerialName("multiplier") + val multiplier: Double, +) diff --git a/src/main/kotlin/io/newm/kogmios/protocols/model/ProposedProtocolParameters.kt b/src/main/kotlin/io/newm/kogmios/protocols/model/ProposedProtocolParameters.kt index 602f551..50cf50c 100644 --- a/src/main/kotlin/io/newm/kogmios/protocols/model/ProposedProtocolParameters.kt +++ b/src/main/kotlin/io/newm/kogmios/protocols/model/ProposedProtocolParameters.kt @@ -1,10 +1,10 @@ package io.newm.kogmios.protocols.model +import java.math.BigInteger import kotlinx.serialization.Contextual import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable import org.apache.commons.numbers.fraction.BigFraction -import java.math.BigInteger @Serializable data class ProposedProtocolParameters( @@ -13,6 +13,8 @@ data class ProposedProtocolParameters( val minFeeCoefficient: BigInteger? = null, @SerialName("minFeeConstant") val minFeeConstant: Ada? = null, + @SerialName("minFeeReferenceScripts") + val minFeeReferenceScripts: MinFeeReferenceScripts? = null, @Contextual @SerialName("minUtxoDepositCoefficient") val minUtxoDepositCoefficient: BigInteger? = null, @@ -24,6 +26,8 @@ data class ProposedProtocolParameters( val maxBlockHeaderSize: BytesSize? = null, @SerialName("maxTransactionSize") val maxTransactionSize: BytesSize? = null, + @SerialName("maxReferenceScriptsSize") + val maxReferenceScriptsSize: BytesSize? = null, @SerialName("maxValueSize") val maxValueSize: BytesSize? = null, @SerialName("extraEntropy") diff --git a/src/main/kotlin/io/newm/kogmios/protocols/model/result/ProtocolParametersResult.kt b/src/main/kotlin/io/newm/kogmios/protocols/model/result/ProtocolParametersResult.kt index 912d533..402dd2d 100644 --- a/src/main/kotlin/io/newm/kogmios/protocols/model/result/ProtocolParametersResult.kt +++ b/src/main/kotlin/io/newm/kogmios/protocols/model/result/ProtocolParametersResult.kt @@ -4,12 +4,13 @@ import io.newm.kogmios.protocols.model.Ada import io.newm.kogmios.protocols.model.BytesSize import io.newm.kogmios.protocols.model.ExecutionPrices import io.newm.kogmios.protocols.model.ExecutionUnits +import io.newm.kogmios.protocols.model.MinFeeReferenceScripts import io.newm.kogmios.protocols.model.PlutusCostModels +import java.math.BigInteger import kotlinx.serialization.Contextual import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable import org.apache.commons.numbers.fraction.BigFraction -import java.math.BigInteger @Serializable data class ProtocolParametersResult( @@ -18,6 +19,8 @@ data class ProtocolParametersResult( val minFeeCoefficient: BigInteger, @SerialName("minFeeConstant") val minFeeConstant: Ada, + @SerialName("minFeeReferenceScripts") + val minFeeReferenceScripts: MinFeeReferenceScripts? = null, @Contextual @SerialName("minUtxoDepositCoefficient") val minUtxoDepositCoefficient: BigInteger, @@ -30,6 +33,8 @@ data class ProtocolParametersResult( val maxBlockHeaderSize: BytesSize, @SerialName("maxTransactionSize") val maxTransactionSize: BytesSize, + @SerialName("maxReferenceScriptsSize") + val maxReferenceScriptsSize: BytesSize? = null, @SerialName("maxValueSize") val maxValueSize: BytesSize, @SerialName("extraEntropy")