@turnkey/ethers
Version:
Turnkey Signer for Ethers
39 lines • 2.02 kB
TypeScript
import { type TypedDataDomain, type TypedDataField, type Provider, AbstractSigner, TransactionRequest, ethers } from "ethers";
import { TurnkeyClient, TurnkeyActivityError, TurnkeyRequestError, type TSignature, type TurnkeyApiTypes } from "@turnkey/http";
import type { TurnkeyBrowserClient } from "@turnkey/sdk-browser";
import type { TurnkeyServerClient } from "@turnkey/sdk-server";
import type { TurnkeySDKClientBase } from "@turnkey/core";
type TPayloadEncoding = TurnkeyApiTypes["v1PayloadEncoding"];
type TConfig = {
/**
* Turnkey client
*/
client: TurnkeyClient | TurnkeyBrowserClient | TurnkeyServerClient | TurnkeySDKClientBase;
/**
* Turnkey organization ID
*/
organizationId: string;
/**
* Turnkey wallet account address, private key address, or private key ID
*/
signWith: string;
};
export declare class TurnkeySigner extends AbstractSigner implements ethers.Signer {
private readonly client;
readonly organizationId: string;
readonly signWith: string;
constructor(config: TConfig, provider?: Provider);
connect(provider: Provider): TurnkeySigner;
getAddress(): Promise<string>;
private _signTransactionImpl;
private _signTransactionWithErrorWrapping;
signTransaction(transaction: TransactionRequest): Promise<string>;
signMessage(message: string | Uint8Array): Promise<string>;
_signMessageWithErrorWrapping(message: string, payloadEncoding?: TPayloadEncoding): Promise<string>;
_signMessageImpl(message: string, payloadEncoding?: TPayloadEncoding): Promise<string>;
signTypedData(domain: TypedDataDomain, types: Record<string, Array<TypedDataField>>, value: Record<string, any>): Promise<string>;
_signTypedData: (domain: TypedDataDomain, types: Record<string, Array<TypedDataField>>, value: Record<string, any>) => Promise<string>;
}
export declare function serializeSignature(signature: TSignature): string;
export { TurnkeyActivityError, TurnkeyRequestError };
//# sourceMappingURL=index.d.ts.map