Import
import type { Provider as EthersProvider } from "ethers";
import type { Address as EvmAddress, Hex } from "viem";
import type { Address as SolanaAddress } from "@solana/addresses";
import type { ParaRestClient, SignRawRequest, SignRawResponse, ParaRestCallOptions } from "@getpara/rest-sdk";
import type { CreateParaRestEthersSignerOptions } from "@getpara/rest-sdk/ethers";
import type { CreateParaRestViemAccountOptions } from "@getpara/rest-sdk/viem";
import type { ParaRestSolanaSignerOptions } from "@getpara/rest-sdk/solana";
Ethers signer options
interface CreateParaRestEthersSignerOptions {
client: ParaRestClient;
walletId: string;
address?: string;
provider?: EthersProvider | null;
}
Viem account options
interface CreateParaRestViemAccountOptions {
client: Pick<ParaRestClient, 'signRaw' | 'signMessage' | 'signTypedData' | 'signTransaction' | 'signAuthorization'>;
walletId: string;
address: EvmAddress;
publicKey?: Hex;
}
Solana signer options
interface ParaRestSolanaSignerOptions {
client: { signRaw(walletId: string, body: SignRawRequest, options?: ParaRestCallOptions): Promise<SignRawResponse> };
walletId: string;
address: SolanaAddress | string;
}