Commit Graph

10 Commits

Author SHA1 Message Date
pezkuwichain 6f8a8b9511 fix: ktlint - remove unused import and extra whitespace 2026-02-09 03:16:55 +03:00
pezkuwichain 8c74b537d0 fix: Add safety improvements for swap and XCM functionality
- Add independent chain warm-up with error handling
- Add fallback fee estimation when dry run fails
- Handle empty forwarded XCMs in dry run gracefully
- Support both legacy and new XCM config destination formats
- Use xcmPalletNameOrNull for safer pallet detection
- Add Teyrchain junction support for legacy cross-chain config
- Recover from dry run failures in cross-chain transfers
- Add Pezkuwi Asset Hub to swap warm-up chains
2026-02-09 03:03:06 +03:00
pezkuwichain 35ce943f65 feat(xcm): Add Pezkuwi Teyrchain junction support for cross-chain transfers
- Add TEYRCHAIN_INFO constant and TeyrchainInfo pallet lookup
- Add PezkuwiXcm pallet support in xcmPalletName functions
- Update ParachainInfoRepository to query TeyrchainId storage
- Add junctionTypeName to ParachainId for Teyrchain encoding
- Update MultiLocationEncoding to handle both Parachain and Teyrchain
- Detect Pezkuwi chains by genesis hash for correct junction type

Fixes cross-chain transfers between Pezkuwi, Asset Hub, and People chains.
2026-02-09 01:01:48 +03:00
pezkuwichain 9babf454c9 Fix cross-chain XCM config parsing for destination field
The XCM config JSON has a nested structure where chainId and assetId
are inside a "destination" object, but the Kotlin class expected them
at the root level. This was causing NullPointerException when parsing
cross-chain transfer configurations.

Changes:
- Add XcmTransferDestinationRemote class to represent nested destination
- Update DynamicXcmTransferRemote to use destination object instead of
  flat chainId/assetId fields
- Update Dynamic.kt mapping to access transfer.destination.chainId/assetId

This fixes cross-chain transfers between Pezkuwi, Pezkuwi Asset Hub,
and Pezkuwi People chains.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-08 05:23:23 +03:00
pezkuwichain 032cbde2d6 feat: Add Pezkuwi chain support with custom signed extensions
- Add PezkuwiAddressConstructor for custom address type handling
- Add custom signed extensions (CheckNonZeroSender, CheckWeight, WeightReclaim, PezkuwiCheckMortality)
- Add pezkuwi.json type definitions
- Update RuntimeSnapshotExt for multiple address type lookups
- Update CHAINS_URL to use GitHub-hosted chains.json with types config
- Add feeViaRuntimeCall support for Pezkuwi chains
- Add debug diagnostics for runtime type issues (to be cleaned before production)
- Add CHANGELOG_PEZKUWI.md documenting all changes
2026-02-03 05:41:52 +03:00
pezkuwichain a1ec9a8b9b Add graceful error handling for RPC connection failures
- StatemineAssetBalance: Handle connection errors in queryAccountBalance,
  existentialDeposit, subscribeAccountBalanceUpdatePoint, and startSyncingBalance
- NativeAssetBalance: Handle connection errors in all balance query and sync methods
- Return safe defaults (zero balance, empty flows) instead of crashing
- Log errors for debugging without interrupting user experience
2026-01-25 16:45:13 +03:00
pezkuwichain 096587f11b Update logos and add HEZ/PEZ price fallback mechanism
- Update launcher icons (ic_launcher, ic_launcher_round, ic_launcher_foreground)
- Update ic_pezkuwi_logo for all density buckets
- Add priceId for HEZ (hezkurd) and PEZ (pezkuwi) tokens
- Implement price fallback: if CoinGecko price is 0 or missing:
  - HEZ = DOT price / 3
  - PEZ = DOT price / 10

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 19:52:18 +03:00
pezkuwichain a42190f25b fix: revert gradle namespaces, add release Firebase config
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.
2026-01-23 02:36:47 +03:00
pezkuwichain bc76590b34 Complete Pezkuwi rebrand for Play Store release
User-visible changes:
- All strings.xml: Nova → Pezkuwi (12 languages, 721 references)
- App name: Pezkuwi Wallet
- Deep links: pezkuwiwallet://
- WalletConnect: Pezkuwi Wallet metadata
- Backup files: pezkuwiwallet_backup.json
- Push notifications: Pezkuwi Wallet branding

Technical changes:
- Gradle namespaces: io.pezkuwichain.wallet.*
- JS interface prefix: Pezkuwi_*
- User-Agent: Pezkuwi Wallet (Android)
- Firebase: pezkuwi-wallet project config

Assets:
- Nevroz fire logo (Kurdish colors theme)
- 6 density PNG files

Documentation:
- PACKAGE_STRUCTURE_REBRAND.md for future refactoring
2026-01-23 02:15:34 +03:00
pezkuwichain 31c8c5995f Initial commit: Pezkuwi Wallet Android
Complete rebrand of Nova Wallet for Pezkuwichain ecosystem.

## Features
- Full Pezkuwichain support (HEZ & PEZ tokens)
- Polkadot ecosystem compatibility
- Staking, Governance, DeFi, NFTs
- XCM cross-chain transfers
- Hardware wallet support (Ledger, Polkadot Vault)
- WalletConnect v2
- Push notifications

## Languages
- English, Turkish, Kurmanci (Kurdish), Spanish, French, German, Russian, Japanese, Chinese, Korean, Portuguese, Vietnamese

Based on Nova Wallet by Novasama Technologies GmbH
© Dijital Kurdistan Tech Institute 2026
2026-01-23 01:31:12 +03:00