Skip to content

Conversation

@SeniorZhai
Copy link
Member

No description provided.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds Bitcoin (BTC) support to the wallet feature, enabling users to manage Bitcoin in their classic wallets.

Key Changes

  • Added Bitcoin SegWit address generation and transaction signing support
  • Introduced UTXO management with a new outputs database table
  • Created UI for prompting users to add Bitcoin addresses to existing classic wallets

Reviewed changes

Copilot reviewed 47 out of 47 changed files in this pull request and generated 8 comments.

Show a summary per file
File Description
app/src/main/res/values/strings.xml Added English strings for Bitcoin wallet introduction feature
app/src/main/res/values-zh-rTW/strings.xml Added Traditional Chinese translations for Bitcoin feature
app/src/main/res/values-zh-rCN/strings.xml Added Simplified Chinese translations for Bitcoin feature
app/src/main/res/layout/fragment_classic_wallet_missing_btc_address_intro.xml New layout for Bitcoin address introduction screen
app/src/main/res/layout/fragment_classic_wallet_missing_btc_address_bottom_sheet.xml New bottom sheet layout for Bitcoin address setup
app/src/main/res/drawable/*.xml Added vector drawables for Bitcoin wallet features (with naming issues)
app/src/main/java/one/mixin/android/ui/wallet/ClassicWalletMissingBtcAddressFragment.kt New fragment handling Bitcoin address addition to classic wallets
app/src/main/java/one/mixin/android/ui/home/MainActivity.kt Integrated Bitcoin address check before wallet navigation
app/src/main/java/one/mixin/android/web3/js/Web3Signer.kt Added Bitcoin transaction signing logic
app/src/main/java/one/mixin/android/tip/TipSign.kt Added Bitcoin key derivation using BIP84 (SegWit)
app/src/main/java/one/mixin/android/crypto/CryptoWalletHelper.kt Added Bitcoin address generation methods for SegWit and Taproot
app/src/main/java/one/mixin/android/db/WalletDatabase.kt Added database migration to version 7 with outputs table
app/src/main/java/one/mixin/android/db/web3/WalletOutputDao.kt New DAO for managing Bitcoin UTXOs
app/src/main/java/one/mixin/android/api/response/web3/WalletOutput.kt New data model for Bitcoin outputs (UTXOs)
app/src/main/java/one/mixin/android/job/RefreshWeb3BitCoinJob.kt New job for refreshing Bitcoin UTXO data
app/build.gradle Updated BouncyCastle dependency version management

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@@ -0,0 +1,15 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
Copy link

Copilot AI Jan 5, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The drawable filename contains a typo. "saemless" should be "seamless".

Copilot uses AI. Check for mistakes.
Comment on lines +843 to +844
web3Token != null && (chainToken == null || gas == null || (chainToken?.balance?.toBigDecimalOrNull() ?: BigDecimal.ZERO) < gas ||
(web3Token?.assetId == chainToken?.assetId && (gas ?: BigDecimal.ZERO).add(BigDecimal(v)) > (web3Token?.balance?.toBigDecimalOrNull() ?: BigDecimal.ZERO)))
Copy link

Copilot AI Jan 5, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The conditional logic appears to have incorrect balance comparison. The chain token balance check should have proper parentheses grouping to ensure the comparison operators work correctly.

Copilot uses AI. Check for mistakes.
# Conflicts:
#	app/src/main/java/one/mixin/android/job/BaseJob.kt
#	app/src/main/java/one/mixin/android/job/RefreshWeb3Job.kt
#	app/src/main/java/one/mixin/android/ui/common/LoginVerifyBottomSheetDialogFragment.kt
#	app/src/main/java/one/mixin/android/ui/home/MainActivity.kt
# Conflicts:
#	app/src/main/java/one/mixin/android/job/BaseJob.kt
#	app/src/main/java/one/mixin/android/job/RefreshWeb3Job.kt
#	app/src/main/java/one/mixin/android/ui/common/LoginVerifyBottomSheetDialogFragment.kt
#	app/src/main/java/one/mixin/android/ui/home/MainActivity.kt
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 87 out of 89 changed files in this pull request and generated no new comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@SeniorZhai SeniorZhai force-pushed the feature/btc branch 2 times, most recently from 97898d6 to 6177de5 Compare January 19, 2026 07:53
# Conflicts:
#	app/src/main/java/one/mixin/android/job/BaseJob.kt
#	app/src/main/java/one/mixin/android/job/RefreshWeb3Job.kt
#	app/src/main/java/one/mixin/android/ui/common/BottomSheetViewModel.kt
#	app/src/main/java/one/mixin/android/ui/common/LoginVerifyBottomSheetDialogFragment.kt
#	app/src/main/java/one/mixin/android/ui/tip/TipFragment.kt
@SeniorZhai SeniorZhai added the testing Now testing, but you can review label Jan 20, 2026
@SeniorZhai SeniorZhai marked this pull request as ready for review January 20, 2026 07:21
@SeniorZhai SeniorZhai requested a review from Copilot January 20, 2026 07:22
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 79 out of 81 changed files in this pull request and generated no new comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

testing Now testing, but you can review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants