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
This commit is contained in:
2026-02-12 05:19:41 +03:00
commit a294aa1a6b
7687 changed files with 441811 additions and 0 deletions
@@ -0,0 +1,143 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/chooseAmountContainer"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:background="@color/secondary_screen_background">
<io.novafoundation.nova.common.view.Toolbar
android:id="@+id/selectSendToolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:dividerVisible="false"
app:homeButtonIcon="@drawable/ic_close" />
<com.google.android.flexbox.FlexboxLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="16dp"
app:flexDirection="row"
app:flexWrap="wrap">
<TextView
android:id="@+id/selectSendFromTitle"
style="@style/TextAppearance.NovaFoundation.Bold.Title2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="10dp"
android:layout_marginBottom="8dp"
android:includeFontPadding="false"
android:textColor="@color/text_primary"
tools:text="Send KSM from" />
<io.novafoundation.nova.feature_account_api.view.ChainChipView
android:id="@+id/selectSendOriginChain"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp" />
<TextView
android:id="@+id/selectSendToTitle"
style="@style/TextAppearance.NovaFoundation.Bold.Title2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:includeFontPadding="false"
android:text="@string/wallet_send_tokens_to"
android:textColor="@color/text_primary"
android:visibility="gone"
app:layout_wrapBefore="true" />
<io.novafoundation.nova.feature_account_api.view.ChainChipView
android:id="@+id/selectSendDestinationChain"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:visibility="gone" />
</com.google.android.flexbox.FlexboxLayout>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:clipChildren="false"
android:minHeight="24dp"
android:paddingStart="16dp"
android:paddingEnd="16dp">
<TextView
style="@style/TextAppearance.NovaFoundation.Regular.Footnote"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="start|bottom"
android:layout_marginBottom="4dp"
android:includeFontPadding="false"
android:text="@string/wallet_recipient"
android:textColor="@color/text_secondary" />
<io.novafoundation.nova.common.view.YourWalletsView
android:id="@+id/selectWallet"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end|center_vertical"/>
</FrameLayout>
<io.novafoundation.nova.feature_account_api.presenatation.mixin.addressInput.AddressInputField
android:id="@+id/selectSendRecipient"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="16dp"
android:hint="@string/send_address_hint"
app:hasExternalAccountIdentifiers="true" />
<io.novafoundation.nova.feature_wallet_api.presentation.view.amount.ChooseAmountView
android:id="@+id/selectSendAmount"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="16dp" />
<io.novafoundation.nova.feature_wallet_api.presentation.view.FeeView
android:id="@+id/selectSendOriginFee"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="12dp"
android:layout_marginEnd="16dp"
app:dividerVisible="false" />
<io.novafoundation.nova.feature_wallet_api.presentation.view.FeeView
android:id="@+id/selectSendCrossChainFee"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
app:dividerVisible="false" />
<Space
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1" />
<io.novafoundation.nova.common.view.PrimaryButton
android:id="@+id/selectSendNext"
style="@style/Widget.Nova.Button.Primary"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="16dp"
android:layout_marginBottom="24dp"
android:enabled="false"
android:text="@string/common_continue" />
</LinearLayout>