Skip to content

Conversation

@swansontec
Copy link
Contributor

@swansontec swansontec commented Feb 12, 2026

CHANGELOG

Does this branch warrant an entry to the CHANGELOG?

  • Yes
  • No

Dependencies

none

Description

none

Note

Medium Risk
Touches core wallet initialization, persistence, and engine option plumbing; mis-wiring could cause engines to start with incorrect settings or fail when plugins don’t expect the new required userSettings/walletSettings fields.

Overview
Adds wallet-scoped settings plumbing end-to-end: EdgeCurrencyWallet now exposes walletSettings plus changeWalletSettings, and engines can optionally implement changeWalletSettings and receive initial walletSettings via EdgeCurrencyEngineOptions.

Wallet settings are persisted per wallet to WalletSettings.json, loaded on wallet startup and on storage sync changes, stored in redux via new actions/reducer state, and passed into engine creation (including makeMemoryWallet). Also tightens several type surfaces by making plugin/swap userSettings non-optional and adding a currencyInfo.hasWalletSettings feature flag gate.

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

The items in the list are already known to need these changes, so there is no need to double-check.
This lets us control settings on a per-wallet basis, instead of per-chain (which is that the old userSettings property handles).
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.

enabledTokenIds?: string[]
fiatCurrencyCode?: string
name?: string
walletSettings?: JsonObject
Copy link

Choose a reason for hiding this comment

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

Wallet settings silently dropped during non-memory wallet creation

High Severity

walletSettings was added to EdgeCreateCurrencyWalletOptions and is correctly handled for memory wallets in memory-wallet.ts, but finishWalletCreation in keys.ts does not destructure or use walletSettings from opts. When a non-memory wallet is created via createCurrencyWallet or createCurrencyWallets with walletSettings, the settings are silently ignored and never persisted to disk via wallet.changeWalletSettings().

Fix in Cursor Fix in Web

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