@0xpolygonid/js-sdk
Version:
SDK to work with Polygon ID
61 lines • 1.83 kB
TypeScript
import { IKeyProvider } from '../kms';
import { AbstractPrivateKeyStore, KmsKeyId, KmsKeyType } from '../store';
/**
* Provider for Baby Jub Jub keys
* @public
* @class BjjProvider
* @implements implements IKeyProvider interface
*/
export declare class BjjProvider implements IKeyProvider {
/**
* key type that is handled by BJJ Provider
* @type {KmsKeyType}
*/
keyType: KmsKeyType;
private keyStore;
/**
* Creates an instance of BjjProvider.
* @param {KmsKeyType} keyType - kms key type
* @param {AbstractPrivateKeyStore} keyStore - key store for kms
*/
constructor(keyType: KmsKeyType, keyStore: AbstractPrivateKeyStore);
/**
* get private key store
*
* @returns private key store
*/
getPkStore(): Promise<AbstractPrivateKeyStore>;
/**
* get all keys
* @returns list of keys
*/
list(): Promise<{
alias: string;
key: string;
}[]>;
/**
* generates a baby jub jub key from a seed phrase
* @param {Uint8Array} seed - byte array seed
* @returns kms key identifier
*/
newPrivateKeyFromSeed(seed: Uint8Array): Promise<KmsKeyId>;
newPrivateKey(): Promise<KmsKeyId>;
/**
* Gets public key by kmsKeyId
*
* @param {KmsKeyId} keyId - key identifier
*/
publicKey(keyId: KmsKeyId): Promise<string>;
/**
* signs prepared payload of size,
* with a key id
*
* @param {KmsKeyId} keyId - key identifier
* @param {Uint8Array} data - data to sign (32 bytes)
* @returns Uint8Array signature
*/
sign(keyId: KmsKeyId, data: Uint8Array): Promise<Uint8Array>;
private privateKey;
verify(message: Uint8Array, signatureHex: string, keyId: KmsKeyId): Promise<boolean>;
}
//# sourceMappingURL=bjj-provider.d.ts.map