Import/Recovery

To perform the key import process for MPC wallets, you need to:

  1. Import the mnemonic phrase and derive private keys for child wallets.

  2. Generate a list of KeyGenWallet using the derived private keys and public wallet addresses.

  3. Recall the createMnemonicWallet method with the same input list of KeyGenWallet.

    • wallets: A list of KeyGenWallet to perform keygen. Each item requires: - secret: The private key of the Child Wallet (derived from the mnemonic phrase). - walletAddress: The public address or public key of the Child Wallet. - ChainId: The chain name (e.g., ethereum, solana). - ecType: The cryptographic algorithm type (eddsa, ecdsa).

  4. When receiving the backup from createMnemonicWallet() , please ensure that the server shards of the newly created Paillier group and Keygen group are stored in a safe and secure location.

Example:


let walletResponse = client.createMnemonicWallet(
    name: "KeyGenGroupID123",
    numParties: 2,
    mnemonicPhrase: "your mnemonic phrase here",
    wallets: [
        KeyGenWallet(
            secret: "derived private key",
            walletAddress: "0xYourWalletAddress",
            chainId: "ethereum",
            ecType: "ecdsa"
        )
    ]
)

for masterWallet in walletResponse.masterWallets {
    for wallet in masterWallet {
        // Assuming wallet has properties: keyIdentity, ecType, and address
        print("keyIdentity: \(wallet.keyIdentity) - ecType: \(wallet.ecType) - address: \(wallet.address)")
    }
}

Last updated