mirror of
https://github.com/pezkuwichain/pezkuwi-wallet-android.git
synced 2026-06-15 12:41:13 +00:00
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
This commit is contained in:
Vendored
+100
-4
@@ -24,16 +24,35 @@
|
||||
-dontwarn kotlinx.coroutines.**
|
||||
|
||||
# ============================================================
|
||||
# Retrofit & OkHttp
|
||||
# Retrofit & OkHttp (Strict rules for generic type preservation)
|
||||
# ============================================================
|
||||
-dontwarn okhttp3.**
|
||||
-dontwarn okio.**
|
||||
-dontwarn javax.annotation.**
|
||||
-keepnames class okhttp3.internal.publicsuffix.PublicSuffixDatabase
|
||||
|
||||
# Keep Retrofit library
|
||||
-keep class retrofit2.** { *; }
|
||||
-keepclassmembers class retrofit2.** { *; }
|
||||
|
||||
# Essential attributes for reflection
|
||||
-keepattributes Signature
|
||||
-keepattributes Exceptions
|
||||
-keepclasseswithmembers class * {
|
||||
-keepattributes InnerClasses
|
||||
-keepattributes EnclosingMethod
|
||||
-keepattributes RuntimeVisibleAnnotations
|
||||
-keepattributes RuntimeInvisibleAnnotations
|
||||
-keepattributes RuntimeVisibleParameterAnnotations
|
||||
-keepattributes RuntimeInvisibleParameterAnnotations
|
||||
-keepattributes AnnotationDefault
|
||||
|
||||
# Keep ALL interfaces with Retrofit annotations - NO allowshrinking/allowobfuscation
|
||||
-keep interface * {
|
||||
@retrofit2.http.* <methods>;
|
||||
}
|
||||
|
||||
# Keep the method signatures including generic types
|
||||
-keepclasseswithmembers interface * {
|
||||
@retrofit2.http.* <methods>;
|
||||
}
|
||||
|
||||
@@ -61,7 +80,8 @@
|
||||
# ============================================================
|
||||
# Native JNI Bindings (Rust)
|
||||
# ============================================================
|
||||
# SR25519 signing
|
||||
# SR25519 signing - keep the native methods and the class
|
||||
-keep class io.novafoundation.nova.sr25519.BizinikiwSr25519 { *; }
|
||||
-keep class io.novafoundation.nova.** { native <methods>; }
|
||||
-keepclasseswithmembernames class * {
|
||||
native <methods>;
|
||||
@@ -70,12 +90,41 @@
|
||||
# Keep all JNI related classes
|
||||
-keep class io.parity.** { *; }
|
||||
|
||||
# Runtime signers
|
||||
-keep class io.novafoundation.nova.runtime.extrinsic.signer.** { *; }
|
||||
|
||||
# ============================================================
|
||||
# Substrate SDK
|
||||
# ============================================================
|
||||
-keep class jp.co.soramitsu.** { *; }
|
||||
-dontwarn jp.co.soramitsu.**
|
||||
|
||||
# Nova Substrate SDK (io.novasama)
|
||||
-keep class io.novasama.substrate_sdk_android.** { *; }
|
||||
-keepclassmembers class io.novasama.substrate_sdk_android.** { *; }
|
||||
-dontwarn io.novasama.substrate_sdk_android.**
|
||||
|
||||
# XXHash library (used by Substrate SDK hashing)
|
||||
-keep class net.jpountz.** { *; }
|
||||
-keepclassmembers class net.jpountz.** { *; }
|
||||
-dontwarn net.jpountz.**
|
||||
|
||||
# Keep Schema objects and their delegated properties
|
||||
-keep class * extends io.novasama.substrate_sdk_android.scale.Schema { *; }
|
||||
-keepclassmembers class * extends io.novasama.substrate_sdk_android.scale.Schema {
|
||||
<fields>;
|
||||
<methods>;
|
||||
}
|
||||
|
||||
# ============================================================
|
||||
# Secrets & Crypto Classes
|
||||
# ============================================================
|
||||
-keep class io.novafoundation.nova.common.data.secrets.** { *; }
|
||||
-keepclassmembers class io.novafoundation.nova.common.data.secrets.** { *; }
|
||||
-keep class io.novafoundation.nova.feature_account_impl.data.secrets.** { *; }
|
||||
-keep class io.novafoundation.nova.feature_account_impl.data.repository.datasource.** { *; }
|
||||
-keep class io.novafoundation.nova.feature_account_impl.data.repository.addAccount.** { *; }
|
||||
|
||||
# ============================================================
|
||||
# Firebase
|
||||
# ============================================================
|
||||
@@ -116,6 +165,8 @@
|
||||
-keep class io.novafoundation.nova.**.response.** { *; }
|
||||
-keep class io.novafoundation.nova.**.request.** { *; }
|
||||
-keep class io.novafoundation.nova.**.dto.** { *; }
|
||||
-keep class io.novafoundation.nova.**.*Remote { *; }
|
||||
-keep class io.novafoundation.nova.**.*Remote$* { *; }
|
||||
|
||||
# ============================================================
|
||||
# Parcelable
|
||||
@@ -153,18 +204,63 @@
|
||||
# WalletConnect
|
||||
# ============================================================
|
||||
-keep class com.walletconnect.** { *; }
|
||||
-keepclassmembers class com.walletconnect.** { *; }
|
||||
-dontwarn com.walletconnect.**
|
||||
|
||||
# ============================================================
|
||||
# Google API Client (Google Drive)
|
||||
# ============================================================
|
||||
-keep class com.google.api.** { *; }
|
||||
-keepclassmembers class com.google.api.** { *; }
|
||||
-keep class com.google.api.client.** { *; }
|
||||
-keepclassmembers class com.google.api.client.** { *; }
|
||||
-keep class com.google.api.services.** { *; }
|
||||
-keepclassmembers class com.google.api.services.** { *; }
|
||||
-dontwarn com.google.api.**
|
||||
|
||||
# ============================================================
|
||||
# Navigation Component
|
||||
# ============================================================
|
||||
-keep class * extends androidx.navigation.Navigator { *; }
|
||||
-keep @androidx.navigation.Navigator.Name class * { *; }
|
||||
-keepnames class * extends androidx.navigation.Navigator
|
||||
-keepattributes *Annotation*
|
||||
-keep class androidx.navigation.** { *; }
|
||||
-keep class * implements androidx.navigation.NavArgs { *; }
|
||||
-keep class androidx.navigation.fragment.** { *; }
|
||||
-keep class io.novafoundation.nova.**.navigation.** { *; }
|
||||
-keep class * extends androidx.navigation.NavDestination { *; }
|
||||
|
||||
# Keep all Nova foundation classes (prevent aggressive obfuscation)
|
||||
-keep class io.novafoundation.nova.** { *; }
|
||||
-keepnames class io.novafoundation.nova.**
|
||||
|
||||
# ============================================================
|
||||
# Optimization settings
|
||||
# ============================================================
|
||||
-optimizations !code/simplification/arithmetic,!code/simplification/cast,!field/*,!class/merging/*
|
||||
-optimizations !code/simplification/arithmetic,!code/simplification/cast,!field/*,!class/merging/*,!method/inlining/*
|
||||
-optimizationpasses 5
|
||||
-allowaccessmodification
|
||||
|
||||
# Don't optimize or obfuscate Retrofit interfaces - critical for type reflection
|
||||
-keepnames,includedescriptorclasses interface * {
|
||||
@retrofit2.http.* <methods>;
|
||||
}
|
||||
|
||||
# ============================================================
|
||||
# Don't warn about missing classes that we don't use
|
||||
# ============================================================
|
||||
-dontwarn org.conscrypt.**
|
||||
-dontwarn org.slf4j.**
|
||||
-dontwarn javax.naming.**
|
||||
-dontwarn org.w3c.dom.traversal.**
|
||||
-dontwarn org.apache.xerces.**
|
||||
-dontwarn org.apache.xml.**
|
||||
-dontwarn org.apache.xalan.**
|
||||
-dontwarn org.ietf.jgss.**
|
||||
-dontwarn org.apache.http.**
|
||||
|
||||
# ByteBuddy (test dependency)
|
||||
-dontwarn net.bytebuddy.**
|
||||
-dontwarn com.sun.jna.**
|
||||
-dontwarn edu.umd.cs.findbugs.annotations.**
|
||||
|
||||
Reference in New Issue
Block a user