Multisig
is an important module in the Substrate ecological network, which is of great significance for the fund management and permissions. It is widely integrated into the runtime by the networks that developed based on Substrate, and is gradually accepted and used by more users. Subscan multi-sig app is designed to help users create and manage multi-signature accounts and extrinsics. We keep working to provide users with a more convenient multi-signature tool, and will aim for this goal in the future.
Since the grant delivery in Aug 2021, we have also fixed some disturbing bugs, and have been adding many new exciting features and enhancing UI/ UX for the multi-sig tool. The goal of this proposal is to seek funds for the new features developed for Subscan multi-sig app (Github).
These new features are divided into 3 Milestones:
We have already completed Milestone 1 and 2, and released (open sourced) it for anyone to use. Welcome to use and experience the Subscan multisig tool.
We sincerely welcome suggestions and feedbacks from the community to help us improve UX. Over the next 3 months, we will complete Milestone 3 and add more community-requested features.
More details can be found on Github:
It can be seen that the number of commits is much more than Issues. Many small features are not recorded here, and the actual workload will be more.
In summary, our work focuses on two points:
**- Make it more convenient for users to use multi-signature related functions.
Here are some details of the main features:
Custom endpoints for new network
The default support networks include Polkadot, Kusama, Darwinia, Crab and Pangolin. Users can now add custom substrate-based chain by configuring name, endpoint and explorer(optional).
With this function, we can now serve all networks with standard multisig modules, without the trouble to deploy another fork instance. Thus, it becomes a convenient facility in the Polkadot ecosystem, and users without coding experience can configure networks with ease.
Issue & PR related
Historical multi-sig extrinsic indexing
Historical multi-sig extrinsics (including confirmed/cancelled ) are stored and indexed using SubQuery. Accounts(member account + threshold) with extrinsic history will be stored as well. This is a prerequisite for importing multi-sig account from url.
Issue & PR related
Import a multi-sig account (which has multi-sig extrinsic history) from url. (e.g. https://multisig.subscan.io/account/1x8aa2N2Ar9SQweJv9vsuZn3WYDHu7gMQu1RePjZuBe33Hv#r%3Dwss%3A%2F%2Frpc.polkadot.io)
We know that a multi-signature account can be assembled and saved locally for the sent multi-signature extrinsic, according to the threshold and member accounts. Thus, when a user shares a url containing an endpoint and a multi-signature address, the corresponding threshold and member accounts are queried and saved locally for information viewing and further operations.
Issue & PR related
Import & export a multi-sig account through json file
Creating a multi-sig account by manually input dozens of member accounts can be quite annoying. This feature can save us the trouble of doing so.
Issue & PR related
Optimize the acquisition method of call data to adapt to more usage scenarios
When a member initiate an extrinsic from other tools such as polkadot.js/apps, the call data may not store on chain, and user can manually input the call data which will be verified correspondingly.
Issue & PR related
Compatible with metadata v14 upgrade
Some related data structure have changed, such as call data stored on chain. We’ve made relevant adjustment to make it compatible with metadata v14 upgrade.
UI/UX improvement:
Refine the general UI layout.
Show estimated reserve amount when submitting an extrinsic.
Issue & PR related
Optimize call data display in extrinsic list on account detail page.
Issue & PR related
Distinguish between cancelled extrinsic and confirmed extrinsic.
Add connection timeout message.
Optimize wallet list.
Issue & PR related
Show multi-sig account balance.
Issue & PR related
Improve performance and load speed.
Issue & PR related
Future plans:
Optimize network configuration architecture, support external chain submit RPC endpoint and subquery GraphQL endpoint configuration by PR.
We are committed to building multi-sig tools as an open, highly compatible infrastructure like the polkadot.js app. In order to achieve this goal, we still need to complete these tasks: Issue & PR related
Batch import/export multi-sig accounts
Issue & PR related
Deploy the SubQuery service for networks that have frequent multi-sig extrinsics.
Issue & PR related
Simplify transfer operations.
Currently it requires user to select module and call to make transfer extrinsic. To make it easier, we plan to add a separate entrance for transfer.
Issue & PR related
Add “favorite” and “share” multi-sig account features.
Issue & PR related
Add more community-requested features.
Add user education docs, videos, etc.
Funding
development and maintenance cost:
Total proposed amount: $102,300
Funding usage:
The above-mentioned funds are used for the labor cost of subscan multi-signature tool milestone1-3 (9 months in total) development. Here is the detail:
The average monthly labor cost is $11k. Due to the different working hours of part-time staff each month, the funds applied for each milestone are also slightly different.
2022-04-21 06:04:54 (+UTC), Block #9967626
DOT EMA30 Price ( USD ): 19.389
Number of DOT: 102,300 USD -> 5,276.305 DOT
Please refer to the previous discussion: https://polkadot.polkassembly.io/post/981