diff --git a/gui/Cargo.lock b/gui/Cargo.lock index 6dd21646..9fde9e67 100644 --- a/gui/Cargo.lock +++ b/gui/Cargo.lock @@ -124,9 +124,9 @@ dependencies = [ [[package]] name = "bech32" -version = "0.8.1" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf9ff0bbfd639f15c74af777d81383cf53efb7c93613f6cab67c6c11e05bbf8b" +checksum = "d86b93f97252c47b41663388e6d155714a9d0c398b99f1005cbc5f978b29f445" [[package]] name = "bit-set" @@ -145,11 +145,10 @@ checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" [[package]] name = "bitcoin" -version = "0.27.1" +version = "0.29.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a41df6ad9642c5c15ae312dd3d074de38fd3eb7cc87ad4ce10f90292a83fe4d" +checksum = "9cb36de3b18ad25f396f9168302e36fb7e1e8923298ab3127da252d288d5af9d" dependencies = [ - "base64-compat", "bech32", "bitcoin_hashes", "secp256k1", @@ -158,9 +157,9 @@ dependencies = [ [[package]] name = "bitcoin_hashes" -version = "0.10.0" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "006cc91e1a1d99819bc5b8214be3555c1f0611b169f527a1fdc54ed1f2b745b0" +checksum = "90064b8dee6815a6470d60bad07bbbaee885c0e12d04177138fa3291a01b7bc4" dependencies = [ "serde", ] @@ -1390,7 +1389,7 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "minisafe" version = "0.0.1" -source = "git+https://github.com/revault/minisafe?branch=master#9bb20303e71cd95528b39e0aa7c8d44f3e61d1c2" +source = "git+https://github.com/revault/minisafe?branch=master#790d283e77063c019f54690eb1c483562e12338c" dependencies = [ "backtrace", "base64", @@ -1411,7 +1410,6 @@ name = "minisafe-gui" version = "0.0.1" dependencies = [ "backtrace", - "bitcoin", "chrono", "dirs", "fern", @@ -1428,9 +1426,9 @@ dependencies = [ [[package]] name = "miniscript" -version = "6.1.0" +version = "8.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e292b58407dfbf1384e5aca8428d3b0f2eaa09d24cb17088f6db0b7ca31194a" +checksum = "7f4975078076f0b7b914a3044ad7432d2a7fcec38edb855afdc672e24ca35b69" dependencies = [ "bitcoin", "serde", @@ -2069,19 +2067,20 @@ checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" [[package]] name = "secp256k1" -version = "0.20.3" +version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97d03ceae636d0fed5bae6a7f4f664354c5f4fcedf6eef053fef17e49f837d0a" +checksum = "b7649a0b3ffb32636e60c7ce0d70511eda9c52c658cd0634e194d5a19943aeff" dependencies = [ + "bitcoin_hashes", "secp256k1-sys", "serde", ] [[package]] name = "secp256k1-sys" -version = "0.4.2" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "957da2573cde917463ece3570eab4a0b3f19de6f1646cde62e6fd3868f566036" +checksum = "83080e2c2fc1006e625be82e5d1eb6a43b7fd9578b617fcc55814daf286bba4b" dependencies = [ "cc", ] diff --git a/gui/Cargo.toml b/gui/Cargo.toml index d5c0d4cc..a30e9808 100644 --- a/gui/Cargo.toml +++ b/gui/Cargo.toml @@ -14,7 +14,6 @@ name = "minisafe-gui" path = "src/main.rs" [dependencies] -bitcoin = { version = "0.27", features = ["base64", "use-serde"] } minisafe = { git = "https://github.com/revault/minisafe", branch = "master", default-features = false} backtrace = "0.3" diff --git a/gui/src/app/message.rs b/gui/src/app/message.rs index 0c66e434..9393c34e 100644 --- a/gui/src/app/message.rs +++ b/gui/src/app/message.rs @@ -1,4 +1,4 @@ -use minisafe::config::Config as DaemonConfig; +use minisafe::{config::Config as DaemonConfig, miniscript::bitcoin::Address}; use crate::{ app::{error::Error, view}, @@ -13,6 +13,6 @@ pub enum Message { LoadDaemonConfig(Box), DaemonConfigLoaded(Result<(), Error>), BlockHeight(Result), - ReceiveAddress(Result), + ReceiveAddress(Result), Coins(Result, Error>), } diff --git a/gui/src/app/state/mod.rs b/gui/src/app/state/mod.rs index 23992672..3160de69 100644 --- a/gui/src/app/state/mod.rs +++ b/gui/src/app/state/mod.rs @@ -3,9 +3,9 @@ mod settings; use std::sync::Arc; -use bitcoin::Amount; use iced::pure::{column, Element}; use iced::{widget::qr_code, Command, Subscription}; +use minisafe::miniscript::bitcoin::{Address, Amount}; use super::{cache::Cache, error::Error, menu::Menu, message::Message, view}; use crate::daemon::{model::Coin, Daemon}; @@ -36,7 +36,7 @@ pub struct Home { impl Home { pub fn new(coins: &[Coin]) -> Self { Self { - balance: Amount::from_sat(coins.iter().map(|coin| coin.amount.as_sat()).sum()), + balance: Amount::from_sat(coins.iter().map(|coin| coin.amount.to_sat()).sum()), } } } @@ -77,7 +77,7 @@ impl From for Box { #[derive(Default)] pub struct ReceivePanel { - address: Option, + address: Option
, qr_code: Option, warning: Option, } @@ -148,7 +148,7 @@ mod tests { }, }; - use bitcoin::Address; + use minisafe::miniscript::bitcoin::Address; use serde_json::json; use std::str::FromStr; diff --git a/gui/src/app/view/coins.rs b/gui/src/app/view/coins.rs index a6e52c34..bdd3fa47 100644 --- a/gui/src/app/view/coins.rs +++ b/gui/src/app/view/coins.rs @@ -45,7 +45,7 @@ fn coin_list_view<'a>(i: usize, coin: &Coin) -> Element<'a, Message> { .width(Length::Fill), ) .push( - text(&format!("{} BTC", coin.amount.as_btc())) + text(&format!("{} BTC", coin.amount.to_btc())) .bold() .width(Length::Shrink), ) diff --git a/gui/src/app/view/home.rs b/gui/src/app/view/home.rs index 23fd5763..f47c3106 100644 --- a/gui/src/app/view/home.rs +++ b/gui/src/app/view/home.rs @@ -2,6 +2,7 @@ use iced::{ pure::{column, Element}, Alignment, }; +use minisafe::miniscript::bitcoin; use crate::ui::component::text::*; @@ -10,7 +11,7 @@ use super::message::Message; pub fn home_view(balance: &bitcoin::Amount) -> Element { column() .push(column().padding(40)) - .push(text(&format!("{} BTC", balance.as_btc())).bold().size(50)) + .push(text(&format!("{} BTC", balance.to_btc())).bold().size(50)) .align_items(Alignment::Center) .spacing(20) .into() diff --git a/gui/src/app/view/receive.rs b/gui/src/app/view/receive.rs index 0d931d78..696dba2d 100644 --- a/gui/src/app/view/receive.rs +++ b/gui/src/app/view/receive.rs @@ -4,6 +4,8 @@ use iced::{ Alignment, }; +use minisafe::miniscript::bitcoin; + use crate::ui::{ component::{button, card, text::*}, icon, diff --git a/gui/src/app/view/settings.rs b/gui/src/app/view/settings.rs index 3aae7692..0767418b 100644 --- a/gui/src/app/view/settings.rs +++ b/gui/src/app/view/settings.rs @@ -4,6 +4,8 @@ use iced::{ Alignment, Length, }; +use minisafe::miniscript::bitcoin; + use super::{ dashboard, message::{Message, SettingsMessage}, diff --git a/gui/src/installer/config.rs b/gui/src/installer/config.rs index b3daaec8..9ee70f65 100644 --- a/gui/src/installer/config.rs +++ b/gui/src/installer/config.rs @@ -1,9 +1,9 @@ use std::convert::TryFrom; -use bitcoin::Network; use minisafe::{ config::{BitcoinConfig, BitcoindConfig, Config as MinisafeConfig}, descriptors::InheritanceDescriptor, + miniscript::bitcoin::Network, }; use serde::Serialize; diff --git a/gui/src/installer/message.rs b/gui/src/installer/message.rs index 79461c3a..537ca1c4 100644 --- a/gui/src/installer/message.rs +++ b/gui/src/installer/message.rs @@ -1,3 +1,4 @@ +use minisafe::miniscript::bitcoin; use std::path::PathBuf; use super::Error; diff --git a/gui/src/installer/mod.rs b/gui/src/installer/mod.rs index 260c288c..864407f7 100644 --- a/gui/src/installer/mod.rs +++ b/gui/src/installer/mod.rs @@ -6,6 +6,7 @@ mod view; use iced::pure::Element; use iced::{Command, Subscription}; use iced_native::{window, Event}; +use minisafe::miniscript::bitcoin; use std::convert::TryInto; use std::io::Write; diff --git a/gui/src/installer/step/mod.rs b/gui/src/installer/step/mod.rs index e5e06995..931ff224 100644 --- a/gui/src/installer/step/mod.rs +++ b/gui/src/installer/step/mod.rs @@ -4,7 +4,10 @@ use std::str::FromStr; use iced::pure::Element; use minisafe::{ descriptors::InheritanceDescriptor, - miniscript::descriptor::{Descriptor, DescriptorPublicKey}, + miniscript::{ + bitcoin, + descriptor::{Descriptor, DescriptorPublicKey}, + }, }; use crate::ui::component::form; @@ -122,7 +125,7 @@ impl Step for DefineDescriptor { } message::DefineDescriptor::SequenceEdited(seq) => { self.sequence.valid = true; - if seq.is_empty() || seq.parse::().is_ok() { + if seq.is_empty() || seq.parse::().is_ok() { self.sequence.value = seq; } } @@ -167,7 +170,7 @@ impl Step for DefineDescriptor { let heir_key = DescriptorPublicKey::from_str(&self.heir_xpub.value); self.user_xpub.valid = user_key.is_ok(); - let sequence = self.sequence.value.parse::(); + let sequence = self.sequence.value.parse::(); self.sequence.valid = sequence.is_ok(); if !self.user_xpub.valid || !self.heir_xpub.valid || !self.sequence.valid { diff --git a/gui/src/installer/view.rs b/gui/src/installer/view.rs index 7faa997d..58a6bdf2 100644 --- a/gui/src/installer/view.rs +++ b/gui/src/installer/view.rs @@ -1,6 +1,8 @@ use iced::pure::{column, container, pick_list, row, scrollable, Element}; use iced::{Alignment, Length}; +use minisafe::miniscript::bitcoin; + use crate::ui::{ component::{ button, form, diff --git a/gui/src/loader.rs b/gui/src/loader.rs index 1812a116..89988c66 100644 --- a/gui/src/loader.rs +++ b/gui/src/loader.rs @@ -8,7 +8,10 @@ use iced::{Alignment, Command, Subscription}; use iced_native::{window, Event}; use log::{debug, info}; -use minisafe::config::{Config, ConfigError}; +use minisafe::{ + config::{Config, ConfigError}, + miniscript::bitcoin, +}; use crate::{ app::config::{default_datadir, Config as GUIConfig}, diff --git a/gui/src/main.rs b/gui/src/main.rs index 13ccf16e..807ae5d6 100644 --- a/gui/src/main.rs +++ b/gui/src/main.rs @@ -5,7 +5,7 @@ use iced::{executor, Command, Settings, Subscription}; extern crate serde; extern crate serde_json; -use minisafe::config::Config as DaemonConfig; +use minisafe::{config::Config as DaemonConfig, miniscript::bitcoin}; use minisafe_gui::{ app::{