Skip to content

Commit b4496cc

Browse files
ekulkisnekAsh-L2L
authored andcommitted
Fix GUI layout squishing and small default window size
1 parent ab14ddf commit b4496cc

8 files changed

Lines changed: 421 additions & 249 deletions

File tree

app/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ tonic = { workspace = true }
3636
tonic-health = { workspace = true }
3737
# needs to line up with jsonrpsee tower version...
3838
tower = { workspace = true }
39-
tower-http = { workspace = true, features = ["request-id", "trace"] }
39+
tower-http = { workspace = true, features = ["cors", "request-id", "trace"] }
4040
tracing = { workspace = true }
4141
tracing-appender = { workspace = true }
4242
tracing-subscriber = { workspace = true, features = ["env-filter", "json"] }

app/app.rs

Lines changed: 36 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -287,30 +287,29 @@ impl App {
287287
Ok(())
288288
}
289289

290-
pub fn get_new_main_address(
290+
pub async fn get_new_main_address_async(
291291
&self,
292292
) -> Result<bitcoin::Address<bitcoin::address::NetworkChecked>, Error> {
293293
let Some(miner) = self.miner.as_ref() else {
294294
return Err(Error::NoCusfMainchainWalletClient);
295295
};
296-
let address = self.runtime.block_on({
297-
let miner = miner.clone();
298-
async move {
299-
let mut miner_write = miner.write().await;
300-
let cusf_mainchain = &mut miner_write.cusf_mainchain;
301-
let mainchain_info = cusf_mainchain.get_chain_info().await?;
302-
let cusf_mainchain_wallet =
303-
&mut miner_write.cusf_mainchain_wallet;
304-
let res = cusf_mainchain_wallet
305-
.create_new_address()
306-
.await?
307-
.require_network(mainchain_info.network)
308-
.unwrap();
309-
drop(miner_write);
310-
Result::<_, Error>::Ok(res)
311-
}
312-
})?;
313-
Ok(address)
296+
let mut miner_write = miner.write().await;
297+
let cusf_mainchain = &mut miner_write.cusf_mainchain;
298+
let mainchain_info = cusf_mainchain.get_chain_info().await?;
299+
let cusf_mainchain_wallet = &mut miner_write.cusf_mainchain_wallet;
300+
let res = cusf_mainchain_wallet
301+
.create_new_address()
302+
.await?
303+
.require_network(mainchain_info.network)
304+
.unwrap();
305+
drop(miner_write);
306+
Ok(res)
307+
}
308+
309+
pub fn get_new_main_address(
310+
&self,
311+
) -> Result<bitcoin::Address<bitcoin::address::NetworkChecked>, Error> {
312+
self.runtime.block_on(self.get_new_main_address_async())
314313
}
315314

316315
const EMPTY_BLOCK_BMM_BRIBE: bitcoin::Amount =
@@ -531,7 +530,7 @@ impl App {
531530
Ok(())
532531
}
533532

534-
pub fn deposit(
533+
pub async fn deposit_async(
535534
&self,
536535
address: Address,
537536
amount: bitcoin::Amount,
@@ -540,15 +539,23 @@ impl App {
540539
let Some(miner) = self.miner.as_ref() else {
541540
return Err(Error::NoCusfMainchainWalletClient);
542541
};
543-
self.runtime.block_on(async {
544-
let mut miner_write = miner.write().await;
545-
let txid = miner_write
546-
.cusf_mainchain_wallet
547-
.create_deposit_tx(address, amount.to_sat(), fee.to_sat())
548-
.await?;
549-
drop(miner_write);
550-
Ok(txid)
551-
})
542+
let mut miner_write = miner.write().await;
543+
let txid = miner_write
544+
.cusf_mainchain_wallet
545+
.create_deposit_tx(address, amount.to_sat(), fee.to_sat())
546+
.await?;
547+
drop(miner_write);
548+
Ok(txid)
549+
}
550+
551+
pub fn deposit(
552+
&self,
553+
address: Address,
554+
amount: bitcoin::Amount,
555+
fee: bitcoin::Amount,
556+
) -> Result<bitcoin::Txid, Error> {
557+
self.runtime
558+
.block_on(self.deposit_async(address, amount, fee))
552559
}
553560
}
554561

app/gui/coins/tx_builder.rs

Lines changed: 14 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ impl TxBuilder {
4848
ui.separator();
4949
ui.monospace(format!("Total: {value_in}"));
5050
ui.separator();
51-
egui::Grid::new("utxos").striped(true).show(ui, |ui| {
51+
egui::Grid::new("spent_utxos").striped(true).show(ui, |ui| {
5252
ui.monospace("kind");
5353
ui.monospace("outpoint");
5454
ui.monospace("value");
@@ -111,33 +111,29 @@ impl TxBuilder {
111111
ui: &mut egui::Ui,
112112
) -> anyhow::Result<()> {
113113
egui::ScrollArea::horizontal().show(ui, |ui| {
114-
egui::SidePanel::left("spend_utxo")
115-
.exact_width(300.)
116-
.resizable(false)
117-
.show_inside(ui, |ui| {
114+
ui.horizontal(|ui| {
115+
ui.vertical(|ui| {
116+
ui.set_width(250.0);
118117
self.utxo_selector.show(app, ui, &mut self.base_tx);
119118
});
120-
egui::SidePanel::left("value_in")
121-
.exact_width(300.)
122-
.resizable(false)
123-
.show_inside(ui, |ui| {
119+
ui.separator();
120+
ui.vertical(|ui| {
121+
ui.set_width(250.0);
124122
let () = self.show_value_in(app, ui);
125123
});
126-
egui::SidePanel::left("value_out")
127-
.exact_width(250.)
128-
.resizable(false)
129-
.show_inside(ui, |ui| {
124+
ui.separator();
125+
ui.vertical(|ui| {
126+
ui.set_width(250.0);
130127
let () = self.show_value_out(ui);
131128
});
132-
egui::SidePanel::left("create_utxo")
133-
.exact_width(450.)
134-
.resizable(false)
135-
.show_separator_line(false)
136-
.show_inside(ui, |ui| {
129+
ui.separator();
130+
ui.vertical(|ui| {
131+
ui.set_width(450.0);
137132
self.utxo_creator.show(app, ui, &mut self.base_tx);
138133
ui.separator();
139134
self.tx_creator.show(app, ui, &mut self.base_tx).unwrap();
140135
});
136+
});
141137
});
142138
Ok(())
143139
}

0 commit comments

Comments
 (0)