Nov 19, 3-4 PM (24)
Nov 19, 4-5 PM (28)
Nov 19, 5-6 PM (20)
Nov 19, 6-7 PM (7)
Nov 19, 7-8 PM (24)
Nov 19, 8-9 PM (51)
Nov 19, 9-10 PM (10)
Nov 19, 10-11 PM (33)
Nov 19, 11-12 AM (25)
Nov 20, 12-1 AM (7)
Nov 20, 1-2 AM (34)
Nov 20, 2-3 AM (6)
Nov 20, 3-4 AM (4)
Nov 20, 4-5 AM (9)
Nov 20, 5-6 AM (3)
Nov 20, 6-7 AM (6)
Nov 20, 7-8 AM (19)
Nov 20, 8-9 AM (24)
Nov 20, 9-10 AM (29)
Nov 20, 10-11 AM (37)
Nov 20, 11-12 PM (54)
Nov 20, 12-1 PM (26)
Nov 20, 1-2 PM (62)
Nov 20, 2-3 PM (28)
Nov 20, 3-4 PM (22)
Nov 20, 4-5 PM (24)
Nov 20, 5-6 PM (15)
Nov 20, 6-7 PM (33)
Nov 20, 7-8 PM (10)
Nov 20, 8-9 PM (11)
Nov 20, 9-10 PM (21)
Nov 20, 10-11 PM (26)
Nov 20, 11-12 AM (31)
Nov 21, 12-1 AM (7)
Nov 21, 1-2 AM (4)
Nov 21, 2-3 AM (4)
Nov 21, 3-4 AM (5)
Nov 21, 4-5 AM (13)
Nov 21, 5-6 AM (8)
Nov 21, 6-7 AM (13)
Nov 21, 7-8 AM (23)
Nov 21, 8-9 AM (25)
Nov 21, 9-10 AM (29)
Nov 21, 10-11 AM (36)
Nov 21, 11-12 PM (36)
Nov 21, 12-1 PM (29)
Nov 21, 1-2 PM (30)
Nov 21, 2-3 PM (37)
Nov 21, 3-4 PM (37)
Nov 21, 4-5 PM (47)
Nov 21, 5-6 PM (18)
Nov 21, 6-7 PM (12)
Nov 21, 7-8 PM (13)
Nov 21, 8-9 PM (20)
Nov 21, 9-10 PM (11)
Nov 21, 10-11 PM (34)
Nov 21, 11-12 AM (15)
Nov 22, 12-1 AM (8)
Nov 22, 1-2 AM (9)
Nov 22, 2-3 AM (11)
Nov 22, 3-4 AM (7)
Nov 22, 4-5 AM (1)
Nov 22, 5-6 AM (0)
Nov 22, 6-7 AM (2)
Nov 22, 7-8 AM (6)
Nov 22, 8-9 AM (3)
Nov 22, 9-10 AM (3)
Nov 22, 10-11 AM (6)
Nov 22, 11-12 PM (11)
Nov 22, 12-1 PM (13)
Nov 22, 1-2 PM (18)
Nov 22, 2-3 PM (15)
Nov 22, 3-4 PM (20)
Nov 22, 4-5 PM (3)
Nov 22, 5-6 PM (7)
Nov 22, 6-7 PM (2)
Nov 22, 7-8 PM (7)
Nov 22, 8-9 PM (2)
Nov 22, 9-10 PM (14)
Nov 22, 10-11 PM (23)
Nov 22, 11-12 AM (26)
Nov 23, 12-1 AM (1)
Nov 23, 1-2 AM (9)
Nov 23, 2-3 AM (10)
Nov 23, 3-4 AM (6)
Nov 23, 4-5 AM (7)
Nov 23, 5-6 AM (2)
Nov 23, 6-7 AM (0)
Nov 23, 7-8 AM (0)
Nov 23, 8-9 AM (1)
Nov 23, 9-10 AM (3)
Nov 23, 10-11 AM (8)
Nov 23, 11-12 PM (4)
Nov 23, 12-1 PM (6)
Nov 23, 1-2 PM (13)
Nov 23, 2-3 PM (10)
Nov 23, 3-4 PM (5)
Nov 23, 4-5 PM (18)
Nov 23, 5-6 PM (16)
Nov 23, 6-7 PM (2)
Nov 23, 7-8 PM (8)
Nov 23, 8-9 PM (5)
Nov 23, 9-10 PM (7)
Nov 23, 10-11 PM (41)
Nov 23, 11-12 AM (34)
Nov 24, 12-1 AM (6)
Nov 24, 1-2 AM (10)
Nov 24, 2-3 AM (8)
Nov 24, 3-4 AM (15)
Nov 24, 4-5 AM (6)
Nov 24, 5-6 AM (7)
Nov 24, 6-7 AM (11)
Nov 24, 7-8 AM (71)
Nov 24, 8-9 AM (114)
Nov 24, 9-10 AM (39)
Nov 24, 10-11 AM (26)
Nov 24, 11-12 PM (133)
Nov 24, 12-1 PM (88)
Nov 24, 1-2 PM (57)
Nov 24, 2-3 PM (52)
Nov 24, 3-4 PM (34)
Nov 24, 4-5 PM (33)
Nov 24, 5-6 PM (38)
Nov 24, 6-7 PM (22)
Nov 24, 7-8 PM (28)
Nov 24, 8-9 PM (12)
Nov 24, 9-10 PM (29)
Nov 24, 10-11 PM (34)
Nov 24, 11-12 AM (33)
Nov 25, 12-1 AM (8)
Nov 25, 1-2 AM (3)
Nov 25, 2-3 AM (7)
Nov 25, 3-4 AM (6)
Nov 25, 4-5 AM (5)
Nov 25, 5-6 AM (8)
Nov 25, 6-7 AM (20)
Nov 25, 7-8 AM (23)
Nov 25, 8-9 AM (52)
Nov 25, 9-10 AM (52)
Nov 25, 10-11 AM (47)
Nov 25, 11-12 PM (50)
Nov 25, 12-1 PM (76)
Nov 25, 1-2 PM (58)
Nov 25, 2-3 PM (67)
Nov 25, 3-4 PM (42)
Nov 25, 4-5 PM (40)
Nov 25, 5-6 PM (29)
Nov 25, 6-7 PM (32)
Nov 25, 7-8 PM (49)
Nov 25, 8-9 PM (9)
Nov 25, 9-10 PM (30)
Nov 25, 10-11 PM (33)
Nov 25, 11-12 AM (27)
Nov 26, 12-1 AM (10)
Nov 26, 1-2 AM (7)
Nov 26, 2-3 AM (2)
Nov 26, 3-4 AM (4)
Nov 26, 4-5 AM (11)
Nov 26, 5-6 AM (4)
Nov 26, 6-7 AM (3)
Nov 26, 7-8 AM (29)
Nov 26, 8-9 AM (49)
Nov 26, 9-10 AM (82)
Nov 26, 10-11 AM (58)
Nov 26, 11-12 PM (86)
Nov 26, 12-1 PM (72)
Nov 26, 1-2 PM (61)
Nov 26, 2-3 PM (29)
Nov 26, 3-4 PM (2)
3,891 commits this week Nov 19, 2025 - Nov 26, 2025
refactor: migrate from deprecated TransactionInfo to WalletTransaction
- Remove deprecated useTransactionInfos hook
- Remove wallet.transactions getter (deprecated TransactionInfo)
- Update all usages to use wallet.getRawTransaction/getRawTransactions
- Update WalletEvent type to remove TransactionInfo dependency
- Clean up unused parseTransactions functions
- Update notification and transaction display logic to use WalletTransaction
- Use walletTransactionToSummary for computing direction/delta
feat: create common Address component with modal functionality
- Create Address component in common directory combining address display pattern
  with address details modal functionality
- Move AddressModal to common directory for better reusability
- Replace custom address displays with Address component in:
  - AirdropScreen
  - ReviewTx OverviewTab
  - UTxOsTab (Input/Output components)
  - UtxoAddressGroup
  - SmartContractsTab (collateral return and datum addresses)
  - OperationsTab (withdrawal addresses)
- All addresses now have consistent styling (gray + highlighted last 6 chars)
  and modal functionality for viewing full address details
feat: comprehensive plugin system with multi-backend storage (#1050)
- Dynamic plugin registration for blob (BadgerDB, S3, GCS) and metadata (SQLite) backends
- Thread-safe global registry with mutex protection and credential validation
- CLI integration with plugin listing and selection flags
- Comprehensive test suite including unit, integration, and security tests
- Configuration system with nested plugin settings and environment variable support
- Production-ready with proper error handling, logging, and security hardening

Signed-off-by: Chris Gianelloni <[email protected]>
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)