The Extensible Wallet V5 represents a significant advancement in the realm of digital wallets, aiming to supersede its predecessor, Wallet V4, by offering a framework that supports arbitrary extensions. This initiative is spearheaded by Oleg Andreev, with valuable contributions from Andrew Gutarev, and further enriched by ideas and discussions from the community, including [@subden], [@botpult], and [@tvorogme].
Abstract
The Extensible Wallet V5 is designed to enhance user experience and operational efficiency through its support for multiple authentication modes, a variety of operation types, and the innovative use of action lists for outgoing messages. Its architecture allows for seamless wallet upgrades and extension integration, fostering a decentralized ecosystem where extensions can coexist without conflict.
Key Features
- Reduced Computation Fees: Offers a 25% reduction in computation fees compared to previous versions.
- Support for Multiple Outgoing Messages: Facilitates an arbitrary number of outgoing messages via an action list.
- Upgradeable Wallet Code: Enables transparent wallet code upgrades without affecting the user’s address.
- Extensible Framework: Allows for decentralized, conflict-free extension of wallet functionalities.
- Third-Party Gas Fee Payments: Supports signed requests via internal messages, enabling third-party coverage of gas fees.
Comparative Analysis
Feature | Extensible Wallet V5 | Previous Versions |
---|---|---|
Computation Fee Reduction | 25% | None |
Outgoing Messages | Arbitrary number | Limited |
Code Upgradeability | Transparent | Not supported |
Decentralized Extensions | Supported | Not supported |
Third-Party Gas Payment | Supported | Not supported |
Opcode for External Messages | 32-bit | Not specified |
Authentication Modes | 2 | 1 |
Additional Operation Types | 3 | Standard |
Technical Overview
The wallet operates under two primary authentication modes: signature-based and extension-based, accommodating all standard output actions along with three additional operation types. These enhancements ensure that all operation types are accessible across authentication modes, underlining the wallet’s versatility.
Operational Modes
- Authentication: Facilitated through either signature or extension.
- Operation Types: Encompasses standard output actions, data setting, extension installation, and removal.
Extensibility and Upgrades
The Extensible Wallet V5 emphasizes the use of extensions to broaden functionality, allowing other contracts to perform actions as if they were the wallet owner. It introduces a systematic approach to performing code optimizations and emergency upgrades without necessitating a change in the wallet address, ensuring backward compatibility and minimizing disruptions for users.
Discussion Highlights
- Purpose and Limitations: The wallet is designed for single-user operation, directing multi-user operations to alternative solutions like multisig or DAO.
- Extending Functionality: Extensions offer a scalable way to enhance wallet capabilities, with the potential for code optimization and emergency upgrades as needed.
- Gas Fee Outsourcing: The wallet supports gas fee payment by third parties, simplifying transactions.
- Plugin Implementation: Plugins can implement subscriptions and collect tokens, with provisions for self-destruction and efficient deployment.
Wallet ID and Packed Address
The specification introduces a unique wallet ID to differentiate between wallet versions and chains, alongside an efficient method for address compression to streamline extension authorization.
TL-B Definitions and Source Code
The document provides detailed TL-B definitions for actions and authentication modes, alongside the complete source code for the wallet, available in the specified repository.
Conclusion
The Extensible Wallet V5 specification lays the foundation for a versatile, efficient, and forward-looking digital wallet. Its design not only reduces operational costs but also paves the way for a decentralized, extensible ecosystem, offering a robust framework for the future of digital transactions.