UNPKG

@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.

49 lines (48 loc) 1.75 kB
import { BaseWalletProvider } from '../BaseWalletProvider'; import { ChainType, ITypedData } from '../../../types/wallet.types'; import { Transaction, VersionedTransaction } from '@solana/web3.js'; declare global { interface Window { phantom?: { ethereum?: { isConnected?: boolean; request: (args: { method: string; params?: any[]; }) => Promise<any>; }; solana?: { isConnected?: boolean; chainId?: number; connect: () => Promise<{ publicKey: { toString: () => string; }; }>; disconnect: () => Promise<void>; signMessage: (message: Uint8Array, encoding: string) => Promise<{ signature: Uint8Array; }>; signAndSendTransaction: (txn: Transaction | VersionedTransaction) => Promise<{ signature: string; } | string>; }; }; ethereum?: any; } } export declare class PhantomProvider extends BaseWalletProvider { constructor(); private connectedChainType; isInstalled: () => Promise<boolean>; private connectEthereum; private connectSolana; connect: (chainType?: ChainType) => Promise<{ caipAddress: string; }>; getChainId: (chainType?: ChainType) => Promise<number>; signMessage: (message: Uint8Array) => Promise<Uint8Array>; signAndSendTransaction: (txn: Uint8Array) => Promise<Uint8Array>; signTypedData: (typedData: ITypedData) => Promise<Uint8Array>; disconnect: () => Promise<void>; }