You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
refactor(key-wallet): drop unused is_watch_only from ManagedCoreAccount
The mutable managed-account state carries an `is_watch_only` field that
is just propagated from the immutable parent `Account` and never read
for any decision in the workspace. Every "is watch-only? then deny"
check (`key-wallet-ffi/src/keys.rs`, `account_derivation.rs`) reads it
off the immutable `Account`, not the managed copy. The denormalized
field has no Rust callers — only test assertions and a `#[no_mangle]`
getter that nothing in this repo invokes.
Drop the field, the `is_watch_only` parameter on `ManagedCoreAccount::new`
and the `create_managed_account_from_*` helpers, the trait method on
`ManagedAccountTrait`, and the FFI export
`managed_core_account_get_is_watch_only`.
Note: `ManagedPlatformAccount.is_watch_only` and the corresponding
`managed_platform_account_get_is_watch_only` FFI export are unchanged.
Breaking change for any out-of-tree consumer of the
`managed_core_account_get_is_watch_only` C ABI; check the parent
`Account.is_watch_only` (exposed via `account_get_is_watch_only`) or the
wallet-level `wallet_is_watch_only` instead.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
0 commit comments