Interface Definition

interface WalletProperties {
  chainName: string;
  walletId: string;
  accountAddress: string;
  externalServerKeyShares: ServerKeyShare[];
  thresholdSignatureScheme: ThresholdSignatureScheme;
  derivationPath?: string;
  externalServerKeySharesBackupInfo: KeyShareBackupInfo;
}

Properties

Required Properties

  • chainName (string) - The blockchain chain name (e.g., ‘EVM’, ‘SVM’)
  • walletId (string) - Unique identifier for the wallet
  • accountAddress (string) - The wallet’s account address
  • externalServerKeyShares (ServerKeyShare[]) - Array of external server key shares for MPC operations
  • thresholdSignatureScheme (ThresholdSignatureScheme) - The threshold signature scheme used for this wallet
  • externalServerKeySharesBackupInfo (KeyShareBackupInfo) - Information about backed up key shares

Optional Properties

  • derivationPath (string) - The derivation path used for the wallet (optional)

Example

const walletProperties: WalletProperties = {
  chainName: 'EVM',
  walletId: 'wallet_123456',
  accountAddress: '0x742d35Cc6634C0532925a3b8D4C9db96C4b4d8b6',
  externalServerKeyShares: [
    // ServerKeyShare objects
  ],
  thresholdSignatureScheme: ThresholdSignatureScheme.TWO_OF_TWO,
  derivationPath: 'm/44\'/60\'/0\'/0/0',
  externalServerKeySharesBackupInfo: {
    passwordEncrypted: false,
    backups: {
      dynamic: [],
      googleDrive: [],
      iCloud: [],
      user: [],
      external: []
    }
  }
};