UNPKG

@worldcoin/minikit-js

Version:

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

140 lines (137 loc) 3.48 kB
import { AppErrorCodes, Command, GetPermissionsErrorCodes, GetPermissionsErrorMessage, MicrophoneErrorCodes, MicrophoneErrorMessage, MiniKit, MiniKitInstallErrorCodes, MiniKitInstallErrorMessage, Network, PaymentErrorCodes, PaymentErrorMessage, PaymentValidationErrors, Permission, RequestPermissionErrorCodes, RequestPermissionErrorMessage, ResponseEvent, SendHapticFeedbackErrorCodes, SendHapticFeedbackErrorMessage, SendTransactionErrorCodes, SendTransactionErrorMessage, ShareContactsErrorCodes, ShareContactsErrorMessage, ShareFilesErrorCodes, ShareFilesErrorMessage, SignMessageErrorCodes, SignMessageErrorMessage, SignTypedDataErrorCodes, SignTypedDataErrorMessage, TokenDecimals, Tokens, VerificationErrorMessage, WalletAuthErrorCodes, WalletAuthErrorMessage, parseSiweMessage, tokenToDecimals, verifySiweMessage } from "./chunk-DKXMTG56.js"; // index.ts import { VerificationLevel } from "@worldcoin/idkit-core"; import { verifyCloudProof } from "@worldcoin/idkit-core/backend"; // helpers/address-book/index.ts import { createPublicClient, http } from "viem"; import { worldchain } from "viem/chains"; var worldIdAddressBookContractAddress = "0x57b930D551e677CC36e2fA036Ae2fe8FdaE0330D"; var addressVerifiedUntilAbi = [ { inputs: [ { internalType: "address", name: "", type: "address" } ], name: "addressVerifiedUntil", outputs: [ { internalType: "uint256", name: "", type: "uint256" } ], stateMutability: "view", type: "function" } ]; var getIsUserVerified = async (walletAddress, rpcUrl) => { const publicClient = createPublicClient({ chain: worldchain, transport: http( rpcUrl || "https://worldchain-mainnet.g.alchemy.com/public" ) }); try { const verifiedUntilResponse = await publicClient.readContract({ address: worldIdAddressBookContractAddress, abi: addressVerifiedUntilAbi, functionName: "addressVerifiedUntil", args: [walletAddress] }); const verifiedUntil = Number(verifiedUntilResponse.toString()); if (!Number.isFinite(verifiedUntil)) { console.warn("Invalid verifiedUntil value:", verifiedUntil); return false; } const currentTime = Math.floor(Date.now() / 1e3); return verifiedUntil > currentTime; } catch (error) { console.error("Error verifying user:", error); return false; } }; export { Command, GetPermissionsErrorCodes, GetPermissionsErrorMessage, MicrophoneErrorCodes, MicrophoneErrorMessage, MiniKit, MiniKitInstallErrorCodes, MiniKitInstallErrorMessage, Network, PaymentErrorCodes, PaymentErrorMessage, PaymentValidationErrors, Permission, RequestPermissionErrorCodes, RequestPermissionErrorMessage, ResponseEvent, SendHapticFeedbackErrorCodes, SendHapticFeedbackErrorMessage, SendTransactionErrorCodes, SendTransactionErrorMessage, ShareContactsErrorCodes, ShareContactsErrorMessage, ShareFilesErrorCodes, ShareFilesErrorMessage, SignMessageErrorCodes, SignMessageErrorMessage, SignTypedDataErrorCodes, SignTypedDataErrorMessage, TokenDecimals, Tokens, AppErrorCodes as VerificationErrorCodes, VerificationErrorMessage, VerificationLevel, WalletAuthErrorCodes, WalletAuthErrorMessage, getIsUserVerified, parseSiweMessage, tokenToDecimals, verifyCloudProof, verifySiweMessage };