The keystore path was updated to point to a specific keystore file (pallectrum.keystore) instead of the default .keystore directory to ensure the correct keystore is used during APK signing.
- Add comprehensive Palladium blockchain integration details
- Document all UI/UX changes and rebranding efforts
- Include build system modifications and binary naming
- Update repository links and maintenance information
- Add README-ELECTRUM.md preserving original Electrum documentation
- Update README.md with Pallectrum-specific information including features, installation, and configuration
- Maintain original Electrum structure while adapting content for Palladium blockchain
The build script was still referencing 'electrum-setup.exe' after the project was renamed to 'pallectrum'. This ensures the correct executable name is used throughout the build process.
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.
- Add detailed entries for Android/QML and Qt GUI rebranding fixes
- Include critical fixes for QR scanning, URI schemes, and unit displays
- Update last modified date to reflect recent changes
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.
Add comprehensive changelog documenting the initial fork from Electrum v4.6.2
and planned development roadmap for Pallectrum wallet. Includes network
parameters, address format support, and rebranding changes.
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`)
I needed such a tx to test something in electrumx and wanted to copy-paste one from the electrum unit tests. Weird that we were lacking such a test case, I was fairly certain there was one already...