Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
348e97d
bump: dependencies and CI for cardano-node 11.0
johnalotoski May 12, 2026
3504b43
update: add Dijkstra era support for cardano-node 11.0
johnalotoski May 12, 2026
2e183c6
update: adapt tests and vectors for Dijkstra era
johnalotoski May 12, 2026
9275aba
fix: replace unsafeCoerce with type-safe era upgrades in EraTranslation
erikd May 13, 2026
a116729
fix: replace unsafeCoerce with Dijkstra-specific mempool failure encoder
erikd May 13, 2026
67558ab
fix: add proper Dijkstra JSON encoders, remove unsafeCoerce from Pred…
erikd May 13, 2026
b4269fa
fix: add Dijkstra encoders for queries, remove remaining unsafeCoerce
erikd May 13, 2026
78f409b
refactor: rename Dijkstra module aliases from Dp to Di for consistency
erikd May 13, 2026
414f253
update: simplify TxSubmission era translations to sameEra or conwayTo…
erikd May 13, 2026
489a27e
update: drop Babbage era support from transaction evaluation
erikd May 13, 2026
5080034
cleanup: remove stale cabal.project comment about upstream patches
johnalotoski May 13, 2026
d919d06
fix Byron witness json encoding -> split extended key in key and chai…
KtorZ May 14, 2026
142515d
reduce duplication in new Dijkstra encoder + define encodeTx properly
KtorZ May 15, 2026
dcee1a2
Remove old redundant FIXME
erikd May 15, 2026
34d49f1
update: native Dijkstra encoders for PParams, guards and new TxBody f…
johnalotoski May 15, 2026
38fb4a1
update: add sub-transaction encoding for Dijkstra TopTx/SubTx
johnalotoski May 15, 2026
0965b38
fix: use @DijkstraEra for CBOR encoding in encodeTx
johnalotoski May 16, 2026
98eb97f
fix: split guards into requiredExtraSignatories and requiredExtraGuards
johnalotoski May 16, 2026
1707176
fix: use descriptive bound names for accountBalanceIntervals
johnalotoski May 16, 2026
e04b610
fix: restore NodeToClientVersion gating in TxMonitor mempool lookup
johnalotoski May 16, 2026
9e8de65
fix: nest ref-script params in minFeeReferenceScripts for all cases
johnalotoski May 16, 2026
33df798
update: regenerate test vectors for updated metadata hashes
johnalotoski May 16, 2026
043a514
update: add Dijkstra-specific fields to cardano.json schema
johnalotoski May 16, 2026
a869601
update: add Dijkstra generators and guard purpose to schema
johnalotoski May 17, 2026
3ecea88
update: enable Dijkstra ApplyTxError and GenTx generators
johnalotoski May 17, 2026
87f21a2
fix: use oneOf with mutual exclusion for AccountBalanceInterval schema
johnalotoski May 17, 2026
a1d1b46
fix: reorder transaction deserialization and fix mempool UTxO era
johnalotoski May 19, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 3 additions & 3 deletions .github/workflows/continuous-integration.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -227,7 +227,7 @@ jobs:
os: [ linux ]
arch: [ x86_64 ]
network: [ preview ]
cardano-node: [ 10.5.1 ]
cardano-node: [ 11.0.1 ]

runs-on: ${{ matrix.os == 'linux' && 'ubuntu-22.04' }}
steps:
Expand Down Expand Up @@ -404,8 +404,8 @@ jobs:
os: [ linux ]
target: [ cardano-node-ogmios ]
network: [ mainnet, preprod, preview ]
cardano-node: [ 10.5.1 ]
cardano-node-latest: [ 10.5.1 ]
cardano-node: [ 11.0.1 ]
cardano-node-latest: [ 11.0.1 ]
arch: [ x86_64 ]
steps:
- name: 📥 Checkout repository
Expand Down
8 changes: 4 additions & 4 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.

ARG CARDANO_NODE_IMAGE=ghcr.io/intersectmbo/cardano-node:10.1.4
ARG CARDANO_NODE_IMAGE=ghcr.io/intersectmbo/cardano-node:11.0.1

# #
# --------------------------- BUILD (ogmios) --------------------------------- #
# #

FROM --platform=${TARGETPLATFORM:-linux/amd64} busybox:1.35 as ogmios
FROM busybox:1.35 AS ogmios

LABEL name=ogmios
LABEL description="A JSON WebSocket bridge for cardano-node."
Expand All @@ -28,10 +28,10 @@ ENTRYPOINT ["/bin/ogmios"]
# --------------------- RUN (cardano-node & ogmios) -------------------------- #
# #

FROM ${CARDANO_NODE_IMAGE} as cardano-node-ogmios
FROM ${CARDANO_NODE_IMAGE} AS cardano-node-ogmios

ARG NETWORK=mainnet
ENV TINI_VERSION v0.19.0
ENV TINI_VERSION=v0.19.0

LABEL name=cardano-node-ogmios
LABEL description="A Cardano node, side-by-side with its JSON WebSocket bridge."
Expand Down
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@

| Ogmios | Cardano-node (mainnet, preview, preprod) |
| --- | --- |
| **`v6.14.*`** | **`10.5.1`** |
| **`v6.15.*`** | **`11.0.1`** |
| `v6.14.*` | `10.5.1` |
| `v6.13.*` | `10.1.2`, `10.1.3`, `10.1.4` |
| `v6.12.*` | `10.1.2`, `10.1.3`, `10.1.4` |
| `v6.11.*` | `10.1.2`, `10.1.3`, `10.1.4` |
Expand Down
218 changes: 211 additions & 7 deletions docs/static/cardano.json
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,7 @@
}
, "era":
{ "type": "string"
, "enum": [ "shelley", "allegra", "mary", "alonzo", "babbage", "conway" ]
, "enum": [ "shelley", "allegra", "mary", "alonzo", "babbage", "conway", "dijkstra" ]
}
, "id": { "$ref": "cardano.json#/definitions/Digest<Blake2b, 256>" }
, "ancestor":
Expand Down Expand Up @@ -312,7 +312,7 @@
, "additionalProperties": false
, "required": [ "verificationKey" ]
, "properties":
{ "verificationKey": { "$ref": "cardano.json#/definitions/VerificationKey" }
{ "verificationKey": { "$ref": "cardano.json#/definitions/ExtendedVerificationKey" }
}
}
, "proposal":
Expand Down Expand Up @@ -1032,7 +1032,7 @@
, "Era":
{ "title": "Era"
, "type": "string"
, "enum": [ "byron", "shelley", "allegra", "mary", "alonzo", "babbage", "conway" ]
, "enum": [ "byron", "shelley", "allegra", "mary", "alonzo", "babbage", "conway", "dijkstra" ]
}

, "EraWithGenesis":
Expand Down Expand Up @@ -1754,7 +1754,7 @@
, "Language":
{ "title": "Language"
, "type": "string"
, "enum": [ "plutus:v1", "plutus:v2", "plutus:v3" ]
, "enum": [ "plutus:v1", "plutus:v2", "plutus:v3", "plutus:v4" ]
}

, "KesVerificationKey":
Expand Down Expand Up @@ -2113,7 +2113,6 @@
, "minFeeReferenceScripts":
{ "type": "object"
, "additionalProperties": false
, "required": [ "range", "base", "multiplier" ]
, "properties":
{ "range": { "$ref": "cardano.json#/definitions/UInt32" }
, "base": { "type": "number" }
Expand All @@ -2126,6 +2125,7 @@
, "maxBlockHeaderSize": { "$ref": "cardano.json#/definitions/NumberOfBytes" }
, "maxTransactionSize": { "$ref": "cardano.json#/definitions/NumberOfBytes" }
, "maxReferenceScriptsSize": { "$ref": "cardano.json#/definitions/NumberOfBytes" }
, "maxReferenceScriptsSizePerBlock": { "$ref": "cardano.json#/definitions/NumberOfBytes" }
, "maxValueSize": { "$ref": "cardano.json#/definitions/NumberOfBytes" }
, "extraEntropy": { "$ref": "cardano.json#/definitions/Nonce" }
, "stakeCredentialDeposit": { "$ref": "cardano.json#/definitions/Value<AdaOnly>" }
Expand Down Expand Up @@ -2220,6 +2220,7 @@
, "maxExecutionUnitsPerTransaction": { "$ref": "cardano.json#/definitions/ExecutionUnits" }
, "maxExecutionUnitsPerBlock": { "$ref": "cardano.json#/definitions/ExecutionUnits" }
, "maxReferenceScriptsSize": { "$ref": "cardano.json#/definitions/NumberOfBytes" }
, "maxReferenceScriptsSizePerBlock": { "$ref": "cardano.json#/definitions/NumberOfBytes" }
, "stakePoolVotingThresholds": { "$ref": "cardano.json#/definitions/StakePoolVotingThresholds" }
, "constitutionalCommitteeMinSize": { "$ref": "cardano.json#/definitions/UInt16" }
, "constitutionalCommitteeMaxTermLength": { "$ref": "cardano.json#/definitions/UInt64" }
Expand Down Expand Up @@ -2294,7 +2295,7 @@
, "properties":
{ "purpose":
{ "type": "string"
, "enum": [ "spend", "mint", "publish", "withdraw", "vote", "propose" ]
, "enum": [ "spend", "mint", "publish", "withdraw", "vote", "propose", "guard" ]
}
, "index":
{ "$ref": "cardano.json#/definitions/UInt64"
Expand Down Expand Up @@ -2421,7 +2422,7 @@
, "properties":
{ "language":
{ "type": "string"
, "enum": [ "plutus:v1", "plutus:v2", "plutus:v3" ]
, "enum": [ "plutus:v1", "plutus:v2", "plutus:v3", "plutus:v4" ]
}
, "cbor":
{ "type": "string"
Expand Down Expand Up @@ -2544,6 +2545,20 @@
}
}
}
, { "type": "object"
, "title": "Clause<Guard>"
, "additionalProperties": false
, "required": [ "clause", "from" ]
, "properties":
{ "clause":
{ "type": "string"
, "enum": [ "guard" ]
}
, "from":
{ "$ref": "cardano.json#/definitions/Digest<Blake2b, 224>"
}
}
}
]
}

Expand Down Expand Up @@ -2637,6 +2652,20 @@
}
}
}
, { "title": "ScriptPurpose<Guard>"
, "type": "object"
, "additionalProperties": false
, "required": [ "purpose", "script" ]
, "properties":
{ "purpose":
{ "type": "string"
, "enum": [ "guard" ]
}
, "script":
{ "$ref": "cardano.json#/definitions/Digest<Blake2b, 224>"
}
}
}
]
}

Expand Down Expand Up @@ -2788,6 +2817,11 @@
{ "type": "array"
, "items": { "$ref": "cardano.json#/definitions/Digest<Blake2b, 224>" }
}
, "requiredExtraGuards":
{ "type": "array"
, "items": { "$ref": "cardano.json#/definitions/Digest<Blake2b, 224>" }
, "description": "Script hash guards required by the transaction. Dijkstra era only."
}
, "requiredExtraScripts":
{ "type": "array"
, "items": { "$ref": "cardano.json#/definitions/Digest<Blake2b, 224>" }
Expand Down Expand Up @@ -2829,6 +2863,25 @@
, "donation": { "$ref": "cardano.json#/definitions/Value<AdaOnly>" }
}
}
, "directDeposits":
{ "$ref": "cardano.json#/definitions/Withdrawals"
, "description": "Direct deposits to account addresses. Dijkstra era only."
}
, "accountBalanceIntervals":
{ "type": "array"
, "items": { "$ref": "cardano.json#/definitions/AccountBalanceInterval" }
, "description": "Account balance interval constraints. Dijkstra era only."
}
, "subTransactions":
{ "type": "array"
, "items": { "$ref": "cardano.json#/definitions/SubTransaction" }
, "description": "Nested sub-transactions. Dijkstra era only."
}
, "requiredTopLevelGuards":
{ "type": "array"
, "items": { "$ref": "cardano.json#/definitions/TopLevelGuard" }
, "description": "Required top-level guards for sub-transactions. Dijkstra era only."
}
, "cbor":
{ "type": "string"
, "contentEncoding": "base16"
Expand All @@ -2837,6 +2890,157 @@
}
}

, "AccountBalanceInterval":
{ "title": "AccountBalanceInterval"
, "type": "object"
, "additionalProperties": false
, "required": [ "from", "account" ]
, "properties":
{ "from":
{ "$ref": "cardano.json#/definitions/CredentialOrigin"
}
, "account":
{ "$ref": "cardano.json#/definitions/Digest<Blake2b, 224>"
}
, "greaterThanOrEqualTo":
{ "$ref": "cardano.json#/definitions/Value<AdaOnly>"
}
, "strictlyLessThan":
{ "$ref": "cardano.json#/definitions/Value<AdaOnly>"
}
}
, "oneOf":
[ { "required": [ "greaterThanOrEqualTo" ], "not": { "required": [ "strictlyLessThan" ] } }
, { "required": [ "strictlyLessThan" ], "not": { "required": [ "greaterThanOrEqualTo" ] } }
, { "required": [ "greaterThanOrEqualTo", "strictlyLessThan" ] }
]
}

, "TopLevelGuard":
{ "title": "TopLevelGuard"
, "type": "object"
, "additionalProperties": false
, "required": [ "from", "credential" ]
, "properties":
{ "from":
{ "$ref": "cardano.json#/definitions/CredentialOrigin"
}
, "credential":
{ "$ref": "cardano.json#/definitions/Digest<Blake2b, 224>"
}
, "datum":
{ "$ref": "cardano.json#/definitions/Datum"
}
}
}

, "SubTransaction":
{ "title": "SubTransaction"
, "type": "object"
, "additionalProperties": false
, "required": [ "id", "inputs", "outputs", "signatories" ]
, "properties":
{ "id":
{ "$ref": "cardano.json#/definitions/Digest<Blake2b, 256>"
}
, "inputs":
{ "type": "array"
, "items": { "$ref": "cardano.json#/definitions/TransactionOutputReference" }
}
, "references":
{ "type": "array"
, "items": { "$ref": "cardano.json#/definitions/TransactionOutputReference" }
}
, "outputs":
{ "type": "array"
, "items": { "$ref": "cardano.json#/definitions/TransactionOutput" }
}
, "certificates":
{ "type": "array"
, "items": { "$ref": "cardano.json#/definitions/Certificate" }
}
, "withdrawals":
{ "$ref": "cardano.json#/definitions/Withdrawals"
}
, "validityInterval":
{ "$ref": "cardano.json#/definitions/ValidityInterval"
}
, "mint":
{ "$ref": "cardano.json#/definitions/Assets"
}
, "network":
{ "$ref": "cardano.json#/definitions/Network"
}
, "scriptIntegrityHash":
{ "$ref": "cardano.json#/definitions/Digest<Blake2b, 256>"
}
, "requiredExtraSignatories":
{ "type": "array"
, "items": { "$ref": "cardano.json#/definitions/Digest<Blake2b, 224>" }
}
, "requiredExtraGuards":
{ "type": "array"
, "items": { "$ref": "cardano.json#/definitions/Digest<Blake2b, 224>" }
}
, "requiredExtraScripts":
{ "type": "array"
, "items": { "$ref": "cardano.json#/definitions/Digest<Blake2b, 224>" }
}
, "proposals":
{ "type": "array"
, "items": { "$ref": "cardano.json#/definitions/GovernanceProposal" }
}
, "votes":
{ "type": "array"
, "items": { "$ref": "cardano.json#/definitions/GovernanceVote" }
}
, "treasury":
{ "type": "object"
, "additionalProperties": false
, "properties":
{ "value": { "$ref": "cardano.json#/definitions/Value<AdaOnly>" }
, "donation": { "$ref": "cardano.json#/definitions/Value<AdaOnly>" }
}
}
, "directDeposits":
{ "$ref": "cardano.json#/definitions/Withdrawals"
}
, "accountBalanceIntervals":
{ "type": "array"
, "items": { "$ref": "cardano.json#/definitions/AccountBalanceInterval" }
}
, "requiredTopLevelGuards":
{ "type": "array"
, "items": { "$ref": "cardano.json#/definitions/TopLevelGuard" }
}
, "metadata":
{ "$ref": "cardano.json#/definitions/Metadata"
}
, "signatories":
{ "type": "array"
, "items": { "$ref": "cardano.json#/definitions/Signatory" }
}
, "scripts":
{ "type": "object"
, "propertyNames": { "contentEncoding": "base16", "pattern": "^[0-9a-f]+$" }
, "additionalProperties": { "$ref": "cardano.json#/definitions/Script" }
}
, "datums":
{ "type": "object"
, "propertyNames": { "contentEncoding": "base16", "pattern": "^[0-9a-f]+$" }
, "additionalProperties": { "$ref": "cardano.json#/definitions/Datum" }
}
, "redeemers":
{ "type": "array"
, "items": { "$ref": "cardano.json#/definitions/Redeemer" }
}
, "cbor":
{ "type": "string"
, "contentEncoding": "base16"
}
}
}

, "TransactionId":
{ "title": "TransactionId"
, "description": "A Blake2b 32-byte hash digest of a transaction body"
Expand Down
Loading