- Correct YAML indentation
- Fix Poetry installation (no --user, avoids not found errors)
- Remove unnecessary steps and sudo usage
- Modularize CLN cache jobs
- Run `poetry run make` concurrently to speed up build
- Correct YAML indentation
- Fix Poetry installation (no --user, avoids not found errors)
- Remove unnecessary steps and sudo usage
- Modularize CLN cache jobs
- Run `poetry run make` concurrently to speed up build
Compiling time with rustc over 1.80.0 (inclusive) results in a crash
for old versions of the time crate, which CLN uses. Make sure we are up
to date with the current revision
Core lightning is starting to support a decent plugin manager that gives you the possibility to install a plugin without care about the process.
Coffee [1] is a plugin manager that uses the manifest like all basic plugin managers (npm, pacman ...).
So this commit is adding support for coffee and allowing people to install plugins with the following command:
```
coffee remote add teos-git https://github.com/talaia-labs/rust-teos.git
coffee install rust-teos -v
coffee list
```
[1] https://github.com/coffee-tools/coffee
Signed-off-by: Vincenzo Palazzo <vincenzopalazzodev@gmail.com>
rcgen was using version 0.8 which used a ring version that didn't support
ppc64le arch. Support for it was recently added in ring=0.17.0 and supported by
rcgen in 0.13
`pyln-testing` depends on `pyln-client`, and the API for the latter has changed
in version 24.0. Fix our dependency to 23.11 to prevent test from breaking
Clippy is complaining about using `.get(0)` instead of `.fist()` in methods
where we are getting more than just the first item. Suppress those warning.
Also fixes some actual issues.
Regrading the `Watcher`, fields (appointments, locator_uuid_map) has
been replaced by DB calls when needed.
For `Responder`, the field `trackers` has been replaced by DB calls when
needed, and `tx_tracker_map` wasn't actually needed for the tower to
operate, so was just dropped.
For `GateKeeper`, `registered_users::appointments` which used to hold
the uuids of every appointment the user submitted was removed so that
`registered_users` only holds meta information about users.
Also now the gatekeeper is the entity responsible for deleting appointments from the database. Instead of the watcher/responder asking the gatekeeper for the users to update and carry out the deletion and update itself, now the watcher/responder will hand the gatekeeper the uuids to delete and the gatekeeper will figure out which users it needs to update (refund the freed slots to).
Also now, like in `Watcher::store_triggered_appointment`, if the appointment is invalid or was rejected by the network in block connections, the freed slots will not be refunded to the user.
Also the block connection order starts with the gatekeeper first, this
allows the gatekeeper to delete the outdated users so that the watcher
and the responder doesn't take them into account.
`last_known_blocks` was taking up ~300migs of memory (for 100 blocks) because it was not dropped in `main`.
Co-authored-by: Sergi Delgado Segura <sergi.delgado.s@gmail.com>
By loading the minimal necessary data during bootstrap, we get lower
memory usage and faster bootstrapping.
Co-authored-by: Sergi Delgado Segura <sergi.delgado.s@gmail.com>
Added a function that prints the error to the standard error stream and exits the process with a status code of 1, this is to seprate the cli errors from regular output