Skip to content

Conversation

@lealobanov
Copy link
Collaborator

@lealobanov lealobanov commented Dec 9, 2025

  • This PR is not critical to the v 3.1.0 release; it includes clean up of the old Android onboarding files

Related Issue

Closes #???

Summary of Changes

Need Regression Testing

  • Yes
  • No

Risk Assessment

  • Low
  • Medium
  • High

Additional Notes

Screenshots (if applicable)

- Saves mnemonic to secure storage using Wallet.store()
- Creates EOA Account in AccountManager (no Firebase UID)
- Initializes WalletManager with new account
- Returns success/error response
- Remove generateRecoveryPhrase() (using TypeScript implementation)
- Remove createEOAAccount() stub (replaced by saveMnemonic)
- Clean up unused code per code review feedback
- Resolved import conflicts in NativeFRWBridge.kt
- Updated build.gradle to read GitHub credentials from local.properties
Resolved conflicts:
- AccountExtensions.kt: Accept dev (new wallet architecture)
- AccountManager.kt: Accept dev (walletNodes architecture)
- EVMWalletManager.kt: Accept dev (simpler architecture)
- WalletManager.kt: Accept dev (WalletCreationHelper-based approach)
- UserRegisterUtils.kt: Keep ours (registration early return flow)
- Utils.kt: Accept dev
- WalletListActivity.kt: Accept deletion from dev
- NativeFRWBridge.kt: Keep ours (handler-based architecture)
- Remove evmAddressData references (now in walletNodes)
- Replace walletAddress() with getFlowWalletAddress()
- Replace getEOAAddressCached() with getEOAAddress()
- Remove EVMWalletManager.clear()/init() calls
- Remove WalletManager.init()/onWalletReady() calls
- Remove AccountManager.updateWalletInfo()/updateEVMAddressInfo() calls
- Update childAccountList() to return List<ChildAccount> directly
- registerOutblock: Create FlowWallet from createdAddress and add to walletNodes
- initWalletWithTxId: Create FlowWallet from createdAddress and add to walletNodes
- setupAccountAndWallet (AuthBridgeHandler): Create FlowWallets from walletListData

This ensures accounts are immediately usable after registration without
waiting for the async WalletDataManager to populate walletNodes from
the key indexer (which may have indexing delays for new accounts).
In recovery phrase flow, walletListData.blockchain is null when
setupAccountAndWallet is called. The Flow address becomes available
later via WalletFetcher. Now we check if FlowWallet is missing after
the address is confirmed and add it to walletNodes.
WalletDataManager.updateCurrentAccountData() was overwriting manually-added
FlowWallets with just EOAWallet when key indexer hadn't indexed new accounts yet.

Now we check if the key indexer found any FlowWallets - if not, we preserve
the existing FlowWallets that were added during account creation.
Secure enclave accounts use ECDSA_P256 and should not have an EOA.
EOA is only for recovery phrase accounts that use ECDSA_secp256k1.

Check signing algorithm to determine account type and skip EOA
derivation for P256 accounts in both updateCurrentAccountData
and updateNonCurrentAccountData.
… phrase accounts

- Add AccountType constants (FULL, HARDWARE) to Account data class
- Set accountType during registration for both flows
- Use accountType to determine EOA eligibility
- Fall back to signature algorithm check for legacy accounts without accountType
- Merge with hotfix/3.0.6 EOA detection approach
- Delete WalletCreateActivity and WalletCreateViewModel (no longer launched)
- Delete warning/, mnemoniccheck/, pincode/guide/ folders (unused)
- Delete individual fragment files: WalletCreateMnemonicFragment,
  WalletCreatePinCodeFragment, WalletCreatePinCodePresenter,
  WalletCreateUsernameFragment, WalletCreateUsernamePresenter
- Delete model/WalletCreateContentModel and presenter/WalletCreateContentPresenter
- Update WalletCreateCloudPwdPresenter to remove WalletCreateViewModel dependency

Kept files that are still used by backup/restore/security:
- cloudpwd/ (Google Drive backup)
- mnemonic adapters/models (backup flows)
- pincode widgets (pin code flows)
- username models/viewmodels (keystore restore)
- Utils.kt (wallet restore)
@lealobanov lealobanov requested a review from a team as a code owner December 9, 2025 18:41
lmcmz
lmcmz previously approved these changes Dec 12, 2025
Base automatically changed from onboarding-entrypoint to dev December 17, 2025 01:59
@lealobanov lealobanov dismissed lmcmz’s stale review December 17, 2025 01:59

The base branch was changed.

@lealobanov lealobanov requested a review from lmcmz December 19, 2025 00:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants