@pgchain/blockchain-libs
Version:
PGWallet Blockchain Libs
30 lines (29 loc) • 1.63 kB
TypeScript
import { AddressValidation, SignedTx, TypedMessage, UnsignedTx } from '../../../types/provider';
import { Signer, Verifier } from '../../../types/secret';
import { BaseProvider } from '../../abc';
import { Geth } from './geth';
declare class Provider extends BaseProvider {
get geth(): Promise<Geth>;
get chainId(): number;
verifyAddress(address: string): Promise<AddressValidation>;
pubkeyToAddress(verifier: Verifier, encoding: string | undefined): Promise<string>;
buildUnsignedTx(unsignedTx: UnsignedTx): Promise<UnsignedTx>;
signTransaction(unsignedTx: UnsignedTx, signers: {
[address: string]: Signer;
}): Promise<SignedTx>;
private buildEtherUnSignedTx;
signMessage(message: TypedMessage, signer: Signer, address?: string): Promise<string>;
verifyMessage(address: string, message: TypedMessage, signature: string): Promise<boolean>;
ecRecover(message: TypedMessage, signature: string): Promise<string>;
mmDecrypt(serializedMessage: string, signer: Signer): Promise<string>;
mmGetPublicKey(signer: Signer): Promise<string>;
hardwareGetXpubs(paths: string[], showOnDevice: boolean): Promise<{
path: string;
xpub: string;
}[]>;
hardwareGetAddress(path: string, showOnDevice: boolean, addressToVerify?: string): Promise<string>;
hardwareSignTransaction(unsignedTx: UnsignedTx, signers: Record<string, string>): Promise<SignedTx>;
hardwareSignMessage(message: TypedMessage, signer: string): Promise<string>;
hardwareVerifyMessage(address: string, message: TypedMessage, signature: string): Promise<boolean>;
}
export { Provider };