feat: generate secret key

Adds generate_secret_key & get_public_key_from_secret_key functions.
Adds generate_secret_key & get_public_key_from_secret_key functions examples to README.md.
Fix list error on Android.
Bump package version to 0.7.0.
This commit is contained in:
coreyphillips
2024-09-29 15:12:44 -04:00
parent ab9ba2360b
commit 2fec48a4ad
16 changed files with 284 additions and 30 deletions

View File

@@ -224,3 +224,36 @@ export async function list(url: string): Promise<Result<string[]>> {
return err(JSON.stringify(e));
}
}
interface IPublicKeyInfo {
public_key: string;
uri: string;
}
interface IGenerateSecretKey extends IPublicKeyInfo {
secret_key: string;
}
export async function generateSecretKey(): Promise<Result<IGenerateSecretKey>> {
try {
const res = await Pubky.generateSecretKey();
if (res[0] === 'error') {
return err(res[1]);
}
return ok(JSON.parse(res[1]));
} catch (e) {
return err(JSON.stringify(e));
}
}
export async function getPublicKeyFromSecretKey(
secretKey: string
): Promise<Result<IPublicKeyInfo>> {
try {
const res = await Pubky.getPublicKeyFromSecretKey(secretKey);
if (res[0] === 'error') {
return err(res[1]);
}
return ok(JSON.parse(res[1]));
} catch (e) {
return err(JSON.stringify(e));
}
}