Release v2.10.1
·
13 commits
to development
since this release
Release Notes
New Feature: Twin Ownership Transfer
A new two-party ownership transfer flow has been introduced for twins. This is especially useful if the mnemonic controlling a twin may have been leaked, allowing the owner to quickly transfer control to a new secure account.
- Initiate transfer: Current owner requests transfer to a new account.
- Accept transfer: The new account accepts to finalize.
- Cancel transfer: Current owner can cancel a pending transfer at any time.
- Balance handling: On acceptance, reserved balances tied to the twin are moved to the new owner, and ownership/indexes are updated.
Key Details
- One pending transfer per twin at a time.
- Transfer requires two-party consent (owner + recipient).
- Defensive checks ensure consistency of ownership and accounting.
created_attimestamp stored for potential future expiry logic.
Events
- TwinTransferRequested, TwinOwnershipTransferred, TwinTransferCanceled → each includes
request_id,twin_id,from, andto.
Compatibility
- Backward compatible, no storage migration required.
Security
- Designed for rapid recovery in case of compromised credentials (leaked mnemonic).
- Ownership and balances update atomically, ensuring integrity.
⚠️ Limitation
After ownership is transferred, it may take some time for the new public key used for RMB end-to-end encrypted communication to propagate across the network due to caching. During this window, users may experience temporary service degradation.
📑 Changelog
v2.10.1 (2025-09-29)
📁 Other pull requests
- Development bump version to 2.10.1 #1063 (sameh-farouk)
- Twin Ownership Transfer #1062 (sameh-farouk)
- fmt: correct lint/format #1060 (sameh-farouk)