@investorid/identity-sdk
Version:
Interact with BlockChain Identities.
35 lines (34 loc) • 1.16 kB
TypeScript
import { Signer } from 'ethers';
import { ErrorParams } from './errors/Errors';
import { Arrayish } from 'ethers/utils';
export interface PublicKey {
key: string;
type: string;
signingMethod: string;
}
/**
* Thrown when an invalid address is given
*/
export declare class InvalidSignerModuleParamsError extends Error {
constructor({ message }?: ErrorParams);
}
/**
* Interface for a signer. This object should be able to sign message and export its public key.
*/
export interface SignerModuleInterface {
getPublicKey(): Promise<PublicKey>;
signMessage(message: Arrayish | string): Promise<string>;
}
export declare class SignerModule implements SignerModuleInterface {
private readonly publicKey?;
private readonly getPublicKeyFunction?;
private readonly signMessageFunction;
constructor(params: {
publicKey?: PublicKey;
getPublicKey?: () => Promise<PublicKey>;
signMessage: (message: string) => Promise<string>;
} | Signer);
static isSignerModule(value: any): value is SignerModuleInterface;
getPublicKey(): Promise<PublicKey>;
signMessage(message: string): Promise<string>;
}