Skip to content

Conversation

@swansontec
Copy link
Contributor

@swansontec swansontec commented Jan 30, 2026

CHANGELOG

Does this branch warrant an entry to the CHANGELOG?

  • Yes
  • No

Dependencies

EdgeApp/edge-core-js#701

Requirements

If you have made any visual changes to the GUI. Make sure you have:

  • Tested on iOS device
  • Tested on Android device
  • Tested on small-screen device (iPod Touch)
  • Tested on large-screen device (tablet)


Note

Medium Risk
Touches wallet-splitting logic used during onboarding and swap recovery, so failures could impact wallet creation/selection even though the change is largely an API migration.

Overview
Updates wallet splitting to use the new EdgeCurrencyWallet.split method instead of account.splitWalletInfo.

The create-wallet split flow now batches requested splits from a source wallet and handles per-split success/failure results, and the swap same-address recovery path now creates the needed destination-chain wallet via fromWallet.split and uses the returned wallet instance. CHANGELOG notes improved reliability for parallel wallet splits.

Written by Cursor Bugbot for commit 063f6bc. This will update automatically on new commits. Configure here.

navigation.navigate('edgeTabs', {
screen: 'walletsTab',
params: { screen: 'walletList' }
})
Copy link

Choose a reason for hiding this comment

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

Missing try/catch around split call in handleSplit

Medium Severity

The old handleSplit wrapped each split operation in try/catch, calling showError on failure. The new code calls sourceWallet.split(splitItems) with no try/catch at all. If split() throws an exception (e.g. network error, internal failure) rather than returning an error result, it becomes an unhandled promise rejection since useHandler doesn't catch errors. The companion change in SwapProcessingScene correctly has the split() call inside a try/catch. The handleCreate handler in this same file also wraps its core logic in try/catch.

Fix in Cursor Fix in Web

Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.

navigation.navigate('edgeTabs', {
screen: 'walletsTab',
params: { screen: 'walletList' }
})
Copy link

Choose a reason for hiding this comment

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

Missing try/catch leaves user stuck on split error

Medium Severity

The old handleSplit wrapped each split attempt in a try/catch, guaranteeing the user was always navigated to the wallet list even on failure. The new version has no try/catch at all. If sourceWallet.split() throws (rather than returning error results), or if account.currencyConfig[item.pluginId] is undefined (optional chaining ?. was also removed), the function exits early and the navigation.navigate call never runs. While usePendingPress catches the rejection and shows the error, the user remains stuck on the edit-name scene with no automatic navigation back.

Additional Locations (1)

Fix in Cursor Fix in Web

@swansontec swansontec merged commit 5420a91 into develop Feb 11, 2026
4 checks passed
@swansontec swansontec deleted the william/multi-split branch February 11, 2026 02:48
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.

1 participant