Files
sdk/js/lib/blyss_lib.ts
menonsamir 1cd8d24b27 Add DoublePIR support (#10)
* 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
2023-02-19 13:25:51 -08:00

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 };