* Add timeout to all wallet API calls
* Pass timeout signal to wallet API
* Fix timeout error message not shown on timeout
* Fix cross-fetch throws generic error message on abort
* Fix wrong method in error message
* Always use FetchTimeoutError
* Catch NDK timeout error to replace with custom timeout error
* Also use 15s for NWC connect timeout
* Add timeout delay
* Use same naming scheme between ln containers and env vars
* Add router_lnd container
* Only open channels to router_lnd
* Use 1sat base fee and 0ppm fee rate
* Add script to test routing
* Also fund router_lnd wallet
* Receiver fallbacks
* Rename to predecessorId
* Remove useless wallet table join
* Missing renaming to predecessor
* Fix payment stuck on sender error
We want to await the invoice poll promise so we can check for receiver errors, but in case of sender errors, the promise will never settle.
* Don't log failed forwards as sender errors
* fix check for receiver error
---------
Co-authored-by: Keyan <34140557+huumn@users.noreply.github.com>
Co-authored-by: k00b <k00b@stacker.news>
Testing for canSend is not enough since it can also return true if the wallet is not enabled.
This is the case because we want to allow disabling wallets but canSend must still return true in this case if send is configured.
This should probably be changed such that canSend only returns true when the wallet is enabled without preventing disabling of wallets.