@cardano-ogmios/repl
Advanced tools
Changelog
[6.5.0] - 2024-07-12
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
and multiplier
that now intervenes in the minimum fee calculation. Note that, 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$, we get:
<table> <thead> <tr> <th>Size range</th> <th>Price per byte</th> <th>Plot</th> </tr> </thead> <tbody> <tr> <td>$[ 0; 25600[$</td> <td>$44.000$</td> <td rowspan=6 align="center"> <img src="https://raw.githubusercontent.com/CardanoSolutions/ogmios/master/docs/static/referenceScriptsTierFee.png"> <a target="_blank" align="center" href="https://www.geogebra.org/graphing/x2aa47uu">See online calculator</a> </td> </tr> <tr> <td>$[25600; 51200[$</td> <td>$52.800$</td> </tr> <tr> <td>$[51200; 76800[$</td> <td>$63.360$</td> </tr> <tr> <td>$[76800; 102400[$</td> <td>$76.032$</td> </tr> <tr> <td>...</td> <td>...</td> </tr> <tr> <td>$[179200; 204800[$</td> <td>$157.6599552$</td> </tr> </tbody> </table>[!NOTE]
In Conway, the maximum size of reference scripts is limited to 200KiB.
Hence, a transaction that carries reference scripts adding up to 80KiB of data would be priced:
$$ referenceScriptTierPrice_{80KiB} = 25600 \times (44 + 52.8 + 63.36) + 5120 \times 76.032 = 4489379 $$
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.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 the queryLedgerState/rewardsProvenance
, which was mistakenly reporting the totalStakeInEpoch
. A new value totalStakeInEpoch
also now correctly reports that information.
Changelog
[6.4.0] - 2024-06-06
Integrated with cardano-node==8.11.0-pre
.
A new transaction submission / evaluation error:
UnauthorizedGovernanceAction
(code=3165
) raised when trying to submit a governance action other than protocol parameters change, hard fork initiation or info during the bootstrapping phase of the Conway era.A new queryNetwork error:
InvalidGenesis
(code=2004
) raised when trying to query a genesis configuration which is invalid or missing (for instance, when there's a mismatch between the Conway configuration and the underlying ledger library parsing it).The data.providedCollateral
and data.computedTotalCollateral
from submission errors with code 3128
and 3135
can now be negative Ada values.
![TypeScript][] Fixed missing conway
option in the state query client for the genesisConfiguration
query.
Changelog
[6.3.0] - 2024-05-07
Integrated with cardano-node==8.10.1-pre
.
A new ledger state query queryLedgerState/constitutionalCommittee
.
A new transaction submission error:
ConflictingInputsAndReferences
(code=3164
).The server now reports (log) unexpected failures happening during protocol execution instead of only replying to clients with an error. See #383.
[!WARNING] Adjusted the schema of constitutional committee certificates in order to harmonize responses between certificates and the new
<table> <tr><th>before</th><th>after</th></tr> <tr> <td> <pre> { "type": "constitutionalCommitteeHotKeyRegistration", "member": { "id": "0000", }, "hotKey": "0000" } </pre> </td> <td> <pre> { "type": "constitutionalCommitteeDelegation", "member": { "id": "0000", }, "delegate": { "status": "authorized", "id": "000" } } </pre> </td> </tr> </table>constitutionalCommittee
ledger query.
Fixed integer overflow happening when encoding relative time bounds in era summary, causing times to be shown as negative values.
Fixed parsing of the constitution
ledger query which now resolves properly.
Changelog
[6.2.0] - 2024-03-22
Transaction evaluation now automatically UTxO available from processing the mempool. This allows for chaining smart-contract transactions without the need to track the UTxO state on from the client's side. Ogmios now internally maintains a view of the node's mempool and ensure a consistent access to it when evaluating transaction. See also #375.
More log traces around transaction evaluation and submission.
HasTx
on false with id wrapped in different eras, to cope with the hard-fork combinator inability to compare transaction id across eras. See also #376.Changelog
[6.1.0] - 2024-02-21
Two new script purposes (available from the Conway era onward):
propose
: for proposing new governance actions. When itemized, comes with a proposal
field that documents the associated governance proposal.vote
: for voting on a proposed governance action. When itemized, comes with an issuer
field that documents the associated governance issuer.A new field guardrails
is now present on governance proposals of type treasuryWithdrawals
and protocolParametersUpdate
. It is either null
or contains a script hash (blake2b, 28 bytes) that indicates the additional guardrails script that must successfully pass for the governance proposal to be considered valid.
The object returned from ledgerState/rewardAccountSummaries
now contain an extra deposit
field equals to the amount deposited and held by the associated stake credential.
A new query queryLedgerState/constitution
to obtain the current on-chain constitution. This query is only available when the ledger is in the Conway era onwards.
Configuration files no longer contain mainnet_p2p
, preprod_p2p
, preview_p2p
and sanchonet_p2p
folders. The p2p configs are now replacing the default configurations; so we're back to configuration folders for mainnet
, preprod
, preview
and sanchonet
.
The constitution hash
is now wrapped in a singleton object guardrails
, to better capture its meaning. It isn't the hash of the constitution script (which is covered by the anchor
already), but the hash of the additional script policy which controls governance proposals of certain actions (e.g. treasury withdrawals, protocol parameters).
Renamed all fields anchor
to metadata
in the Conway era objects to be more consistent with other occurences of metadata in previous eras.
Fixed a few minor JSON-schema oversights such as TransactionOutputReference
's index now being a UInt64
(instead of UInt32
).
InternalLedgerTypeConversionError
which can no longer occur.Changelog
[6.0.3] - 2024-02-02
code: 3161
) returned when a script evaluation goes beyond its allocated budget.Mapped some internal errors to actual predicate failures. Before, Ogmios would simply return an InternalLedgerTypeConversionError
with code 3999
in cases where it should have been returning a more meaningful error resulting from either an excessive script evaluation (see new introduced error 3161) or a failed attempt to create a script context for a given transaction.
![TypeScript][] Renamed types regarding Metadatum in the TypeScript client to provide more meaningful names.
Changelog
[6.0.2] - 2024-01-30
ogmios inspect transaction
; would wrongly expect an extra singleton object before that.method
field instead of relying on the mirror. Should fix clashes with other requests.Changelog
[6.0.1] - 2024-01-22
--strict-rpc
to allow removing the extra 'method'
field provided in the server response. While the JSON-RPC specification doesn't explicitly disallow the use of extra fields in the response, some libraries have proven being quite strict in the inputs they accept, resulting in errors when receiving Ogmios' responses. The flag is off by default.