@opendatalabs/vana-sdk
Version:
A TypeScript library for interacting with Vana Network smart contracts.
29 lines (28 loc) • 1.13 kB
TypeScript
/**
* Password-based file encryption using OpenPGP, the locked DPv1 envelope.
*
* @remarks
* Ported from `personal-server-ts`
* (`packages/core/src/storage/encryption/{encrypt,decrypt}.ts`).
* The binary format must remain byte-compatible with PS — a vana-sdk encrypt +
* a personal-server-ts decrypt (and vice versa) must round-trip cleanly.
*
* @category Cryptography
*/
/**
* Encrypt plaintext using OpenPGP password-based encryption.
*
* @param plaintext - Bytes to encrypt (e.g. `JSON.stringify` of an envelope).
* @param password - Hex-encoded scope key (typically from `deriveScopeKey`).
* @returns OpenPGP-encrypted binary data.
*/
export declare function encryptWithPassword(plaintext: Uint8Array, password: string): Promise<Uint8Array>;
/**
* Decrypt an OpenPGP password-encrypted binary.
*
* @param encrypted - OpenPGP-encrypted binary data.
* @param password - Hex-encoded scope key.
* @returns Decrypted plaintext bytes.
* @throws If the password is wrong or the data is corrupted.
*/
export declare function decryptWithPassword(encrypted: Uint8Array, password: string): Promise<Uint8Array>;