mirror of
https://github.com/blyssprivacy/sdk.git
synced 2026-01-13 00:58:06 -05:00
* initial add * fix bucket * small fixes * prepare for wasm * fix derivation * Fully working doublepir implementation * Cleanup * 0.1.4-alpha.0 * Fix node support and url config * 0.1.4-alpha.1 * 0.1.4-alpha.2 * fix url fetch * 0.1.4-alpha.3 * Start avoiding materializing pseudorandom matrices * cleanup
54 lines
1.2 KiB
TypeScript
54 lines
1.2 KiB
TypeScript
import { seedFromString } from '../client/seed';
|
|
import {
|
|
ApiClient,
|
|
DoublePIRApiClient,
|
|
decode_response,
|
|
extract_result,
|
|
generate_keys,
|
|
generate_query,
|
|
get_row,
|
|
initialize_client
|
|
} from './helper';
|
|
|
|
export class BlyssLib {
|
|
private innerClient: ApiClient;
|
|
private secretSeed: string;
|
|
|
|
generateKeys(generatePublicParameters: boolean) {
|
|
return generate_keys(
|
|
this.innerClient,
|
|
seedFromString(this.secretSeed),
|
|
generatePublicParameters
|
|
);
|
|
}
|
|
|
|
getRow(key: string): number {
|
|
return get_row(this.innerClient, key);
|
|
}
|
|
|
|
generateQuery(uuid: string, rowIdx: number) {
|
|
return generate_query(this.innerClient, uuid, rowIdx);
|
|
}
|
|
|
|
decodeResponse(response: Uint8Array): Uint8Array {
|
|
return decode_response(this.innerClient, response);
|
|
}
|
|
|
|
extractResult(key: string, data: Uint8Array): Uint8Array {
|
|
return extract_result(this.innerClient, key, data);
|
|
}
|
|
|
|
free() {
|
|
this.innerClient.free();
|
|
this.innerClient = null;
|
|
this.secretSeed = '';
|
|
}
|
|
|
|
constructor(params: string, secretSeed: string) {
|
|
this.innerClient = initialize_client(params);
|
|
this.secretSeed = secretSeed;
|
|
}
|
|
}
|
|
|
|
export { DoublePIRApiClient };
|