import { SerializedKeyPair } from 'openpgp'; import { IBaseCoin, IBlsKeyPair, KeychainsTriplet } from '../baseCoin'; import { BitGoBase } from '../bitgoBase'; import { Keychain } from '../keychain'; import { IBlsUtils } from './iBlsUtils'; import { MpcUtils } from './mpcUtils'; /** * Utility functions for BLS-DKG work flows. */ export declare class BlsUtils extends MpcUtils implements IBlsUtils { constructor(bitgo: BitGoBase, baseCoin: IBaseCoin); /** * Creates a Keychain containing the User's BLS-DKG signing materials. * * @param userGpgKey - ephemeral GPG key to encrypt / decrypt sensitve data exchanged between user and server * @param userKeyShare - user's BLS-DKG key share * @param backupKeyShare - backup's BLS-DKG key share * @param bitgoKeychain - previously created BitGo keychain; must be compatible with user and backup key shares * @param passphrase - wallet passphrase used to encrypt user's signing materials */ createUserKeychain(userGpgKey: SerializedKeyPair, userKeyShare: IBlsKeyPair, backupKeyShare: IBlsKeyPair, bitgoKeychain: Keychain, passphrase: string, originalPasscodeEncryptionCode?: string): Promise; /** * Creates a Keychain containing the Backup party's BLS-DKG signing materials. * * @param userGpgKey - ephemeral GPG key to encrypt / decrypt sensitve data exchanged between user and server * @param userKeyShare - User's BLS-DKG Keyshare * @param backupKeyShare - Backup's BLS-DKG Keyshare * @param bitgoKeychain - previously created BitGo keychain; must be compatible with user and backup key shares * @param passphrase - wallet passphrase used to encrypt user's signing materials */ createBackupKeychain(userGpgKey: SerializedKeyPair, userKeyShare: IBlsKeyPair, backupKeyShare: IBlsKeyPair, bitgoKeychain: Keychain, passphrase: string): Promise; /** * Creates a Keychain containing BitGo's BLS-DKG signing materials. * * @param userGpgKey - ephemeral GPG key to encrypt / decrypt sensitve data exchanged between user and server * @param userKeyShare - user's BLS-DKG key share * @param backupKeyShare - backup's BLS-DKG key share */ createBitgoKeychain(userGpgKey: SerializedKeyPair, userKeyShare: IBlsKeyPair, backupKeyShare: IBlsKeyPair, enterprise?: string): Promise; /** * Creates User, Backup, and BitGo BLS-DKG Keychains. * * @param params.passphrase - passphrase used to encrypt signing materials created for User and Backup */ createKeychains(params: { passphrase: string; enterprise?: string; originalPasscodeEncryptionCode?: string; }): Promise; } //# sourceMappingURL=blsUtils.d.ts.map