Home / Emurgo / yoroi-mobile
Nov 20, 1-2 PM (0)
Nov 20, 2-3 PM (0)
Nov 20, 3-4 PM (2)
Nov 20, 4-5 PM (2)
Nov 20, 5-6 PM (0)
Nov 20, 6-7 PM (1)
Nov 20, 7-8 PM (1)
Nov 20, 8-9 PM (0)
Nov 20, 9-10 PM (0)
Nov 20, 10-11 PM (0)
Nov 20, 11-12 AM (0)
Nov 21, 12-1 AM (0)
Nov 21, 1-2 AM (0)
Nov 21, 2-3 AM (0)
Nov 21, 3-4 AM (0)
Nov 21, 4-5 AM (1)
Nov 21, 5-6 AM (0)
Nov 21, 6-7 AM (0)
Nov 21, 7-8 AM (0)
Nov 21, 8-9 AM (1)
Nov 21, 9-10 AM (1)
Nov 21, 10-11 AM (2)
Nov 21, 11-12 PM (2)
Nov 21, 12-1 PM (3)
Nov 21, 1-2 PM (0)
Nov 21, 2-3 PM (0)
Nov 21, 3-4 PM (0)
Nov 21, 4-5 PM (0)
Nov 21, 5-6 PM (1)
Nov 21, 6-7 PM (0)
Nov 21, 7-8 PM (0)
Nov 21, 8-9 PM (0)
Nov 21, 9-10 PM (0)
Nov 21, 10-11 PM (0)
Nov 21, 11-12 AM (0)
Nov 22, 12-1 AM (0)
Nov 22, 1-2 AM (0)
Nov 22, 2-3 AM (0)
Nov 22, 3-4 AM (0)
Nov 22, 4-5 AM (0)
Nov 22, 5-6 AM (0)
Nov 22, 6-7 AM (0)
Nov 22, 7-8 AM (0)
Nov 22, 8-9 AM (0)
Nov 22, 9-10 AM (0)
Nov 22, 10-11 AM (0)
Nov 22, 11-12 PM (0)
Nov 22, 12-1 PM (0)
Nov 22, 1-2 PM (0)
Nov 22, 2-3 PM (0)
Nov 22, 3-4 PM (0)
Nov 22, 4-5 PM (0)
Nov 22, 5-6 PM (0)
Nov 22, 6-7 PM (0)
Nov 22, 7-8 PM (1)
Nov 22, 8-9 PM (0)
Nov 22, 9-10 PM (2)
Nov 22, 10-11 PM (1)
Nov 22, 11-12 AM (0)
Nov 23, 12-1 AM (0)
Nov 23, 1-2 AM (0)
Nov 23, 2-3 AM (0)
Nov 23, 3-4 AM (0)
Nov 23, 4-5 AM (0)
Nov 23, 5-6 AM (0)
Nov 23, 6-7 AM (0)
Nov 23, 7-8 AM (0)
Nov 23, 8-9 AM (0)
Nov 23, 9-10 AM (0)
Nov 23, 10-11 AM (0)
Nov 23, 11-12 PM (0)
Nov 23, 12-1 PM (0)
Nov 23, 1-2 PM (0)
Nov 23, 2-3 PM (0)
Nov 23, 3-4 PM (0)
Nov 23, 4-5 PM (0)
Nov 23, 5-6 PM (0)
Nov 23, 6-7 PM (0)
Nov 23, 7-8 PM (0)
Nov 23, 8-9 PM (0)
Nov 23, 9-10 PM (0)
Nov 23, 10-11 PM (0)
Nov 23, 11-12 AM (0)
Nov 24, 12-1 AM (0)
Nov 24, 1-2 AM (0)
Nov 24, 2-3 AM (0)
Nov 24, 3-4 AM (0)
Nov 24, 4-5 AM (0)
Nov 24, 5-6 AM (1)
Nov 24, 6-7 AM (0)
Nov 24, 7-8 AM (2)
Nov 24, 8-9 AM (0)
Nov 24, 9-10 AM (3)
Nov 24, 10-11 AM (0)
Nov 24, 11-12 PM (0)
Nov 24, 12-1 PM (0)
Nov 24, 1-2 PM (0)
Nov 24, 2-3 PM (1)
Nov 24, 3-4 PM (2)
Nov 24, 4-5 PM (5)
Nov 24, 5-6 PM (1)
Nov 24, 6-7 PM (0)
Nov 24, 7-8 PM (0)
Nov 24, 8-9 PM (0)
Nov 24, 9-10 PM (2)
Nov 24, 10-11 PM (0)
Nov 24, 11-12 AM (0)
Nov 25, 12-1 AM (0)
Nov 25, 1-2 AM (0)
Nov 25, 2-3 AM (0)
Nov 25, 3-4 AM (0)
Nov 25, 4-5 AM (0)
Nov 25, 5-6 AM (0)
Nov 25, 6-7 AM (0)
Nov 25, 7-8 AM (5)
Nov 25, 8-9 AM (1)
Nov 25, 9-10 AM (1)
Nov 25, 10-11 AM (2)
Nov 25, 11-12 PM (1)
Nov 25, 12-1 PM (0)
Nov 25, 1-2 PM (0)
Nov 25, 2-3 PM (0)
Nov 25, 3-4 PM (2)
Nov 25, 4-5 PM (0)
Nov 25, 5-6 PM (0)
Nov 25, 6-7 PM (0)
Nov 25, 7-8 PM (2)
Nov 25, 8-9 PM (0)
Nov 25, 9-10 PM (3)
Nov 25, 10-11 PM (1)
Nov 25, 11-12 AM (1)
Nov 26, 12-1 AM (0)
Nov 26, 1-2 AM (0)
Nov 26, 2-3 AM (0)
Nov 26, 3-4 AM (0)
Nov 26, 4-5 AM (0)
Nov 26, 5-6 AM (0)
Nov 26, 6-7 AM (0)
Nov 26, 7-8 AM (0)
Nov 26, 8-9 AM (2)
Nov 26, 9-10 AM (1)
Nov 26, 10-11 AM (0)
Nov 26, 11-12 PM (1)
Nov 26, 12-1 PM (5)
Nov 26, 1-2 PM (5)
Nov 26, 2-3 PM (3)
Nov 26, 3-4 PM (2)
Nov 26, 4-5 PM (1)
Nov 26, 5-6 PM (1)
Nov 26, 6-7 PM (0)
Nov 26, 7-8 PM (0)
Nov 26, 8-9 PM (0)
Nov 26, 9-10 PM (0)
Nov 26, 10-11 PM (0)
Nov 26, 11-12 AM (3)
Nov 27, 12-1 AM (0)
Nov 27, 1-2 AM (0)
Nov 27, 2-3 AM (0)
Nov 27, 3-4 AM (0)
Nov 27, 4-5 AM (0)
Nov 27, 5-6 AM (0)
Nov 27, 6-7 AM (1)
Nov 27, 7-8 AM (0)
Nov 27, 8-9 AM (2)
Nov 27, 9-10 AM (0)
Nov 27, 10-11 AM (0)
Nov 27, 11-12 PM (2)
Nov 27, 12-1 PM (0)
Nov 27, 1-2 PM (0)
86 commits this week Nov 20, 2025 - Nov 27, 2025
feat: add preprod DRep ID support for governance
- Add GOVERNANCE_YOROI_DREP_ID_HEX_PREPROD constant with preprod DRep ID
- Create getYoroiDrepIdHex() helper function to return network-appropriate DRep ID
- Update all components to use network-aware DRep ID selection:
  - YoroiDrepCard now shows correct DRep ID based on wallet network
  - useEarnRewardsDelegation uses network-aware DRep ID
  - StakingCenter uses network-aware DRep ID for combined delegations
  - useGovernanceVoteFlow uses network-aware DRep ID for comparisons
  - ChangeVoteScreen uses network-aware DRep ID
  - All helper functions updated to use network-aware DRep ID
- Maintain backward compatibility with legacy GOVERNANCE_YOROI_DREP_ID_HEX export
- Add tests for new constants and helper function
refactor: create utility function for safe txId extraction in onSuccess callbacks
- Add getTxIdFromArgs utility function to safely extract txId from callback args
- Prioritizes args?.txId (already calculated), falls back to unsigned CBOR (safe), then signedTx (with null checks)
- Replace manual txId calculations in onSuccess callbacks with utility function:
  - useDappConnectorManager.tsx: collateral reorganization transactions
  - ManageCollateralScreen.tsx: collateral creation transactions
  - helpers.tsx: governance action tracking (delegate, vote)
- Prevents CSL null pointer errors by using safe fallback hierarchy
- Ensures consistent behavior across all transaction flows
fix: improve transaction error handling and fix collateral tx hash calculation
- Add comprehensive error logging in useOnConfirm and useSubmitTx for transaction failures
- Fix CSL Optional handling in signatureUtils for collateral (use Optional directly instead of calling .value())
- Fix collateral transaction hash calculation to use txId from args when available
- Add null checks before calling toBytes() on Transaction objects
- Improve error messages to extract Cardano-specific errors from nested structures
fix: restore wallet from QR code navigation and password manager prompts
- Fix navigation error when restoring wallet via QR code on fresh install (no wallets)
  - Check hasWallets before navigating through manage-wallets
  - Use reset() instead of navigate() for proper nested navigation typing
- Prevent password manager prompts during wallet restoration
  - Use textContentType='none' and autoComplete='off' for password fields
  - Apply to both restore-from-link and regular mnemonic restore flows
feat: improve restore wallet flow with QR code scanning and keyboard positioning
- Fix suggestion box positioning above keyboard on real devices in mnemonic input
- Add scan QR code option to ChooseMnemonicTypeScreen for restoring from QR codes
- Improve navigation for restore-from-link to use reset() instead of navigate() to prevent blocking
- Add scan QR code translations for all supported locales
- Remove any type usage in useActionExecutor navigation code
Merge midnight-redeem into mobile-experimental
- Add Midnight Glacier Drop airdrop redemption feature
- Add Airdrop menu item and screen for NIGHT token redemption
- Implement redemption API integration with thaw schedule checking
- Add eligibility check and banner notification in transaction history
- Support gradual token unlocking (thawing) with four 25% installments
- Add address allocation display with thaw schedule and redemption status
- Implement transaction building and signing for token redemption
- Refactor airdrop feature to use @yoroi/tx instead of deprecated yoroi-lib
- Update UTXO selection to use ModernUtxo and selectUtxos patterns
- Discard wallet-manager.ts changes (kept mobile-experimental version)
fix: improve UTXO selection to account for minimum UTXO and deposits
- Fix UTXO selection in all transaction recipes to account for minimum UTXO value required for change outputs
- Add keyDeposit calculation when StakeRegistration certificate is present in governance transactions
- Ensure sufficient ADA is selected to cover fees, deposits (if applicable), minimum UTXO for change, and buffer
- Fixes 'Insufficient input in transaction' errors when wallet has enough funds but not in first UTXO

Files updated:
- createUnsignedGovernanceTx.ts: Added keyDeposit check for StakeRegistration certificates
- createDelegationTx.ts: Added min UTXO for change calculation
- createWithdrawalTx.ts: Added min UTXO for change calculation
- createCombinedDelegationTx.ts: Added min UTXO for change calculation
- createVotingRegTx.ts: Added min UTXO for change calculation
- helpers.ts (selectUtxosForAmounts): Added min UTXO for change calculation
- HomeScreen.tsx & ChangeVoteScreen.tsx: Modal lifecycle fixes (from previous work)