Commit Graph

60 Commits

Author SHA1 Message Date
pezkuwichain 81c3e1bbaa fix: Fix ktlint errors (unused imports, line length, formatting) 2026-02-07 05:38:04 +03:00
pezkuwichain caa5e0f463 fix: Use actual seed from SecretStoreV2 for Pezkuwi bizinikiwi signing
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
2026-02-07 04:59:27 +03:00
pezkuwichain c12dd79c74 feat: Add bizinikiwi signing context for Pezkuwi ecosystem
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
2026-02-07 03:41:52 +03:00
pezkuwichain 7542046890 docs: Update changelog with recent changes and current status 2026-02-03 06:21:36 +03:00
pezkuwichain 14973798e9 debug: Add detailed logging for extrinsic build failures 2026-02-03 06:18:03 +03:00
pezkuwichain b107c1bd1a fix: Fix ktlint errors in debug logging statements 2026-02-03 06:08:53 +03:00
pezkuwichain 58e6fca23d test: Add Pezkuwi integration tests for runtime type verification 2026-02-03 05:56:16 +03:00
pezkuwichain d70ee29442 ci: Add GitHub Action to auto-sync main and master branches 2026-02-03 05:44:20 +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 bb189aeb8a fix: add AuthorizeCall signed extension for PezkuwiChain
PezkuwiChain requires AuthorizeCall as the first signed extension in
the TxExtension tuple. This commit adds:

- AuthorizeCall.kt: FixedValueTransactionExtension with empty payload
  (PhantomData equivalent)
- CustomTransactionExtensions: Detects PezkuwiChain via metadata and
  adds AuthorizeCall extension
- ExtrinsicBuilderFactory/ExtrinsicSplitter: Uses CustomTransactionExtensions

Without this fix, transactions fail with "bad signature" errors and
fee calculation (payment_queryInfo) fails with WASM trap errors.
2026-02-02 17:43:59 +03:00
pezkuwichain a5cc31f82c fix: Use lowercase type values in chains.json (native, statemine) 2026-02-02 06:30:10 +03:00
pezkuwichain 92c33641b1 feat: Add fullSyncByDefault to Pezkuwi chains and fix chain sorting
- Added fullSyncByDefault option to all Pezkuwi chains (mainnet, Asset Hub,
  People, Zagros) to enable automatic balance sync
- Fixed chain sorting to include Polkadot and Kusama relay chains
- Pezkuwi ecosystem now correctly appears first in network lists
2026-02-02 05:55:38 +03:00
pezkuwichain ee09983ff1 Fix ktlint spacing error in ChainExt.kt 2026-02-02 03:28:12 +03:00
pezkuwichain e412f49c0d Security: remove keystore files from repo and fix Kurdish translations
- Remove .jks files from git tracking (security)
- Fix duplicate string entries in values-ku/strings.xml
- Remove Turkish translations (values-tr)
- Update launcher icons and chain config
2026-02-02 03:13:48 +03:00
pezkuwichain b1d1aed538 Fix Pezkuwi mainnet chainId and teyrchain parentIds
Updated chainId from old testnet genesis to correct mainnet genesis:
- Pezkuwi: bb4a61ab0c4b8c12f5eab71d0c86c482e03a275ecdafee678dea712474d33d75
- Asset Hub parentId: updated to match mainnet
- People Chain parentId: updated to match mainnet

This fixes the issue where wallet was showing 0 balance for accounts
because it was looking for the wrong chain genesis hash.
2026-01-31 07:09:44 +03:00
pezkuwichain 817c1748f2 feat: add VPS deploy step for wallet.pezkuwichain.io 2026-01-27 20:46:52 +03:00
pezkuwichain 95c68744da Update app launcher icons and add crash prevention
- 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
2026-01-25 18:00:22 +03:00
pezkuwichain a506a85d37 Add crowdloans option to Pezkuwi chain for Coming Soon state 2026-01-25 17:34:25 +03:00
pezkuwichain 0ffa9ac7a0 Fix workflow: remove invalid secret reference from with block 2026-01-25 17:00:26 +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 fa41ffb4d4 Switch CI from assembleDevelop to assembleDebug for proper OAuth
- Changed build type from develop (.dev) to debug (.debug)
- Updated Firebase App ID secret reference
- Updated APK paths for debug build
- This aligns with pezkuwi-wallet-debug Firebase project setup

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 14:15:16 +03:00
pezkuwichain 429fc1ee43 Fix Google Drive backup OAuth configuration
- 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>
2026-01-25 07:19:51 +03:00
pezkuwichain c1b4855d2c Enable Google Drive backup with OAuth 2026-01-25 04:57:05 +03:00
pezkuwichain 360627d836 Update version properties and add .kotlin to gitignore 2026-01-25 04:03:59 +03:00
pezkuwichain a6b10f932f Remove unused Nova branding assets for Play Store compliance
- Delete 19 unused ic_nova_*.png files from drawable folders
- Delete 4 Nova reference files from docs folder
- These files were not referenced anywhere in code
2026-01-25 02:49:36 +03:00
pezkuwichain bc876396c9 Update welcome screen background and fix misplaced assets
- Update ic_create_wallet_background for all densities
- Update ic_launcher_round
- Remove wrongly placed PNG files from res root folder
2026-01-25 02:37:00 +03:00
pezkuwichain 6a051ec9e0 Add project assets and debug configuration
- Add Pezkuwi brand logos and icons to docs folder
- Add debug Firebase configuration
- Add version properties
2026-01-25 00:18:56 +03:00
pezkuwichain a8c89e8267 Add Kurdish language to language selection 2026-01-24 23:04:32 +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 7e68d94a98 Update Pezkuwi logos and fix chain ordering
- 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>
2026-01-24 17:39:43 +03:00
pezkuwichain 4f5e65291f Set CI_BUILD_ID from github.run_number for auto version increment 2026-01-24 15:32:46 +03:00
pezkuwichain 15478b5fd4 Auto-increment versionCode on each build
- Reads/writes VERSION_CODE from version.properties
- Increments on assemble/install tasks
- CI builds still use CI_BUILD_ID
2026-01-24 09:34:15 +03:00
pezkuwichain 4d91cbd392 Fix Google Drive auth: add Android OAuth client 2026-01-24 09:31:37 +03:00
pezkuwichain 19f24fe706 Fix Pezkuwi chain ordering and logos
- Remove 0x prefix from Pezkuwi chainIds to match ChainGeneses constants
- Update chain icons to use pezkuwi-wallet-utils URLs
- Pezkuwi, Asset Hub, People now sorted correctly (0, 1, 2)
2026-01-24 08:55:58 +03:00
pezkuwichain b8b8deef06 Rebrand wallet provider: nova-wallet -> pezkuwi-wallet
- Replaced nova-wallet with pezkuwi-wallet
- Added pezkuwi-js provider for SDK compatibility
- Kept polkadot-js for Polkadot ecosystem compatibility
- Changed isNovaWallet to isPezkuwiWallet

Provider now registers as:
- polkadot-js (Polkadot ecosystem)
- pezkuwi-wallet (Pezkuwi wallet)
- pezkuwi-js (Pezkuwi JS SDK)
2026-01-24 08:18:47 +03:00
pezkuwichain bc21958a76 feat: update app launcher icon with Pezkuwi branding
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 05:20:15 +03:00
pezkuwichain 05d56cacc1 fix: re-enable appium mobile tests
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 04:40:26 +03:00
pezkuwichain f1bc3f9a9f chore: add missing android.env variables file
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 04:34:46 +03:00
pezkuwichain 61eeeb5be9 fix: update GitHub Actions workflows and add Kurdish translation
- Update deprecated actions:
  - actions/checkout@v2 -> v4
  - actions-rs/toolchain@v1 -> dtolnay/rust-toolchain@stable
  - peter-evans/find-comment@v2 -> v3
  - tibdex/github-app-token@v1 -> v2
  - peter-evans/repository-dispatch@v2 -> v3

- Temporarily disable appium-mobile-tests trigger (PAT_TOKEN needs workflow scope)

- Add Kurdish (Kurmancî) translation (values-ku/strings.xml)
  - 1996 strings translated from English
  - Key UI terms in Kurdish (Wallet=Cîzdan, Account=Hesab, etc.)

- Update Pezkuwi branding images

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 04:32:13 +03:00
pezkuwichain 8b05fed73c feat: expand Kurdish (Kurmancî) translation coverage
- Add ~480 translated strings (up from ~100)
- Cover main UI: onboarding, wallet, settings, staking, swap
- Include governance, NFT, transaction, security strings
2026-01-24 04:02:55 +03:00
pezkuwichain 634d2a1125 rebrand: change 'Building for Polkadot' to 'Building for Pezkuwichain' 2026-01-24 03:55:34 +03:00
pezkuwichain dde2b99e3f feat: prioritize Pezkuwi chains and tokens in sorting
- Add PEZKUWI, PEZKUWI_ASSET_HUB, PEZKUWI_PEOPLE genesis hashes
- Chain order: Pezkuwi > Polkadot > Kusama > others
- Token order: HEZ > PEZ > DOT > KSM > USDT > USDC > others
2026-01-24 03:54:52 +03:00
pezkuwichain 3208f7fb57 rebrand: replace Trust Wallet import icon with Pezkuwi branding 2026-01-24 03:48:37 +03:00
pezkuwichain 6f9073043d rebrand: replace Nova assets with Pezkuwi branding
- Replace ic_create_wallet_background with Pezkuwi design
- Replace ic_nova_logo with Pezkuwi logo
- Replace drawable_nova_logo with Pezkuwi branding
- Replace ic_nova_card_logo with Pezkuwi card logo
- Update YouTube URL to @SatoshiQazi
2026-01-24 03:38:06 +03:00
pezkuwichain be6c01939c fix: correct Play Store workflow filename and YAML syntax 2026-01-23 20:23:21 +03:00
pezkuwichain 4082d847e9 fix: replace deprecated set-output with GITHUB_OUTPUT 2026-01-23 20:12:23 +03:00
pezkuwichain fba9ba678f feat: add full Polkadot ecosystem support (102 chains)
- Pezkuwi, Pezkuwi Asset Hub, Pezkuwi People (priority)
- Polkadot, Kusama and all parachains
- Full compatibility with Polkadot ecosystem
2026-01-23 20:05:30 +03:00
pezkuwichain f8311dfe4b fix: resolve ktlint errors in bridge feature module 2026-01-23 15:15:43 +03:00
pezkuwichain 71ca24cbdb feat: add wUSDT bridge feature module
- Add feature-bridge-api module with domain models:
  - BridgeConfig: bridge configuration (addresses, fees, limits)
  - BridgeStatus: backing ratio, reserves, operational status
  - BridgeTransaction: deposit/withdrawal records

- Add feature-bridge-impl module with UI:
  - BridgeDepositFragment: shows Polkadot deposit address with QR code
  - BridgeStatusFragment: shows backing ratio and transparency info

Bridge enables 1:1 backed wUSDT on Pezkuwi Asset Hub,
backed by real USDT on Polkadot Asset Hub.

Bridge wallet: 16dSTc3BexjQKiPta7yNncF8nio4YgDQiPbudHzkuh7XJi8K (Polkadot)
wUSDT Asset ID: 1000, Min deposit: 10 USDT, Fee: 0.1%
2026-01-23 09:36:22 +03:00
pezkuwichain 50c9beb8e1 ci: add workflow_dispatch trigger for develop builds 2026-01-23 06:34:59 +03:00