@bsv/sdk
Version:
BSV Blockchain Software Development Kit
27 lines • 1.97 kB
TypeScript
import { KeyDeriverApi } from './KeyDeriver.js';
import { PrivateKey } from '../primitives/index.js';
import { CreateHmacArgs, CreateHmacResult, CreateSignatureArgs, CreateSignatureResult, GetPublicKeyArgs, PubKeyHex, RevealCounterpartyKeyLinkageArgs, RevealCounterpartyKeyLinkageResult, RevealSpecificKeyLinkageArgs, RevealSpecificKeyLinkageResult, VerifyHmacArgs, VerifyHmacResult, VerifySignatureArgs, VerifySignatureResult, WalletDecryptArgs, WalletDecryptResult, WalletEncryptArgs, WalletEncryptResult } from './Wallet.interfaces.js';
/**
* A ProtoWallet is precursor to a full wallet, capable of performing all foundational cryptographic operations.
* It can derive keys, create signatures, facilitate encryption and HMAC operations, and reveal key linkages.
*
* However, ProtoWallet does not create transactions, manage outputs, interact with the blockchain,
* enable the management of identity certificates, or store any data. It is also not concerned with privileged keys.
*/
export declare class ProtoWallet {
keyDeriver?: KeyDeriverApi;
constructor(rootKeyOrKeyDeriver?: PrivateKey | 'anyone' | KeyDeriverApi);
getPublicKey(args: GetPublicKeyArgs): Promise<{
publicKey: PubKeyHex;
}>;
revealCounterpartyKeyLinkage(args: RevealCounterpartyKeyLinkageArgs): Promise<RevealCounterpartyKeyLinkageResult>;
revealSpecificKeyLinkage(args: RevealSpecificKeyLinkageArgs): Promise<RevealSpecificKeyLinkageResult>;
encrypt(args: WalletEncryptArgs): Promise<WalletEncryptResult>;
decrypt(args: WalletDecryptArgs, originator?: string): Promise<WalletDecryptResult>;
createHmac(args: CreateHmacArgs): Promise<CreateHmacResult>;
verifyHmac(args: VerifyHmacArgs): Promise<VerifyHmacResult>;
createSignature(args: CreateSignatureArgs): Promise<CreateSignatureResult>;
verifySignature(args: VerifySignatureArgs): Promise<VerifySignatureResult>;
}
export default ProtoWallet;
//# sourceMappingURL=ProtoWallet.d.ts.map