-
Notifications
You must be signed in to change notification settings - Fork 20
Multix integration
Multix enhances the user experience of making multisig transactions within the Polkadot/Kusama ecosystem. It offers a more intuitive and efficient approach compared to traditional methods. With Multix, users can conveniently manage multisig transactions directly within the interface, eliminating the need for manual call data sharing.
This guide provides insight on how to make your multisig calls compatible with the Multix UI without the need of any SDK or third-party API, enabling transaction visibility, verification, and approval within the interface.
Multix takes a different approach to multisig transactions by storing them directly on-chain without the need for off-chain communication or a separate database.
Original Approach
In the traditional approach, when a proposer submits a multisig transaction, the first method called is multisig.approveAsMulti
, which only requires the call hash. Consequently, the chain remains unaware of the actual call information. The last signatory of the transaction must then pass the call data to the chain using multisig.asMulti
, ensuring that the call can effectively be executed.
However, this approach has limitations that make it difficult for signatories to fully understand the details of what they are signing. Additionally, the traditional method requires significant off-chain coordination among signatories, as the last signatory must manually pass the call data to the chain.
Multix Approach
Multix takes a different path to enhance and improve the multisig user experience. Instead of relying on an API for storing call data, Multix utilizes multisig.asMulti
for the first proposer. This method requires the encoded call as a parameter, ensuring that the call data is directly stored in the block. The storage of the multisig pallet will keep the index of the first proposer's call along with the block number when it was made. Subsequently, this is what enables Multix to retrieve this information from the nodes.
With the Multix approach, you unlock the power of on-chain storage for your multisig transactions. This approach improves transaction visibility and control, providing users with a more intuitive and efficient experience. With Multix, you can easily see the details of the transactions you are signing, mitigating potential risks associated with limited visibility. Additionally, the need for extensive off-chain coordination is eliminated, simplifying the multisig process and reducing complexity.
TL;DR
To make a multisig transaction compatible with Multix, the first proposer should initiate it with multisig.asMulti
.