Commit Graph

50 Commits

Author SHA1 Message Date
pezkuwichain e43bb7a595 fix: enable full debug symbols in Rust native bindings
Add debug = 2 to release profile in all three Rust binding crates
so AGP can generate native-debug-symbols.zip for Play Store.
Also updated RELEASE_GOOGLE_OAUTH_ID secret to correct Android
client ID (was incorrectly set to Web client type).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 23:24:26 +03:00
pezkuwichain 49bbb8cf51 fix: enable native debug symbols for Play Store
Set strip = false in all Rust binding Cargo.toml files so AGP can
extract debug symbols before stripping for the final APK.
Previously strip = "debuginfo" removed symbols during Rust compilation,
leaving nothing for AGP's debugSymbolLevel = FULL to extract.
2026-02-24 23:06:31 +03:00
pezkuwichain 8da8dd0088 fix: preserve symbol tables in Rust bindings for Play Store debug symbols
Rust Cargo.toml had strip=true which removes ALL symbols including the
symbol table needed by AGP to generate native-debug-symbols.zip for
Play Store. Changed to strip="debuginfo" which keeps symbol tables
(needed for crash symbolication) but removes debug info (keeps .so small).

Also made debugSymbols conditional in distribute workflow so missing
symbols don't fail the upload.
2026-02-24 20:51:08 +03:00
pezkuwichain abc624b57a fix: remove debugSymbols from Play Store upload
Build doesn't generate native debug symbols artifact, causing the
Market publication step to fail with ENOENT. Remove the parameter
to unblock the upload. Debug symbols can be added back when NDK
symbols are actually generated.
2026-02-24 20:45:26 +03:00
pezkuwichain d8810676a6 ci: upload native debug symbols to Play Store
Add native debug symbols artifact to build workflow and download/attach
them in the distribute workflow to resolve Play Console warning.
2026-02-24 20:09:31 +03:00
pezkuwichain e6a087f907 ci: change Play Store track from production to alpha for closed testing 2026-02-24 19:04:01 +03:00
pezkuwichain c30cdf2411 build: add native debug symbols for releaseMarket 2026-02-24 18:20:18 +03:00
pezkuwichain f746697d57 ci: remove unused setvars step from Play Store workflow
The tw3lveparsecs/github-actions-setvars action was loading env vars
from variables/android.env that are never referenced in this workflow.
It caused a build failure when GitHub services were unavailable.
2026-02-24 10:03:33 +03:00
pezkuwichain 94a567c672 fix: prevent crash when DApp address fails SS58/Ethereum decode
Wrap accountId() in runCatching with fallback for addresses that
cannot be decoded as either SS58 or Ethereum format. Prevents
InvalidChecksumException crash when DApp sends an address with
an unrecognized format to the external signing flow.
2026-02-24 09:33:36 +03:00
pezkuwichain e13cb18576 ci: fix Play Store workflow for AAB submission
- Switch from assembleReleaseMarket (APK) to bundleReleaseMarket (AAB)
  Google Play requires AAB for new app submissions since August 2021
- Add bundle and mapping artifact uploads to reusable build workflow
- Fix mapping file path: release → releaseMarket
- Remove debugSymbols (not included in build artifact)
- Remove userFraction (incompatible with draft status)
- Remove whatsnew-ku (Play Store does not support Kurdish locale)
- Add if-no-files-found: ignore to APK upload for bundle-only builds
2026-02-24 08:11:05 +03:00
pezkuwichain 7a1e7d8270 fix: Era type encoding, CheckMortality cleanup, and release log guard
- Add Era AliasTo in PezkuwiPathTypeMapping for correct SCALE encoding
- Remove redundant isPezkuwi CheckMortality logic from ExtrinsicBuilderFactory
  and PolkadotExternalSignInteractor (standard path now works for all chains)
- Remove payload/signature hex logs from PezkuwiKeyPairSigner (security)
- Wrap debug logs with BuildConfig.DEBUG in PezkuwiKeyPairSigner,
  MetadataShortenerService, and WalletConnectSessionsEvent
2026-02-24 04:25:37 +03:00
pezkuwichain 8ed1909dc1 fix: use PezkuwiCheckMortality for WalletConnect sign requests
PolkadotExternalSignInteractor and ExtrinsicSplitter were using standard
CheckMortality which fails with pezsp_runtime DictEnum Era type.
Added isPezkuwiChain detection and routing to custom extensions.
2026-02-23 08:29:51 +03:00
pezkuwichain a1ce3137a1 i18n: add Turkish and Kurdish release notes for Play Store 2026-02-23 02:44:43 +03:00
pezkuwichain 611a55599c ci: switch push workflow from debug to releaseMarket build 2026-02-22 18:11:43 +03:00
pezkuwichain ff19f88323 ci: run CodeQL on self-hosted runner (push only, not PRs) 2026-02-22 16:42:11 +03:00
pezkuwichain 652913da35 ci: mark CodeQL as non-blocking due to runner memory limits 2026-02-22 16:08:01 +03:00
pezkuwichain 8760a0b9da ci: add google-services.json setup to security workflow for CodeQL build 2026-02-22 05:44:03 +03:00
pezkuwichain 61451ca178 ci: fix security workflow - add secrets, install action, remove continue-on-error 2026-02-22 05:36:04 +03:00
pezkuwichain 31e0dcadb7 ci: use shared install action for code-quality workflow (NDK required) 2026-02-22 05:27:31 +03:00
pezkuwichain c794cbe5c4 ci: pass secrets to code-quality workflow and enforce ktlint 2026-02-22 05:25:24 +03:00
pezkuwichain b9fadbe6da fix: remove unused imports to pass ktlint 2026-02-22 05:15:10 +03:00
pezkuwichain 771c9c8877 feat: in-app citizenship application with referral system
- Add CitizenshipBottomSheet with form (name, father, grandfather, mother, tribe, region)
- Submit apply_for_citizenship extrinsic with referrer parameter to People Chain
- Query KYC status from IdentityKyc pallet and show appropriate UI state
- Referrer approval: query Referral + Applications entries, approve pending referrals
- Sign (confirm_citizenship) for applicants after referrer approval
- Share referral link for citizens to invite others
- Dashboard buttons adapt to citizenship status (hide Apply/Sign when approved)
- Balance check (1.1 HEZ) only before new applications, not for sign/approve
- i18n strings for en, tr, ku
2026-02-22 05:04:43 +03:00
pezkuwichain f6dc35b80e i18n: add missing Turkish translations, fix Kurdish action strings
Turkish: add Send, Receive, Buy, Sell, Swap, Bridge and related strings
Kurdish: translate Buy, Sell, Swap, Buy/Sell from English to Kurdish
2026-02-21 23:40:01 +03:00
pezkuwichain 11fd0a5d10 ci: copy PROD google-services.json to all release build types
releaseMarket and releaseGithub build types need their own copy
of the production google-services.json. Without this, the
google-services plugin falls back to the dev config in app/,
causing Google Sign-In to fail on release builds.
2026-02-21 23:07:15 +03:00
pezkuwichain 233d06da12 ci: use release Firebase credential for releaseMarket builds 2026-02-21 21:09:55 +03:00
pezkuwichain 11159e4ba9 ci: add release build support to Firebase distribution workflow
Support both develop and releaseMarket variants via build_variant
input. Release builds are signed with market_key and distributed
to testers for validation before Play Store upload.
2026-02-21 20:14:00 +03:00
pezkuwichain 7dbfc3b85e ci: use CREDENTIAL_FILE_CONTENT for Play Store upload 2026-02-21 19:42:01 +03:00
pezkuwichain 37829e30f0 style: fix ktlint no-multi-spaces violations in BridgeViewModel 2026-02-21 18:46:37 +03:00
pezkuwichain e06c5379dd config: remove staking endpoints from relay chain
Staking lives on Asset Hub, not relay chain. Remove staking and
staking-rewards SubQuery endpoints from relay chain config.
2026-02-21 18:17:02 +03:00
pezkuwichain 7f00c98359 fix: governance voting and default chain selection for Pezkuwi
Add pezpallet_* type paths to SiVoteTypeMapping so ConvictionVoting
vote encoding works on Pezkuwi chains. Set Pezkuwi relay as preferred
default chain for governance and crowdloan screens.
2026-02-20 05:16:04 +03:00
pezkuwichain eb2c6cda55 feat: add copy button to seed phrase backup screen
Allow users to copy their mnemonic phrase to clipboard from the manual
backup screen for easier migration to Welati Telegram mini app.
2026-02-20 05:15:47 +03:00
pezkuwichain 03075104b4 fix: reduce false positives in hardcoded secrets scan 2026-02-19 06:30:18 +03:00
pezkuwichain 3061555485 ci: add Code Quality and Security workflows (ktlint, CodeQL, secret scan) 2026-02-19 05:56:11 +03:00
pezkuwichain 6a16d0a04e config: update chains.json with governance-delegations endpoint 2026-02-19 01:43:27 +03:00
pezkuwichain 359cfb1eb3 fix: correct Welati counter URL to telegram.pezkiwi.app 2026-02-18 07:01:20 +03:00
pezkuwichain 326aa869ed fix: update Welati counter URL to telegram.pezkuwi.app/kurds 2026-02-18 06:58:09 +03:00
pezkuwichain 533aa9e831 feat: replace dashboard image with Welati counter (Hejmara Kurd Le Cihane)
Remove telegram_welcome image from dashboard card, add live Welati
citizen count fetched from kurds-counter API endpoint. Shows formatted
count with "Hejmara Kurd Le Cihane" label in green.
2026-02-18 06:52:01 +03:00
pezkuwichain d7f515aab2 config: update AH SubQuery URL to dedicated endpoint
Asset Hub staking/history/rewards queries now use
subquery.pezkuwichain.io/assethub for correct schema routing
2026-02-18 04:10:13 +03:00
pezkuwichain 14519d7818 Fix Polkadot staking, add USDT bridge, update dashboard card
- Restore staking module to Nova upstream (fix Polkadot ACTIVE/shimmer)
- Add USDT(DOT) <-> USDT(HEZ) bridge option to Buy/Sell screen
- Dashboard card: add telegram_welcome image, info text, Non-Citizen role
- Add non-citizen info text to all 12 locale files
- Simplify ComputationalCache (remove stale scope recreation)
2026-02-18 02:43:53 +03:00
pezkuwichain 9c7bb7c6e9 Prepare for Play Store release: simplify dashboard, clean debug logs
- Simplify dashboard card: remove referral/staking/perwerde fields (not yet on-chain), keep roles + trust score + action button
- Remove all debug Log.d/e/w calls added during development (PEZ_STAKE, RuntimeFactory, ExtrinsicBuilder, etc.)
- Change Play Store track from beta to production
- Add release notes (whatsnew-en-US)
2026-02-17 06:13:59 +03:00
pezkuwichain 93e94cbf15 feat: add Pezkuwi Dashboard card with live People Chain data
- Dashboard card on Assets page showing roles, trust score, referral,
  staking, and perwerde points from People Chain pallets
- Repository queries: Tiki, Trust, Referral, StakingScore, Perwerde
- CachedStakingDetails double map query (RelayChain + AssetHub sources)
- Full i18n support across all 15 locales including new Turkish locale
- "Apply & Actions" button opens Telegram bot
- Staking improvements for split ecosystem multi-endpoint stats
2026-02-17 00:10:23 +03:00
pezkuwichain 9899bb5c40 feat: multi-endpoint staking stats for split ecosystems 2026-02-16 06:16:26 +03:00
pezkuwichain 0a95d04e45 update Pezkuwi genesis hashes for mainnet relaunch
Update all hardcoded chain IDs across XCM, runtime, and wallet modules
to match the new mainnet genesis hashes.
2026-02-15 22:26:12 +03:00
pezkuwichain fa17968108 fix: resolve parentId for Asset Hub staking to relay chain
ValidatorProvider, DirectStakingProperties, and DirectStakingRecommendation
were querying Asset Hub chainId for staking data (validators, exposures,
minStake, maxNominations) but these live on the relay chain. Added
chain.parentId resolution so parachain staking correctly routes to relay.

Also:
- Add VoterBagsList pallet support (Pezkuwi naming)
- Wrap BagListRepository queries in runCatching for binding compat
- Remove debug logging
2026-02-15 22:25:48 +03:00
pezkuwichain ffae9159fe fix: wrap long log line to satisfy ktlint max-line-length 2026-02-14 18:32:09 +03:00
pezkuwichain f253686d10 fix: nomination pool exposure queries route to relay chain, graceful pending_rewards fallback
- StakeSummary and Alerts interactors now query elected exposures from
  relay chain (parentId) instead of parachain for correct staking status
- Pending rewards flow catches missing NominationPoolsApi and emits zero
- Update Telegram link to @pezkuwichainBot
2026-02-14 11:38:44 +03:00
pezkuwichain c461e61895 fix: resolve staking reward calculation for parachain (Asset Hub)
- Use remote RPC instead of local storage for era/exposure queries
- Resolve relay chain via parentId for exposure, totalIssuance, and parachains
- Remove StorageCache dependency, detect paged exposures via runtime metadata
- Add StakingRepository to NominationPoolRewardCalculatorFactory for direct queries
- Use storageOrNull for null-safety on chains without Paras pallet
2026-02-14 05:38:47 +03:00
pezkuwichain 921e6de224 prepare release: staking config, proguard fixes, icons and build cleanup
- Add subquery endpoints for staking-rewards, history, staking APIs
- Add identityChain, stakingWiki, pushSupport to chain config
- Remove versionNameSuffix/applicationIdSuffix from releaseMarket build
- Fix privacy/terms URLs to use .html extension
- Strengthen proguard rules for Retrofit, SR25519, Substrate SDK,
  WalletConnect, Google Drive, Navigation and crypto classes
- Update launcher icons for debug and release variants
2026-02-13 06:45:30 +03:00
pezkuwichain ec250adb07 fix: revert incompatible dependency updates, keep security improvements
- Reverted Navigation to 2.3.1 (2.7.7 has breaking API changes)
- Reverted Lifecycle to 2.2.0 (2.7.0 has breaking API changes)
- Reverted BouncyCastle to 1.70/jdk15on (1.77/jdk18on causes conflicts)
- Kept: OkHttp 4.12.0, Gson 2.10.1, ConstraintLayout 2.1.4
- Kept: minifyEnabled=true, ProGuard rules, Branch.io security
2026-02-12 05:30:22 +03:00
pezkuwichain a294aa1a6b Initial commit: Pezkuwi Wallet Android
Security hardened release:
- Code obfuscation enabled (minifyEnabled=true, shrinkResources=true)
- Sensitive files excluded (google-services.json, keystores)
- Branch.io key moved to BuildConfig placeholder
- Updated dependencies: OkHttp 4.12.0, Gson 2.10.1, BouncyCastle 1.77
- Comprehensive ProGuard rules for crypto wallet
- Navigation 2.7.7, Lifecycle 2.7.0, ConstraintLayout 2.1.4
2026-02-12 05:19:41 +03:00