> For the complete documentation index, see [llms.txt](https://docs.ursa.finance/ursa/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ursa.finance/ursa/documentation/contracts/ltokens/error-reporting.md).

# Error Reporting

## Error Codes

<table><thead><tr><th width="85.33333333333334">Code</th><th width="330">Name</th><th>Description</th></tr></thead><tbody><tr><td>0</td><td><code>NO_ERROR</code></td><td>Not a failure.</td></tr><tr><td>1</td><td><code>UNAUTHORIZED</code></td><td>The sender is not authorized to perform this action.</td></tr><tr><td>2</td><td><code>BAD_INPUT</code></td><td>An invalid argument was supplied by the caller.</td></tr><tr><td>3</td><td><code>COMPTROLLER_REJECTION</code></td><td>The action would violate the comptroller policy.</td></tr><tr><td>4</td><td><code>COMPTROLLER_CALCULATION_ERROR</code></td><td>An internal calculation has failed in the comptroller.</td></tr><tr><td>5</td><td><code>INTEREST_RATE_MODEL_ERROR</code></td><td>The interest rate model returned an invalid value.</td></tr><tr><td>6</td><td><code>INVALID_ACCOUNT_PAIR</code></td><td>The specified combination of accounts is invalid.</td></tr><tr><td>7</td><td><code>INVALID_CLOSE_AMOUNT_REQUESTED</code></td><td>The amount to liquidate is invalid.</td></tr><tr><td>8</td><td><code>INVALID_COLLATERAL_FACTOR</code></td><td>The collateral factor is invalid.</td></tr><tr><td>9</td><td><code>MATH_ERROR</code></td><td>A math calculation error occurred.</td></tr><tr><td>10</td><td><code>MARKET_NOT_FRESH</code></td><td>Interest has not been properly accrued.</td></tr><tr><td>11</td><td><code>MARKET_NOT_LISTED</code></td><td>The market is not currently listed by its comptroller.</td></tr><tr><td>12</td><td><code>TOKEN_INSUFFICIENT_ALLOWANCE</code></td><td>ERC-20 contract must <em>allow</em> Money Market contract to call <code>transferFrom</code>. The current allowance is either 0 or less than the requested supply, repayBorrow or liquidate amount.</td></tr><tr><td>13</td><td><code>TOKEN_INSUFFICIENT_BALANCE</code></td><td>Caller does not have sufficient balance in the ERC-20 contract to complete the desired action.</td></tr><tr><td>14</td><td><code>TOKEN_INSUFFICIENT_CASH</code></td><td>The market does not have a sufficient cash balance to complete the transaction. You may attempt this transaction again later.</td></tr><tr><td>15</td><td><code>TOKEN_TRANSFER_IN_FAILED</code></td><td>Failure in ERC-20 when transfering token into the market.</td></tr><tr><td>16</td><td><code>TOKEN_TRANSFER_OUT_FAILED</code></td><td>Failure in ERC-20 when transfering token out of the market.</td></tr></tbody></table>

## Failure Info

<table><thead><tr><th width="89">Code</th><th>Name</th></tr></thead><tbody><tr><td>0</td><td><code>ACCEPT_ADMIN_PENDING_ADMIN_CHECK</code></td></tr><tr><td>1</td><td><code>ACCRUE_INTEREST_ACCUMULATED_INTEREST_CALCULATION_FAILED</code></td></tr><tr><td>2</td><td><code>ACCRUE_INTEREST_BORROW_RATE_CALCULATION_FAILED</code></td></tr><tr><td>3</td><td><code>ACCRUE_INTEREST_NEW_BORROW_INDEX_CALCULATION_FAILED</code></td></tr><tr><td>4</td><td><code>ACCRUE_INTEREST_NEW_TOTAL_BORROWS_CALCULATION_FAILED</code></td></tr><tr><td>5</td><td><code>ACCRUE_INTEREST_NEW_TOTAL_RESERVES_CALCULATION_FAILED</code></td></tr><tr><td>6</td><td><code>ACCRUE_INTEREST_SIMPLE_INTEREST_FACTOR_CALCULATION_FAILED</code></td></tr><tr><td>7</td><td><code>BORROW_ACCUMULATED_BALANCE_CALCULATION_FAILED</code></td></tr><tr><td>8</td><td><code>BORROW_ACCRUE_INTEREST_FAILED</code></td></tr><tr><td>9</td><td><code>BORROW_CASH_NOT_AVAILABLE</code></td></tr><tr><td>10</td><td><code>BORROW_FRESHNESS_CHECK</code></td></tr><tr><td>11</td><td><code>BORROW_NEW_TOTAL_BALANCE_CALCULATION_FAILED</code></td></tr><tr><td>12</td><td><code>BORROW_NEW_ACCOUNT_BORROW_BALANCE_CALCULATION_FAILED</code></td></tr><tr><td>13</td><td><code>BORROW_MARKET_NOT_LISTED</code></td></tr><tr><td>14</td><td><code>BORROW_COMPTROLLER_REJECTION</code></td></tr><tr><td>15</td><td><code>LIQUIDATE_ACCRUE_BORROW_INTEREST_FAILED</code></td></tr><tr><td>16</td><td><code>LIQUIDATE_ACCRUE_COLLATERAL_INTEREST_FAILED</code></td></tr><tr><td>17</td><td><code>LIQUIDATE_COLLATERAL_FRESHNESS_CHECK</code></td></tr><tr><td>18</td><td><code>LIQUIDATE_COMPTROLLER_REJECTION</code></td></tr><tr><td>19</td><td><code>LIQUIDATE_COMPTROLLER_CALCULATE_AMOUNT_SEIZE_FAILED</code></td></tr><tr><td>20</td><td><code>LIQUIDATE_CLOSE_AMOUNT_IS_UINT_MAX</code></td></tr><tr><td>21</td><td><code>LIQUIDATE_CLOSE_AMOUNT_IS_ZERO</code></td></tr><tr><td>22</td><td><code>LIQUIDATE_FRESHNESS_CHECK</code></td></tr><tr><td>23</td><td><code>LIQUIDATE_LIQUIDATOR_IS_BORROWER</code></td></tr><tr><td>24</td><td><code>LIQUIDATE_REPAY_BORROW_FRESH_FAILED</code></td></tr><tr><td>25</td><td><code>LIQUIDATE_SEIZE_BALANCE_INCREMENT_FAILED</code></td></tr><tr><td>26</td><td><code>LIQUIDATE_SEIZE_BALANCE_DECREMENT_FAILED</code></td></tr><tr><td>27</td><td><code>LIQUIDATE_SEIZE_COMPTROLLER_REJECTION</code></td></tr><tr><td>28</td><td><code>LIQUIDATE_SEIZE_LIQUIDATOR_IS_BORROWER</code></td></tr><tr><td>29</td><td><code>LIQUIDATE_SEIZE_TOO_MUCH</code></td></tr><tr><td>30</td><td><code>MINT_ACCRUE_INTEREST_FAILED</code></td></tr><tr><td>31</td><td><code>MINT_COMPTROLLER_REJECTION</code></td></tr><tr><td>32</td><td><code>MINT_EXCHANGE_CALCULATION_FAILED</code></td></tr><tr><td>33</td><td><code>MINT_EXCHANGE_RATE_READ_FAILED</code></td></tr><tr><td>34</td><td><code>MINT_FRESHNESS_CHECK</code></td></tr><tr><td>35</td><td><code>MINT_NEW_ACCOUNT_BALANCE_CALCULATION_FAILED</code></td></tr><tr><td>36</td><td><code>MINT_NEW_TOTAL_SUPPLY_CALCULATION_FAILED</code></td></tr><tr><td>37</td><td><code>MINT_TRANSFER_IN_FAILED</code></td></tr><tr><td>38</td><td><code>MINT_TRANSFER_IN_NOT_POSSIBLE</code></td></tr><tr><td>39</td><td><code>REDEEM_ACCRUE_INTEREST_FAILED</code></td></tr><tr><td>40</td><td><code>REDEEM_COMPTROLLER_REJECTION</code></td></tr><tr><td>41</td><td><code>REDEEM_EXCHANGE_TOKENS_CALCULATION_FAILED</code></td></tr><tr><td>42</td><td><code>REDEEM_EXCHANGE_AMOUNT_CALCULATION_FAILED</code></td></tr><tr><td>43</td><td><code>REDEEM_EXCHANGE_RATE_READ_FAILED</code></td></tr><tr><td>44</td><td><code>REDEEM_FRESHNESS_CHECK</code></td></tr><tr><td>45</td><td><code>REDEEM_NEW_ACCOUNT_BALANCE_CALCULATION_FAILED</code></td></tr><tr><td>46</td><td><code>REDEEM_NEW_TOTAL_SUPPLY_CALCULATION_FAILED</code></td></tr><tr><td>47</td><td><code>REDEEM_TRANSFER_OUT_NOT_POSSIBLE</code></td></tr><tr><td>48</td><td><code>REDUCE_RESERVES_ACCRUE_INTEREST_FAILED</code></td></tr><tr><td>49</td><td><code>REDUCE_RESERVES_ADMIN_CHECK</code></td></tr><tr><td>50</td><td><code>REDUCE_RESERVES_CASH_NOT_AVAILABLE</code></td></tr><tr><td>51</td><td><code>REDUCE_RESERVES_FRESH_CHECK</code></td></tr><tr><td>52</td><td><code>REDUCE_RESERVES_VALIDATION</code></td></tr><tr><td>53</td><td><code>REPAY_BEHALF_ACCRUE_INTEREST_FAILED</code></td></tr><tr><td>54</td><td><code>REPAY_BORROW_ACCRUE_INTEREST_FAILED</code></td></tr><tr><td>55</td><td><code>REPAY_BORROW_ACCUMULATED_BALANCE_CALCULATION_FAILED</code></td></tr><tr><td>56</td><td><code>REPAY_BORROW_COMPTROLLER_REJECTION</code></td></tr><tr><td>57</td><td><code>REPAY_BORROW_FRESHNESS_CHECK</code></td></tr><tr><td>58</td><td><code>REPAY_BORROW_NEW_ACCOUNT_BORROW_BALANCE_CALCULATION_FAILED</code></td></tr><tr><td>59</td><td><code>REPAY_BORROW_NEW_TOTAL_BALANCE_CALCULATION_FAILED</code></td></tr><tr><td>60</td><td><code>REPAY_BORROW_TRANSFER_IN_NOT_POSSIBLE</code></td></tr><tr><td>61</td><td><code>SET_COLLATERAL_FACTOR_OWNER_CHECK</code></td></tr><tr><td>62</td><td><code>SET_COLLATERAL_FACTOR_VALIDATION</code></td></tr><tr><td>63</td><td><code>SET_COMPTROLLER_OWNER_CHECK</code></td></tr><tr><td>64</td><td><code>SET_INTEREST_RATE_MODEL_ACCRUE_INTEREST_FAILED</code></td></tr><tr><td>65</td><td><code>SET_INTEREST_RATE_MODEL_FRESH_CHECK</code></td></tr><tr><td>66</td><td><code>SET_INTEREST_RATE_MODEL_OWNER_CHECK</code></td></tr><tr><td>67</td><td><code>SET_MAX_ASSETS_OWNER_CHECK</code></td></tr><tr><td>68</td><td><code>SET_ORACLE_MARKET_NOT_LISTED</code></td></tr><tr><td>69</td><td><code>SET_PENDING_ADMIN_OWNER_CHECK</code></td></tr><tr><td>70</td><td><code>SET_RESERVE_FACTOR_ACCRUE_INTEREST_FAILED</code></td></tr><tr><td>71</td><td><code>SET_RESERVE_FACTOR_ADMIN_CHECK</code></td></tr><tr><td>72</td><td><code>SET_RESERVE_FACTOR_FRESH_CHECK</code></td></tr><tr><td>73</td><td><code>SET_RESERVE_FACTOR_BOUNDS_CHECK</code></td></tr><tr><td>74</td><td><code>TRANSFER_COMPTROLLER_REJECTION</code></td></tr><tr><td>75</td><td><code>TRANSFER_NOT_ALLOWED</code></td></tr><tr><td>76</td><td><code>TRANSFER_NOT_ENOUGH</code></td></tr><tr><td>77</td><td><code>TRANSFER_TOO_MUCH</code></td></tr></tbody></table>
