Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
7e764d0
feat(ui): unify shield screens into single ShieldScreen with address …
lklimek Mar 26, 2026
7b757ce
Merge branch 'v1.0-dev' into feat/unified-shield-screen
lklimek Mar 26, 2026
40e2614
feat: fetch epoch info on connection sync to populate protocol version
lklimek Mar 26, 2026
ded7612
fix(ui): invalidate cached tx indices when transaction list changes
lklimek Mar 26, 2026
b1aeb41
fix(shielded): add fee headroom to note selection (#795 item 1)
lklimek Mar 26, 2026
c4d3a56
fix(shielded): reduce fee headroom from 5 DASH to 0.1 DASH
lklimek Mar 26, 2026
a255582
fix: resolve clippy and fmt CI failures
lklimek Mar 27, 2026
74e2114
refactor: address code review findings from PR #801
lklimek Mar 27, 2026
5551c0f
refactor(send): replace inverted if-let guard with idiomatic !matches!
lklimek Mar 27, 2026
43485fb
fix(review): address PR #801 review findings
lklimek Mar 27, 2026
893f770
docs(shielded): consolidate duplicate doc comment summary lines
lklimek Mar 27, 2026
bf17628
refactor(shielded): extract restrict_utxos closure into a named helpe…
lklimek Mar 27, 2026
8c8b077
feat(shielded): replace hardcoded fee headroom with dynamic estimation
lklimek Mar 27, 2026
4d76762
refactor(wallet): thread source_address filter through UTXO selection
lklimek Mar 27, 2026
ab7da8a
refactor(shielded): replace fee headroom estimation with iterative no…
lklimek Mar 27, 2026
1e9e4fe
fix(shielded): harden shield screen with graceful locks, theme colors…
lklimek Mar 27, 2026
7d677bf
fix(ui): use theme-aware colors in shield screen for dark mode support
lklimek Mar 27, 2026
9a6f832
refactor(fees): centralize shield-from-core fee estimation in fee_est…
lklimek Mar 27, 2026
b22f370
docs: note fee estimation centralization rule in CLAUDE.md
lklimek Mar 27, 2026
063623e
fix(shielded): address review findings — fee guard, L1 fee, lock safe…
lklimek Mar 27, 2026
d6af76b
fix(shielded): apply fee multiplier, freeze batch inputs, preserve co…
lklimek Mar 27, 2026
46a274a
fix(shielded): skip stale-nonce items in parallel batch instead of ca…
lklimek Mar 27, 2026
67344ca
docs: add typed error matching rule to CLAUDE.md
lklimek Mar 27, 2026
fcc5ffb
fix(ui): restore vibrant progress bar fill colors
lklimek Mar 27, 2026
c03ccf1
fix(shielded): don't cascade-fail on any nonce mismatch in parallel b…
lklimek Mar 27, 2026
66227ac
fix(shielded): handle nonce error via Protocol path, not just Broadca…
lklimek Mar 27, 2026
c5b9a91
fix(ui): use shared fee estimation and theme colors in send screen
lklimek Mar 27, 2026
d7b5dbc
fix(shielded): require block confirmation between parallel batch broa…
lklimek Mar 27, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
57 changes: 15 additions & 42 deletions src/ui/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -78,8 +78,7 @@ use tokens::unfreeze_tokens_screen::UnfreezeTokensScreen;
use tokens::update_token_config::UpdateTokenConfigScreen;
use tools::transition_visualizer_screen::TransitionVisualizerScreen;
use wallets::add_new_wallet_screen::AddNewWalletScreen;
use wallets::shield_credits_screen::ShieldCreditsScreen;
use wallets::shield_from_asset_lock_screen::ShieldFromAssetLockScreen;
use wallets::shield_screen::ShieldScreen;
use wallets::shielded_send_screen::ShieldedSendScreen;
use wallets::unshield_credits_screen::UnshieldCreditsScreen;

Expand Down Expand Up @@ -308,8 +307,7 @@ pub enum ScreenType {
CreateAssetLock(Arc<RwLock<Wallet>>),

// Shielded screens
ShieldCreditsScreen(WalletSeedHash),
ShieldFromAssetLockScreen(WalletSeedHash),
ShieldScreen(WalletSeedHash),
ShieldedSendScreen(WalletSeedHash),
UnshieldCreditsScreen(WalletSeedHash),

Expand Down Expand Up @@ -429,11 +427,7 @@ impl PartialEq for ScreenType {
(ScreenType::DashPayQRGenerator, ScreenType::DashPayQRGenerator) => true,
(ScreenType::DashPayProfileSearch, ScreenType::DashPayProfileSearch) => true,
// Shielded screens
(ScreenType::ShieldCreditsScreen(a), ScreenType::ShieldCreditsScreen(b)) => a == b,
(
ScreenType::ShieldFromAssetLockScreen(a),
ScreenType::ShieldFromAssetLockScreen(b),
) => a == b,
(ScreenType::ShieldScreen(a), ScreenType::ShieldScreen(b)) => a == b,
(ScreenType::ShieldedSendScreen(a), ScreenType::ShieldedSendScreen(b)) => a == b,
(ScreenType::UnshieldCreditsScreen(a), ScreenType::UnshieldCreditsScreen(b)) => a == b,
_ => false,
Expand Down Expand Up @@ -692,12 +686,9 @@ impl ScreenType {
Screen::DashPayProfileSearchScreen(ProfileSearchScreen::new(app_context.clone()))
}
// Shielded screens
ScreenType::ShieldCreditsScreen(seed_hash) => {
Screen::ShieldCreditsScreen(ShieldCreditsScreen::new(*seed_hash, app_context))
ScreenType::ShieldScreen(seed_hash) => {
Screen::ShieldScreen(ShieldScreen::new(*seed_hash, app_context))
}
ScreenType::ShieldFromAssetLockScreen(seed_hash) => Screen::ShieldFromAssetLockScreen(
ShieldFromAssetLockScreen::new(*seed_hash, app_context),
),
ScreenType::ShieldedSendScreen(seed_hash) => {
Screen::ShieldedSendScreen(ShieldedSendScreen::new(*seed_hash, app_context))
}
Expand Down Expand Up @@ -763,8 +754,7 @@ pub enum Screen {
CreateAssetLockScreen(CreateAssetLockScreen),

// Shielded Screens
ShieldCreditsScreen(ShieldCreditsScreen),
ShieldFromAssetLockScreen(ShieldFromAssetLockScreen),
ShieldScreen(ShieldScreen),
ShieldedSendScreen(ShieldedSendScreen),
UnshieldCreditsScreen(UnshieldCreditsScreen),

Expand Down Expand Up @@ -879,8 +869,7 @@ impl Screen {
Screen::DashPayQRGeneratorScreen(screen) => screen.app_context = app_context,
Screen::DashPayProfileSearchScreen(screen) => screen.app_context = app_context,
// Shielded screens
Screen::ShieldCreditsScreen(screen) => screen.app_context = app_context.clone(),
Screen::ShieldFromAssetLockScreen(screen) => screen.app_context = app_context.clone(),
Screen::ShieldScreen(screen) => screen.app_context = app_context.clone(),
Comment thread
coderabbitai[bot] marked this conversation as resolved.
Outdated
Comment thread
lklimek marked this conversation as resolved.
Outdated
Screen::ShieldedSendScreen(screen) => {
screen.app_context = app_context.clone();
screen.invalidate_address_input();
Expand Down Expand Up @@ -1108,10 +1097,7 @@ impl Screen {
Screen::DashPayQRGeneratorScreen(_) => ScreenType::DashPayQRGenerator,
Screen::DashPayProfileSearchScreen(_) => ScreenType::DashPayProfileSearch,
// Shielded screens
Screen::ShieldCreditsScreen(s) => ScreenType::ShieldCreditsScreen(s.seed_hash),
Screen::ShieldFromAssetLockScreen(s) => {
ScreenType::ShieldFromAssetLockScreen(s.seed_hash)
}
Screen::ShieldScreen(s) => ScreenType::ShieldScreen(s.seed_hash),
Screen::ShieldedSendScreen(s) => ScreenType::ShieldedSendScreen(s.seed_hash),
Screen::UnshieldCreditsScreen(s) => ScreenType::UnshieldCreditsScreen(s.seed_hash),
}
Expand Down Expand Up @@ -1183,8 +1169,7 @@ impl ScreenLike for Screen {
Screen::DashPayQRGeneratorScreen(_) => {}
Screen::DashPayProfileSearchScreen(screen) => screen.refresh(),
// Shielded screens
Screen::ShieldCreditsScreen(_) => {}
Screen::ShieldFromAssetLockScreen(_) => {}
Screen::ShieldScreen(_) => {}
Screen::ShieldedSendScreen(_) => {}
Screen::UnshieldCreditsScreen(_) => {}
}
Expand Down Expand Up @@ -1254,8 +1239,7 @@ impl ScreenLike for Screen {
Screen::DashPayQRGeneratorScreen(_) => {}
Screen::DashPayProfileSearchScreen(screen) => screen.refresh_on_arrival(),
// Shielded screens
Screen::ShieldCreditsScreen(_) => {}
Screen::ShieldFromAssetLockScreen(_) => {}
Screen::ShieldScreen(_) => {}
Screen::ShieldedSendScreen(_) => {}
Screen::UnshieldCreditsScreen(_) => {}
}
Expand Down Expand Up @@ -1325,8 +1309,7 @@ impl ScreenLike for Screen {
Screen::DashPayQRGeneratorScreen(screen) => screen.ui(ctx),
Screen::DashPayProfileSearchScreen(screen) => screen.ui(ctx),
// Shielded screens
Screen::ShieldCreditsScreen(screen) => screen.ui(ctx),
Screen::ShieldFromAssetLockScreen(screen) => screen.ui(ctx),
Screen::ShieldScreen(screen) => screen.ui(ctx),
Screen::ShieldedSendScreen(screen) => screen.ui(ctx),
Screen::UnshieldCreditsScreen(screen) => screen.ui(ctx),
}
Expand Down Expand Up @@ -1430,10 +1413,7 @@ impl ScreenLike for Screen {
screen.display_message(message, message_type)
}
// Shielded screens
Screen::ShieldCreditsScreen(screen) => screen.display_message(message, message_type),
Screen::ShieldFromAssetLockScreen(screen) => {
screen.display_message(message, message_type)
}
Screen::ShieldScreen(screen) => screen.display_message(message, message_type),
Screen::ShieldedSendScreen(screen) => screen.display_message(message, message_type),
Screen::UnshieldCreditsScreen(screen) => screen.display_message(message, message_type),
}
Expand Down Expand Up @@ -1607,12 +1587,7 @@ impl ScreenLike for Screen {
screen.display_task_result(backend_task_success_result)
}
// Shielded screens
Screen::ShieldCreditsScreen(screen) => {
screen.display_task_result(backend_task_success_result)
}
Screen::ShieldFromAssetLockScreen(screen) => {
screen.display_task_result(backend_task_success_result)
}
Screen::ShieldScreen(screen) => screen.display_task_result(backend_task_success_result),
Screen::ShieldedSendScreen(screen) => {
screen.display_task_result(backend_task_success_result)
}
Expand Down Expand Up @@ -1687,8 +1662,7 @@ impl ScreenLike for Screen {
Screen::DashPayProfileSearchScreen(screen) => screen.display_task_error(error),

// Shielded Screens
Screen::ShieldCreditsScreen(screen) => screen.display_task_error(error),
Screen::ShieldFromAssetLockScreen(screen) => screen.display_task_error(error),
Screen::ShieldScreen(screen) => screen.display_task_error(error),
Screen::ShieldedSendScreen(screen) => screen.display_task_error(error),
Screen::UnshieldCreditsScreen(screen) => screen.display_task_error(error),
}
Expand Down Expand Up @@ -1758,8 +1732,7 @@ impl ScreenLike for Screen {
Screen::DashPayQRGeneratorScreen(_) => {}
Screen::DashPayProfileSearchScreen(_) => {}
// Shielded screens
Screen::ShieldCreditsScreen(_) => {}
Screen::ShieldFromAssetLockScreen(_) => {}
Screen::ShieldScreen(_) => {}
Screen::ShieldedSendScreen(_) => {}
Screen::UnshieldCreditsScreen(_) => {}
}
Expand Down
3 changes: 1 addition & 2 deletions src/ui/wallets/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,7 @@ pub mod asset_lock_detail_screen;
pub mod create_asset_lock_screen;
pub mod import_mnemonic_screen;
pub mod send_screen;
pub mod shield_credits_screen;
pub mod shield_from_asset_lock_screen;
pub mod shield_screen;
pub mod shielded_send_screen;
pub mod shielded_tab;
pub mod single_key_send_screen;
Expand Down
208 changes: 0 additions & 208 deletions src/ui/wallets/shield_from_asset_lock_screen.rs

This file was deleted.

Loading
Loading