Created Error Codes (markdown)

Lex Berezhny 2018-07-29 20:15:11 -04:00
parent e3da4c3277
commit 4bae3adac4

34
Error-Codes.md Normal file

@ -0,0 +1,34 @@
Proposal for consistent error codes across the entire lbrynet API.
Code | Name
---:|---
**1xx** | **Daemon `start` Failures (non-recoverable)**
100 | Daemon does not start. (A philosophical error code, never actually presented.)
10x | 101-109 TBD; covers various OS / runtime errors that prevent `lbrynet` from bootstrapping itself.
110 | Cannot write configuration file. (When writing the default config fails on startup, such as due to permission issues.)
111 | Cannot find provided configuration file. (Can't open the config file user provided via command line args.)
112 | Failed to parse the configuration file. (Includes the syntax error / line number to help user fix it.)
120 | Out of disk space.
130 | Command does not exist.
131 | Command is deprecated.
132 | Invalid arguments for command.
**2xx** | **Networking**
201 | Not internet connection.
202 | Router does not support UPnP.
210 | Failed connecting to a lbryumx server. (Should normally not need to be handled higher up as `lbrynet` will retry other servers.)
211 | Failed connecting to all known lbryumx servers. (Will need to bubble up and require user to do something.)
212 | lbryumx droppped our connection. (Maybe we were being bad?)
213 | Disconnected from lbryumx server due to suspicious responses. (SPV failed to validate, etc)
214 | Disconnected from lbryumx server due to unresponsiveness.
215 | 215-229 TBD lbryumx connectivity errors.
230 | 230-249 P2P / blob download errors.
250 | 250 - 299 TBD DHT errors.
**3xx** | **Blockchain**
300 | Transaction rejected, unknown reason.
301 | Transaction rejected, fees too low.
310 | Not enough LBC to cover the transaction, even after all UTXOs reach 6 confirmations.
311 | Not enough LBC to cover the transaction, will be enough after some more confirmations.
330 | Channel signing key not found.
331 | Channel signing key is out of date. (For example, channel was updated but you don't have the updated key.)
**4xx** | **Blobs**
400 | Blob not found.