Error Codes
Comprehensive catalog of all SDK error codes with descriptions.
General Errors
| Code | Description |
|---|---|
unknown-error | An unexpected error occurred |
invalid-configuration | SDK configuration is invalid |
operation-timeout | Operation timed out |
operation-cancelled | User cancelled the operation |
Provider Errors
| Code | Description |
|---|---|
provider-missing | Required wallet provider not configured |
provider-initialization-failed | Failed to initialize wallet provider |
provider-call-failed | Wallet provider method call failed |
signer-missing | Transaction signer not available |
user-rejected | User rejected the transaction or signature |
network-mismatch | Wallet is connected to wrong network |
Validation Errors
| Code | Description |
|---|---|
invalid-address | Address format is invalid |
invalid-amount | Amount format is invalid |
amount-too-small | Amount is below minimum |
amount-too-large | Amount is above maximum |
insufficient-balance | Not enough balance for operation |
invalid-parameter | Parameter value is invalid |
missing-required-parameter | Required parameter was not provided |
invalid-chain | Chain is not supported |
invalid-state | Action is in invalid state for operation |
invalid-asset | Asset is not supported |
Contract Errors
| Code | Description |
|---|---|
contract-call-failed | Smart contract call failed |
transaction-failed | Transaction execution failed |
transaction-reverted | Transaction was reverted |
approval-failed | Token approval failed |
insufficient-allowance | Token allowance is too low |
gas-estimation-failed | Could not estimate gas |
Registry Errors
| Code | Description |
|---|---|
route-not-found | No matching route found |
invalid-route-definition | Route definition is invalid |
unsupported-chain | Chain is not supported in environment |
unsupported-asset | Asset is not supported |
incompatible-route | Route is incompatible with parameters |
environment-mismatch | Environment mismatch |
Handling Errors
import { isLombardError } from '@lombard.finance/sdk';
try {
await action.execute();
} catch (error) {
if (isLombardError(error)) {
// Access error.code, error.message, error.metadata
switch (error.code) {
case 'user-rejected':
// Handle user cancellation
break;
case 'network-mismatch':
// Prompt network switch
break;
case 'amount-too-small':
// Show minimum from error.metadata
break;
}
}
}Last updated on