diff --git a/apps/api/package.json b/apps/api/package.json
index f419a0a..fd89dec 100644
--- a/apps/api/package.json
+++ b/apps/api/package.json
@@ -12,10 +12,13 @@
"test": "echo \"TODO: tests\""
},
"dependencies": {
+ "@fastify/cors": "^10.0.1",
+ "@fastify/rate-limit": "^10.2.1",
"@pyre/config": "workspace:*",
"@pyre/core": "workspace:*",
"@pyre/db": "workspace:*",
"@pyre/solana": "workspace:*",
+ "@solana/web3.js": "^1.98.0",
"bullmq": "^5.34.0",
"fastify": "^5.2.0",
"ioredis": "^5.4.2"
diff --git a/apps/api/src/index.ts b/apps/api/src/index.ts
index 3021f0e..f66df15 100644
--- a/apps/api/src/index.ts
+++ b/apps/api/src/index.ts
@@ -1,7 +1,13 @@
-// PYRE backend API — SKELETON ONLY.
+// PYRE backend API — Phase 1 (READ-ONLY).
//
-// Minimal Fastify bootstrap. Only `/health` is wired up. The §14 endpoints
-// below are intentionally NOT implemented — no scan/classify/build logic here.
+// Fastify bootstrap wiring `/health` and `POST /api/scan`. The scan endpoint is
+// read-only: it parses a wallet's SPL token accounts via RPC, classifies each
+// account server-side, and returns the results live. No transaction building or
+// signing happens here.
+//
+// DB persistence is DEFERRED in Phase 1 — scan results (wallet_scans /
+// token_accounts) are returned live and NOT written to @pyre/db yet. The
+// `scanId` is a freshly generated UUID with no persisted row behind it.
//
// Trust rules (§16): never request private keys, never sign custodially,
// always build an unsigned tx the client decodes + previews before signing,
@@ -9,45 +15,174 @@
// client-submitted classifications (recompute server-side), log all tx-build
// requests, rate-limit scan endpoints, protect admin endpoints.
+import { randomUUID } from "node:crypto";
import Fastify from "fastify";
+import cors from "@fastify/cors";
+import rateLimit from "@fastify/rate-limit";
+import { Connection, PublicKey } from "@solana/web3.js";
+import { loadConfig } from "@pyre/config";
+import {
+ classifyTokenAccount,
+ TokenClassification,
+ RENT_EXEMPT_TOKEN_ACCOUNT_LAMPORTS,
+} from "@pyre/core";
+import type {
+ ScanResponse,
+ ScanSummary,
+ TokenAccountDto,
+ ParsedTokenAccount,
+} from "@pyre/core";
+import { parseTokenAccounts } from "@pyre/solana";
+
+const config = loadConfig();
+
+// External RPC provider only — never run a validator/RPC node on the MVP VPS.
+const connection = new Connection(config.solanaRpcUrl, "confirmed");
const app = Fastify({ logger: true });
+// CORS restricted to the web app origin.
+await app.register(cors, { origin: config.webPublicUrl });
+
+// Rate limiting is registered globally but disabled by default; routes opt in
+// via their per-route `config.rateLimit` (see /api/scan below).
+await app.register(rateLimit, {
+ global: false,
+ max: config.rateLimitScanPerMin,
+ timeWindow: "1 minute",
+});
+
app.get("/health", async () => {
return { status: "ok", service: "@pyre/api" };
});
-// TODO (§14): implement the following routes as real, validated handlers.
-// POST /api/scan
-// in: { wallet }
-// out: { scanId, wallet, summary, accounts[] }
-//
-// POST /api/build/close-empty
-// in: { wallet, accountAddresses[] }
-// out: { transactionBase64, preview: { accountsToClose,
-// estimatedRentReturnedLamports, rentDestination } }
-//
-// POST /api/build/burn
-// in: { wallet, items[] }
-// out: { transactionBase64, preview: { tokensToBurn, accountsPotentiallyClosable } }
-//
-// POST /api/receipt
-// in: { wallet, txSignature, scanId }
-// out: { receiptId, txSignature, rentReturnedLamports, closedAccounts,
-// burnedTokens, skippedTokens }
-//
-// POST /api/prometheus/generate (enqueue BullMQ job for @pyre/worker)
-// in: { receiptId, chaos, operatorSeed? }
-// out: { generationId, spawnName, ticker, lore, imagePrompt, metadata, riskFlags }
-//
-// Admin endpoints — review/approve/reject Spawn generations (protected).
+/** Request body schema for POST /api/scan — only `wallet` is accepted. */
+const scanBodySchema = {
+ type: "object",
+ required: ["wallet"],
+ additionalProperties: false,
+ properties: {
+ wallet: { type: "string", minLength: 32, maxLength: 44 },
+ },
+} as const;
-const port = Number(process.env.PORT ?? 3001);
-const host = process.env.HOST ?? "0.0.0.0";
+interface ScanBody {
+ wallet: string;
+}
+
+/**
+ * POST /api/scan — read-only wallet scan.
+ *
+ * in: { wallet }
+ * out: { scanId, wallet, summary, accounts[] }
+ *
+ * Validates the wallet is a valid base58 PublicKey, parses its SPL token
+ * accounts, and classifies each account server-side. Client-submitted
+ * classifications are never accepted (the schema forbids extra properties).
+ */
+app.post<{ Body: ScanBody }>(
+ "/api/scan",
+ {
+ schema: { body: scanBodySchema },
+ config: { rateLimit: { max: config.rateLimitScanPerMin, timeWindow: "1 minute" } },
+ },
+ async (request, reply) => {
+ const { wallet } = request.body;
+
+ // Validate wallet pubkey (base58) — never trust client input.
+ let walletPk: PublicKey;
+ try {
+ walletPk = new PublicKey(wallet);
+ } catch {
+ return reply.code(400).send({ error: "invalid wallet address" });
+ }
+
+ let accounts: ParsedTokenAccount[];
+ try {
+ accounts = await parseTokenAccounts(connection, walletPk);
+ } catch (err) {
+ request.log.error({ err, wallet }, "parseTokenAccounts failed");
+ return reply.code(502).send({ error: "scan failed" });
+ }
+
+ const dtos: TokenAccountDto[] = [];
+ const summary: ScanSummary = {
+ totalAccounts: accounts.length,
+ emptyCloseOnly: 0,
+ incinerateOnly: 0,
+ transmutable: 0,
+ protectedSkip: 0,
+ unsupported: 0,
+ estimatedRentLamports: "0",
+ };
+
+ // Sum reclaimable rent across EMPTY_CLOSE_ONLY accounts using BigInt to
+ // avoid precision loss on large lamport totals.
+ let rentSum = 0n;
+
+ for (const acct of accounts) {
+ // Recompute classification server-side; never trust the client.
+ // Forward the operator-tunable USD threshold from config.
+ const { classification, warnings } = classifyTokenAccount(acct, {
+ usdThreshold: config.protectedUsdThreshold,
+ });
+
+ const lamports =
+ acct.lamports || RENT_EXEMPT_TOKEN_ACCOUNT_LAMPORTS;
+
+ const dto: TokenAccountDto = {
+ ata: acct.ata,
+ owner: acct.owner,
+ mint: acct.mint,
+ tokenProgram: acct.tokenProgram,
+ rawBalance: acct.rawAmount,
+ uiBalance: acct.uiAmount,
+ decimals: acct.decimals,
+ symbol: acct.symbol,
+ name: acct.name,
+ classification,
+ warnings,
+ estimatedRentLamports: String(lamports),
+ frozen: acct.isFrozen,
+ delegated: acct.isDelegated,
+ };
+ dtos.push(dto);
+
+ switch (classification) {
+ case TokenClassification.EMPTY_CLOSE_ONLY:
+ summary.emptyCloseOnly += 1;
+ rentSum += BigInt(lamports);
+ break;
+ case TokenClassification.INCINERATE_ONLY:
+ summary.incinerateOnly += 1;
+ break;
+ case TokenClassification.TRANSMUTABLE:
+ summary.transmutable += 1;
+ break;
+ case TokenClassification.PROTECTED_SKIP:
+ summary.protectedSkip += 1;
+ break;
+ case TokenClassification.UNSUPPORTED:
+ summary.unsupported += 1;
+ break;
+ }
+ }
+
+ summary.estimatedRentLamports = rentSum.toString();
+
+ const response: ScanResponse = {
+ scanId: randomUUID(),
+ wallet: walletPk.toBase58(),
+ summary,
+ accounts: dtos,
+ };
+
+ return response;
+ },
+);
-// TODO: load + validate config via @pyre/config instead of reading process.env here.
app
- .listen({ port, host })
+ .listen({ port: config.apiPort, host: process.env.HOST ?? "0.0.0.0" })
.then((address) => {
app.log.info(`@pyre/api listening on ${address}`);
})
diff --git a/apps/web/.env.example b/apps/web/.env.example
new file mode 100644
index 0000000..7495d18
--- /dev/null
+++ b/apps/web/.env.example
@@ -0,0 +1,12 @@
+# PYRE web (@pyre/web) — environment variables.
+# Copy to .env.local for local development. All vars are PUBLIC (NEXT_PUBLIC_*):
+# they are inlined into the client bundle, so put nothing secret here.
+
+# Base URL of the PYRE HTTP API (apps/api). Used for POST /api/scan.
+# Defaults to http://localhost:4000 if unset.
+NEXT_PUBLIC_API_URL=http://localhost:4000
+
+# Solana RPC endpoint for the wallet ConnectionProvider.
+# Use a dedicated provider (Helius/Triton/QuickNode/etc.) in production.
+# Defaults to https://api.mainnet-beta.solana.com if unset.
+NEXT_PUBLIC_SOLANA_RPC_URL=https://api.mainnet-beta.solana.com
diff --git a/apps/web/next-env.d.ts b/apps/web/next-env.d.ts
new file mode 100644
index 0000000..9edff1c
--- /dev/null
+++ b/apps/web/next-env.d.ts
@@ -0,0 +1,6 @@
+///
+///
+import "./.next/types/routes.d.ts";
+
+// NOTE: This file should not be edited
+// see https://nextjs.org/docs/app/api-reference/config/typescript for more information.
diff --git a/apps/web/next.config.ts b/apps/web/next.config.ts
new file mode 100644
index 0000000..cbf7a91
--- /dev/null
+++ b/apps/web/next.config.ts
@@ -0,0 +1,11 @@
+import type { NextConfig } from "next";
+
+const nextConfig: NextConfig = {
+ // Internal packages ship TypeScript source (no dist build). Transpile
+ // @pyre/core so the Next/Turbopack production build can resolve its runtime
+ // exports (e.g. the `TokenClassification` enum) and the `.js`-specified
+ // re-exports in its barrel.
+ transpilePackages: ["@pyre/core"],
+};
+
+export default nextConfig;
diff --git a/apps/web/src/app/globals.css b/apps/web/src/app/globals.css
index 0f865db..c0f4082 100644
--- a/apps/web/src/app/globals.css
+++ b/apps/web/src/app/globals.css
@@ -1,3 +1,199 @@
@import "tailwindcss";
-/* PYRE global styles. TODO: theme tokens (ember palette) once UI work begins. */
+/* PYRE global styles — ember / dark theme. */
+
+@theme {
+ --color-ash: #0a0807;
+ --color-ember: #ff5722;
+ --color-ember-bright: #ff8a3d;
+ --color-coal: #1a1412;
+ --color-smoke: #b8a99c;
+}
+
+:root {
+ color-scheme: dark;
+}
+
+body {
+ margin: 0;
+ background:
+ radial-gradient(120% 80% at 50% -10%, rgba(255, 87, 34, 0.18), transparent 60%),
+ var(--color-ash);
+ color: #f5ede6;
+ font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
+ min-height: 100dvh;
+}
+
+.page {
+ max-width: 56rem;
+ margin: 0 auto;
+ padding: 3rem 1.25rem 5rem;
+}
+
+/* Hero / header */
+.hero {
+ text-align: center;
+ margin-bottom: 2.5rem;
+}
+.hero__title {
+ font-size: clamp(3rem, 10vw, 5rem);
+ font-weight: 800;
+ letter-spacing: 0.15em;
+ margin: 0;
+ background: linear-gradient(180deg, var(--color-ember-bright), var(--color-ember));
+ -webkit-background-clip: text;
+ background-clip: text;
+ color: transparent;
+ text-shadow: 0 0 40px rgba(255, 87, 34, 0.35);
+}
+.hero__tagline {
+ font-size: 1.15rem;
+ font-weight: 600;
+ color: var(--color-ember-bright);
+ margin: 0.75rem 0 0.25rem;
+}
+.hero__trust {
+ color: var(--color-smoke);
+ margin: 0;
+}
+
+/* Connect / scan controls */
+.connect {
+ display: flex;
+ flex-wrap: wrap;
+ gap: 0.75rem;
+ justify-content: center;
+ align-items: center;
+ margin-bottom: 1.5rem;
+}
+
+.scan-btn {
+ appearance: none;
+ border: 1px solid var(--color-ember);
+ background: linear-gradient(180deg, var(--color-ember-bright), var(--color-ember));
+ color: #1a0d06;
+ font-weight: 700;
+ font-size: 0.95rem;
+ padding: 0 1.25rem;
+ height: 48px;
+ border-radius: 0.5rem;
+ cursor: pointer;
+ transition: filter 0.15s ease, opacity 0.15s ease;
+}
+.scan-btn:hover:not(:disabled) {
+ filter: brightness(1.1);
+}
+.scan-btn:disabled {
+ opacity: 0.55;
+ cursor: not-allowed;
+}
+
+.hint {
+ text-align: center;
+ color: var(--color-smoke);
+}
+.error {
+ text-align: center;
+ color: #ff7a6b;
+ background: rgba(255, 60, 40, 0.08);
+ border: 1px solid rgba(255, 60, 40, 0.3);
+ border-radius: 0.5rem;
+ padding: 0.75rem 1rem;
+}
+
+/* Results */
+.results {
+ margin-top: 1rem;
+}
+.reclaim {
+ border: 1px solid rgba(255, 138, 61, 0.4);
+ background: linear-gradient(180deg, rgba(255, 87, 34, 0.12), rgba(255, 87, 34, 0.04));
+ border-radius: 0.75rem;
+ padding: 1.25rem 1.5rem;
+ text-align: center;
+ margin-bottom: 2rem;
+}
+.reclaim__headline {
+ font-size: 1.4rem;
+ font-weight: 700;
+ color: var(--color-ember-bright);
+ margin: 0;
+}
+.reclaim__sub {
+ color: var(--color-smoke);
+ margin: 0.4rem 0 0;
+}
+
+.result-section {
+ margin-bottom: 2rem;
+}
+.result-section__heading {
+ font-size: 1.15rem;
+ font-weight: 700;
+ margin: 0 0 0.2rem;
+}
+.result-section__count {
+ color: var(--color-smoke);
+ font-weight: 500;
+}
+.result-section__blurb {
+ color: var(--color-smoke);
+ font-size: 0.9rem;
+ margin: 0 0 0.75rem;
+}
+
+.account-list {
+ list-style: none;
+ margin: 0;
+ padding: 0;
+ display: flex;
+ flex-direction: column;
+ gap: 0.5rem;
+}
+.account-row {
+ border: 1px solid rgba(255, 255, 255, 0.08);
+ background: var(--color-coal);
+ border-radius: 0.5rem;
+ padding: 0.75rem 1rem;
+}
+.account-row__main {
+ display: flex;
+ align-items: center;
+ gap: 1rem;
+ justify-content: space-between;
+}
+.account-row__label {
+ font-weight: 600;
+}
+.account-row__mint {
+ color: var(--color-smoke);
+ font-family: ui-monospace, monospace;
+ font-size: 0.85rem;
+}
+.account-row__balance {
+ margin-left: auto;
+ font-variant-numeric: tabular-nums;
+}
+.account-row__warnings {
+ list-style: none;
+ margin: 0.5rem 0 0;
+ padding: 0;
+ color: #ffb27a;
+ font-size: 0.8rem;
+}
+
+.preview-note {
+ margin-top: 2rem;
+ padding: 0.85rem 1rem;
+ border: 1px dashed rgba(255, 138, 61, 0.35);
+ border-radius: 0.5rem;
+ color: var(--color-smoke);
+ font-size: 0.85rem;
+ text-align: center;
+}
+
+/* Wallet adapter button — nudge toward the ember theme. */
+.wallet-adapter-button-trigger {
+ background: var(--color-coal) !important;
+ border: 1px solid var(--color-ember) !important;
+}
diff --git a/apps/web/src/app/layout.tsx b/apps/web/src/app/layout.tsx
index d428b3e..6c03d81 100644
--- a/apps/web/src/app/layout.tsx
+++ b/apps/web/src/app/layout.tsx
@@ -1,5 +1,6 @@
import type { ReactNode } from "react";
import "./globals.css";
+import { Providers } from "./providers";
export const metadata = {
title: "PYRE — Burn the dead. Feed the PYRE. Claim the Spawn.",
@@ -7,11 +8,13 @@ export const metadata = {
"Solana wallet cleanup: scan token accounts, close empty ATAs, and recover rent to your wallet.",
};
-// Root layout (Next.js App Router). Intentionally minimal — UI is built in later phases.
+// Root layout (Next.js App Router). Wallet/connection providers wrap the tree.
export default function RootLayout({ children }: { children: ReactNode }) {
return (
-
{children}
+
+ {children}
+
);
}
diff --git a/apps/web/src/app/page.tsx b/apps/web/src/app/page.tsx
index 982bcc6..ba039f5 100644
--- a/apps/web/src/app/page.tsx
+++ b/apps/web/src/app/page.tsx
@@ -1,20 +1,204 @@
-// PYRE landing page — SKELETON ONLY.
-//
-// TODO (§13): build out the real landing experience and wire up the app:
-// - Wallet connect (Solana Wallet Adapter) — NO wallet logic here yet.
-// - Entry point into the scanner UI (POST /api/scan).
-// - Links to cleanup preview, receipt, Prometheus preview, and admin review.
-//
-// Trust rules: PYRE never holds private keys; signing is always client-side and
-// must be preceded by a decoded-transaction preview that matches what the user
-// sees. See ../../README.md and the repo CLAUDE.md.
+"use client";
+
+import { useCallback, useMemo, useState } from "react";
+import { useWallet } from "@solana/wallet-adapter-react";
+import { WalletMultiButton } from "@solana/wallet-adapter-react-ui";
+import { TokenClassification } from "@pyre/core";
+import type { ScanResponse, TokenAccountDto } from "@pyre/core";
+
+const API_URL = process.env.NEXT_PUBLIC_API_URL ?? "http://localhost:4000";
+
+// Display order + friendly headings. Wording rules: never say "safe"; protected /
+// unsupported read as "skipped / not eligible"; eligible reads as "appears eligible".
+const SECTIONS: ReadonlyArray<{
+ classification: TokenClassification;
+ heading: string;
+ blurb: string;
+}> = [
+ {
+ classification: TokenClassification.EMPTY_CLOSE_ONLY,
+ heading: "Closeable empty accounts",
+ blurb: "Empty token accounts that appear eligible to close and reclaim rent.",
+ },
+ {
+ classification: TokenClassification.INCINERATE_ONLY,
+ heading: "Burnable junk",
+ blurb: "Worthless leftover balances that appear eligible to burn.",
+ },
+ {
+ classification: TokenClassification.TRANSMUTABLE,
+ heading: "Transmutable scraps",
+ blurb: "Scraps that appear eligible to feed the fire.",
+ },
+ {
+ classification: TokenClassification.PROTECTED_SKIP,
+ heading: "Protected / skipped",
+ blurb: "Skipped — not eligible for cleanup. Left untouched.",
+ },
+ {
+ classification: TokenClassification.UNSUPPORTED,
+ heading: "Unsupported",
+ blurb: "Not eligible — PYRE can't reason about these, so they're skipped.",
+ },
+];
+
+function truncate(addr: string): string {
+ if (addr.length <= 10) return addr;
+ return `${addr.slice(0, 4)}…${addr.slice(-4)}`;
+}
+
+function lamportsToSol(lamports: string): number {
+ // Lamports arrive as a u64 string; BigInt avoids precision loss before scaling.
+ try {
+ return Number(BigInt(lamports)) / 1e9;
+ } catch {
+ return 0;
+ }
+}
+
+function AccountRow({ account }: { account: TokenAccountDto }) {
+ const label = account.symbol ?? account.name ?? truncate(account.mint);
+ return (
+
+
+
+ {label}
+
+
+ {truncate(account.mint)}
+
+ {account.uiBalance}
+
+ {account.warnings.length > 0 && (
+
+ {account.warnings.map((w, i) => (
+ ⚠ {w}
+ ))}
+
+ )}
+
+ );
+}
export default function HomePage() {
+ const { publicKey } = useWallet();
+ const [scan, setScan] = useState(null);
+ const [loading, setLoading] = useState(false);
+ const [error, setError] = useState(null);
+
+ const wallet = publicKey?.toBase58() ?? null;
+
+ const runScan = useCallback(async () => {
+ if (!wallet) return;
+ setLoading(true);
+ setError(null);
+ setScan(null);
+ try {
+ const res = await fetch(`${API_URL}/api/scan`, {
+ method: "POST",
+ headers: { "content-type": "application/json" },
+ body: JSON.stringify({ wallet }),
+ });
+ if (!res.ok) {
+ throw new Error(`Scan failed (${res.status})`);
+ }
+ const data = (await res.json()) as ScanResponse;
+ setScan(data);
+ } catch (e) {
+ setError(e instanceof Error ? e.message : "Scan failed.");
+ } finally {
+ setLoading(false);
+ }
+ }, [wallet]);
+
+ const grouped = useMemo(() => {
+ const map = new Map();
+ if (scan) {
+ for (const acct of scan.accounts) {
+ const bucket = map.get(acct.classification) ?? [];
+ bucket.push(acct);
+ map.set(acct.classification, bucket);
+ }
+ }
+ return map;
+ }, [scan]);
+
+ const reclaimSol = scan ? lamportsToSol(scan.summary.estimatedRentLamports) : 0;
+
return (
-
- PYRE
- Burn the dead. Feed the PYRE. Claim the Spawn.
- {/* TODO: wallet connect button + scanner entry point */}
+
+
+ PYRE
+
+ Burn the dead. Feed the PYRE. Claim the Spawn.
+
+
+ PYRE returns your rent. The scraps feed the fire.
+
+
+
+
+
+ {wallet && (
+
+ {loading ? "Scanning…" : "Scan wallet"}
+
+ )}
+
+
+ {!wallet && (
+ Connect a wallet to scan it for reclaimable rent.
+ )}
+
+ {error && Something went wrong: {error}
}
+
+ {scan && (
+
+
+
+ Recover ~{reclaimSol.toFixed(6)} SOL from{" "}
+ {scan.summary.emptyCloseOnly} empty account
+ {scan.summary.emptyCloseOnly === 1 ? "" : "s"}.
+
+
+ Scanned {scan.summary.totalAccounts} token account
+ {scan.summary.totalAccounts === 1 ? "" : "s"}.
+
+
+
+ {SECTIONS.map(({ classification, heading, blurb }) => {
+ const accounts = grouped.get(classification) ?? [];
+ if (accounts.length === 0) return null;
+ return (
+
+
+ {heading}{" "}
+
+ ({accounts.length})
+
+
+
{blurb}
+
+ {accounts.map((a) => (
+
+ ))}
+
+
+ );
+ })}
+
+
+ This is a scan and preview only — nothing has been signed. Closing
+ empty accounts and burning junk (which require signing in your
+ wallet) comes next.
+
+
+ )}
);
}
diff --git a/apps/web/src/app/providers.tsx b/apps/web/src/app/providers.tsx
new file mode 100644
index 0000000..3704cd7
--- /dev/null
+++ b/apps/web/src/app/providers.tsx
@@ -0,0 +1,29 @@
+"use client";
+
+import type { ReactNode } from "react";
+import { useMemo } from "react";
+import type { ComponentProps } from "react";
+import { ConnectionProvider, WalletProvider } from "@solana/wallet-adapter-react";
+import { WalletModalProvider } from "@solana/wallet-adapter-react-ui";
+
+// Default wallet adapter styles. Component overrides live in globals.css.
+import "@solana/wallet-adapter-react-ui/styles.css";
+
+const DEFAULT_RPC = "https://api.mainnet-beta.solana.com";
+
+type WalletList = ComponentProps["wallets"];
+
+export function Providers({ children }: { children: ReactNode }) {
+ const endpoint = process.env.NEXT_PUBLIC_SOLANA_RPC_URL ?? DEFAULT_RPC;
+
+ // Empty list: rely on the Wallet Standard auto-detection of installed wallets.
+ const wallets = useMemo(() => [], []);
+
+ return (
+
+
+ {children}
+
+
+ );
+}
diff --git a/infra/status/index.html b/infra/status/index.html
index fdee6f1..2eb43c0 100644
--- a/infra/status/index.html
+++ b/infra/status/index.html
@@ -147,10 +147,10 @@
Overall MVP Progress
- 16%
+ 27%
-
- 8 of 50 phase deliverables complete
+
+ 14 of 51 phase deliverables complete
Development Phases
@@ -172,19 +172,20 @@
✓ Environment templates
-
+
Phase 1 Wallet Scanner
- TODO
+ IN PROGRESS
- 0 / 6 complete
+ 6 / 7 complete
- ○ Wallet connect frontend
- ○ Scan endpoint
- ○ Token account fetch
- ○ Basic classification
- ○ Scan results UI
- ○ Protected/skipped UI
+ ✓ Wallet connect frontend
+ ✓ Scan endpoint (POST /api/scan)
+ ✓ Token account fetch (SPL + Token-2022 detect)
+ ✓ Basic classification (conservative, 43 tests)
+ ✓ Scan results UI (grouped)
+ ✓ Protected/skipped UI
+ ○ Deploy app + live-wallet e2e verification
diff --git a/infra/status/status.json b/infra/status/status.json
index 434d4e7..58acf0b 100644
--- a/infra/status/status.json
+++ b/infra/status/status.json
@@ -23,14 +23,15 @@
{
"id": 1,
"name": "Wallet Scanner",
- "state": "todo",
+ "state": "in_progress",
"items": [
- { "label": "Wallet connect frontend", "done": false },
- { "label": "Scan endpoint", "done": false },
- { "label": "Token account fetch", "done": false },
- { "label": "Basic classification", "done": false },
- { "label": "Scan results UI", "done": false },
- { "label": "Protected/skipped UI", "done": false }
+ { "label": "Wallet connect frontend", "done": true },
+ { "label": "Scan endpoint (POST /api/scan)", "done": true },
+ { "label": "Token account fetch (SPL + Token-2022 detect)", "done": true },
+ { "label": "Basic classification (conservative, 43 tests)", "done": true },
+ { "label": "Scan results UI (grouped)", "done": true },
+ { "label": "Protected/skipped UI", "done": true },
+ { "label": "Deploy app + live-wallet e2e verification", "done": false }
]
},
{
diff --git a/packages/config/package.json b/packages/config/package.json
index f2812c7..456a050 100644
--- a/packages/config/package.json
+++ b/packages/config/package.json
@@ -12,6 +12,7 @@
"test": "echo \"test: ok (placeholder)\""
},
"devDependencies": {
+ "@types/node": "^22.10.0",
"typescript": "^5.7.2"
}
}
diff --git a/packages/config/src/index.ts b/packages/config/src/index.ts
index d7063ee..44c974b 100644
--- a/packages/config/src/index.ts
+++ b/packages/config/src/index.ts
@@ -1,5 +1,5 @@
/**
- * @pyre/config — shared config & environment loading (SKELETON).
+ * @pyre/config — shared config & environment loading.
*
* Responsibilities (§13): shared config and environment loading. Variables mirror
* `.env.example` at the repo root.
@@ -61,12 +61,88 @@ export interface Env {
}
/**
- * Load and validate configuration from the process environment.
- *
- * TODO: read from `process.env` (mapping the variables in `.env.example`),
- * validate/coerce types, apply defaults, and fail fast on missing required
- * values. Never hardcode secrets. There is intentionally no private-key var.
+ * The strongly-typed application configuration consumed by apps (`@pyre/api`,
+ * `@pyre/worker`, etc.). This is the subset of {@link Env} that the runtime
+ * code actually depends on; it is a structural superset-friendly alias so
+ * callers can `loadConfig()` and read exactly the fields they need.
*/
-export function loadConfig(): Env {
- throw new Error("not implemented");
+export interface AppConfig {
+ /** Solana JSON-RPC HTTP endpoint. */
+ solanaRpcUrl: string;
+ /** Solana cluster the RPC endpoint targets. */
+ solanaCluster: SolanaCluster;
+ /** PostgreSQL connection string. */
+ databaseUrl: string;
+ /** Redis connection string (queues, cache, rate limiting). */
+ redisUrl: string;
+ /** HTTP port the API listens on. */
+ apiPort: number;
+ /** Public origin of the web app — used for CORS. */
+ webPublicUrl: string;
+ /** Bearer token protecting admin endpoints (empty when unset). */
+ adminApiToken: string;
+ /** Max /api/scan requests per wallet/IP per minute. */
+ rateLimitScanPerMin: number;
+ /** Skip non-empty tokens valued above this many USD. */
+ protectedUsdThreshold: number;
+}
+
+/** A minimal env-shaped record. `process.env` satisfies this. */
+export type EnvSource = Record;
+
+const VALID_CLUSTERS: ReadonlySet = new Set([
+ "mainnet-beta",
+ "devnet",
+ "testnet",
+]);
+
+/**
+ * Parse a value as a finite, non-negative integer, falling back to `fallback`
+ * when the value is missing, blank, or not a valid number.
+ */
+function parseIntSafe(value: string | undefined, fallback: number): number {
+ if (value == null) return fallback;
+ const trimmed = value.trim();
+ if (trimmed === "") return fallback;
+ const n = Number(trimmed);
+ return Number.isFinite(n) ? n : fallback;
+}
+
+/** Read a string env var, trimming and falling back to a default. */
+function str(value: string | undefined, fallback: string): string {
+ if (value == null) return fallback;
+ const trimmed = value.trim();
+ return trimmed === "" ? fallback : trimmed;
+}
+
+/** Coerce a cluster string to the supported union, defaulting to mainnet-beta. */
+function parseCluster(value: string | undefined): SolanaCluster {
+ const v = str(value, "mainnet-beta");
+ return (VALID_CLUSTERS.has(v) ? v : "mainnet-beta") as SolanaCluster;
+}
+
+/**
+ * Load and validate application configuration from the process environment.
+ *
+ * Maps the variables documented in `.env.example`, coerces numeric fields
+ * safely, and applies sensible defaults that match `.env.example`. Never
+ * hardcodes secrets, and there is intentionally no private-key variable.
+ *
+ * @param env - environment source (defaults to `process.env`).
+ */
+export function loadConfig(env: EnvSource = process.env): AppConfig {
+ return {
+ solanaRpcUrl: str(env.SOLANA_RPC_URL, "https://api.mainnet-beta.solana.com"),
+ solanaCluster: parseCluster(env.SOLANA_CLUSTER),
+ databaseUrl: str(
+ env.DATABASE_URL,
+ "postgresql://pyre:pyre@localhost:5432/pyre",
+ ),
+ redisUrl: str(env.REDIS_URL, "redis://localhost:6379"),
+ apiPort: parseIntSafe(env.API_PORT, 4000),
+ webPublicUrl: str(env.WEB_PUBLIC_URL, "http://localhost:3000"),
+ adminApiToken: str(env.ADMIN_API_TOKEN, ""),
+ rateLimitScanPerMin: parseIntSafe(env.RATE_LIMIT_SCAN_PER_MIN, 10),
+ protectedUsdThreshold: parseIntSafe(env.PROTECTED_USD_THRESHOLD, 50),
+ };
}
diff --git a/packages/core/package.json b/packages/core/package.json
index 4be8494..02b51b3 100644
--- a/packages/core/package.json
+++ b/packages/core/package.json
@@ -9,9 +9,10 @@
"build": "tsc -p tsconfig.json",
"typecheck": "tsc --noEmit",
"lint": "echo \"lint: ok (placeholder)\"",
- "test": "echo \"test: ok (placeholder)\""
+ "test": "vitest run"
},
"devDependencies": {
- "typescript": "^5.7.2"
+ "typescript": "^5.7.2",
+ "vitest": "^3.0.0"
}
}
diff --git a/packages/core/src/classify.test.ts b/packages/core/src/classify.test.ts
new file mode 100644
index 0000000..334ad04
--- /dev/null
+++ b/packages/core/src/classify.test.ts
@@ -0,0 +1,353 @@
+import { describe, it, expect } from "vitest";
+import { classifyTokenAccount } from "./classify";
+import { TokenClassification } from "./classification";
+import { DEFAULT_PROTECTED_USD_THRESHOLD } from "./risk";
+import type { ClassifierInput, ClassifyOptions } from "./types";
+
+/** A mint that is NOT in the known-valuable registry (plain junk). */
+const JUNK_MINT = "JUNKjunkJUNKjunkJUNKjunkJUNKjunkJUNKjunk111";
+/** USDC — a known-valuable mint per risk.ts KNOWN_VALUABLE_MINTS. */
+const USDC_MINT = "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v";
+
+/**
+ * Build a base valid ClassifierInput: classic spl-token, empty balance,
+ * 6 decimals, not frozen / delegated / nft / valuable, no USD value.
+ * Override any field via the partial argument.
+ */
+function baseInput(overrides: Partial = {}): ClassifierInput {
+ return {
+ mint: JUNK_MINT,
+ tokenProgram: "spl-token",
+ rawAmount: "0",
+ decimals: 6,
+ uiAmount: 0,
+ isFrozen: false,
+ isDelegated: false,
+ isNft: false,
+ isKnownValuable: false,
+ usdValue: null,
+ ...overrides,
+ };
+}
+
+/**
+ * The classifier must NEVER assert a token "is safe". The only positive-ish
+ * phrasing it is allowed to emit is "appears eligible based on current checks".
+ * This regex catches the forbidden assertion phrasings.
+ */
+const FORBIDDEN_SAFE = /\bis safe\b|\btoken is safe\b/i;
+
+/** Assert no warning asserts the token is safe. Call for every case. */
+function expectNoSafeAssertion(warnings: string[]): void {
+ expect(warnings.every((w) => !FORBIDDEN_SAFE.test(w))).toBe(true);
+}
+
+describe("classifyTokenAccount", () => {
+ describe("unsupported token programs", () => {
+ it("token-2022 (non-empty) => UNSUPPORTED", () => {
+ const { classification, warnings } = classifyTokenAccount(
+ baseInput({ tokenProgram: "token-2022", rawAmount: "123", uiAmount: 0.000123 }),
+ );
+ expect(classification).toBe(TokenClassification.UNSUPPORTED);
+ expectNoSafeAssertion(warnings);
+ });
+
+ it("token-2022 (empty) => UNSUPPORTED — unsupported even when empty", () => {
+ const { classification, warnings } = classifyTokenAccount(
+ baseInput({ tokenProgram: "token-2022", rawAmount: "0" }),
+ );
+ expect(classification).toBe(TokenClassification.UNSUPPORTED);
+ expectNoSafeAssertion(warnings);
+ });
+
+ it("unknown program => UNSUPPORTED", () => {
+ const { classification, warnings } = classifyTokenAccount(
+ baseInput({ tokenProgram: "unknown", rawAmount: "0" }),
+ );
+ expect(classification).toBe(TokenClassification.UNSUPPORTED);
+ expectNoSafeAssertion(warnings);
+ });
+
+ it("unknown program (non-empty) => UNSUPPORTED", () => {
+ const { classification, warnings } = classifyTokenAccount(
+ baseInput({ tokenProgram: "unknown", rawAmount: "999", uiAmount: 0.000999 }),
+ );
+ expect(classification).toBe(TokenClassification.UNSUPPORTED);
+ expectNoSafeAssertion(warnings);
+ });
+ });
+
+ describe("frozen / delegated — skipped regardless of balance", () => {
+ it("isFrozen + empty => PROTECTED_SKIP", () => {
+ const { classification, warnings } = classifyTokenAccount(
+ baseInput({ isFrozen: true, rawAmount: "0" }),
+ );
+ expect(classification).toBe(TokenClassification.PROTECTED_SKIP);
+ expectNoSafeAssertion(warnings);
+ });
+
+ it("isFrozen + non-empty => PROTECTED_SKIP", () => {
+ const { classification, warnings } = classifyTokenAccount(
+ baseInput({ isFrozen: true, rawAmount: "5000", uiAmount: 0.005 }),
+ );
+ expect(classification).toBe(TokenClassification.PROTECTED_SKIP);
+ expectNoSafeAssertion(warnings);
+ });
+
+ it("isDelegated + empty => PROTECTED_SKIP", () => {
+ const { classification, warnings } = classifyTokenAccount(
+ baseInput({ isDelegated: true, rawAmount: "0" }),
+ );
+ expect(classification).toBe(TokenClassification.PROTECTED_SKIP);
+ expectNoSafeAssertion(warnings);
+ });
+
+ it("isDelegated + non-empty => PROTECTED_SKIP", () => {
+ const { classification, warnings } = classifyTokenAccount(
+ baseInput({ isDelegated: true, rawAmount: "5000", uiAmount: 0.005 }),
+ );
+ expect(classification).toBe(TokenClassification.PROTECTED_SKIP);
+ expectNoSafeAssertion(warnings);
+ });
+ });
+
+ describe("empty classic-SPL => EMPTY_CLOSE_ONLY (value/NFT gates don't apply)", () => {
+ it("plain empty junk => EMPTY_CLOSE_ONLY", () => {
+ const { classification, warnings } = classifyTokenAccount(baseInput({ rawAmount: "0" }));
+ expect(classification).toBe(TokenClassification.EMPTY_CLOSE_ONLY);
+ expectNoSafeAssertion(warnings);
+ });
+
+ it('empty but isKnownValuable=true (USDC mint) => EMPTY_CLOSE_ONLY', () => {
+ const { classification, warnings } = classifyTokenAccount(
+ baseInput({ mint: USDC_MINT, isKnownValuable: true, rawAmount: "0" }),
+ );
+ expect(classification).toBe(TokenClassification.EMPTY_CLOSE_ONLY);
+ expectNoSafeAssertion(warnings);
+ });
+
+ it("empty but isNft=true => EMPTY_CLOSE_ONLY", () => {
+ const { classification, warnings } = classifyTokenAccount(
+ baseInput({ isNft: true, rawAmount: "0", decimals: 0 }),
+ );
+ expect(classification).toBe(TokenClassification.EMPTY_CLOSE_ONLY);
+ expectNoSafeAssertion(warnings);
+ });
+
+ it("empty but usdValue above threshold => EMPTY_CLOSE_ONLY", () => {
+ const { classification, warnings } = classifyTokenAccount(
+ baseInput({ rawAmount: "0", usdValue: 9999 }),
+ );
+ expect(classification).toBe(TokenClassification.EMPTY_CLOSE_ONLY);
+ expectNoSafeAssertion(warnings);
+ });
+
+ it('rawAmount "" treated as empty => EMPTY_CLOSE_ONLY', () => {
+ const { classification, warnings } = classifyTokenAccount(baseInput({ rawAmount: "" }));
+ expect(classification).toBe(TokenClassification.EMPTY_CLOSE_ONLY);
+ expectNoSafeAssertion(warnings);
+ });
+
+ it('rawAmount "0000" treated as empty => EMPTY_CLOSE_ONLY', () => {
+ const { classification, warnings } = classifyTokenAccount(baseInput({ rawAmount: "0000" }));
+ expect(classification).toBe(TokenClassification.EMPTY_CLOSE_ONLY);
+ expectNoSafeAssertion(warnings);
+ });
+
+ it('rawAmount with whitespace " 0 " treated as empty => EMPTY_CLOSE_ONLY', () => {
+ const { classification, warnings } = classifyTokenAccount(baseInput({ rawAmount: " 0 " }));
+ expect(classification).toBe(TokenClassification.EMPTY_CLOSE_ONLY);
+ expectNoSafeAssertion(warnings);
+ });
+ });
+
+ describe("non-empty value-preservation checks", () => {
+ it("non-empty + isNft => PROTECTED_SKIP", () => {
+ const { classification, warnings } = classifyTokenAccount(
+ baseInput({ rawAmount: "1", uiAmount: 1, isNft: true, decimals: 0 }),
+ );
+ expect(classification).toBe(TokenClassification.PROTECTED_SKIP);
+ expectNoSafeAssertion(warnings);
+ });
+
+ it("non-empty + isKnownValuable => PROTECTED_SKIP", () => {
+ const { classification, warnings } = classifyTokenAccount(
+ baseInput({ mint: USDC_MINT, isKnownValuable: true, rawAmount: "1000000", uiAmount: 1 }),
+ );
+ expect(classification).toBe(TokenClassification.PROTECTED_SKIP);
+ expectNoSafeAssertion(warnings);
+ });
+
+ it("non-empty + usdValue above default threshold (100 > 50) => PROTECTED_SKIP", () => {
+ const { classification, warnings } = classifyTokenAccount(
+ baseInput({ rawAmount: "100000000", uiAmount: 100, usdValue: 100 }),
+ );
+ expect(classification).toBe(TokenClassification.PROTECTED_SKIP);
+ expectNoSafeAssertion(warnings);
+ });
+
+ it("non-empty + usdValue below default threshold (10 < 50) => INCINERATE_ONLY", () => {
+ const { classification, warnings } = classifyTokenAccount(
+ baseInput({ rawAmount: "10000000", uiAmount: 10, usdValue: 10 }),
+ );
+ expect(classification).toBe(TokenClassification.INCINERATE_ONLY);
+ expectNoSafeAssertion(warnings);
+ });
+
+ it("non-empty + usdValue exactly at threshold (50) => INCINERATE_ONLY (strictly greater protects)", () => {
+ const { classification, warnings } = classifyTokenAccount(
+ baseInput({ rawAmount: "50000000", uiAmount: 50, usdValue: DEFAULT_PROTECTED_USD_THRESHOLD }),
+ );
+ expect(classification).toBe(TokenClassification.INCINERATE_ONLY);
+ expectNoSafeAssertion(warnings);
+ });
+
+ it("custom opts.usdThreshold is respected — value above custom threshold => PROTECTED_SKIP", () => {
+ const opts: ClassifyOptions = { usdThreshold: 5 };
+ const { classification, warnings } = classifyTokenAccount(
+ baseInput({ rawAmount: "10000000", uiAmount: 10, usdValue: 10 }),
+ opts,
+ );
+ expect(classification).toBe(TokenClassification.PROTECTED_SKIP);
+ expectNoSafeAssertion(warnings);
+ });
+
+ it("custom opts.usdThreshold is respected — value below custom threshold => INCINERATE_ONLY", () => {
+ const opts: ClassifyOptions = { usdThreshold: 1000 };
+ const { classification, warnings } = classifyTokenAccount(
+ baseInput({ rawAmount: "100000000", uiAmount: 100, usdValue: 100 }),
+ opts,
+ );
+ expect(classification).toBe(TokenClassification.INCINERATE_ONLY);
+ expectNoSafeAssertion(warnings);
+ });
+
+ it("non-empty plain junk, usdValue null, no flags => INCINERATE_ONLY", () => {
+ const { classification, warnings } = classifyTokenAccount(
+ baseInput({ rawAmount: "123456789", uiAmount: 123.456789, usdValue: null }),
+ );
+ expect(classification).toBe(TokenClassification.INCINERATE_ONLY);
+ expectNoSafeAssertion(warnings);
+ });
+
+ it("non-empty plain junk, usdValue undefined, no flags => INCINERATE_ONLY", () => {
+ const { classification, warnings } = classifyTokenAccount(
+ baseInput({ rawAmount: "123456789", uiAmount: 123.456789, usdValue: undefined }),
+ );
+ expect(classification).toBe(TokenClassification.INCINERATE_ONLY);
+ expectNoSafeAssertion(warnings);
+ });
+ });
+
+ describe("swap-route hook (TRANSMUTABLE)", () => {
+ it("hasSafeSwapRoute returns true => TRANSMUTABLE", () => {
+ const opts: ClassifyOptions = { hasSafeSwapRoute: () => true };
+ const { classification, warnings } = classifyTokenAccount(
+ baseInput({ rawAmount: "123456789", uiAmount: 123.456789 }),
+ opts,
+ );
+ expect(classification).toBe(TokenClassification.TRANSMUTABLE);
+ expectNoSafeAssertion(warnings);
+ });
+
+ it("hasSafeSwapRoute returns false => INCINERATE_ONLY", () => {
+ const opts: ClassifyOptions = { hasSafeSwapRoute: () => false };
+ const { classification, warnings } = classifyTokenAccount(
+ baseInput({ rawAmount: "123456789", uiAmount: 123.456789 }),
+ opts,
+ );
+ expect(classification).toBe(TokenClassification.INCINERATE_ONLY);
+ expectNoSafeAssertion(warnings);
+ });
+
+ it("hasSafeSwapRoute receives the input and is only consulted for non-empty, non-protected SPL", () => {
+ const seen: ClassifierInput[] = [];
+ const opts: ClassifyOptions = {
+ hasSafeSwapRoute: (input) => {
+ seen.push(input);
+ return true;
+ },
+ };
+ const input = baseInput({ rawAmount: "777", uiAmount: 0.000777 });
+ const { classification } = classifyTokenAccount(input, opts);
+ expect(classification).toBe(TokenClassification.TRANSMUTABLE);
+ expect(seen).toEqual([input]);
+ });
+
+ it("hook is NOT consulted for empty accounts (closes before route check)", () => {
+ let called = false;
+ const opts: ClassifyOptions = {
+ hasSafeSwapRoute: () => {
+ called = true;
+ return true;
+ },
+ };
+ const { classification } = classifyTokenAccount(baseInput({ rawAmount: "0" }), opts);
+ expect(classification).toBe(TokenClassification.EMPTY_CLOSE_ONLY);
+ expect(called).toBe(false);
+ });
+ });
+
+ describe("precedence", () => {
+ it("frozen + token-2022 => UNSUPPORTED (program check wins over frozen)", () => {
+ const { classification, warnings } = classifyTokenAccount(
+ baseInput({ tokenProgram: "token-2022", isFrozen: true, rawAmount: "0" }),
+ );
+ expect(classification).toBe(TokenClassification.UNSUPPORTED);
+ expectNoSafeAssertion(warnings);
+ });
+
+ it("empty + frozen => PROTECTED_SKIP (frozen wins over empty-close)", () => {
+ const { classification, warnings } = classifyTokenAccount(
+ baseInput({ isFrozen: true, rawAmount: "0" }),
+ );
+ expect(classification).toBe(TokenClassification.PROTECTED_SKIP);
+ expectNoSafeAssertion(warnings);
+ });
+
+ it("frozen wins over delegated (frozen checked first)", () => {
+ const { classification } = classifyTokenAccount(
+ baseInput({ isFrozen: true, isDelegated: true, rawAmount: "100", uiAmount: 0.0001 }),
+ );
+ expect(classification).toBe(TokenClassification.PROTECTED_SKIP);
+ });
+
+ it("non-empty + isNft + isKnownValuable: NFT check wins but both => PROTECTED_SKIP", () => {
+ const { classification } = classifyTokenAccount(
+ baseInput({ rawAmount: "1", uiAmount: 1, isNft: true, isKnownValuable: true }),
+ );
+ expect(classification).toBe(TokenClassification.PROTECTED_SKIP);
+ });
+
+ it("isKnownValuable wins over high usdValue + swap route (both would otherwise matter)", () => {
+ const opts: ClassifyOptions = { hasSafeSwapRoute: () => true };
+ const { classification } = classifyTokenAccount(
+ baseInput({ isKnownValuable: true, rawAmount: "100", uiAmount: 0.0001, usdValue: 10 }),
+ opts,
+ );
+ expect(classification).toBe(TokenClassification.PROTECTED_SKIP);
+ });
+ });
+
+ describe("safety: no warning ever asserts a token is safe", () => {
+ // Exhaustively re-run a representative case per branch and assert the
+ // global safety property holds for the emitted warnings.
+ const cases: Array<[string, ClassifierInput, ClassifyOptions?]> = [
+ ["token-2022", baseInput({ tokenProgram: "token-2022" })],
+ ["unknown", baseInput({ tokenProgram: "unknown" })],
+ ["frozen", baseInput({ isFrozen: true })],
+ ["delegated", baseInput({ isDelegated: true })],
+ ["empty", baseInput({ rawAmount: "0" })],
+ ["nft", baseInput({ rawAmount: "1", uiAmount: 1, isNft: true })],
+ ["valuable", baseInput({ rawAmount: "1", uiAmount: 1, isKnownValuable: true })],
+ ["over-threshold", baseInput({ rawAmount: "1", uiAmount: 1, usdValue: 100 })],
+ ["incinerate", baseInput({ rawAmount: "1", uiAmount: 1 })],
+ ["transmutable", baseInput({ rawAmount: "1", uiAmount: 1 }), { hasSafeSwapRoute: () => true }],
+ ];
+
+ it.each(cases)("case %s emits no 'is safe' assertion", (_name, input, opts) => {
+ const { warnings } = classifyTokenAccount(input, opts);
+ expectNoSafeAssertion(warnings);
+ });
+ });
+});
diff --git a/packages/core/src/classify.ts b/packages/core/src/classify.ts
new file mode 100644
index 0000000..4f8c51a
--- /dev/null
+++ b/packages/core/src/classify.ts
@@ -0,0 +1,93 @@
+/**
+ * The conservative token-account classifier (Phase 1).
+ *
+ * Pure and deterministic: given normalized facts about one token account, it
+ * returns a single `TokenClassification` plus human-readable warnings. It never
+ * touches RPC or price feeds (callers pre-resolve those into `ClassifierInput`).
+ *
+ * Design rules (see §6/§7 of docs/PYRE_MVP_DESIGN.md):
+ * - "Unknown means skip." Anything we cannot reason about → UNSUPPORTED.
+ * - Never assert "safe"; warnings are phrased as eligibility/notes.
+ * - Closing an EMPTY account never loses token value, so empty + classic-SPL +
+ * not-frozen + not-delegated ⇒ EMPTY_CLOSE_ONLY regardless of which mint it
+ * is (value/NFT checks only gate NON-empty holdings).
+ * - Frozen / delegated / Token-2022 / unknown-program accounts are skipped or
+ * unsupported even when empty (conservative; may forgo a tiny rent reclaim).
+ * - TRANSMUTABLE is only ever assigned when an explicit safe-swap-route hook
+ * says so (Phase 6+). MVP v0.1 passes no hook, so it is never auto-assigned.
+ */
+import { TokenClassification } from "./classification";
+import type {
+ ClassifierInput,
+ ClassificationResult,
+ ClassifyOptions,
+} from "./types";
+import { DEFAULT_PROTECTED_USD_THRESHOLD } from "./risk";
+
+const ZERO = (rawAmount: string): boolean => {
+ // Treat any all-zero / empty string as zero. rawAmount is a u64 decimal string.
+ const trimmed = rawAmount.trim();
+ return trimmed === "" || /^0+$/.test(trimmed);
+};
+
+export function classifyTokenAccount(
+ input: ClassifierInput,
+ opts: ClassifyOptions = {},
+): ClassificationResult {
+ const warnings: string[] = [];
+ const usdThreshold = opts.usdThreshold ?? DEFAULT_PROTECTED_USD_THRESHOLD;
+
+ // 1) Unsupported token programs — cannot safely reason about closing these
+ // in the MVP, even when empty.
+ if (input.tokenProgram === "token-2022") {
+ warnings.push("Token-2022 not supported in MVP — skipped.");
+ return { classification: TokenClassification.UNSUPPORTED, warnings };
+ }
+ if (input.tokenProgram !== "spl-token") {
+ warnings.push("Unknown token program — skipped (unknown means skip).");
+ return { classification: TokenClassification.UNSUPPORTED, warnings };
+ }
+
+ // 2) External control / lock — skip regardless of balance.
+ if (input.isFrozen) {
+ warnings.push("Account is frozen — skipped.");
+ return { classification: TokenClassification.PROTECTED_SKIP, warnings };
+ }
+ if (input.isDelegated) {
+ warnings.push("Account has a spend delegate — skipped.");
+ return { classification: TokenClassification.PROTECTED_SKIP, warnings };
+ }
+
+ const isEmpty = ZERO(input.rawAmount);
+
+ // 3) Empty classic-SPL account → closeable. No token value is at stake.
+ if (isEmpty) {
+ return { classification: TokenClassification.EMPTY_CLOSE_ONLY, warnings };
+ }
+
+ // 4) Non-empty: value-preservation checks (only meaningful with a balance).
+ if (input.isNft) {
+ warnings.push("Appears to be an NFT / non-fungible token — skipped.");
+ return { classification: TokenClassification.PROTECTED_SKIP, warnings };
+ }
+ if (input.isKnownValuable) {
+ warnings.push("Known valuable / major asset — skipped by default.");
+ return { classification: TokenClassification.PROTECTED_SKIP, warnings };
+ }
+ if (input.usdValue != null && input.usdValue > usdThreshold) {
+ warnings.push(
+ `Estimated value $${input.usdValue.toFixed(2)} exceeds the $${usdThreshold} safe threshold — skipped.`,
+ );
+ return { classification: TokenClassification.PROTECTED_SKIP, warnings };
+ }
+
+ // 5) Non-empty, not protected. TRANSMUTABLE only via an explicit route hook.
+ if (opts.hasSafeSwapRoute?.(input)) {
+ warnings.push("Appears eligible to swap based on current checks.");
+ return { classification: TokenClassification.TRANSMUTABLE, warnings };
+ }
+
+ // 6) Default for leftover non-empty junk: burnable to zero (no auto-swap).
+ warnings.push("No known safe swap route — balance may be burnable to zero.");
+ return { classification: TokenClassification.INCINERATE_ONLY, warnings };
+}
diff --git a/packages/core/src/dto.ts b/packages/core/src/dto.ts
index 0bbbb0e..c924bac 100644
--- a/packages/core/src/dto.ts
+++ b/packages/core/src/dto.ts
@@ -9,7 +9,7 @@
* TODO: several shapes below are approximate and will be tightened once the
* scan/classify/build pipeline is implemented. Approximations are flagged inline.
*/
-import type { TokenClassification } from "./classification.js";
+import type { TokenClassification } from "./classification";
// ---------------------------------------------------------------------------
// POST /api/scan
diff --git a/packages/core/src/index.ts b/packages/core/src/index.ts
index 6e4ddad..09aabea 100644
--- a/packages/core/src/index.ts
+++ b/packages/core/src/index.ts
@@ -1,5 +1,7 @@
-export * from "./classification.js";
-export * from "./dto.js";
-export * from "./receipt.js";
-export * from "./prometheus.js";
-export * from "./risk.js";
+export * from "./classification";
+export * from "./types";
+export * from "./classify";
+export * from "./risk";
+export * from "./dto";
+export * from "./receipt";
+export * from "./prometheus";
diff --git a/packages/core/src/risk.ts b/packages/core/src/risk.ts
index e3141d8..afbcd79 100644
--- a/packages/core/src/risk.ts
+++ b/packages/core/src/risk.ts
@@ -1,15 +1,40 @@
/**
- * Risk-rule types and constants (placeholder).
- *
- * The conservative safety rules from §7 (Token Safety Rules) live here once the
- * classifier is implemented. Thresholds are operator-tunable via `@pyre/config`
- * (e.g. PROTECTED_USD_THRESHOLD, MAX_PRICE_IMPACT_BPS, QUOTE_MAX_AGE_MS).
+ * Risk-rule constants for the conservative classifier (§7 Token Safety Rules).
*
* Guiding principle: the system must never assert a token is "safe" — only that
* it "appears eligible based on current checks". Unknown means skip.
*
- * TODO: define risk-rule identifiers, a RiskRuleResult type, threshold config
- * shape, and the (pure) evaluation function signatures. No implementation yet.
+ * Thresholds are operator-tunable via `@pyre/config` (PROTECTED_USD_THRESHOLD,
+ * etc.) and passed into the classifier via `ClassifyOptions`.
*/
-export {};
+/**
+ * Rent-exempt lamports for a classic SPL token account (165 bytes).
+ * This is what a user reclaims when an empty associated token account is closed.
+ * ≈ 0.00203928 SOL. Used as a fallback when the live account lamports are
+ * unavailable; prefer the actual on-chain lamports when known.
+ */
+export const RENT_EXEMPT_TOKEN_ACCOUNT_LAMPORTS = 2_039_280;
+
+/** Default USD value above which a non-empty position is PROTECTED_SKIP. */
+export const DEFAULT_PROTECTED_USD_THRESHOLD = 50;
+
+/**
+ * Known valuable / major-asset mints that are never auto-acted-on when they
+ * hold a balance (they are still closeable when EMPTY — value checks only gate
+ * non-empty holdings). Base58 mint addresses.
+ */
+export const KNOWN_VALUABLE_MINTS: ReadonlySet = new Set([
+ "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", // USDC
+ "Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB", // USDT
+ "So11111111111111111111111111111111111111112", // Wrapped SOL (wSOL)
+ "mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So", // Marinade staked SOL (mSOL)
+ "J1toso1uCk3RLmjorhTtrVwY9HJ7X8V9yYac6Y7kGCPn", // Jito staked SOL (jitoSOL)
+ "7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs", // Ether (Portal) (ETH)
+ "DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263", // BONK (high-liquidity meme; treat as valuable)
+]);
+
+/** Convenience predicate for the known-valuable registry. */
+export function isKnownValuableMint(mint: string): boolean {
+ return KNOWN_VALUABLE_MINTS.has(mint);
+}
diff --git a/packages/core/src/types.ts b/packages/core/src/types.ts
new file mode 100644
index 0000000..2a0338b
--- /dev/null
+++ b/packages/core/src/types.ts
@@ -0,0 +1,76 @@
+/**
+ * Core domain types for the wallet scanner / classifier (Phase 1).
+ *
+ * These are the shared contract that `@pyre/solana` (producer) and `@pyre/api`
+ * (consumer) code against. Keep them conservative and explicit — see §6/§7 of
+ * `docs/PYRE_MVP_DESIGN.md`.
+ */
+
+/** Which on-chain token program owns an account. */
+export type TokenProgramKind = "spl-token" | "token-2022" | "unknown";
+
+/**
+ * The minimal, normalized facts the classifier needs about one token account.
+ * Produced by `@pyre/solana` from parsed RPC data. Deliberately small — the
+ * classifier is pure and must not reach out to RPC/price feeds itself.
+ */
+export interface ClassifierInput {
+ /** Token mint (base58). */
+ mint: string;
+ /** Owning token program. Only "spl-token" is supported in MVP v0.1. */
+ tokenProgram: TokenProgramKind;
+ /** Raw on-chain balance (u64 as a decimal string). "0" == empty. */
+ rawAmount: string;
+ decimals: number;
+ /** raw / 10^decimals, for display + threshold checks. */
+ uiAmount: number;
+ /** Account frozen by the mint's freeze authority. */
+ isFrozen: boolean;
+ /** Account has a spend delegate set. */
+ isDelegated: boolean;
+ /**
+ * Conservative non-fungible heuristic (e.g. decimals===0 && rawAmount==="1").
+ * Only meaningful for non-empty accounts; over-flagging is acceptable (skip).
+ */
+ isNft: boolean;
+ /** Mint is in the known-valuable / major-asset registry (USDC, USDT, wSOL…). */
+ isKnownValuable: boolean;
+ /** USD value of the position if priced; null/undefined when unknown. */
+ usdValue?: number | null;
+}
+
+/** One token account as returned by `@pyre/solana` scanning. */
+export interface ParsedTokenAccount extends ClassifierInput {
+ /** Associated/owned token account address (base58). */
+ ata: string;
+ /** Owner wallet (base58). */
+ owner: string;
+ /** Lamports held by the token account — reclaimable when it is closed. */
+ lamports: number;
+ /** Token symbol, if metadata was resolved. */
+ symbol?: string;
+ /** Token name, if metadata was resolved. */
+ name?: string;
+}
+
+/** Output of the classifier for a single account. */
+export interface ClassificationResult {
+ classification: import("./classification").TokenClassification;
+ /**
+ * Human-readable, conservative warnings (e.g. "frozen account",
+ * "Token-2022 not supported in MVP"). Never phrased as "safe".
+ */
+ warnings: string[];
+}
+
+/** Tunable inputs for classification (defaults from `@pyre/config`). */
+export interface ClassifyOptions {
+ /** Skip tokens valued above this many USD. Default: DEFAULT_PROTECTED_USD_THRESHOLD. */
+ usdThreshold?: number;
+ /**
+ * Optional swap-route hook (Phase 6+). When provided and it returns true for
+ * a non-empty, non-protected SPL token, that token becomes TRANSMUTABLE.
+ * In MVP v0.1 this is undefined, so nothing is auto-classified TRANSMUTABLE.
+ */
+ hasSafeSwapRoute?: (input: ClassifierInput) => boolean;
+}
diff --git a/packages/solana/package.json b/packages/solana/package.json
index 1303fe2..052150d 100644
--- a/packages/solana/package.json
+++ b/packages/solana/package.json
@@ -9,7 +9,7 @@
"build": "tsc -p tsconfig.json",
"typecheck": "tsc --noEmit",
"lint": "echo \"lint: ok (placeholder)\"",
- "test": "echo \"test: ok (placeholder)\""
+ "test": "vitest run"
},
"dependencies": {
"@pyre/core": "workspace:*",
@@ -17,6 +17,7 @@
"@solana/spl-token": "^0.4.9"
},
"devDependencies": {
- "typescript": "^5.7.2"
+ "typescript": "^5.7.2",
+ "vitest": "^3.0.0"
}
}
diff --git a/packages/solana/src/index.ts b/packages/solana/src/index.ts
index 3e26bc9..177b103 100644
--- a/packages/solana/src/index.ts
+++ b/packages/solana/src/index.ts
@@ -14,9 +14,13 @@
*
* Nothing here is implemented yet — every function throws "not implemented".
*/
-import type { Connection, PublicKey } from "@solana/web3.js";
+import { PublicKey } from "@solana/web3.js";
+import type { Connection } from "@solana/web3.js";
+import { TOKEN_PROGRAM_ID, TOKEN_2022_PROGRAM_ID } from "@solana/spl-token";
+import { isKnownValuableMint } from "@pyre/core";
import type {
- TokenAccountDto,
+ ParsedTokenAccount,
+ TokenProgramKind,
BuildCloseEmptyPreview,
BuildBurnPreview,
BurnItem,
@@ -25,17 +29,150 @@ import type {
const NOT_IMPLEMENTED = "not implemented";
/**
- * Parse a wallet's SPL token accounts into classified DTOs.
- *
- * TODO: fetch token accounts via RPC, decode account state (balance, decimals,
- * frozen/delegated, token program), resolve metadata, and hand off to the
- * classifier in `@pyre/core`. Classic SPL only.
+ * Shape of the `account.data.parsed.info` payload returned by the RPC for an
+ * SPL / Token-2022 token account. Fields are typed loosely because the helper
+ * must tolerate malformed entries without throwing.
*/
-export function parseTokenAccounts(
- _connection: Connection,
- _wallet: PublicKey,
-): Promise {
- throw new Error(NOT_IMPLEMENTED);
+interface ParsedTokenAccountInfo {
+ mint?: unknown;
+ /** On-chain owner of the token account (should equal the requested wallet). */
+ owner?: unknown;
+ state?: unknown;
+ delegate?: unknown;
+ tokenAmount?: {
+ amount?: unknown;
+ decimals?: unknown;
+ uiAmount?: unknown;
+ };
+}
+
+/** Coerce an unknown RPC value to a string, or return undefined. */
+function asString(value: unknown): string | undefined {
+ return typeof value === "string" ? value : undefined;
+}
+
+/** Coerce an unknown RPC value to a finite number, or return undefined. */
+function asNumber(value: unknown): number | undefined {
+ return typeof value === "number" && Number.isFinite(value) ? value : undefined;
+}
+
+/**
+ * Map a single RPC `{ pubkey, account }` entry to a {@link ParsedTokenAccount}.
+ * Returns `null` when the entry is malformed (missing/invalid mint, amount, or
+ * decimals) so the caller can skip it without throwing.
+ */
+function mapAccount(
+ entry: unknown,
+ ownerBase58: string,
+ tokenProgram: TokenProgramKind,
+): ParsedTokenAccount | null {
+ if (typeof entry !== "object" || entry === null) return null;
+ const { pubkey, account } = entry as { pubkey?: unknown; account?: unknown };
+
+ // Resolve the ATA address (accept PublicKey-like or string).
+ let ata: string | undefined;
+ if (pubkey instanceof PublicKey) {
+ ata = pubkey.toBase58();
+ } else if (
+ typeof pubkey === "object" &&
+ pubkey !== null &&
+ typeof (pubkey as { toBase58?: unknown }).toBase58 === "function"
+ ) {
+ ata = (pubkey as { toBase58: () => string }).toBase58();
+ } else {
+ ata = asString(pubkey);
+ }
+ if (!ata) return null;
+
+ if (typeof account !== "object" || account === null) return null;
+ const acct = account as { lamports?: unknown; data?: unknown };
+
+ const data = acct.data as { parsed?: { info?: unknown } } | undefined;
+ const info = data?.parsed?.info as ParsedTokenAccountInfo | undefined;
+ if (!info || typeof info !== "object") return null;
+
+ const mint = asString(info.mint);
+ if (!mint) return null;
+
+ // Defense in depth: the RPC already scopes to `owner`, but if the parsed
+ // account reports a different on-chain owner, skip it (never attribute an
+ // account to a wallet that doesn't own it).
+ const accountOwner = asString(info.owner);
+ if (accountOwner !== undefined && accountOwner !== ownerBase58) return null;
+
+ const rawAmount = asString(info.tokenAmount?.amount);
+ const decimals = asNumber(info.tokenAmount?.decimals);
+ if (rawAmount === undefined || decimals === undefined) return null;
+
+ const uiAmount = asNumber(info.tokenAmount?.uiAmount) ?? 0;
+ const lamports = asNumber(acct.lamports) ?? 0;
+ const isFrozen = info.state === "frozen";
+ const isDelegated = Boolean(info.delegate);
+ const isNft = decimals === 0 && rawAmount === "1";
+
+ return {
+ ata,
+ owner: ownerBase58,
+ lamports,
+ mint,
+ tokenProgram,
+ rawAmount,
+ decimals,
+ uiAmount,
+ isFrozen,
+ isDelegated,
+ isNft,
+ isKnownValuable: isKnownValuableMint(mint),
+ usdValue: null,
+ symbol: undefined,
+ name: undefined,
+ };
+}
+
+/**
+ * Parse a wallet's token accounts into {@link ParsedTokenAccount} DTOs.
+ *
+ * Read-only: queries the RPC for both classic SPL Token accounts and Token-2022
+ * accounts owned by `owner`, decodes the parsed account state (balance,
+ * decimals, frozen/delegated flags, NFT heuristic), and tags each with its
+ * owning token program. No metadata enrichment or USD pricing is performed here
+ * (`symbol`/`name` are left `undefined` and `usdValue` is `null`); those are
+ * later phases. Classification itself lives in `@pyre/core`.
+ *
+ * This function is defensive: a single malformed account entry is skipped
+ * rather than throwing, so callers always receive whatever parsed cleanly.
+ *
+ * @param connection A `@solana/web3.js` `Connection`.
+ * @param owner The wallet owner, as a `PublicKey` or base58 string.
+ * @returns The owner's parsed token accounts across both token programs.
+ */
+export async function parseTokenAccounts(
+ connection: Connection,
+ owner: PublicKey | string,
+): Promise {
+ const ownerPk = typeof owner === "string" ? new PublicKey(owner) : owner;
+ const ownerBase58 = ownerPk.toBase58();
+
+ const programs: ReadonlyArray = [
+ [TOKEN_PROGRAM_ID, "spl-token"],
+ [TOKEN_2022_PROGRAM_ID, "token-2022"],
+ ];
+
+ const results: ParsedTokenAccount[] = [];
+
+ for (const [programId, tokenProgram] of programs) {
+ const response = await connection.getParsedTokenAccountsByOwner(ownerPk, {
+ programId,
+ });
+ const value = (response as { value?: unknown } | undefined)?.value;
+ if (!Array.isArray(value)) continue;
+ for (const entry of value) {
+ const mapped = mapAccount(entry, ownerBase58, tokenProgram);
+ if (mapped) results.push(mapped);
+ }
+ }
+
+ return results;
}
/**
diff --git a/packages/solana/src/parse.test.ts b/packages/solana/src/parse.test.ts
new file mode 100644
index 0000000..bba6a47
--- /dev/null
+++ b/packages/solana/src/parse.test.ts
@@ -0,0 +1,163 @@
+import { describe, it, expect } from "vitest";
+import { PublicKey } from "@solana/web3.js";
+import { TOKEN_2022_PROGRAM_ID } from "@solana/spl-token";
+import { parseTokenAccounts } from "./index.js";
+
+const OWNER = "11111111111111111111111111111111";
+const USDC_MINT = "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v";
+
+/** Build a canned RPC entry mimicking getParsedTokenAccountsByOwner output. */
+function entry(opts: {
+ ata: string;
+ mint: string;
+ amount: string;
+ decimals: number;
+ uiAmount: number;
+ state?: string;
+ delegate?: string | null;
+ lamports?: number;
+}) {
+ return {
+ pubkey: new PublicKey(OWNER), // any valid PublicKey; we only assert toBase58 was called
+ account: {
+ lamports: opts.lamports ?? 2039280,
+ owner: new PublicKey(OWNER),
+ data: {
+ parsed: {
+ info: {
+ mint: opts.mint,
+ state: opts.state ?? "initialized",
+ delegate: opts.delegate ?? undefined,
+ tokenAmount: {
+ amount: opts.amount,
+ decimals: opts.decimals,
+ uiAmount: opts.uiAmount,
+ },
+ },
+ type: "account",
+ },
+ program: "spl-token",
+ space: 165,
+ },
+ },
+ };
+}
+
+// Distinct mints so we can find each result by mint.
+const MINT_EMPTY = "Empty111111111111111111111111111111111111111";
+const MINT_FROZEN = "Frozen11111111111111111111111111111111111111";
+const MINT_DELEGATED = "Deleg111111111111111111111111111111111111111";
+const MINT_NFT = "Nft11111111111111111111111111111111111111111";
+const MINT_T22 = "T2222222222222222222222222222222222222222222";
+
+function makeConnection() {
+ return {
+ getParsedTokenAccountsByOwner: async (
+ _owner: PublicKey,
+ cfg: { programId: PublicKey },
+ ) => {
+ if (cfg.programId.equals(TOKEN_2022_PROGRAM_ID)) {
+ return {
+ value: [
+ entry({
+ ata: "ata-t22",
+ mint: MINT_T22,
+ amount: "100",
+ decimals: 2,
+ uiAmount: 1,
+ lamports: 2039280,
+ }),
+ ],
+ };
+ }
+ // Classic SPL program batch.
+ return {
+ value: [
+ entry({ ata: "a", mint: MINT_EMPTY, amount: "0", decimals: 6, uiAmount: 0 }),
+ entry({
+ ata: "b",
+ mint: MINT_FROZEN,
+ amount: "5",
+ decimals: 0,
+ uiAmount: 5,
+ state: "frozen",
+ }),
+ entry({
+ ata: "c",
+ mint: MINT_DELEGATED,
+ amount: "10",
+ decimals: 1,
+ uiAmount: 1,
+ delegate: "SomeDelegatePubkey1111111111111111111111111",
+ }),
+ entry({ ata: "d", mint: MINT_NFT, amount: "1", decimals: 0, uiAmount: 1 }),
+ entry({
+ ata: "e",
+ mint: USDC_MINT,
+ amount: "1000000",
+ decimals: 6,
+ uiAmount: 1,
+ }),
+ // Plain junk entries that must be skipped, not throw.
+ null,
+ { pubkey: undefined, account: undefined },
+ { pubkey: new PublicKey(OWNER), account: { lamports: 1, data: {} } },
+ {
+ pubkey: new PublicKey(OWNER),
+ account: { lamports: 1, data: { parsed: { info: { mint: USDC_MINT } } } },
+ },
+ ],
+ };
+ },
+ };
+}
+
+describe("parseTokenAccounts", () => {
+ it("maps SPL and Token-2022 accounts, skipping junk", async () => {
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
+ const accounts = await parseTokenAccounts(makeConnection() as any, OWNER);
+
+ // 5 valid SPL + 1 valid Token-2022; all junk skipped.
+ expect(accounts).toHaveLength(6);
+
+ const byMint = new Map(accounts.map((a) => [a.mint, a]));
+
+ const empty = byMint.get(MINT_EMPTY)!;
+ expect(empty.tokenProgram).toBe("spl-token");
+ expect(empty.rawAmount).toBe("0");
+ expect(empty.uiAmount).toBe(0);
+ expect(empty.isNft).toBe(false);
+ expect(empty.isKnownValuable).toBe(false);
+ expect(empty.lamports).toBe(2039280);
+ expect(empty.usdValue).toBeNull();
+ expect(empty.symbol).toBeUndefined();
+ expect(empty.owner).toBe(OWNER);
+
+ const frozen = byMint.get(MINT_FROZEN)!;
+ expect(frozen.isFrozen).toBe(true);
+ expect(frozen.isDelegated).toBe(false);
+
+ const delegated = byMint.get(MINT_DELEGATED)!;
+ expect(delegated.isDelegated).toBe(true);
+ expect(delegated.isFrozen).toBe(false);
+
+ const nft = byMint.get(MINT_NFT)!;
+ expect(nft.isNft).toBe(true);
+ expect(nft.decimals).toBe(0);
+ expect(nft.rawAmount).toBe("1");
+
+ const usdc = byMint.get(USDC_MINT)!;
+ expect(usdc.isKnownValuable).toBe(true);
+ expect(usdc.tokenProgram).toBe("spl-token");
+
+ const t22 = byMint.get(MINT_T22)!;
+ expect(t22.tokenProgram).toBe("token-2022");
+ expect(t22.rawAmount).toBe("100");
+ });
+
+ it("accepts a PublicKey owner argument", async () => {
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
+ const accounts = await parseTokenAccounts(makeConnection() as any, new PublicKey(OWNER));
+ expect(accounts.every((a) => a.owner === OWNER)).toBe(true);
+ });
+});
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 47aff33..049d018 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -14,6 +14,12 @@ importers:
apps/api:
dependencies:
+ '@fastify/cors':
+ specifier: ^10.0.1
+ version: 10.1.0
+ '@fastify/rate-limit':
+ specifier: ^10.2.1
+ version: 10.3.0
'@pyre/config':
specifier: workspace:*
version: link:../../packages/config
@@ -26,6 +32,9 @@ importers:
'@pyre/solana':
specifier: workspace:*
version: link:../../packages/solana
+ '@solana/web3.js':
+ specifier: ^1.98.0
+ version: 1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)
bullmq:
specifier: ^5.34.0
version: 5.77.6
@@ -53,13 +62,13 @@ importers:
version: link:../../packages/core
'@solana/wallet-adapter-react':
specifier: ^0.15.39
- version: 0.15.39(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))(fastestsmallesttextencoderdecoder@1.0.22)(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)(typescript@5.9.3)
+ version: 0.15.39(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))(fastestsmallesttextencoderdecoder@1.0.22)(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6))(react@19.2.6)(typescript@5.9.3)
'@solana/wallet-adapter-react-ui':
specifier: ^0.9.39
- version: 0.9.39(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))(fastestsmallesttextencoderdecoder@1.0.22)(react-dom@19.2.6(react@19.2.6))(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)(typescript@5.9.3)
+ version: 0.9.39(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))(fastestsmallesttextencoderdecoder@1.0.22)(react-dom@19.2.6(react@19.2.6))(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6))(react@19.2.6)(typescript@5.9.3)
'@solana/wallet-adapter-wallets':
specifier: ^0.19.38
- version: 0.19.38(@babel/runtime@7.29.7)(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)))(@solana/sysvars@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3))(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))(@types/react@19.2.15)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(ioredis@5.11.0)(react-dom@19.2.6(react@19.2.6))(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)(tslib@2.8.1)(typescript@5.9.3)(utf-8-validate@6.0.6)(ws@8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6))(zod@3.22.4)
+ version: 0.19.38(@babel/runtime@7.29.7)(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)))(@solana/sysvars@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3))(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))(@types/react@19.2.15)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(ioredis@5.11.0)(react-dom@19.2.6(react@19.2.6))(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6))(react@19.2.6)(tslib@2.8.1)(typescript@5.9.3)(ws@8.21.0(bufferutil@4.1.0))(zod@3.22.4)
'@solana/web3.js':
specifier: ^1.98.4
version: 1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)
@@ -131,6 +140,9 @@ importers:
packages/config:
devDependencies:
+ '@types/node':
+ specifier: ^22.10.0
+ version: 22.19.19
typescript:
specifier: ^5.7.2
version: 5.9.3
@@ -140,6 +152,9 @@ importers:
typescript:
specifier: ^5.7.2
version: 5.9.3
+ vitest:
+ specifier: ^3.0.0
+ version: 3.2.4(@types/node@22.19.19)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.48.0)(tsx@4.22.3)(yaml@2.9.0)
packages/db:
dependencies:
@@ -182,6 +197,9 @@ importers:
typescript:
specifier: ^5.7.2
version: 5.9.3
+ vitest:
+ specifier: ^3.0.0
+ version: 3.2.4(@types/node@22.19.19)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.48.0)(tsx@4.22.3)(yaml@2.9.0)
packages:
@@ -272,156 +290,312 @@ packages:
'@emurgo/cardano-serialization-lib-nodejs@13.2.0':
resolution: {integrity: sha512-Bz1zLGEqBQ0BVkqt1OgMxdBOE3BdUWUd7Ly9Ecr/aUwkA8AV1w1XzBMe4xblmJHnB1XXNlPH4SraXCvO+q0Mig==}
+ '@esbuild/aix-ppc64@0.27.7':
+ resolution: {integrity: sha512-EKX3Qwmhz1eMdEJokhALr0YiD0lhQNwDqkPYyPhiSwKrh7/4KRjQc04sZ8db+5DVVnZ1LmbNDI1uAMPEUBnQPg==}
+ engines: {node: '>=18'}
+ cpu: [ppc64]
+ os: [aix]
+
'@esbuild/aix-ppc64@0.28.0':
resolution: {integrity: sha512-lhRUCeuOyJQURhTxl4WkpFTjIsbDayJHih5kZC1giwE+MhIzAb7mEsQMqMf18rHLsrb5qI1tafG20mLxEWcWlA==}
engines: {node: '>=18'}
cpu: [ppc64]
os: [aix]
+ '@esbuild/android-arm64@0.27.7':
+ resolution: {integrity: sha512-62dPZHpIXzvChfvfLJow3q5dDtiNMkwiRzPylSCfriLvZeq0a1bWChrGx/BbUbPwOrsWKMn8idSllklzBy+dgQ==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [android]
+
'@esbuild/android-arm64@0.28.0':
resolution: {integrity: sha512-+WzIXQOSaGs33tLEgYPYe/yQHf0WTU0X42Jca3y8NWMbUVhp7rUnw+vAsRC/QiDrdD31IszMrZy+qwPOPjd+rw==}
engines: {node: '>=18'}
cpu: [arm64]
os: [android]
+ '@esbuild/android-arm@0.27.7':
+ resolution: {integrity: sha512-jbPXvB4Yj2yBV7HUfE2KHe4GJX51QplCN1pGbYjvsyCZbQmies29EoJbkEc+vYuU5o45AfQn37vZlyXy4YJ8RQ==}
+ engines: {node: '>=18'}
+ cpu: [arm]
+ os: [android]
+
'@esbuild/android-arm@0.28.0':
resolution: {integrity: sha512-wqh0ByljabXLKHeWXYLqoJ5jKC4XBaw6Hk08OfMrCRd2nP2ZQ5eleDZC41XHyCNgktBGYMbqnrJKq/K/lzPMSQ==}
engines: {node: '>=18'}
cpu: [arm]
os: [android]
+ '@esbuild/android-x64@0.27.7':
+ resolution: {integrity: sha512-x5VpMODneVDb70PYV2VQOmIUUiBtY3D3mPBG8NxVk5CogneYhkR7MmM3yR/uMdITLrC1ml/NV1rj4bMJuy9MCg==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [android]
+
'@esbuild/android-x64@0.28.0':
resolution: {integrity: sha512-+VJggoaKhk2VNNqVL7f6S189UzShHC/mR9EE8rDdSkdpN0KflSwWY/gWjDrNxxisg8Fp1ZCD9jLMo4m0OUfeUA==}
engines: {node: '>=18'}
cpu: [x64]
os: [android]
+ '@esbuild/darwin-arm64@0.27.7':
+ resolution: {integrity: sha512-5lckdqeuBPlKUwvoCXIgI2D9/ABmPq3Rdp7IfL70393YgaASt7tbju3Ac+ePVi3KDH6N2RqePfHnXkaDtY9fkw==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [darwin]
+
'@esbuild/darwin-arm64@0.28.0':
resolution: {integrity: sha512-0T+A9WZm+bZ84nZBtk1ckYsOvyA3x7e2Acj1KdVfV4/2tdG4fzUp91YHx+GArWLtwqp77pBXVCPn2We7Letr0Q==}
engines: {node: '>=18'}
cpu: [arm64]
os: [darwin]
+ '@esbuild/darwin-x64@0.27.7':
+ resolution: {integrity: sha512-rYnXrKcXuT7Z+WL5K980jVFdvVKhCHhUwid+dDYQpH+qu+TefcomiMAJpIiC2EM3Rjtq0sO3StMV/+3w3MyyqQ==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [darwin]
+
'@esbuild/darwin-x64@0.28.0':
resolution: {integrity: sha512-fyzLm/DLDl/84OCfp2f/XQ4flmORsjU7VKt8HLjvIXChJoFFOIL6pLJPH4Yhd1n1gGFF9mPwtlN5Wf82DZs+LQ==}
engines: {node: '>=18'}
cpu: [x64]
os: [darwin]
+ '@esbuild/freebsd-arm64@0.27.7':
+ resolution: {integrity: sha512-B48PqeCsEgOtzME2GbNM2roU29AMTuOIN91dsMO30t+Ydis3z/3Ngoj5hhnsOSSwNzS+6JppqWsuhTp6E82l2w==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [freebsd]
+
'@esbuild/freebsd-arm64@0.28.0':
resolution: {integrity: sha512-l9GeW5UZBT9k9brBYI+0WDffcRxgHQD8ShN2Ur4xWq/NFzUKm3k5lsH4PdaRgb2w7mI9u61nr2gI2mLI27Nh3Q==}
engines: {node: '>=18'}
cpu: [arm64]
os: [freebsd]
+ '@esbuild/freebsd-x64@0.27.7':
+ resolution: {integrity: sha512-jOBDK5XEjA4m5IJK3bpAQF9/Lelu/Z9ZcdhTRLf4cajlB+8VEhFFRjWgfy3M1O4rO2GQ/b2dLwCUGpiF/eATNQ==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [freebsd]
+
'@esbuild/freebsd-x64@0.28.0':
resolution: {integrity: sha512-BXoQai/A0wPO6Es3yFJ7APCiKGc1tdAEOgeTNy3SsB491S3aHn4S4r3e976eUnPdU+NbdtmBuLncYir2tMU9Nw==}
engines: {node: '>=18'}
cpu: [x64]
os: [freebsd]
+ '@esbuild/linux-arm64@0.27.7':
+ resolution: {integrity: sha512-RZPHBoxXuNnPQO9rvjh5jdkRmVizktkT7TCDkDmQ0W2SwHInKCAV95GRuvdSvA7w4VMwfCjUiPwDi0ZO6Nfe9A==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [linux]
+
'@esbuild/linux-arm64@0.28.0':
resolution: {integrity: sha512-RVyzfb3FWsGA55n6WY0MEIEPURL1FcbhFE6BffZEMEekfCzCIMtB5yyDcFnVbTnwk+CLAgTujmV/Lgvih56W+A==}
engines: {node: '>=18'}
cpu: [arm64]
os: [linux]
+ '@esbuild/linux-arm@0.27.7':
+ resolution: {integrity: sha512-RkT/YXYBTSULo3+af8Ib0ykH8u2MBh57o7q/DAs3lTJlyVQkgQvlrPTnjIzzRPQyavxtPtfg0EopvDyIt0j1rA==}
+ engines: {node: '>=18'}
+ cpu: [arm]
+ os: [linux]
+
'@esbuild/linux-arm@0.28.0':
resolution: {integrity: sha512-CjaaREJagqJp7iTaNQjjidaNbCKYcd4IDkzbwwxtSvjI7NZm79qiHc8HqciMddQ6CKvJT6aBd8lO9kN/ZudLlw==}
engines: {node: '>=18'}
cpu: [arm]
os: [linux]
+ '@esbuild/linux-ia32@0.27.7':
+ resolution: {integrity: sha512-GA48aKNkyQDbd3KtkplYWT102C5sn/EZTY4XROkxONgruHPU72l+gW+FfF8tf2cFjeHaRbWpOYa/uRBz/Xq1Pg==}
+ engines: {node: '>=18'}
+ cpu: [ia32]
+ os: [linux]
+
'@esbuild/linux-ia32@0.28.0':
resolution: {integrity: sha512-KBnSTt1kxl9x70q+ydterVdl+Cn0H18ngRMRCEQfrbqdUuntQQ0LoMZv47uB97NljZFzY6HcfqEZ2SAyIUTQBQ==}
engines: {node: '>=18'}
cpu: [ia32]
os: [linux]
+ '@esbuild/linux-loong64@0.27.7':
+ resolution: {integrity: sha512-a4POruNM2oWsD4WKvBSEKGIiWQF8fZOAsycHOt6JBpZ+JN2n2JH9WAv56SOyu9X5IqAjqSIPTaJkqN8F7XOQ5Q==}
+ engines: {node: '>=18'}
+ cpu: [loong64]
+ os: [linux]
+
'@esbuild/linux-loong64@0.28.0':
resolution: {integrity: sha512-zpSlUce1mnxzgBADvxKXX5sl8aYQHo2ezvMNI8I0lbblJtp8V4odlm3Yzlj7gPyt3T8ReksE6bK+pT3WD+aJRg==}
engines: {node: '>=18'}
cpu: [loong64]
os: [linux]
+ '@esbuild/linux-mips64el@0.27.7':
+ resolution: {integrity: sha512-KabT5I6StirGfIz0FMgl1I+R1H73Gp0ofL9A3nG3i/cYFJzKHhouBV5VWK1CSgKvVaG4q1RNpCTR2LuTVB3fIw==}
+ engines: {node: '>=18'}
+ cpu: [mips64el]
+ os: [linux]
+
'@esbuild/linux-mips64el@0.28.0':
resolution: {integrity: sha512-2jIfP6mmjkdmeTlsX/9vmdmhBmKADrWqN7zcdtHIeNSCH1SqIoNI63cYsjQR8J+wGa4Y5izRcSHSm8K3QWmk3w==}
engines: {node: '>=18'}
cpu: [mips64el]
os: [linux]
+ '@esbuild/linux-ppc64@0.27.7':
+ resolution: {integrity: sha512-gRsL4x6wsGHGRqhtI+ifpN/vpOFTQtnbsupUF5R5YTAg+y/lKelYR1hXbnBdzDjGbMYjVJLJTd2OFmMewAgwlQ==}
+ engines: {node: '>=18'}
+ cpu: [ppc64]
+ os: [linux]
+
'@esbuild/linux-ppc64@0.28.0':
resolution: {integrity: sha512-bc0FE9wWeC0WBm49IQMPSPILRocGTQt3j5KPCA8os6VprfuJ7KD+5PzESSrJ6GmPIPJK965ZJHTUlSA6GNYEhg==}
engines: {node: '>=18'}
cpu: [ppc64]
os: [linux]
+ '@esbuild/linux-riscv64@0.27.7':
+ resolution: {integrity: sha512-hL25LbxO1QOngGzu2U5xeXtxXcW+/GvMN3ejANqXkxZ/opySAZMrc+9LY/WyjAan41unrR3YrmtTsUpwT66InQ==}
+ engines: {node: '>=18'}
+ cpu: [riscv64]
+ os: [linux]
+
'@esbuild/linux-riscv64@0.28.0':
resolution: {integrity: sha512-SQPZOwoTTT/HXFXQJG/vBX8sOFagGqvZyXcgLA3NhIqcBv1BJU1d46c0rGcrij2B56Z2rNiSLaZOYW5cUk7yLQ==}
engines: {node: '>=18'}
cpu: [riscv64]
os: [linux]
+ '@esbuild/linux-s390x@0.27.7':
+ resolution: {integrity: sha512-2k8go8Ycu1Kb46vEelhu1vqEP+UeRVj2zY1pSuPdgvbd5ykAw82Lrro28vXUrRmzEsUV0NzCf54yARIK8r0fdw==}
+ engines: {node: '>=18'}
+ cpu: [s390x]
+ os: [linux]
+
'@esbuild/linux-s390x@0.28.0':
resolution: {integrity: sha512-SCfR0HN8CEEjnYnySJTd2cw0k9OHB/YFzt5zgJEwa+wL/T/raGWYMBqwDNAC6dqFKmJYZoQBRfHjgwLHGSrn3Q==}
engines: {node: '>=18'}
cpu: [s390x]
os: [linux]
+ '@esbuild/linux-x64@0.27.7':
+ resolution: {integrity: sha512-hzznmADPt+OmsYzw1EE33ccA+HPdIqiCRq7cQeL1Jlq2gb1+OyWBkMCrYGBJ+sxVzve2ZJEVeePbLM2iEIZSxA==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [linux]
+
'@esbuild/linux-x64@0.28.0':
resolution: {integrity: sha512-us0dSb9iFxIi8srnpl931Nvs65it/Jd2a2K3qs7fz2WfGPHqzfzZTfec7oxZJRNPXPnNYZtanmRc4AL/JwVzHQ==}
engines: {node: '>=18'}
cpu: [x64]
os: [linux]
+ '@esbuild/netbsd-arm64@0.27.7':
+ resolution: {integrity: sha512-b6pqtrQdigZBwZxAn1UpazEisvwaIDvdbMbmrly7cDTMFnw/+3lVxxCTGOrkPVnsYIosJJXAsILG9XcQS+Yu6w==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [netbsd]
+
'@esbuild/netbsd-arm64@0.28.0':
resolution: {integrity: sha512-CR/RYotgtCKwtftMwJlUU7xCVNg3lMYZ0RzTmAHSfLCXw3NtZtNpswLEj/Kkf6kEL3Gw+BpOekRX0BYCtklhUw==}
engines: {node: '>=18'}
cpu: [arm64]
os: [netbsd]
+ '@esbuild/netbsd-x64@0.27.7':
+ resolution: {integrity: sha512-OfatkLojr6U+WN5EDYuoQhtM+1xco+/6FSzJJnuWiUw5eVcicbyK3dq5EeV/QHT1uy6GoDhGbFpprUiHUYggrw==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [netbsd]
+
'@esbuild/netbsd-x64@0.28.0':
resolution: {integrity: sha512-nU1yhmYutL+fQ71Kxnhg8uEOdC0pwEW9entHykTgEbna2pw2dkbFSMeqjjyHZoCmt8SBkOSvV+yNmm94aUrrqw==}
engines: {node: '>=18'}
cpu: [x64]
os: [netbsd]
+ '@esbuild/openbsd-arm64@0.27.7':
+ resolution: {integrity: sha512-AFuojMQTxAz75Fo8idVcqoQWEHIXFRbOc1TrVcFSgCZtQfSdc1RXgB3tjOn/krRHENUB4j00bfGjyl2mJrU37A==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [openbsd]
+
'@esbuild/openbsd-arm64@0.28.0':
resolution: {integrity: sha512-cXb5vApOsRsxsEl4mcZ1XY3D4DzcoMxR/nnc4IyqYs0rTI8ZKmW6kyyg+11Z8yvgMfAEldKzP7AdP64HnSC/6g==}
engines: {node: '>=18'}
cpu: [arm64]
os: [openbsd]
+ '@esbuild/openbsd-x64@0.27.7':
+ resolution: {integrity: sha512-+A1NJmfM8WNDv5CLVQYJ5PshuRm/4cI6WMZRg1by1GwPIQPCTs1GLEUHwiiQGT5zDdyLiRM/l1G0Pv54gvtKIg==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [openbsd]
+
'@esbuild/openbsd-x64@0.28.0':
resolution: {integrity: sha512-8wZM2qqtv9UP3mzy7HiGYNH/zjTA355mpeuA+859TyR+e+Tc08IHYpLJuMsfpDJwoLo1ikIJI8jC3GFjnRClzA==}
engines: {node: '>=18'}
cpu: [x64]
os: [openbsd]
+ '@esbuild/openharmony-arm64@0.27.7':
+ resolution: {integrity: sha512-+KrvYb/C8zA9CU/g0sR6w2RBw7IGc5J2BPnc3dYc5VJxHCSF1yNMxTV5LQ7GuKteQXZtspjFbiuW5/dOj7H4Yw==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [openharmony]
+
'@esbuild/openharmony-arm64@0.28.0':
resolution: {integrity: sha512-FLGfyizszcef5C3YtoyQDACyg95+dndv79i2EekILBofh5wpCa1KuBqOWKrEHZg3zrL3t5ouE5jgr94vA+Wb2w==}
engines: {node: '>=18'}
cpu: [arm64]
os: [openharmony]
+ '@esbuild/sunos-x64@0.27.7':
+ resolution: {integrity: sha512-ikktIhFBzQNt/QDyOL580ti9+5mL/YZeUPKU2ivGtGjdTYoqz6jObj6nOMfhASpS4GU4Q/Clh1QtxWAvcYKamA==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [sunos]
+
'@esbuild/sunos-x64@0.28.0':
resolution: {integrity: sha512-1ZgjUoEdHZZl/YlV76TSCz9Hqj9h9YmMGAgAPYd+q4SicWNX3G5GCyx9uhQWSLcbvPW8Ni7lj4gDa1T40akdlw==}
engines: {node: '>=18'}
cpu: [x64]
os: [sunos]
+ '@esbuild/win32-arm64@0.27.7':
+ resolution: {integrity: sha512-7yRhbHvPqSpRUV7Q20VuDwbjW5kIMwTHpptuUzV+AA46kiPze5Z7qgt6CLCK3pWFrHeNfDd1VKgyP4O+ng17CA==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [win32]
+
'@esbuild/win32-arm64@0.28.0':
resolution: {integrity: sha512-Q9StnDmQ/enxnpxCCLSg0oo4+34B9TdXpuyPeTedN/6+iXBJ4J+zwfQI28u/Jl40nOYAxGoNi7mFP40RUtkmUA==}
engines: {node: '>=18'}
cpu: [arm64]
os: [win32]
+ '@esbuild/win32-ia32@0.27.7':
+ resolution: {integrity: sha512-SmwKXe6VHIyZYbBLJrhOoCJRB/Z1tckzmgTLfFYOfpMAx63BJEaL9ExI8x7v0oAO3Zh6D/Oi1gVxEYr5oUCFhw==}
+ engines: {node: '>=18'}
+ cpu: [ia32]
+ os: [win32]
+
'@esbuild/win32-ia32@0.28.0':
resolution: {integrity: sha512-zF3ag/gfiCe6U2iczcRzSYJKH1DCI+ByzSENHlM2FcDbEeo5Zd2C86Aq0tKUYAJJ1obRP84ymxIAksZUcdztHA==}
engines: {node: '>=18'}
cpu: [ia32]
os: [win32]
+ '@esbuild/win32-x64@0.27.7':
+ resolution: {integrity: sha512-56hiAJPhwQ1R4i+21FVF7V8kSD5zZTdHcVuRFMW0hn753vVfQN8xlx4uOPT4xoGH0Z/oVATuR82AiqSTDIpaHg==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [win32]
+
'@esbuild/win32-x64@0.28.0':
resolution: {integrity: sha512-pEl1bO9mfAmIC+tW5btTmrKaujg3zGtUmWNdCw/xs70FBjwAL3o9OEKNHvNmnyylD6ubxUERiEhdsL0xBQ9efw==}
engines: {node: '>=18'}
@@ -456,6 +630,9 @@ packages:
'@fastify/ajv-compiler@4.0.5':
resolution: {integrity: sha512-KoWKW+MhvfTRWL4qrhUwAAZoaChluo0m0vbiJlGMt2GXvL4LVPQEjt8kSpHI3IBq5Rez8fg+XeH3cneztq+C7A==}
+ '@fastify/cors@10.1.0':
+ resolution: {integrity: sha512-MZyBCBJtII60CU9Xme/iE4aEy8G7QpzGR8zkdXZkDFt7ElEMachbE61tfhAG/bvSaULlqlf0huMT12T7iqEmdQ==}
+
'@fastify/error@4.2.0':
resolution: {integrity: sha512-RSo3sVDXfHskiBZKBPRgnQTtIqpi/7zhJOEmAxCiBcM7d0uwdGdxLlsCaLzGs8v8NnxIRlfG0N51p5yFaOentQ==}
@@ -471,6 +648,9 @@ packages:
'@fastify/proxy-addr@5.1.0':
resolution: {integrity: sha512-INS+6gh91cLUjB+PVHfu1UqcB76Sqtpyp7bnL+FYojhjygvOPA9ctiD/JDKsyD9Xgu4hUhCSJBPig/w7duNajw==}
+ '@fastify/rate-limit@10.3.0':
+ resolution: {integrity: sha512-eIGkG9XKQs0nyynatApA3EVrojHOuq4l6fhB4eeCk4PIOeadvOJz9/4w3vGI44Go17uaXOWEcPkaD8kuKm7g6Q==}
+
'@fivebinaries/coin-selection@3.0.0':
resolution: {integrity: sha512-h25Pn1ZA7oqQBQDodGAgIsQt66T2wDge9onBKNqE66WNWL0KJiKJbpij8YOLo5AAlEIg5IS7EB1QjBgDOIg6DQ==}
@@ -715,6 +895,10 @@ packages:
'@lit/reactive-element@2.1.2':
resolution: {integrity: sha512-pbCDiVMnne1lYUIaYNN5wrwQXDtHaYtg7YEFPeW+hws6U47WeFvISGUWekPGKWOP1ygrs0ef0o1VJMk1exos5A==}
+ '@lukeed/ms@2.0.2':
+ resolution: {integrity: sha512-9I2Zn6+NJLfaGoz9jN3lpwDgAYvfGeNYdbAIjJOqzs4Tpc+VU3Jqq4IofSUBKajiDS8k9fZIg18/z13mpk1bsA==}
+ engines: {node: '>=8'}
+
'@mobily/ts-belt@3.13.1':
resolution: {integrity: sha512-K5KqIhPI/EoCTbA6CGbrenM9s41OouyK8A03fGJJcla/zKucsgLbz8HNbeseoLarRPgyWJsUyCYqFhI7t3Ra9Q==}
engines: {node: '>= 10.*'}
@@ -1002,6 +1186,144 @@ packages:
'@reown/appkit@1.7.2':
resolution: {integrity: sha512-oo/evAyVxwc33i8ZNQ0+A/VE6vyTyzL3NBJmAe3I4vobgQeiobxMM0boKyLRMMbJggPn8DtoAAyG4GfpKaUPzQ==}
+ '@rollup/rollup-android-arm-eabi@4.60.4':
+ resolution: {integrity: sha512-F5QXMSiFebS9hKZj02XhWLLnRpJ3B3AROP0tWbFBSj+6kCbg5m9j5JoHKd4mmSVy5mS/IMQloYgYxCuJC0fxEQ==}
+ cpu: [arm]
+ os: [android]
+
+ '@rollup/rollup-android-arm64@4.60.4':
+ resolution: {integrity: sha512-GxxTKApUpzRhof7poWvCJHRF51C67u1R7D6DiluBE8wKU1u5GWE8t+v81JvJYtbawoBFX1hLv5Ei4eVjkWokaw==}
+ cpu: [arm64]
+ os: [android]
+
+ '@rollup/rollup-darwin-arm64@4.60.4':
+ resolution: {integrity: sha512-tua0TaJxMOB1R0V0RS1jFZ/RpURFDJIOR2A6jWwQeawuFyS4gBW+rntLRaQd0EQ4bd6Vp44Z2rXW+YYDBsj6IA==}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@rollup/rollup-darwin-x64@4.60.4':
+ resolution: {integrity: sha512-CSKq7MsP+5PFIcydhAiR1K0UhEI1A2jWXVKHPCBZ151yOutENwvnPocgVHkivu2kviURtCEB6zUQw0vs8RrhMg==}
+ cpu: [x64]
+ os: [darwin]
+
+ '@rollup/rollup-freebsd-arm64@4.60.4':
+ resolution: {integrity: sha512-+O8OkVdyvXMtJEciu2wS/pzm1IxntEEQx3z5TAVy4l32G0etZn+RsA48ARRrFm6Ri8fvqPQfgrvNxSjKAbnd3g==}
+ cpu: [arm64]
+ os: [freebsd]
+
+ '@rollup/rollup-freebsd-x64@4.60.4':
+ resolution: {integrity: sha512-Iw3oMskH3AfNuhU0MSN7vNbdi4me/NiYo2azqPz/Le16zHSa+3RRmliCMWWQmh4lcndccU40xcJuTYJZxNo/lw==}
+ cpu: [x64]
+ os: [freebsd]
+
+ '@rollup/rollup-linux-arm-gnueabihf@4.60.4':
+ resolution: {integrity: sha512-EIPRXTVQpHyF8WOo219AD2yEltPehLTcTMz2fn6JsatLYSzQf00hj3rulF+yauOlF9/FtM2WpkT/hJh/KJFGhA==}
+ cpu: [arm]
+ os: [linux]
+ libc: [glibc]
+
+ '@rollup/rollup-linux-arm-musleabihf@4.60.4':
+ resolution: {integrity: sha512-J3Yh9PzzF1Ovah2At+lHiGQdsYgArxBbXv/zHfSyaiFQEqvNv7DcW98pCrmdjCZBrqBiKrKKe2V+aaSGWuBe/w==}
+ cpu: [arm]
+ os: [linux]
+ libc: [musl]
+
+ '@rollup/rollup-linux-arm64-gnu@4.60.4':
+ resolution: {integrity: sha512-BFDEZMYfUvLn37ONE1yMBojPxnMlTFsdyNoqncT0qFq1mAfllL+ATMMJd8TeuVMiX84s1KbcxcZbXInmcO2mRg==}
+ cpu: [arm64]
+ os: [linux]
+ libc: [glibc]
+
+ '@rollup/rollup-linux-arm64-musl@4.60.4':
+ resolution: {integrity: sha512-pc9EYOSlOgdQ2uPl1o9PF6/kLSgaUosia7gOuS8mB69IxJvlclko1MECXysjs5ryez1/5zjYqx3+xYU0TU6R1A==}
+ cpu: [arm64]
+ os: [linux]
+ libc: [musl]
+
+ '@rollup/rollup-linux-loong64-gnu@4.60.4':
+ resolution: {integrity: sha512-NxnomyxYerDh5n4iLrNa+sH+Z+U4BMEE46V2PgQ/hoB909i8gV1M5wPojWg9fk1jWpO3IQnOs20K4wyZuFLEFQ==}
+ cpu: [loong64]
+ os: [linux]
+ libc: [glibc]
+
+ '@rollup/rollup-linux-loong64-musl@4.60.4':
+ resolution: {integrity: sha512-nbJnQ8a3z1mtmrwImCYhc6BGpThAyYVRQxw9uKSKG4wR6aAYno9sVjJ0zaZcW9BPJX1GbrDPf+SvdWjgTuDmnw==}
+ cpu: [loong64]
+ os: [linux]
+ libc: [musl]
+
+ '@rollup/rollup-linux-ppc64-gnu@4.60.4':
+ resolution: {integrity: sha512-2EU6acNrQLd8tYvo/LXW535wupT3m6fo7HKo6lr7ktQoItxTyOL1ZCR/GfGCuXl2vR+zmfI6eRXkSemafv+iVg==}
+ cpu: [ppc64]
+ os: [linux]
+ libc: [glibc]
+
+ '@rollup/rollup-linux-ppc64-musl@4.60.4':
+ resolution: {integrity: sha512-WeBtoMuaMxiiIrO2IYP3xs6GMWkJP2C0EoT8beTLkUPmzV1i/UcOSVw1d5r9KBODtHKilG5yFxsGRnBbK3wJ4A==}
+ cpu: [ppc64]
+ os: [linux]
+ libc: [musl]
+
+ '@rollup/rollup-linux-riscv64-gnu@4.60.4':
+ resolution: {integrity: sha512-FJHFfqpKUI3A10WrWKiFbBZ7yVbGT4q4B5o1qKFFojqpaYoh9LrQgqWCmmcxQzVSXYtyB5bzkXrYzlHTs21MYA==}
+ cpu: [riscv64]
+ os: [linux]
+ libc: [glibc]
+
+ '@rollup/rollup-linux-riscv64-musl@4.60.4':
+ resolution: {integrity: sha512-mcEl6CUT5IAUmQf1m9FYSmVqCJlpQ8r8eyftFUHG8i9OhY7BkBXSUdnLH5DOf0wCOjcP9v/QO93zpmF1SptCCw==}
+ cpu: [riscv64]
+ os: [linux]
+ libc: [musl]
+
+ '@rollup/rollup-linux-s390x-gnu@4.60.4':
+ resolution: {integrity: sha512-ynt3JxVd2w2buzoKDWIyiV1pJW93xlQic1THVLXilz429oijRpSHivZAgp65KBu+cMcgf1eVVjdnTLvPxgCuoQ==}
+ cpu: [s390x]
+ os: [linux]
+ libc: [glibc]
+
+ '@rollup/rollup-linux-x64-gnu@4.60.4':
+ resolution: {integrity: sha512-Boiz5+MsaROEWDf+GGEwF8VMHGhlUoQMtIPjOgA5fv4osupqTVnJteQNKJwUcnUog2G55jYXH7KZFFiJe0TEzQ==}
+ cpu: [x64]
+ os: [linux]
+ libc: [glibc]
+
+ '@rollup/rollup-linux-x64-musl@4.60.4':
+ resolution: {integrity: sha512-+qfSY27qIrFfI/Hom04KYFw3GKZSGU4lXus51wsb5EuySfFlWRwjkKWoE9emgRw/ukoT4Udsj4W/+xxG8VbPKg==}
+ cpu: [x64]
+ os: [linux]
+ libc: [musl]
+
+ '@rollup/rollup-openbsd-x64@4.60.4':
+ resolution: {integrity: sha512-VpTfOPHgVXEBeeR8hZ2O0F3aSso+JDWqTWmTmzcQKted54IAdUVbxE+j/MVxUsKa8L20HJhv3vUezVPoquqWjA==}
+ cpu: [x64]
+ os: [openbsd]
+
+ '@rollup/rollup-openharmony-arm64@4.60.4':
+ resolution: {integrity: sha512-IPOsh5aRYuLv/nkU51X10Bf75Bsf6+gZdx1X+QP5QM6lIJFHHqbHLG0uJn/hWthzo13UAc2umiUorqZy3axoZg==}
+ cpu: [arm64]
+ os: [openharmony]
+
+ '@rollup/rollup-win32-arm64-msvc@4.60.4':
+ resolution: {integrity: sha512-4QzE9E81OohJ/HKzHhsqU+zcYYojVOXlFMs1DdyMT6qXl/niOH7AVElmmEdUNHHS/oRkc++d5k6Vy85zFs0DEw==}
+ cpu: [arm64]
+ os: [win32]
+
+ '@rollup/rollup-win32-ia32-msvc@4.60.4':
+ resolution: {integrity: sha512-zTPgT1YuHHcd+Tmx7h8aml0FWFVelV5N54oHow9SLj+GfoDy/huQ+UV396N/C7KpMDMiPspRktzM1/0r1usYEA==}
+ cpu: [ia32]
+ os: [win32]
+
+ '@rollup/rollup-win32-x64-gnu@4.60.4':
+ resolution: {integrity: sha512-DRS4G7mi9lJxqEDezIkKCaUIKCrLUUDCUaCsTPCi/rtqaC6D/jjwslMQyiDU50Ka0JKpeXeRBFBAXwArY52vBw==}
+ cpu: [x64]
+ os: [win32]
+
+ '@rollup/rollup-win32-x64-msvc@4.60.4':
+ resolution: {integrity: sha512-QVTUovf40zgTqlFVrKA1uXMVvU2QWEFWfAH8Wdc48IxLvrJMQVMBRjuQyUpzZCDkakImib9eVazbWlC6ksWtJw==}
+ cpu: [x64]
+ os: [win32]
+
'@scure/base@1.1.9':
resolution: {integrity: sha512-8YKhl8GHiNI/pU2VMaofa2Tor7PJRAjwQLBBuilkJ9L5+13yVbC7JO/wS7piioAvPSwR3JKM1IJ/u4xQzbcXKg==}
@@ -1967,9 +2289,21 @@ packages:
peerDependencies:
tslib: ^2.6.2
+ '@types/chai@5.2.3':
+ resolution: {integrity: sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==}
+
'@types/connect@3.4.38':
resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==}
+ '@types/deep-eql@4.0.2':
+ resolution: {integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==}
+
+ '@types/estree@1.0.8':
+ resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==}
+
+ '@types/estree@1.0.9':
+ resolution: {integrity: sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==}
+
'@types/istanbul-lib-coverage@2.0.6':
resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==}
@@ -2023,6 +2357,35 @@ packages:
'@types/yargs@17.0.35':
resolution: {integrity: sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg==}
+ '@vitest/expect@3.2.4':
+ resolution: {integrity: sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==}
+
+ '@vitest/mocker@3.2.4':
+ resolution: {integrity: sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==}
+ peerDependencies:
+ msw: ^2.4.9
+ vite: ^5.0.0 || ^6.0.0 || ^7.0.0-0
+ peerDependenciesMeta:
+ msw:
+ optional: true
+ vite:
+ optional: true
+
+ '@vitest/pretty-format@3.2.4':
+ resolution: {integrity: sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==}
+
+ '@vitest/runner@3.2.4':
+ resolution: {integrity: sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==}
+
+ '@vitest/snapshot@3.2.4':
+ resolution: {integrity: sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==}
+
+ '@vitest/spy@3.2.4':
+ resolution: {integrity: sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==}
+
+ '@vitest/utils@3.2.4':
+ resolution: {integrity: sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==}
+
'@wallet-standard/app@1.1.0':
resolution: {integrity: sha512-3CijvrO9utx598kjr45hTbbeeykQrQfKmSnxeWOgU25TOEpvcipD/bYDQWIqUv1Oc6KK4YStokSMu/FBNecGUQ==}
engines: {node: '>=16'}
@@ -2239,6 +2602,10 @@ packages:
assert@2.1.0:
resolution: {integrity: sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw==}
+ assertion-error@2.0.1:
+ resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==}
+ engines: {node: '>=12'}
+
async-mutex@0.5.0:
resolution: {integrity: sha512-1A94B18jkJ3DYq284ohPxoXbfTA5HsQ7/Mf4DEhcyLx3Bz27Rh59iScbB6EPiP+B+joue6YCxcMXSbFC1tZKwA==}
@@ -2407,6 +2774,10 @@ packages:
redis:
optional: true
+ cac@6.7.14:
+ resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==}
+ engines: {node: '>=8'}
+
call-bind-apply-helpers@1.0.2:
resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==}
engines: {node: '>= 0.4'}
@@ -2440,6 +2811,10 @@ packages:
resolution: {integrity: sha512-exQDevYd7ZQLP4moMQcZkKCVZsXLAtUSflObr3xTh4xzFIv/xBCdvCd6L259kQOUP2kcTC0jvC6PpZIf/WmRXA==}
engines: {node: '>=20'}
+ chai@5.3.3:
+ resolution: {integrity: sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw==}
+ engines: {node: '>=18'}
+
chalk@4.1.2:
resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
engines: {node: '>=10'}
@@ -2448,6 +2823,10 @@ packages:
resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==}
engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
+ check-error@2.1.3:
+ resolution: {integrity: sha512-PAJdDJusoxnwm1VwW07VWwUN1sl7smmC3OKggvndJFadxxDRyFJBX/ggnu/KE4kQAB7a3Dp8f/YXC1FlUprWmA==}
+ engines: {node: '>= 16'}
+
chokidar@5.0.0:
resolution: {integrity: sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==}
engines: {node: '>= 20.19.0'}
@@ -2609,6 +2988,10 @@ packages:
resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==}
engines: {node: '>=0.10'}
+ deep-eql@5.0.2:
+ resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==}
+ engines: {node: '>=6'}
+
define-data-property@1.1.4:
resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==}
engines: {node: '>= 0.4'}
@@ -2732,6 +3115,9 @@ packages:
resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
engines: {node: '>= 0.4'}
+ es-module-lexer@1.7.0:
+ resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==}
+
es-object-atoms@1.1.2:
resolution: {integrity: sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==}
engines: {node: '>= 0.4'}
@@ -2749,6 +3135,11 @@ packages:
es6-promisify@5.0.0:
resolution: {integrity: sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==}
+ esbuild@0.27.7:
+ resolution: {integrity: sha512-IxpibTjyVnmrIQo5aqNpCgoACA/dTKLTlhMHihVHhdkxKyPO1uBBthumT0rdHmcsk9uMonIWS0m4FljWzILh3w==}
+ engines: {node: '>=18'}
+ hasBin: true
+
esbuild@0.28.0:
resolution: {integrity: sha512-sNR9MHpXSUV/XB4zmsFKN+QgVG82Cc7+/aaxJ8Adi8hyOac+EXptIp45QBPaVyX3N70664wRbTcLTOemCAnyqw==}
engines: {node: '>=18'}
@@ -2765,6 +3156,9 @@ packages:
resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
engines: {node: '>=10'}
+ estree-walker@3.0.3:
+ resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
+
etag@1.8.1:
resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==}
engines: {node: '>= 0.6'}
@@ -2805,6 +3199,10 @@ packages:
exenv@1.2.2:
resolution: {integrity: sha512-Z+ktTxTwv9ILfgKCk32OX3n/doe+OcLTRtqK9pcL+JsP3J1/VW8Uvl4ZjLlKqeW4rzK4oesDOGMEMRIZqtP4Iw==}
+ expect-type@1.3.0:
+ resolution: {integrity: sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==}
+ engines: {node: '>=12.0.0'}
+
exponential-backoff@3.1.3:
resolution: {integrity: sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA==}
@@ -2843,6 +3241,9 @@ packages:
fastestsmallesttextencoderdecoder@1.0.22:
resolution: {integrity: sha512-Pb8d48e+oIuY4MaM64Cd7OW1gt4nxCHs7/ddPPZ/Ic3sg8yVGM7O9wDvZ7us6ScaUupzM+pfBolwtYhN1IxBIw==}
+ fastify-plugin@5.1.0:
+ resolution: {integrity: sha512-FAIDA8eovSt5qcDgcBvDuX/v0Cjz0ohGhENZ/wpc3y+oZCY2afZ9Baqql3g/lC+OHRnciQol4ww7tuthOb9idw==}
+
fastify@5.8.5:
resolution: {integrity: sha512-Yqptv59pQzPgQUSIm87hMqHJmdkb1+GPxdE6vW6FRyVE9G86mt7rOghitiU4JHRaTyDUk9pfeKmDeu70lAwM4Q==}
@@ -3169,6 +3570,9 @@ packages:
js-tokens@4.0.0:
resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
+ js-tokens@9.0.1:
+ resolution: {integrity: sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==}
+
jsbi@3.2.5:
resolution: {integrity: sha512-aBE4n43IPvjaddScbvWRA2YlTzKEynHzu7MqOyTipdHucf/VxS63ViCjxYRg86M8Rxwbt/GfzHl1kKERkt45fQ==}
@@ -3347,6 +3751,9 @@ packages:
resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
hasBin: true
+ loupe@3.2.1:
+ resolution: {integrity: sha512-CdzqowRJCeLU72bHvWqwRBBlLcMEtIvGrlvef74kMnV2AolS9Y8xUv1I0U/MNAWMhBlKIoyuEgoJ0t/bbwHbLQ==}
+
lru-cache@11.5.1:
resolution: {integrity: sha512-RPimw/7aMdv2oqRrxKwvZXcPfwBrn/JZ2xYcY9Hus/6LaS3VOAKVWKWgNLCFSiOm1ESXinjsDlidVU7JlnCN2A==}
engines: {node: 20 || >=22}
@@ -3482,6 +3889,9 @@ packages:
engines: {node: '>=10'}
hasBin: true
+ mnemonist@0.40.0:
+ resolution: {integrity: sha512-kdd8AFNig2AD5Rkih7EPCXhu/iMvwevQFX/uEiGhZyPZi7fHqOoF4V4kHLpCfysxXMgQ4B52kdPMCwARshKvEg==}
+
ms@2.0.0:
resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==}
@@ -3602,6 +4012,9 @@ packages:
resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==}
engines: {node: '>= 0.4'}
+ obliterator@2.0.5:
+ resolution: {integrity: sha512-42CPE9AhahZRsMNslczq0ctAEtqk8Eka26QofnqC346BZdHDySk3LWka23LI7ULIw11NmltpiLagIq8gBozxTw==}
+
oblivious-set@1.4.0:
resolution: {integrity: sha512-szyd0ou0T8nsAqHtprRcP3WidfsN1TnAR5yWXf2mFCEr5ek3LEOkT6EZ/92Xfs74HIdyhG5WkGxIssMU0jBaeg==}
engines: {node: '>=16'}
@@ -3675,6 +4088,13 @@ packages:
resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
engines: {node: '>=8'}
+ pathe@2.0.3:
+ resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==}
+
+ pathval@2.0.1:
+ resolution: {integrity: sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==}
+ engines: {node: '>= 14.16'}
+
pbkdf2@3.1.6:
resolution: {integrity: sha512-BT6eelPB1EyGHo8pC0o9Bl6k6SYVhKO1jEbd3lcTrtr7XHdjP8BW1YpfCV3G9Kwkxgattk+S5q2/RvuttCsS1g==}
engines: {node: '>= 0.10'}
@@ -3993,6 +4413,11 @@ packages:
resolution: {integrity: sha512-b5rfL2EZiffmklqZk1W+dvSy97v3V/C7936WxCCgDynaGPp7GE6R2XO7EU9O2LlM/z95rj870IylYnOQs+1Rag==}
engines: {node: '>= 16'}
+ rollup@4.60.4:
+ resolution: {integrity: sha512-WHeFSbZYsPu3+bLoNRUuAO+wavNlocOPf3wSHTP7hcFKVnJeWsYlCDbr3mTS14FCizf9ccIxXA8sGL8zKeQN3g==}
+ engines: {node: '>=18.0.0', npm: '>=8.0.0'}
+ hasBin: true
+
rpc-websockets@9.3.9:
resolution: {integrity: sha512-2iQDaTB4g5fDB2ihrTFSJSibCEuxaRi1q7qTW7ZO9/M5/TC+ToHA4D9/ffNLEbAoHNNrcdeP05oATNk44SKZXA==}
@@ -4104,6 +4529,9 @@ packages:
resolution: {integrity: sha512-VsC6n6vz1ihYYyZZwX7YZSF5l5x36ca17OC+a69h94YqB7X6XLwf+5MOgynYir2SLFUbl8gIYvBo8K8RoNQ6bQ==}
engines: {node: '>= 0.4'}
+ siginfo@2.0.0:
+ resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==}
+
simple-swizzle@0.2.4:
resolution: {integrity: sha512-nAu1WFPQSMNr2Zn9PGSZK9AGn4t/y97lEm+MXTtUDwfP0ksAIX4nO+6ruD9Jwut4C49SB1Ws+fbXsm/yScWOHw==}
@@ -4156,6 +4584,9 @@ packages:
resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==}
engines: {node: '>= 10.x'}
+ stackback@0.0.2:
+ resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==}
+
stackframe@1.3.4:
resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==}
@@ -4174,6 +4605,9 @@ packages:
resolution: {integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==}
engines: {node: '>= 0.8'}
+ std-env@3.10.0:
+ resolution: {integrity: sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==}
+
stream-browserify@3.0.0:
resolution: {integrity: sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==}
@@ -4204,6 +4638,9 @@ packages:
resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
engines: {node: '>=8'}
+ strip-literal@3.1.0:
+ resolution: {integrity: sha512-8r3mkIM/2+PpjHoOtiAW8Rg3jJLHaV7xPwG+YRGrv6FP0wwk/toTpATxWYOW0BKdWwl82VT2tFYi5DlROa0Mxg==}
+
styled-jsx@5.1.6:
resolution: {integrity: sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==}
engines: {node: '>= 12.0.0'}
@@ -4258,10 +4695,28 @@ packages:
resolution: {integrity: sha512-eb+F6NabSnjbLwNoC+2o5ItbmP1kg7HliWue71JgLegQt6A5mTN8YbvTLCazdlg6e5SV6A+r8OGvZYskdlmhqQ==}
engines: {node: '>=6.0.0'}
+ tinybench@2.9.0:
+ resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==}
+
+ tinyexec@0.3.2:
+ resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==}
+
tinyglobby@0.2.16:
resolution: {integrity: sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==}
engines: {node: '>=12.0.0'}
+ tinypool@1.1.1:
+ resolution: {integrity: sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==}
+ engines: {node: ^18.0.0 || >=20.0.0}
+
+ tinyrainbow@2.0.0:
+ resolution: {integrity: sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==}
+ engines: {node: '>=14.0.0'}
+
+ tinyspy@4.0.4:
+ resolution: {integrity: sha512-azl+t0z7pw/z958Gy9svOTuzqIk6xq+NSheJzn5MMWtWTFywIacg2wUlzKFGtt3cthx0r2SxMK0yzJOR0IES7Q==}
+ engines: {node: '>=14.0.0'}
+
tmpl@1.0.5:
resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==}
@@ -4496,6 +4951,79 @@ packages:
typescript:
optional: true
+ vite-node@3.2.4:
+ resolution: {integrity: sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==}
+ engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
+ hasBin: true
+
+ vite@7.3.3:
+ resolution: {integrity: sha512-/4XH147Ui7OGTjg3HbdWe5arnZQSbfuRzdr9Ec7TQi5I7R+ir0Rlc9GIvD4v0XZurELqA035KVXJXpR61xhiTA==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ hasBin: true
+ peerDependencies:
+ '@types/node': ^20.19.0 || >=22.12.0
+ jiti: '>=1.21.0'
+ less: ^4.0.0
+ lightningcss: ^1.21.0
+ sass: ^1.70.0
+ sass-embedded: ^1.70.0
+ stylus: '>=0.54.8'
+ sugarss: ^5.0.0
+ terser: ^5.16.0
+ tsx: ^4.8.1
+ yaml: ^2.4.2
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+ jiti:
+ optional: true
+ less:
+ optional: true
+ lightningcss:
+ optional: true
+ sass:
+ optional: true
+ sass-embedded:
+ optional: true
+ stylus:
+ optional: true
+ sugarss:
+ optional: true
+ terser:
+ optional: true
+ tsx:
+ optional: true
+ yaml:
+ optional: true
+
+ vitest@3.2.4:
+ resolution: {integrity: sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==}
+ engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
+ hasBin: true
+ peerDependencies:
+ '@edge-runtime/vm': '*'
+ '@types/debug': ^4.1.12
+ '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0
+ '@vitest/browser': 3.2.4
+ '@vitest/ui': 3.2.4
+ happy-dom: '*'
+ jsdom: '*'
+ peerDependenciesMeta:
+ '@edge-runtime/vm':
+ optional: true
+ '@types/debug':
+ optional: true
+ '@types/node':
+ optional: true
+ '@vitest/browser':
+ optional: true
+ '@vitest/ui':
+ optional: true
+ happy-dom:
+ optional: true
+ jsdom:
+ optional: true
+
vlq@1.0.1:
resolution: {integrity: sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w==}
@@ -4530,6 +5058,11 @@ packages:
engines: {node: '>= 8'}
hasBin: true
+ why-is-node-running@2.3.0:
+ resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==}
+ engines: {node: '>=8'}
+ hasBin: true
+
wif@5.0.0:
resolution: {integrity: sha512-iFzrC/9ne740qFbNjTZ2FciSRJlHIXoxqk/Y5EnE08QOXu1WjJyCCswwDTYbohAOEnlCtLaAAQBhyaLRFh2hMA==}
@@ -4755,81 +5288,159 @@ snapshots:
'@emurgo/cardano-serialization-lib-nodejs@13.2.0': {}
+ '@esbuild/aix-ppc64@0.27.7':
+ optional: true
+
'@esbuild/aix-ppc64@0.28.0':
optional: true
+ '@esbuild/android-arm64@0.27.7':
+ optional: true
+
'@esbuild/android-arm64@0.28.0':
optional: true
+ '@esbuild/android-arm@0.27.7':
+ optional: true
+
'@esbuild/android-arm@0.28.0':
optional: true
+ '@esbuild/android-x64@0.27.7':
+ optional: true
+
'@esbuild/android-x64@0.28.0':
optional: true
+ '@esbuild/darwin-arm64@0.27.7':
+ optional: true
+
'@esbuild/darwin-arm64@0.28.0':
optional: true
+ '@esbuild/darwin-x64@0.27.7':
+ optional: true
+
'@esbuild/darwin-x64@0.28.0':
optional: true
+ '@esbuild/freebsd-arm64@0.27.7':
+ optional: true
+
'@esbuild/freebsd-arm64@0.28.0':
optional: true
+ '@esbuild/freebsd-x64@0.27.7':
+ optional: true
+
'@esbuild/freebsd-x64@0.28.0':
optional: true
+ '@esbuild/linux-arm64@0.27.7':
+ optional: true
+
'@esbuild/linux-arm64@0.28.0':
optional: true
+ '@esbuild/linux-arm@0.27.7':
+ optional: true
+
'@esbuild/linux-arm@0.28.0':
optional: true
+ '@esbuild/linux-ia32@0.27.7':
+ optional: true
+
'@esbuild/linux-ia32@0.28.0':
optional: true
+ '@esbuild/linux-loong64@0.27.7':
+ optional: true
+
'@esbuild/linux-loong64@0.28.0':
optional: true
+ '@esbuild/linux-mips64el@0.27.7':
+ optional: true
+
'@esbuild/linux-mips64el@0.28.0':
optional: true
+ '@esbuild/linux-ppc64@0.27.7':
+ optional: true
+
'@esbuild/linux-ppc64@0.28.0':
optional: true
+ '@esbuild/linux-riscv64@0.27.7':
+ optional: true
+
'@esbuild/linux-riscv64@0.28.0':
optional: true
+ '@esbuild/linux-s390x@0.27.7':
+ optional: true
+
'@esbuild/linux-s390x@0.28.0':
optional: true
+ '@esbuild/linux-x64@0.27.7':
+ optional: true
+
'@esbuild/linux-x64@0.28.0':
optional: true
+ '@esbuild/netbsd-arm64@0.27.7':
+ optional: true
+
'@esbuild/netbsd-arm64@0.28.0':
optional: true
+ '@esbuild/netbsd-x64@0.27.7':
+ optional: true
+
'@esbuild/netbsd-x64@0.28.0':
optional: true
+ '@esbuild/openbsd-arm64@0.27.7':
+ optional: true
+
'@esbuild/openbsd-arm64@0.28.0':
optional: true
+ '@esbuild/openbsd-x64@0.27.7':
+ optional: true
+
'@esbuild/openbsd-x64@0.28.0':
optional: true
+ '@esbuild/openharmony-arm64@0.27.7':
+ optional: true
+
'@esbuild/openharmony-arm64@0.28.0':
optional: true
+ '@esbuild/sunos-x64@0.27.7':
+ optional: true
+
'@esbuild/sunos-x64@0.28.0':
optional: true
+ '@esbuild/win32-arm64@0.27.7':
+ optional: true
+
'@esbuild/win32-arm64@0.28.0':
optional: true
+ '@esbuild/win32-ia32@0.27.7':
+ optional: true
+
'@esbuild/win32-ia32@0.28.0':
optional: true
+ '@esbuild/win32-x64@0.27.7':
+ optional: true
+
'@esbuild/win32-x64@0.28.0':
optional: true
@@ -4867,6 +5478,11 @@ snapshots:
ajv-formats: 3.0.1(ajv@8.20.0)
fast-uri: 3.1.2
+ '@fastify/cors@10.1.0':
+ dependencies:
+ fastify-plugin: 5.1.0
+ mnemonist: 0.40.0
+
'@fastify/error@4.2.0': {}
'@fastify/fast-json-stringify-compiler@5.0.3':
@@ -4884,6 +5500,12 @@ snapshots:
'@fastify/forwarded': 3.0.1
ipaddr.js: 2.4.0
+ '@fastify/rate-limit@10.3.0':
+ dependencies:
+ '@lukeed/ms': 2.0.2
+ fastify-plugin: 5.1.0
+ toad-cache: 3.7.1
+
'@fivebinaries/coin-selection@3.0.0':
dependencies:
'@emurgo/cardano-serialization-lib-browser': 13.2.1
@@ -4894,10 +5516,10 @@ snapshots:
react: 19.2.6
react-dom: 19.2.6(react@19.2.6)
- '@fractalwagmi/solana-wallet-adapter@0.1.1(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)':
+ '@fractalwagmi/solana-wallet-adapter@0.1.1(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)':
dependencies:
'@fractalwagmi/popup-connection': 1.1.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
- '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
+ '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
bs58: 5.0.0
transitivePeerDependencies:
- '@solana/web3.js'
@@ -5074,7 +5696,7 @@ snapshots:
react-qr-reader: 2.2.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
rxjs: 6.6.7
- '@keystonehq/sol-keyring@0.20.0(bufferutil@4.1.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(typescript@5.9.3)(utf-8-validate@6.0.6)':
+ '@keystonehq/sol-keyring@0.20.0(bufferutil@4.1.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(typescript@5.9.3)':
dependencies:
'@keystonehq/bc-ur-registry': 0.5.4
'@keystonehq/bc-ur-registry-sol': 0.9.5
@@ -5121,6 +5743,8 @@ snapshots:
dependencies:
'@lit-labs/ssr-dom-shim': 1.6.0
+ '@lukeed/ms@2.0.2': {}
+
'@mobily/ts-belt@3.13.1': {}
'@msgpackr-extract/msgpackr-extract-darwin-arm64@3.0.4':
@@ -5235,14 +5859,14 @@ snapshots:
crypto-js: 4.2.0
uuidv4: 6.2.13
- '@particle-network/solana-wallet@1.3.2(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))':
+ '@particle-network/solana-wallet@1.3.2(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))':
dependencies:
'@particle-network/auth': 1.3.1
'@solana/web3.js': 1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)
'@pinojs/redact@0.4.0': {}
- '@project-serum/sol-wallet-adapter@0.2.6(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))':
+ '@project-serum/sol-wallet-adapter@0.2.6(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))':
dependencies:
'@solana/web3.js': 1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)
bs58: 4.0.1
@@ -5270,10 +5894,10 @@ snapshots:
'@protobufjs/utf8@1.1.1': {}
- '@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))':
+ '@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6))':
dependencies:
merge-options: 3.0.4
- react-native: 0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)
+ react-native: 0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)
optional: true
'@react-native/assets-registry@0.85.3': {}
@@ -5288,13 +5912,13 @@ snapshots:
tinyglobby: 0.2.16
yargs: 17.7.2
- '@react-native/community-cli-plugin@0.85.3(bufferutil@4.1.0)(utf-8-validate@6.0.6)':
+ '@react-native/community-cli-plugin@0.85.3(bufferutil@4.1.0)':
dependencies:
- '@react-native/dev-middleware': 0.85.3(bufferutil@4.1.0)(utf-8-validate@6.0.6)
+ '@react-native/dev-middleware': 0.85.3(bufferutil@4.1.0)
debug: 4.4.3
invariant: 2.2.4
- metro: 0.84.4(bufferutil@4.1.0)(utf-8-validate@6.0.6)
- metro-config: 0.84.4(bufferutil@4.1.0)(utf-8-validate@6.0.6)
+ metro: 0.84.4(bufferutil@4.1.0)
+ metro-config: 0.84.4(bufferutil@4.1.0)
metro-core: 0.84.4
semver: 7.8.1
transitivePeerDependencies:
@@ -5312,7 +5936,7 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@react-native/dev-middleware@0.85.3(bufferutil@4.1.0)(utf-8-validate@6.0.6)':
+ '@react-native/dev-middleware@0.85.3(bufferutil@4.1.0)':
dependencies:
'@isaacs/ttlcache': 1.4.1
'@react-native/debugger-frontend': 0.85.3
@@ -5337,33 +5961,33 @@ snapshots:
'@react-native/normalize-colors@0.85.3': {}
- '@react-native/virtualized-lists@0.85.3(@types/react@19.2.15)(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)':
+ '@react-native/virtualized-lists@0.85.3(@types/react@19.2.15)(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6))(react@19.2.6)':
dependencies:
invariant: 2.2.4
nullthrows: 1.1.1
react: 19.2.6
- react-native: 0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)
+ react-native: 0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)
optionalDependencies:
'@types/react': 19.2.15
- '@reown/appkit-common@1.7.2(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@3.22.4)':
+ '@reown/appkit-common@1.7.2(bufferutil@4.1.0)(typescript@5.9.3)(zod@3.22.4)':
dependencies:
big.js: 6.2.2
dayjs: 1.11.13
- viem: 2.51.3(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@3.22.4)
+ viem: 2.51.3(bufferutil@4.1.0)(typescript@5.9.3)(zod@3.22.4)
transitivePeerDependencies:
- bufferutil
- typescript
- utf-8-validate
- zod
- '@reown/appkit-controllers@1.7.2(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)))(@types/react@19.2.15)(bufferutil@4.1.0)(ioredis@5.11.0)(react@19.2.6)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@3.22.4)':
+ '@reown/appkit-controllers@1.7.2(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)))(@types/react@19.2.15)(bufferutil@4.1.0)(ioredis@5.11.0)(react@19.2.6)(typescript@5.9.3)(zod@3.22.4)':
dependencies:
- '@reown/appkit-common': 1.7.2(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@3.22.4)
- '@reown/appkit-wallet': 1.7.2(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)
- '@walletconnect/universal-provider': 2.19.1(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)))(bufferutil@4.1.0)(ioredis@5.11.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@3.22.4)
+ '@reown/appkit-common': 1.7.2(bufferutil@4.1.0)(typescript@5.9.3)(zod@3.22.4)
+ '@reown/appkit-wallet': 1.7.2(bufferutil@4.1.0)(typescript@5.9.3)
+ '@walletconnect/universal-provider': 2.19.1(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)))(bufferutil@4.1.0)(ioredis@5.11.0)(typescript@5.9.3)(zod@3.22.4)
valtio: 1.13.2(@types/react@19.2.15)(react@19.2.6)
- viem: 2.51.3(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@3.22.4)
+ viem: 2.51.3(bufferutil@4.1.0)(typescript@5.9.3)(zod@3.22.4)
transitivePeerDependencies:
- '@azure/app-configuration'
- '@azure/cosmos'
@@ -5396,13 +6020,13 @@ snapshots:
dependencies:
buffer: 6.0.3
- '@reown/appkit-scaffold-ui@1.7.2(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)))(@types/react@19.2.15)(bufferutil@4.1.0)(ioredis@5.11.0)(react@19.2.6)(typescript@5.9.3)(utf-8-validate@6.0.6)(valtio@1.13.2(@types/react@19.2.15)(react@19.2.6))(zod@3.22.4)':
+ '@reown/appkit-scaffold-ui@1.7.2(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)))(@types/react@19.2.15)(bufferutil@4.1.0)(ioredis@5.11.0)(react@19.2.6)(typescript@5.9.3)(valtio@1.13.2(@types/react@19.2.15)(react@19.2.6))(zod@3.22.4)':
dependencies:
- '@reown/appkit-common': 1.7.2(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@3.22.4)
- '@reown/appkit-controllers': 1.7.2(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)))(@types/react@19.2.15)(bufferutil@4.1.0)(ioredis@5.11.0)(react@19.2.6)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@3.22.4)
- '@reown/appkit-ui': 1.7.2(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)))(@types/react@19.2.15)(bufferutil@4.1.0)(ioredis@5.11.0)(react@19.2.6)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@3.22.4)
- '@reown/appkit-utils': 1.7.2(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)))(@types/react@19.2.15)(bufferutil@4.1.0)(ioredis@5.11.0)(react@19.2.6)(typescript@5.9.3)(utf-8-validate@6.0.6)(valtio@1.13.2(@types/react@19.2.15)(react@19.2.6))(zod@3.22.4)
- '@reown/appkit-wallet': 1.7.2(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)
+ '@reown/appkit-common': 1.7.2(bufferutil@4.1.0)(typescript@5.9.3)(zod@3.22.4)
+ '@reown/appkit-controllers': 1.7.2(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)))(@types/react@19.2.15)(bufferutil@4.1.0)(ioredis@5.11.0)(react@19.2.6)(typescript@5.9.3)(zod@3.22.4)
+ '@reown/appkit-ui': 1.7.2(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)))(@types/react@19.2.15)(bufferutil@4.1.0)(ioredis@5.11.0)(react@19.2.6)(typescript@5.9.3)(zod@3.22.4)
+ '@reown/appkit-utils': 1.7.2(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)))(@types/react@19.2.15)(bufferutil@4.1.0)(ioredis@5.11.0)(react@19.2.6)(typescript@5.9.3)(valtio@1.13.2(@types/react@19.2.15)(react@19.2.6))(zod@3.22.4)
+ '@reown/appkit-wallet': 1.7.2(bufferutil@4.1.0)(typescript@5.9.3)
lit: 3.1.0
transitivePeerDependencies:
- '@azure/app-configuration'
@@ -5433,11 +6057,11 @@ snapshots:
- valtio
- zod
- '@reown/appkit-ui@1.7.2(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)))(@types/react@19.2.15)(bufferutil@4.1.0)(ioredis@5.11.0)(react@19.2.6)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@3.22.4)':
+ '@reown/appkit-ui@1.7.2(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)))(@types/react@19.2.15)(bufferutil@4.1.0)(ioredis@5.11.0)(react@19.2.6)(typescript@5.9.3)(zod@3.22.4)':
dependencies:
- '@reown/appkit-common': 1.7.2(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@3.22.4)
- '@reown/appkit-controllers': 1.7.2(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)))(@types/react@19.2.15)(bufferutil@4.1.0)(ioredis@5.11.0)(react@19.2.6)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@3.22.4)
- '@reown/appkit-wallet': 1.7.2(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)
+ '@reown/appkit-common': 1.7.2(bufferutil@4.1.0)(typescript@5.9.3)(zod@3.22.4)
+ '@reown/appkit-controllers': 1.7.2(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)))(@types/react@19.2.15)(bufferutil@4.1.0)(ioredis@5.11.0)(react@19.2.6)(typescript@5.9.3)(zod@3.22.4)
+ '@reown/appkit-wallet': 1.7.2(bufferutil@4.1.0)(typescript@5.9.3)
lit: 3.1.0
qrcode: 1.5.3
transitivePeerDependencies:
@@ -5468,16 +6092,16 @@ snapshots:
- utf-8-validate
- zod
- '@reown/appkit-utils@1.7.2(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)))(@types/react@19.2.15)(bufferutil@4.1.0)(ioredis@5.11.0)(react@19.2.6)(typescript@5.9.3)(utf-8-validate@6.0.6)(valtio@1.13.2(@types/react@19.2.15)(react@19.2.6))(zod@3.22.4)':
+ '@reown/appkit-utils@1.7.2(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)))(@types/react@19.2.15)(bufferutil@4.1.0)(ioredis@5.11.0)(react@19.2.6)(typescript@5.9.3)(valtio@1.13.2(@types/react@19.2.15)(react@19.2.6))(zod@3.22.4)':
dependencies:
- '@reown/appkit-common': 1.7.2(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@3.22.4)
- '@reown/appkit-controllers': 1.7.2(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)))(@types/react@19.2.15)(bufferutil@4.1.0)(ioredis@5.11.0)(react@19.2.6)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@3.22.4)
+ '@reown/appkit-common': 1.7.2(bufferutil@4.1.0)(typescript@5.9.3)(zod@3.22.4)
+ '@reown/appkit-controllers': 1.7.2(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)))(@types/react@19.2.15)(bufferutil@4.1.0)(ioredis@5.11.0)(react@19.2.6)(typescript@5.9.3)(zod@3.22.4)
'@reown/appkit-polyfills': 1.7.2
- '@reown/appkit-wallet': 1.7.2(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)
+ '@reown/appkit-wallet': 1.7.2(bufferutil@4.1.0)(typescript@5.9.3)
'@walletconnect/logger': 2.1.2
- '@walletconnect/universal-provider': 2.19.1(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)))(bufferutil@4.1.0)(ioredis@5.11.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@3.22.4)
+ '@walletconnect/universal-provider': 2.19.1(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)))(bufferutil@4.1.0)(ioredis@5.11.0)(typescript@5.9.3)(zod@3.22.4)
valtio: 1.13.2(@types/react@19.2.15)(react@19.2.6)
- viem: 2.51.3(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@3.22.4)
+ viem: 2.51.3(bufferutil@4.1.0)(typescript@5.9.3)(zod@3.22.4)
transitivePeerDependencies:
- '@azure/app-configuration'
- '@azure/cosmos'
@@ -5506,9 +6130,9 @@ snapshots:
- utf-8-validate
- zod
- '@reown/appkit-wallet@1.7.2(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)':
+ '@reown/appkit-wallet@1.7.2(bufferutil@4.1.0)(typescript@5.9.3)':
dependencies:
- '@reown/appkit-common': 1.7.2(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@3.22.4)
+ '@reown/appkit-common': 1.7.2(bufferutil@4.1.0)(typescript@5.9.3)(zod@3.22.4)
'@reown/appkit-polyfills': 1.7.2
'@walletconnect/logger': 2.1.2
zod: 3.22.4
@@ -5517,20 +6141,20 @@ snapshots:
- typescript
- utf-8-validate
- '@reown/appkit@1.7.2(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)))(@types/react@19.2.15)(bufferutil@4.1.0)(ioredis@5.11.0)(react@19.2.6)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@3.22.4)':
+ '@reown/appkit@1.7.2(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)))(@types/react@19.2.15)(bufferutil@4.1.0)(ioredis@5.11.0)(react@19.2.6)(typescript@5.9.3)(zod@3.22.4)':
dependencies:
- '@reown/appkit-common': 1.7.2(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@3.22.4)
- '@reown/appkit-controllers': 1.7.2(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)))(@types/react@19.2.15)(bufferutil@4.1.0)(ioredis@5.11.0)(react@19.2.6)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@3.22.4)
+ '@reown/appkit-common': 1.7.2(bufferutil@4.1.0)(typescript@5.9.3)(zod@3.22.4)
+ '@reown/appkit-controllers': 1.7.2(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)))(@types/react@19.2.15)(bufferutil@4.1.0)(ioredis@5.11.0)(react@19.2.6)(typescript@5.9.3)(zod@3.22.4)
'@reown/appkit-polyfills': 1.7.2
- '@reown/appkit-scaffold-ui': 1.7.2(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)))(@types/react@19.2.15)(bufferutil@4.1.0)(ioredis@5.11.0)(react@19.2.6)(typescript@5.9.3)(utf-8-validate@6.0.6)(valtio@1.13.2(@types/react@19.2.15)(react@19.2.6))(zod@3.22.4)
- '@reown/appkit-ui': 1.7.2(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)))(@types/react@19.2.15)(bufferutil@4.1.0)(ioredis@5.11.0)(react@19.2.6)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@3.22.4)
- '@reown/appkit-utils': 1.7.2(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)))(@types/react@19.2.15)(bufferutil@4.1.0)(ioredis@5.11.0)(react@19.2.6)(typescript@5.9.3)(utf-8-validate@6.0.6)(valtio@1.13.2(@types/react@19.2.15)(react@19.2.6))(zod@3.22.4)
- '@reown/appkit-wallet': 1.7.2(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)
- '@walletconnect/types': 2.19.1(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)))(ioredis@5.11.0)
- '@walletconnect/universal-provider': 2.19.1(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)))(bufferutil@4.1.0)(ioredis@5.11.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@3.22.4)
+ '@reown/appkit-scaffold-ui': 1.7.2(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)))(@types/react@19.2.15)(bufferutil@4.1.0)(ioredis@5.11.0)(react@19.2.6)(typescript@5.9.3)(valtio@1.13.2(@types/react@19.2.15)(react@19.2.6))(zod@3.22.4)
+ '@reown/appkit-ui': 1.7.2(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)))(@types/react@19.2.15)(bufferutil@4.1.0)(ioredis@5.11.0)(react@19.2.6)(typescript@5.9.3)(zod@3.22.4)
+ '@reown/appkit-utils': 1.7.2(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)))(@types/react@19.2.15)(bufferutil@4.1.0)(ioredis@5.11.0)(react@19.2.6)(typescript@5.9.3)(valtio@1.13.2(@types/react@19.2.15)(react@19.2.6))(zod@3.22.4)
+ '@reown/appkit-wallet': 1.7.2(bufferutil@4.1.0)(typescript@5.9.3)
+ '@walletconnect/types': 2.19.1(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)))(ioredis@5.11.0)
+ '@walletconnect/universal-provider': 2.19.1(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)))(bufferutil@4.1.0)(ioredis@5.11.0)(typescript@5.9.3)(zod@3.22.4)
bs58: 6.0.0
valtio: 1.13.2(@types/react@19.2.15)(react@19.2.6)
- viem: 2.51.3(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@3.22.4)
+ viem: 2.51.3(bufferutil@4.1.0)(typescript@5.9.3)(zod@3.22.4)
transitivePeerDependencies:
- '@azure/app-configuration'
- '@azure/cosmos'
@@ -5559,6 +6183,81 @@ snapshots:
- utf-8-validate
- zod
+ '@rollup/rollup-android-arm-eabi@4.60.4':
+ optional: true
+
+ '@rollup/rollup-android-arm64@4.60.4':
+ optional: true
+
+ '@rollup/rollup-darwin-arm64@4.60.4':
+ optional: true
+
+ '@rollup/rollup-darwin-x64@4.60.4':
+ optional: true
+
+ '@rollup/rollup-freebsd-arm64@4.60.4':
+ optional: true
+
+ '@rollup/rollup-freebsd-x64@4.60.4':
+ optional: true
+
+ '@rollup/rollup-linux-arm-gnueabihf@4.60.4':
+ optional: true
+
+ '@rollup/rollup-linux-arm-musleabihf@4.60.4':
+ optional: true
+
+ '@rollup/rollup-linux-arm64-gnu@4.60.4':
+ optional: true
+
+ '@rollup/rollup-linux-arm64-musl@4.60.4':
+ optional: true
+
+ '@rollup/rollup-linux-loong64-gnu@4.60.4':
+ optional: true
+
+ '@rollup/rollup-linux-loong64-musl@4.60.4':
+ optional: true
+
+ '@rollup/rollup-linux-ppc64-gnu@4.60.4':
+ optional: true
+
+ '@rollup/rollup-linux-ppc64-musl@4.60.4':
+ optional: true
+
+ '@rollup/rollup-linux-riscv64-gnu@4.60.4':
+ optional: true
+
+ '@rollup/rollup-linux-riscv64-musl@4.60.4':
+ optional: true
+
+ '@rollup/rollup-linux-s390x-gnu@4.60.4':
+ optional: true
+
+ '@rollup/rollup-linux-x64-gnu@4.60.4':
+ optional: true
+
+ '@rollup/rollup-linux-x64-musl@4.60.4':
+ optional: true
+
+ '@rollup/rollup-openbsd-x64@4.60.4':
+ optional: true
+
+ '@rollup/rollup-openharmony-arm64@4.60.4':
+ optional: true
+
+ '@rollup/rollup-win32-arm64-msvc@4.60.4':
+ optional: true
+
+ '@rollup/rollup-win32-ia32-msvc@4.60.4':
+ optional: true
+
+ '@rollup/rollup-win32-x64-gnu@4.60.4':
+ optional: true
+
+ '@rollup/rollup-win32-x64-msvc@4.60.4':
+ optional: true
+
'@scure/base@1.1.9': {}
'@scure/base@1.2.6': {}
@@ -5577,7 +6276,7 @@ snapshots:
'@scure/bip32@1.7.0':
dependencies:
- '@noble/curves': 1.9.1
+ '@noble/curves': 1.9.7
'@noble/hashes': 1.8.0
'@scure/base': 1.2.6
@@ -5602,9 +6301,9 @@ snapshots:
'@socket.io/component-emitter@3.1.2': {}
- '@solana-mobile/mobile-wallet-adapter-protocol-web3js@2.2.8(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))(fastestsmallesttextencoderdecoder@1.0.22)(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(typescript@5.9.3)':
+ '@solana-mobile/mobile-wallet-adapter-protocol-web3js@2.2.8(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))(fastestsmallesttextencoderdecoder@1.0.22)(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6))(typescript@5.9.3)':
dependencies:
- '@solana-mobile/mobile-wallet-adapter-protocol': 2.2.8(fastestsmallesttextencoderdecoder@1.0.22)(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(typescript@5.9.3)
+ '@solana-mobile/mobile-wallet-adapter-protocol': 2.2.8(fastestsmallesttextencoderdecoder@1.0.22)(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6))(typescript@5.9.3)
'@solana/web3.js': 1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)
bs58: 6.0.0
js-base64: 3.7.8
@@ -5613,40 +6312,40 @@ snapshots:
- react-native
- typescript
- '@solana-mobile/mobile-wallet-adapter-protocol@2.2.8(fastestsmallesttextencoderdecoder@1.0.22)(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(typescript@5.9.3)':
+ '@solana-mobile/mobile-wallet-adapter-protocol@2.2.8(fastestsmallesttextencoderdecoder@1.0.22)(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6))(typescript@5.9.3)':
dependencies:
'@solana/codecs-strings': 6.9.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
'@solana/wallet-standard-features': 1.3.0
'@solana/wallet-standard-util': 1.1.2
'@wallet-standard/core': 1.1.1
js-base64: 3.7.8
- react-native: 0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)
+ react-native: 0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)
transitivePeerDependencies:
- fastestsmallesttextencoderdecoder
- typescript
- '@solana-mobile/wallet-adapter-mobile@2.2.8(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))(fastestsmallesttextencoderdecoder@1.0.22)(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(typescript@5.9.3)':
+ '@solana-mobile/wallet-adapter-mobile@2.2.8(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))(fastestsmallesttextencoderdecoder@1.0.22)(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6))(typescript@5.9.3)':
dependencies:
- '@solana-mobile/mobile-wallet-adapter-protocol': 2.2.8(fastestsmallesttextencoderdecoder@1.0.22)(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(typescript@5.9.3)
- '@solana-mobile/mobile-wallet-adapter-protocol-web3js': 2.2.8(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))(fastestsmallesttextencoderdecoder@1.0.22)(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(typescript@5.9.3)
- '@solana-mobile/wallet-standard-mobile': 0.5.2(fastestsmallesttextencoderdecoder@1.0.22)(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(typescript@5.9.3)
- '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
+ '@solana-mobile/mobile-wallet-adapter-protocol': 2.2.8(fastestsmallesttextencoderdecoder@1.0.22)(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6))(typescript@5.9.3)
+ '@solana-mobile/mobile-wallet-adapter-protocol-web3js': 2.2.8(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))(fastestsmallesttextencoderdecoder@1.0.22)(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6))(typescript@5.9.3)
+ '@solana-mobile/wallet-standard-mobile': 0.5.2(fastestsmallesttextencoderdecoder@1.0.22)(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6))(typescript@5.9.3)
+ '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
'@solana/wallet-standard-features': 1.3.0
'@solana/web3.js': 1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)
'@wallet-standard/core': 1.1.1
bs58: 6.0.0
js-base64: 3.7.8
- react-native: 0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)
+ react-native: 0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)
tslib: 2.8.1
optionalDependencies:
- '@react-native-async-storage/async-storage': 1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))
+ '@react-native-async-storage/async-storage': 1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6))
transitivePeerDependencies:
- fastestsmallesttextencoderdecoder
- typescript
- '@solana-mobile/wallet-standard-mobile@0.5.2(fastestsmallesttextencoderdecoder@1.0.22)(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(typescript@5.9.3)':
+ '@solana-mobile/wallet-standard-mobile@0.5.2(fastestsmallesttextencoderdecoder@1.0.22)(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6))(typescript@5.9.3)':
dependencies:
- '@solana-mobile/mobile-wallet-adapter-protocol': 2.2.8(fastestsmallesttextencoderdecoder@1.0.22)(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(typescript@5.9.3)
+ '@solana-mobile/mobile-wallet-adapter-protocol': 2.2.8(fastestsmallesttextencoderdecoder@1.0.22)(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6))(typescript@5.9.3)
'@solana/wallet-standard-chains': 1.1.1
'@solana/wallet-standard-features': 1.3.0
'@wallet-standard/base': 1.1.0
@@ -5657,32 +6356,32 @@ snapshots:
qrcode: 1.5.4
tslib: 2.8.1
optionalDependencies:
- '@react-native-async-storage/async-storage': 1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))
+ '@react-native-async-storage/async-storage': 1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6))
transitivePeerDependencies:
- fastestsmallesttextencoderdecoder
- react-native
- typescript
- '@solana-program/compute-budget@0.8.0(@solana/kit@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)))':
+ '@solana-program/compute-budget@0.8.0(@solana/kit@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.21.0(bufferutil@4.1.0)))':
dependencies:
- '@solana/kit': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6))
+ '@solana/kit': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.21.0(bufferutil@4.1.0))
- '@solana-program/stake@0.2.1(@solana/kit@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)))':
+ '@solana-program/stake@0.2.1(@solana/kit@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.21.0(bufferutil@4.1.0)))':
dependencies:
- '@solana/kit': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6))
+ '@solana/kit': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.21.0(bufferutil@4.1.0))
- '@solana-program/system@0.7.0(@solana/kit@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)))':
+ '@solana-program/system@0.7.0(@solana/kit@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.21.0(bufferutil@4.1.0)))':
dependencies:
- '@solana/kit': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6))
+ '@solana/kit': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.21.0(bufferutil@4.1.0))
- '@solana-program/token-2022@0.4.2(@solana/kit@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)))(@solana/sysvars@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3))':
+ '@solana-program/token-2022@0.4.2(@solana/kit@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.21.0(bufferutil@4.1.0)))(@solana/sysvars@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3))':
dependencies:
- '@solana/kit': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6))
+ '@solana/kit': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.21.0(bufferutil@4.1.0))
'@solana/sysvars': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
- '@solana-program/token@0.5.1(@solana/kit@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)))':
+ '@solana-program/token@0.5.1(@solana/kit@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.21.0(bufferutil@4.1.0)))':
dependencies:
- '@solana/kit': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6))
+ '@solana/kit': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.21.0(bufferutil@4.1.0))
'@solana/accounts@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)':
dependencies:
@@ -5868,7 +6567,7 @@ snapshots:
transitivePeerDependencies:
- fastestsmallesttextencoderdecoder
- '@solana/kit@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6))':
+ '@solana/kit@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.21.0(bufferutil@4.1.0))':
dependencies:
'@solana/accounts': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
'@solana/addresses': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
@@ -5881,11 +6580,11 @@ snapshots:
'@solana/rpc': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
'@solana/rpc-parsed-types': 2.3.0(typescript@5.9.3)
'@solana/rpc-spec-types': 2.3.0(typescript@5.9.3)
- '@solana/rpc-subscriptions': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6))
+ '@solana/rpc-subscriptions': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.21.0(bufferutil@4.1.0))
'@solana/rpc-types': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
'@solana/signers': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
'@solana/sysvars': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
- '@solana/transaction-confirmation': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6))
+ '@solana/transaction-confirmation': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.21.0(bufferutil@4.1.0))
'@solana/transaction-messages': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
'@solana/transactions': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
typescript: 5.9.3
@@ -5975,7 +6674,7 @@ snapshots:
transitivePeerDependencies:
- fastestsmallesttextencoderdecoder
- '@solana/rpc-subscriptions-channel-websocket@2.3.0(typescript@5.9.3)(ws@8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6))':
+ '@solana/rpc-subscriptions-channel-websocket@2.3.0(typescript@5.9.3)(ws@8.21.0(bufferutil@4.1.0))':
dependencies:
'@solana/errors': 2.3.0(typescript@5.9.3)
'@solana/functional': 2.3.0(typescript@5.9.3)
@@ -5992,7 +6691,7 @@ snapshots:
'@solana/subscribable': 2.3.0(typescript@5.9.3)
typescript: 5.9.3
- '@solana/rpc-subscriptions@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6))':
+ '@solana/rpc-subscriptions@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.21.0(bufferutil@4.1.0))':
dependencies:
'@solana/errors': 2.3.0(typescript@5.9.3)
'@solana/fast-stable-stringify': 2.3.0(typescript@5.9.3)
@@ -6000,7 +6699,7 @@ snapshots:
'@solana/promises': 2.3.0(typescript@5.9.3)
'@solana/rpc-spec-types': 2.3.0(typescript@5.9.3)
'@solana/rpc-subscriptions-api': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
- '@solana/rpc-subscriptions-channel-websocket': 2.3.0(typescript@5.9.3)(ws@8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6))
+ '@solana/rpc-subscriptions-channel-websocket': 2.3.0(typescript@5.9.3)(ws@8.21.0(bufferutil@4.1.0))
'@solana/rpc-subscriptions-spec': 2.3.0(typescript@5.9.3)
'@solana/rpc-transformers': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
'@solana/rpc-types': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
@@ -6116,7 +6815,7 @@ snapshots:
transitivePeerDependencies:
- fastestsmallesttextencoderdecoder
- '@solana/transaction-confirmation@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6))':
+ '@solana/transaction-confirmation@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.21.0(bufferutil@4.1.0))':
dependencies:
'@solana/addresses': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
'@solana/codecs-strings': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
@@ -6124,7 +6823,7 @@ snapshots:
'@solana/keys': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
'@solana/promises': 2.3.0(typescript@5.9.3)
'@solana/rpc': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
- '@solana/rpc-subscriptions': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6))
+ '@solana/rpc-subscriptions': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.21.0(bufferutil@4.1.0))
'@solana/rpc-types': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
'@solana/transaction-messages': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
'@solana/transactions': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
@@ -6166,19 +6865,19 @@ snapshots:
transitivePeerDependencies:
- fastestsmallesttextencoderdecoder
- '@solana/wallet-adapter-alpha@0.1.14(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))':
+ '@solana/wallet-adapter-alpha@0.1.14(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))':
dependencies:
- '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
+ '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
'@solana/web3.js': 1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)
- '@solana/wallet-adapter-avana@0.1.17(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))':
+ '@solana/wallet-adapter-avana@0.1.17(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))':
dependencies:
- '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
+ '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
'@solana/web3.js': 1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)
- '@solana/wallet-adapter-base-ui@0.1.6(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))(fastestsmallesttextencoderdecoder@1.0.22)(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)(typescript@5.9.3)':
+ '@solana/wallet-adapter-base-ui@0.1.6(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))(fastestsmallesttextencoderdecoder@1.0.22)(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6))(react@19.2.6)(typescript@5.9.3)':
dependencies:
- '@solana/wallet-adapter-react': 0.15.39(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))(fastestsmallesttextencoderdecoder@1.0.22)(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)(typescript@5.9.3)
+ '@solana/wallet-adapter-react': 0.15.39(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))(fastestsmallesttextencoderdecoder@1.0.22)(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6))(react@19.2.6)(typescript@5.9.3)
'@solana/web3.js': 1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)
react: 19.2.6
transitivePeerDependencies:
@@ -6187,7 +6886,7 @@ snapshots:
- react-native
- typescript
- '@solana/wallet-adapter-base@0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))':
+ '@solana/wallet-adapter-base@0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))':
dependencies:
'@solana/wallet-standard-features': 1.3.0
'@solana/web3.js': 1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)
@@ -6195,61 +6894,61 @@ snapshots:
'@wallet-standard/features': 1.1.0
eventemitter3: 5.0.4
- '@solana/wallet-adapter-bitkeep@0.3.24(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))':
+ '@solana/wallet-adapter-bitkeep@0.3.24(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))':
dependencies:
- '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
+ '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
'@solana/web3.js': 1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)
- '@solana/wallet-adapter-bitpie@0.5.22(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))':
+ '@solana/wallet-adapter-bitpie@0.5.22(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))':
dependencies:
- '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
+ '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
'@solana/web3.js': 1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)
- '@solana/wallet-adapter-clover@0.4.23(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))':
+ '@solana/wallet-adapter-clover@0.4.23(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))':
dependencies:
- '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
+ '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
'@solana/web3.js': 1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)
- '@solana/wallet-adapter-coin98@0.5.24(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))':
+ '@solana/wallet-adapter-coin98@0.5.24(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))':
dependencies:
- '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
+ '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
'@solana/web3.js': 1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)
bs58: 6.0.0
buffer: 6.0.3
- '@solana/wallet-adapter-coinbase@0.1.23(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))':
+ '@solana/wallet-adapter-coinbase@0.1.23(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))':
dependencies:
- '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
+ '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
'@solana/web3.js': 1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)
- '@solana/wallet-adapter-coinhub@0.3.22(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))':
+ '@solana/wallet-adapter-coinhub@0.3.22(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))':
dependencies:
- '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
+ '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
'@solana/web3.js': 1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)
- '@solana/wallet-adapter-fractal@0.1.12(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)':
+ '@solana/wallet-adapter-fractal@0.1.12(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)':
dependencies:
- '@fractalwagmi/solana-wallet-adapter': 0.1.1(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
- '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
+ '@fractalwagmi/solana-wallet-adapter': 0.1.1(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
+ '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
'@solana/web3.js': 1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)
transitivePeerDependencies:
- react
- react-dom
- '@solana/wallet-adapter-huobi@0.1.19(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))':
+ '@solana/wallet-adapter-huobi@0.1.19(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))':
dependencies:
- '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
+ '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
'@solana/web3.js': 1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)
- '@solana/wallet-adapter-hyperpay@0.1.18(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))':
+ '@solana/wallet-adapter-hyperpay@0.1.18(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))':
dependencies:
- '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
+ '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
'@solana/web3.js': 1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)
- '@solana/wallet-adapter-keystone@0.1.19(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))(bufferutil@4.1.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(typescript@5.9.3)(utf-8-validate@6.0.6)':
+ '@solana/wallet-adapter-keystone@0.1.19(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))(bufferutil@4.1.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(typescript@5.9.3)':
dependencies:
- '@keystonehq/sol-keyring': 0.20.0(bufferutil@4.1.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(typescript@5.9.3)(utf-8-validate@6.0.6)
- '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
+ '@keystonehq/sol-keyring': 0.20.0(bufferutil@4.1.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(typescript@5.9.3)
+ '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
'@solana/web3.js': 1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)
buffer: 6.0.3
transitivePeerDependencies:
@@ -6260,63 +6959,63 @@ snapshots:
- typescript
- utf-8-validate
- '@solana/wallet-adapter-krystal@0.1.16(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))':
+ '@solana/wallet-adapter-krystal@0.1.16(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))':
dependencies:
- '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
+ '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
'@solana/web3.js': 1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)
- '@solana/wallet-adapter-ledger@0.9.29(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))':
+ '@solana/wallet-adapter-ledger@0.9.29(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))':
dependencies:
'@ledgerhq/devices': 8.14.2
'@ledgerhq/hw-transport': 6.35.2
'@ledgerhq/hw-transport-webhid': 6.35.2
- '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
+ '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
'@solana/web3.js': 1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)
buffer: 6.0.3
- '@solana/wallet-adapter-mathwallet@0.9.22(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))':
+ '@solana/wallet-adapter-mathwallet@0.9.22(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))':
dependencies:
- '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
+ '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
'@solana/web3.js': 1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)
- '@solana/wallet-adapter-neko@0.2.16(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))':
+ '@solana/wallet-adapter-neko@0.2.16(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))':
dependencies:
- '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
+ '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
'@solana/web3.js': 1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)
- '@solana/wallet-adapter-nightly@0.1.20(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))':
+ '@solana/wallet-adapter-nightly@0.1.20(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))':
dependencies:
- '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
+ '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
'@solana/web3.js': 1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)
- '@solana/wallet-adapter-nufi@0.1.21(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))':
+ '@solana/wallet-adapter-nufi@0.1.21(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))':
dependencies:
- '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
+ '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
'@solana/web3.js': 1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)
- '@solana/wallet-adapter-onto@0.1.11(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))':
+ '@solana/wallet-adapter-onto@0.1.11(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))':
dependencies:
- '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
+ '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
'@solana/web3.js': 1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)
- '@solana/wallet-adapter-particle@0.1.16(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))':
+ '@solana/wallet-adapter-particle@0.1.16(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))':
dependencies:
- '@particle-network/solana-wallet': 1.3.2(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
- '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
+ '@particle-network/solana-wallet': 1.3.2(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
+ '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
'@solana/web3.js': 1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)
transitivePeerDependencies:
- bs58
- '@solana/wallet-adapter-phantom@0.9.29(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))':
+ '@solana/wallet-adapter-phantom@0.9.29(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))':
dependencies:
- '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
+ '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
'@solana/web3.js': 1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)
- '@solana/wallet-adapter-react-ui@0.9.39(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))(fastestsmallesttextencoderdecoder@1.0.22)(react-dom@19.2.6(react@19.2.6))(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)(typescript@5.9.3)':
+ '@solana/wallet-adapter-react-ui@0.9.39(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))(fastestsmallesttextencoderdecoder@1.0.22)(react-dom@19.2.6(react@19.2.6))(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6))(react@19.2.6)(typescript@5.9.3)':
dependencies:
- '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
- '@solana/wallet-adapter-base-ui': 0.1.6(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))(fastestsmallesttextencoderdecoder@1.0.22)(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)(typescript@5.9.3)
- '@solana/wallet-adapter-react': 0.15.39(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))(fastestsmallesttextencoderdecoder@1.0.22)(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)(typescript@5.9.3)
+ '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
+ '@solana/wallet-adapter-base-ui': 0.1.6(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))(fastestsmallesttextencoderdecoder@1.0.22)(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6))(react@19.2.6)(typescript@5.9.3)
+ '@solana/wallet-adapter-react': 0.15.39(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))(fastestsmallesttextencoderdecoder@1.0.22)(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6))(react@19.2.6)(typescript@5.9.3)
'@solana/web3.js': 1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)
react: 19.2.6
react-dom: 19.2.6(react@19.2.6)
@@ -6326,11 +7025,11 @@ snapshots:
- react-native
- typescript
- '@solana/wallet-adapter-react@0.15.39(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))(fastestsmallesttextencoderdecoder@1.0.22)(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)(typescript@5.9.3)':
+ '@solana/wallet-adapter-react@0.15.39(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))(fastestsmallesttextencoderdecoder@1.0.22)(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6))(react@19.2.6)(typescript@5.9.3)':
dependencies:
- '@solana-mobile/wallet-adapter-mobile': 2.2.8(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))(fastestsmallesttextencoderdecoder@1.0.22)(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(typescript@5.9.3)
- '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
- '@solana/wallet-standard-wallet-adapter-react': 1.1.4(@solana/wallet-adapter-base@0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)))(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))(react@19.2.6)
+ '@solana-mobile/wallet-adapter-mobile': 2.2.8(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))(fastestsmallesttextencoderdecoder@1.0.22)(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6))(typescript@5.9.3)
+ '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
+ '@solana/wallet-standard-wallet-adapter-react': 1.1.4(@solana/wallet-adapter-base@0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)))(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))(react@19.2.6)
'@solana/web3.js': 1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)
react: 19.2.6
transitivePeerDependencies:
@@ -6339,58 +7038,58 @@ snapshots:
- react-native
- typescript
- '@solana/wallet-adapter-safepal@0.5.22(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))':
+ '@solana/wallet-adapter-safepal@0.5.22(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))':
dependencies:
- '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
+ '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
'@solana/web3.js': 1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)
- '@solana/wallet-adapter-saifu@0.1.19(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))':
+ '@solana/wallet-adapter-saifu@0.1.19(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))':
dependencies:
- '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
+ '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
'@solana/web3.js': 1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)
- '@solana/wallet-adapter-salmon@0.1.18(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))':
+ '@solana/wallet-adapter-salmon@0.1.18(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))':
dependencies:
- '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
+ '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
'@solana/web3.js': 1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)
- salmon-adapter-sdk: 1.1.1(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
+ salmon-adapter-sdk: 1.1.1(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
- '@solana/wallet-adapter-sky@0.1.19(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))':
+ '@solana/wallet-adapter-sky@0.1.19(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))':
dependencies:
- '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
+ '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
'@solana/web3.js': 1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)
- '@solana/wallet-adapter-solflare@0.6.33(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))':
+ '@solana/wallet-adapter-solflare@0.6.33(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))':
dependencies:
- '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
+ '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
'@solana/web3.js': 1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)
- '@solflare-wallet/sdk': 1.4.2(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
+ '@solflare-wallet/sdk': 1.4.2(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
- '@solana/wallet-adapter-solong@0.9.22(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))':
+ '@solana/wallet-adapter-solong@0.9.22(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))':
dependencies:
- '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
+ '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
'@solana/web3.js': 1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)
- '@solana/wallet-adapter-spot@0.1.19(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))':
+ '@solana/wallet-adapter-spot@0.1.19(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))':
dependencies:
- '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
+ '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
'@solana/web3.js': 1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)
- '@solana/wallet-adapter-tokenary@0.1.16(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))':
+ '@solana/wallet-adapter-tokenary@0.1.16(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))':
dependencies:
- '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
+ '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
'@solana/web3.js': 1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)
- '@solana/wallet-adapter-tokenpocket@0.4.23(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))':
+ '@solana/wallet-adapter-tokenpocket@0.4.23(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))':
dependencies:
- '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
+ '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
'@solana/web3.js': 1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)
- '@solana/wallet-adapter-torus@0.11.32(@babel/runtime@7.29.7)(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)':
+ '@solana/wallet-adapter-torus@0.11.32(@babel/runtime@7.29.7)(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))(bufferutil@4.1.0)(typescript@5.9.3)':
dependencies:
- '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
+ '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
'@solana/web3.js': 1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)
- '@toruslabs/solana-embed': 2.1.0(@babel/runtime@7.29.7)(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)
+ '@toruslabs/solana-embed': 2.1.0(@babel/runtime@7.29.7)(bufferutil@4.1.0)(typescript@5.9.3)
assert: 2.1.0
crypto-browserify: 3.12.1
process: 0.11.10
@@ -6404,11 +7103,11 @@ snapshots:
- typescript
- utf-8-validate
- '@solana/wallet-adapter-trezor@0.1.6(@solana/sysvars@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3))(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(tslib@2.8.1)(typescript@5.9.3)(utf-8-validate@6.0.6)(ws@8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6))':
+ '@solana/wallet-adapter-trezor@0.1.6(@solana/sysvars@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3))(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6))(tslib@2.8.1)(typescript@5.9.3)(ws@8.21.0(bufferutil@4.1.0))':
dependencies:
- '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
+ '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
'@solana/web3.js': 1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)
- '@trezor/connect-web': 9.7.3(@solana/sysvars@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3))(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(tslib@2.8.1)(typescript@5.9.3)(utf-8-validate@6.0.6)(ws@8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6))
+ '@trezor/connect-web': 9.7.3(@solana/sysvars@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3))(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6))(tslib@2.8.1)(typescript@5.9.3)(ws@8.21.0(bufferutil@4.1.0))
buffer: 6.0.3
transitivePeerDependencies:
- '@solana/sysvars'
@@ -6425,24 +7124,24 @@ snapshots:
- utf-8-validate
- ws
- '@solana/wallet-adapter-trust@0.1.17(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))':
+ '@solana/wallet-adapter-trust@0.1.17(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))':
dependencies:
- '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
+ '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
'@solana/web3.js': 1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)
- '@solana/wallet-adapter-unsafe-burner@0.1.11(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))':
+ '@solana/wallet-adapter-unsafe-burner@0.1.11(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))':
dependencies:
'@noble/curves': 1.9.7
- '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
+ '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
'@solana/wallet-standard-features': 1.3.0
'@solana/wallet-standard-util': 1.1.2
'@solana/web3.js': 1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)
- '@solana/wallet-adapter-walletconnect@0.1.21(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)))(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))(@types/react@19.2.15)(bufferutil@4.1.0)(ioredis@5.11.0)(react@19.2.6)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@3.22.4)':
+ '@solana/wallet-adapter-walletconnect@0.1.21(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)))(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))(@types/react@19.2.15)(bufferutil@4.1.0)(ioredis@5.11.0)(react@19.2.6)(typescript@5.9.3)(zod@3.22.4)':
dependencies:
- '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
+ '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
'@solana/web3.js': 1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)
- '@walletconnect/solana-adapter': 0.0.8(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)))(@solana/wallet-adapter-base@0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)))(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))(@types/react@19.2.15)(bufferutil@4.1.0)(ioredis@5.11.0)(react@19.2.6)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@3.22.4)
+ '@walletconnect/solana-adapter': 0.0.8(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)))(@solana/wallet-adapter-base@0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)))(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))(@types/react@19.2.15)(bufferutil@4.1.0)(ioredis@5.11.0)(react@19.2.6)(typescript@5.9.3)(zod@3.22.4)
transitivePeerDependencies:
- '@azure/app-configuration'
- '@azure/cosmos'
@@ -6471,44 +7170,44 @@ snapshots:
- utf-8-validate
- zod
- '@solana/wallet-adapter-wallets@0.19.38(@babel/runtime@7.29.7)(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)))(@solana/sysvars@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3))(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))(@types/react@19.2.15)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(ioredis@5.11.0)(react-dom@19.2.6(react@19.2.6))(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)(tslib@2.8.1)(typescript@5.9.3)(utf-8-validate@6.0.6)(ws@8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6))(zod@3.22.4)':
+ '@solana/wallet-adapter-wallets@0.19.38(@babel/runtime@7.29.7)(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)))(@solana/sysvars@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3))(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))(@types/react@19.2.15)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(ioredis@5.11.0)(react-dom@19.2.6(react@19.2.6))(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6))(react@19.2.6)(tslib@2.8.1)(typescript@5.9.3)(ws@8.21.0(bufferutil@4.1.0))(zod@3.22.4)':
dependencies:
- '@solana/wallet-adapter-alpha': 0.1.14(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
- '@solana/wallet-adapter-avana': 0.1.17(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
- '@solana/wallet-adapter-bitkeep': 0.3.24(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
- '@solana/wallet-adapter-bitpie': 0.5.22(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
- '@solana/wallet-adapter-clover': 0.4.23(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
- '@solana/wallet-adapter-coin98': 0.5.24(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
- '@solana/wallet-adapter-coinbase': 0.1.23(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
- '@solana/wallet-adapter-coinhub': 0.3.22(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
- '@solana/wallet-adapter-fractal': 0.1.12(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
- '@solana/wallet-adapter-huobi': 0.1.19(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
- '@solana/wallet-adapter-hyperpay': 0.1.18(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
- '@solana/wallet-adapter-keystone': 0.1.19(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))(bufferutil@4.1.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(typescript@5.9.3)(utf-8-validate@6.0.6)
- '@solana/wallet-adapter-krystal': 0.1.16(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
- '@solana/wallet-adapter-ledger': 0.9.29(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
- '@solana/wallet-adapter-mathwallet': 0.9.22(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
- '@solana/wallet-adapter-neko': 0.2.16(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
- '@solana/wallet-adapter-nightly': 0.1.20(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
- '@solana/wallet-adapter-nufi': 0.1.21(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
- '@solana/wallet-adapter-onto': 0.1.11(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
- '@solana/wallet-adapter-particle': 0.1.16(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
- '@solana/wallet-adapter-phantom': 0.9.29(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
- '@solana/wallet-adapter-safepal': 0.5.22(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
- '@solana/wallet-adapter-saifu': 0.1.19(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
- '@solana/wallet-adapter-salmon': 0.1.18(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
- '@solana/wallet-adapter-sky': 0.1.19(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
- '@solana/wallet-adapter-solflare': 0.6.33(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
- '@solana/wallet-adapter-solong': 0.9.22(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
- '@solana/wallet-adapter-spot': 0.1.19(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
- '@solana/wallet-adapter-tokenary': 0.1.16(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
- '@solana/wallet-adapter-tokenpocket': 0.4.23(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
- '@solana/wallet-adapter-torus': 0.11.32(@babel/runtime@7.29.7)(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)
- '@solana/wallet-adapter-trezor': 0.1.6(@solana/sysvars@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3))(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(tslib@2.8.1)(typescript@5.9.3)(utf-8-validate@6.0.6)(ws@8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6))
- '@solana/wallet-adapter-trust': 0.1.17(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
- '@solana/wallet-adapter-unsafe-burner': 0.1.11(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
- '@solana/wallet-adapter-walletconnect': 0.1.21(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)))(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))(@types/react@19.2.15)(bufferutil@4.1.0)(ioredis@5.11.0)(react@19.2.6)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@3.22.4)
- '@solana/wallet-adapter-xdefi': 0.1.11(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
+ '@solana/wallet-adapter-alpha': 0.1.14(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
+ '@solana/wallet-adapter-avana': 0.1.17(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
+ '@solana/wallet-adapter-bitkeep': 0.3.24(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
+ '@solana/wallet-adapter-bitpie': 0.5.22(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
+ '@solana/wallet-adapter-clover': 0.4.23(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
+ '@solana/wallet-adapter-coin98': 0.5.24(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
+ '@solana/wallet-adapter-coinbase': 0.1.23(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
+ '@solana/wallet-adapter-coinhub': 0.3.22(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
+ '@solana/wallet-adapter-fractal': 0.1.12(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
+ '@solana/wallet-adapter-huobi': 0.1.19(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
+ '@solana/wallet-adapter-hyperpay': 0.1.18(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
+ '@solana/wallet-adapter-keystone': 0.1.19(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))(bufferutil@4.1.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(typescript@5.9.3)
+ '@solana/wallet-adapter-krystal': 0.1.16(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
+ '@solana/wallet-adapter-ledger': 0.9.29(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
+ '@solana/wallet-adapter-mathwallet': 0.9.22(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
+ '@solana/wallet-adapter-neko': 0.2.16(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
+ '@solana/wallet-adapter-nightly': 0.1.20(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
+ '@solana/wallet-adapter-nufi': 0.1.21(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
+ '@solana/wallet-adapter-onto': 0.1.11(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
+ '@solana/wallet-adapter-particle': 0.1.16(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
+ '@solana/wallet-adapter-phantom': 0.9.29(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
+ '@solana/wallet-adapter-safepal': 0.5.22(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
+ '@solana/wallet-adapter-saifu': 0.1.19(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
+ '@solana/wallet-adapter-salmon': 0.1.18(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
+ '@solana/wallet-adapter-sky': 0.1.19(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
+ '@solana/wallet-adapter-solflare': 0.6.33(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
+ '@solana/wallet-adapter-solong': 0.9.22(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
+ '@solana/wallet-adapter-spot': 0.1.19(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
+ '@solana/wallet-adapter-tokenary': 0.1.16(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
+ '@solana/wallet-adapter-tokenpocket': 0.4.23(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
+ '@solana/wallet-adapter-torus': 0.11.32(@babel/runtime@7.29.7)(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))(bufferutil@4.1.0)(typescript@5.9.3)
+ '@solana/wallet-adapter-trezor': 0.1.6(@solana/sysvars@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3))(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6))(tslib@2.8.1)(typescript@5.9.3)(ws@8.21.0(bufferutil@4.1.0))
+ '@solana/wallet-adapter-trust': 0.1.17(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
+ '@solana/wallet-adapter-unsafe-burner': 0.1.11(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
+ '@solana/wallet-adapter-walletconnect': 0.1.21(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)))(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))(@types/react@19.2.15)(bufferutil@4.1.0)(ioredis@5.11.0)(react@19.2.6)(typescript@5.9.3)(zod@3.22.4)
+ '@solana/wallet-adapter-xdefi': 0.1.11(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
'@solana/web3.js': 1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)
transitivePeerDependencies:
- '@azure/app-configuration'
@@ -6551,9 +7250,9 @@ snapshots:
- ws
- zod
- '@solana/wallet-adapter-xdefi@0.1.11(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))':
+ '@solana/wallet-adapter-xdefi@0.1.11(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))':
dependencies:
- '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
+ '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
'@solana/web3.js': 1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)
'@solana/wallet-standard-chains@1.1.1':
@@ -6571,9 +7270,9 @@ snapshots:
'@solana/wallet-standard-chains': 1.1.1
'@solana/wallet-standard-features': 1.3.0
- '@solana/wallet-standard-wallet-adapter-base@1.1.4(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))':
+ '@solana/wallet-standard-wallet-adapter-base@1.1.4(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))':
dependencies:
- '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
+ '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
'@solana/wallet-standard-chains': 1.1.1
'@solana/wallet-standard-features': 1.3.0
'@solana/wallet-standard-util': 1.1.2
@@ -6583,10 +7282,10 @@ snapshots:
'@wallet-standard/features': 1.1.0
'@wallet-standard/wallet': 1.1.0
- '@solana/wallet-standard-wallet-adapter-react@1.1.4(@solana/wallet-adapter-base@0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)))(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))(react@19.2.6)':
+ '@solana/wallet-standard-wallet-adapter-react@1.1.4(@solana/wallet-adapter-base@0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)))(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))(react@19.2.6)':
dependencies:
- '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
- '@solana/wallet-standard-wallet-adapter-base': 1.1.4(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
+ '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
+ '@solana/wallet-standard-wallet-adapter-base': 1.1.4(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
'@wallet-standard/app': 1.1.0
'@wallet-standard/base': 1.1.0
react: 19.2.6
@@ -6617,7 +7316,7 @@ snapshots:
- typescript
- utf-8-validate
- '@solflare-wallet/sdk@1.4.2(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))':
+ '@solflare-wallet/sdk@1.4.2(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))':
dependencies:
'@solana/web3.js': 1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)
bs58: 5.0.0
@@ -6733,11 +7432,11 @@ snapshots:
'@tanstack/query-core': 5.100.14
react: 19.2.6
- '@toruslabs/base-controllers@5.11.0(@babel/runtime@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6)':
+ '@toruslabs/base-controllers@5.11.0(@babel/runtime@7.29.7)(bufferutil@4.1.0)':
dependencies:
'@babel/runtime': 7.29.7
'@ethereumjs/util': 9.1.0
- '@toruslabs/broadcast-channel': 10.0.2(bufferutil@4.1.0)(utf-8-validate@6.0.6)
+ '@toruslabs/broadcast-channel': 10.0.2(bufferutil@4.1.0)
'@toruslabs/http-helpers': 6.1.1(@babel/runtime@7.29.7)
'@toruslabs/openlogin-jrpc': 8.3.0(@babel/runtime@7.29.7)
'@toruslabs/openlogin-utils': 8.2.1(@babel/runtime@7.29.7)
@@ -6752,14 +7451,14 @@ snapshots:
- supports-color
- utf-8-validate
- '@toruslabs/broadcast-channel@10.0.2(bufferutil@4.1.0)(utf-8-validate@6.0.6)':
+ '@toruslabs/broadcast-channel@10.0.2(bufferutil@4.1.0)':
dependencies:
'@babel/runtime': 7.29.7
'@toruslabs/eccrypto': 4.0.0
'@toruslabs/metadata-helpers': 5.1.0(@babel/runtime@7.29.7)
loglevel: 1.9.2
oblivious-set: 1.4.0
- socket.io-client: 4.8.3(bufferutil@4.1.0)(utf-8-validate@6.0.6)
+ socket.io-client: 4.8.3(bufferutil@4.1.0)
unload: 2.4.1
transitivePeerDependencies:
- '@sentry/types'
@@ -6809,11 +7508,11 @@ snapshots:
base64url: 3.0.1
color: 4.2.3
- '@toruslabs/solana-embed@2.1.0(@babel/runtime@7.29.7)(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)':
+ '@toruslabs/solana-embed@2.1.0(@babel/runtime@7.29.7)(bufferutil@4.1.0)(typescript@5.9.3)':
dependencies:
'@babel/runtime': 7.29.7
'@solana/web3.js': 1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)
- '@toruslabs/base-controllers': 5.11.0(@babel/runtime@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6)
+ '@toruslabs/base-controllers': 5.11.0(@babel/runtime@7.29.7)(bufferutil@4.1.0)
'@toruslabs/http-helpers': 6.1.1(@babel/runtime@7.29.7)
'@toruslabs/openlogin-jrpc': 8.3.0(@babel/runtime@7.29.7)
eth-rpc-errors: 4.0.3
@@ -6829,9 +7528,9 @@ snapshots:
- typescript
- utf-8-validate
- '@trezor/analytics@1.5.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(tslib@2.8.1)':
+ '@trezor/analytics@1.5.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6))(tslib@2.8.1)':
dependencies:
- '@trezor/env-utils': 1.5.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(tslib@2.8.1)
+ '@trezor/env-utils': 1.5.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6))(tslib@2.8.1)
'@trezor/utils': 9.5.0(tslib@2.8.1)
tslib: 2.8.1
transitivePeerDependencies:
@@ -6845,15 +7544,15 @@ snapshots:
'@trezor/utxo-lib': 2.5.0(tslib@2.8.1)
tslib: 2.8.1
- '@trezor/blockchain-link-utils@1.5.2(bufferutil@4.1.0)(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(tslib@2.8.1)(utf-8-validate@6.0.6)':
+ '@trezor/blockchain-link-utils@1.5.2(bufferutil@4.1.0)(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6))(tslib@2.8.1)':
dependencies:
'@mobily/ts-belt': 3.13.1
'@stellar/stellar-sdk': 14.2.0
- '@trezor/env-utils': 1.5.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(tslib@2.8.1)
+ '@trezor/env-utils': 1.5.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6))(tslib@2.8.1)
'@trezor/protobuf': 1.5.2(tslib@2.8.1)
'@trezor/utils': 9.5.0(tslib@2.8.1)
tslib: 2.8.1
- xrpl: 4.4.3(bufferutil@4.1.0)(utf-8-validate@6.0.6)
+ xrpl: 4.4.3(bufferutil@4.1.0)
transitivePeerDependencies:
- bufferutil
- debug
@@ -6863,27 +7562,27 @@ snapshots:
- supports-color
- utf-8-validate
- '@trezor/blockchain-link@2.6.2(@solana/sysvars@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3))(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(tslib@2.8.1)(typescript@5.9.3)(utf-8-validate@6.0.6)(ws@8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6))':
+ '@trezor/blockchain-link@2.6.2(@solana/sysvars@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3))(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6))(tslib@2.8.1)(typescript@5.9.3)(ws@8.21.0(bufferutil@4.1.0))':
dependencies:
- '@solana-program/compute-budget': 0.8.0(@solana/kit@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)))
- '@solana-program/stake': 0.2.1(@solana/kit@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)))
- '@solana-program/token': 0.5.1(@solana/kit@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)))
- '@solana-program/token-2022': 0.4.2(@solana/kit@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)))(@solana/sysvars@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3))
- '@solana/kit': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6))
+ '@solana-program/compute-budget': 0.8.0(@solana/kit@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.21.0(bufferutil@4.1.0)))
+ '@solana-program/stake': 0.2.1(@solana/kit@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.21.0(bufferutil@4.1.0)))
+ '@solana-program/token': 0.5.1(@solana/kit@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.21.0(bufferutil@4.1.0)))
+ '@solana-program/token-2022': 0.4.2(@solana/kit@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.21.0(bufferutil@4.1.0)))(@solana/sysvars@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3))
+ '@solana/kit': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.21.0(bufferutil@4.1.0))
'@solana/rpc-types': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
'@stellar/stellar-sdk': 14.2.0
'@trezor/blockchain-link-types': 1.5.1(tslib@2.8.1)
- '@trezor/blockchain-link-utils': 1.5.2(bufferutil@4.1.0)(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(tslib@2.8.1)(utf-8-validate@6.0.6)
- '@trezor/env-utils': 1.5.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(tslib@2.8.1)
+ '@trezor/blockchain-link-utils': 1.5.2(bufferutil@4.1.0)(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6))(tslib@2.8.1)
+ '@trezor/env-utils': 1.5.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6))(tslib@2.8.1)
'@trezor/utils': 9.5.0(tslib@2.8.1)
'@trezor/utxo-lib': 2.5.0(tslib@2.8.1)
- '@trezor/websocket-client': 1.3.0(bufferutil@4.1.0)(tslib@2.8.1)(utf-8-validate@6.0.6)
+ '@trezor/websocket-client': 1.3.0(bufferutil@4.1.0)(tslib@2.8.1)
'@types/web': 0.0.197
crypto-browserify: 3.12.0
socks-proxy-agent: 8.0.5
stream-browserify: 3.0.0
tslib: 2.8.1
- xrpl: 4.4.3(bufferutil@4.1.0)(utf-8-validate@6.0.6)
+ xrpl: 4.4.3(bufferutil@4.1.0)
transitivePeerDependencies:
- '@solana/sysvars'
- bufferutil
@@ -6897,18 +7596,18 @@ snapshots:
- utf-8-validate
- ws
- '@trezor/connect-analytics@1.4.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(tslib@2.8.1)':
+ '@trezor/connect-analytics@1.4.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6))(tslib@2.8.1)':
dependencies:
- '@trezor/analytics': 1.5.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(tslib@2.8.1)
+ '@trezor/analytics': 1.5.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6))(tslib@2.8.1)
tslib: 2.8.1
transitivePeerDependencies:
- expo-constants
- expo-localization
- react-native
- '@trezor/connect-common@0.5.1(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(tslib@2.8.1)':
+ '@trezor/connect-common@0.5.1(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6))(tslib@2.8.1)':
dependencies:
- '@trezor/env-utils': 1.5.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(tslib@2.8.1)
+ '@trezor/env-utils': 1.5.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6))(tslib@2.8.1)
'@trezor/type-utils': 1.2.0
'@trezor/utils': 9.5.0(tslib@2.8.1)
tslib: 2.8.1
@@ -6917,12 +7616,12 @@ snapshots:
- expo-localization
- react-native
- '@trezor/connect-web@9.7.3(@solana/sysvars@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3))(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(tslib@2.8.1)(typescript@5.9.3)(utf-8-validate@6.0.6)(ws@8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6))':
+ '@trezor/connect-web@9.7.3(@solana/sysvars@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3))(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6))(tslib@2.8.1)(typescript@5.9.3)(ws@8.21.0(bufferutil@4.1.0))':
dependencies:
- '@trezor/connect': 9.7.3(@solana/sysvars@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3))(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(tslib@2.8.1)(typescript@5.9.3)(utf-8-validate@6.0.6)(ws@8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6))
- '@trezor/connect-common': 0.5.1(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(tslib@2.8.1)
+ '@trezor/connect': 9.7.3(@solana/sysvars@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3))(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6))(tslib@2.8.1)(typescript@5.9.3)(ws@8.21.0(bufferutil@4.1.0))
+ '@trezor/connect-common': 0.5.1(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6))(tslib@2.8.1)
'@trezor/utils': 9.5.0(tslib@2.8.1)
- '@trezor/websocket-client': 1.3.0(bufferutil@4.1.0)(tslib@2.8.1)(utf-8-validate@6.0.6)
+ '@trezor/websocket-client': 1.3.0(bufferutil@4.1.0)(tslib@2.8.1)
tslib: 2.8.1
transitivePeerDependencies:
- '@solana/sysvars'
@@ -6938,7 +7637,7 @@ snapshots:
- utf-8-validate
- ws
- '@trezor/connect@9.7.3(@solana/sysvars@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3))(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(tslib@2.8.1)(typescript@5.9.3)(utf-8-validate@6.0.6)(ws@8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6))':
+ '@trezor/connect@9.7.3(@solana/sysvars@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3))(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6))(tslib@2.8.1)(typescript@5.9.3)(ws@8.21.0(bufferutil@4.1.0))':
dependencies:
'@ethereumjs/common': 10.1.2
'@ethereumjs/tx': 10.1.2
@@ -6946,20 +7645,20 @@ snapshots:
'@mobily/ts-belt': 3.13.1
'@noble/hashes': 1.8.0
'@scure/bip39': 1.6.0
- '@solana-program/compute-budget': 0.8.0(@solana/kit@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)))
- '@solana-program/system': 0.7.0(@solana/kit@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)))
- '@solana-program/token': 0.5.1(@solana/kit@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)))
- '@solana-program/token-2022': 0.4.2(@solana/kit@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)))(@solana/sysvars@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3))
- '@solana/kit': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6))
- '@trezor/blockchain-link': 2.6.2(@solana/sysvars@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3))(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(tslib@2.8.1)(typescript@5.9.3)(utf-8-validate@6.0.6)(ws@8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6))
+ '@solana-program/compute-budget': 0.8.0(@solana/kit@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.21.0(bufferutil@4.1.0)))
+ '@solana-program/system': 0.7.0(@solana/kit@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.21.0(bufferutil@4.1.0)))
+ '@solana-program/token': 0.5.1(@solana/kit@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.21.0(bufferutil@4.1.0)))
+ '@solana-program/token-2022': 0.4.2(@solana/kit@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.21.0(bufferutil@4.1.0)))(@solana/sysvars@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3))
+ '@solana/kit': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.21.0(bufferutil@4.1.0))
+ '@trezor/blockchain-link': 2.6.2(@solana/sysvars@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3))(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6))(tslib@2.8.1)(typescript@5.9.3)(ws@8.21.0(bufferutil@4.1.0))
'@trezor/blockchain-link-types': 1.5.1(tslib@2.8.1)
- '@trezor/blockchain-link-utils': 1.5.2(bufferutil@4.1.0)(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(tslib@2.8.1)(utf-8-validate@6.0.6)
- '@trezor/connect-analytics': 1.4.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(tslib@2.8.1)
- '@trezor/connect-common': 0.5.1(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(tslib@2.8.1)
+ '@trezor/blockchain-link-utils': 1.5.2(bufferutil@4.1.0)(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6))(tslib@2.8.1)
+ '@trezor/connect-analytics': 1.4.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6))(tslib@2.8.1)
+ '@trezor/connect-common': 0.5.1(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6))(tslib@2.8.1)
'@trezor/crypto-utils': 1.2.0(tslib@2.8.1)
'@trezor/device-authenticity': 1.1.2(tslib@2.8.1)
'@trezor/device-utils': 1.2.0
- '@trezor/env-utils': 1.5.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(tslib@2.8.1)
+ '@trezor/env-utils': 1.5.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6))(tslib@2.8.1)
'@trezor/protobuf': 1.5.3(tslib@2.8.1)
'@trezor/protocol': 1.3.1(tslib@2.8.1)
'@trezor/schema-utils': 1.4.0(tslib@2.8.1)
@@ -7004,12 +7703,12 @@ snapshots:
'@trezor/device-utils@1.2.0': {}
- '@trezor/env-utils@1.5.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(tslib@2.8.1)':
+ '@trezor/env-utils@1.5.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6))(tslib@2.8.1)':
dependencies:
tslib: 2.8.1
ua-parser-js: 2.0.10
optionalDependencies:
- react-native: 0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)
+ react-native: 0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)
'@trezor/protobuf@1.5.2(tslib@2.8.1)':
dependencies:
@@ -7075,7 +7774,7 @@ snapshots:
varuint-bitcoin: 2.0.0
wif: 5.0.0
- '@trezor/websocket-client@1.3.0(bufferutil@4.1.0)(tslib@2.8.1)(utf-8-validate@6.0.6)':
+ '@trezor/websocket-client@1.3.0(bufferutil@4.1.0)(tslib@2.8.1)':
dependencies:
'@trezor/utils': 9.5.0(tslib@2.8.1)
tslib: 2.8.1
@@ -7084,10 +7783,21 @@ snapshots:
- bufferutil
- utf-8-validate
+ '@types/chai@5.2.3':
+ dependencies:
+ '@types/deep-eql': 4.0.2
+ assertion-error: 2.0.1
+
'@types/connect@3.4.38':
dependencies:
'@types/node': 22.19.19
+ '@types/deep-eql@4.0.2': {}
+
+ '@types/estree@1.0.8': {}
+
+ '@types/estree@1.0.9': {}
+
'@types/istanbul-lib-coverage@2.0.6': {}
'@types/istanbul-lib-report@3.0.3':
@@ -7142,6 +7852,48 @@ snapshots:
dependencies:
'@types/yargs-parser': 21.0.3
+ '@vitest/expect@3.2.4':
+ dependencies:
+ '@types/chai': 5.2.3
+ '@vitest/spy': 3.2.4
+ '@vitest/utils': 3.2.4
+ chai: 5.3.3
+ tinyrainbow: 2.0.0
+
+ '@vitest/mocker@3.2.4(vite@7.3.3(@types/node@22.19.19)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.48.0)(tsx@4.22.3)(yaml@2.9.0))':
+ dependencies:
+ '@vitest/spy': 3.2.4
+ estree-walker: 3.0.3
+ magic-string: 0.30.21
+ optionalDependencies:
+ vite: 7.3.3(@types/node@22.19.19)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.48.0)(tsx@4.22.3)(yaml@2.9.0)
+
+ '@vitest/pretty-format@3.2.4':
+ dependencies:
+ tinyrainbow: 2.0.0
+
+ '@vitest/runner@3.2.4':
+ dependencies:
+ '@vitest/utils': 3.2.4
+ pathe: 2.0.3
+ strip-literal: 3.1.0
+
+ '@vitest/snapshot@3.2.4':
+ dependencies:
+ '@vitest/pretty-format': 3.2.4
+ magic-string: 0.30.21
+ pathe: 2.0.3
+
+ '@vitest/spy@3.2.4':
+ dependencies:
+ tinyspy: 4.0.4
+
+ '@vitest/utils@3.2.4':
+ dependencies:
+ '@vitest/pretty-format': 3.2.4
+ loupe: 3.2.1
+ tinyrainbow: 2.0.0
+
'@wallet-standard/app@1.1.0':
dependencies:
'@wallet-standard/base': 1.1.0
@@ -7169,21 +7921,21 @@ snapshots:
dependencies:
'@wallet-standard/base': 1.1.0
- '@walletconnect/core@2.19.0(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)))(bufferutil@4.1.0)(ioredis@5.11.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@3.22.4)':
+ '@walletconnect/core@2.19.0(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)))(bufferutil@4.1.0)(ioredis@5.11.0)(typescript@5.9.3)(zod@3.22.4)':
dependencies:
'@walletconnect/heartbeat': 1.2.2
'@walletconnect/jsonrpc-provider': 1.0.14
'@walletconnect/jsonrpc-types': 1.0.4
'@walletconnect/jsonrpc-utils': 1.0.8
- '@walletconnect/jsonrpc-ws-connection': 1.0.16(bufferutil@4.1.0)(utf-8-validate@6.0.6)
- '@walletconnect/keyvaluestorage': 1.1.1(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)))(ioredis@5.11.0)
+ '@walletconnect/jsonrpc-ws-connection': 1.0.16(bufferutil@4.1.0)
+ '@walletconnect/keyvaluestorage': 1.1.1(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)))(ioredis@5.11.0)
'@walletconnect/logger': 2.1.2
'@walletconnect/relay-api': 1.0.11
'@walletconnect/relay-auth': 1.1.0
'@walletconnect/safe-json': 1.0.2
'@walletconnect/time': 1.0.2
- '@walletconnect/types': 2.19.0(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)))(ioredis@5.11.0)
- '@walletconnect/utils': 2.19.0(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)))(bufferutil@4.1.0)(ioredis@5.11.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@3.22.4)
+ '@walletconnect/types': 2.19.0(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)))(ioredis@5.11.0)
+ '@walletconnect/utils': 2.19.0(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)))(bufferutil@4.1.0)(ioredis@5.11.0)(typescript@5.9.3)(zod@3.22.4)
'@walletconnect/window-getters': 1.0.1
events: 3.3.0
lodash.isequal: 4.5.0
@@ -7213,21 +7965,21 @@ snapshots:
- utf-8-validate
- zod
- '@walletconnect/core@2.19.1(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)))(bufferutil@4.1.0)(ioredis@5.11.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@3.22.4)':
+ '@walletconnect/core@2.19.1(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)))(bufferutil@4.1.0)(ioredis@5.11.0)(typescript@5.9.3)(zod@3.22.4)':
dependencies:
'@walletconnect/heartbeat': 1.2.2
'@walletconnect/jsonrpc-provider': 1.0.14
'@walletconnect/jsonrpc-types': 1.0.4
'@walletconnect/jsonrpc-utils': 1.0.8
- '@walletconnect/jsonrpc-ws-connection': 1.0.16(bufferutil@4.1.0)(utf-8-validate@6.0.6)
- '@walletconnect/keyvaluestorage': 1.1.1(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)))(ioredis@5.11.0)
+ '@walletconnect/jsonrpc-ws-connection': 1.0.16(bufferutil@4.1.0)
+ '@walletconnect/keyvaluestorage': 1.1.1(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)))(ioredis@5.11.0)
'@walletconnect/logger': 2.1.2
'@walletconnect/relay-api': 1.0.11
'@walletconnect/relay-auth': 1.1.0
'@walletconnect/safe-json': 1.0.2
'@walletconnect/time': 1.0.2
- '@walletconnect/types': 2.19.1(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)))(ioredis@5.11.0)
- '@walletconnect/utils': 2.19.1(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)))(bufferutil@4.1.0)(ioredis@5.11.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@3.22.4)
+ '@walletconnect/types': 2.19.1(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)))(ioredis@5.11.0)
+ '@walletconnect/utils': 2.19.1(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)))(bufferutil@4.1.0)(ioredis@5.11.0)(typescript@5.9.3)(zod@3.22.4)
'@walletconnect/window-getters': 1.0.1
es-toolkit: 1.33.0
events: 3.3.0
@@ -7298,7 +8050,7 @@ snapshots:
'@walletconnect/jsonrpc-types': 1.0.4
tslib: 1.14.1
- '@walletconnect/jsonrpc-ws-connection@1.0.16(bufferutil@4.1.0)(utf-8-validate@6.0.6)':
+ '@walletconnect/jsonrpc-ws-connection@1.0.16(bufferutil@4.1.0)':
dependencies:
'@walletconnect/jsonrpc-utils': 1.0.8
'@walletconnect/safe-json': 1.0.2
@@ -7308,13 +8060,13 @@ snapshots:
- bufferutil
- utf-8-validate
- '@walletconnect/keyvaluestorage@1.1.1(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)))(ioredis@5.11.0)':
+ '@walletconnect/keyvaluestorage@1.1.1(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)))(ioredis@5.11.0)':
dependencies:
'@walletconnect/safe-json': 1.0.2
idb-keyval: 6.2.4
unstorage: 1.17.5(idb-keyval@6.2.4)(ioredis@5.11.0)
optionalDependencies:
- '@react-native-async-storage/async-storage': 1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))
+ '@react-native-async-storage/async-storage': 1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6))
transitivePeerDependencies:
- '@azure/app-configuration'
- '@azure/cosmos'
@@ -7356,16 +8108,16 @@ snapshots:
dependencies:
tslib: 1.14.1
- '@walletconnect/sign-client@2.19.0(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)))(bufferutil@4.1.0)(ioredis@5.11.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@3.22.4)':
+ '@walletconnect/sign-client@2.19.0(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)))(bufferutil@4.1.0)(ioredis@5.11.0)(typescript@5.9.3)(zod@3.22.4)':
dependencies:
- '@walletconnect/core': 2.19.0(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)))(bufferutil@4.1.0)(ioredis@5.11.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@3.22.4)
+ '@walletconnect/core': 2.19.0(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)))(bufferutil@4.1.0)(ioredis@5.11.0)(typescript@5.9.3)(zod@3.22.4)
'@walletconnect/events': 1.0.1
'@walletconnect/heartbeat': 1.2.2
'@walletconnect/jsonrpc-utils': 1.0.8
'@walletconnect/logger': 2.1.2
'@walletconnect/time': 1.0.2
- '@walletconnect/types': 2.19.0(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)))(ioredis@5.11.0)
- '@walletconnect/utils': 2.19.0(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)))(bufferutil@4.1.0)(ioredis@5.11.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@3.22.4)
+ '@walletconnect/types': 2.19.0(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)))(ioredis@5.11.0)
+ '@walletconnect/utils': 2.19.0(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)))(bufferutil@4.1.0)(ioredis@5.11.0)(typescript@5.9.3)(zod@3.22.4)
events: 3.3.0
transitivePeerDependencies:
- '@azure/app-configuration'
@@ -7392,16 +8144,16 @@ snapshots:
- utf-8-validate
- zod
- '@walletconnect/sign-client@2.19.1(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)))(bufferutil@4.1.0)(ioredis@5.11.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@3.22.4)':
+ '@walletconnect/sign-client@2.19.1(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)))(bufferutil@4.1.0)(ioredis@5.11.0)(typescript@5.9.3)(zod@3.22.4)':
dependencies:
- '@walletconnect/core': 2.19.1(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)))(bufferutil@4.1.0)(ioredis@5.11.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@3.22.4)
+ '@walletconnect/core': 2.19.1(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)))(bufferutil@4.1.0)(ioredis@5.11.0)(typescript@5.9.3)(zod@3.22.4)
'@walletconnect/events': 1.0.1
'@walletconnect/heartbeat': 1.2.2
'@walletconnect/jsonrpc-utils': 1.0.8
'@walletconnect/logger': 2.1.2
'@walletconnect/time': 1.0.2
- '@walletconnect/types': 2.19.1(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)))(ioredis@5.11.0)
- '@walletconnect/utils': 2.19.1(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)))(bufferutil@4.1.0)(ioredis@5.11.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@3.22.4)
+ '@walletconnect/types': 2.19.1(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)))(ioredis@5.11.0)
+ '@walletconnect/utils': 2.19.1(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)))(bufferutil@4.1.0)(ioredis@5.11.0)(typescript@5.9.3)(zod@3.22.4)
events: 3.3.0
transitivePeerDependencies:
- '@azure/app-configuration'
@@ -7428,13 +8180,13 @@ snapshots:
- utf-8-validate
- zod
- '@walletconnect/solana-adapter@0.0.8(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)))(@solana/wallet-adapter-base@0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)))(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))(@types/react@19.2.15)(bufferutil@4.1.0)(ioredis@5.11.0)(react@19.2.6)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@3.22.4)':
+ '@walletconnect/solana-adapter@0.0.8(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)))(@solana/wallet-adapter-base@0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)))(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))(@types/react@19.2.15)(bufferutil@4.1.0)(ioredis@5.11.0)(react@19.2.6)(typescript@5.9.3)(zod@3.22.4)':
dependencies:
- '@reown/appkit': 1.7.2(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)))(@types/react@19.2.15)(bufferutil@4.1.0)(ioredis@5.11.0)(react@19.2.6)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@3.22.4)
- '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
+ '@reown/appkit': 1.7.2(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)))(@types/react@19.2.15)(bufferutil@4.1.0)(ioredis@5.11.0)(react@19.2.6)(typescript@5.9.3)(zod@3.22.4)
+ '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
'@solana/web3.js': 1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)
- '@walletconnect/universal-provider': 2.19.0(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)))(bufferutil@4.1.0)(ioredis@5.11.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@3.22.4)
- '@walletconnect/utils': 2.19.0(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)))(bufferutil@4.1.0)(ioredis@5.11.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@3.22.4)
+ '@walletconnect/universal-provider': 2.19.0(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)))(bufferutil@4.1.0)(ioredis@5.11.0)(typescript@5.9.3)(zod@3.22.4)
+ '@walletconnect/utils': 2.19.0(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)))(bufferutil@4.1.0)(ioredis@5.11.0)(typescript@5.9.3)(zod@3.22.4)
bs58: 6.0.0
transitivePeerDependencies:
- '@azure/app-configuration'
@@ -7468,12 +8220,12 @@ snapshots:
dependencies:
tslib: 1.14.1
- '@walletconnect/types@2.19.0(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)))(ioredis@5.11.0)':
+ '@walletconnect/types@2.19.0(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)))(ioredis@5.11.0)':
dependencies:
'@walletconnect/events': 1.0.1
'@walletconnect/heartbeat': 1.2.2
'@walletconnect/jsonrpc-types': 1.0.4
- '@walletconnect/keyvaluestorage': 1.1.1(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)))(ioredis@5.11.0)
+ '@walletconnect/keyvaluestorage': 1.1.1(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)))(ioredis@5.11.0)
'@walletconnect/logger': 2.1.2
events: 3.3.0
transitivePeerDependencies:
@@ -7497,12 +8249,12 @@ snapshots:
- ioredis
- uploadthing
- '@walletconnect/types@2.19.1(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)))(ioredis@5.11.0)':
+ '@walletconnect/types@2.19.1(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)))(ioredis@5.11.0)':
dependencies:
'@walletconnect/events': 1.0.1
'@walletconnect/heartbeat': 1.2.2
'@walletconnect/jsonrpc-types': 1.0.4
- '@walletconnect/keyvaluestorage': 1.1.1(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)))(ioredis@5.11.0)
+ '@walletconnect/keyvaluestorage': 1.1.1(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)))(ioredis@5.11.0)
'@walletconnect/logger': 2.1.2
events: 3.3.0
transitivePeerDependencies:
@@ -7526,18 +8278,18 @@ snapshots:
- ioredis
- uploadthing
- '@walletconnect/universal-provider@2.19.0(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)))(bufferutil@4.1.0)(ioredis@5.11.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@3.22.4)':
+ '@walletconnect/universal-provider@2.19.0(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)))(bufferutil@4.1.0)(ioredis@5.11.0)(typescript@5.9.3)(zod@3.22.4)':
dependencies:
'@walletconnect/events': 1.0.1
'@walletconnect/jsonrpc-http-connection': 1.0.8
'@walletconnect/jsonrpc-provider': 1.0.14
'@walletconnect/jsonrpc-types': 1.0.4
'@walletconnect/jsonrpc-utils': 1.0.8
- '@walletconnect/keyvaluestorage': 1.1.1(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)))(ioredis@5.11.0)
+ '@walletconnect/keyvaluestorage': 1.1.1(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)))(ioredis@5.11.0)
'@walletconnect/logger': 2.1.2
- '@walletconnect/sign-client': 2.19.0(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)))(bufferutil@4.1.0)(ioredis@5.11.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@3.22.4)
- '@walletconnect/types': 2.19.0(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)))(ioredis@5.11.0)
- '@walletconnect/utils': 2.19.0(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)))(bufferutil@4.1.0)(ioredis@5.11.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@3.22.4)
+ '@walletconnect/sign-client': 2.19.0(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)))(bufferutil@4.1.0)(ioredis@5.11.0)(typescript@5.9.3)(zod@3.22.4)
+ '@walletconnect/types': 2.19.0(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)))(ioredis@5.11.0)
+ '@walletconnect/utils': 2.19.0(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)))(bufferutil@4.1.0)(ioredis@5.11.0)(typescript@5.9.3)(zod@3.22.4)
events: 3.3.0
lodash: 4.17.21
transitivePeerDependencies:
@@ -7566,18 +8318,18 @@ snapshots:
- utf-8-validate
- zod
- '@walletconnect/universal-provider@2.19.1(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)))(bufferutil@4.1.0)(ioredis@5.11.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@3.22.4)':
+ '@walletconnect/universal-provider@2.19.1(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)))(bufferutil@4.1.0)(ioredis@5.11.0)(typescript@5.9.3)(zod@3.22.4)':
dependencies:
'@walletconnect/events': 1.0.1
'@walletconnect/jsonrpc-http-connection': 1.0.8
'@walletconnect/jsonrpc-provider': 1.0.14
'@walletconnect/jsonrpc-types': 1.0.4
'@walletconnect/jsonrpc-utils': 1.0.8
- '@walletconnect/keyvaluestorage': 1.1.1(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)))(ioredis@5.11.0)
+ '@walletconnect/keyvaluestorage': 1.1.1(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)))(ioredis@5.11.0)
'@walletconnect/logger': 2.1.2
- '@walletconnect/sign-client': 2.19.1(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)))(bufferutil@4.1.0)(ioredis@5.11.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@3.22.4)
- '@walletconnect/types': 2.19.1(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)))(ioredis@5.11.0)
- '@walletconnect/utils': 2.19.1(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)))(bufferutil@4.1.0)(ioredis@5.11.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@3.22.4)
+ '@walletconnect/sign-client': 2.19.1(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)))(bufferutil@4.1.0)(ioredis@5.11.0)(typescript@5.9.3)(zod@3.22.4)
+ '@walletconnect/types': 2.19.1(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)))(ioredis@5.11.0)
+ '@walletconnect/utils': 2.19.1(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)))(bufferutil@4.1.0)(ioredis@5.11.0)(typescript@5.9.3)(zod@3.22.4)
es-toolkit: 1.33.0
events: 3.3.0
transitivePeerDependencies:
@@ -7606,25 +8358,25 @@ snapshots:
- utf-8-validate
- zod
- '@walletconnect/utils@2.19.0(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)))(bufferutil@4.1.0)(ioredis@5.11.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@3.22.4)':
+ '@walletconnect/utils@2.19.0(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)))(bufferutil@4.1.0)(ioredis@5.11.0)(typescript@5.9.3)(zod@3.22.4)':
dependencies:
'@noble/ciphers': 1.2.1
'@noble/curves': 1.8.1
'@noble/hashes': 1.7.1
'@walletconnect/jsonrpc-utils': 1.0.8
- '@walletconnect/keyvaluestorage': 1.1.1(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)))(ioredis@5.11.0)
+ '@walletconnect/keyvaluestorage': 1.1.1(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)))(ioredis@5.11.0)
'@walletconnect/relay-api': 1.0.11
'@walletconnect/relay-auth': 1.1.0
'@walletconnect/safe-json': 1.0.2
'@walletconnect/time': 1.0.2
- '@walletconnect/types': 2.19.0(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)))(ioredis@5.11.0)
+ '@walletconnect/types': 2.19.0(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)))(ioredis@5.11.0)
'@walletconnect/window-getters': 1.0.1
'@walletconnect/window-metadata': 1.0.1
detect-browser: 5.3.0
elliptic: 6.6.1
query-string: 7.1.3
uint8arrays: 3.1.0
- viem: 2.23.2(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@3.22.4)
+ viem: 2.23.2(bufferutil@4.1.0)(typescript@5.9.3)(zod@3.22.4)
transitivePeerDependencies:
- '@azure/app-configuration'
- '@azure/cosmos'
@@ -7650,18 +8402,18 @@ snapshots:
- utf-8-validate
- zod
- '@walletconnect/utils@2.19.1(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)))(bufferutil@4.1.0)(ioredis@5.11.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@3.22.4)':
+ '@walletconnect/utils@2.19.1(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)))(bufferutil@4.1.0)(ioredis@5.11.0)(typescript@5.9.3)(zod@3.22.4)':
dependencies:
'@noble/ciphers': 1.2.1
'@noble/curves': 1.8.1
'@noble/hashes': 1.7.1
'@walletconnect/jsonrpc-utils': 1.0.8
- '@walletconnect/keyvaluestorage': 1.1.1(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)))(ioredis@5.11.0)
+ '@walletconnect/keyvaluestorage': 1.1.1(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)))(ioredis@5.11.0)
'@walletconnect/relay-api': 1.0.11
'@walletconnect/relay-auth': 1.1.0
'@walletconnect/safe-json': 1.0.2
'@walletconnect/time': 1.0.2
- '@walletconnect/types': 2.19.1(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)))(ioredis@5.11.0)
+ '@walletconnect/types': 2.19.1(@react-native-async-storage/async-storage@1.24.0(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)))(ioredis@5.11.0)
'@walletconnect/window-getters': 1.0.1
'@walletconnect/window-metadata': 1.0.1
bs58: 6.0.0
@@ -7669,7 +8421,7 @@ snapshots:
elliptic: 6.6.1
query-string: 7.1.3
uint8arrays: 3.1.0
- viem: 2.23.2(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@3.22.4)
+ viem: 2.23.2(bufferutil@4.1.0)(typescript@5.9.3)(zod@3.22.4)
transitivePeerDependencies:
- '@azure/app-configuration'
- '@azure/cosmos'
@@ -7704,7 +8456,7 @@ snapshots:
'@walletconnect/window-getters': 1.0.1
tslib: 1.14.1
- '@xrplf/isomorphic@1.0.1(bufferutil@4.1.0)(utf-8-validate@6.0.6)':
+ '@xrplf/isomorphic@1.0.1(bufferutil@4.1.0)':
dependencies:
'@noble/hashes': 1.8.0
eventemitter3: 5.0.1
@@ -7713,10 +8465,10 @@ snapshots:
- bufferutil
- utf-8-validate
- '@xrplf/secret-numbers@2.0.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)':
+ '@xrplf/secret-numbers@2.0.0(bufferutil@4.1.0)':
dependencies:
- '@xrplf/isomorphic': 1.0.1(bufferutil@4.1.0)(utf-8-validate@6.0.6)
- ripple-keypairs: 2.0.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)
+ '@xrplf/isomorphic': 1.0.1(bufferutil@4.1.0)
+ ripple-keypairs: 2.0.0(bufferutil@4.1.0)
transitivePeerDependencies:
- bufferutil
- utf-8-validate
@@ -7798,6 +8550,8 @@ snapshots:
object.assign: 4.1.7
util: 0.12.5
+ assertion-error@2.0.1: {}
+
async-mutex@0.5.0:
dependencies:
tslib: 2.8.1
@@ -7998,6 +8752,8 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ cac@6.7.14: {}
+
call-bind-apply-helpers@1.0.2:
dependencies:
es-errors: 1.3.0
@@ -8031,6 +8787,14 @@ snapshots:
dependencies:
nofilter: 3.1.0
+ chai@5.3.3:
+ dependencies:
+ assertion-error: 2.0.1
+ check-error: 2.1.3
+ deep-eql: 5.0.2
+ loupe: 3.2.1
+ pathval: 2.0.1
+
chalk@4.1.2:
dependencies:
ansi-styles: 4.3.0
@@ -8038,6 +8802,8 @@ snapshots:
chalk@5.6.2: {}
+ check-error@2.1.3: {}
+
chokidar@5.0.0:
dependencies:
readdirp: 5.0.0
@@ -8233,6 +8999,8 @@ snapshots:
decode-uri-component@0.2.2: {}
+ deep-eql@5.0.2: {}
+
define-data-property@1.1.4:
dependencies:
es-define-property: 1.0.1
@@ -8332,12 +9100,12 @@ snapshots:
dependencies:
once: 1.4.0
- engine.io-client@6.6.5(bufferutil@4.1.0)(utf-8-validate@6.0.6):
+ engine.io-client@6.6.5(bufferutil@4.1.0):
dependencies:
'@socket.io/component-emitter': 3.1.2
debug: 4.4.3
engine.io-parser: 5.2.3
- ws: 8.20.1(bufferutil@4.1.0)(utf-8-validate@6.0.6)
+ ws: 8.20.1(bufferutil@4.1.0)
xmlhttprequest-ssl: 2.1.2
transitivePeerDependencies:
- bufferutil
@@ -8359,6 +9127,8 @@ snapshots:
es-errors@1.3.0: {}
+ es-module-lexer@1.7.0: {}
+
es-object-atoms@1.1.2:
dependencies:
es-errors: 1.3.0
@@ -8378,6 +9148,35 @@ snapshots:
dependencies:
es6-promise: 4.2.8
+ esbuild@0.27.7:
+ optionalDependencies:
+ '@esbuild/aix-ppc64': 0.27.7
+ '@esbuild/android-arm': 0.27.7
+ '@esbuild/android-arm64': 0.27.7
+ '@esbuild/android-x64': 0.27.7
+ '@esbuild/darwin-arm64': 0.27.7
+ '@esbuild/darwin-x64': 0.27.7
+ '@esbuild/freebsd-arm64': 0.27.7
+ '@esbuild/freebsd-x64': 0.27.7
+ '@esbuild/linux-arm': 0.27.7
+ '@esbuild/linux-arm64': 0.27.7
+ '@esbuild/linux-ia32': 0.27.7
+ '@esbuild/linux-loong64': 0.27.7
+ '@esbuild/linux-mips64el': 0.27.7
+ '@esbuild/linux-ppc64': 0.27.7
+ '@esbuild/linux-riscv64': 0.27.7
+ '@esbuild/linux-s390x': 0.27.7
+ '@esbuild/linux-x64': 0.27.7
+ '@esbuild/netbsd-arm64': 0.27.7
+ '@esbuild/netbsd-x64': 0.27.7
+ '@esbuild/openbsd-arm64': 0.27.7
+ '@esbuild/openbsd-x64': 0.27.7
+ '@esbuild/openharmony-arm64': 0.27.7
+ '@esbuild/sunos-x64': 0.27.7
+ '@esbuild/win32-arm64': 0.27.7
+ '@esbuild/win32-ia32': 0.27.7
+ '@esbuild/win32-x64': 0.27.7
+
esbuild@0.28.0:
optionalDependencies:
'@esbuild/aix-ppc64': 0.28.0
@@ -8413,6 +9212,10 @@ snapshots:
escape-string-regexp@4.0.0: {}
+ estree-walker@3.0.3:
+ dependencies:
+ '@types/estree': 1.0.9
+
etag@1.8.1: {}
eth-rpc-errors@4.0.3:
@@ -8447,6 +9250,8 @@ snapshots:
exenv@1.2.2: {}
+ expect-type@1.3.0: {}
+
exponential-backoff@3.1.3: {}
eyes@0.1.8: {}
@@ -8480,6 +9285,8 @@ snapshots:
fastestsmallesttextencoderdecoder@1.0.22: {}
+ fastify-plugin@5.1.0: {}
+
fastify@5.8.5:
dependencies:
'@fastify/ajv-compiler': 4.0.5
@@ -8799,13 +9606,13 @@ snapshots:
dependencies:
ws: 7.5.11(bufferutil@4.1.0)(utf-8-validate@6.0.6)
- isows@1.0.6(ws@8.18.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)):
+ isows@1.0.6(ws@8.18.0(bufferutil@4.1.0)):
dependencies:
- ws: 8.18.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)
+ ws: 8.18.0(bufferutil@4.1.0)
- isows@1.0.7(ws@8.20.1(bufferutil@4.1.0)(utf-8-validate@6.0.6)):
+ isows@1.0.7(ws@8.20.1(bufferutil@4.1.0)):
dependencies:
- ws: 8.20.1(bufferutil@4.1.0)(utf-8-validate@6.0.6)
+ ws: 8.20.1(bufferutil@4.1.0)
jayson@4.3.0(bufferutil@4.1.0)(utf-8-validate@6.0.6):
dependencies:
@@ -8858,6 +9665,8 @@ snapshots:
js-tokens@4.0.0: {}
+ js-tokens@9.0.1: {}
+
jsbi@3.2.5: {}
jsc-safe-url@0.2.4: {}
@@ -9007,6 +9816,8 @@ snapshots:
dependencies:
js-tokens: 4.0.0
+ loupe@3.2.1: {}
+
lru-cache@11.5.1: {}
lru-cache@5.1.1:
@@ -9065,12 +9876,12 @@ snapshots:
transitivePeerDependencies:
- supports-color
- metro-config@0.84.4(bufferutil@4.1.0)(utf-8-validate@6.0.6):
+ metro-config@0.84.4(bufferutil@4.1.0):
dependencies:
connect: 3.7.0
flow-enums-runtime: 0.0.6
jest-validate: 29.7.0
- metro: 0.84.4(bufferutil@4.1.0)(utf-8-validate@6.0.6)
+ metro: 0.84.4(bufferutil@4.1.0)
metro-cache: 0.84.4
metro-core: 0.84.4
metro-runtime: 0.84.4
@@ -9150,14 +9961,14 @@ snapshots:
transitivePeerDependencies:
- supports-color
- metro-transform-worker@0.84.4(bufferutil@4.1.0)(utf-8-validate@6.0.6):
+ metro-transform-worker@0.84.4(bufferutil@4.1.0):
dependencies:
'@babel/core': 7.29.7
'@babel/generator': 7.29.7
'@babel/parser': 7.29.7
'@babel/types': 7.29.7
flow-enums-runtime: 0.0.6
- metro: 0.84.4(bufferutil@4.1.0)(utf-8-validate@6.0.6)
+ metro: 0.84.4(bufferutil@4.1.0)
metro-babel-transformer: 0.84.4
metro-cache: 0.84.4
metro-cache-key: 0.84.4
@@ -9170,7 +9981,7 @@ snapshots:
- supports-color
- utf-8-validate
- metro@0.84.4(bufferutil@4.1.0)(utf-8-validate@6.0.6):
+ metro@0.84.4(bufferutil@4.1.0):
dependencies:
'@babel/code-frame': 7.29.7
'@babel/core': 7.29.7
@@ -9195,7 +10006,7 @@ snapshots:
metro-babel-transformer: 0.84.4
metro-cache: 0.84.4
metro-cache-key: 0.84.4
- metro-config: 0.84.4(bufferutil@4.1.0)(utf-8-validate@6.0.6)
+ metro-config: 0.84.4(bufferutil@4.1.0)
metro-core: 0.84.4
metro-file-map: 0.84.4
metro-resolver: 0.84.4
@@ -9203,7 +10014,7 @@ snapshots:
metro-source-map: 0.84.4
metro-symbolicate: 0.84.4
metro-transform-plugins: 0.84.4
- metro-transform-worker: 0.84.4(bufferutil@4.1.0)(utf-8-validate@6.0.6)
+ metro-transform-worker: 0.84.4(bufferutil@4.1.0)
mime-types: 3.0.2
nullthrows: 1.1.1
serialize-error: 2.1.0
@@ -9246,6 +10057,10 @@ snapshots:
mkdirp@1.0.4: {}
+ mnemonist@0.40.0:
+ dependencies:
+ obliterator: 2.0.5
+
ms@2.0.0: {}
ms@2.1.3: {}
@@ -9351,6 +10166,8 @@ snapshots:
has-symbols: 1.1.0
object-keys: 1.1.1
+ obliterator@2.0.5: {}
+
oblivious-set@1.4.0: {}
ofetch@1.5.1:
@@ -9398,8 +10215,8 @@ snapshots:
ox@0.6.7(typescript@5.9.3)(zod@3.22.4):
dependencies:
'@adraffy/ens-normalize': 1.11.1
- '@noble/curves': 1.8.1
- '@noble/hashes': 1.7.1
+ '@noble/curves': 1.9.7
+ '@noble/hashes': 1.8.0
'@scure/bip32': 1.6.2
'@scure/bip39': 1.5.4
abitype: 1.0.8(typescript@5.9.3)(zod@3.22.4)
@@ -9433,6 +10250,10 @@ snapshots:
path-key@3.1.1: {}
+ pathe@2.0.3: {}
+
+ pathval@2.0.1: {}
+
pbkdf2@3.1.6:
dependencies:
create-hash: 1.2.0
@@ -9676,7 +10497,7 @@ snapshots:
range-parser@1.2.1: {}
- react-devtools-core@6.1.5(bufferutil@4.1.0)(utf-8-validate@6.0.6):
+ react-devtools-core@6.1.5(bufferutil@4.1.0):
dependencies:
shell-quote: 1.8.4
ws: 7.5.11(bufferutil@4.1.0)(utf-8-validate@6.0.6)
@@ -9704,15 +10525,15 @@ snapshots:
react-lifecycles-compat: 3.0.4
warning: 4.0.3
- react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6):
+ react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6):
dependencies:
'@react-native/assets-registry': 0.85.3
'@react-native/codegen': 0.85.3(@babel/core@7.29.7)
- '@react-native/community-cli-plugin': 0.85.3(bufferutil@4.1.0)(utf-8-validate@6.0.6)
+ '@react-native/community-cli-plugin': 0.85.3(bufferutil@4.1.0)
'@react-native/gradle-plugin': 0.85.3
'@react-native/js-polyfills': 0.85.3
'@react-native/normalize-colors': 0.85.3
- '@react-native/virtualized-lists': 0.85.3(@types/react@19.2.15)(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)
+ '@react-native/virtualized-lists': 0.85.3(@types/react@19.2.15)(react-native@0.85.3(@babel/core@7.29.7)(@types/react@19.2.15)(bufferutil@4.1.0)(react@19.2.6))(react@19.2.6)
abort-controller: 3.0.0
anser: 1.4.10
ansi-regex: 5.0.1
@@ -9729,7 +10550,7 @@ snapshots:
pretty-format: 29.7.0
promise: 8.3.0
react: 19.2.6
- react-devtools-core: 6.1.5(bufferutil@4.1.0)(utf-8-validate@6.0.6)
+ react-devtools-core: 6.1.5(bufferutil@4.1.0)
react-refresh: 0.14.2
regenerator-runtime: 0.13.11
scheduler: 0.27.0
@@ -9818,32 +10639,63 @@ snapshots:
hash-base: 3.1.2
inherits: 2.0.4
- ripple-address-codec@5.0.0(bufferutil@4.1.0)(utf-8-validate@6.0.6):
+ ripple-address-codec@5.0.0(bufferutil@4.1.0):
dependencies:
'@scure/base': 1.2.6
- '@xrplf/isomorphic': 1.0.1(bufferutil@4.1.0)(utf-8-validate@6.0.6)
+ '@xrplf/isomorphic': 1.0.1(bufferutil@4.1.0)
transitivePeerDependencies:
- bufferutil
- utf-8-validate
- ripple-binary-codec@2.7.0(bufferutil@4.1.0)(utf-8-validate@6.0.6):
+ ripple-binary-codec@2.7.0(bufferutil@4.1.0):
dependencies:
- '@xrplf/isomorphic': 1.0.1(bufferutil@4.1.0)(utf-8-validate@6.0.6)
+ '@xrplf/isomorphic': 1.0.1(bufferutil@4.1.0)
bignumber.js: 9.3.1
- ripple-address-codec: 5.0.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)
+ ripple-address-codec: 5.0.0(bufferutil@4.1.0)
transitivePeerDependencies:
- bufferutil
- utf-8-validate
- ripple-keypairs@2.0.0(bufferutil@4.1.0)(utf-8-validate@6.0.6):
+ ripple-keypairs@2.0.0(bufferutil@4.1.0):
dependencies:
'@noble/curves': 1.9.7
- '@xrplf/isomorphic': 1.0.1(bufferutil@4.1.0)(utf-8-validate@6.0.6)
- ripple-address-codec: 5.0.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)
+ '@xrplf/isomorphic': 1.0.1(bufferutil@4.1.0)
+ ripple-address-codec: 5.0.0(bufferutil@4.1.0)
transitivePeerDependencies:
- bufferutil
- utf-8-validate
+ rollup@4.60.4:
+ dependencies:
+ '@types/estree': 1.0.8
+ optionalDependencies:
+ '@rollup/rollup-android-arm-eabi': 4.60.4
+ '@rollup/rollup-android-arm64': 4.60.4
+ '@rollup/rollup-darwin-arm64': 4.60.4
+ '@rollup/rollup-darwin-x64': 4.60.4
+ '@rollup/rollup-freebsd-arm64': 4.60.4
+ '@rollup/rollup-freebsd-x64': 4.60.4
+ '@rollup/rollup-linux-arm-gnueabihf': 4.60.4
+ '@rollup/rollup-linux-arm-musleabihf': 4.60.4
+ '@rollup/rollup-linux-arm64-gnu': 4.60.4
+ '@rollup/rollup-linux-arm64-musl': 4.60.4
+ '@rollup/rollup-linux-loong64-gnu': 4.60.4
+ '@rollup/rollup-linux-loong64-musl': 4.60.4
+ '@rollup/rollup-linux-ppc64-gnu': 4.60.4
+ '@rollup/rollup-linux-ppc64-musl': 4.60.4
+ '@rollup/rollup-linux-riscv64-gnu': 4.60.4
+ '@rollup/rollup-linux-riscv64-musl': 4.60.4
+ '@rollup/rollup-linux-s390x-gnu': 4.60.4
+ '@rollup/rollup-linux-x64-gnu': 4.60.4
+ '@rollup/rollup-linux-x64-musl': 4.60.4
+ '@rollup/rollup-openbsd-x64': 4.60.4
+ '@rollup/rollup-openharmony-arm64': 4.60.4
+ '@rollup/rollup-win32-arm64-msvc': 4.60.4
+ '@rollup/rollup-win32-ia32-msvc': 4.60.4
+ '@rollup/rollup-win32-x64-gnu': 4.60.4
+ '@rollup/rollup-win32-x64-msvc': 4.60.4
+ fsevents: 2.3.3
+
rpc-websockets@9.3.9:
dependencies:
'@swc/helpers': 0.5.23
@@ -9885,9 +10737,9 @@ snapshots:
safe-stable-stringify@2.5.0: {}
- salmon-adapter-sdk@1.1.1(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)):
+ salmon-adapter-sdk@1.1.1(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)):
dependencies:
- '@project-serum/sol-wallet-adapter': 0.2.6(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))
+ '@project-serum/sol-wallet-adapter': 0.2.6(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3))
'@solana/web3.js': 1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)
eventemitter3: 4.0.7
@@ -9995,17 +10847,19 @@ snapshots:
shell-quote@1.8.4: {}
+ siginfo@2.0.0: {}
+
simple-swizzle@0.2.4:
dependencies:
is-arrayish: 0.3.4
smart-buffer@4.2.0: {}
- socket.io-client@4.8.3(bufferutil@4.1.0)(utf-8-validate@6.0.6):
+ socket.io-client@4.8.3(bufferutil@4.1.0):
dependencies:
'@socket.io/component-emitter': 3.1.2
debug: 4.4.3
- engine.io-client: 6.6.5(bufferutil@4.1.0)(utf-8-validate@6.0.6)
+ engine.io-client: 6.6.5(bufferutil@4.1.0)
socket.io-parser: 4.2.6
transitivePeerDependencies:
- bufferutil
@@ -10055,6 +10909,8 @@ snapshots:
split2@4.2.0: {}
+ stackback@0.0.2: {}
+
stackframe@1.3.4: {}
stacktrace-parser@0.1.11:
@@ -10067,6 +10923,8 @@ snapshots:
statuses@2.0.2: {}
+ std-env@3.10.0: {}
+
stream-browserify@3.0.0:
dependencies:
inherits: 2.0.4
@@ -10100,6 +10958,10 @@ snapshots:
dependencies:
ansi-regex: 5.0.1
+ strip-literal@3.1.0:
+ dependencies:
+ js-tokens: 9.0.1
+
styled-jsx@5.1.6(@babel/core@7.29.7)(react@19.2.6):
dependencies:
client-only: 0.0.1
@@ -10148,11 +11010,21 @@ snapshots:
elliptic: 6.6.1
nan: 2.27.0
+ tinybench@2.9.0: {}
+
+ tinyexec@0.3.2: {}
+
tinyglobby@0.2.16:
dependencies:
fdir: 6.5.0(picomatch@4.0.4)
picomatch: 4.0.4
+ tinypool@1.1.1: {}
+
+ tinyrainbow@2.0.0: {}
+
+ tinyspy@4.0.4: {}
+
tmpl@1.0.5: {}
to-buffer@1.2.2:
@@ -10300,16 +11172,16 @@ snapshots:
dependencies:
uint8array-tools: 0.0.8
- viem@2.23.2(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@3.22.4):
+ viem@2.23.2(bufferutil@4.1.0)(typescript@5.9.3)(zod@3.22.4):
dependencies:
'@noble/curves': 1.8.1
'@noble/hashes': 1.7.1
'@scure/bip32': 1.6.2
'@scure/bip39': 1.5.4
abitype: 1.0.8(typescript@5.9.3)(zod@3.22.4)
- isows: 1.0.6(ws@8.18.0(bufferutil@4.1.0)(utf-8-validate@6.0.6))
+ isows: 1.0.6(ws@8.18.0(bufferutil@4.1.0))
ox: 0.6.7(typescript@5.9.3)(zod@3.22.4)
- ws: 8.18.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)
+ ws: 8.18.0(bufferutil@4.1.0)
optionalDependencies:
typescript: 5.9.3
transitivePeerDependencies:
@@ -10317,16 +11189,16 @@ snapshots:
- utf-8-validate
- zod
- viem@2.51.3(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@3.22.4):
+ viem@2.51.3(bufferutil@4.1.0)(typescript@5.9.3)(zod@3.22.4):
dependencies:
'@noble/curves': 1.9.1
'@noble/hashes': 1.8.0
'@scure/bip32': 1.7.0
'@scure/bip39': 1.6.0
abitype: 1.2.3(typescript@5.9.3)(zod@3.22.4)
- isows: 1.0.7(ws@8.20.1(bufferutil@4.1.0)(utf-8-validate@6.0.6))
+ isows: 1.0.7(ws@8.20.1(bufferutil@4.1.0))
ox: 0.14.25(typescript@5.9.3)(zod@3.22.4)
- ws: 8.20.1(bufferutil@4.1.0)(utf-8-validate@6.0.6)
+ ws: 8.20.1(bufferutil@4.1.0)
optionalDependencies:
typescript: 5.9.3
transitivePeerDependencies:
@@ -10334,6 +11206,85 @@ snapshots:
- utf-8-validate
- zod
+ vite-node@3.2.4(@types/node@22.19.19)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.48.0)(tsx@4.22.3)(yaml@2.9.0):
+ dependencies:
+ cac: 6.7.14
+ debug: 4.4.3
+ es-module-lexer: 1.7.0
+ pathe: 2.0.3
+ vite: 7.3.3(@types/node@22.19.19)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.48.0)(tsx@4.22.3)(yaml@2.9.0)
+ transitivePeerDependencies:
+ - '@types/node'
+ - jiti
+ - less
+ - lightningcss
+ - sass
+ - sass-embedded
+ - stylus
+ - sugarss
+ - supports-color
+ - terser
+ - tsx
+ - yaml
+
+ vite@7.3.3(@types/node@22.19.19)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.48.0)(tsx@4.22.3)(yaml@2.9.0):
+ dependencies:
+ esbuild: 0.27.7
+ fdir: 6.5.0(picomatch@4.0.4)
+ picomatch: 4.0.4
+ postcss: 8.5.15
+ rollup: 4.60.4
+ tinyglobby: 0.2.16
+ optionalDependencies:
+ '@types/node': 22.19.19
+ fsevents: 2.3.3
+ jiti: 2.7.0
+ lightningcss: 1.32.0
+ terser: 5.48.0
+ tsx: 4.22.3
+ yaml: 2.9.0
+
+ vitest@3.2.4(@types/node@22.19.19)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.48.0)(tsx@4.22.3)(yaml@2.9.0):
+ dependencies:
+ '@types/chai': 5.2.3
+ '@vitest/expect': 3.2.4
+ '@vitest/mocker': 3.2.4(vite@7.3.3(@types/node@22.19.19)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.48.0)(tsx@4.22.3)(yaml@2.9.0))
+ '@vitest/pretty-format': 3.2.4
+ '@vitest/runner': 3.2.4
+ '@vitest/snapshot': 3.2.4
+ '@vitest/spy': 3.2.4
+ '@vitest/utils': 3.2.4
+ chai: 5.3.3
+ debug: 4.4.3
+ expect-type: 1.3.0
+ magic-string: 0.30.21
+ pathe: 2.0.3
+ picomatch: 4.0.4
+ std-env: 3.10.0
+ tinybench: 2.9.0
+ tinyexec: 0.3.2
+ tinyglobby: 0.2.16
+ tinypool: 1.1.1
+ tinyrainbow: 2.0.0
+ vite: 7.3.3(@types/node@22.19.19)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.48.0)(tsx@4.22.3)(yaml@2.9.0)
+ vite-node: 3.2.4(@types/node@22.19.19)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.48.0)(tsx@4.22.3)(yaml@2.9.0)
+ why-is-node-running: 2.3.0
+ optionalDependencies:
+ '@types/node': 22.19.19
+ transitivePeerDependencies:
+ - jiti
+ - less
+ - lightningcss
+ - msw
+ - sass
+ - sass-embedded
+ - stylus
+ - sugarss
+ - supports-color
+ - terser
+ - tsx
+ - yaml
+
vlq@1.0.1: {}
walker@1.0.8:
@@ -10374,6 +11325,11 @@ snapshots:
dependencies:
isexe: 2.0.0
+ why-is-node-running@2.3.0:
+ dependencies:
+ siginfo: 2.0.0
+ stackback: 0.0.2
+
wif@5.0.0:
dependencies:
bs58check: 4.0.0
@@ -10397,15 +11353,13 @@ snapshots:
bufferutil: 4.1.0
utf-8-validate: 6.0.6
- ws@8.18.0(bufferutil@4.1.0)(utf-8-validate@6.0.6):
+ ws@8.18.0(bufferutil@4.1.0):
optionalDependencies:
bufferutil: 4.1.0
- utf-8-validate: 6.0.6
- ws@8.20.1(bufferutil@4.1.0)(utf-8-validate@6.0.6):
+ ws@8.20.1(bufferutil@4.1.0):
optionalDependencies:
bufferutil: 4.1.0
- utf-8-validate: 6.0.6
ws@8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6):
optionalDependencies:
@@ -10414,18 +11368,18 @@ snapshots:
xmlhttprequest-ssl@2.1.2: {}
- xrpl@4.4.3(bufferutil@4.1.0)(utf-8-validate@6.0.6):
+ xrpl@4.4.3(bufferutil@4.1.0):
dependencies:
'@scure/bip32': 1.7.0
'@scure/bip39': 1.6.0
- '@xrplf/isomorphic': 1.0.1(bufferutil@4.1.0)(utf-8-validate@6.0.6)
- '@xrplf/secret-numbers': 2.0.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)
+ '@xrplf/isomorphic': 1.0.1(bufferutil@4.1.0)
+ '@xrplf/secret-numbers': 2.0.0(bufferutil@4.1.0)
bignumber.js: 9.3.1
eventemitter3: 5.0.4
fast-json-stable-stringify: 2.1.0
- ripple-address-codec: 5.0.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)
- ripple-binary-codec: 2.7.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)
- ripple-keypairs: 2.0.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)
+ ripple-address-codec: 5.0.0(bufferutil@4.1.0)
+ ripple-binary-codec: 2.7.0(bufferutil@4.1.0)
+ ripple-keypairs: 2.0.0(bufferutil@4.1.0)
transitivePeerDependencies:
- bufferutil
- utf-8-validate