Beyond Basics: Expanding Functionality with Intu
Welcome to the advanced functionality of Intu. This guide will expand on the functions you can perform.
🚀 Starting Point: Haven't launched your own Intu dEOA yet? Make that your priority. The initial setup is foundational for the steps that follow.
1. Vault Creation
Creating a vault is straightforward. Pass in an array of participants, a unique account name, and set your thresholds: rotation, signing, and administrative.
2. Retrieving Vault Data
Once your vault is established, retrieving its data is the next move.
3. Proposing a Vault & Encryption
- The initiator proposes a vault.
- Creates a random encryption message for all users.
- Includes the user addresses involved and sets the thresholds.
- All participants sign this encryption message.
- The result of the signing confirms their 'registration' with the vault.
- During this, certain data necessary for the DKG process is also passed.
4. User Registration & DKG Contribution
We have 2 methods for user Registration, discussed here: Registration (Info)
No matter which method you choose, your users will first have to perform a preRegistration step: preRegistration
This step creates an encryption key for the user, their database ID, and lets the vault know that they are interested in joining.
If you want to use the new automatic registration method, you'll need to perform these steps:
Otherwise, using the previous more manual method...
🔑 Key Point: All users must sequentially perform each step. For instance, all participants must preRegister before any individual can perform registerStep1.
5. Completing the Vault
With every participant registered, any one of them can now 'complete' the vault. This step needs to be performed regardless of the registration step you chose --- but can only be performed after everyone is registered.
Congratulations! 🎉 You've now set up an Intu MPC account!
6. Transaction Operations
Your next adventures involve forming transactions, having them signed by users, and finally, combining the signatures for transaction execution.