rust-teos
rust-teos copied to clipboard
The Eye of Satoshi - Lightning Watchtower
`httpmock::MockServer` is being used in several tests throughout the codebase when interaction with the http API is needed for testing purposes. Currently, addresses to connect to the mocked server are...
Currently, a `BitcoindMock` is being used to test the tower functionality. We should either move to use `bitcoind` instead, or create a different test suite that uses it (for instance,...
See discussion in #50
The current codebase has an edge case where, if `bitcoind` is unreachable while an already triggered appointment is added, and `store_triggered_appointment` is called as result, the request will hang and...
Currently, SQLite is used as the sole SQL backend for the tower. However, the tower should allow having different SQL backends pickable during compilation. Generalize the `DBM` so other backends...
The signing of receipts ([teos-common/src/receipts.rs](https://github.com/talaia-labs/rust-teos/blob/master/teos-common/src/receipts.rs)) is assumed to be infallible and, therefore, the result is unwrapped. This may not be the case, and if so, it may need to be...
We are currently using two different RPC clients to interact with `bitcoind`. On the one hand, we have our local [bitcoin_cli::BitcoindClient](https://github.com/talaia-labs/rust-teos/blob/master/teos/src/bitcoin_cli.rs) that is required for our `ChainPoller` (base for `ChainMonitor`...
When a user is outdated by the `Gatekeeper`, the data stored by him is deleted alongside with the associated database data. This triggers a cascade deletion in the database that...
Currently the tower service is offered for free. However, the goal is integrate BOLT11 invoices in the response of the register message as a payment wall if subscriptions are being...
The Carrier is the main interface between the tower and `bitcoind`. Currently, several possible errors are taken into account, however, many more may not have a specific covered case. This...