Skip to content

Errors

The hand-written exception classes. The per-code transaction errors are listed, with their codes, in Errors.

errors

Exceptions raised by pyogmios.

Every exception is an :class:OgmiosError. Errors returned by the server are :class:ResponseError subclasses chosen by the JSON-RPC error code, and carry the server's code, message and data, plus details: the data parsed into the method's error model from :mod:pyogmios.types, when it matches one.

::

OgmiosError
├── OgmiosConnectionError        (also a builtin ConnectionError)
├── OgmiosTimeoutError           (also a builtin TimeoutError)
├── ServerVersionError
├── StatefulOverHttpError
└── ResponseError
    ├── JsonRpcError                         -32700 to -32600
    │   ├── ParseError                       -32700
    │   ├── InvalidRequestError              -32600
    │   ├── MethodNotFoundError              -32601
    │   ├── InvalidParamsError               -32602
    │   │   └── TransactionDeserialisationError  (submit/evaluate)
    │   └── InternalError                    -32603
    ├── ChainSyncError                       1000s
    │   ├── IntersectionNotFoundError        1000
    │   └── IntersectionInterleavedError     1001
    ├── LedgerStateQueryError                2000s
    │   ├── AcquireLedgerStateError          2000
    │   ├── EraMismatchError                 2001
    │   ├── UnavailableInCurrentEraError     2002
    │   ├── AcquiredExpiredError             2003
    │   └── InvalidGenesisError              2004
    ├── TransactionError                     3000s
    │   ├── EvaluateTransactionError         (evaluateTransaction)
    │   │   └── one class per failure: IncompatibleEraError (3000) ... ScriptExecutionFailureError (3010)
    │   └── SubmitTransactionError           (submitTransaction)
    │       └── one class per ledger rejection: SubmitEraMismatchError (3005),
    │           InvalidSignatoriesError (3100) ... StakePoolVRFKeyAlreadyRegisteredError (3170)
    └── MempoolError                         4000s
        └── MustAcquireMempoolFirstError     4000

OgmiosError

Bases: Exception

Base class of every pyogmios exception.

OgmiosConnectionError

Bases: OgmiosError, ConnectionError

The client could not connect to Ogmios, or the connection was lost.

OgmiosTimeoutError

Bases: OgmiosError, TimeoutError

Ogmios did not answer in time.

ServerVersionError

Bases: OgmiosError

The server runs an Ogmios version this client does not support.

StatefulOverHttpError

Bases: OgmiosError

A stateful method was called over HTTP.

Chain sync, mempool monitoring and acquiring a ledger state keep state on the connection. Over HTTP every request is a new session, so the server's answers would be meaningless: use a ws:// or wss:// URL.

ResponseError

ResponseError(
    code: int,
    message: str,
    data: Any = None,
    *,
    method: str | None = None,
    details: Any = None
)

Bases: OgmiosError

The server answered a request with a JSON-RPC error.

JsonRpcError

JsonRpcError(
    code: int,
    message: str,
    data: Any = None,
    *,
    method: str | None = None,
    details: Any = None
)

Bases: ResponseError

A JSON-RPC protocol error: the request was malformed, unknown or had invalid params.

ParseError

ParseError(
    code: int,
    message: str,
    data: Any = None,
    *,
    method: str | None = None,
    details: Any = None
)

Bases: JsonRpcError

The server could not parse the request as JSON.

InvalidRequestError

InvalidRequestError(
    code: int,
    message: str,
    data: Any = None,
    *,
    method: str | None = None,
    details: Any = None
)

Bases: JsonRpcError

Ogmios uses this code for unknown methods and invalid params as well.

MethodNotFoundError

MethodNotFoundError(
    code: int,
    message: str,
    data: Any = None,
    *,
    method: str | None = None,
    details: Any = None
)

Bases: JsonRpcError

The method does not exist. (Ogmios usually answers -32600 for this.)

InvalidParamsError

InvalidParamsError(
    code: int,
    message: str,
    data: Any = None,
    *,
    method: str | None = None,
    details: Any = None
)

Bases: JsonRpcError

The params are invalid for the method.

InternalError

InternalError(
    code: int,
    message: str,
    data: Any = None,
    *,
    method: str | None = None,
    details: Any = None
)

Bases: JsonRpcError

The server failed while handling the request.

ChainSyncError

ChainSyncError(
    code: int,
    message: str,
    data: Any = None,
    *,
    method: str | None = None,
    details: Any = None
)

Bases: ResponseError

A chain synchronization error (codes 1000 to 1999).

IntersectionNotFoundError

IntersectionNotFoundError(
    code: int,
    message: str,
    data: Any = None,
    *,
    method: str | None = None,
    details: Any = None
)

Bases: ChainSyncError

None of the given points is on the chain. data holds the server's tip.

IntersectionInterleavedError

IntersectionInterleavedError(
    code: int,
    message: str,
    data: Any = None,
    *,
    method: str | None = None,
    details: Any = None
)

Bases: ChainSyncError

findIntersection was sent while nextBlock requests were still pending.

LedgerStateQueryError

LedgerStateQueryError(
    code: int,
    message: str,
    data: Any = None,
    *,
    method: str | None = None,
    details: Any = None
)

Bases: ResponseError

A ledger state query error (codes 2000 to 2999).

AcquireLedgerStateError

AcquireLedgerStateError(
    code: int,
    message: str,
    data: Any = None,
    *,
    method: str | None = None,
    details: Any = None
)

Bases: LedgerStateQueryError

The point to acquire is too old or not on the chain.

EraMismatchError

EraMismatchError(
    code: int,
    message: str,
    data: Any = None,
    *,
    method: str | None = None,
    details: Any = None
)

Bases: LedgerStateQueryError

The query was made for an era other than the ledger's current era.

UnavailableInCurrentEraError

UnavailableInCurrentEraError(
    code: int,
    message: str,
    data: Any = None,
    *,
    method: str | None = None,
    details: Any = None
)

Bases: LedgerStateQueryError

The query is not available in the ledger's current era.

AcquiredExpiredError

AcquiredExpiredError(
    code: int,
    message: str,
    data: Any = None,
    *,
    method: str | None = None,
    details: Any = None
)

Bases: LedgerStateQueryError

The acquired ledger state is too old to query: acquire it again.

InvalidGenesisError

InvalidGenesisError(
    code: int,
    message: str,
    data: Any = None,
    *,
    method: str | None = None,
    details: Any = None
)

Bases: LedgerStateQueryError

The node has no genesis configuration for the requested era.

TransactionError

TransactionError(
    code: int,
    message: str,
    data: Any = None,
    *,
    method: str | None = None,
    details: Any = None
)

Bases: ResponseError

A transaction submission or evaluation error (codes 3000 to 3999).

EvaluateTransactionError

EvaluateTransactionError(
    code: int,
    message: str,
    data: Any = None,
    *,
    method: str | None = None,
    details: Any = None
)

Bases: TransactionError

evaluateTransaction failed: see details for the reason and failing scripts.

SubmitTransactionError

SubmitTransactionError(
    code: int,
    message: str,
    data: Any = None,
    *,
    method: str | None = None,
    details: Any = None
)

Bases: TransactionError

submitTransaction was rejected: see details for the ledger's reasons.

TransactionDeserialisationError

TransactionDeserialisationError(
    code: int,
    message: str,
    data: Any = None,
    *,
    method: str | None = None,
    details: Any = None
)

Bases: InvalidParamsError, TransactionError

The transaction could not be decoded in any era. data lists the decoder errors.

MempoolError

MempoolError(
    code: int,
    message: str,
    data: Any = None,
    *,
    method: str | None = None,
    details: Any = None
)

Bases: ResponseError

A mempool monitoring error (codes 4000 to 4999).

MustAcquireMempoolFirstError

MustAcquireMempoolFirstError(
    code: int,
    message: str,
    data: Any = None,
    *,
    method: str | None = None,
    details: Any = None
)

Bases: MempoolError

The mempool must be acquired (acquireMempool) before this request.

error_class

error_class(
    code: int, method: str | None
) -> type[ResponseError]

The exception class for a JSON-RPC error code returned by method.