UNPKG

@oko-wallet/oko-sdk-eth

Version:
31 lines (30 loc) 1.38 kB
import type { OkoWalletInitArgs, OkoWalletInterface } from "@oko-wallet/oko-sdk-core"; import type { Address, Hex } from "viem"; import type { Result } from "@oko-wallet/stdlib-js"; import type { OkoEIP1193Provider } from "../provider"; import type { OkoViemAccount } from "./account"; import type { EthSignParams, EthSignResult } from "./sign"; import type { OkoEthWalletInitError, LazyInitError } from "../errors"; export interface OkoEthWalletState { publicKey: Hex | null; address: Address | null; publicKeyRaw: string | null; } export type OkoEthWalletInitArgs = OkoWalletInitArgs; export interface OkoEthWalletStaticInterface { new (okoWallet: OkoWalletInterface): void; init: (args: OkoEthWalletInitArgs) => Result<OkoEthWalletInterface, OkoEthWalletInitError>; } export interface OkoEthWalletInterface { state: OkoEthWalletState; okoWallet: OkoWalletInterface; provider: OkoEIP1193Provider | null; waitUntilInitialized: Promise<Result<OkoEthWalletState, LazyInitError>>; getEthereumProvider: () => Promise<OkoEIP1193Provider>; sign: (message: string) => Promise<Hex>; switchChain: (chainId: Hex | number) => Promise<void>; toViemAccount: () => Promise<OkoViemAccount>; getPublicKey: () => Promise<Hex>; getAddress: () => Promise<Hex>; makeSignature: (params: EthSignParams) => Promise<EthSignResult>; }