The keypair.privateKey from SecretStoreV2 is NOT the original 32-byte seed.
This was causing public key mismatch when expanding the keypair.
Changes:
- SecretsSigner now gets seed via getAccountSecrets().seed()
- PezkuwiKeyPairSigner.fromSeed() expands seed to proper keypair
- Fixes "bad signature" error on HEZ transfers
Pezkuwi chains use "bizinikiwi" signing context instead of standard
"substrate" context used by Polkadot ecosystem. This was causing
"bad signature" errors on HEZ transfers.
Changes:
- Add sr25519-bizinikiwi native Rust binding with bizinikiwi context
- Add isPezkuwiChain extension to detect Pezkuwi ecosystem chains
- Add PezkuwiKeyPairSigner for signing with bizinikiwi context
- Modify SecretsSigner to use correct context based on chain:
- Pezkuwi chains (3) -> BizinikiwSr25519 (bizinikiwi)
- Other chains (98+) -> KeyPairSigner (substrate)
- Add live transfer test for Pezkuwi mainnet
Tested with successful HEZ transfer on Pezkuwi mainnet:
TX: 0xe25a4eaaeaa04122cca130582dba3cacb2280dea5d908924b45757ea67c27996
- Update Pezkuwi launcher icon design for all density buckets
- Resize icons to correct Android dimensions (mdpi to xxxhdpi)
- Add error handling to BalanceDetailViewModel flows to prevent crashes
- Handle RPC failures gracefully with logging instead of crashing
- Add new debug keystore with unique SHA-1 fingerprint
- Update google-services.json with proper OAuth clients
- Configure debug build to use new keystore
- Both Android OAuth client (type 1) and Web client (type 3) now present
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Update ic_pezkuwi_logo with correct logo from docs
- Update ic_pezkuwi_card_logo with correct card logo
- Update app launcher icons (ic_launcher, ic_launcher_round, ic_launcher_foreground)
- ChainExt.kt and TokenSorting.kt changes for Pezkuwi chain priority
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Reverted gradle namespace changes (io.pezkuwichain.wallet -> io.novafoundation.nova)
because they break R class references in Kotlin code.
Internal namespaces are NOT user-visible, so this is acceptable for minimum rebrand.
User-visible elements are all properly branded as Pezkuwi.
Added google-services.json for release variant.