@cardano-ogmios/client
Advanced tools
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.Changelog
[6.0.0] - 2024-01-10
Integration with cardano-node==8.7.2
and cardano-ledger-conway==1.11.0.0
. It adds (preliminary) support for the Conway era. This support only covers what is currently available in the Cardano node / ledger. However, since the implementation of this era isn't finalized yet it will likely break in the future. New updates will be issued until Conway stabilizes.
Ogmios now accept queries via HTTP (POST). Request bodies are the same as those passed to the websocket and so are responses. In fact, most Ogmios queries follow a simple request/response pattern and are therefore well-suited to be run over HTTP. While there's an obvious performance trade-off (especially for the local-chain-sync protocol), it is a reasonable approach for many queries (e.g. the local-state-query protocol).
[!NOTE] The HTTP server and the WebSocket server are both mounted on the same port. So, it suffices to route HTTP requests through
/
. The JSON payload is the same.
Ability to retrieve any genesis configuration (Byron, Shelley, Alonzo or Conway) via the state-query protocol.
A new flag --metadata-detailed-schema
(disabled by default) to control how the server returns JSON metadata. When set, the server will return a JSON description of the encoded data; when omitted, it'll attempt to convert CBOR metadata as plain JSON object, and default to hex-encoded cbor otherwise. See also notes in ADR-017.
A new command inspect transaction
to help with debugging the deserialization of transaction.
The health now contains an extra network
and version
. Also, beware that era names are now returned in lowercase (first letter used to be capitalised!).
sanchonet
network to the list of well-known networks.
arm64
static executables for Linux are now available in the continuous delivery pipeline, and as release artifacts.
The server now return an internalError
when an unexpected error occurs in the communication between Ogmios and the node. Before, Ogmios would simply log an exception and no response would be sent back to client applications. Now, clients correctly receive an unsuccessful response with the same id
as present in the request. See #346.
![TypeScript][]
Add an extra promise handler to cope with unexpected websocket disconnections when submitting messages to the server. See #346.
Escape the word 'constructor' to constr
when present as key in metadata, and when not using --metadata-detailed-schema
. JavaScript (and thus TypeScript) forbids using that word as an object key.
⚠️ BREAKING-CHANGE ⚠️ Many major changes in the interface. A complete migration guide is available in ADR-017, yet please refer to the API reference for details and exhaustiveness. Many representations have been made easier to parse and field names have been improved (more consistent across the entire API and better self-documented).
[!NOTE] There are still many test vectors available for every element of the Ogmios API. Use them!
Ogmios will no longer retry connecting to a node that is configured for another network but exit with an non-zero code and a clear error message indicating the network mismatch.
The default dashboard on localhost has been greatly rework and simplified. It also better handles errors.
Responses from the server no longer includes raw binary cbor by default. This was the case in particular for transactions. This behavior can be restored by configuring the server with --include-cbor
to always include binary version of some specific objects such as transactions. This flag can be declined in more fine-grained flags if necessary:
--include-transaction-cbor
--include-metadata-cbor
--include-script-cbor
where --include-cbor
turns all three flags at once.
⚠️ BREAKING-CHANGE ⚠️ Compact mode is no more. Responses are more compact by default already and it is no longer possible to ask for a compact mode.
⚠️ BREAKING-CHANGE ⚠️ Ogmios no longer returns null or empty fields. Where a field's value would be null
prior to v6.0.0, Ogmios now simply omit the field altogether. This is also true for most responses that return empty lists as well. All-in-all, please refer to the documentation / JSON-schema in case of doubts (fields that may be omitted are no longer marked as required
).