This commit fixes two critical balance update issues in the Android app:
1. Added balanceChanged.emit() on blockchain_updated event
- Fixes coinbase outputs not showing when they mature (120 blocks)
- Ensures balance updates when new blocks arrive
- Resolves issue where only partial mining rewards were displayed
2. Fixed typo: satInt → satsInt in BalanceDetails.qml
- Lightning swap button now works correctly
Related to previous fix on tx_height_changed event handler.
- Change 'Official website' link to Pallectrum GitHub repository
- Update 'Documentation' link to point to user-guide.md on GitHub
- Replace 'Bitcoin Paper' with 'White Paper' linking to Palladium whitepaper
This ensures users access Pallectrum-specific documentation and resources
instead of Electrum.org links.
Update testnet constants to reflect Palladium-specific values including WIF prefix, address types, and segwit HRP. Also updates checkpoints for Palladium testnet chain.
Update all references from 'electrum' to 'pallectrum' including:
- Directory paths in build scripts
- Application name and metadata
- Desktop entries and MIME types
- Android package configurations
- Windows installer settings
- User data directory locations
- Website URLs and project references
The coinbase maturity period has been increased from 100 to 120 blocks to match Palladium's consensus rules. This change ensures proper validation of coinbase transactions on the Palladium network.
Update all references to "Bitcoin" and "Electrum" in the UI and codebase to "Palladium" and "Pallectrum" respectively. This includes network names, wallet types, error messages, and other user-facing text. Also updates the BIP21 URI scheme from 'bitcoin' to 'palladium'.
The change swaps the values of p2wpkh and p2pkh in WIF_SCRIPT_TYPES to reflect that p2wpkh (bech32) is now the default script type for Palladium. This maintains backward compatibility while aligning with current protocol standards.
Update client package version and replace all references to 'Electrum' with 'Pallectrum' in the codebase. Also updates the description to reflect Palladium instead of Bitcoin.
Simplify the block explorers configuration by removing all entries except for the Palladium Explorer. This change focuses the application on a single, more relevant explorer service.
The changes introduce a new URI scheme 'palladium' alongside the existing 'bitcoin' scheme for BIP21 payment URIs. This allows the wallet to parse and handle palladium payment URIs in the same way as bitcoin URIs.
Update all references to 'Electrum' in user-facing messages to 'Pallectrum' to reflect the new branding. Also updates references to 'Bitcoin' to 'Palladium' where applicable and makes minor wording adjustments for consistency.
Update all instances of BTC currency references to PLM across multiple files including UI components, utility functions, and command descriptions to reflect the new currency denomination
Add SKIP_POW_DIFFICULTY_VALIDATION flag to AbstractNet for chains using custom difficulty algorithms like LWMA. Update blockchain.py to skip pow validation when flag is set, relying on server validation and checkpoints instead. Also update Palladium checkpoints.
Add initial configuration files for Palladium chain including servers, checkpoints, and fallback nodes.
Update constants to use Palladium as default network and rename PalladiumMainnet to Palladium for consistency.
Using `@functools.lru_cache` on an instance method behaves in interesting ways.
The cache kept a ref around for `self`, so in effect we were never GC-ing keystore objects. Effectively there was a single global cache for derive_pubkey, with keys `(keystore, for_change, n)`.
This PR now changes the caching to be per-keystore:
each ks has a cache, keyed `(for_change, n)`.
GC-ing individual keystores should now be possible, which should result in cleaning up just their own cache.
This also enables the corresponding previously silence flake8-bugbear check for `@functools.lru_cache`. (note that the check can selectively be disabled by adding a comment on the relevant line: `# noqa: B019`)