UNPKG

@treasure-dev/launcher

Version:

Treasure Launcher utilities for the Treasure ecosystem

94 lines (62 loc) 1.83 kB
# Treasure Launcher Treasure Launcher utilities for the Treasure ecosystem ## Prerequisites - [>= Node 22.12.0](https://nodejs.org/en) ## Installation ```bash pnpm add @treasure-dev/launcher ``` ## Usage ### Using vanilla JavaScript #### Get auth token ```ts import { getTreasureLauncherAuthToken } from "@treasure-dev/launcher"; const authToken = getTreasureLauncherAuthToken(); ``` #### Check if using Treasure Launcher ```ts import { isUsingTreasureLauncher } from "@treasure-dev/launcher"; const usingLauncher = isUsingTreasureLauncher(); ``` #### Start user session ```ts import { startUserSessionViaLauncher } from "@treasure-dev/launcher"; await startUserSessionViaLauncher({ backendWallet: "0x...", approvedTargets: ["0x..."], nativeTokenLimitPerTransaction: 100, sessionDurationSec: 60 * 60 * 24 * 7, sessionMinDurationLeftSec: 60 * 60 * 24 * 3, }); ``` ### Using React #### Check if using Treasure Launcher ```ts import { useTreasure } from "@treasure-dev/react"; const { isUsingTreasureLauncher } = useTreasure(); ``` #### Start user session via Treasure Launcher Use `startUserSession` as usual: ```ts import { useTreasure } from "@treasure-dev/react"; const { startUserSession } = useTreasure(); ``` ### Using Electron + React ```ts Main.ts import { getTreasureLauncherAuthToken } from "@treasure-dev/launcher"; ipcMain.on("get-auth-token", (event, _arg) => { event.returnValue = getTreasureLauncherAuthToken(); }); ``` ```ts Main.tsx const getAuthToken = () => window.electron?.ipcRenderer.sendSync("get-auth-token"); <TreasureProvider ... launcherOptions={{ getAuthTokenOverride: getAuthToken, }} > ``` ## Deployment Merge [changeset-bot](https://github.com/apps/changeset-bot)'s versioning PR to the `main` branch to push a new package version to npm.