Expand description
The canonical control-plane error taxonomy.
One definition point for every error code a dig-node control method emits, the ControlError
envelope ({code, message, data:{code, origin}}), and the constructor both sides use so every
error carries a machine-branchable data.code (UPPER_SNAKE) and data.origin.
The numeric values are the SAME published wire contract as dig-node’s meta::ErrorCode and the
canonical dig-rpc -320xx control range — they never change once assigned. A client keys its UX
off data.code (the stable symbol), never the human message.
| Code | Variant | Origin | Meaning |
|---|---|---|---|
-32700 | ParseError | shell | request body was not valid JSON |
-32600 | InvalidRequest | shell | not a single JSON-RPC object |
-32601 | MethodNotFound | boundary | control method is not resolved |
-32602 | InvalidParams | node | missing/malformed params |
-32000 | DispatchFailed | shell | the node failed to dispatch |
-32030 | Unauthorized | shell | called without a valid control token |
-32031 | NotSupported | shell | control op unsupported on this build |
-32032 | ControlError | shell | control op failed at runtime |
-32040 | WalletNoChainSource | node | no live chain source could answer |
-32041 | WalletNotSynced | node | the local replica is still syncing |
-32042 | WalletReadFailed | node | the read failed at the DB / chain layer |
-32043 | WalletRateLimited | node | the open fallback rate bound is exhausted |
-32044 | WalletNodeSpendDisabled | node | the bundle spends the NODE’s own coins and live broadcast is off |
-32046 | WalletCoinsReserved | node | coins are held by an in-flight spend |
-32047 | WalletReservationsUnavailable | node | the reservation set could not be read |
-32048 | SpendAuditUnreadable | shell | the automated-spend audit record could not be read |
The -3204x block is OWNED BY THIS CRATE. A node or client MUST NOT mint a code in it that is
not declared here: a privately-minted code is invisible to allocation, and two implementations
then disagree about what one number means. -32044 is the worked example — it was minted in
dig-node for a permanent custody refusal and, independently, here for a transient wait, so a
client conflating them either retries forever on a refusal or gives up on a wait.
Structs§
- Control
Error - A control-plane error, serialized as the JSON-RPC
errorobject ({code, message, data:{code, origin}}). - Control
Error Data - The machine-branchable inner data on a control error: the stable symbol + its origin.
Enums§
- Control
Error Code - A canonical control-plane error code.