@worldcoin/minikit-js
Version:
minikit-js is our SDK for building mini-apps.
165 lines (162 loc) • 8.85 kB
TypeScript
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 };