KuruSdkError contains a stable code and optional cause. Current codes cover missing or invalid addresses, hex and byte lengths, signatures, integer widths, missing wallet clients, signer and nonce resolution, unsupported signers, wallet-intent validation, and contract-error decoding.
decodeKuruContractError(revertData) for Kuru custom errors. Preserve the original viem error and transaction inputs in logs; decoded names alone may omit the failing call context.
Separate four states in application logic:
- local input validation failed;
- simulation reverted;
- submission failed or was replaced;
- transaction was included and either succeeded or reverted.