Troubleshooting Errors

Error Codes

In order to reduce gas usage and code size, /spark-protocol contracts return numbered errors. If you are making calls to the protocol and receive numbered errors, you can use the reference below to know what is the error. Alternatively, you can also find what the numbers represent by checking the Errors.sol

Reference Guide

Error codes are returned as string.

ERROR CODE (string)ERROR NAMEERROR DESCRIPTION

1

CALLER_NOT_POOL_ADMIN

The caller of the function is not a pool admin

2

CALLER_NOT_EMERGENCY_ADMIN

The caller of the function is not an emergency admin

3

CALLER_NOT_POOL_OR_EMERGENCY_ADMIN

The caller of the function is not a pool or emergency admin

4

CALLER_NOT_RISK_OR_POOL_ADMIN

The caller of the function is not a risk or pool admin

5

CALLER_NOT_ASSET_LISTING_OR_POOL_ADMIN

The caller of the function is not an asset listing or pool admin

6

CALLER_NOT_BRIDGE

The caller of the function is not a bridge

7

ADDRESSES_PROVIDER_NOT_REGISTERED

Pool addresses provider is not registered

8

INVALID_ADDRESSES_PROVIDER_ID

Invalid id for the pool addresses provider

9

NOT_CONTRACT

Address is not a contract

10

CALLER_NOT_POOL_CONFIGURATOR

The caller of the function is not the pool configurator

11

CALLER_NOT_ATOKEN

The caller of the function is not an SpToken

12

INVALID_ADDRESSES_PROVIDER

The address of the pool addresses provider is invalid

13

INVALID_FLASHLOAN_EXECUTOR_RETURN

Invalid return value of the flashloan executor function

14

RESERVE_ALREADY_ADDED

Reserve has already been added to reserve list

15

NO_MORE_RESERVES_ALLOWED

Maximum amount of reserves in the pool reached

16

EMODE_CATEGORY_RESERVED

Zero eMode category is reserved for volatile heterogeneous assets

17

INVALID_EMODE_CATEGORY_ASSIGNMENT

Invalid eMode category assignment to asset

18

RESERVE_LIQUIDITY_NOT_ZERO

The liquidity of the reserve needs to be 0

19

FLASHLOAN_PREMIUM_INVALID

Invalid flashloan premium

20

INVALID_RESERVE_PARAMS

Invalid risk parameters for the reserve

21

INVALID_EMODE_CATEGORY_PARAMS

Invalid risk parameters for the eMode category

22

BRIDGE_PROTOCOL_FEE_INVALID

Invalid bridge protocol fee

23

CALLER_MUST_BE_POOL

The caller of this function must be a pool

24

INVALID_MINT_AMOUNT

Invalid amount to mint

25

INVALID_BURN_AMOUNT

Invalid amount to burn

26

INVALID_AMOUNT

Amount must be greater than 0

27

RESERVE_INACTIVE

Action requires an active reserve

28

RESERVE_FROZEN

Action cannot be performed because the reserve is frozen

29

RESERVE_PAUSED

Action cannot be performed because the reserve is paused

30

BORROWING_NOT_ENABLED

Borrowing is not enabled

31

STABLE_BORROWING_NOT_ENABLED

Stable borrowing is not enabled

32

NOT_ENOUGH_AVAILABLE_USER_BALANCE

User cannot withdraw more than the available balance

33

INVALID_INTEREST_RATE_MODE_SELECTED

Invalid interest rate mode selected

34

COLLATERAL_BALANCE_IS_ZERO

The collateral balance is 0

35

HEALTH_FACTOR_LOWER_THAN_LIQUIDATION_THRESHOLD

Health factor is lesser than the liquidation threshold

36

COLLATERAL_CANNOT_COVER_NEW_BORROW

There is not enough collateral to cover a new borrow

37

COLLATERAL_SAME_AS_BORROWING_CURRENCY

Collateral is (mostly) the same currency that is being borrowed

38

AMOUNT_BIGGER_THAN_MAX_LOAN_SIZE_STABLE

The requested amount is greater than the max loan size in stable rate mode

39

NO_DEBT_OF_SELECTED_TYPE

For repayment of a specific type of debt, the user needs to have debt that type

40

NO_EXPLICIT_AMOUNT_TO_REPAY_ON_BEHALF

To repay on behalf of a user an explicit amount to repay is needed

41

NO_OUTSTANDING_STABLE_DEBT

User does not have outstanding stable rate debt on this reserve

42

NO_OUTSTANDING_VARIABLE_DEBT

User does not have outstanding variable rate debt on this reserve

43

UNDERLYING_BALANCE_ZERO

The underlying balance needs to be greater than 0

44

INTEREST_RATE_REBALANCE_CONDITIONS_NOT_MET

Interest rate rebalance conditions were not met

45

HEALTH_FACTOR_NOT_BELOW_THRESHOLD

Health factor is not below the threshold

46

COLLATERAL_CANNOT_BE_LIQUIDATED

The collateral chosen cannot be liquidated

47

SPECIFIED_CURRENCY_NOT_BORROWED_BY_USER

User did not borrow the specified currency

48

SAME_BLOCK_BORROW_REPAY

Borrow and repay in same block is not allowed

49

INCONSISTENT_FLASHLOAN_PARAMS

Inconsistent flashloan parameters

50

BORROW_CAP_EXCEEDED

Borrow cap is exceeded

51

SUPPLY_CAP_EXCEEDED

Supply cap is exceeded

52

UNBACKED_MINT_CAP_EXCEEDED

Unbacked mint cap is exceeded

53

DEBT_CEILING_EXCEEDED

Debt ceiling is exceeded

54

ATOKEN_SUPPLY_NOT_ZERO

SpToken supply is not zero

55

STABLE_DEBT_NOT_ZERO

Stable debt supply is not zero

56

VARIABLE_DEBT_SUPPLY_NOT_ZERO

Variable debt supply is not zero

57

LTV_VALIDATION_FAILED

Ltv validation failed

58

INCONSISTENT_EMODE_CATEGORY

Inconsistent eMode category

59

PRICE_ORACLE_SENTINEL_CHECK_FAILED

Price oracle sentinel validation failed

60

ASSET_NOT_BORROWABLE_IN_ISOLATION

Asset is not borrowable in isolation mode

61

RESERVE_ALREADY_INITIALIZED

Reserve has already been initialized

62

USER_IN_ISOLATION_MODE

User is in isolation mode

63

INVALID_LTV

Invalid ltv parameter for the reserve

64

INVALID_LIQ_THRESHOLD

Invalid liquidity threshold parameter for the reserve

65

INVALID_LIQ_BONUS

Invalid liquidity bonus parameter for the reserve

66

INVALID_DECIMALS

Invalid decimals parameter of the underlying asset of the reserve

67

INVALID_RESERVE_FACTOR

Invalid reserve factor parameter for the reserve

68

INVALID_BORROW_CAP

Invalid borrow cap for the reserve

69

INVALID_SUPPLY_CAP

Invalid supply cap for the reserve

70

INVALID_LIQUIDATION_PROTOCOL_FEE

Invalid liquidation protocol fee for the reserve

71

INVALID_EMODE_CATEGORY

Invalid eMode category for the reserve

72

INVALID_UNBACKED_MINT_CAP

Invalid unbacked mint cap for the reserve

73

INVALID_DEBT_CEILING

Invalid debt ceiling for the reserve

74

INVALID_RESERVE_INDEX

Invalid reserve index

75

ACL_ADMIN_CANNOT_BE_ZERO

ACL admin cannot be set to the zero address

76

INCONSISTENT_PARAMS_LENGTH

Array parameters that should be equal length are not

77

ZERO_ADDRESS_NOT_VALID

Zero address not valid

78

INVALID_EXPIRATION

Invalid expiration

79

INVALID_SIGNATURE

Invalid signature

80

OPERATION_NOT_SUPPORTED

Operation not supported

81

DEBT_CEILING_NOT_ZERO

Debt ceiling is not zero

82

ASSET_NOT_LISTED

Asset is not listed

83

INVALID_OPTIMAL_USAGE_RATIO

Invalid optimal usage ratio

84

INVALID_OPTIMAL_STABLE_TO_TOTAL_DEBT_RATIO

Invalid optimal stable to total debt ratio

85

UNDERLYING_CANNOT_BE_RESCUED

The underlying asset cannot be rescued

86

ADDRESSES_PROVIDER_ALREADY_ADDED

Reserve has already been added to reserve list

87

POOL_ADDRESSES_DO_NOT_MATCH

The token implementation pool address and the pool address provided by the initializing pool do not match

88

STABLE_BORROWING_ENABLED

Stable borrowing is enabled

89

SILOED_BORROWING_VIOLATION

User is trying to borrow multiple assets including a siloed one

90

RESERVE_DEBT_NOT_ZERO

// the total debt of the reserve needs to be 0

Last updated