@thirdweb-dev/wallets
Version:
<p align="center"> <br /> <a href="https://thirdweb.com"><img src="https://github.com/thirdweb-dev/js/blob/main/legacy_packages/sdk/logo.svg?raw=true" width="200" alt=""/></a> <br /> </p> <h1 align="center">thirdweb Wallet SDK</h1> <p align="center"> <a h
70 lines • 2.49 kB
TypeScript
import { providers } from "ethers";
import type Provider from "ethereum-provider";
import type { Address } from "abitype";
import type { Chain } from "@thirdweb-dev/chains";
import { WagmiConnector } from "../../../lib/wagmi-connectors/WagmiConnector";
import { Ethereum } from "../injected/types";
import { AsyncStorage } from "../../../core";
export type FrameConnectorOptions = {
/**
* eth-provider and the Frame Companion injected provider do not support programmatic disconnect.
* This flag simulates the disconnect behavior by keeping track of connection status in storage.
*
* By default, it is set to `true`.
*/
shimDisconnect?: boolean;
};
export type FrameInjectedProvider = Provider & {
providers: Ethereum[];
isFrame: true;
};
export declare class FrameConnector extends WagmiConnector<Provider | Ethereum | undefined, Required<FrameConnectorOptions>, providers.JsonRpcSigner> {
readonly id = "frame";
readonly name = "Frame";
readonly ready = true;
protected shimDisconnectKey: string;
private _provider?;
connectorStorage: AsyncStorage;
constructor({ chains, options: suppliedOptions, connectorStorage, }: {
chains?: Chain[];
connectorStorage: AsyncStorage;
options?: FrameConnectorOptions;
});
connect(config?: {
chainId?: number;
} | undefined): Promise<{
account: string;
provider: Provider;
chain: {
id: number;
unsupported: boolean;
};
}>;
disconnect(): Promise<void>;
getAccount(): Promise<string>;
getChainId(): Promise<number>;
getProvider(): Promise<Provider>;
/**
* get a `signer` for given `chainId`
*/
getSigner({ chainId }?: {
chainId?: number;
}): Promise<providers.JsonRpcSigner>;
isAuthorized(): Promise<boolean>;
switchChain(chainId: number): Promise<Chain>;
watchAsset({ address, decimals, image, symbol, }: {
address: Address;
decimals?: number;
image?: string;
symbol: string;
}): Promise<unknown>;
setupListeners(): Promise<void>;
protected onAccountsChanged: (accounts: string[]) => void;
protected onChainChanged: (chainId: number | string) => void;
protected onDisconnect: () => void;
protected isUserRejectedRequestError(error: unknown): boolean;
private injectedProvider;
private isInjected;
private createProvider;
}
//# sourceMappingURL=index.d.ts.map