edouardparis 3c8e412384
Merge #1555: upgrade bitcoin dependency to 0.32 and related
c5f5284f57e37e578cc3001a7da1790c724437a3 upgrade bitcoin to 0.32 and related (Michael Mallan)

Pull request description:

  This is to upgrade bitcoin to 0.32 and related dependencies accordingly.

  Note that the bdk_electrum crate has not been upgraded to the most recent version available as the Electrum syncing there takes much longer due to the fetching and validation of Merkle proofs. There are ongoing changes in relation to that (https://github.com/bitcoindevkit/bdk/issues/1699) and so we can further upgrade this dependency once those changes have been completed.

  Non-BDK changes to the liana and lianad crates are taken from commit 20ee8b1e7b77cbf65942bc4f083afea95f2d1506 in draft PR https://github.com/wizardsardine/liana/pull/1228, which this replaces.

  (Once this PR has been tested and approved, we can release a new version of the async_hwi crate and point to that.)

ACKs for top commit:
  edouardparis:
    ACK c5f5284f57e37e578cc3001a7da1790c724437a3

Tree-SHA512: 3cb1a2060ecc4c6b9631df0eadf5692ad35495b9303edbb80a437aca60ae062a7227f20ddeb5eb722cf57dd80bfa752372a14d26b8f306844237bfdb5f41e51a
2025-01-27 18:04:19 +01:00
2025-01-17 12:13:41 +01:00
2025-01-27 14:36:29 +00:00
2025-01-27 14:36:29 +00:00
2025-01-23 22:05:18 +08:00
2025-01-27 11:34:03 +00:00
2025-01-27 14:36:29 +00:00
2024-11-19 18:01:25 +01:00
2025-01-07 11:22:24 +01:00
2024-01-04 14:32:57 +01:00
2022-11-17 17:10:22 +01:00
2024-11-15 13:47:06 +01:00
2024-12-17 10:52:03 +01:00

Liana

The missing safety net for your bitcoins.

About

Liana is a simple Bitcoin wallet. Like other Bitcoin wallets you have one key which can spend the funds in the wallet immediately. Unlike other wallets, Liana lets you in addition specify one key which can only spend the coins after the wallet has been inactive for some time.

We refer to these as the primary spending path (always accessible) and the recovery path (only available after some time of inactivity). You may have more than one key in either the primary or the recovery path (multisig). You may have more than one recovery path.

Here is an example of a Liana wallet configuration:

  • Owner's key (can always spend)
  • Any 2 keys from the owner's spouse and two kids (after 1 year)
  • A third party, in case all else failed (after 1 year and 3 months)

The lockup period is enforced onchain by the Bitcoin network. This is achieved by leveraging timelock capabilities of Bitcoin smart contracts (Script).

Liana can be used for trustless inheritance, loss protection or safer backups. Visit our website for more information.

Usage

Liana is available on Windows, Mac and Linux. To install and start using it see doc/USAGE.md. A more accessible version of Liana is also available as a web application here.

If you just want to quickly try out Liana on Bitcoin Signet, see doc/TRY.md.

Hacking on Liana

Liana is an open source project. It is hosted at Github. Contributions are very welcome. See here for guidelines. Most regular contributors hang out on our Discord. Join us there if you have any question about contributing.

Liana is separated in two main components: the daemon and the Graphical User Interface.

Liana daemon

The daemon contains the core logic of the wallet. It is both a library (a Rust crate) that exposes a command interface and a standalone UNIX daemon that exposes a JSONRPC API through a Unix Domain Socket.

The code for the daemon can be found in the liana folder.

Liana GUI

The GUI contains both an installer that guides a user through setting up a Liana wallet, as well as a graphical interface to the daemon using the iced library.

The code for the GUI can be found in the liana-gui folder.

Security

See SECURITY.md for details about reporting a security vulnerability or any bug that could potentially impact the security of users' funds.

License

Released under the BSD 3-Clause Licence. See the LICENCE file.

Description
A fork of https://github.com/wizardsardine/liana with removed loopback restrictions to allow connecting to a custom remote bitcoin core node
Readme
Languages
Rust 90.4%
Python 8.5%
Shell 0.5%
Scheme 0.3%
Nix 0.3%