eth-onekey-bridge-keyring
Version:
A MetaMask compatible keyring, for onekey hardware wallets
92 lines (91 loc) • 2.69 kB
TypeScript
import type { ConnectSettings, CoreApi, EVMGetPublicKeyParams, EVMSignedTx, EVMSignMessageParams, EVMSignTransactionParams, EVMSignTypedDataParams, Params, Unsuccessful } from '@onekeyfe/hd-core';
import type { EthereumMessageSignature } from '@onekeyfe/hd-transport';
import { OneKeyBridge } from './onekey-bridge';
export declare type OneKeyIframeBridgeOptions = {
bridgeUrl: string;
};
export declare class OneKeyWebBridge implements OneKeyBridge {
isSDKInitialized: boolean;
sdk: CoreApi | undefined;
eventListeners: Map<string, (event: any) => void>;
constructor();
model?: string | undefined;
on(_event: string, callback: (event: any) => void): void;
off(_event: string): void;
handleBlockErrorEvent(payload: Unsuccessful): void;
updateTransportMethod(transportType: ConnectSettings['env']): Promise<void>;
init(): Promise<void>;
destroy(): Promise<void>;
dispose(): Promise<void>;
getModel(): string | undefined;
getPublicKey(params: {
path: string;
coin: string;
}): Promise<{
success: false;
payload: {
error: string;
code?: string | number;
};
} | {
success: true;
payload: {
publicKey: string;
chainCode: string;
};
}>;
batchGetPublicKey(params: Params<any> & {
bundle: EVMGetPublicKeyParams[];
}): Promise<{
success: false;
payload: {
error: string;
code?: string | number;
};
} | {
success: true;
payload: {
pub: string;
}[];
}>;
getPassphraseState(): Promise<{
success: false;
payload: {
error: string;
code?: string | number;
};
} | {
success: true;
payload: string | undefined;
}>;
ethereumSignTransaction(params: Params<EVMSignTransactionParams>): Promise<{
success: false;
payload: {
error: string;
code?: string | number;
};
} | {
success: true;
payload: EVMSignedTx;
}>;
ethereumSignMessage(params: Params<EVMSignMessageParams>): Promise<{
success: false;
payload: {
error: string;
code?: string | number;
};
} | {
success: true;
payload: EthereumMessageSignature;
}>;
ethereumSignTypedData(params: Params<EVMSignTypedDataParams>): Promise<{
success: false;
payload: {
error: string;
code?: string | number;
};
} | {
success: true;
payload: EthereumMessageSignature;
}>;
}