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
The current 1wallet (smart contract) implementation only allows a single operation per transaction. Here, a transaction means a single OTP used by the user (and the wallet client) to commit and reveal the operation to the blockchain. A single operation means one of the OperationTypes as defined in
Even though CALL is expanded to encompass multiple contract calls in a single operation in v12.1 release, it cannot be used to execute multiple operations from the 1wallet itself. The absence of such batch operation is the root cause of poor user experience for wallet upgrade, token and collectible tracking, and domain transfer. For example, during an upgrade, the following operations should be completed on the wallets, ideally using only a single OTP provided by the user:
Creating a new wallet using identical parameters of the old wallet, but with backlinks set to the old wallet's backlinks plus the old wallet's address
OVERRIDE_TRACK: Synchronize locally tracked tokens with the old wallet's smart contract (so these tokens can be automatically forwarded to the new wallet)
FORWARD: set the forwarding address of the old wallet to the new wallet (and automatically forward tracked assets, including ONE within daily spend limit)
RECLAIM_DOMAIN_FROM_BACKLINK (on new wallet): transfer the domain owned by old wallet to the new wallet and register the new wallet on the reverse registrar
OVERRIDE_TRACK (on new wallet): Synchronize locally tracked tokens with the new wallet's smart contract.
Since steps 1-4 each is an operation, without batch operation, each of them would require separate OTP authentication to complete. It would be a horrendous user experience if we ask the user to type four different OTPs separately. As a compromise, the current version of 1wallet only performs the second step during an upgrade. The user has to do (3) later if they want (see Reclaim feature in https://github.com/polymorpher/one-wallet/releases/tag/v0.13.1). Token and collectible tracking is reset (except for assets automatically forwarded to the new wallet, in which case the collectibles are automatically tracked upon recipient)
With batch operation, all of the above can be combined and performed in one go at the time of wallet upgrade, delivering a consistent, pleasant upgrade experience.
This feature will be made available within the next two major versions.
The text was updated successfully, but these errors were encountered:
The current 1wallet (smart contract) implementation only allows a single operation per transaction. Here, a transaction means a single OTP used by the user (and the wallet client) to commit and reveal the operation to the blockchain. A single operation means one of the OperationTypes as defined in
one-wallet/code/contracts/Enums.sol
Line 4 in 71a0b26
Even though
CALL
is expanded to encompass multiple contract calls in a single operation in v12.1 release, it cannot be used to execute multiple operations from the 1wallet itself. The absence of such batch operation is the root cause of poor user experience for wallet upgrade, token and collectible tracking, and domain transfer. For example, during an upgrade, the following operations should be completed on the wallets, ideally using only a single OTP provided by the user:Since steps 1-4 each is an operation, without batch operation, each of them would require separate OTP authentication to complete. It would be a horrendous user experience if we ask the user to type four different OTPs separately. As a compromise, the current version of 1wallet only performs the second step during an upgrade. The user has to do (3) later if they want (see Reclaim feature in https://github.com/polymorpher/one-wallet/releases/tag/v0.13.1). Token and collectible tracking is reset (except for assets automatically forwarded to the new wallet, in which case the collectibles are automatically tracked upon recipient)
With batch operation, all of the above can be combined and performed in one go at the time of wallet upgrade, delivering a consistent, pleasant upgrade experience.
This feature will be made available within the next two major versions.
The text was updated successfully, but these errors were encountered: