Added
-
Integrated with
cardano-node==9.0.0
. -
New ledger-state query:
queryLedgerState/treasuryAndReserves
to retrieve the current Ada values of the treasury and reserves. -
New protocol parameters in Conway:
maximumReferenceScriptsSize
which indicates the maximum total number of bytes of scripts referenced by a transaction.minFeeReferenceScripts
with three sub fields:range
,base
andmultiplier
that now intervenes in the minimum fee calculation. See the annex at the end of the release notes for details about the new transaction min fee calculation.
-
New transaction submission / evaluation errors:
ReferenceScriptsTooLarge
(code=3166
) now raised when trying to submit a transaction that contains reference scripts whose total size is above 200KB (will become a protocol parameter in the next era).UnknownVoters
(code=3167
) returned when submitting votes from unregistered pools or credentials.
Changed
-
Roll back down to GHC-9.4.8 in an attempt to fix #399 possibly caused by a bug in GHC runtime system (possibly patched on 9.4.x).
-
Fixed transaction evaluation internal client not being properly terminated and cleaned up after use; resulting in active connections piling up over time. See #403.
-
Fixed the reported
activeStakeInEpoch
on thequeryLedgerState/rewardsProvenance
, which was mistakenly reporting thetotalStakeInEpoch
. A new valuetotalStakeInEpoch
also now correctly reports that information.
Removed
- N/A
Tested with
- cardano-node
== 9.0.0
(Mainnet, Preprod, Preview)
Docker image(s)
Standalone
With cardano-node
- Mainnet cardanosolutions/cardano-node-ogmios:v6.5.0_9.0.0-mainnet
- Preprod cardanosolutions/cardano-node-ogmios:v6.5.0_9.0.0-preprod
- Preview cardanosolutions/cardano-node-ogmios:v6.5.0_9.0.0-preview
- Sanchonet cardanosolutions/cardano-node-ogmios:v6.5.0_9.0.0-sanchonet
Details
Annex - Conway minimum transaction fee calculation
Starting in the Conway era, the min fee calculation is given by the following formula:
$$ minFee = A + B + C $$
$$ \begin{array}{lll} A & = & sizeOf(transaction) \times minFeeCoefficient \\ B & = & minFeeConstant \\ C & = & referenceScriptsTierPrice \\ \end{array} $$
Where $referenceScriptsTierPrice$ is a tier-price depending on the total size of the serialized reference scripts. The total size (in bytes) of reference scripts is priced according to a different, growing tier, given by the following table:
Size range | Cost |
---|---|
$[ 0; range[$ | $\rfloor sizeOf(referenceScripts) \times base\lfloor$ |
$[range; 2 \times range[$ | $\rfloor sizeOf(referenceScripts) \times multiplier \times base\lfloor$ |
$[2 \times range; 3 \times range[$ | $\rfloor sizeOf(referenceScripts) \times {multiplier}^2 \times base\lfloor$ |
$[3 \times range; 4 \times range[$ | $\rfloor sizeOf(referenceScripts) \times {multiplier}^3 \times base\lfloor$ |
... | ... |
$[n \times range; (n + 1) \times range [$ | $\rfloor sizeOf(referenceScripts) \times {multiplier}^n \times base\lfloor$ |
Considering $range = 25600$, $multiplier = 1.2$ and $base = 44$ (which seems to be the foreseen default parameters), we get:
Size range | Lovelace per byte | Plot |
---|---|---|
$[ 0; 25600[$ | $44.000$ | See online calculator |
$[25600; 51200[$ | $52.800$ | |
$[51200; 76800[$ | $63.360$ | |
$[76800; 102400[$ | $76.032$ | |
... | ... | |
$[179200; 204800[$ | $157.66$ |
Note
In Conway, the maximum size of reference scripts is limited to 200KiB.
So for example, a transaction that carries reference scripts adding up to 80KiB of data would be priced -- in addition to the usual fees coming from the transaction size:
$$ referenceScriptTierPrice_{80KiB} = 25600 \times (44 + 52.8 + 63.36) + 5120 \times 76.032 = 4489379 $$