@pushchain/ui-kit
Version:
Push Chain is a true universal L1 that is 100% EVM compatible. It allows developers to deploy once and make their apps instantly compatible with users from all other L1s (Ethereum, Solana, etc) with zero on-chain code change.
21 lines (20 loc) • 1 kB
TypeScript
import type { SignAuthorizationParams, SignedAuthorization } from '@pushchain/core';
import { BaseWalletProvider } from '../BaseWalletProvider';
import { ChainType, ITypedData } from '../../../types/wallet.types';
export declare class MetamaskProvider extends BaseWalletProvider {
private sdk;
constructor();
isInstalled: () => Promise<boolean>;
getProvider: () => import("@metamask/sdk").SDKProvider | undefined;
getSigner: () => Promise<import("ethers").JsonRpcSigner>;
connect(chainType: ChainType): Promise<{
caipAddress: string;
}>;
getChainId: () => Promise<number>;
switchNetwork: (chainName: ChainType) => Promise<void>;
signAndSendTransaction: (txn: Uint8Array) => Promise<Uint8Array>;
signMessage: (message: Uint8Array) => Promise<Uint8Array>;
signTypedData: (typedData: ITypedData) => Promise<Uint8Array>;
signAuthorization: (params: SignAuthorizationParams) => Promise<SignedAuthorization>;
disconnect: () => Promise<void>;
}