TransactionRejected
class TransactionRejected(val reason: String, val txHash: String? = null, val customErrorCode: Int? = null) : NodeRpcException
Transaction rejected by node (validation failed).
Reasons:
Invalid signature
Double-spend (UTXO already spent)
Insufficient balance
TTL expired
Invalid format
Custom Error Codes (authoritative, from midnight-node):
115: InvalidProof (the ZK proof failed verification — regenerate the proof / check the proving-key & contract verifier-key versions match)
186: EffectsCheckFailure
195: InputNotInUtxos (an unshielded UTXO input is already spent or missing)
Recovery: Don't retry (fix transaction)