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
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.