UNPKG

@worldcoin/minikit-js

Version:

minikit-js is our SDK for building mini-apps.

165 lines (162 loc) 8.85 kB
import { W as WalletAuthResult, M as MiniKitWalletAuthOptions, C as CommandResultByVia, i as isInWorldApp, U as User, D as DeviceProperties, a as MiniAppLaunchLocation, R as ResponseEvent, b as MiniKitInstallReturnType, c as UserNameService } from './types-COxx4rrS.js'; import { S as SendTransactionResult, M as MiniKitSendTransactionOptions, P as PayResult, a as MiniKitPayOptions, b as ShareContactsResult, c as MiniKitShareContactsOptions, d as MiniAppSignMessageSuccessPayload, e as MiniKitSignMessageOptions, f as MiniAppSignTypedDataPayload, g as MiniKitSignTypedDataOptions, h as MiniAppSignTypedDataSuccessPayload, i as MiniAppChatPayload, j as MiniKitChatOptions, k as MiniAppChatSuccessPayload, l as MiniAppSharePayload, m as MiniKitShareOptions, n as MiniAppShareSuccessPayload, o as MiniAppGetPermissionsPayload, p as MiniKitGetPermissionsOptions, q as MiniAppGetPermissionsSuccessPayload, r as MiniAppRequestPermissionPayload, s as MiniKitRequestPermissionOptions, t as MiniAppRequestPermissionSuccessPayload, u as MiniAppSendHapticFeedbackPayload, v as MiniKitSendHapticFeedbackOptions, w as MiniAppSendHapticFeedbackSuccessPayload, x as MiniAppAttestationSuccessPayload, y as MiniKitAttestationOptions, C as CloseMiniAppResult, z as MiniKitCloseMiniAppOptions } from './types-B3FhypWE.js'; export { W as WorldAppProvider, g as getWorldAppProvider } from './provider-DeDUsLbs.js'; import 'abitype'; declare class MiniKit { private static eventManager; private static _appId; private static _user; private static _deviceProperties; private static _location; private static _isReady; private static getActiveMiniKit; /** * Authenticate user via wallet signature (SIWE) * * Works in World App (native SIWE) and web (Wagmi + SIWE fallback). * * @example * ```typescript * const result = await MiniKit.walletAuth({ nonce: 'randomnonce123' }); * console.log(result.data.address); * console.log(result.executedWith); // 'minikit' | 'wagmi' | 'fallback' * ``` */ static walletAuth<TFallback = WalletAuthResult>(options: MiniKitWalletAuthOptions<TFallback>): Promise<CommandResultByVia<WalletAuthResult, TFallback>>; /** * Send one or more transactions * * World App: batch + permit2 + gas sponsorship * Web: sequential execution via Wagmi * * @example * ```typescript * const result = await MiniKit.sendTransaction({ * chainId: 480, * transactions: [{ * to: '0x...', * data: '0x...', * value: '0x0', * }], * }); * ``` */ static sendTransaction<TFallback = SendTransactionResult>(options: MiniKitSendTransactionOptions<TFallback>): Promise<CommandResultByVia<SendTransactionResult, TFallback>>; /** * Send a payment (World App only) * * Requires custom fallback on web. * * @example * ```typescript * const result = await MiniKit.pay({ * reference: crypto.randomUUID(), * to: '0x...', * tokens: [{ symbol: Tokens.WLD, token_amount: '1.0' }], * description: 'Payment for coffee', * fallback: () => showStripeCheckout(), * }); * ``` */ static pay<TFallback = PayResult>(options: MiniKitPayOptions<TFallback>): Promise<CommandResultByVia<PayResult, TFallback, 'minikit'>>; /** * Open the contact picker (World App only) * * Requires custom fallback on web. * * @example * ```typescript * const result = await MiniKit.shareContacts({ * isMultiSelectEnabled: true, * fallback: () => showManualAddressInput(), * }); * ``` */ static shareContacts<TFallback = ShareContactsResult>(options?: MiniKitShareContactsOptions<TFallback>): Promise<CommandResultByVia<ShareContactsResult, TFallback, 'minikit'>>; /** * Sign a message */ static signMessage<TFallback = MiniAppSignMessageSuccessPayload>(options: MiniKitSignMessageOptions<TFallback>): Promise<CommandResultByVia<MiniAppSignMessageSuccessPayload, TFallback>>; /** * Sign typed data (EIP-712) */ static signTypedData<TFallback = MiniAppSignTypedDataPayload>(options: MiniKitSignTypedDataOptions<TFallback>): Promise<CommandResultByVia<MiniAppSignTypedDataSuccessPayload, TFallback>>; /** * Send a chat message */ static chat<TFallback = MiniAppChatPayload>(options: MiniKitChatOptions<TFallback>): Promise<CommandResultByVia<MiniAppChatSuccessPayload, TFallback, 'minikit'>>; /** * Share files/text/URL */ static share<TFallback = MiniAppSharePayload>(options: MiniKitShareOptions<TFallback>): Promise<CommandResultByVia<MiniAppShareSuccessPayload, TFallback, 'minikit'>>; /** * Get current permission settings */ static getPermissions<TFallback = MiniAppGetPermissionsPayload>(options?: MiniKitGetPermissionsOptions<TFallback>): Promise<CommandResultByVia<MiniAppGetPermissionsSuccessPayload, TFallback, 'minikit'>>; /** * Request a permission from the user */ static requestPermission<TFallback = MiniAppRequestPermissionPayload>(options: MiniKitRequestPermissionOptions<TFallback>): Promise<CommandResultByVia<MiniAppRequestPermissionSuccessPayload, TFallback, 'minikit'>>; /** * Trigger haptic feedback */ static sendHapticFeedback<TFallback = MiniAppSendHapticFeedbackPayload>(options: MiniKitSendHapticFeedbackOptions<TFallback>): Promise<CommandResultByVia<MiniAppSendHapticFeedbackSuccessPayload, TFallback, 'minikit'>>; /** * Request app attestation token for a request hash */ static attestation<TFallback = MiniAppAttestationSuccessPayload>(options: MiniKitAttestationOptions<TFallback>): Promise<CommandResultByVia<MiniAppAttestationSuccessPayload, TFallback, 'minikit'>>; /** * Close the mini app */ static closeMiniApp<TFallback = CloseMiniAppResult>(options?: MiniKitCloseMiniAppOptions<TFallback>): Promise<CommandResultByVia<CloseMiniAppResult, TFallback, 'minikit'>>; /** * Check if running inside World App */ static isInWorldApp: typeof isInWorldApp; static get appId(): string | null; static set appId(value: string | null); static get user(): User; static set user(value: User); static get deviceProperties(): DeviceProperties; static get location(): MiniAppLaunchLocation | null; static subscribe<E extends ResponseEvent>(event: E, handler: (payload: any) => void): void; static unsubscribe(event: ResponseEvent): void; static trigger(event: ResponseEvent, payload: any): void; private static sendInit; static install(appId?: string): MiniKitInstallReturnType; static isInstalled(debug?: boolean): boolean; private static initFromWorldApp; private static updateUserFromWalletAuth; private static getContext; static getUserByAddress: (address?: string) => Promise<UserNameService>; static getUserByUsername: (username: string) => Promise<UserNameService>; static getUserInfo: (address?: string) => Promise<UserNameService>; static getMiniAppUrl: (appId: string, path?: string) => string; static showProfileCard: (username?: string, walletAddress?: string) => void; /** * @deprecated Use `MiniKit.pay()`, `MiniKit.walletAuth()`, etc. directly. * * Migration guide: * - `MiniKit.commands.pay(payload)` → `await MiniKit.pay(options)` * - `MiniKit.commands.walletAuth(payload)` → `await MiniKit.walletAuth(options)` * - `MiniKit.commands.sendTransaction(payload)` → `await MiniKit.sendTransaction(options)` * - `MiniKit.commands.signMessage(payload)` → `await MiniKit.signMessage(input)` * - `MiniKit.commands.signTypedData(payload)` → `await MiniKit.signTypedData(input)` * - `MiniKit.commands.shareContacts(payload)` → `await MiniKit.shareContacts(options)` * - `MiniKit.commands.chat(payload)` → `await MiniKit.chat(input)` * - `MiniKit.commands.share(payload)` → `await MiniKit.share(input)` * - `MiniKit.commands.getPermissions()` → `await MiniKit.getPermissions()` * - `MiniKit.commands.requestPermission(payload)` → `await MiniKit.requestPermission(input)` * - `MiniKit.commands.sendHapticFeedback(payload)` → `await MiniKit.sendHapticFeedback(input)` * - `MiniKit.commands.attestation(payload)` → `await MiniKit.attestation(options)` * - `MiniKit.commands.closeMiniApp()` → `await MiniKit.closeMiniApp()` */ static get commands(): never; /** * @deprecated Use `MiniKit.pay()`, `MiniKit.walletAuth()`, etc. directly. All commands are now async by default. * * See `MiniKit.commands` deprecation notice for the full migration guide. */ static get commandsAsync(): never; } export { MiniKit };