diff --git a/.env.development b/.env.development index fdf5ec38fe0..c5359a2ad2c 100644 --- a/.env.development +++ b/.env.development @@ -106,10 +106,11 @@ VITE_FEATURE_SWAPPER_FIAT_RAMPS=true # Webservices VITE_FEATURE_NOTIFICATIONS_WEBSERVICES=true +# Remote dev servers (default - works for all developers) VITE_SWAPS_SERVER_URL=https://dev-api.swap-service.shapeshift.com VITE_USER_SERVER_URL=https://dev-api.user-service.shapeshift.com VITE_NOTIFICATIONS_SERVER_URL=https://dev-api.notifications-service.shapeshift.com -# Turn those on if you use local development instead of our railway instance +# Local development via Vite proxy (uncomment to use localhost backend) # VITE_SWAPS_SERVER_URL=/swaps-api # VITE_USER_SERVER_URL=/user-api # VITE_NOTIFICATIONS_SERVER_URL=/notifications-api diff --git a/packages/affiliate-dashboard/Dockerfile b/packages/affiliate-dashboard/Dockerfile new file mode 100644 index 00000000000..9af907da7b7 --- /dev/null +++ b/packages/affiliate-dashboard/Dockerfile @@ -0,0 +1,32 @@ +FROM node:22-alpine AS builder +WORKDIR /app + +COPY packages/affiliate-dashboard/package.json ./ +RUN npm install + +COPY packages/affiliate-dashboard/index.html packages/affiliate-dashboard/tsconfig.json packages/affiliate-dashboard/tsconfig.node.json packages/affiliate-dashboard/vite.config.ts ./ +COPY packages/affiliate-dashboard/src/ ./src/ + +RUN npx vite build + +FROM nginx:stable-alpine AS runner +COPY --from=builder /app/dist /usr/share/nginx/html +RUN printf 'server {\n\ + listen 8080;\n\ + server_name _;\n\ + root /usr/share/nginx/html;\n\ + index index.html;\n\ + location /v1/ {\n\ + proxy_pass ${API_URL}/v1/;\n\ + proxy_http_version 1.1;\n\ + proxy_set_header Host $host;\n\ + proxy_set_header X-Real-IP $remote_addr;\n\ + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n\ + proxy_set_header X-Forwarded-Proto $scheme;\n\ + }\n\ + location / {\n\ + try_files $uri $uri/ /index.html;\n\ + }\n\ +}\n' > /tmp/default.conf.template +EXPOSE 8080 +CMD ["/bin/sh", "-c", "envsubst '${API_URL}' < /tmp/default.conf.template > /etc/nginx/conf.d/default.conf && exec nginx -g 'daemon off;'"] diff --git a/packages/affiliate-dashboard/index.html b/packages/affiliate-dashboard/index.html new file mode 100644 index 00000000000..ac8925b4785 --- /dev/null +++ b/packages/affiliate-dashboard/index.html @@ -0,0 +1,14 @@ + + + + + + + Affiliate Dashboard + + + +
+ + + diff --git a/packages/affiliate-dashboard/package.json b/packages/affiliate-dashboard/package.json new file mode 100644 index 00000000000..08af28eeaab --- /dev/null +++ b/packages/affiliate-dashboard/package.json @@ -0,0 +1,21 @@ +{ + "name": "@shapeshiftoss/affiliate-dashboard", + "version": "1.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "tsc && vite build", + "preview": "vite preview" + }, + "dependencies": { + "react": "^18.2.0", + "react-dom": "^18.2.0" + }, + "devDependencies": { + "@types/react": "^18.2.0", + "@types/react-dom": "^18.2.0", + "@vitejs/plugin-react": "^4.0.0", + "typescript": "^5.0.0", + "vite": "^5.0.0" + } +} diff --git a/packages/affiliate-dashboard/railway.json b/packages/affiliate-dashboard/railway.json new file mode 100644 index 00000000000..390a02ae922 --- /dev/null +++ b/packages/affiliate-dashboard/railway.json @@ -0,0 +1,13 @@ +{ + "$schema": "https://railway.com/railway.schema.json", + "build": { + "builder": "DOCKERFILE", + "dockerfilePath": "packages/affiliate-dashboard/Dockerfile", + "watchPatterns": [ + "packages/affiliate-dashboard/**" + ] + }, + "deploy": { + "restartPolicyType": "ALWAYS" + } +} diff --git a/packages/affiliate-dashboard/src/App.tsx b/packages/affiliate-dashboard/src/App.tsx new file mode 100644 index 00000000000..beb1408a479 --- /dev/null +++ b/packages/affiliate-dashboard/src/App.tsx @@ -0,0 +1,430 @@ +import { useCallback, useEffect, useMemo, useState } from 'react' + +import { useAffiliateStats } from './hooks/useAffiliateStats' + +const formatUsd = (value: number): string => + new Intl.NumberFormat('en-US', { + style: 'currency', + currency: 'USD', + minimumFractionDigits: 2, + maximumFractionDigits: 2, + }).format(value) + +const formatNumber = (value: number): string => new Intl.NumberFormat('en-US').format(value) + +interface Period { + label: string + startDate?: string + endDate?: string +} + +const PERIOD_DAY = 5 +const PREVIOUS_PERIODS_COUNT = 3 + +const formatPeriodLabel = (start: Date, end: Date): string => { + const monthShort = new Intl.DateTimeFormat('en-US', { month: 'short' }) + const startLabel = `${monthShort.format(start)} ${start.getUTCDate()}` + const endLabel = `${monthShort.format(end)} ${end.getUTCDate()}` + const year = end.getUTCFullYear() + return `${startLabel} - ${endLabel}, ${year}` +} + +const generatePeriods = (): Period[] => { + const now = new Date() + const year = now.getUTCFullYear() + const month = now.getUTCMonth() + + let currentStart: Date + let currentEnd: Date + + if (now.getUTCDate() < PERIOD_DAY) { + currentStart = new Date(Date.UTC(year, month - 1, PERIOD_DAY)) + currentEnd = new Date(Date.UTC(year, month, PERIOD_DAY)) + } else { + currentStart = new Date(Date.UTC(year, month, PERIOD_DAY)) + currentEnd = new Date(Date.UTC(year, month + 1, PERIOD_DAY)) + } + + const result: Period[] = [] + + for (let i = 0; i <= PREVIOUS_PERIODS_COUNT; i++) { + const start = new Date( + Date.UTC(currentStart.getUTCFullYear(), currentStart.getUTCMonth() - i, PERIOD_DAY), + ) + const end = new Date( + Date.UTC(currentEnd.getUTCFullYear(), currentEnd.getUTCMonth() - i, PERIOD_DAY), + ) + result.push({ + label: formatPeriodLabel(start, end), + startDate: start.toISOString(), + endDate: end.toISOString(), + }) + } + + result.push({ label: 'All Time' }) + return result +} + +const periods: Period[] = generatePeriods() + +const ShapeShiftLogo = (): React.JSX.Element => ( + + + + + + + + + + + + + + + + + + + + +) + +const EVM_ADDRESS_REGEX = /^0x[0-9a-fA-F]{40}$/ + +const isValidEvmAddress = (addr: string): boolean => EVM_ADDRESS_REGEX.test(addr) + +export const App = (): React.JSX.Element => { + const [address, setAddress] = useState('') + const [selectedPeriod, setSelectedPeriod] = useState(0) + const [validationError, setValidationError] = useState(null) + const { stats, isLoading, error, fetchStats } = useAffiliateStats() + + const currentPeriod = periods[selectedPeriod] + + const doFetch = useCallback((): void => { + const trimmed = address.trim() + if (!trimmed) return + + if (!isValidEvmAddress(trimmed)) { + setValidationError('Please enter a valid Ethereum address (0x followed by 40 hex characters)') + return + } + + setValidationError(null) + void fetchStats(trimmed, { + startDate: currentPeriod.startDate, + endDate: currentPeriod.endDate, + }) + }, [fetchStats, address, currentPeriod]) + + const handleAddressChange = useCallback((e: React.ChangeEvent): void => { + setAddress(e.target.value) + setValidationError(null) + }, []) + + const handleViewStats = useCallback((): void => { + doFetch() + }, [doFetch]) + + const handleKeyDown = useCallback( + (e: React.KeyboardEvent): void => { + if (e.key === 'Enter') { + doFetch() + } + }, + [doFetch], + ) + + useEffect(() => { + if (address.trim()) doFetch() + }, [selectedPeriod]) // eslint-disable-line react-hooks/exhaustive-deps + + const isButtonDisabled = useMemo(() => isLoading || !address.trim(), [isLoading, address]) + + const statCards = useMemo(() => { + if (!stats) return null + return [ + { + label: 'Total Swaps', + value: formatNumber(stats.totalSwaps), + }, + { + label: 'Total Volume USD', + value: formatUsd(stats.totalVolumeUsd), + }, + { + label: 'Total Fees USD', + value: formatUsd(stats.totalFeesUsd), + }, + ] + }, [stats]) + + return ( +
+
+
+
+
+ +
+

Affiliate Dashboard

+

Track your affiliate performance and earnings

+
+ +
+
+ +
+ +
+ +
+ {periods.map((period, i) => ( + + ))} +
+ + {validationError ?
{validationError}
: null} + {error && !validationError ?
{error}
: null} + + {statCards ? ( +
+ {statCards.map(card => ( +
+
{card.value}
+
{card.label}
+
+ ))} +
+ ) : null} + + {!stats && !error && !isLoading ? ( +
+

+ Enter an affiliate address above to view performance stats. +

+
+ ) : null} +
+
+ ) +} + +const styles: Record = { + container: { + minHeight: '100vh', + background: '#0a0b0d', + color: '#e2e4e9', + fontFamily: '"DM Sans", "Söhne", -apple-system, BlinkMacSystemFont, sans-serif', + position: 'relative', + overflow: 'hidden', + }, + backdrop: { + position: 'fixed', + inset: 0, + background: + 'radial-gradient(ellipse 80% 60% at 50% -20%, rgba(56, 111, 249, 0.12) 0%, transparent 70%), radial-gradient(ellipse 60% 40% at 80% 100%, rgba(56, 111, 249, 0.06) 0%, transparent 60%)', + pointerEvents: 'none', + }, + content: { + position: 'relative', + maxWidth: 720, + margin: '0 auto', + padding: '80px 24px 60px', + }, + header: { + textAlign: 'center', + marginBottom: 48, + }, + logo: { + display: 'flex', + justifyContent: 'center', + marginBottom: 16, + color: '#f0f1f4', + }, + title: { + fontSize: 28, + fontWeight: 700, + margin: '0 0 8px', + color: '#f0f1f4', + letterSpacing: '-0.02em', + }, + subtitle: { + fontSize: 15, + color: '#7a7e8a', + margin: 0, + fontWeight: 400, + }, + inputGroup: { + display: 'flex', + gap: 12, + marginBottom: 32, + }, + inputWrapper: { + flex: 1, + }, + input: { + width: '100%', + padding: '14px 18px', + fontSize: 15, + fontFamily: '"DM Mono", "SF Mono", "Fira Code", monospace', + background: '#12141a', + border: '1px solid #1e2028', + borderRadius: 12, + color: '#e2e4e9', + outline: 'none', + transition: 'border-color 0.2s ease', + boxSizing: 'border-box', + }, + button: { + padding: '14px 28px', + fontSize: 15, + fontWeight: 600, + fontFamily: '"DM Sans", "Söhne", -apple-system, BlinkMacSystemFont, sans-serif', + background: '#386ff9', + color: '#fff', + border: 'none', + borderRadius: 12, + cursor: 'pointer', + transition: 'all 0.2s ease', + whiteSpace: 'nowrap', + flexShrink: 0, + }, + buttonDisabled: { + opacity: 0.4, + cursor: 'not-allowed', + }, + error: { + background: 'rgba(239, 68, 68, 0.08)', + border: '1px solid rgba(239, 68, 68, 0.2)', + borderRadius: 12, + padding: '14px 18px', + color: '#f87171', + fontSize: 14, + marginBottom: 24, + }, + periodRow: { + display: 'flex', + flexWrap: 'wrap', + gap: 8, + marginBottom: 24, + }, + periodButton: { + padding: '10px 20px', + fontSize: 14, + fontWeight: 500, + fontFamily: '"DM Sans", "Söhne", -apple-system, BlinkMacSystemFont, sans-serif', + background: '#12141a', + border: '1px solid #1e2028', + borderRadius: 10, + color: '#7a7e8a', + cursor: 'pointer', + transition: 'all 0.2s ease', + }, + periodButtonActive: { + background: 'rgba(56, 111, 249, 0.12)', + border: '1px solid #386ff9', + color: '#386ff9', + }, + statsGrid: { + display: 'grid', + gridTemplateColumns: 'repeat(auto-fit, minmax(200px, 1fr))', + gap: 16, + }, + statCard: { + background: '#12141a', + border: '1px solid #1e2028', + borderRadius: 16, + padding: '28px 24px', + textAlign: 'center', + transition: 'border-color 0.2s ease, transform 0.2s ease', + }, + cardValue: { + fontSize: 26, + fontWeight: 700, + color: '#f0f1f4', + marginBottom: 6, + letterSpacing: '-0.02em', + fontFamily: '"DM Mono", "SF Mono", "Fira Code", monospace', + }, + cardLabel: { + fontSize: 13, + color: '#7a7e8a', + fontWeight: 500, + textTransform: 'uppercase' as const, + letterSpacing: '0.06em', + }, + emptyState: { + textAlign: 'center', + padding: '60px 20px', + }, + emptyIcon: { + fontSize: 36, + color: '#2a2d38', + marginBottom: 16, + }, + emptyText: { + fontSize: 15, + color: '#4a4e5a', + margin: 0, + lineHeight: 1.6, + }, +} diff --git a/packages/affiliate-dashboard/src/hooks/useAffiliateStats.ts b/packages/affiliate-dashboard/src/hooks/useAffiliateStats.ts new file mode 100644 index 00000000000..df5d261a134 --- /dev/null +++ b/packages/affiliate-dashboard/src/hooks/useAffiliateStats.ts @@ -0,0 +1,95 @@ +import { useCallback, useRef, useState } from 'react' + +const API_BASE_URL = '/v1/affiliate/stats' + +export interface AffiliateStats { + totalSwaps: number + totalVolumeUsd: number + totalFeesUsd: number +} + +// Raw API response shape (strings from backend) +interface ApiResponse { + totalSwaps: number + totalVolumeUsd: string + totalFeesEarnedUsd: string +} + +interface AffiliateStatsState { + stats: AffiliateStats | null + isLoading: boolean + error: string | null +} + +interface FetchOptions { + startDate?: string + endDate?: string +} + +interface UseAffiliateStatsReturn extends AffiliateStatsState { + fetchStats: (address: string, options?: FetchOptions) => Promise +} + +export const useAffiliateStats = (): UseAffiliateStatsReturn => { + const [stats, setStats] = useState(null) + const [isLoading, setIsLoading] = useState(false) + const [error, setError] = useState(null) + const requestIdRef = useRef(0) + + const fetchStats = useCallback(async (address: string, options?: FetchOptions): Promise => { + const requestId = ++requestIdRef.current + if (!address.trim()) { + setError('Please enter a valid affiliate address.') + return + } + + setIsLoading(true) + setError(null) + setStats(null) + + try { + const params = new URLSearchParams({ address }) + if (options?.startDate) params.append('startDate', options.startDate) + if (options?.endDate) params.append('endDate', options.endDate) + + const response = await fetch(`${API_BASE_URL}?${params.toString()}`) + + if (!response.ok) { + let errorMessage = `Request failed (${String(response.status)})` + try { + const errorBody = (await response.json()) as { + error?: string + details?: { message: string }[] + } + if (errorBody.error) { + errorMessage = errorBody.error + } + if (errorBody.details?.[0]?.message) { + errorMessage = errorBody.details[0].message + } + } catch { + // Response wasn't JSON, use generic message + } + throw new Error(errorMessage) + } + + const data = (await response.json()) as ApiResponse + if (requestId !== requestIdRef.current) return + setStats({ + totalSwaps: data.totalSwaps, + totalVolumeUsd: parseFloat(data.totalVolumeUsd) || 0, + totalFeesUsd: parseFloat(data.totalFeesEarnedUsd) || 0, + }) + } catch (err) { + if (requestId !== requestIdRef.current) return + const message = err instanceof Error ? err.message : 'Failed to fetch affiliate stats.' + setError(message) + } finally { + if (requestId === requestIdRef.current) { + setIsLoading(false) + } + } + }, []) + + return { stats, isLoading, error, fetchStats } +} diff --git a/packages/affiliate-dashboard/src/main.tsx b/packages/affiliate-dashboard/src/main.tsx new file mode 100644 index 00000000000..494346ea3dc --- /dev/null +++ b/packages/affiliate-dashboard/src/main.tsx @@ -0,0 +1,11 @@ +import React from 'react' +import ReactDOM from 'react-dom/client' + +import { App } from './App' + +// eslint-disable-next-line @typescript-eslint/no-non-null-assertion +ReactDOM.createRoot(document.getElementById('root')!).render( + + + , +) diff --git a/packages/affiliate-dashboard/tsconfig.json b/packages/affiliate-dashboard/tsconfig.json new file mode 100644 index 00000000000..3934b8f6d67 --- /dev/null +++ b/packages/affiliate-dashboard/tsconfig.json @@ -0,0 +1,21 @@ +{ + "compilerOptions": { + "target": "ES2020", + "useDefineForClassFields": true, + "lib": ["ES2020", "DOM", "DOM.Iterable"], + "module": "ESNext", + "skipLibCheck": true, + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "react-jsx", + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true + }, + "include": ["src"], + "references": [{ "path": "./tsconfig.node.json" }] +} diff --git a/packages/affiliate-dashboard/tsconfig.node.json b/packages/affiliate-dashboard/tsconfig.node.json new file mode 100644 index 00000000000..42872c59f5b --- /dev/null +++ b/packages/affiliate-dashboard/tsconfig.node.json @@ -0,0 +1,10 @@ +{ + "compilerOptions": { + "composite": true, + "skipLibCheck": true, + "module": "ESNext", + "moduleResolution": "bundler", + "allowSyntheticDefaultImports": true + }, + "include": ["vite.config.ts"] +} diff --git a/packages/affiliate-dashboard/vite.config.ts b/packages/affiliate-dashboard/vite.config.ts new file mode 100644 index 00000000000..d7bc14b8050 --- /dev/null +++ b/packages/affiliate-dashboard/vite.config.ts @@ -0,0 +1,16 @@ +import react from '@vitejs/plugin-react' +import { defineConfig } from 'vite' + +// eslint-disable-next-line import/no-default-export +export default defineConfig({ + plugins: [react()], + server: { + port: 5175, + proxy: { + '/v1': { + target: 'http://localhost:3005', + changeOrigin: true, + }, + }, + }, +}) diff --git a/packages/chain-adapters/package.json b/packages/chain-adapters/package.json index 09106c2c24b..951a74b67d9 100644 --- a/packages/chain-adapters/package.json +++ b/packages/chain-adapters/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/chain-adapters", - "version": "11.3.7", + "version": "11.3.9", "repository": "https://github.com/shapeshift/web", "license": "MIT", "type": "module", diff --git a/packages/errors/package.json b/packages/errors/package.json index 91e3635e36a..ea976e85019 100644 --- a/packages/errors/package.json +++ b/packages/errors/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/errors", - "version": "1.1.5", + "version": "1.1.6", "description": "Common set of typed errors", "repository": "https://github.com/shapeshift/web", "type": "module", diff --git a/packages/public-api/src/config.ts b/packages/public-api/src/config.ts index a9fbdc19414..dcc8de328de 100644 --- a/packages/public-api/src/config.ts +++ b/packages/public-api/src/config.ts @@ -54,7 +54,19 @@ export const getServerConfig = (): SwapperConfig => ({ }) // Default affiliate fee in basis points -export const DEFAULT_AFFILIATE_BPS = '60' +export const DEFAULT_AFFILIATE_BPS = '10' + +// Swap service backend URL +const getSwapServiceBaseUrl = (): string => { + if (process.env.SWAP_SERVICE_BASE_URL) return process.env.SWAP_SERVICE_BASE_URL + if (process.env.NODE_ENV === 'production') { + throw new Error('SWAP_SERVICE_BASE_URL must be set in production') + } + console.warn('[config] SWAP_SERVICE_BASE_URL not set, using dev default') + return 'https://dev-api.swap-service.shapeshift.com' +} + +export const SWAP_SERVICE_BASE_URL = getSwapServiceBaseUrl() // API server config export const API_PORT = parseInt(process.env.PORT || '3001', 10) diff --git a/packages/public-api/src/docs/openapi.ts b/packages/public-api/src/docs/openapi.ts index 22aa369ac05..f7e2b5d20d2 100644 --- a/packages/public-api/src/docs/openapi.ts +++ b/packages/public-api/src/docs/openapi.ts @@ -4,9 +4,11 @@ import { OpenApiGeneratorV3, OpenAPIRegistry } from '@asteasolutions/zod-to-open import { z } from 'zod' import { RateLimitErrorCode } from '../middleware/rateLimit' +import { AffiliateStatsRequestSchema } from '../routes/affiliate' import { AssetRequestSchema, AssetsListRequestSchema } from '../routes/assets' import { QuoteRequestSchema } from '../routes/quote' import { RatesRequestSchema } from '../routes/rates' +import { StatusRequestSchema } from '../routes/status' export const registry = new OpenAPIRegistry() @@ -249,9 +251,10 @@ const rateLimitResponse = { registry.registerPath({ method: 'get', path: '/v1/chains', + operationId: 'listChains', summary: 'List supported chains', description: 'Get a list of all supported blockchain networks, sorted alphabetically by name.', - tags: ['Chains'], + tags: ['Supported Chains'], responses: { 200: { description: 'List of chains', @@ -271,9 +274,10 @@ registry.registerPath({ registry.registerPath({ method: 'get', path: '/v1/chains/count', + operationId: 'getChainCount', summary: 'Get chain count', description: 'Get the total number of supported blockchain networks.', - tags: ['Chains'], + tags: ['Supported Chains'], responses: { 200: { description: 'Chain count', @@ -294,9 +298,10 @@ registry.registerPath({ registry.registerPath({ method: 'get', path: '/v1/assets', + operationId: 'listAssets', summary: 'List supported assets', description: 'Get a list of all supported assets, optionally filtered by chain.', - tags: ['Assets'], + tags: ['Supported Assets'], request: { query: AssetsListRequestSchema, }, @@ -320,9 +325,10 @@ registry.registerPath({ registry.registerPath({ method: 'get', path: '/v1/assets/{assetId}', + operationId: 'getAssetById', summary: 'Get asset by ID', description: 'Get details of a specific asset by its ID (URL encoded).', - tags: ['Assets'], + tags: ['Supported Assets'], request: { params: AssetRequestSchema, }, @@ -342,6 +348,34 @@ registry.registerPath({ }, }) +// GET /v1/assets/count +registry.registerPath({ + method: 'get', + path: '/v1/assets/count', + operationId: 'getAssetCount', + summary: 'Get asset count', + description: 'Get the total number of supported assets, optionally filtered by chain.', + tags: ['Supported Assets'], + request: { + query: z.object({ + chainId: z.string().optional().openapi({ example: 'eip155:1' }), + }), + }, + responses: { + 200: { + description: 'Asset count', + content: { + 'application/json': { + schema: z.object({ + count: z.number().openapi({ example: 5000 }), + timestamp: z.number(), + }), + }, + }, + }, + }, +}) + const AffiliateAddressHeaderSchema = z .string() .optional() @@ -355,16 +389,33 @@ const AffiliateAddressHeaderSchema = z }, }) +const AffiliateBpsHeaderSchema = z + .string() + .optional() + .openapi({ + param: { + name: 'X-Affiliate-Bps', + in: 'header', + description: + 'Custom affiliate fee in basis points (0-1000). Defaults to 10 (0.1%). Can be used independently of X-Affiliate-Address.', + example: '10', + }, + }) + // GET /v1/swap/rates registry.registerPath({ method: 'get', path: '/v1/swap/rates', + operationId: 'getSwapRates', summary: 'Get swap rates', description: 'Get informative swap rates from all available swappers. This does not create a transaction.', tags: ['Swaps'], request: { - headers: z.object({ 'X-Affiliate-Address': AffiliateAddressHeaderSchema }), + headers: z.object({ + 'X-Affiliate-Address': AffiliateAddressHeaderSchema, + 'X-Affiliate-Bps': AffiliateBpsHeaderSchema, + }), query: RatesRequestSchema, }, responses: { @@ -387,12 +438,16 @@ registry.registerPath({ registry.registerPath({ method: 'post', path: '/v1/swap/quote', + operationId: 'getSwapQuote', summary: 'Get executable quote', description: 'Get an executable quote for a swap, including transaction data. Requires a specific swapper name.', tags: ['Swaps'], request: { - headers: z.object({ 'X-Affiliate-Address': AffiliateAddressHeaderSchema }), + headers: z.object({ + 'X-Affiliate-Address': AffiliateAddressHeaderSchema, + 'X-Affiliate-Bps': AffiliateBpsHeaderSchema, + }), body: { content: { 'application/json': { @@ -417,40 +472,526 @@ registry.registerPath({ }, }) +const SwapStatusResponseSchema = registry.register( + 'SwapStatusResponse', + z.object({ + quoteId: z.string().uuid(), + txHash: z.string().optional(), + status: z.enum(['pending', 'submitted', 'confirmed', 'failed']), + swapperName: z.string(), + sellAssetId: z.string(), + buyAssetId: z.string(), + sellAmountCryptoBaseUnit: z.string(), + buyAmountAfterFeesCryptoBaseUnit: z.string(), + affiliateAddress: z.string().optional(), + affiliateBps: z.string(), + registeredAt: z.number().optional(), + buyTxHash: z.string().optional(), + isAffiliateVerified: z.boolean().optional(), + }), +) + +registry.registerPath({ + method: 'get', + path: '/v1/swap/status', + operationId: 'getSwapStatus', + summary: 'Get swap status', + description: + 'Look up the current status of a swap by its quote ID. Pass txHash on the first call after broadcasting to bind it to the quote and start tracking. Subsequent calls can omit txHash.', + tags: ['Swaps'], + request: { + headers: z.object({ 'X-Affiliate-Address': AffiliateAddressHeaderSchema }), + query: StatusRequestSchema, + }, + responses: { + 200: { + description: 'Swap status', + content: { + 'application/json': { + schema: SwapStatusResponseSchema, + }, + }, + }, + 400: { + description: 'Invalid request parameters', + }, + 404: { + description: 'Quote not found or expired', + }, + 409: { + description: 'Transaction hash mismatch', + }, + }, +}) + +const AffiliateStatsResponseSchema = registry.register( + 'AffiliateStatsResponse', + z.object({ + address: z.string().openapi({ example: '0x1234567890123456789012345678901234567890' }), + totalSwaps: z.number().openapi({ example: 42 }), + totalVolumeUsd: z.string().openapi({ example: '12345.67' }), + totalFeesEarnedUsd: z.string().openapi({ example: '44.44' }), + timestamp: z.number().openapi({ example: 1708700000000 }), + }), +) + +registry.registerPath({ + method: 'get', + path: '/v1/affiliate/stats', + operationId: 'getAffiliateStats', + summary: 'Get affiliate statistics', + description: + 'Retrieve aggregated swap statistics for an affiliate address. Returns total swaps, volume, and fees earned. Supports optional date range filtering.', + tags: ['Affiliate'], + request: { + query: AffiliateStatsRequestSchema, + }, + responses: { + 200: { + description: 'Affiliate statistics', + content: { + 'application/json': { + schema: AffiliateStatsResponseSchema, + }, + }, + }, + 400: { + description: 'Invalid address format', + }, + 503: { + description: 'Swap service unavailable', + }, + }, +}) + export const generateOpenApiDocument = () => { const generator = new OpenApiGeneratorV3(registry.definitions) - return generator.generateDocument({ + const doc = generator.generateDocument({ openapi: '3.0.0', info: { version: '1.0.0', title: 'ShapeShift Public API', description: `The ShapeShift Public API enables developers to integrate multi-chain swap functionality into their applications. Access rates from multiple DEX aggregators and execute swaps across supported blockchains. -## Integration Overview +There are two ways to integrate: + +1. **Swap Widget SDK** — Drop-in React component with built-in UI, wallet connection, and multi-chain support. Fastest way to integrate. +2. **REST API** — Build your own swap UI using the endpoints below. Full control over UX. + +## Affiliate Tracking (Optional) +Include your Arbitrum address in the \`X-Affiliate-Address\` header to attribute swaps for affiliate fee tracking. This is optional — all endpoints work without it. + +## Asset IDs +Assets use CAIP-19 format: \`{chainId}/{assetNamespace}:{assetReference}\` +- Native ETH: \`eip155:1/slip44:60\` +- USDC on Ethereum: \`eip155:1/erc20:0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48\` +- Native BTC: \`bip122:000000000019d6689c085ae165831e93/slip44:0\` +`, + }, + servers: [{ url: 'https://api.shapeshift.com' }, { url: 'http://localhost:3001' }], + }) + + const widgetSdkTag = { + name: 'Swap Widget SDK', + description: `The \`@shapeshiftoss/swap-widget\` package is a drop-in React component that provides a complete swap interface. It handles asset selection, rate comparison, wallet connection, transaction signing, and status tracking. + +## Installation + +\`\`\`bash +npm install @shapeshiftoss/swap-widget +# or +yarn add @shapeshiftoss/swap-widget +\`\`\` + +**Peer dependencies** (install alongside the widget): + +\`\`\`bash +npm install react react-dom +\`\`\` + +**CSS** — You must import the widget stylesheet: -### 1. Get Supported Chains -First, fetch the list of supported blockchain networks: +\`\`\`tsx +import '@shapeshiftoss/swap-widget/style.css' +\`\`\` + +## Quick Start + +\`\`\`tsx +import { SwapWidget } from '@shapeshiftoss/swap-widget' +import '@shapeshiftoss/swap-widget/style.css' + +function App() { + return ( + console.log('Success:', txHash)} + /> + ) +} +\`\`\` + +--- + +## Wallet Connection Modes + +The widget supports two wallet connection strategies. Choose the one that matches your application. + +### Mode 1: External Wallet (Recommended for dApps) + +**Use this if your application already has a wallet connection** (wagmi, ethers, viem, RainbowKit, ConnectKit, AppKit, etc.). Pass the connected wallet to the widget — no duplicate wallet modals. + +\`\`\`tsx +import { SwapWidget } from '@shapeshiftoss/swap-widget' +import '@shapeshiftoss/swap-widget/style.css' +import { useWalletClient } from 'wagmi' + +function SwapPage() { + const { data: walletClient } = useWalletClient() + + return ( + { + // Trigger YOUR app's wallet connection modal + openYourConnectModal() + }} + theme="dark" + /> + ) +} +\`\`\` + +| Prop | Purpose | +|------|---------| +| \`walletClient\` | A viem \`WalletClient\` from your existing wallet setup | +| \`onConnectWallet\` | Called when the user clicks "Connect" inside the widget — open your own modal | +| \`enableWalletConnection\` | Leave as \`false\` (default) — the widget won't render its own connect UI | + +This mode creates its own read-only wagmi config internally for balance fetching. It does **not** interfere with your application's wagmi provider or AppKit instance. + +### Mode 2: Built-in Wallet Connection (Standalone) + +**Use this if your page has no wallet infrastructure.** The widget manages wallet connections internally via Reown AppKit, supporting EVM, Bitcoin, and Solana wallets. + +\`\`\`tsx +import { SwapWidget } from '@shapeshiftoss/swap-widget' +import '@shapeshiftoss/swap-widget/style.css' + +function App() { + return ( + + ) +} +\`\`\` + +Get a WalletConnect project ID at [cloud.walletconnect.com](https://cloud.walletconnect.com). + +When \`enableWalletConnection\` is true, the widget: +- Shows a "Connect" button that opens a multi-chain wallet modal +- Supports MetaMask, WalletConnect, Coinbase Wallet, and other EVM wallets +- Supports Bitcoin wallets via WalletConnect +- Supports Phantom, Solflare, and other Solana wallets + +> **Important: AppKit Singleton Constraint** +> +> The built-in wallet connection uses Reown AppKit, which is a **global singleton** — only one AppKit instance can exist per page. If your page already uses AppKit or Web3Modal, the widget's modal will conflict with yours. +> +> **If your dApp already has AppKit/Web3Modal**: Use **Mode 1 (External Wallet)** instead. Pass your connected \`walletClient\` to the widget and handle wallet connection yourself. +> +> **If your page has no wallet setup**: Mode 2 works perfectly — the widget is the only AppKit instance on the page. + +--- + +## Props Reference + +### Core Props + +| Prop | Type | Default | Description | +|------|------|---------|-------------| +| \`affiliateAddress\` | \`string\` | — | Your Arbitrum address for affiliate fee attribution | +| \`affiliateBps\` | \`string\` | \`"10"\` | Affiliate fee in basis points (0.1% default) | +| \`apiBaseUrl\` | \`string\` | — | Custom API base URL | +| \`theme\` | \`ThemeMode \\| ThemeConfig\` | \`"dark"\` | Theme mode or full theme configuration | +| \`showPoweredBy\` | \`boolean\` | \`true\` | Show "Powered by ShapeShift" branding | +| \`defaultSlippage\` | \`string\` | \`"0.5"\` | Default slippage tolerance percentage | +| \`ratesRefetchInterval\` | \`number\` | \`15000\` | Rate refresh interval in milliseconds | + +### Wallet Props + +| Prop | Type | Default | Description | +|------|------|---------|-------------| +| \`walletClient\` | \`WalletClient\` | — | Viem wallet client for EVM transactions (Mode 1) | +| \`enableWalletConnection\` | \`boolean\` | \`false\` | Enable built-in wallet modal (Mode 2) | +| \`walletConnectProjectId\` | \`string\` | — | Required for Mode 2 | +| \`onConnectWallet\` | \`() => void\` | — | Callback when user clicks "Connect" (Mode 1) | +| \`defaultReceiveAddress\` | \`string\` | — | Lock the receive address to a specific value | + +### Asset Filtering Props + +| Prop | Type | Default | Description | +|------|------|---------|-------------| +| \`defaultSellAsset\` | \`Asset\` | ETH | Initial sell asset | +| \`defaultBuyAsset\` | \`Asset\` | USDC | Initial buy asset | +| \`allowedChainIds\` | \`ChainId[]\` | all | Restrict both sides to these chains | +| \`disabledChainIds\` | \`ChainId[]\` | \`[]\` | Hide chains from both selectors | +| \`disabledAssetIds\` | \`AssetId[]\` | \`[]\` | Hide assets from both selectors | +| \`sellAllowedChainIds\` | \`ChainId[]\` | — | Restrict sell side to these chains | +| \`buyAllowedChainIds\` | \`ChainId[]\` | — | Restrict buy side to these chains | +| \`sellAllowedAssetIds\` | \`AssetId[]\` | — | Restrict sell side to these assets | +| \`buyAllowedAssetIds\` | \`AssetId[]\` | — | Restrict buy side to these assets | +| \`sellDisabledChainIds\` | \`ChainId[]\` | \`[]\` | Hide chains from sell selector | +| \`buyDisabledChainIds\` | \`ChainId[]\` | \`[]\` | Hide chains from buy selector | +| \`sellDisabledAssetIds\` | \`AssetId[]\` | \`[]\` | Hide assets from sell selector | +| \`buyDisabledAssetIds\` | \`AssetId[]\` | \`[]\` | Hide assets from buy selector | +| \`allowedSwapperNames\` | \`SwapperName[]\` | all | Restrict to specific swappers | +| \`isBuyAssetLocked\` | \`boolean\` | \`false\` | Prevent changing the buy asset | + +### Callback Props + +| Prop | Type | Description | +|------|------|-------------| +| \`onSwapSuccess\` | \`(txHash: string) => void\` | Called when a swap succeeds | +| \`onSwapError\` | \`(error: Error) => void\` | Called when a swap fails | +| \`onAssetSelect\` | \`(type: 'sell' \\| 'buy', asset: Asset) => void\` | Called when user selects an asset | + +--- + +## Theming + +### Simple Mode + +\`\`\`tsx + + +\`\`\` + +### Custom Theme + +\`\`\`tsx +const theme: ThemeConfig = { + mode: 'dark', + accentColor: '#3861fb', + backgroundColor: '#0a0a14', + cardColor: '#12121c', + textColor: '#ffffff', + borderRadius: '12px', + fontFamily: 'Inter, sans-serif', + borderColor: '#2a2a3e', + secondaryTextColor: '#a0a0b0', + mutedTextColor: '#6b6b80', + inputColor: '#1a1a2e', + hoverColor: '#1e1e32', + buttonVariant: 'filled', // 'filled' or 'outline' +} + + +\`\`\` + +| Property | Type | Description | +|----------|------|-------------| +| \`mode\` | \`'light' \\| 'dark'\` | Base theme mode (required) | +| \`accentColor\` | \`string\` | Buttons, focus states, active elements | +| \`backgroundColor\` | \`string\` | Widget background | +| \`cardColor\` | \`string\` | Card and panel backgrounds | +| \`textColor\` | \`string\` | Primary text | +| \`borderRadius\` | \`string\` | Border radius (e.g. \`'12px'\`) | +| \`fontFamily\` | \`string\` | Font family | +| \`borderColor\` | \`string\` | Border colors | +| \`secondaryTextColor\` | \`string\` | Secondary labels | +| \`mutedTextColor\` | \`string\` | Muted/disabled text | +| \`inputColor\` | \`string\` | Input field background | +| \`hoverColor\` | \`string\` | Hover state background | +| \`buttonVariant\` | \`'filled' \\| 'outline'\` | Button style | + +--- + +## Integration Examples + +### Restrict to Ethereum + Polygon Only + +\`\`\`tsx +import { SwapWidget, EVM_CHAIN_IDS } from '@shapeshiftoss/swap-widget' + + +\`\`\` + +### Lock Buy Asset (Payment Widget) + +\`\`\`tsx +const usdcAsset = { + assetId: 'eip155:1/erc20:0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48', + chainId: 'eip155:1', + symbol: 'USDC', + name: 'USD Coin', + precision: 6, +} + + +\`\`\` + +### Use Specific Swappers Only + +\`\`\`tsx +import { SwapWidget, SwapperName } from '@shapeshiftoss/swap-widget' + + +\`\`\` + +--- + +## Exported Hooks + +These hooks can be used outside the widget to build custom UI with ShapeShift asset data. + +\`\`\`tsx +import { + useAssets, + useAssetById, + useChains, + useAssetsByChainId, + useAssetSearch, +} from '@shapeshiftoss/swap-widget' +\`\`\` + +| Hook | Return Type | Description | +|------|-------------|-------------| +| \`useAssets()\` | \`{ data: Asset[], isLoading, ... }\` | All available assets | +| \`useAssetById(assetId)\` | \`{ data: Asset \\| undefined, ... }\` | Single asset by CAIP-19 ID | +| \`useChains()\` | \`{ data: ChainInfo[], ... }\` | All chains with native assets | +| \`useAssetsByChainId(chainId)\` | \`{ data: Asset[], ... }\` | All assets on a chain | +| \`useAssetSearch(query, chainId?)\` | \`{ data: Asset[], ... }\` | Search by symbol or name | + +All hooks return React Query result objects with \`data\`, \`isLoading\`, \`error\`, \`refetch\`, etc. + +## Exported Utilities + +\`\`\`tsx +import { + formatAmount, + parseAmount, + truncateAddress, + isEvmChainId, + getEvmNetworkId, + getChainType, + getChainName, + getChainIcon, + getChainColor, + getBaseAsset, + getExplorerTxLink, + EVM_CHAIN_IDS, + UTXO_CHAIN_IDS, + COSMOS_CHAIN_IDS, + OTHER_CHAIN_IDS, +} from '@shapeshiftoss/swap-widget' +\`\`\` + +--- + +## Supported Chains + +The widget natively supports all EVM chains, Bitcoin, and Solana. Other chains (Cosmos, Starknet, NEAR, TON, Tron, Sui, etc.) are available via redirect to [app.shapeshift.com](https://app.shapeshift.com). + +| Chain | Chain ID | Type | +|-------|----------|------| +| Ethereum | \`eip155:1\` | EVM | +| Arbitrum One | \`eip155:42161\` | EVM | +| Avalanche C-Chain | \`eip155:43114\` | EVM | +| Base | \`eip155:8453\` | EVM | +| Berachain | \`eip155:80094\` | EVM | +| Blast | \`eip155:81457\` | EVM | +| BNB Smart Chain | \`eip155:56\` | EVM | +| BOB | \`eip155:60808\` | EVM | +| Cronos | \`eip155:25\` | EVM | +| Flow EVM | \`eip155:747\` | EVM | +| Gnosis | \`eip155:100\` | EVM | +| Hemi | \`eip155:43111\` | EVM | +| HyperEVM | \`eip155:999\` | EVM | +| Ink | \`eip155:57073\` | EVM | +| Katana | \`eip155:747474\` | EVM | +| Linea | \`eip155:59144\` | EVM | +| Mantle | \`eip155:5000\` | EVM | +| MegaETH | \`eip155:4326\` | EVM | +| Mode | \`eip155:34443\` | EVM | +| Monad | \`eip155:143\` | EVM | +| Optimism | \`eip155:10\` | EVM | +| Plasma | \`eip155:9745\` | EVM | +| Plume | \`eip155:98866\` | EVM | +| Polygon | \`eip155:137\` | EVM | +| Scroll | \`eip155:534352\` | EVM | +| Soneium | \`eip155:1868\` | EVM | +| Sonic | \`eip155:146\` | EVM | +| Story | \`eip155:1514\` | EVM | +| Unichain | \`eip155:130\` | EVM | +| World Chain | \`eip155:480\` | EVM | +| zkSync Era | \`eip155:324\` | EVM | +| Bitcoin | \`bip122:000000000019d6689c085ae165831e93\` | UTXO | +| Solana | \`solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp\` | Solana | + +## Supported Swappers (15) + +THORChain, MAYAChain, CoW Swap, 0x, Portals, Chainflip, Jupiter, Relay, ButterSwap, Bebop, Arbitrum Bridge, NEAR Intents, Cetus, Sun.io, AVNU. + +--- + +## Architecture Notes + +**Internal QueryClient** — The widget manages its own React Query \`QueryClient\`. You do not need to wrap it in a \`QueryClientProvider\`. + +**Wagmi Isolation** — In external wallet mode, the widget creates its own isolated read-only wagmi config for balance fetching. It does not interfere with your application's \`WagmiProvider\`. + +**AppKit Singleton** — In built-in wallet mode (\`enableWalletConnection=true\`), the widget uses Reown AppKit which is a page-level singleton. Only one AppKit instance can exist per page. If your dApp already uses AppKit or Web3Modal, you **must** use external wallet mode instead. + +**CSS Isolation** — All widget styles are prefixed with \`ssw-\` to avoid conflicts with host page styles. Import the stylesheet explicitly: + +\`\`\`tsx +import '@shapeshiftoss/swap-widget/style.css' +\`\`\` +`, + } + + const restApiTag = { + name: 'REST API Guide', + description: `Step-by-step guide for integrating swaps via the REST API. + +## 1. Get Supported Chains \`\`\` GET /v1/chains \`\`\` -### 2. Get Supported Assets -Fetch the list of supported assets to populate your UI: +## 2. Get Supported Assets \`\`\` GET /v1/assets \`\`\` -### 3. Get Swap Rates -When a user wants to swap, fetch rates from all available swappers to find the best deal: +## 3. Get Swap Rates \`\`\` GET /v1/swap/rates?sellAssetId=eip155:1/slip44:60&buyAssetId=eip155:1/erc20:0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48&sellAmountCryptoBaseUnit=1000000000000000000 X-Affiliate-Address: 0xYourArbitrumAddress (optional) \`\`\` -This returns rates from THORChain, 0x, CoW Swap, and other supported swappers. -### 4. Get Executable Quote -Once the user selects a rate, request an executable quote with transaction data: +## 4. Get Executable Quote \`\`\` POST /v1/swap/quote X-Affiliate-Address: 0xYourArbitrumAddress (optional) @@ -465,19 +1006,19 @@ X-Affiliate-Address: 0xYourArbitrumAddress (optional) } \`\`\` -### 5. Execute the Swap +## 5. Execute the Swap Use the returned \`transactionData\` to build and sign a transaction with the user's wallet, then broadcast it to the network. -## Affiliate Tracking (Optional) -To attribute swaps to your project, include your Arbitrum address in the \`X-Affiliate-Address\` header. This is optional — all endpoints work without it. +## 6. Check Swap Status +\`\`\` +GET /v1/swap/status?quoteId=&txHash=0x... +\`\`\` -## Asset IDs -Assets use CAIP-19 format: \`{chainId}/{assetNamespace}:{assetReference}\` -- Native ETH: \`eip155:1/slip44:60\` -- USDC on Ethereum: \`eip155:1/erc20:0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48\` -- Native BTC: \`bip122:000000000019d6689c085ae165831e93/slip44:0\` +On the **first call**, include \`txHash\` to bind the transaction to the quote and start tracking. Subsequent polls can omit \`txHash\`. `, - }, - servers: [{ url: 'https://api.shapeshift.com' }, { url: 'http://localhost:3001' }], - }) + } + + doc.tags = [widgetSdkTag, restApiTag, ...(doc.tags ?? [])] + + return doc } diff --git a/packages/public-api/src/index.ts b/packages/public-api/src/index.ts index 7735b063a84..90f86640865 100644 --- a/packages/public-api/src/index.ts +++ b/packages/public-api/src/index.ts @@ -5,18 +5,23 @@ import express from 'express' import { initAssets } from './assets' import { API_HOST, API_PORT } from './config' +import { quoteStore } from './lib/quoteStore' import { affiliateAddress } from './middleware/auth' import { + affiliateStatsLimiter, dataLimiter, globalLimiter, swapQuoteLimiter, swapRatesLimiter, + swapStatusLimiter, } from './middleware/rateLimit' +import { getAffiliateStats } from './routes/affiliate' import { getAssetById, getAssetCount, getAssets } from './routes/assets' import { getChainCount, getChains } from './routes/chains' import { docsRouter } from './routes/docs' import { getQuote } from './routes/quote' import { getRates } from './routes/rates' +import { getSwapStatus } from './routes/status' const app = express() @@ -43,6 +48,8 @@ app.get('/', (_req, res) => { assetById: 'GET /v1/assets/:assetId', swapRates: 'GET /v1/swap/rates', swapQuote: 'POST /v1/swap/quote', + swapStatus: 'GET /v1/swap/status', + affiliateStats: 'GET /v1/affiliate/stats', }, }) }) @@ -58,6 +65,10 @@ const v1Router = express.Router() // Swap endpoints (optional affiliate address tracking) v1Router.get('/swap/rates', swapRatesLimiter, affiliateAddress, getRates) v1Router.post('/swap/quote', swapQuoteLimiter, affiliateAddress, getQuote) +v1Router.get('/swap/status', swapStatusLimiter, affiliateAddress, getSwapStatus) + +// Affiliate endpoints +v1Router.get('/affiliate/stats', affiliateStatsLimiter, getAffiliateStats) // Chain endpoints v1Router.get('/chains', dataLimiter, getChains) @@ -96,6 +107,8 @@ Available endpoints: GET /v1/chains/count - Get chain count GET /v1/swap/rates - Get swap rates from all swappers POST /v1/swap/quote - Get executable quote with tx data + GET /v1/swap/status - Get swap status by quoteId + GET /v1/affiliate/stats - Get affiliate stats by address GET /v1/assets - List supported assets GET /v1/assets/count - Get asset count GET /v1/assets/:assetId - Get single asset by ID @@ -107,4 +120,13 @@ Affiliate Tracking (optional): }) } +const shutdown = () => { + console.log('Shutting down gracefully...') + quoteStore.destroy() + process.exit(0) +} + +process.on('SIGTERM', shutdown) +process.on('SIGINT', shutdown) + startServer().catch(console.error) diff --git a/packages/public-api/src/lib/quoteStore.ts b/packages/public-api/src/lib/quoteStore.ts new file mode 100644 index 00000000000..caae711f67f --- /dev/null +++ b/packages/public-api/src/lib/quoteStore.ts @@ -0,0 +1,145 @@ +import type { ChainId } from '@shapeshiftoss/caip' + +export type StoredQuote = { + quoteId: string + swapperName: string + sellAssetId: string + buyAssetId: string + sellAmountCryptoBaseUnit: string + buyAmountAfterFeesCryptoBaseUnit: string + affiliateAddress: string | undefined + affiliateBps: string + sellChainId: ChainId + receiveAddress: string + sendAddress: string | undefined + rate: string + createdAt: number + expiresAt: number + metadata: { + chainflipSwapId?: number + nearIntentsDepositAddress?: string + nearIntentsDepositMemo?: string + relayId?: string + cowswapOrderUid?: string + acrossDepositId?: string + } + stepChainIds: ChainId[] + txHash?: string + registeredAt?: number + status: 'pending' | 'submitted' | 'confirmed' | 'failed' +} + +/** + * In-memory quote store with dual TTL: + * - 15 minutes for unsubmitted quotes (quote validity window) + * - 60 minutes after txHash is bound (execution tracking window) + * + * Automatic sweep of expired entries every 60 seconds. + * Migration path: swap to Redis with zero code changes (same get/set/delete interface). + */ +export class QuoteStore { + private store = new Map() + private txHashIndex = new Map() + private cleanupInterval: ReturnType + + static readonly QUOTE_TTL_MS = 15 * 60 * 1000 + static readonly EXECUTION_TTL_MS = 60 * 60 * 1000 + static readonly CLEANUP_INTERVAL_MS = 60 * 1000 + static readonly MAX_QUOTES = 10000 + + constructor() { + this.cleanupInterval = setInterval(() => this.sweep(), QuoteStore.CLEANUP_INTERVAL_MS) + } + + set(quoteId: string, quote: StoredQuote): void { + if (!this.store.has(quoteId) && this.store.size >= QuoteStore.MAX_QUOTES) { + this.evictOldest() + } + this.store.set(quoteId, quote) + if (quote.txHash) { + this.txHashIndex.set(quote.txHash, quoteId) + } + } + + get(quoteId: string): StoredQuote | undefined { + const quote = this.store.get(quoteId) + if (!quote) return undefined + + const now = Date.now() + const effectiveExpiry = quote.txHash + ? (quote.registeredAt ?? quote.createdAt) + QuoteStore.EXECUTION_TTL_MS + : quote.expiresAt + + if (now > effectiveExpiry) { + this.remove(quoteId, quote) + return undefined + } + + return quote + } + + hasTxHash(txHash: string): boolean { + const quoteId = this.txHashIndex.get(txHash) + if (!quoteId) return false + return this.get(quoteId) !== undefined + } + + getQuoteIdByTxHash(txHash: string): string | undefined { + return this.txHashIndex.get(txHash) + } + + size(): number { + return this.store.size + } + + private evictOldest(): void { + let oldestId: string | undefined + let oldestTime = Infinity + for (const [id, quote] of this.store) { + if (quote.createdAt < oldestTime) { + oldestTime = quote.createdAt + oldestId = id + } + } + if (oldestId) { + const quote = this.store.get(oldestId) + if (quote) { + console.log(`[QuoteStore] Evicting oldest quote ${oldestId} to enforce max size cap`) + this.remove(oldestId, quote) + } + } + } + + private remove(quoteId: string, quote: StoredQuote): void { + if (quote.txHash) { + this.txHashIndex.delete(quote.txHash) + } + this.store.delete(quoteId) + } + + private sweep(): void { + const now = Date.now() + let swept = 0 + for (const [id, quote] of this.store) { + const effectiveExpiry = quote.txHash + ? (quote.registeredAt ?? quote.createdAt) + QuoteStore.EXECUTION_TTL_MS + : quote.expiresAt + + if (now > effectiveExpiry) { + this.remove(id, quote) + swept++ + } + } + if (swept > 0) { + console.log(`[QuoteStore] Swept ${swept} expired quotes. ${this.store.size} remaining.`) + } + } + + destroy(): void { + clearInterval(this.cleanupInterval) + this.store.clear() + this.txHashIndex.clear() + } +} + +export const quoteStore = new QuoteStore() diff --git a/packages/public-api/src/middleware/auth.ts b/packages/public-api/src/middleware/auth.ts index 2d2e50a9808..3981ed5f408 100644 --- a/packages/public-api/src/middleware/auth.ts +++ b/packages/public-api/src/middleware/auth.ts @@ -3,18 +3,13 @@ import type { NextFunction, Request, Response } from 'express' import type { ErrorResponse } from '../types' const EVM_ADDRESS_REGEX = /^0x[0-9a-fA-F]{40}$/ +const BPS_REGEX = /^\d+$/ -// Affiliate address middleware - attaches affiliate info if a valid address is provided -// The API works without an affiliate address (anonymous access) export const affiliateAddress = (req: Request, res: Response, next: NextFunction): void => { const address = req.header('X-Affiliate-Address') + const bps = req.header('X-Affiliate-Bps') - if (!address) { - next() - return - } - - if (!EVM_ADDRESS_REGEX.test(address)) { + if (address && !EVM_ADDRESS_REGEX.test(address)) { const errorResponse: ErrorResponse = { error: 'Invalid affiliate address format. Must be a valid EVM address (0x followed by 40 hex characters).', @@ -24,7 +19,21 @@ export const affiliateAddress = (req: Request, res: Response, next: NextFunction return } - req.affiliateInfo = { affiliateAddress: address } + if (bps !== undefined && (!BPS_REGEX.test(bps) || parseInt(bps, 10) > 1000)) { + const errorResponse: ErrorResponse = { + error: 'Invalid affiliate BPS. Must be an integer between 0 and 1000.', + code: 'INVALID_AFFILIATE_BPS', + } + res.status(400).json(errorResponse) + return + } + + if (address || bps) { + req.affiliateInfo = { + ...(address && { affiliateAddress: address }), + ...(bps && { affiliateBps: bps }), + } + } next() } diff --git a/packages/public-api/src/middleware/rateLimit.ts b/packages/public-api/src/middleware/rateLimit.ts index 55fd88ca761..6b240552a32 100644 --- a/packages/public-api/src/middleware/rateLimit.ts +++ b/packages/public-api/src/middleware/rateLimit.ts @@ -34,3 +34,5 @@ export const globalLimiter = createLimiter('RATE_LIMIT_GLOBAL_MAX', 300) export const dataLimiter = createLimiter('RATE_LIMIT_DATA_MAX', 120) export const swapRatesLimiter = createLimiter('RATE_LIMIT_SWAP_RATES_MAX', 60) export const swapQuoteLimiter = createLimiter('RATE_LIMIT_SWAP_QUOTE_MAX', 45) +export const swapStatusLimiter = createLimiter('RATE_LIMIT_SWAP_STATUS_MAX', 60) +export const affiliateStatsLimiter = createLimiter('RATE_LIMIT_AFFILIATE_STATS_MAX', 30) diff --git a/packages/public-api/src/routes/affiliate.ts b/packages/public-api/src/routes/affiliate.ts new file mode 100644 index 00000000000..d0d44e475d9 --- /dev/null +++ b/packages/public-api/src/routes/affiliate.ts @@ -0,0 +1,154 @@ +import type { Request, Response } from 'express' +import { z } from 'zod' + +import { SWAP_SERVICE_BASE_URL } from '../config' +import type { ErrorResponse } from '../types' + +const AFFILIATE_TIMEOUT_MS = 10_000 + +// Request validation schema +export const AffiliateStatsRequestSchema = z + .object({ + address: z + .string() + .regex( + /^0x[0-9a-fA-F]{40}$/, + 'address must be a valid EVM address (0x followed by 40 hex characters)', + ), + startDate: z.string().datetime().optional(), + endDate: z.string().datetime().optional(), + }) + .refine( + ({ startDate, endDate }) => + !startDate || !endDate || new Date(startDate).getTime() <= new Date(endDate).getTime(), + { + message: 'startDate must be before or equal to endDate', + path: ['startDate'], + }, + ) + +export type AffiliateStatsRequest = z.infer + +export type AffiliateStatsResponse = { + address: string + totalSwaps: number + totalVolumeUsd: string + totalFeesEarnedUsd: string + timestamp: number +} + +// Backend response type from swap-service +type BackendAffiliateStats = { + affiliateAddress: string + swapCount: number + totalSwapVolumeUsd: string + totalFeesCollectedUsd: string + referrerCommissionUsd: string +} + +export const getAffiliateStats = async (req: Request, res: Response): Promise => { + try { + // Parse and validate request + const parseResult = AffiliateStatsRequestSchema.safeParse(req.query) + if (!parseResult.success) { + const errorResponse: ErrorResponse = { + error: 'Invalid request parameters', + code: 'INVALID_REQUEST', + details: parseResult.error.errors, + } + res.status(400).json(errorResponse) + return + } + + const { address, startDate, endDate } = parseResult.data + + // Build backend URL with query params + const backendUrl = new URL(`/swaps/affiliate-fees/${address}`, SWAP_SERVICE_BASE_URL) + if (startDate) { + backendUrl.searchParams.append('startDate', String(startDate)) + } + if (endDate) { + backendUrl.searchParams.append('endDate', String(endDate)) + } + + // Call backend swap-service + const controller = new AbortController() + const timeout = setTimeout(() => controller.abort(), AFFILIATE_TIMEOUT_MS) + let backendResponse: globalThis.Response + try { + backendResponse = await fetch(backendUrl.toString(), { + signal: controller.signal, + }) + } catch (error) { + clearTimeout(timeout) + if (error instanceof DOMException && error.name === 'AbortError') { + res.status(504).json({ + error: 'Swap service request timed out', + code: 'SERVICE_TIMEOUT', + } as ErrorResponse) + return + } + console.error('Failed to connect to swap-service:', error) + res.status(503).json({ + error: 'Swap service unavailable', + code: 'SERVICE_UNAVAILABLE', + } as ErrorResponse) + return + } finally { + clearTimeout(timeout) + } + + // Handle backend errors + if (!backendResponse.ok) { + if (backendResponse.status === 404) { + // Non-existent affiliate - return 200 with zero values + const response: AffiliateStatsResponse = { + address, + totalSwaps: 0, + totalVolumeUsd: '0.00', + totalFeesEarnedUsd: '0.00', + timestamp: Date.now(), + } + res.status(200).json(response) + return + } + + console.error(`Backend returned ${backendResponse.status}:`, await backendResponse.text()) + res.status(503).json({ + error: 'Swap service error', + code: 'SERVICE_ERROR', + } as ErrorResponse) + return + } + + // Parse backend response + let backendData: BackendAffiliateStats + try { + backendData = (await backendResponse.json()) as BackendAffiliateStats + } catch (error) { + console.error('Failed to parse backend response:', error) + res.status(503).json({ + error: 'Invalid response from swap service', + code: 'INVALID_RESPONSE', + } as ErrorResponse) + return + } + + // Transform backend response to public API format + const response: AffiliateStatsResponse = { + address: String(backendData.affiliateAddress), + totalSwaps: backendData.swapCount, + totalVolumeUsd: backendData.totalSwapVolumeUsd, + totalFeesEarnedUsd: backendData.referrerCommissionUsd, + timestamp: Date.now(), + } + + res.status(200).json(response) + } catch (error) { + console.error('Unexpected error in getAffiliateStats:', error) + res.status(500).json({ + error: 'Internal server error', + code: 'INTERNAL_ERROR', + } as ErrorResponse) + } +} diff --git a/packages/public-api/src/routes/docs.ts b/packages/public-api/src/routes/docs.ts index 65dbcf56bf1..6175ff99008 100644 --- a/packages/public-api/src/routes/docs.ts +++ b/packages/public-api/src/routes/docs.ts @@ -5,15 +5,18 @@ import { generateOpenApiDocument } from '../docs/openapi' const router = express.Router() -// Generate Spec const openApiDocument = generateOpenApiDocument() -// Serve raw JSON spec +const FAVICON_SVG = `S` + +router.get('/favicon.ico', (_req, res) => { + res.type('image/svg+xml').send(FAVICON_SVG) +}) + router.get('/json', (_req, res) => { res.json(openApiDocument) }) -// Serve Scalar UI router.use( '/', apiReference({ diff --git a/packages/public-api/src/routes/quote.ts b/packages/public-api/src/routes/quote.ts index f63af0b3a89..abfd7c0e5fa 100644 --- a/packages/public-api/src/routes/quote.ts +++ b/packages/public-api/src/routes/quote.ts @@ -12,6 +12,7 @@ import { z } from 'zod' import { getAsset, getAssetsById } from '../assets' import { DEFAULT_AFFILIATE_BPS, getServerConfig } from '../config' +import { QuoteStore, quoteStore } from '../lib/quoteStore' import { booleanFromString } from '../lib/zod' import { createServerSwapperDeps } from '../swapperDeps' import type { @@ -423,7 +424,7 @@ export const getQuote = async (req: Request, res: Response): Promise => { sellAsset, buyAsset, sellAmountIncludingProtocolFeesCryptoBaseUnit: sellAmountCryptoBaseUnit, - affiliateBps: DEFAULT_AFFILIATE_BPS, + affiliateBps: req.affiliateInfo?.affiliateBps ?? DEFAULT_AFFILIATE_BPS, allowMultiHop, slippageTolerancePercentageDecimal: slippage, receiveAddress, @@ -475,6 +476,31 @@ export const getQuote = async (req: Request, res: Response): Promise => { const quoteId = uuidv4() const now = Date.now() + quoteStore.set(quoteId, { + quoteId, + swapperName: validSwapperName, + sellAssetId: sellAsset.assetId, + buyAssetId: buyAsset.assetId, + sellAmountCryptoBaseUnit: firstStep.sellAmountIncludingProtocolFeesCryptoBaseUnit, + buyAmountAfterFeesCryptoBaseUnit: lastStep.buyAmountAfterFeesCryptoBaseUnit, + affiliateAddress: req.affiliateInfo?.affiliateAddress, + affiliateBps: req.affiliateInfo?.affiliateBps ?? DEFAULT_AFFILIATE_BPS, + sellChainId: sellAsset.chainId, + receiveAddress, + sendAddress, + rate: quote.rate, + createdAt: now, + expiresAt: now + QuoteStore.QUOTE_TTL_MS, + metadata: { + chainflipSwapId: firstStep.chainflipSpecific?.chainflipSwapId, + nearIntentsDepositAddress: firstStep.nearIntentsSpecific?.depositAddress, + nearIntentsDepositMemo: firstStep.nearIntentsSpecific?.depositMemo, + relayId: firstStep.relayTransactionMetadata?.relayId, + }, + stepChainIds: quote.steps.map(step => step.sellAsset.chainId), + status: 'pending', + }) + const depositContextResult = await resolveDepositContext(quote, firstStep, validSwapperName) if (!depositContextResult.ok) { res.status(depositContextResult.statusCode).json(depositContextResult.error) @@ -491,7 +517,7 @@ export const getQuote = async (req: Request, res: Response): Promise => { sellAmountCryptoBaseUnit: firstStep.sellAmountIncludingProtocolFeesCryptoBaseUnit, buyAmountBeforeFeesCryptoBaseUnit: lastStep.buyAmountBeforeFeesCryptoBaseUnit, buyAmountAfterFeesCryptoBaseUnit: lastStep.buyAmountAfterFeesCryptoBaseUnit, - affiliateBps: quote.affiliateBps, + affiliateBps: req.affiliateInfo?.affiliateBps ?? DEFAULT_AFFILIATE_BPS, slippageTolerancePercentageDecimal: quote.slippageTolerancePercentageDecimal, networkFeeCryptoBaseUnit: firstStep.feeData.networkFeeCryptoBaseUnit, steps: quote.steps.map((step, index) => diff --git a/packages/public-api/src/routes/rates.ts b/packages/public-api/src/routes/rates.ts index 4405ecb0b8e..cbf038a0bd9 100644 --- a/packages/public-api/src/routes/rates.ts +++ b/packages/public-api/src/routes/rates.ts @@ -113,7 +113,7 @@ export const getRates = async (req: Request, res: Response): Promise => { sellAsset, buyAsset, sellAmountIncludingProtocolFeesCryptoBaseUnit: sellAmountCryptoBaseUnit, - affiliateBps: DEFAULT_AFFILIATE_BPS, + affiliateBps: req.affiliateInfo?.affiliateBps ?? DEFAULT_AFFILIATE_BPS, allowMultiHop, slippageTolerancePercentageDecimal, receiveAddress: undefined, @@ -154,7 +154,7 @@ export const getRates = async (req: Request, res: Response): Promise => { steps: 0, estimatedExecutionTimeMs: undefined, priceImpactPercentageDecimal: undefined, - affiliateBps: DEFAULT_AFFILIATE_BPS, + affiliateBps: req.affiliateInfo?.affiliateBps ?? DEFAULT_AFFILIATE_BPS, networkFeeCryptoBaseUnit: undefined, error: { code: error.code ?? TradeQuoteError.UnknownError, @@ -178,7 +178,7 @@ export const getRates = async (req: Request, res: Response): Promise => { steps: rate.steps.length, estimatedExecutionTimeMs: firstStep.estimatedExecutionTimeMs, priceImpactPercentageDecimal: rate.priceImpactPercentageDecimal, - affiliateBps: rate.affiliateBps, + affiliateBps: req.affiliateInfo?.affiliateBps ?? DEFAULT_AFFILIATE_BPS, networkFeeCryptoBaseUnit: firstStep.feeData.networkFeeCryptoBaseUnit, } } catch (error) { diff --git a/packages/public-api/src/routes/status.ts b/packages/public-api/src/routes/status.ts new file mode 100644 index 00000000000..4d920e7ec08 --- /dev/null +++ b/packages/public-api/src/routes/status.ts @@ -0,0 +1,213 @@ +import type { Request, Response } from 'express' +import { z } from 'zod' + +import { getAsset } from '../assets' +import { SWAP_SERVICE_BASE_URL } from '../config' +import { quoteStore } from '../lib/quoteStore' +import type { ErrorResponse } from '../types' + +const STATUS_TIMEOUT_MS = 10_000 + +export const StatusRequestSchema = z.object({ + quoteId: z.string().uuid(), + txHash: z.string().min(1).max(128).optional(), +}) + +const toHumanAmount = (baseUnit: string, precision: number): string => { + if (precision === 0) return baseUnit + const padded = baseUnit.padStart(precision + 1, '0') + return `${padded.slice(0, -precision)}.${padded.slice(-precision)}` +} + +const buildSwapRegistrationBody = (storedQuote: ReturnType & object) => { + const sellAsset = getAsset(storedQuote.sellAssetId) + const buyAsset = getAsset(storedQuote.buyAssetId) + if (!sellAsset || !buyAsset) return undefined + + return { + body: JSON.stringify({ + swapId: storedQuote.quoteId, + sellAsset, + buyAsset, + sellAmountCryptoBaseUnit: storedQuote.sellAmountCryptoBaseUnit, + expectedBuyAmountCryptoBaseUnit: storedQuote.buyAmountAfterFeesCryptoBaseUnit, + sellAmountCryptoPrecision: toHumanAmount( + storedQuote.sellAmountCryptoBaseUnit, + sellAsset.precision, + ), + expectedBuyAmountCryptoPrecision: toHumanAmount( + storedQuote.buyAmountAfterFeesCryptoBaseUnit, + buyAsset.precision, + ), + sellTxHash: storedQuote.txHash, + source: storedQuote.swapperName, + swapperName: storedQuote.swapperName, + sellAccountId: storedQuote.sendAddress, + receiveAddress: storedQuote.receiveAddress, + affiliateAddress: storedQuote.affiliateAddress, + affiliateBps: storedQuote.affiliateBps, + origin: 'api', + metadata: storedQuote.metadata, + }), + sellAsset, + buyAsset, + } +} + +const registerSwapInService = async ( + storedQuote: ReturnType & object, +): Promise => { + const registration = buildSwapRegistrationBody(storedQuote) + if (!registration) return false + + const controller = new AbortController() + const timeout = setTimeout(() => controller.abort(), STATUS_TIMEOUT_MS) + try { + const postResponse = await fetch(`${SWAP_SERVICE_BASE_URL}/swaps`, { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + signal: controller.signal, + body: registration.body, + }) + if (!postResponse.ok) { + const errorBody = await postResponse.text() + console.error(`swap-service POST failed (${postResponse.status}):`, errorBody) + return false + } + return true + } catch (err) { + console.error('Failed to register swap in swap-service:', err) + return false + } finally { + clearTimeout(timeout) + } +} + +export const getSwapStatus = async (req: Request, res: Response): Promise => { + try { + const parseResult = StatusRequestSchema.safeParse(req.query) + if (!parseResult.success) { + res.status(400).json({ + error: 'Invalid request parameters', + details: parseResult.error.errors, + } as ErrorResponse) + return + } + + const { quoteId, txHash } = parseResult.data + + const storedQuote = quoteStore.get(quoteId) + + if (!storedQuote) { + res.status(404).json({ + error: 'Quote not found or expired', + code: 'QUOTE_NOT_FOUND', + } as ErrorResponse) + return + } + + const requestAffiliateAddress = req.affiliateInfo?.affiliateAddress?.toLowerCase() + const quoteAffiliateAddress = storedQuote.affiliateAddress?.toLowerCase() + if (quoteAffiliateAddress && requestAffiliateAddress !== quoteAffiliateAddress) { + res.status(403).json({ + error: 'Quote is not accessible for this affiliate', + code: 'AFFILIATE_MISMATCH', + } as ErrorResponse) + return + } + + if (txHash && storedQuote.txHash && storedQuote.txHash !== txHash) { + res.status(409).json({ + error: 'Transaction hash does not match the registered swap', + code: 'TX_HASH_MISMATCH', + } as ErrorResponse) + return + } + + if (txHash && !storedQuote.txHash) { + // Defense-in-depth: re-read from store before mutation (future-proofing for potential async operations above) + const current = quoteStore.get(quoteId) + if (current?.txHash) { + res.json({ + quoteId, + txHash: current.txHash, + status: current.status, + swapperName: current.swapperName, + sellAssetId: current.sellAssetId, + buyAssetId: current.buyAssetId, + sellAmountCryptoBaseUnit: current.sellAmountCryptoBaseUnit, + buyAmountAfterFeesCryptoBaseUnit: current.buyAmountAfterFeesCryptoBaseUnit, + affiliateAddress: current.affiliateAddress, + affiliateBps: current.affiliateBps, + registeredAt: current.registeredAt, + }) + return + } + + storedQuote.txHash = txHash + storedQuote.registeredAt = Date.now() + storedQuote.status = 'submitted' + quoteStore.set(quoteId, storedQuote) + + await registerSwapInService(storedQuote) + } + + let swapServiceStatus: Record | null = null + if (storedQuote.txHash) { + const getController = new AbortController() + const getTimeout = setTimeout(() => getController.abort(), STATUS_TIMEOUT_MS) + try { + const swapResponse = await fetch(`${SWAP_SERVICE_BASE_URL}/swaps/${quoteId}`, { + signal: getController.signal, + }) + if (swapResponse.ok) { + swapServiceStatus = (await swapResponse.json()) as Record + } else if (swapResponse.status === 404) { + await registerSwapInService(storedQuote) + } + } catch (err) { + console.error('Failed to fetch swap status from swap-service:', err) + } finally { + clearTimeout(getTimeout) + } + } + + const status = + swapServiceStatus?.status === 'SUCCESS' + ? 'confirmed' + : swapServiceStatus?.status === 'FAILED' + ? 'failed' + : storedQuote.status + + if (status !== storedQuote.status && (status === 'confirmed' || status === 'failed')) { + storedQuote.status = status + quoteStore.set(quoteId, storedQuote) + } + + const response: Record = { + quoteId, + txHash: storedQuote.txHash, + status, + swapperName: storedQuote.swapperName, + sellAssetId: storedQuote.sellAssetId, + buyAssetId: storedQuote.buyAssetId, + sellAmountCryptoBaseUnit: storedQuote.sellAmountCryptoBaseUnit, + buyAmountAfterFeesCryptoBaseUnit: storedQuote.buyAmountAfterFeesCryptoBaseUnit, + affiliateAddress: storedQuote.affiliateAddress, + affiliateBps: storedQuote.affiliateBps, + registeredAt: storedQuote.registeredAt, + } + + if (swapServiceStatus?.buyTxHash) { + response.buyTxHash = swapServiceStatus.buyTxHash + } + if (swapServiceStatus?.isAffiliateVerified !== undefined) { + response.isAffiliateVerified = swapServiceStatus.isAffiliateVerified + } + + res.json(response) + } catch (error) { + console.error('Error in getSwapStatus:', error) + res.status(500).json({ error: 'Internal server error' } as ErrorResponse) + } +} diff --git a/packages/public-api/src/types.ts b/packages/public-api/src/types.ts index d5cc427914f..957a75a700b 100644 --- a/packages/public-api/src/types.ts +++ b/packages/public-api/src/types.ts @@ -24,7 +24,8 @@ export type { } export type AffiliateInfo = { - affiliateAddress: string + affiliateAddress?: string + affiliateBps?: string } export type RatesRequest = { diff --git a/packages/swap-widget/package.json b/packages/swap-widget/package.json index e8fb5562d1a..6af23a0343d 100644 --- a/packages/swap-widget/package.json +++ b/packages/swap-widget/package.json @@ -1,11 +1,28 @@ { "name": "@shapeshiftoss/swap-widget", - "version": "0.0.1", - "private": true, + "version": "0.1.0", "description": "Embeddable swap widget using ShapeShift API", "type": "module", "main": "dist/index.js", + "module": "dist/index.js", "types": "dist/index.d.ts", + "style": "dist/style.css", + "exports": { + ".": { + "types": "./dist/index.d.ts", + "import": "./dist/index.js", + "default": "./dist/index.js" + }, + "./style.css": "./dist/style.css", + "./dist/style.css": "./dist/style.css" + }, + "sideEffects": [ + "*.css" + ], + "files": [ + "dist", + "README.md" + ], "scripts": { "dev": "vite", "clean": "rm -rf dist node_modules", @@ -18,6 +35,49 @@ "test:watch": "vitest" }, "dependencies": { + "@shapeshiftoss/caip": "^8.0.0", + "@shapeshiftoss/types": "^8.0.0", + "@shapeshiftoss/utils": "^1.0.0", + "@xstate/react": "5.0.5", + "bech32": "^2.0.0", + "p-queue": "^8.0.1", + "react-virtuoso": "^4.7.11", + "xstate": "5.28.0" + }, + "peerDependencies": { + "@reown/appkit": "^1.8.17", + "@reown/appkit-adapter-bitcoin": "^1.8.17", + "@reown/appkit-adapter-solana": "^1.8.17", + "@reown/appkit-adapter-wagmi": "^1.8.17", + "@solana/wallet-adapter-wallets": "^0.19.32", + "@solana/web3.js": "^1.98.0", + "@tanstack/react-query": "^5.69.0", + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0", + "viem": "^2.40.0", + "wagmi": "^3.3.0" + }, + "peerDependenciesMeta": { + "@reown/appkit": { + "optional": true + }, + "@reown/appkit-adapter-bitcoin": { + "optional": true + }, + "@reown/appkit-adapter-solana": { + "optional": true + }, + "@reown/appkit-adapter-wagmi": { + "optional": true + }, + "@solana/wallet-adapter-wallets": { + "optional": true + }, + "@solana/web3.js": { + "optional": true + } + }, + "devDependencies": { "@reown/appkit": "^1.8.17", "@reown/appkit-adapter-bitcoin": "^1.8.17", "@reown/appkit-adapter-solana": "^1.8.17", @@ -28,15 +88,6 @@ "@solana/wallet-adapter-wallets": "^0.19.32", "@solana/web3.js": "1.98.0", "@tanstack/react-query": "^5.69.0", - "@xstate/react": "5.0.5", - "bech32": "^2.0.0", - "p-queue": "^8.0.1", - "react-virtuoso": "^4.7.11", - "viem": "2.40.3", - "wagmi": "3.3.2", - "xstate": "5.28.0" - }, - "devDependencies": { "@testing-library/jest-dom": "6.9.1", "@testing-library/react": "16.3.2", "@types/react": "^19.0.0", @@ -46,12 +97,14 @@ "react": "^19.0.0", "react-dom": "^19.0.0", "typescript": "~5.2.2", + "viem": "2.40.3", "vite": "^5.0.0", + "vite-plugin-dts": "^4.5.4", "vite-plugin-node-polyfills": "0.23.0", - "vitest": "4.0.18" + "vitest": "4.0.18", + "wagmi": "3.3.2" }, - "peerDependencies": { - "react": ">=18.0.0", - "react-dom": ">=18.0.0" + "publishConfig": { + "access": "public" } } diff --git a/packages/swap-widget/src/api/client.ts b/packages/swap-widget/src/api/client.ts index 18aa6b56c28..39156b7e544 100644 --- a/packages/swap-widget/src/api/client.ts +++ b/packages/swap-widget/src/api/client.ts @@ -6,6 +6,7 @@ const DEFAULT_API_BASE_URL = export type ApiClientConfig = { baseUrl?: string affiliateAddress?: string + affiliateBps?: string } export const createApiClient = (config: ApiClientConfig = {}) => { @@ -24,6 +25,9 @@ export const createApiClient = (config: ApiClientConfig = {}) => { if (config.affiliateAddress) { headers['x-affiliate-address'] = config.affiliateAddress } + if (config.affiliateBps) { + headers['x-affiliate-bps'] = config.affiliateBps + } const controller = new AbortController() const timeoutId = setTimeout(() => controller.abort(), timeoutMs) diff --git a/packages/swap-widget/src/components/SwapWidget.css b/packages/swap-widget/src/components/SwapWidget.css index 44cac46413e..bfc98765860 100644 --- a/packages/swap-widget/src/components/SwapWidget.css +++ b/packages/swap-widget/src/components/SwapWidget.css @@ -47,11 +47,11 @@ --ssw-bg-tertiary: #ffffff; --ssw-bg-input: #f0f2f5; --ssw-bg-hover: rgba(0, 0, 0, 0.04); - --ssw-border: rgba(0, 0, 0, 0.08); - --ssw-border-hover: rgba(0, 0, 0, 0.15); + --ssw-border: rgba(0, 0, 0, 0.12); + --ssw-border-hover: rgba(0, 0, 0, 0.2); --ssw-text-primary: #1a1a2e; - --ssw-text-secondary: #5c5c70; - --ssw-text-muted: #9090a0; + --ssw-text-secondary: #4a4a60; + --ssw-text-muted: #6b6b7b; background: var(--ssw-bg-secondary); color: var(--ssw-text-primary); diff --git a/packages/swap-widget/src/components/SwapWidget.tsx b/packages/swap-widget/src/components/SwapWidget.tsx index df83a9b5766..8a5776ffee3 100644 --- a/packages/swap-widget/src/components/SwapWidget.tsx +++ b/packages/swap-widget/src/components/SwapWidget.tsx @@ -3,8 +3,10 @@ import './SwapWidget.css' import { QueryClient, QueryClientProvider } from '@tanstack/react-query' import { useCallback, useEffect, useMemo, useRef, useState } from 'react' import type { WalletClient } from 'viem' +import { WagmiProvider } from 'wagmi' import { createApiClient } from '../api/client' +import { standaloneWagmiConfig } from '../config/standaloneWagmi' import { DEFAULT_BUY_ASSET, DEFAULT_SELL_ASSET } from '../constants/defaults' import type { SwapWalletContextValue } from '../contexts/SwapWalletContext' import { SwapWalletProvider, useSwapWallet } from '../contexts/SwapWalletContext' @@ -42,6 +44,7 @@ type SwapWidgetContentProps = { theme: SwapWidgetProps['theme'] showPoweredBy: boolean defaultReceiveAddress?: string + affiliateAddress?: string enableWalletConnection: boolean isBuyAssetLocked: boolean onConnectWallet?: () => void @@ -63,6 +66,7 @@ const SwapWidgetContent = ({ theme = 'dark', showPoweredBy, defaultReceiveAddress, + affiliateAddress, enableWalletConnection, isBuyAssetLocked, onConnectWallet, @@ -129,7 +133,7 @@ const SwapWidgetContent = ({ handleSelectRate, handleSlippageChange, handleButtonClick, - } = useSwapHandlers({ onConnectWallet, onAssetSelect }) + } = useSwapHandlers({ onConnectWallet, onAssetSelect, affiliateAddress }) useSwapQuoting({ apiClient, rates, sellAssetBalance }) @@ -356,6 +360,7 @@ type SwapWidgetCoreProps = { defaultBuyAsset: Asset defaultSlippage: string defaultReceiveAddress?: string + affiliateAddress?: string apiClient: ReturnType theme: SwapWidgetProps['theme'] showPoweredBy: boolean @@ -381,6 +386,7 @@ const SwapWidgetCore = ({ defaultBuyAsset, defaultSlippage, defaultReceiveAddress, + affiliateAddress, apiClient, theme, showPoweredBy, @@ -484,6 +490,7 @@ const SwapWidgetCore = ({ theme={theme} showPoweredBy={showPoweredBy} defaultReceiveAddress={defaultReceiveAddress} + affiliateAddress={affiliateAddress} enableWalletConnection={enableWalletConnection} isBuyAssetLocked={isBuyAssetLocked} onConnectWallet={onConnectWallet} @@ -509,39 +516,43 @@ const SwapWidgetWithExternalWallet = (props: SwapWidgetProps) => { createApiClient({ baseUrl: props.apiBaseUrl, affiliateAddress: props.affiliateAddress, + affiliateBps: props.affiliateBps, }), - [props.apiBaseUrl, props.affiliateAddress], + [props.apiBaseUrl, props.affiliateAddress, props.affiliateBps], ) return ( - - - - - + + + + + + + ) } @@ -553,8 +564,9 @@ const SwapWidgetWithInternalWallet = ( createApiClient({ baseUrl: props.apiBaseUrl, affiliateAddress: props.affiliateAddress, + affiliateBps: props.affiliateBps, }), - [props.apiBaseUrl, props.affiliateAddress], + [props.apiBaseUrl, props.affiliateAddress, props.affiliateBps], ) return ( @@ -568,6 +580,7 @@ const SwapWidgetWithInternalWallet = ( defaultBuyAsset={props.defaultBuyAsset ?? DEFAULT_BUY_ASSET} defaultSlippage={props.defaultSlippage ?? '0.5'} defaultReceiveAddress={props.defaultReceiveAddress} + affiliateAddress={props.affiliateAddress} apiClient={apiClient} theme={props.theme} showPoweredBy={props.showPoweredBy ?? true} diff --git a/packages/swap-widget/src/config/appkit.ts b/packages/swap-widget/src/config/appkit.ts index 91ecb38f053..f8a75ab9c11 100644 --- a/packages/swap-widget/src/config/appkit.ts +++ b/packages/swap-widget/src/config/appkit.ts @@ -1,3 +1,4 @@ +import type { AppKitNetwork } from '@reown/appkit/networks' import { arbitrum, avalanche, @@ -21,7 +22,7 @@ import { SolanaAdapter } from '@reown/appkit-adapter-solana/react' import { WagmiAdapter } from '@reown/appkit-adapter-wagmi' import { PhantomWalletAdapter, SolflareWalletAdapter } from '@solana/wallet-adapter-wallets' -export const EVM_NETWORKS = [ +export const EVM_NETWORKS: readonly AppKitNetwork[] = [ mainnet, polygon, arbitrum, @@ -35,9 +36,9 @@ export const EVM_NETWORKS = [ plasma, worldchain, katana, -] as const +] -export const ALL_NETWORKS = [...EVM_NETWORKS, bitcoin, solana] as const +export const ALL_NETWORKS: readonly AppKitNetwork[] = [...EVM_NETWORKS, bitcoin, solana] export type SupportedNetwork = (typeof ALL_NETWORKS)[number] export type EvmNetwork = (typeof EVM_NETWORKS)[number] @@ -94,7 +95,7 @@ export const initializeAppKit = (projectId: string): void => { createAppKit({ adapters: [wagmi, btc, sol], projectId, - networks: [...ALL_NETWORKS], + networks: [...ALL_NETWORKS] as [AppKitNetwork, ...AppKitNetwork[]], metadata: APP_METADATA, }) diff --git a/packages/swap-widget/src/config/standaloneWagmi.ts b/packages/swap-widget/src/config/standaloneWagmi.ts new file mode 100644 index 00000000000..300556f7bee --- /dev/null +++ b/packages/swap-widget/src/config/standaloneWagmi.ts @@ -0,0 +1,18 @@ +import { arbitrum, avalanche, base, bsc, gnosis, mainnet, optimism, polygon } from 'viem/chains' +import { createConfig, http } from 'wagmi' + +const chains = [mainnet, polygon, arbitrum, optimism, base, avalanche, bsc, gnosis] as const + +export const standaloneWagmiConfig = createConfig({ + chains, + transports: { + [mainnet.id]: http(), + [polygon.id]: http(), + [arbitrum.id]: http(), + [optimism.id]: http(), + [base.id]: http(), + [avalanche.id]: http(), + [bsc.id]: http(), + [gnosis.id]: http(), + }, +}) diff --git a/packages/swap-widget/src/config/wagmi.ts b/packages/swap-widget/src/config/wagmi.ts index d8ffb5c949f..0b1388c172a 100644 --- a/packages/swap-widget/src/config/wagmi.ts +++ b/packages/swap-widget/src/config/wagmi.ts @@ -1,3 +1,4 @@ +import type { AppKitNetwork } from '@reown/appkit/networks' import { arbitrum, avalanche, @@ -10,7 +11,7 @@ import { } from '@reown/appkit/networks' import type { Config } from 'wagmi' -export const SUPPORTED_CHAINS = [ +export const SUPPORTED_CHAINS: readonly AppKitNetwork[] = [ mainnet, polygon, arbitrum, @@ -19,9 +20,9 @@ export const SUPPORTED_CHAINS = [ avalanche, bsc, gnosis, -] as const +] export type SupportedChains = typeof SUPPORTED_CHAINS -export type SupportedChainId = SupportedChains[number]['id'] +export type SupportedChainId = number export type WagmiConfig = Config diff --git a/packages/swap-widget/src/demo/App.css b/packages/swap-widget/src/demo/App.css index 0c2e786b03a..76870ee7985 100644 --- a/packages/swap-widget/src/demo/App.css +++ b/packages/swap-widget/src/demo/App.css @@ -434,12 +434,21 @@ body, padding: 10px; } + .demo-hero { + margin-bottom: 0; + } + .demo-title { - font-size: 32px; + font-size: 24px; + margin-bottom: 4px; } .demo-subtitle { - font-size: 14px; + font-size: 13px; + } + + .demo-content { + gap: 16px; } .demo-layout { @@ -448,11 +457,10 @@ body, } .demo-customizer { - width: 100%; - max-width: 420px; + display: none; } .demo-main { - padding: 32px 16px; + padding: 16px 12px; } } diff --git a/packages/swap-widget/src/hooks/useAssets.ts b/packages/swap-widget/src/hooks/useAssets.ts index a1873be5173..b0ed00f5702 100644 --- a/packages/swap-widget/src/hooks/useAssets.ts +++ b/packages/swap-widget/src/hooks/useAssets.ts @@ -1,8 +1,11 @@ import { ASSET_NAMESPACE, fromAssetId } from '@shapeshiftoss/caip' +import type { UseQueryResult } from '@tanstack/react-query' import { useQuery } from '@tanstack/react-query' import type { Asset, AssetId, ChainId } from '../types' +type AssetQueryResult = Omit, 'data'> & { data: TData } + const SHAPESHIFT_ASSET_CDN = 'https://app.shapeshift.com' const ASSET_QUERY_STALE_TIME = 5 * 60 * 1000 @@ -37,7 +40,7 @@ const fetchAssetData = async (): Promise => { return response.json() } -export const useAssetData = () => { +export const useAssetData = (): UseQueryResult => { return useQuery({ queryKey: ['assetData'], queryFn: fetchAssetData, @@ -46,7 +49,7 @@ export const useAssetData = () => { }) } -export const useAssets = () => { +export const useAssets = (): AssetQueryResult => { const { data, ...rest } = useAssetData() const assets = data ? data.ids.map(id => data.byId[id]).filter(Boolean) : [] @@ -54,12 +57,12 @@ export const useAssets = () => { return { data: assets, ...rest } } -export const useAssetsById = () => { +export const useAssetsById = (): AssetQueryResult> => { const { data, ...rest } = useAssetData() return { data: data?.byId ?? {}, ...rest } } -export const useAssetById = (assetId: AssetId | undefined) => { +export const useAssetById = (assetId: AssetId | undefined): AssetQueryResult => { const { data: assetsById, ...rest } = useAssetsById() return { data: assetId ? assetsById[assetId] : undefined, @@ -84,7 +87,7 @@ const isNativeAsset = (assetId: string): boolean => { } } -export const useChains = () => { +export const useChains = (): AssetQueryResult => { const { data: assets, ...rest } = useAssets() const chains = (() => { @@ -112,13 +115,15 @@ export const useChains = () => { return { data: chains, ...rest } } -export const useChainInfo = (chainId: ChainId | undefined) => { +export const useChainInfo = ( + chainId: ChainId | undefined, +): AssetQueryResult => { const { data: chains, ...rest } = useChains() const chainInfo = chainId ? chains.find(c => c.chainId === chainId) : undefined return { data: chainInfo, ...rest } } -export const useAssetsByChainId = (chainId: ChainId | undefined) => { +export const useAssetsByChainId = (chainId: ChainId | undefined): AssetQueryResult => { const { data: assets, ...rest } = useAssets() const filteredAssets = chainId ? assets.filter(asset => asset.chainId === chainId) : assets @@ -146,7 +151,7 @@ const scoreAsset = (asset: Asset, query: string): number => { return score } -export const useAssetSearch = (query: string, chainId?: ChainId) => { +export const useAssetSearch = (query: string, chainId?: ChainId): AssetQueryResult => { const { data: assets, ...rest } = useAssets() const searchResults = (() => { diff --git a/packages/swap-widget/src/hooks/useBalances.ts b/packages/swap-widget/src/hooks/useBalances.ts index 5d2fc743327..2d190114036 100644 --- a/packages/swap-widget/src/hooks/useBalances.ts +++ b/packages/swap-widget/src/hooks/useBalances.ts @@ -21,7 +21,7 @@ const balanceQueue = new PQueue({ intervalCap: CONCURRENCY_LIMIT, }) -type BalanceResult = { +export type BalanceResult = { assetId: AssetId balance: string balanceFormatted: string @@ -29,6 +29,12 @@ type BalanceResult = { type BalancesMap = Record +type SingleBalanceResult = { + data: BalanceResult | undefined + isLoading: boolean + refetch: (() => void) | undefined +} + type ParsedAssetEvm = { chainType: 'evm' evmChainId: number @@ -275,7 +281,7 @@ export const useBitcoinBalance = ( address: string | undefined, assetId: AssetId | undefined, precision: number = 8, -) => { +): SingleBalanceResult => { const parsed = assetId ? parseAssetIdMultiChain(assetId) : null const isUtxo = parsed?.chainType === 'utxo' @@ -330,7 +336,7 @@ export const useSolanaBalance = ( address: string | undefined, assetId: AssetId | undefined, precision: number = 9, -) => { +): SingleBalanceResult => { const { connection: walletConnection } = useAppKitConnection() const parsed = assetId ? parseAssetIdMultiChain(assetId) : null const isSolana = parsed?.chainType === 'solana' @@ -422,7 +428,7 @@ export const useMultiChainBalance = ( solanaAddress: string | undefined, assetId: AssetId | undefined, precision: number = 18, -) => { +): SingleBalanceResult => { const parsed = assetId ? parseAssetIdMultiChain(assetId) : null const chainType = parsed?.chainType ?? 'other' const config = useConfig() diff --git a/packages/swap-widget/src/hooks/useMarketData.ts b/packages/swap-widget/src/hooks/useMarketData.ts index 84794d16394..94e438dca22 100644 --- a/packages/swap-widget/src/hooks/useMarketData.ts +++ b/packages/swap-widget/src/hooks/useMarketData.ts @@ -1,9 +1,12 @@ import { adapters } from '@shapeshiftoss/caip' import { BigAmount, bn } from '@shapeshiftoss/utils' +import type { UseQueryResult } from '@tanstack/react-query' import { useQuery } from '@tanstack/react-query' import type { AssetId } from '../types' +type MarketDataQueryResult = Omit, 'data'> & { data: TData } + const MARKET_DATA_STALE_TIME = 10 * 60 * 1000 const MARKET_DATA_GC_TIME = 60 * 60 * 1000 @@ -112,7 +115,7 @@ const fetchAllMarketData = async (): Promise => { return result } -export const useAllMarketData = () => { +export const useAllMarketData = (): UseQueryResult => { return useQuery({ queryKey: ['allMarketData'], queryFn: fetchAllMarketData, @@ -123,7 +126,7 @@ export const useAllMarketData = () => { }) } -export const useMarketData = (assetIds: AssetId[]) => { +export const useMarketData = (assetIds: AssetId[]): MarketDataQueryResult => { const { data: allMarketData, ...rest } = useAllMarketData() const filteredData = (() => { @@ -141,7 +144,9 @@ export const useMarketData = (assetIds: AssetId[]) => { return { data: filteredData, ...rest } } -export const useAssetPrice = (assetId: AssetId | undefined) => { +export const useAssetPrice = ( + assetId: AssetId | undefined, +): MarketDataQueryResult => { const { data: allMarketData, ...rest } = useAllMarketData() return { diff --git a/packages/swap-widget/src/hooks/useSwapDisplayValues.ts b/packages/swap-widget/src/hooks/useSwapDisplayValues.ts index 9f50e3519dc..c7a6f8b40fc 100644 --- a/packages/swap-widget/src/hooks/useSwapDisplayValues.ts +++ b/packages/swap-widget/src/hooks/useSwapDisplayValues.ts @@ -1,11 +1,15 @@ +import type { Asset as ShapeshiftAsset } from '@shapeshiftoss/types' import { useMemo } from 'react' import type { ApiClient } from '../api/client' import { getBaseAsset } from '../constants/chains' import { useSwapWallet } from '../contexts/SwapWalletContext' import { SwapMachineCtx } from '../machines/SwapMachineContext' +import type { TradeRate } from '../types' import { formatAmount, getChainType } from '../types' +import type { ChainInfo } from './useAssets' import { useChainInfo } from './useAssets' +import type { BalanceResult } from './useBalances' import { useMultiChainBalance } from './useBalances' import { formatUsdValue, useMarketData } from './useMarketData' import { useSwapRates } from './useSwapRates' @@ -14,7 +18,33 @@ type UseSwapDisplayValuesParams = { apiClient: ApiClient } -export const useSwapDisplayValues = ({ apiClient }: UseSwapDisplayValuesParams) => { +type SwapDisplayValues = { + rates: TradeRate[] | undefined + isLoadingRates: boolean + ratesError: Error | null + sellAssetBalance: BalanceResult | undefined + isSellBalanceLoading: boolean + refetchSellBalance: (() => void) | undefined + buyAssetBalance: BalanceResult | undefined + isBuyBalanceLoading: boolean + refetchBuyBalance: (() => void) | undefined + sellChainInfo: ChainInfo | undefined + buyChainInfo: ChainInfo | undefined + displayRate: TradeRate | undefined + buyAmount: string | undefined + sellChainNativeAsset: ShapeshiftAsset | undefined + networkFeeDisplay: string | undefined + sellUsdValue: string + buyUsdValue: string + sellAssetUsdPrice: string | undefined + buyAssetUsdPrice: string | undefined + sellBalanceFiatValue: string | undefined + buyBalanceFiatValue: string | undefined +} + +export const useSwapDisplayValues = ({ + apiClient, +}: UseSwapDisplayValuesParams): SwapDisplayValues => { const sellAsset = SwapMachineCtx.useSelector(s => s.context.sellAsset) const buyAsset = SwapMachineCtx.useSelector(s => s.context.buyAsset) const sellAmountBaseUnit = SwapMachineCtx.useSelector(s => s.context.sellAmountBaseUnit) diff --git a/packages/swap-widget/src/hooks/useSwapHandlers.ts b/packages/swap-widget/src/hooks/useSwapHandlers.ts index 27cfbe3d8f0..480a8767c53 100644 --- a/packages/swap-widget/src/hooks/useSwapHandlers.ts +++ b/packages/swap-widget/src/hooks/useSwapHandlers.ts @@ -4,13 +4,19 @@ import { useSwapWallet } from '../contexts/SwapWalletContext' import { SwapMachineCtx } from '../machines/SwapMachineContext' import type { Asset, TradeRate } from '../types' import { parseAmount } from '../types' +import { buildShapeShiftTradeUrl } from '../utils/redirect' type UseSwapHandlersParams = { onConnectWallet?: () => void onAssetSelect?: (type: 'sell' | 'buy', asset: Asset) => void + affiliateAddress?: string } -export const useSwapHandlers = ({ onConnectWallet, onAssetSelect }: UseSwapHandlersParams) => { +export const useSwapHandlers = ({ + onConnectWallet, + onAssetSelect, + affiliateAddress, +}: UseSwapHandlersParams) => { const actorRef = SwapMachineCtx.useActorRef() const { walletClient, bitcoin, solana } = useSwapWallet() @@ -62,17 +68,17 @@ export const useSwapHandlers = ({ onConnectWallet, onAssetSelect }: UseSwapHandl const redirectToShapeShift = useCallback(() => { const snap = actorRef.getSnapshot() - const params = new URLSearchParams({ + const sellAmountBaseUnit = snap.context.sellAmount + ? parseAmount(snap.context.sellAmount, snap.context.sellAsset.precision) + : undefined + const url = buildShapeShiftTradeUrl({ sellAssetId: snap.context.sellAsset.assetId, buyAssetId: snap.context.buyAsset.assetId, - sellAmount: snap.context.sellAmount, + sellAmountBaseUnit, + affiliateAddress, }) - window.open( - `https://app.shapeshift.com/trade?${params.toString()}`, - '_blank', - 'noopener,noreferrer', - ) - }, [actorRef]) + window.open(url, '_blank', 'noopener,noreferrer') + }, [actorRef, affiliateAddress]) const handleButtonClick = useCallback(() => { const snap = actorRef.getSnapshot() @@ -91,20 +97,27 @@ export const useSwapHandlers = ({ onConnectWallet, onAssetSelect }: UseSwapHandl !snap.context.isSellAssetUtxo && !snap.context.isSellAssetSolana ) { - const params = new URLSearchParams({ + const sellAmountBaseUnit = snap.context.sellAmount + ? parseAmount(snap.context.sellAmount, snap.context.sellAsset.precision) + : undefined + const url = buildShapeShiftTradeUrl({ sellAssetId: snap.context.sellAsset.assetId, buyAssetId: snap.context.buyAsset.assetId, - sellAmount: snap.context.sellAmount, + sellAmountBaseUnit, + affiliateAddress, }) - window.open( - `https://app.shapeshift.com/trade?${params.toString()}`, - '_blank', - 'noopener,noreferrer', - ) + window.open(url, '_blank', 'noopener,noreferrer') return } actorRef.send({ type: 'FETCH_QUOTE' }) - }, [actorRef, bitcoin.isConnected, solana.isConnected, walletClient, onConnectWallet]) + }, [ + actorRef, + bitcoin.isConnected, + solana.isConnected, + walletClient, + onConnectWallet, + affiliateAddress, + ]) return { handleSwapTokens, diff --git a/packages/swap-widget/src/hooks/useSwapQuote.ts b/packages/swap-widget/src/hooks/useSwapQuote.ts index a3018c7c9a1..5eb9f306834 100644 --- a/packages/swap-widget/src/hooks/useSwapQuote.ts +++ b/packages/swap-widget/src/hooks/useSwapQuote.ts @@ -1,3 +1,4 @@ +import type { UseQueryResult } from '@tanstack/react-query' import { useQuery } from '@tanstack/react-query' import type { ApiClient } from '../api/client' @@ -14,7 +15,10 @@ export type UseSwapQuoteParams = { enabled?: boolean } -export const useSwapQuote = (apiClient: ApiClient, params: UseSwapQuoteParams) => { +export const useSwapQuote = ( + apiClient: ApiClient, + params: UseSwapQuoteParams, +): UseQueryResult => { const { sellAssetId, buyAssetId, diff --git a/packages/swap-widget/src/hooks/useSwapRates.ts b/packages/swap-widget/src/hooks/useSwapRates.ts index d87c450d788..04b3d5bc8d4 100644 --- a/packages/swap-widget/src/hooks/useSwapRates.ts +++ b/packages/swap-widget/src/hooks/useSwapRates.ts @@ -1,4 +1,5 @@ import { bnOrZero } from '@shapeshiftoss/utils' +import type { UseQueryResult } from '@tanstack/react-query' import { useQuery } from '@tanstack/react-query' import type { ApiClient } from '../api/client' @@ -11,9 +12,13 @@ export type UseSwapRatesParams = { enabled?: boolean allowedSwapperNames?: SwapperName[] refetchInterval?: number + affiliateAddress?: string } -export const useSwapRates = (apiClient: ApiClient, params: UseSwapRatesParams) => { +export const useSwapRates = ( + apiClient: ApiClient, + params: UseSwapRatesParams, +): UseQueryResult => { const { sellAssetId, buyAssetId, @@ -21,10 +26,18 @@ export const useSwapRates = (apiClient: ApiClient, params: UseSwapRatesParams) = enabled = true, allowedSwapperNames, refetchInterval = 15_000, + affiliateAddress, } = params return useQuery({ - queryKey: ['swapRates', sellAssetId, buyAssetId, sellAmountCryptoBaseUnit, allowedSwapperNames], + queryKey: [ + 'swapRates', + sellAssetId, + buyAssetId, + sellAmountCryptoBaseUnit, + allowedSwapperNames, + affiliateAddress, + ], queryFn: async (): Promise => { if (!sellAssetId || !buyAssetId || !sellAmountCryptoBaseUnit) { return [] diff --git a/packages/swap-widget/src/types/index.ts b/packages/swap-widget/src/types/index.ts index c7db4decc18..8324d7d2925 100644 --- a/packages/swap-widget/src/types/index.ts +++ b/packages/swap-widget/src/types/index.ts @@ -139,6 +139,7 @@ export type ThemeConfig = { export type SwapWidgetProps = { affiliateAddress?: string + affiliateBps?: string apiBaseUrl?: string defaultSellAsset?: Asset defaultBuyAsset?: Asset diff --git a/packages/swap-widget/src/utils/redirect.ts b/packages/swap-widget/src/utils/redirect.ts index a24a03f5894..1594b4d91a9 100644 --- a/packages/swap-widget/src/utils/redirect.ts +++ b/packages/swap-widget/src/utils/redirect.ts @@ -6,22 +6,38 @@ const SHAPESHIFT_APP_URL = 'https://app.shapeshift.com' export type RedirectParams = { sellAssetId: AssetId buyAssetId: AssetId - sellAmount?: string + sellAmountBaseUnit?: string + affiliateAddress?: string } +/** + * Build a ShapeShift trade URL using the web app's hash-based route format: + * https://app.shapeshift.com/#/trade/{buyChainId}/{buyAssetSubId}/{sellChainId}/{sellAssetSubId}/{sellAmountBaseUnit}?affiliate=0x... + * + * Asset IDs are CAIP-19 format like "eip155:1/slip44:60" where the first segment is the chainId + * and the second segment is the asset sub-identifier. + */ export const buildShapeShiftTradeUrl = (params: RedirectParams): string => { - const url = new URL(`${SHAPESHIFT_APP_URL}/trade`) - url.searchParams.set('sellAssetId', params.sellAssetId) - url.searchParams.set('buyAssetId', params.buyAssetId) - if (params.sellAmount) { - url.searchParams.set('sellAmount', params.sellAmount) - } - return url.toString() + const { sellAssetId, buyAssetId, sellAmountBaseUnit, affiliateAddress } = params + + // CAIP-19 assetIds have format "chainId/assetSubId" e.g. "eip155:1/slip44:60" + // The first "/" separates chainId from assetSubId + const buySlashIdx = buyAssetId.indexOf('/') + const buyChainId = buyAssetId.substring(0, buySlashIdx) + const buyAssetSubId = buyAssetId.substring(buySlashIdx + 1) + + const sellSlashIdx = sellAssetId.indexOf('/') + const sellChainId = sellAssetId.substring(0, sellSlashIdx) + const sellAssetSubId = sellAssetId.substring(sellSlashIdx + 1) + + const amount = sellAmountBaseUnit || '0' + const affiliate = affiliateAddress ? `?affiliate=${encodeURIComponent(affiliateAddress)}` : '' + + return `${SHAPESHIFT_APP_URL}/#/trade/${buyChainId}/${buyAssetSubId}/${sellChainId}/${sellAssetSubId}/${amount}${affiliate}` } export const redirectToShapeShift = (params: RedirectParams): void => { - const url = buildShapeShiftTradeUrl(params) - window.open(url, '_blank', 'noopener,noreferrer') + window.open(buildShapeShiftTradeUrl(params), '_blank', 'noopener,noreferrer') } export type ChainType = 'evm' | 'utxo' | 'cosmos' | 'solana' | 'other' diff --git a/packages/swap-widget/tsconfig.build.json b/packages/swap-widget/tsconfig.build.json new file mode 100644 index 00000000000..42e05216900 --- /dev/null +++ b/packages/swap-widget/tsconfig.build.json @@ -0,0 +1,17 @@ +{ + "compilerOptions": { + "target": "ES2020", + "useDefineForClassFields": true, + "lib": ["ES2020", "DOM", "DOM.Iterable"], + "module": "ESNext", + "skipLibCheck": true, + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "react-jsx", + "strict": true + }, + "include": ["src"] +} diff --git a/packages/swap-widget/vite.config.ts b/packages/swap-widget/vite.config.ts index 6cb099643a5..ce8ea3dc073 100644 --- a/packages/swap-widget/vite.config.ts +++ b/packages/swap-widget/vite.config.ts @@ -1,12 +1,10 @@ import react from '@vitejs/plugin-react' -import path from 'path' import type { PluginOption } from 'vite' import { defineConfig } from 'vite' +import dts from 'vite-plugin-dts' import { nodePolyfills } from 'vite-plugin-node-polyfills' -const isLibBuild = process.env.BUILD_LIB === 'true' - -const libExternals = [ +const LIB_EXTERNAL_PREFIXES = [ 'react', 'react-dom', 'viem', @@ -16,8 +14,14 @@ const libExternals = [ '@reown/appkit-adapter-bitcoin', '@reown/appkit-adapter-solana', '@tanstack/react-query', + '@solana/web3.js', + '@solana/wallet-adapter-wallets', ] +function isExternal(id: string): boolean { + return LIB_EXTERNAL_PREFIXES.some(prefix => id === prefix || id.startsWith(`${prefix}/`)) +} + const defineGlobalThis: PluginOption = { name: 'define-global-this', enforce: 'pre', @@ -32,36 +36,33 @@ const defineGlobalThis: PluginOption = { }, } +const isDemoBuild = process.env.BUILD_DEMO === 'true' + // eslint-disable-next-line import/no-default-export export default defineConfig({ - plugins: isLibBuild - ? [ - defineGlobalThis, - nodePolyfills({ - globals: { - Buffer: true, - global: true, - process: true, - }, - }) as unknown as PluginOption, - react(), - ] - : [defineGlobalThis, react()], + plugins: [ + defineGlobalThis, + nodePolyfills({ + globals: { + Buffer: true, + global: true, + process: true, + }, + }) as unknown as PluginOption, + react(), + ...(!isDemoBuild + ? [ + dts({ + tsconfigPath: './tsconfig.build.json', + rollupTypes: true, + }), + ] + : []), + ], define: { + 'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV || 'production'), 'process.env': {}, }, - resolve: { - alias: { - '@reown/appkit/core': path.resolve( - __dirname, - '../../node_modules/@reown/appkit/dist/esm/exports/core.js', - ), - '@reown/appkit/networks': path.resolve( - __dirname, - '../../node_modules/@reown/appkit/dist/esm/exports/networks.js', - ), - }, - }, optimizeDeps: { exclude: ['@shapeshiftoss/caip', '@shapeshiftoss/utils'], esbuildOptions: { @@ -71,22 +72,28 @@ export default defineConfig({ }, }, server: { - port: 3001, + port: 5174, open: false, }, preview: { port: Number(process.env.PORT) || 3000, host: true, }, - build: isLibBuild + publicDir: isDemoBuild ? 'public' : false, + build: isDemoBuild ? { + outDir: 'dist', + } + : { lib: { entry: 'src/index.ts', name: 'SwapWidget', fileName: 'index', + formats: ['es'], }, + cssCodeSplit: false, rollupOptions: { - external: libExternals, + external: isExternal, output: { globals: { react: 'React', @@ -94,8 +101,5 @@ export default defineConfig({ }, }, }, - } - : { - outDir: 'dist', }, }) diff --git a/packages/swapper/src/swappers/AcrossSwapper/utils/getTrade.ts b/packages/swapper/src/swappers/AcrossSwapper/utils/getTrade.ts index 45f7abc95dc..07bbc4a73e9 100644 --- a/packages/swapper/src/swappers/AcrossSwapper/utils/getTrade.ts +++ b/packages/swapper/src/swappers/AcrossSwapper/utils/getTrade.ts @@ -34,6 +34,7 @@ import type { } from '../../../types' import { SwapperName, TradeQuoteError } from '../../../types' import { getInputOutputRate, makeSwapErrorRight } from '../../../utils' +import { buildAffiliateFee } from '../../utils/affiliateFee' import { getTreasuryAddressFromChainId, isNativeEvmAsset } from '../../utils/helpers/helpers' import { ACROSS_SOLANA_TOKEN_ADDRESS, @@ -422,6 +423,17 @@ export async function getTrade({ estimatedExecutionTimeMs: quote.expectedFillTime * 1000, acrossTransactionMetadata, solanaTransactionMetadata, + affiliateFee: + appFee !== undefined && appFeeRecipient !== undefined + ? buildAffiliateFee({ + strategy: 'buy_asset', + affiliateBps, + sellAsset, + buyAsset, + sellAmountCryptoBaseUnit: sellAmountIncludingProtocolFeesCryptoBaseUnit, + buyAmountCryptoBaseUnit: buyAmountAfterFeesCryptoBaseUnit, + }) + : undefined, } const baseQuoteOrRate = { diff --git a/packages/swapper/src/swappers/AvnuSwapper/swapperApi/getTradeQuote.ts b/packages/swapper/src/swappers/AvnuSwapper/swapperApi/getTradeQuote.ts index 3509c2aa563..f025abc6bb5 100644 --- a/packages/swapper/src/swappers/AvnuSwapper/swapperApi/getTradeQuote.ts +++ b/packages/swapper/src/swappers/AvnuSwapper/swapperApi/getTradeQuote.ts @@ -9,6 +9,7 @@ import { getDefaultSlippageDecimalPercentageForSwapper } from '../../../constant import type { CommonTradeQuoteInput, SwapErrorRight, SwapperDeps, TradeQuote } from '../../../types' import { SwapperName, TradeQuoteError } from '../../../types' import { getInputOutputRate, makeSwapErrorRight } from '../../../utils' +import { buildAffiliateFee } from '../../utils/affiliateFee' import { getTreasuryAddressFromChainId } from '../../utils/helpers/helpers' import { AVNU_SUPPORTED_CHAIN_IDS } from '../utils/constants' import { getTokenAddress } from '../utils/helpers' @@ -176,6 +177,14 @@ export const getTradeQuote = async ( quoteId: bestQuote.quoteId, routes: bestQuote.routes, }, + affiliateFee: buildAffiliateFee({ + strategy: 'buy_asset', + affiliateBps, + sellAsset, + buyAsset, + sellAmountCryptoBaseUnit: sellAmount, + buyAmountCryptoBaseUnit: buyAmountAfterFeesCryptoBaseUnit, + }), }, ], } diff --git a/packages/swapper/src/swappers/AvnuSwapper/swapperApi/getTradeRate.ts b/packages/swapper/src/swappers/AvnuSwapper/swapperApi/getTradeRate.ts index 474b6d8c1ab..a1260243cbe 100644 --- a/packages/swapper/src/swappers/AvnuSwapper/swapperApi/getTradeRate.ts +++ b/packages/swapper/src/swappers/AvnuSwapper/swapperApi/getTradeRate.ts @@ -9,6 +9,7 @@ import { getDefaultSlippageDecimalPercentageForSwapper } from '../../../constant import type { GetTradeRateInput, SwapErrorRight, SwapperDeps, TradeRate } from '../../../types' import { SwapperName, TradeQuoteError } from '../../../types' import { getInputOutputRate, makeSwapErrorRight } from '../../../utils' +import { buildAffiliateFee } from '../../utils/affiliateFee' import { getTreasuryAddressFromChainId } from '../../utils/helpers/helpers' import { AVNU_SUPPORTED_CHAIN_IDS } from '../utils/constants' import { getTokenAddress } from '../utils/helpers' @@ -142,6 +143,14 @@ export const getTradeRate = async ( sellAsset, source: SwapperName.Avnu, estimatedExecutionTimeMs: undefined, + affiliateFee: buildAffiliateFee({ + strategy: 'buy_asset', + affiliateBps, + sellAsset, + buyAsset, + sellAmountCryptoBaseUnit: sellAmount, + buyAmountCryptoBaseUnit: buyAmountAfterFeesCryptoBaseUnit, + }), }, ], } diff --git a/packages/swapper/src/swappers/BebopSwapper/getBebopTradeQuote/getBebopTradeQuote.ts b/packages/swapper/src/swappers/BebopSwapper/getBebopTradeQuote/getBebopTradeQuote.ts index 2e893139f8d..b71151797ca 100644 --- a/packages/swapper/src/swappers/BebopSwapper/getBebopTradeQuote/getBebopTradeQuote.ts +++ b/packages/swapper/src/swappers/BebopSwapper/getBebopTradeQuote/getBebopTradeQuote.ts @@ -19,6 +19,7 @@ import type { } from '../../../types' import { SwapperName, TradeQuoteError } from '../../../types' import { makeSwapErrorRight } from '../../../utils' +import { buildAffiliateFee } from '../../utils/affiliateFee' import { isNativeEvmAsset } from '../../utils/helpers/helpers' import { BEBOP_DUMMY_ADDRESS } from '../types' import { fetchBebopQuote } from '../utils/fetchFromBebop' @@ -151,6 +152,15 @@ export async function getBebopTradeQuote( sellAmountIncludingProtocolFeesCryptoBaseUnit, source: SwapperName.Bebop, bebopTransactionMetadata: transactionMetadata, + affiliateFee: buildAffiliateFee({ + strategy: 'buy_asset', + affiliateBps, + sellAsset, + buyAsset, + sellAmountCryptoBaseUnit: sellAmountIncludingProtocolFeesCryptoBaseUnit, + buyAmountCryptoBaseUnit: buyAmountAfterFeesCryptoBaseUnit, + isEstimate: true, + }), }, ] as SingleHopTradeQuoteSteps, }) diff --git a/packages/swapper/src/swappers/BebopSwapper/getBebopTradeRate/getBebopTradeRate.ts b/packages/swapper/src/swappers/BebopSwapper/getBebopTradeRate/getBebopTradeRate.ts index 3da28e99fc1..43af48db438 100644 --- a/packages/swapper/src/swappers/BebopSwapper/getBebopTradeRate/getBebopTradeRate.ts +++ b/packages/swapper/src/swappers/BebopSwapper/getBebopTradeRate/getBebopTradeRate.ts @@ -17,6 +17,7 @@ import type { } from '../../../types' import { SwapperName, TradeQuoteError } from '../../../types' import { makeSwapErrorRight } from '../../../utils' +import { buildAffiliateFee } from '../../utils/affiliateFee' import { isNativeEvmAsset } from '../../utils/helpers/helpers' import { fetchBebopPrice } from '../utils/fetchFromBebop' import { assertValidTrade, calculateRate } from '../utils/helpers/helpers' @@ -123,6 +124,15 @@ export async function getBebopTradeRate( buyAmountAfterFeesCryptoBaseUnit, sellAmountIncludingProtocolFeesCryptoBaseUnit, source: SwapperName.Bebop, + affiliateFee: buildAffiliateFee({ + strategy: 'buy_asset', + affiliateBps, + sellAsset, + buyAsset, + sellAmountCryptoBaseUnit: sellAmountIncludingProtocolFeesCryptoBaseUnit, + buyAmountCryptoBaseUnit: buyAmountAfterFeesCryptoBaseUnit, + isEstimate: true, + }), }, ] as SingleHopTradeRateSteps, }) diff --git a/packages/swapper/src/swappers/ButterSwap/swapperApi/getTradeQuote.ts b/packages/swapper/src/swappers/ButterSwap/swapperApi/getTradeQuote.ts index e5fd91f0b12..277939ef464 100644 --- a/packages/swapper/src/swappers/ButterSwap/swapperApi/getTradeQuote.ts +++ b/packages/swapper/src/swappers/ButterSwap/swapperApi/getTradeQuote.ts @@ -23,6 +23,7 @@ import { getInputOutputRate, makeSwapErrorRight, } from '../../../utils' +import { buildAffiliateFee } from '../../utils/affiliateFee' import { makeButterSwapAffiliate } from '../utils/constants' import { ButterSwapErrorCode, @@ -273,6 +274,15 @@ export const getTradeQuote = async ( ...(solanaTransactionMetadata && { solanaTransactionMetadata, }), + affiliateFee: buildAffiliateFee({ + strategy: 'buy_asset', + affiliateBps, + sellAsset, + buyAsset, + sellAmountCryptoBaseUnit: sellAmountIncludingProtocolFeesCryptoBaseUnit, + buyAmountCryptoBaseUnit: buyAmountAfterFeesCryptoBaseUnit, + isEstimate: true, + }), } const tradeQuote: TradeQuote = { diff --git a/packages/swapper/src/swappers/ButterSwap/swapperApi/getTradeRate.ts b/packages/swapper/src/swappers/ButterSwap/swapperApi/getTradeRate.ts index 1b54485113a..ce455691d56 100644 --- a/packages/swapper/src/swappers/ButterSwap/swapperApi/getTradeRate.ts +++ b/packages/swapper/src/swappers/ButterSwap/swapperApi/getTradeRate.ts @@ -17,6 +17,7 @@ import { getInputOutputRate, makeSwapErrorRight, } from '../../../utils' +import { buildAffiliateFee } from '../../utils/affiliateFee' import { makeButterSwapAffiliate } from '../utils/constants' import { ButterSwapErrorCode, @@ -164,6 +165,15 @@ export const getTradeRate = async ( accountNumber, allowanceContract: route.contract ?? '0x0', estimatedExecutionTimeMs: route.timeEstimated * 1000, + affiliateFee: buildAffiliateFee({ + strategy: 'buy_asset', + affiliateBps, + sellAsset, + buyAsset, + sellAmountCryptoBaseUnit: sellAmountIncludingProtocolFeesCryptoBaseUnit, + buyAmountCryptoBaseUnit: buyAmountAfterFeesCryptoBaseUnit, + isEstimate: true, + }), } const tradeRate: TradeRate = { diff --git a/packages/swapper/src/swappers/CetusSwapper/swapperApi/getTradeQuote.ts b/packages/swapper/src/swappers/CetusSwapper/swapperApi/getTradeQuote.ts index 44957f76228..ea78ba46984 100644 --- a/packages/swapper/src/swappers/CetusSwapper/swapperApi/getTradeQuote.ts +++ b/packages/swapper/src/swappers/CetusSwapper/swapperApi/getTradeQuote.ts @@ -8,6 +8,7 @@ import { getDefaultSlippageDecimalPercentageForSwapper } from '../../../constant import type { CommonTradeQuoteInput, SwapErrorRight, SwapperDeps, TradeQuote } from '../../../types' import { SwapperName, TradeQuoteError } from '../../../types' import { makeSwapErrorRight } from '../../../utils' +import { buildAffiliateFee } from '../../utils/affiliateFee' import { getAggregatorClient, getSuiClient } from '../utils/helpers' import { getCetusTradeData } from './getCetusTradeData' @@ -121,6 +122,15 @@ export const getTradeQuote = async ( sellAsset, allowanceContract: '0x0', estimatedExecutionTimeMs: undefined, + affiliateFee: buildAffiliateFee({ + strategy: 'buy_asset', + affiliateBps, + sellAsset, + buyAsset, + sellAmountCryptoBaseUnit: sellAmount, + buyAmountCryptoBaseUnit: buyAmountAfterFeesCryptoBaseUnit, + isEstimate: true, + }), }, ], } diff --git a/packages/swapper/src/swappers/CetusSwapper/swapperApi/getTradeRate.ts b/packages/swapper/src/swappers/CetusSwapper/swapperApi/getTradeRate.ts index 7cc7e0025fa..e137269d8bc 100644 --- a/packages/swapper/src/swappers/CetusSwapper/swapperApi/getTradeRate.ts +++ b/packages/swapper/src/swappers/CetusSwapper/swapperApi/getTradeRate.ts @@ -8,6 +8,7 @@ import { getDefaultSlippageDecimalPercentageForSwapper } from '../../../constant import type { GetTradeRateInput, SwapErrorRight, SwapperDeps, TradeRate } from '../../../types' import { SwapperName, TradeQuoteError } from '../../../types' import { makeSwapErrorRight } from '../../../utils' +import { buildAffiliateFee } from '../../utils/affiliateFee' import { getAggregatorClient, getSuiClient } from '../utils/helpers' import { getCetusTradeData } from './getCetusTradeData' @@ -114,6 +115,15 @@ export const getTradeRate = async ( sellAsset, allowanceContract: '0x0', estimatedExecutionTimeMs: undefined, + affiliateFee: buildAffiliateFee({ + strategy: 'buy_asset', + affiliateBps, + sellAsset, + buyAsset, + sellAmountCryptoBaseUnit: sellAmount, + buyAmountCryptoBaseUnit: buyAmountAfterFeesCryptoBaseUnit, + isEstimate: true, + }), }, ], } diff --git a/packages/swapper/src/swappers/ChainflipSwapper/utils/getQuoteOrRate.ts b/packages/swapper/src/swappers/ChainflipSwapper/utils/getQuoteOrRate.ts index c3eb69ed432..ab67394df3d 100644 --- a/packages/swapper/src/swappers/ChainflipSwapper/utils/getQuoteOrRate.ts +++ b/packages/swapper/src/swappers/ChainflipSwapper/utils/getQuoteOrRate.ts @@ -27,6 +27,7 @@ import { getInputOutputRate, makeSwapErrorRight, } from '../../../utils' +import { buildAffiliateFee } from '../../utils/affiliateFee' import { CHAINFLIP_BOOST_SWAP_SOURCE, CHAINFLIP_DCA_BOOST_SWAP_SOURCE, @@ -355,6 +356,14 @@ export const getQuoteOrRate = async ( : undefined, chainflipMaxBoostFee: getMaxBoostFee(), }, + affiliateFee: buildAffiliateFee({ + strategy: 'buy_asset', + affiliateBps: commissionBps, + sellAsset, + buyAsset, + sellAmountCryptoBaseUnit: singleQuoteResponse.boostQuote.ingressAmountNative, + buyAmountCryptoBaseUnit: singleQuoteResponse.boostQuote.egressAmountNative, + }), }, ], } as TradeQuote | TradeRate @@ -418,6 +427,14 @@ export const getQuoteOrRate = async ( : undefined, chainflipMaxBoostFee: 0, }, + affiliateFee: buildAffiliateFee({ + strategy: 'buy_asset', + affiliateBps: commissionBps, + sellAsset, + buyAsset, + sellAmountCryptoBaseUnit: singleQuoteResponse.ingressAmountNative ?? '0', + buyAmountCryptoBaseUnit: singleQuoteResponse.egressAmountNative ?? '0', + }), }, ], } as TradeQuote | TradeRate diff --git a/packages/swapper/src/swappers/CowSwapper/getCowSwapTradeQuote/getCowSwapTradeQuote.ts b/packages/swapper/src/swappers/CowSwapper/getCowSwapTradeQuote/getCowSwapTradeQuote.ts index 91e608e33df..8e6b0ad7ca7 100644 --- a/packages/swapper/src/swappers/CowSwapper/getCowSwapTradeQuote/getCowSwapTradeQuote.ts +++ b/packages/swapper/src/swappers/CowSwapper/getCowSwapTradeQuote/getCowSwapTradeQuote.ts @@ -30,6 +30,7 @@ import { getInputOutputRate, makeSwapErrorRight, } from '../../../utils' +import { buildAffiliateFee } from '../../utils/affiliateFee' import { isNativeEvmAsset } from '../../utils/helpers/helpers' import { cowService } from '../utils/cowService' import { @@ -186,6 +187,15 @@ export async function getCowSwapTradeQuote( buyAmountBeforeFeesCryptoBaseUnit, buyAmountAfterFeesCryptoBaseUnit, source: SwapperName.CowSwap, + affiliateFee: buildAffiliateFee({ + strategy: 'buy_asset', + affiliateBps, + sellAsset, + buyAsset, + sellAmountCryptoBaseUnit: sellAmountIncludingProtocolFeesCryptoBaseUnit, + buyAmountCryptoBaseUnit: buyAmountAfterFeesCryptoBaseUnit, + isEstimate: true, + }), buyAsset, sellAsset, accountNumber, diff --git a/packages/swapper/src/swappers/CowSwapper/getCowSwapTradeRate/getCowSwapTradeRate.ts b/packages/swapper/src/swappers/CowSwapper/getCowSwapTradeRate/getCowSwapTradeRate.ts index aa76cc6d8ae..baa0f185ca9 100644 --- a/packages/swapper/src/swappers/CowSwapper/getCowSwapTradeRate/getCowSwapTradeRate.ts +++ b/packages/swapper/src/swappers/CowSwapper/getCowSwapTradeRate/getCowSwapTradeRate.ts @@ -25,6 +25,7 @@ import { getInputOutputRate, makeSwapErrorRight, } from '../../../utils' +import { buildAffiliateFee } from '../../utils/affiliateFee' import { isNativeEvmAsset } from '../../utils/helpers/helpers' import { cowService } from '../utils/cowService' import { @@ -181,6 +182,14 @@ export async function getCowSwapTradeRate( buyAmountBeforeFeesCryptoBaseUnit, buyAmountAfterFeesCryptoBaseUnit, source: SwapperName.CowSwap, + affiliateFee: buildAffiliateFee({ + strategy: 'buy_asset', + affiliateBps, + sellAsset, + buyAsset, + sellAmountCryptoBaseUnit: sellAmountIncludingProtocolFeesCryptoBaseUnit, + buyAmountCryptoBaseUnit: buyAmountAfterFeesCryptoBaseUnit, + }), buyAsset, sellAsset, accountNumber, diff --git a/packages/swapper/src/swappers/JupiterSwapper/swapperApi/getTradeQuote.ts b/packages/swapper/src/swappers/JupiterSwapper/swapperApi/getTradeQuote.ts index 80612714ef9..dda5e3610d0 100644 --- a/packages/swapper/src/swappers/JupiterSwapper/swapperApi/getTradeQuote.ts +++ b/packages/swapper/src/swappers/JupiterSwapper/swapperApi/getTradeQuote.ts @@ -25,6 +25,7 @@ import type { } from '../../../types' import { SwapperName, TradeQuoteError } from '../../../types' import { getInputOutputRate, makeSwapErrorRight } from '../../../utils' +import { buildAffiliateFee } from '../../utils/affiliateFee' import { COMPUTE_UNIT_MARGIN_MULTIPLIER, TOKEN_2022_PROGRAM_ID } from '../utils/constants' import { calculateAccountCreationCosts, @@ -261,6 +262,14 @@ export const getTradeQuote = async ( allowanceContract: '0x0', // Swap are so fasts on solana that times are under 100ms displaying 0 or very small amount of time is not user friendly estimatedExecutionTimeMs: undefined, + affiliateFee: buildAffiliateFee({ + strategy: 'buy_asset', + affiliateBps, + sellAsset, + buyAsset, + sellAmountCryptoBaseUnit: priceResponse.inAmount, + buyAmountCryptoBaseUnit: priceResponse.outAmount, + }), }, ], } diff --git a/packages/swapper/src/swappers/JupiterSwapper/swapperApi/getTradeRate.ts b/packages/swapper/src/swappers/JupiterSwapper/swapperApi/getTradeRate.ts index 282ce179cea..650cefd9803 100644 --- a/packages/swapper/src/swappers/JupiterSwapper/swapperApi/getTradeRate.ts +++ b/packages/swapper/src/swappers/JupiterSwapper/swapperApi/getTradeRate.ts @@ -25,6 +25,7 @@ import type { } from '../../../types' import { SwapperName, TradeQuoteError } from '../../../types' import { getInputOutputRate, makeSwapErrorRight } from '../../../utils' +import { buildAffiliateFee } from '../../utils/affiliateFee' import { SOLANA_RANDOM_ADDRESS, TOKEN_2022_PROGRAM_ID } from '../utils/constants' import { calculateAccountCreationCosts, @@ -239,6 +240,14 @@ export const getTradeRate = async ( allowanceContract: '0x0', // Swap are so fasts on solana that times are under 100ms displaying 0 or very small amount of time is not user friendly estimatedExecutionTimeMs: undefined, + affiliateFee: buildAffiliateFee({ + strategy: 'buy_asset', + affiliateBps, + sellAsset, + buyAsset, + sellAmountCryptoBaseUnit: priceResponse.inAmount, + buyAmountCryptoBaseUnit: priceResponse.outAmount, + }), }, ], } diff --git a/packages/swapper/src/swappers/NearIntentsSwapper/swapperApi/getTradeQuote.ts b/packages/swapper/src/swappers/NearIntentsSwapper/swapperApi/getTradeQuote.ts index 4416f228f2f..30420d367d3 100644 --- a/packages/swapper/src/swappers/NearIntentsSwapper/swapperApi/getTradeQuote.ts +++ b/packages/swapper/src/swappers/NearIntentsSwapper/swapperApi/getTradeQuote.ts @@ -1,8 +1,9 @@ -import { CHAIN_NAMESPACE, fromAssetId } from '@shapeshiftoss/caip' +import { CHAIN_NAMESPACE, fromAssetId, nearChainId } from '@shapeshiftoss/caip' import { evm } from '@shapeshiftoss/chain-adapters' import { bn, bnOrZero, + chainIdToFeeAssetId, contractAddressOrUndefined, DAO_TREASURY_NEAR, isToken, @@ -25,6 +26,7 @@ import { getInputOutputRate, makeSwapErrorRight, } from '../../../utils' +import { buildAffiliateFee } from '../../utils/affiliateFee' import { isNativeEvmAsset } from '../../utils/helpers/helpers' import { DEFAULT_QUOTE_DEADLINE_MS, DEFAULT_SLIPPAGE_BPS } from '../constants' import type { QuoteResponse } from '../types' @@ -368,6 +370,17 @@ export const getTradeQuote = async ( timeEstimate: quote.timeEstimate, deadline: quote.deadline ?? '', }, + affiliateFee: buildAffiliateFee({ + strategy: 'fixed_asset', + affiliateBps, + sellAsset, + buyAsset, + sellAmountCryptoBaseUnit: quote.amountIn, + buyAmountCryptoBaseUnit: quote.amountOut, + fixedAssetId: chainIdToFeeAssetId(nearChainId), + fixedAsset: deps.assetsById[chainIdToFeeAssetId(nearChainId)], + isEstimate: true, + }), }, ], } diff --git a/packages/swapper/src/swappers/NearIntentsSwapper/swapperApi/getTradeRate.ts b/packages/swapper/src/swappers/NearIntentsSwapper/swapperApi/getTradeRate.ts index 9513d776b4d..33ca21676c4 100644 --- a/packages/swapper/src/swappers/NearIntentsSwapper/swapperApi/getTradeRate.ts +++ b/packages/swapper/src/swappers/NearIntentsSwapper/swapperApi/getTradeRate.ts @@ -1,8 +1,9 @@ -import { CHAIN_NAMESPACE, fromAssetId, monadChainId } from '@shapeshiftoss/caip' +import { CHAIN_NAMESPACE, fromAssetId, monadChainId, nearChainId } from '@shapeshiftoss/caip' import { evm } from '@shapeshiftoss/chain-adapters' import { bn, bnOrZero, + chainIdToFeeAssetId, contractAddressOrUndefined, DAO_TREASURY_NEAR, isToken, @@ -28,6 +29,7 @@ import { makeSwapErrorRight, } from '../../../utils' import { simulateWithStateOverrides } from '../../../utils/tenderly' +import { buildAffiliateFee } from '../../utils/affiliateFee' import { isNativeEvmAsset } from '../../utils/helpers/helpers' import { DEFAULT_QUOTE_DEADLINE_MS, DEFAULT_SLIPPAGE_BPS } from '../constants' import type { QuoteResponse } from '../types' @@ -419,6 +421,17 @@ export const getTradeRate = async ( sellAsset, source: SwapperName.NearIntents, estimatedExecutionTimeMs: quote.timeEstimate ? quote.timeEstimate * 1000 : undefined, + affiliateFee: buildAffiliateFee({ + strategy: 'fixed_asset', + affiliateBps, + sellAsset, + buyAsset, + sellAmountCryptoBaseUnit: quote.amountIn, + buyAmountCryptoBaseUnit: quote.amountOut, + fixedAssetId: chainIdToFeeAssetId(nearChainId), + fixedAsset: deps.assetsById[chainIdToFeeAssetId(nearChainId)], + isEstimate: true, + }), }, ], } diff --git a/packages/swapper/src/swappers/PortalsSwapper/getPortalsTradeQuote/getPortalsTradeQuote.ts b/packages/swapper/src/swappers/PortalsSwapper/getPortalsTradeQuote/getPortalsTradeQuote.ts index 51df697b98c..cfbb6966333 100644 --- a/packages/swapper/src/swappers/PortalsSwapper/getPortalsTradeQuote/getPortalsTradeQuote.ts +++ b/packages/swapper/src/swappers/PortalsSwapper/getPortalsTradeQuote/getPortalsTradeQuote.ts @@ -23,6 +23,7 @@ import type { } from '../../../types' import { SwapperName, TradeQuoteError } from '../../../types' import { getInputOutputRate, makeSwapErrorRight } from '../../../utils' +import { buildAffiliateFee } from '../../utils/affiliateFee' import { getTreasuryAddressFromChainId, isNativeEvmAsset } from '../../utils/helpers/helpers' import { chainIdToPortalsNetwork } from '../constants' import { fetchPortalsTradeOrder, PortalsError } from '../utils/fetchPortalsTradeOrder' @@ -276,6 +277,15 @@ export async function getPortalsTradeQuote( steps: portalsTradeOrderResponse.context.steps, route: portalsTradeOrderResponse.context.route, }, + affiliateFee: buildAffiliateFee({ + strategy: 'buy_asset', + affiliateBps, + sellAsset, + buyAsset, + sellAmountCryptoBaseUnit: input.sellAmountIncludingProtocolFeesCryptoBaseUnit, + buyAmountCryptoBaseUnit: buyAmountAfterFeesCryptoBaseUnit, + isEstimate: true, + }), }, ] as SingleHopTradeQuoteSteps, } diff --git a/packages/swapper/src/swappers/RelaySwapper/utils/getTrade.ts b/packages/swapper/src/swappers/RelaySwapper/utils/getTrade.ts index 753bb641e74..0efc397bace 100644 --- a/packages/swapper/src/swappers/RelaySwapper/utils/getTrade.ts +++ b/packages/swapper/src/swappers/RelaySwapper/utils/getTrade.ts @@ -1,4 +1,5 @@ import { + baseChainId, btcChainId, fromChainId, monadChainId, @@ -10,6 +11,7 @@ import { evm, isEvmChainId } from '@shapeshiftoss/chain-adapters' import type { UtxoChainId } from '@shapeshiftoss/types' import { bnOrZero, + chainIdToFeeAssetId, convertBasisPointsToPercentage, convertDecimalPercentageToBasisPoints, convertPrecision, @@ -34,6 +36,7 @@ import type { import { MixPanelEvent, SwapperName, TradeQuoteError } from '../../../types' import { getInputOutputRate, makeSwapErrorRight } from '../../../utils' import { simulateWithStateOverrides } from '../../../utils/tenderly' +import { buildAffiliateFee } from '../../utils/affiliateFee' import { isNativeEvmAsset } from '../../utils/helpers/helpers' import type { chainIdToRelayChainId as relayChainMapImplementation } from '../constant' import { MAXIMUM_SUPPORTED_RELAY_STEPS, relayErrorCodeToTradeQuoteError } from '../constant' @@ -690,6 +693,17 @@ export async function getTrade({ estimatedExecutionTimeMs: timeEstimate * 1000, solanaTransactionMetadata, relayTransactionMetadata, + affiliateFee: buildAffiliateFee({ + strategy: 'fixed_asset', + affiliateBps, + sellAsset, + buyAsset, + sellAmountCryptoBaseUnit: sellAmountIncludingProtocolFeesCryptoBaseUnit, + buyAmountCryptoBaseUnit: buyAmountAfterFeesCryptoBaseUnit, + fixedAssetId: chainIdToFeeAssetId(baseChainId), + fixedAsset: deps.assetsById[chainIdToFeeAssetId(baseChainId)], + isEstimate: true, + }), } }) diff --git a/packages/swapper/src/swappers/StonfiSwapper/swapperApi/getTradeQuote.ts b/packages/swapper/src/swappers/StonfiSwapper/swapperApi/getTradeQuote.ts index f80c30c4c4b..0c941cd6c7d 100644 --- a/packages/swapper/src/swappers/StonfiSwapper/swapperApi/getTradeQuote.ts +++ b/packages/swapper/src/swappers/StonfiSwapper/swapperApi/getTradeQuote.ts @@ -5,6 +5,7 @@ import { SettlementMethod } from '@ston-fi/omniston-sdk' import type { CommonTradeQuoteInput, TradeQuote, TradeQuoteResult } from '../../../types' import { SwapperName, TradeQuoteError } from '../../../types' import { makeSwapErrorRight } from '../../../utils' +import { buildAffiliateFee } from '../../utils/affiliateFee' import { getTreasuryAddressFromChainId } from '../../utils/helpers/helpers' import type { OmnistonAssetAddress, StonfiTradeSpecific } from '../types' import { STONFI_DEFAULT_SLIPPAGE_BPS, STONFI_QUOTE_TIMEOUT_MS } from '../utils/constants' @@ -155,6 +156,15 @@ export const getTradeQuote = async (input: CommonTradeQuoteInput): Promise { + const { + strategy, + affiliateBps, + sellAsset, + buyAsset, + sellAmountCryptoBaseUnit, + buyAmountCryptoBaseUnit, + fixedAsset, + fixedAssetId, + isEstimate, + } = params + + if (bnOrZero(affiliateBps).lte(0)) return undefined + + const bpsDecimal = bn(affiliateBps).div(10000) + + switch (strategy) { + case 'buy_asset': { + const feeAmount = bnOrZero(buyAmountCryptoBaseUnit).times(bpsDecimal).toFixed(0) + return { + assetId: buyAsset.assetId, + amountCryptoBaseUnit: feeAmount, + asset: buyAsset, + isEstimate, + } + } + case 'sell_asset': { + const feeAmount = bnOrZero(sellAmountCryptoBaseUnit).times(bpsDecimal).toFixed(0) + return { + assetId: sellAsset.assetId, + amountCryptoBaseUnit: feeAmount, + asset: sellAsset, + isEstimate, + } + } + case 'fixed_asset': { + if (!fixedAsset || !fixedAssetId) return undefined + return { + assetId: fixedAssetId, + amountCryptoBaseUnit: '0', + asset: fixedAsset, + isEstimate: true, + } + } + default: + return undefined + } +} diff --git a/packages/swapper/src/thorchain-utils/getL1RateOrQuote.ts b/packages/swapper/src/thorchain-utils/getL1RateOrQuote.ts index cda8ec7234f..a3f2bb8fb2a 100644 --- a/packages/swapper/src/thorchain-utils/getL1RateOrQuote.ts +++ b/packages/swapper/src/thorchain-utils/getL1RateOrQuote.ts @@ -19,6 +19,7 @@ import { TronWeb } from 'tronweb' import { v4 as uuid } from 'uuid' import { getDefaultSlippageDecimalPercentageForSwapper } from '../index' +import { buildAffiliateFee } from '../swappers/utils/affiliateFee' import type { CommonTradeQuoteInput, GetEvmTradeQuoteInput, @@ -302,6 +303,14 @@ export const getL1RateOrQuote = async ( accountNumber, allowanceContract, feeData, + affiliateFee: buildAffiliateFee({ + strategy: 'buy_asset', + affiliateBps: route.affiliateBps, + sellAsset, + buyAsset, + sellAmountCryptoBaseUnit, + buyAmountCryptoBaseUnit: buyAmountAfterFeesCryptoBaseUnit, + }), thorchainSpecific: { maxStreamingQuantity: route.quote.max_streaming_quantity, }, diff --git a/packages/swapper/src/types.ts b/packages/swapper/src/types.ts index f8a60c75509..1dbafa80f45 100644 --- a/packages/swapper/src/types.ts +++ b/packages/swapper/src/types.ts @@ -198,6 +198,7 @@ type CommonTradeInputBase = { buyAsset: Asset sellAmountIncludingProtocolFeesCryptoBaseUnit: string affiliateBps: string + affiliateAddress?: string allowMultiHop: boolean slippageTolerancePercentageDecimal?: string } @@ -387,6 +388,13 @@ export type SwapperDeps = { StarknetSwapperDeps & TonSwapperDeps +export type AffiliateFee = { + assetId: AssetId + amountCryptoBaseUnit: string + asset: Asset + isEstimate?: boolean +} + export type TradeQuoteStep = { buyAmountBeforeFeesCryptoBaseUnit: string buyAmountAfterFeesCryptoBaseUnit: string @@ -504,6 +512,7 @@ export type TradeQuoteStep = { } acrossTransactionMetadata?: AcrossTransactionMetadata debridgeTransactionMetadata?: DebridgeTransactionMetadata + affiliateFee?: AffiliateFee } export type TradeRateStep = Omit & { diff --git a/packages/types/package.json b/packages/types/package.json index b96ba236b01..360eb29ced4 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/types", - "version": "8.6.6", + "version": "8.6.7", "description": "Common types shared across packages", "repository": "https://github.com/shapeshift/web", "license": "MIT", diff --git a/packages/unchained-client/package.json b/packages/unchained-client/package.json index c4b1b7b85b2..b6d20a3930a 100644 --- a/packages/unchained-client/package.json +++ b/packages/unchained-client/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/unchained-client", - "version": "10.14.9-coderabbit-fix.2", + "version": "10.14.10", "repository": "https://github.com/shapeshift/web", "license": "MIT", "type": "module", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5636260fb6d..7fa9c17d4cc 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -801,7 +801,32 @@ importers: version: 5.1.4(typescript@5.2.2)(vite@6.4.1(@types/node@22.19.13)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) vitest: specifier: 3.0.9 - version: 3.0.9(@types/debug@4.1.12)(@types/node@22.19.13)(happy-dom@20.7.0(bufferutil@4.1.0)(utf-8-validate@6.0.6))(jsdom@28.0.0(@noble/hashes@2.0.1))(msw@0.36.8)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2) + version: 3.0.9(@types/debug@4.1.12)(@types/node@22.19.13)(happy-dom@20.7.0(bufferutil@4.1.0)(utf-8-validate@6.0.6))(jsdom@28.0.0(@noble/hashes@2.0.1))(msw@0.36.8)(terser@5.46.0) + + packages/affiliate-dashboard: + dependencies: + react: + specifier: ^18.2.0 + version: 18.3.1 + react-dom: + specifier: 18.2.0 + version: 18.2.0(patch_hash=472f33b26781cbf66543b4c1cdf5be1c2ea4cd7232403bb255cd75e280bf3158)(react@18.3.1) + devDependencies: + '@types/react': + specifier: 19.1.2 + version: 19.1.2 + '@types/react-dom': + specifier: 19.1.2 + version: 19.1.2(@types/react@19.1.2) + '@vitejs/plugin-react': + specifier: ^4.0.0 + version: 4.7.0(vite@5.4.21(@types/node@25.3.5)(terser@5.46.0)) + typescript: + specifier: ^5.0.0 + version: 5.2.2 + vite: + specifier: ^5.0.0 + version: 5.4.21(@types/node@25.3.5)(terser@5.46.0) packages/caip: dependencies: @@ -813,7 +838,7 @@ importers: dependencies: '@mysten/sui': specifier: 1.45.2 - version: 1.45.2(typescript@5.2.2) + version: 1.45.2(typescript@5.8.2) '@near-js/crypto': specifier: ^2.5.1 version: 2.5.1(@near-js/types@2.5.1)(@near-js/utils@2.5.1(@near-js/types@2.5.1)) @@ -846,7 +871,7 @@ importers: version: link:../utils '@solana/spl-token': specifier: ^0.4.9 - version: 0.4.14(@solana/web3.js@1.98.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2)(utf-8-validate@5.0.10) + version: 0.4.14(@solana/web3.js@1.98.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(utf-8-validate@5.0.10) '@solana/web3.js': specifier: 1.98.0 version: 1.98.0(bufferutil@4.1.0)(utf-8-validate@5.0.10) @@ -888,7 +913,7 @@ importers: version: 6.6.2 viem: specifier: 2.43.5 - version: 2.43.5(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) + version: 2.43.5(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@5.0.10)(zod@3.25.76) devDependencies: '@types/bs58check': specifier: ^2.1.0 @@ -928,7 +953,7 @@ importers: version: 4.17.23 viem: specifier: 2.43.5 - version: 2.43.5(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) + version: 2.43.5(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@5.0.10)(zod@3.25.76) devDependencies: '@types/lodash': specifier: 4.14.182 @@ -976,7 +1001,7 @@ importers: dependencies: '@shapeshiftoss/bitcoinjs-lib': specifier: 7.0.0-shapeshift.2 - version: 7.0.0-shapeshift.2(typescript@5.2.2) + version: 7.0.0-shapeshift.2(typescript@5.8.2) '@shapeshiftoss/proto-tx-builder': specifier: 0.10.0 version: 0.10.0(bufferutil@4.1.0)(utf-8-validate@5.0.10) @@ -1099,7 +1124,7 @@ importers: devDependencies: vitest: specifier: 3.0.9 - version: 3.0.9(@types/debug@4.1.12)(@types/node@25.3.5)(happy-dom@20.7.0(bufferutil@4.1.0)(utf-8-validate@6.0.6))(jsdom@28.0.0(@noble/hashes@2.0.1))(msw@0.27.2)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2) + version: 3.0.9(@types/debug@4.1.12)(@types/node@25.3.5)(happy-dom@20.7.0(bufferutil@4.1.0)(utf-8-validate@6.0.6))(jsdom@28.0.0(@noble/hashes@2.0.1))(msw@0.27.2)(terser@5.46.0) packages/hdwallet-keepkey: dependencies: @@ -1120,7 +1145,7 @@ importers: version: 7.0.3 '@shapeshiftoss/bitcoinjs-lib': specifier: 7.0.0-shapeshift.2 - version: 7.0.0-shapeshift.2(typescript@5.2.2) + version: 7.0.0-shapeshift.2(typescript@5.8.2) '@shapeshiftoss/hdwallet-core': specifier: workspace:^ version: link:../hdwallet-core @@ -1288,7 +1313,7 @@ importers: devDependencies: '@keplr-wallet/types': specifier: ^0.12.35 - version: 0.12.313(starknet@9.4.0(typescript@5.2.2)(zod@3.25.76)) + version: 0.12.313(starknet@9.4.0(typescript@5.8.2)(zod@3.25.76)) '@types/lodash': specifier: 4.14.182 version: 4.14.182 @@ -1333,7 +1358,7 @@ importers: version: 0.7.0 '@shapeshiftoss/bitcoinjs-lib': specifier: 7.0.0-shapeshift.2 - version: 7.0.0-shapeshift.2(typescript@5.2.2) + version: 7.0.0-shapeshift.2(typescript@5.8.2) '@shapeshiftoss/hdwallet-core': specifier: workspace:^ version: link:../hdwallet-core @@ -1451,10 +1476,10 @@ importers: version: link:../hdwallet-core '@shapeshiftoss/metamask-snaps-adapter': specifier: ^1.0.12 - version: 1.0.13(211af8fc05d26bebb634bbf1f0177cc6) + version: 1.0.13(ffe613154a69d26e0f11f7fab9dfa120) '@shapeshiftoss/metamask-snaps-types': specifier: ^1.0.12 - version: 1.0.13(@ethersproject/address@5.8.0)(@ethersproject/contracts@5.8.0)(@ethersproject/networks@5.8.0)(@ethersproject/providers@5.8.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(@ethersproject/solidity@5.8.0)(bufferutil@4.1.0)(cross-fetch@4.1.0)(ipfs-only-hash@4.0.0)(multiformats@9.9.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) + version: 1.0.13(@ethersproject/address@5.8.0)(@ethersproject/contracts@5.8.0)(@ethersproject/networks@5.8.0)(@ethersproject/providers@5.8.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(@ethersproject/solidity@5.8.0)(bufferutil@4.1.0)(cross-fetch@4.1.0)(ipfs-only-hash@4.0.0)(multiformats@9.9.0)(typescript@5.8.2)(utf-8-validate@5.0.10)(zod@3.25.76) eth-rpc-errors: specifier: ^4.0.3 version: 4.0.3 @@ -1466,7 +1491,7 @@ importers: version: 4.17.23 mipd: specifier: ^0.0.7 - version: 0.0.7(typescript@5.2.2) + version: 0.0.7(typescript@5.8.2) devDependencies: '@types/express': specifier: ^4.17.17 @@ -1649,7 +1674,7 @@ importers: dependencies: '@shapeshiftoss/bitcoinjs-lib': specifier: 7.0.0-shapeshift.2 - version: 7.0.0-shapeshift.2(typescript@5.2.2) + version: 7.0.0-shapeshift.2(typescript@5.8.2) '@shapeshiftoss/hdwallet-core': specifier: workspace:^ version: link:../hdwallet-core @@ -1749,7 +1774,7 @@ importers: version: 0.8.0-beta.0 web3: specifier: 4.2.1-dev.a0d6730.0 - version: 4.2.1-dev.a0d6730.0(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76) + version: 4.2.1-dev.a0d6730.0(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@6.0.6)(zod@3.25.76) devDependencies: '@types/jquery': specifier: ^3.5.22 @@ -1765,7 +1790,7 @@ importers: dependencies: '@mysten/sui': specifier: 1.45.2 - version: 1.45.2(typescript@5.2.2) + version: 1.45.2(typescript@5.8.2) '@shapeshiftoss/hdwallet-core': specifier: workspace:^ version: link:../hdwallet-core @@ -1823,7 +1848,7 @@ importers: version: link:../hdwallet-trezor '@trezor/connect-web': specifier: ^9.6.4 - version: 9.7.2(@solana/sysvars@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2))(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(tslib@2.8.1)(typescript@5.2.2)(utf-8-validate@6.0.6)(ws@8.19.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)) + version: 9.7.2(@solana/sysvars@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2))(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(tslib@2.8.1)(typescript@5.8.2)(utf-8-validate@6.0.6)(ws@8.19.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)) packages/hdwallet-vultisig: dependencies: @@ -1835,7 +1860,7 @@ importers: version: 0.28.13(bufferutil@4.1.0)(utf-8-validate@5.0.10) '@shapeshiftoss/bitcoinjs-lib': specifier: 7.0.0-shapeshift.2 - version: 7.0.0-shapeshift.2(typescript@5.2.2) + version: 7.0.0-shapeshift.2(typescript@5.8.2) '@shapeshiftoss/hdwallet-core': specifier: workspace:^ version: link:../hdwallet-core @@ -1866,13 +1891,13 @@ importers: version: 1.2.0 '@shapeshiftoss/bitcoinjs-lib': specifier: 7.0.0-shapeshift.2 - version: 7.0.0-shapeshift.2(typescript@5.2.2) + version: 7.0.0-shapeshift.2(typescript@5.8.2) '@shapeshiftoss/hdwallet-core': specifier: workspace:^ version: link:../hdwallet-core '@walletconnect/ethereum-provider': specifier: ^2.20.2 - version: 2.23.7(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.2.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(zod@3.25.76) + version: 2.23.7(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.8.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(zod@3.25.76) '@walletconnect/modal': specifier: ^2.6.2 version: 2.7.0(@types/react@19.1.2)(react@19.2.4) @@ -1949,6 +1974,31 @@ importers: packages/swap-widget: dependencies: + '@shapeshiftoss/caip': + specifier: ^8.0.0 + version: 8.16.8 + '@shapeshiftoss/types': + specifier: ^8.0.0 + version: 8.6.7(bufferutil@4.1.0)(cross-fetch@4.1.0)(ethers@6.16.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(ipfs-only-hash@4.0.0)(multiformats@9.9.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) + '@shapeshiftoss/utils': + specifier: ^1.0.0 + version: 1.0.6(bufferutil@4.1.0)(cross-fetch@4.1.0)(ethers@6.16.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(ipfs-only-hash@4.0.0)(multiformats@9.9.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) + '@xstate/react': + specifier: 5.0.5 + version: 5.0.5(@types/react@19.1.2)(react@19.2.4)(xstate@5.28.0) + bech32: + specifier: ^2.0.0 + version: 2.0.0 + p-queue: + specifier: ^6.6.2 + version: 6.6.2 + react-virtuoso: + specifier: 4.7.11 + version: 4.7.11(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + xstate: + specifier: 5.28.0 + version: 5.28.0 + devDependencies: '@reown/appkit': specifier: ^1.8.17 version: 1.8.18(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.2.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(zod@3.25.76) @@ -1961,15 +2011,6 @@ importers: '@reown/appkit-adapter-wagmi': specifier: ^1.8.17 version: 1.8.18(b2de09fc1a71c9091ac547a86f40bdf9) - '@shapeshiftoss/caip': - specifier: workspace:^ - version: link:../caip - '@shapeshiftoss/types': - specifier: workspace:^ - version: link:../types - '@shapeshiftoss/utils': - specifier: workspace:^ - version: link:../utils '@solana/wallet-adapter-wallets': specifier: ^0.19.32 version: 0.19.37(@babel/runtime@7.28.6)(@sentry/types@8.26.0)(@solana/web3.js@1.98.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(@types/react@19.1.2)(bs58@6.0.0)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(tslib@2.8.1)(typescript@5.2.2)(utf-8-validate@5.0.10)(ws@8.18.3(bufferutil@4.1.0)(utf-8-validate@5.0.10))(zod@3.25.76) @@ -1979,28 +2020,6 @@ importers: '@tanstack/react-query': specifier: 5.69.0 version: 5.69.0(react@19.2.4) - '@xstate/react': - specifier: 5.0.5 - version: 5.0.5(@types/react@19.1.2)(react@19.2.4)(xstate@5.28.0) - bech32: - specifier: ^2.0.0 - version: 2.0.0 - p-queue: - specifier: ^6.6.2 - version: 6.6.2 - react-virtuoso: - specifier: 4.7.11 - version: 4.7.11(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - viem: - specifier: 2.40.3 - version: 2.40.3(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) - wagmi: - specifier: 3.3.2 - version: 3.3.2(7ca313f9f1f7d2a7af3844c31bba492f) - xstate: - specifier: 5.28.0 - version: 5.28.0 - devDependencies: '@testing-library/jest-dom': specifier: 6.9.1 version: 6.9.1 @@ -2028,15 +2047,24 @@ importers: typescript: specifier: ~5.2.2 version: 5.2.2 + viem: + specifier: 2.40.3 + version: 2.40.3(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) vite: specifier: ^5.0.0 version: 5.4.21(@types/node@25.3.5)(terser@5.46.0) + vite-plugin-dts: + specifier: ^4.5.4 + version: 4.5.4(@types/node@25.3.5)(rollup@4.59.0)(typescript@5.2.2)(vite@5.4.21(@types/node@25.3.5)(terser@5.46.0)) vite-plugin-node-polyfills: specifier: 0.23.0 version: 0.23.0(rollup@4.59.0)(vite@5.4.21(@types/node@25.3.5)(terser@5.46.0)) vitest: specifier: 4.0.18 version: 4.0.18(@opentelemetry/api@1.9.0)(@types/node@25.3.5)(happy-dom@20.7.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(jsdom@28.0.0(@noble/hashes@2.0.1))(msw@0.36.8)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2) + wagmi: + specifier: 3.3.2 + version: 3.3.2(7ca313f9f1f7d2a7af3844c31bba492f) packages/swapper: dependencies: @@ -2045,7 +2073,7 @@ importers: version: 4.0.4(bufferutil@4.1.0)(utf-8-validate@5.0.10) '@avnu/avnu-sdk': specifier: ^4.0.1 - version: 4.0.1(ethers@6.11.1(bufferutil@4.1.0)(utf-8-validate@5.0.10))(starknet@9.4.0(typescript@5.2.2)(zod@3.25.76)) + version: 4.0.1(ethers@6.11.1(bufferutil@4.1.0)(utf-8-validate@5.0.10))(starknet@9.4.0(typescript@5.8.2)(zod@3.25.76)) '@coral-xyz/anchor': specifier: 0.29.0 version: 0.29.0(bufferutil@4.1.0)(utf-8-validate@5.0.10) @@ -2060,10 +2088,10 @@ importers: version: 6.0.30 '@mysten/sui': specifier: 1.45.2 - version: 1.45.2(typescript@5.2.2) + version: 1.45.2(typescript@5.8.2) '@shapeshiftoss/bitcoinjs-lib': specifier: 7.0.0-shapeshift.0 - version: 7.0.0-shapeshift.0(typescript@5.2.2) + version: 7.0.0-shapeshift.0(typescript@5.8.2) '@shapeshiftoss/caip': specifier: workspace:^ version: link:../caip @@ -2099,7 +2127,7 @@ importers: version: 5.9.0 '@uniswap/v3-sdk': specifier: ^3.13.1 - version: 3.28.0(hardhat@2.28.6(bufferutil@4.1.0)(ts-node@10.9.2(@types/node@25.3.5)(typescript@5.2.2))(typescript@5.2.2)(utf-8-validate@5.0.10)) + version: 3.28.0(hardhat@2.28.6(bufferutil@4.1.0)(ts-node@10.9.2(@types/node@25.3.5)(typescript@5.8.2))(typescript@5.8.2)(utf-8-validate@5.0.10)) axios: specifier: ^1.13.5 version: 1.13.6(debug@4.4.3) @@ -2141,7 +2169,7 @@ importers: version: 9.0.1 viem: specifier: 2.43.5 - version: 2.43.5(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) + version: 2.43.5(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@5.0.10)(zod@3.25.76) devDependencies: '@types/lodash': specifier: 4.14.182 @@ -2172,7 +2200,7 @@ importers: version: ethers@5.7.2(bufferutil@4.1.0)(utf-8-validate@5.0.10) viem: specifier: 2.43.5 - version: 2.43.5(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) + version: 2.43.5(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@5.0.10)(zod@3.25.76) packages/unchained-client: dependencies: @@ -2205,7 +2233,7 @@ importers: version: 4.0.1(ws@8.19.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)) viem: specifier: 2.43.5 - version: 2.43.5(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76) + version: 2.43.5(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@6.0.6)(zod@3.25.76) ws: specifier: ^8.17.1 version: 8.19.0(bufferutil@4.1.0)(utf-8-validate@6.0.6) @@ -4921,6 +4949,19 @@ packages: '@metaplex-foundation/mpl-token-metadata@2.13.0': resolution: {integrity: sha512-Fl/8I0L9rv4bKTV/RAl5YIbJe9SnQPInKvLz+xR1fEc4/VQkuCn3RPgypfUMEKWmCznzaw4sApDxy6CFS4qmJw==} + '@microsoft/api-extractor-model@7.33.4': + resolution: {integrity: sha512-u1LTaNTikZAQ9uK6KG1Ms7nvNedsnODnspq/gH2dcyETWvH4hVNGNDvRAEutH66kAmxA4/necElqGNs1FggC8w==} + + '@microsoft/api-extractor@7.57.7': + resolution: {integrity: sha512-kmnmVs32MFWbV5X6BInC1/TfCs7y1ugwxv1xHsAIj/DyUfoe7vtO0alRUgbQa57+yRGHBBjlNcEk33SCAt5/dA==} + hasBin: true + + '@microsoft/tsdoc-config@0.18.1': + resolution: {integrity: sha512-9brPoVdfN9k9g0dcWkFeA7IH9bbcttzDJlXvkf8b2OBzd5MueR1V2wkKBL0abn0otvmkHJC6aapBOTJDDeMCZg==} + + '@microsoft/tsdoc@0.16.0': + resolution: {integrity: sha512-xgAyonlVVS+q7Vc7qLW0UrJU7rSFcETRWsqdXZtjzRU8dF+6CkozTK4V4y1LwOX7j8r/vHphjDeMeGI4tNGeGA==} + '@mixpanel/rrdom@2.0.0-alpha.18.3': resolution: {integrity: sha512-FpQ/WJkVgb0kF49ebqtqf5F7dsqU/o9CfzPR8BAafzVQkieaPCRBFyLh8CDCtKKY0k8DJRqcamj388MLd6QJpQ==} @@ -6039,6 +6080,36 @@ packages: '@rushstack/eslint-patch@1.16.1': resolution: {integrity: sha512-TvZbIpeKqGQQ7X0zSCvPH9riMSFQFSggnfBjFZ1mEoILW+UuXCKwOoPcgjMwiUtRqFZ8jWhPJc4um14vC6I4ag==} + '@rushstack/node-core-library@5.20.3': + resolution: {integrity: sha512-95JgEPq2k7tHxhF9/OJnnyHDXfC9cLhhta0An/6MlkDsX2A6dTzDrTUG18vx4vjc280V0fi0xDH9iQczpSuWsw==} + peerDependencies: + '@types/node': '*' + peerDependenciesMeta: + '@types/node': + optional: true + + '@rushstack/problem-matcher@0.2.1': + resolution: {integrity: sha512-gulfhBs6n+I5b7DvjKRfhMGyUejtSgOHTclF/eONr8hcgF1APEDjhxIsfdUYYMzC3rvLwGluqLjbwCFZ8nxrog==} + peerDependencies: + '@types/node': '*' + peerDependenciesMeta: + '@types/node': + optional: true + + '@rushstack/rig-package@0.7.2': + resolution: {integrity: sha512-9XbFWuqMYcHUso4mnETfhGVUSaADBRj6HUAAEYk50nMPn8WRICmBuCphycQGNB3duIR6EEZX3Xj3SYc2XiP+9A==} + + '@rushstack/terminal@0.22.3': + resolution: {integrity: sha512-gHC9pIMrUPzAbBiI4VZMU7Q+rsCzb8hJl36lFIulIzoceKotyKL3Rd76AZ2CryCTKEg+0bnTj406HE5YY5OQvw==} + peerDependencies: + '@types/node': '*' + peerDependenciesMeta: + '@types/node': + optional: true + + '@rushstack/ts-command-line@5.3.3': + resolution: {integrity: sha512-c+ltdcvC7ym+10lhwR/vWiOhsrm/bP3By2VsFcs5qTKv+6tTmxgbVrtJ5NdNjANiV5TcmOZgUN+5KYQ4llsvEw==} + '@safe-global/safe-apps-provider@0.18.6': resolution: {integrity: sha512-4LhMmjPWlIO8TTDC2AwLk44XKXaK6hfBTWyljDm0HQ6TWlOEijVWNrt2s3OCVMSxlXAcEzYfqyu1daHZooTC2Q==} @@ -7570,6 +7641,9 @@ packages: '@tybys/wasm-util@0.10.1': resolution: {integrity: sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==} + '@types/argparse@1.0.38': + resolution: {integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==} + '@types/aria-query@5.0.4': resolution: {integrity: sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==} @@ -8442,6 +8516,35 @@ packages: '@vitest/utils@4.0.18': resolution: {integrity: sha512-msMRKLMVLWygpK3u2Hybgi4MNjcYJvwTb0Ru09+fOyCXIgT5raYP041DRRdiJiI3k/2U6SEbAETB3YtBrUkCFA==} + '@volar/language-core@2.4.28': + resolution: {integrity: sha512-w4qhIJ8ZSitgLAkVay6AbcnC7gP3glYM3fYwKV3srj8m494E3xtrCv6E+bWviiK/8hs6e6t1ij1s2Endql7vzQ==} + + '@volar/source-map@2.4.28': + resolution: {integrity: sha512-yX2BDBqJkRXfKw8my8VarTyjv48QwxdJtvRgUpNE5erCsgEUdI2DsLbpa+rOQVAJYshY99szEcRDmyHbF10ggQ==} + + '@volar/typescript@2.4.28': + resolution: {integrity: sha512-Ja6yvWrbis2QtN4ClAKreeUZPVYMARDYZl9LMEv1iQ1QdepB6wn0jTRxA9MftYmYa4DQ4k/DaSZpFPUfxl8giw==} + + '@vue/compiler-core@3.5.30': + resolution: {integrity: sha512-s3DfdZkcu/qExZ+td75015ljzHc6vE+30cFMGRPROYjqkroYI5NV2X1yAMX9UeyBNWB9MxCfPcsjpLS11nzkkw==} + + '@vue/compiler-dom@3.5.30': + resolution: {integrity: sha512-eCFYESUEVYHhiMuK4SQTldO3RYxyMR/UQL4KdGD1Yrkfdx4m/HYuZ9jSfPdA+nWJY34VWndiYdW/wZXyiPEB9g==} + + '@vue/compiler-vue2@2.7.16': + resolution: {integrity: sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==} + + '@vue/language-core@2.2.0': + resolution: {integrity: sha512-O1ZZFaaBGkKbsRfnVH1ifOK1/1BUkyK+3SQsfnh6PmMmD4qJcTU8godCeA96jjDRTL6zgnK7YzCHfaUlH2r0Mw==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@vue/shared@3.5.30': + resolution: {integrity: sha512-YXgQ7JjaO18NeK2K9VTbDHaFy62WrObMa6XERNfNOkAhD1F1oDSf3ZJ7K6GqabZ0BvSDHajp8qfS5Sa2I9n8uQ==} + '@wagmi/connectors@6.2.0': resolution: {integrity: sha512-2NfkbqhNWdjfibb4abRMrn7u6rPjEGolMfApXss6HCDVt9AW2oVC6k8Q5FouzpJezElxLJSagWz9FW1zaRlanA==} peerDependencies: @@ -9070,6 +9173,14 @@ packages: peerDependencies: zod: 3.25.76 + ajv-draft-04@1.0.0: + resolution: {integrity: sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==} + peerDependencies: + ajv: ^8.5.0 + peerDependenciesMeta: + ajv: + optional: true + ajv-formats@2.1.1: resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} peerDependencies: @@ -9078,6 +9189,14 @@ packages: ajv: optional: true + ajv-formats@3.0.1: + resolution: {integrity: sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==} + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + ajv-keywords@5.1.0: resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==} peerDependencies: @@ -9103,6 +9222,9 @@ packages: resolution: {integrity: sha512-9moZxdqeJ6GdE4N6fA/GlUP4LrbLZMYcYkt141J4Ss68OfEgH9qW0wBuZ3ZOKEx/xjc5bg7mLP2Gjg7nwrkmww==} engines: {node: '>=14.0.0'} + alien-signals@0.4.14: + resolution: {integrity: sha512-itUAVzhczTmP2U5yX67xVpsbbOiquusbWVyA9N+sy6+r6YVbFkahXvNCeEPWEOMhwDYwbVbGHFkVL03N9I5g+Q==} + ansi-align@3.0.1: resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} @@ -10153,6 +10275,12 @@ packages: engines: {node: '>=18'} hasBin: true + confbox@0.1.8: + resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==} + + confbox@0.2.4: + resolution: {integrity: sha512-ysOGlgTFbN2/Y6Cg3Iye8YKulHw+R2fNXHrgSmXISQdMnomY6eNDprVdW9R5xBguEqI954+S6709UyiO7B+6OQ==} + confusing-browser-globals@1.0.11: resolution: {integrity: sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==} @@ -10479,6 +10607,9 @@ packages: dayjs@1.11.19: resolution: {integrity: sha512-t5EcLVS6QPBNqM2z8fakk/NKel+Xzshgt8FFKAn+qwlD1pzZWxh0nVCrvFK7ZDb6XucZeF9z8C7CBWTRIVApAw==} + de-indent@1.0.2: + resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==} + debug@2.6.9: resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} peerDependencies: @@ -10664,6 +10795,10 @@ packages: resolution: {integrity: sha512-vtcDfH3TOjP8UekytvnHH1o1P4FcUdt4eQ1Y+Abap1tk/OB2MWQvcwS2ClCd1zuIhc3JKOx6p3kod8Vfys3E+A==} engines: {node: '>=0.3.1'} + diff@8.0.3: + resolution: {integrity: sha512-qejHi7bcSD4hQAZE0tNAawRK1ZtafHDmMTMkrrIGgSLl7hTnQHmKCeB45xAcbfTqK2zowkM3j3bHt/4b/ARbYQ==} + engines: {node: '>=0.3.1'} + diffie-hellman@5.0.3: resolution: {integrity: sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==} @@ -11444,6 +11579,9 @@ packages: resolution: {integrity: sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==} engines: {node: '>= 0.10.0'} + exsolve@1.0.8: + resolution: {integrity: sha512-LmDxfWXwcTArk8fUEnOfSZpHOJ6zOMUJKOtFLFqJLoKJetuQG874Uc7/Kki7zFLzYybmZhp1M7+98pfMqeX8yA==} + ext@1.7.0: resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==} @@ -12156,6 +12294,10 @@ packages: resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} engines: {node: '>=6'} + import-lazy@4.0.0: + resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==} + engines: {node: '>=8'} + imurmurhash@0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} @@ -12547,6 +12689,9 @@ packages: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} + jju@1.4.0: + resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} + jose@4.15.9: resolution: {integrity: sha512-1vUQX+IdDMVPj4k8kOxgUqlcK518yluMuGZwqlr44FS1ppZB/5GWh4rZG89erpOBOJjU/OBsnCVFfapsRz6nEA==} @@ -12761,6 +12906,9 @@ packages: resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} engines: {node: '>=6'} + kolorist@1.8.0: + resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} + language-subtag-registry@0.3.23: resolution: {integrity: sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==} @@ -12844,6 +12992,10 @@ packages: resolution: {integrity: sha512-IWqP2SCPhyVFTBtRcgMHdzlf9ul25NwaFx4wCEH/KjAXuuHY4yNjvPXsBokp8jCB936PyWRaPKUNh8NvylLp2Q==} engines: {node: '>=6.11.5'} + local-pkg@1.1.2: + resolution: {integrity: sha512-arhlxbFRmoQHl33a0Zkle/YWlmNwoyt6QNZEIJcqNbdrsix5Lvc4HyyI3EnwxTYlZYc32EbYrQ8SzEZ7dqgg9A==} + engines: {node: '>=14'} + localforage@1.10.0: resolution: {integrity: sha512-14/H1aX7hzBBmmh7sGPd+AOMkkIrHM3Z1PAyGgZigA1H1p5O5ANnMyWzvpAETtG68/dC4pC0ncy3+PPGzXZHPg==} @@ -13255,6 +13407,10 @@ packages: minimalistic-crypto-utils@1.0.1: resolution: {integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==} + minimatch@10.2.3: + resolution: {integrity: sha512-Rwi3pnapEqirPSbWbrZaa6N3nmqq4Xer/2XooiOKyV3q12ML06f7MOuc5DVH8ONZIFhwIYQ3yzPH4nt7iWHaTg==} + engines: {node: 18 || 20 || >=22} + minimatch@10.2.4: resolution: {integrity: sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==} engines: {node: 18 || 20 || >=22} @@ -13266,6 +13422,10 @@ packages: resolution: {integrity: sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw==} engines: {node: '>=10'} + minimatch@9.0.9: + resolution: {integrity: sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==} + engines: {node: '>=16 || 14 >=14.17'} + minimist-options@4.1.0: resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} engines: {node: '>= 6'} @@ -13311,6 +13471,9 @@ packages: engines: {node: '>=10'} hasBin: true + mlly@1.8.1: + resolution: {integrity: sha512-SnL6sNutTwRWWR/vcmCYHSADjiEesp5TGQQ0pXyLhW5IoeibRlF/CbSLailbB3CNqJUk9cVJ9dUDnbD7GrcHBQ==} + mnemonist@0.38.5: resolution: {integrity: sha512-bZTFT5rrPKtPJxj8KSV0WkPyNxl72vQepqqVUAW2ARUpUSF2qXMB6jZj7hW5/k7C1rtpzqbD/IIbJwLXUjCHeg==} @@ -13362,6 +13525,9 @@ packages: resolution: {integrity: sha512-K7lOQoYqhGhTSChsmHMQbf/SDCsxh/m0uhN6Ipt206lGoe81fpTmaGD0KLh4jUxCONMOUnwCSj0jtX2CM4pEdw==} hasBin: true + muggle-string@0.4.1: + resolution: {integrity: sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==} + multibase@4.0.6: resolution: {integrity: sha512-x23pDe5+svdLz/k5JPGCVdfn7Q5mZVMBETiC+ORfO+sor9Sgs0smJzAjfTbM5tckeCqnaUuMYoz+k3RXMmJClQ==} engines: {node: '>=12.0.0', npm: '>=6.0.0'} @@ -14011,6 +14177,12 @@ packages: resolution: {integrity: sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==} engines: {node: '>=10'} + pkg-types@1.3.1: + resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==} + + pkg-types@2.3.0: + resolution: {integrity: sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig==} + playwright-core@1.58.2: resolution: {integrity: sha512-yZkEtftgwS8CsfYo7nm0KE8jsvm6i/PTgVtB8DL726wNf6H2IMsDuxCpJj59KDaxCtSnrWan2AeDqM7JBaultg==} engines: {node: '>=18'} @@ -14268,6 +14440,9 @@ packages: resolution: {integrity: sha512-mzR4sElr1bfCaPJe7m8ilJ6ZXdDaGoObcYR0ZHSsktM/Lt21MVHj5De30GQH2eiZ1qGRTO7LCAzQsUeXTNexWQ==} engines: {node: '>=0.6'} + quansync@0.2.11: + resolution: {integrity: sha512-AifT7QEbW9Nri4tAwR5M/uzpBuqfZf+zwaEM/QkzEjj7NBuFD2rBuy0K3dE+8wltbezDV7JMA0WfnCPYRSYbXA==} + query-string@6.13.5: resolution: {integrity: sha512-svk3xg9qHR39P3JlHuD7g3nRnyay5mHbrPctEBDUxUkHRifPHXJDhBUycdCC0NBjXoDf44Gb+IsOZL1Uwn8M/Q==} engines: {node: '>=6'} @@ -14996,6 +15171,11 @@ packages: engines: {node: '>=10'} hasBin: true + semver@7.5.4: + resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} + engines: {node: '>=10'} + hasBin: true + semver@7.7.1: resolution: {integrity: sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==} engines: {node: '>=10'} @@ -15344,6 +15524,10 @@ packages: resolution: {integrity: sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==} engines: {node: '>=4'} + string-argv@0.3.2: + resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} + engines: {node: '>=0.6.19'} + string-natural-compare@3.0.1: resolution: {integrity: sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==} @@ -15917,6 +16101,11 @@ packages: engines: {node: '>=14.17'} hasBin: true + typescript@5.8.2: + resolution: {integrity: sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==} + engines: {node: '>=14.17'} + hasBin: true + typeson-registry@1.0.0-alpha.39: resolution: {integrity: sha512-NeGDEquhw+yfwNhguLPcZ9Oj0fzbADiX4R0WxvoY8nGhy98IbzQy1sezjoEFWOywOboj/DWehI+/aUlRVrJnnw==} engines: {node: '>=10.0.0'} @@ -16459,6 +16648,15 @@ packages: vue-tsc: optional: true + vite-plugin-dts@4.5.4: + resolution: {integrity: sha512-d4sOM8M/8z7vRXHHq/ebbblfaxENjogAAekcfcDCCwAyvGqnPrc7f4NZbvItS+g4WTgerW0xDwSz5qz11JT3vg==} + peerDependencies: + typescript: '*' + vite: '*' + peerDependenciesMeta: + vite: + optional: true + vite-plugin-node-polyfills@0.23.0: resolution: {integrity: sha512-4n+Ys+2bKHQohPBKigFlndwWQ5fFKwaGY6muNDMTb0fSQLyBzS+jjUNRZG9sKF0S/Go4ApG6LFnUGopjkILg3w==} peerDependencies: @@ -17192,6 +17390,12 @@ snapshots: graphql: 16.13.0 typescript: 5.2.2 + '@0no-co/graphqlsp@1.15.2(graphql@16.13.0)(typescript@5.8.2)': + dependencies: + '@gql.tada/internal': 1.0.8(graphql@16.13.0)(typescript@5.8.2) + graphql: 16.13.0 + typescript: 5.8.2 + '@acemir/cssom@0.9.31': {} '@adobe/css-tools@4.4.4': {} @@ -17293,13 +17497,13 @@ snapshots: openapi3-ts: 4.5.0 zod: 3.25.76 - '@avnu/avnu-sdk@4.0.1(ethers@6.11.1(bufferutil@4.1.0)(utf-8-validate@5.0.10))(starknet@9.4.0(typescript@5.2.2)(zod@3.25.76))': + '@avnu/avnu-sdk@4.0.1(ethers@6.11.1(bufferutil@4.1.0)(utf-8-validate@5.0.10))(starknet@9.4.0(typescript@5.8.2)(zod@3.25.76))': dependencies: dayjs: 1.11.19 ethers: 6.11.1(bufferutil@4.1.0)(utf-8-validate@5.0.10) moment: 2.30.1 qs: 6.15.0 - starknet: 9.4.0(typescript@5.2.2)(zod@3.25.76) + starknet: 9.4.0(typescript@5.8.2)(zod@3.25.76) zod: 3.25.76 '@babel/code-frame@7.29.0': @@ -17323,7 +17527,7 @@ snapshots: '@babel/types': 7.29.0 '@jridgewell/remapping': 2.3.5 convert-source-map: 2.0.0 - debug: 4.4.3 + debug: 4.4.3(supports-color@8.1.1) gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 @@ -17383,7 +17587,7 @@ snapshots: '@babel/core': 7.29.0 '@babel/helper-compilation-targets': 7.28.6 '@babel/helper-plugin-utils': 7.28.6 - debug: 4.4.3 + debug: 4.4.3(supports-color@8.1.1) lodash.debounce: 4.0.8 resolve: 1.22.11 transitivePeerDependencies: @@ -18166,7 +18370,7 @@ snapshots: '@babel/parser': 7.29.0 '@babel/template': 7.28.6 '@babel/types': 7.29.0 - debug: 4.4.3 + debug: 4.4.3(supports-color@8.1.1) transitivePeerDependencies: - supports-color @@ -18224,6 +18428,31 @@ snapshots: - utf-8-validate - zod + '@base-org/account@2.4.0(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.8.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(zod@3.25.76)': + dependencies: + '@coinbase/cdp-sdk': 1.44.1(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(utf-8-validate@5.0.10) + '@noble/hashes': 1.4.0 + clsx: 1.2.1 + eventemitter3: 5.0.1 + idb-keyval: 6.2.1 + ox: 0.6.9(typescript@5.8.2)(zod@3.25.76) + preact: 10.24.2 + viem: 2.43.5(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@5.0.10)(zod@3.25.76) + zustand: 5.0.3(@types/react@19.1.2)(immer@9.0.21)(react@19.2.4)(use-sync-external-store@1.4.0(react@19.2.4)) + transitivePeerDependencies: + - '@types/react' + - bufferutil + - debug + - encoding + - fastestsmallesttextencoderdecoder + - immer + - react + - typescript + - use-sync-external-store + - utf-8-validate + - zod + optional: true + '@bitcoinerlab/secp256k1@1.2.0': dependencies: '@noble/curves': 1.9.7 @@ -18492,6 +18721,29 @@ snapshots: - typescript - utf-8-validate + '@coinbase/cdp-sdk@1.44.1(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(utf-8-validate@5.0.10)': + dependencies: + '@solana-program/system': 0.10.0(@solana/kit@5.5.1(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(utf-8-validate@5.0.10)) + '@solana-program/token': 0.9.0(@solana/kit@5.5.1(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(utf-8-validate@5.0.10)) + '@solana/kit': 5.5.1(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.4(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@5.0.10) + abitype: 1.0.6(typescript@5.8.2)(zod@3.25.76) + axios: 1.13.6(debug@4.4.3) + axios-retry: 4.5.0(axios@1.13.6) + jose: 6.1.3 + md5: 2.3.0 + uncrypto: 0.1.3 + viem: 2.43.5(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@5.0.10)(zod@3.25.76) + zod: 3.25.76 + transitivePeerDependencies: + - bufferutil + - debug + - encoding + - fastestsmallesttextencoderdecoder + - typescript + - utf-8-validate + optional: true + '@coinbase/wallet-sdk@3.9.3': dependencies: bn.js: 5.2.3 @@ -19408,7 +19660,7 @@ snapshots: '@eslint/eslintrc@2.1.4': dependencies: ajv: 6.14.0 - debug: 4.4.3 + debug: 4.4.3(supports-color@8.1.1) espree: 9.6.1 globals: 13.24.0 ignore: 5.3.2 @@ -20229,12 +20481,25 @@ snapshots: graphql: 16.13.0 typescript: 5.2.2 + '@gql.tada/cli-utils@1.7.2(@0no-co/graphqlsp@1.15.2(graphql@16.13.0)(typescript@5.2.2))(graphql@16.13.0)(typescript@5.8.2)': + dependencies: + '@0no-co/graphqlsp': 1.15.2(graphql@16.13.0)(typescript@5.2.2) + '@gql.tada/internal': 1.0.8(graphql@16.13.0)(typescript@5.8.2) + graphql: 16.13.0 + typescript: 5.8.2 + '@gql.tada/internal@1.0.8(graphql@16.13.0)(typescript@5.2.2)': dependencies: '@0no-co/graphql.web': 1.2.0(graphql@16.13.0) graphql: 16.13.0 typescript: 5.2.2 + '@gql.tada/internal@1.0.8(graphql@16.13.0)(typescript@5.8.2)': + dependencies: + '@0no-co/graphql.web': 1.2.0(graphql@16.13.0) + graphql: 16.13.0 + typescript: 5.8.2 + '@graphql-typed-document-node/core@3.2.0(graphql@16.13.0)': dependencies: graphql: 16.13.0 @@ -20242,7 +20507,7 @@ snapshots: '@humanwhocodes/config-array@0.13.0': dependencies: '@humanwhocodes/object-schema': 2.0.3 - debug: 4.4.3 + debug: 4.4.3(supports-color@8.1.1) minimatch: 3.1.5 transitivePeerDependencies: - supports-color @@ -20527,6 +20792,11 @@ snapshots: long: 4.0.0 starknet: 9.4.0(typescript@5.2.2)(zod@3.25.76) + '@keplr-wallet/types@0.12.313(starknet@9.4.0(typescript@5.8.2)(zod@3.25.76))': + dependencies: + long: 4.0.0 + starknet: 9.4.0(typescript@5.8.2)(zod@3.25.76) + '@keystonehq/alias-sampling@0.1.2': {} '@keystonehq/bc-ur-registry-sol@0.9.5': @@ -20574,7 +20844,7 @@ snapshots: '@kwsites/file-exists@1.1.1': dependencies: - debug: 4.4.3 + debug: 4.4.3(supports-color@8.1.1) transitivePeerDependencies: - supports-color @@ -20976,12 +21246,12 @@ snapshots: '@metamask/detect-provider@2.0.0': {} - '@metamask/eslint-config@15.0.0(eslint-config-prettier@9.1.2(eslint@8.57.1))(eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.56.1(eslint@8.57.1)(typescript@5.2.2))(eslint-import-resolver-node@0.3.9)(eslint@8.57.1))(eslint-plugin-jsdoc@50.8.0(eslint@8.57.1))(eslint-plugin-prettier@5.0.0(@types/eslint@9.6.1)(eslint-config-prettier@9.1.2(eslint@8.57.1))(eslint@8.57.1)(prettier@3.0.3))(eslint-plugin-promise@7.2.1(eslint@8.57.1))(eslint@8.57.1)(prettier@3.0.3)': + '@metamask/eslint-config@15.0.0(eslint-config-prettier@9.1.2(eslint@8.57.1))(eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.56.1(eslint@8.57.1)(typescript@5.8.2))(eslint-import-resolver-node@0.3.9)(eslint@8.57.1))(eslint-plugin-jsdoc@50.8.0(eslint@8.57.1))(eslint-plugin-prettier@5.0.0(@types/eslint@9.6.1)(eslint-config-prettier@9.1.2(eslint@8.57.1))(eslint@8.57.1)(prettier@3.0.3))(eslint-plugin-promise@7.2.1(eslint@8.57.1))(eslint@8.57.1)(prettier@3.0.3)': dependencies: '@eslint/js': 9.39.3 eslint: 8.57.1 eslint-config-prettier: 9.1.2(eslint@8.57.1) - eslint-plugin-import-x: 4.16.1(@typescript-eslint/utils@8.56.1(eslint@8.57.1)(typescript@5.2.2))(eslint-import-resolver-node@0.3.9)(eslint@8.57.1) + eslint-plugin-import-x: 4.16.1(@typescript-eslint/utils@8.56.1(eslint@8.57.1)(typescript@5.8.2))(eslint-import-resolver-node@0.3.9)(eslint@8.57.1) eslint-plugin-jsdoc: 50.8.0(eslint@8.57.1) eslint-plugin-prettier: 5.0.0(@types/eslint@9.6.1)(eslint-config-prettier@9.1.2(eslint@8.57.1))(eslint@8.57.1)(prettier@3.0.3) eslint-plugin-promise: 7.2.1(eslint@8.57.1) @@ -21316,7 +21586,7 @@ snapshots: '@scure/base': 1.1.9 '@types/debug': 4.1.12 '@types/lodash': 4.14.182 - debug: 4.4.3 + debug: 4.4.3(supports-color@8.1.1) lodash: 4.17.23 pony-cause: 2.1.11 semver: 7.7.4 @@ -21328,7 +21598,7 @@ snapshots: dependencies: '@ethereumjs/tx': 4.2.0 '@types/debug': 4.1.12 - debug: 4.4.3 + debug: 4.4.3(supports-color@8.1.1) semver: 7.7.4 superstruct: 1.0.4 transitivePeerDependencies: @@ -21363,7 +21633,7 @@ snapshots: '@noble/hashes': 1.8.0 '@scure/base': 1.2.6 '@types/debug': 4.1.12 - debug: 4.4.3 + debug: 4.4.3(supports-color@8.1.1) pony-cause: 2.1.11 semver: 7.7.4 uuid: 9.0.1 @@ -21377,7 +21647,7 @@ snapshots: '@noble/hashes': 1.8.0 '@scure/base': 1.1.9 '@types/debug': 4.1.12 - debug: 4.4.3 + debug: 4.4.3(supports-color@8.1.1) pony-cause: 2.1.11 semver: 7.7.4 uuid: 9.0.1 @@ -21389,7 +21659,7 @@ snapshots: '@metaplex-foundation/beet': 0.7.1 '@solana/web3.js': 1.98.0(bufferutil@4.1.0)(utf-8-validate@6.0.6) bs58: 5.0.0 - debug: 4.4.3 + debug: 4.4.3(supports-color@8.1.1) transitivePeerDependencies: - bufferutil - encoding @@ -21401,7 +21671,7 @@ snapshots: '@metaplex-foundation/beet': 0.7.1 '@solana/web3.js': 1.98.0(bufferutil@4.1.0)(utf-8-validate@6.0.6) bs58: 5.0.0 - debug: 4.4.3 + debug: 4.4.3(supports-color@8.1.1) transitivePeerDependencies: - bufferutil - encoding @@ -21413,7 +21683,7 @@ snapshots: '@metaplex-foundation/beet': 0.7.1 '@solana/web3.js': 1.98.0(bufferutil@4.1.0)(utf-8-validate@6.0.6) bs58: 5.0.0 - debug: 4.4.3 + debug: 4.4.3(supports-color@8.1.1) transitivePeerDependencies: - bufferutil - encoding @@ -21424,7 +21694,7 @@ snapshots: dependencies: ansicolors: 0.3.2 bn.js: 5.2.3 - debug: 4.4.3 + debug: 4.4.3(supports-color@8.1.1) transitivePeerDependencies: - supports-color @@ -21432,7 +21702,7 @@ snapshots: dependencies: ansicolors: 0.3.2 bn.js: 5.2.3 - debug: 4.4.3 + debug: 4.4.3(supports-color@8.1.1) transitivePeerDependencies: - supports-color @@ -21440,7 +21710,7 @@ snapshots: dependencies: ansicolors: 0.3.2 bn.js: 5.2.3 - debug: 4.4.3 + debug: 4.4.3(supports-color@8.1.1) transitivePeerDependencies: - supports-color @@ -21465,7 +21735,7 @@ snapshots: bn.js: 5.2.3 bs58: 5.0.0 buffer: 6.0.3 - debug: 4.4.3 + debug: 4.4.3(supports-color@8.1.1) eventemitter3: 4.0.7 lodash.clonedeep: 4.5.0 lodash.isequal: 4.5.0 @@ -21565,7 +21835,7 @@ snapshots: '@solana/spl-token': 0.3.11(@solana/web3.js@1.98.0(bufferutil@4.1.0)(utf-8-validate@6.0.6))(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2)(utf-8-validate@6.0.6) '@solana/web3.js': 1.98.0(bufferutil@4.1.0)(utf-8-validate@6.0.6) bn.js: 5.2.3 - debug: 4.4.3 + debug: 4.4.3(supports-color@8.1.1) transitivePeerDependencies: - bufferutil - encoding @@ -21574,6 +21844,42 @@ snapshots: - typescript - utf-8-validate + '@microsoft/api-extractor-model@7.33.4(@types/node@25.3.5)': + dependencies: + '@microsoft/tsdoc': 0.16.0 + '@microsoft/tsdoc-config': 0.18.1 + '@rushstack/node-core-library': 5.20.3(@types/node@25.3.5) + transitivePeerDependencies: + - '@types/node' + + '@microsoft/api-extractor@7.57.7(@types/node@25.3.5)': + dependencies: + '@microsoft/api-extractor-model': 7.33.4(@types/node@25.3.5) + '@microsoft/tsdoc': 0.16.0 + '@microsoft/tsdoc-config': 0.18.1 + '@rushstack/node-core-library': 5.20.3(@types/node@25.3.5) + '@rushstack/rig-package': 0.7.2 + '@rushstack/terminal': 0.22.3(@types/node@25.3.5) + '@rushstack/ts-command-line': 5.3.3(@types/node@25.3.5) + diff: 8.0.3 + lodash: 4.17.23 + minimatch: 10.2.3 + resolve: 1.22.11 + semver: 7.5.4 + source-map: 0.6.1 + typescript: 5.8.2 + transitivePeerDependencies: + - '@types/node' + + '@microsoft/tsdoc-config@0.18.1': + dependencies: + '@microsoft/tsdoc': 0.16.0 + ajv: 8.18.0 + jju: 1.4.0 + resolve: 1.22.11 + + '@microsoft/tsdoc@0.16.0': {} + '@mixpanel/rrdom@2.0.0-alpha.18.3': dependencies: '@mixpanel/rrweb-snapshot': 2.0.0-alpha.18.3 @@ -21775,7 +22081,7 @@ snapshots: dependencies: '@open-draft/until': 1.0.3 '@xmldom/xmldom': 0.7.13 - debug: 4.4.3 + debug: 4.4.3(supports-color@8.1.1) headers-utils: 3.0.2 outvariant: 1.4.3 strict-event-emitter: 0.2.8 @@ -21824,6 +22130,28 @@ snapshots: - '@gql.tada/vue-support' - typescript + '@mysten/sui@1.45.2(typescript@5.8.2)': + dependencies: + '@graphql-typed-document-node/core': 3.2.0(graphql@16.13.0) + '@mysten/bcs': 1.9.2 + '@mysten/utils': 0.2.0 + '@noble/curves': 1.9.4 + '@noble/hashes': 1.8.0 + '@protobuf-ts/grpcweb-transport': 2.11.1 + '@protobuf-ts/runtime': 2.11.1 + '@protobuf-ts/runtime-rpc': 2.11.1 + '@scure/base': 1.2.6 + '@scure/bip32': 1.7.0 + '@scure/bip39': 1.6.0 + gql.tada: 1.9.0(graphql@16.13.0)(typescript@5.8.2) + graphql: 16.13.0 + poseidon-lite: 0.2.1 + valibot: 1.2.0(typescript@5.8.2) + transitivePeerDependencies: + - '@gql.tada/svelte-support' + - '@gql.tada/vue-support' + - typescript + '@mysten/utils@0.2.0': dependencies: '@scure/base': 1.2.6 @@ -22869,6 +23197,7 @@ snapshots: - typescript - utf-8-validate - zod + optional: true '@reown/appkit-common@1.8.17-wc-circular-dependencies-fix.0(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76)': dependencies: @@ -22881,6 +23210,17 @@ snapshots: - utf-8-validate - zod + '@reown/appkit-common@1.8.17-wc-circular-dependencies-fix.0(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@5.0.10)(zod@3.25.76)': + dependencies: + big.js: 6.2.2 + dayjs: 1.11.13 + viem: 2.43.5(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@5.0.10)(zod@3.25.76) + transitivePeerDependencies: + - bufferutil + - typescript + - utf-8-validate + - zod + '@reown/appkit-common@1.8.18(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76)': dependencies: big.js: 6.2.2 @@ -22996,6 +23336,7 @@ snapshots: - uploadthing - utf-8-validate - zod + optional: true '@reown/appkit-controllers@1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76)': dependencies: @@ -23032,49 +23373,13 @@ snapshots: - utf-8-validate - zod - '@reown/appkit-controllers@1.8.18(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76)': + '@reown/appkit-controllers@1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.8.2)(utf-8-validate@5.0.10)(zod@3.25.76)': dependencies: - '@reown/appkit-common': 1.8.18(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) - '@reown/appkit-wallet': 1.8.18(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10) - '@walletconnect/universal-provider': 2.23.2(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) + '@reown/appkit-common': 1.8.17-wc-circular-dependencies-fix.0(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@5.0.10)(zod@3.25.76) + '@reown/appkit-wallet': 1.8.17-wc-circular-dependencies-fix.0(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@5.0.10) + '@walletconnect/universal-provider': 2.23.2(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@5.0.10)(zod@3.25.76) valtio: 2.1.7(@types/react@19.1.2)(react@19.2.4) - viem: 2.46.3(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) - transitivePeerDependencies: - - '@azure/app-configuration' - - '@azure/cosmos' - - '@azure/data-tables' - - '@azure/identity' - - '@azure/keyvault-secrets' - - '@azure/storage-blob' - - '@capacitor/preferences' - - '@deno/kv' - - '@netlify/blobs' - - '@planetscale/database' - - '@react-native-async-storage/async-storage' - - '@types/react' - - '@upstash/redis' - - '@vercel/blob' - - '@vercel/functions' - - '@vercel/kv' - - aws4fetch - - bufferutil - - db0 - - encoding - - ioredis - - react - - typescript - - uploadthing - - utf-8-validate - - zod - - '@reown/appkit-pay@1.7.8(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76)': - dependencies: - '@reown/appkit-common': 1.7.8(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76) - '@reown/appkit-controllers': 1.7.8(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76) - '@reown/appkit-ui': 1.7.8(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76) - '@reown/appkit-utils': 1.7.8(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@6.0.6)(valtio@1.13.2(@types/react@19.1.2)(react@19.2.4))(zod@3.25.76) - lit: 3.3.0 - valtio: 1.13.2(@types/react@19.1.2)(react@19.2.4) + viem: 2.43.5(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@5.0.10)(zod@3.25.76) transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -23103,14 +23408,13 @@ snapshots: - utf-8-validate - zod - '@reown/appkit-pay@1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.2.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(zod@3.25.76)': + '@reown/appkit-controllers@1.8.18(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76)': dependencies: - '@reown/appkit-common': 1.8.17-wc-circular-dependencies-fix.0(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) - '@reown/appkit-controllers': 1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) - '@reown/appkit-ui': 1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) - '@reown/appkit-utils': 1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.2.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(valtio@2.1.7(@types/react@19.1.2)(react@19.2.4))(zod@3.25.76) - lit: 3.3.0 + '@reown/appkit-common': 1.8.18(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) + '@reown/appkit-wallet': 1.8.18(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10) + '@walletconnect/universal-provider': 2.23.2(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) valtio: 2.1.7(@types/react@19.1.2)(react@19.2.4) + viem: 2.46.3(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -23131,26 +23435,22 @@ snapshots: - aws4fetch - bufferutil - db0 - - debug - encoding - - fastestsmallesttextencoderdecoder - - immer - ioredis - react - typescript - uploadthing - - use-sync-external-store - utf-8-validate - zod - '@reown/appkit-pay@1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.2.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@6.0.6)(zod@3.25.76)': + '@reown/appkit-pay@1.7.8(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76)': dependencies: - '@reown/appkit-common': 1.8.17-wc-circular-dependencies-fix.0(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76) - '@reown/appkit-controllers': 1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76) - '@reown/appkit-ui': 1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76) - '@reown/appkit-utils': 1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.2.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@6.0.6)(valtio@2.1.7(@types/react@19.1.2)(react@19.2.4))(zod@3.25.76) + '@reown/appkit-common': 1.7.8(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76) + '@reown/appkit-controllers': 1.7.8(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76) + '@reown/appkit-ui': 1.7.8(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76) + '@reown/appkit-utils': 1.7.8(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@6.0.6)(valtio@1.13.2(@types/react@19.1.2)(react@19.2.4))(zod@3.25.76) lit: 3.3.0 - valtio: 2.1.7(@types/react@19.1.2)(react@19.2.4) + valtio: 1.13.2(@types/react@19.1.2)(react@19.2.4) transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -23171,24 +23471,20 @@ snapshots: - aws4fetch - bufferutil - db0 - - debug - encoding - - fastestsmallesttextencoderdecoder - - immer - ioredis - react - typescript - uploadthing - - use-sync-external-store - utf-8-validate - zod - '@reown/appkit-pay@1.8.18(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.2.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(zod@3.25.76)': + '@reown/appkit-pay@1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.2.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(zod@3.25.76)': dependencies: - '@reown/appkit-common': 1.8.18(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) - '@reown/appkit-controllers': 1.8.18(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) - '@reown/appkit-ui': 1.8.18(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) - '@reown/appkit-utils': 1.8.18(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.2.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(valtio@2.1.7(@types/react@19.1.2)(react@19.2.4))(zod@3.25.76) + '@reown/appkit-common': 1.8.17-wc-circular-dependencies-fix.0(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) + '@reown/appkit-controllers': 1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) + '@reown/appkit-ui': 1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) + '@reown/appkit-utils': 1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.2.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(valtio@2.1.7(@types/react@19.1.2)(react@19.2.4))(zod@3.25.76) lit: 3.3.0 valtio: 2.1.7(@types/react@19.1.2)(react@19.2.4) transitivePeerDependencies: @@ -23222,106 +23518,16 @@ snapshots: - use-sync-external-store - utf-8-validate - zod + optional: true - '@reown/appkit-polyfills@1.7.2': - dependencies: - buffer: 6.0.3 - - '@reown/appkit-polyfills@1.7.8': - dependencies: - buffer: 6.0.3 - - '@reown/appkit-polyfills@1.8.17-wc-circular-dependencies-fix.0': - dependencies: - buffer: 6.0.3 - - '@reown/appkit-polyfills@1.8.18': - dependencies: - buffer: 6.0.3 - - '@reown/appkit-scaffold-ui@1.7.2(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@5.0.10)(valtio@1.13.2(@types/react@19.1.2)(react@19.2.4))(zod@3.25.76)': - dependencies: - '@reown/appkit-common': 1.7.2(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) - '@reown/appkit-controllers': 1.7.2(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) - '@reown/appkit-ui': 1.7.2(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) - '@reown/appkit-utils': 1.7.2(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@5.0.10)(valtio@1.13.2(@types/react@19.1.2)(react@19.2.4))(zod@3.25.76) - '@reown/appkit-wallet': 1.7.2(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10) - lit: 3.1.0 - transitivePeerDependencies: - - '@azure/app-configuration' - - '@azure/cosmos' - - '@azure/data-tables' - - '@azure/identity' - - '@azure/keyvault-secrets' - - '@azure/storage-blob' - - '@capacitor/preferences' - - '@deno/kv' - - '@netlify/blobs' - - '@planetscale/database' - - '@react-native-async-storage/async-storage' - - '@types/react' - - '@upstash/redis' - - '@vercel/blob' - - '@vercel/functions' - - '@vercel/kv' - - aws4fetch - - bufferutil - - db0 - - encoding - - ioredis - - react - - typescript - - uploadthing - - utf-8-validate - - valtio - - zod - - '@reown/appkit-scaffold-ui@1.7.8(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@6.0.6)(valtio@1.13.2(@types/react@19.1.2)(react@19.2.4))(zod@3.25.76)': - dependencies: - '@reown/appkit-common': 1.7.8(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76) - '@reown/appkit-controllers': 1.7.8(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76) - '@reown/appkit-ui': 1.7.8(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76) - '@reown/appkit-utils': 1.7.8(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@6.0.6)(valtio@1.13.2(@types/react@19.1.2)(react@19.2.4))(zod@3.25.76) - '@reown/appkit-wallet': 1.7.8(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6) - lit: 3.3.0 - transitivePeerDependencies: - - '@azure/app-configuration' - - '@azure/cosmos' - - '@azure/data-tables' - - '@azure/identity' - - '@azure/keyvault-secrets' - - '@azure/storage-blob' - - '@capacitor/preferences' - - '@deno/kv' - - '@netlify/blobs' - - '@planetscale/database' - - '@react-native-async-storage/async-storage' - - '@types/react' - - '@upstash/redis' - - '@vercel/blob' - - '@vercel/functions' - - '@vercel/kv' - - aws4fetch - - bufferutil - - db0 - - encoding - - ioredis - - react - - typescript - - uploadthing - - utf-8-validate - - valtio - - zod - - '@reown/appkit-scaffold-ui@1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.2.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(valtio@2.1.7(@types/react@19.1.2)(react@19.2.4))(zod@3.25.76)': + '@reown/appkit-pay@1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.2.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@6.0.6)(zod@3.25.76)': dependencies: - '@reown/appkit-common': 1.8.17-wc-circular-dependencies-fix.0(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) - '@reown/appkit-controllers': 1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) - '@reown/appkit-pay': 1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.2.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(zod@3.25.76) - '@reown/appkit-ui': 1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) - '@reown/appkit-utils': 1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.2.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(valtio@2.1.7(@types/react@19.1.2)(react@19.2.4))(zod@3.25.76) - '@reown/appkit-wallet': 1.8.17-wc-circular-dependencies-fix.0(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10) + '@reown/appkit-common': 1.8.17-wc-circular-dependencies-fix.0(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76) + '@reown/appkit-controllers': 1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76) + '@reown/appkit-ui': 1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76) + '@reown/appkit-utils': 1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.2.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@6.0.6)(valtio@2.1.7(@types/react@19.1.2)(react@19.2.4))(zod@3.25.76) lit: 3.3.0 + valtio: 2.1.7(@types/react@19.1.2)(react@19.2.4) transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -23352,18 +23558,16 @@ snapshots: - uploadthing - use-sync-external-store - utf-8-validate - - valtio - zod - '@reown/appkit-scaffold-ui@1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.2.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@6.0.6)(valtio@2.1.7(@types/react@19.1.2)(react@19.2.4))(zod@3.25.76)': + '@reown/appkit-pay@1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.8.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(zod@3.25.76)': dependencies: - '@reown/appkit-common': 1.8.17-wc-circular-dependencies-fix.0(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76) - '@reown/appkit-controllers': 1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76) - '@reown/appkit-pay': 1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.2.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@6.0.6)(zod@3.25.76) - '@reown/appkit-ui': 1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76) - '@reown/appkit-utils': 1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.2.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@6.0.6)(valtio@2.1.7(@types/react@19.1.2)(react@19.2.4))(zod@3.25.76) - '@reown/appkit-wallet': 1.8.17-wc-circular-dependencies-fix.0(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6) + '@reown/appkit-common': 1.8.17-wc-circular-dependencies-fix.0(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@5.0.10)(zod@3.25.76) + '@reown/appkit-controllers': 1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.8.2)(utf-8-validate@5.0.10)(zod@3.25.76) + '@reown/appkit-ui': 1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.8.2)(utf-8-validate@5.0.10)(zod@3.25.76) + '@reown/appkit-utils': 1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.8.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(valtio@2.1.7(@types/react@19.1.2)(react@19.2.4))(zod@3.25.76) lit: 3.3.0 + valtio: 2.1.7(@types/react@19.1.2)(react@19.2.4) transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -23394,18 +23598,16 @@ snapshots: - uploadthing - use-sync-external-store - utf-8-validate - - valtio - zod - '@reown/appkit-scaffold-ui@1.8.18(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.2.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(valtio@2.1.7(@types/react@19.1.2)(react@19.2.4))(zod@3.25.76)': + '@reown/appkit-pay@1.8.18(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.2.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(zod@3.25.76)': dependencies: '@reown/appkit-common': 1.8.18(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) '@reown/appkit-controllers': 1.8.18(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) - '@reown/appkit-pay': 1.8.18(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.2.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(zod@3.25.76) '@reown/appkit-ui': 1.8.18(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) '@reown/appkit-utils': 1.8.18(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.2.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(valtio@2.1.7(@types/react@19.1.2)(react@19.2.4))(zod@3.25.76) - '@reown/appkit-wallet': 1.8.18(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10) lit: 3.3.0 + valtio: 2.1.7(@types/react@19.1.2)(react@19.2.4) transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -23436,16 +23638,32 @@ snapshots: - uploadthing - use-sync-external-store - utf-8-validate - - valtio - zod - '@reown/appkit-ui@1.7.2(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76)': + '@reown/appkit-polyfills@1.7.2': + dependencies: + buffer: 6.0.3 + + '@reown/appkit-polyfills@1.7.8': + dependencies: + buffer: 6.0.3 + + '@reown/appkit-polyfills@1.8.17-wc-circular-dependencies-fix.0': + dependencies: + buffer: 6.0.3 + + '@reown/appkit-polyfills@1.8.18': + dependencies: + buffer: 6.0.3 + + '@reown/appkit-scaffold-ui@1.7.2(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@5.0.10)(valtio@1.13.2(@types/react@19.1.2)(react@19.2.4))(zod@3.25.76)': dependencies: '@reown/appkit-common': 1.7.2(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) '@reown/appkit-controllers': 1.7.2(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) + '@reown/appkit-ui': 1.7.2(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) + '@reown/appkit-utils': 1.7.2(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@5.0.10)(valtio@1.13.2(@types/react@19.1.2)(react@19.2.4))(zod@3.25.76) '@reown/appkit-wallet': 1.7.2(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10) lit: 3.1.0 - qrcode: 1.5.3 transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -23472,15 +23690,17 @@ snapshots: - typescript - uploadthing - utf-8-validate + - valtio - zod - '@reown/appkit-ui@1.7.8(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76)': + '@reown/appkit-scaffold-ui@1.7.8(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@6.0.6)(valtio@1.13.2(@types/react@19.1.2)(react@19.2.4))(zod@3.25.76)': dependencies: '@reown/appkit-common': 1.7.8(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76) '@reown/appkit-controllers': 1.7.8(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76) + '@reown/appkit-ui': 1.7.8(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76) + '@reown/appkit-utils': 1.7.8(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@6.0.6)(valtio@1.13.2(@types/react@19.1.2)(react@19.2.4))(zod@3.25.76) '@reown/appkit-wallet': 1.7.8(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6) lit: 3.3.0 - qrcode: 1.5.3 transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -23507,16 +23727,18 @@ snapshots: - typescript - uploadthing - utf-8-validate + - valtio - zod - '@reown/appkit-ui@1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76)': + '@reown/appkit-scaffold-ui@1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.2.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(valtio@2.1.7(@types/react@19.1.2)(react@19.2.4))(zod@3.25.76)': dependencies: - '@phosphor-icons/webcomponents': 2.1.5 '@reown/appkit-common': 1.8.17-wc-circular-dependencies-fix.0(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) '@reown/appkit-controllers': 1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) + '@reown/appkit-pay': 1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.2.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(zod@3.25.76) + '@reown/appkit-ui': 1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) + '@reown/appkit-utils': 1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.2.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(valtio@2.1.7(@types/react@19.1.2)(react@19.2.4))(zod@3.25.76) '@reown/appkit-wallet': 1.8.17-wc-circular-dependencies-fix.0(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10) lit: 3.3.0 - qrcode: 1.5.3 transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -23537,22 +23759,29 @@ snapshots: - aws4fetch - bufferutil - db0 + - debug - encoding + - fastestsmallesttextencoderdecoder + - immer - ioredis - react - typescript - uploadthing + - use-sync-external-store - utf-8-validate + - valtio - zod + optional: true - '@reown/appkit-ui@1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76)': + '@reown/appkit-scaffold-ui@1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.2.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@6.0.6)(valtio@2.1.7(@types/react@19.1.2)(react@19.2.4))(zod@3.25.76)': dependencies: - '@phosphor-icons/webcomponents': 2.1.5 '@reown/appkit-common': 1.8.17-wc-circular-dependencies-fix.0(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76) '@reown/appkit-controllers': 1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76) + '@reown/appkit-pay': 1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.2.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@6.0.6)(zod@3.25.76) + '@reown/appkit-ui': 1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76) + '@reown/appkit-utils': 1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.2.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@6.0.6)(valtio@2.1.7(@types/react@19.1.2)(react@19.2.4))(zod@3.25.76) '@reown/appkit-wallet': 1.8.17-wc-circular-dependencies-fix.0(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6) lit: 3.3.0 - qrcode: 1.5.3 transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -23573,22 +23802,70 @@ snapshots: - aws4fetch - bufferutil - db0 + - debug - encoding + - fastestsmallesttextencoderdecoder + - immer - ioredis - react - typescript - uploadthing + - use-sync-external-store - utf-8-validate + - valtio - zod - '@reown/appkit-ui@1.8.18(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76)': + '@reown/appkit-scaffold-ui@1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.8.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(valtio@2.1.7(@types/react@19.1.2)(react@19.2.4))(zod@3.25.76)': + dependencies: + '@reown/appkit-common': 1.8.17-wc-circular-dependencies-fix.0(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@5.0.10)(zod@3.25.76) + '@reown/appkit-controllers': 1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.8.2)(utf-8-validate@5.0.10)(zod@3.25.76) + '@reown/appkit-pay': 1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.8.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(zod@3.25.76) + '@reown/appkit-ui': 1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.8.2)(utf-8-validate@5.0.10)(zod@3.25.76) + '@reown/appkit-utils': 1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.8.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(valtio@2.1.7(@types/react@19.1.2)(react@19.2.4))(zod@3.25.76) + '@reown/appkit-wallet': 1.8.17-wc-circular-dependencies-fix.0(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@5.0.10) + lit: 3.3.0 + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@deno/kv' + - '@netlify/blobs' + - '@planetscale/database' + - '@react-native-async-storage/async-storage' + - '@types/react' + - '@upstash/redis' + - '@vercel/blob' + - '@vercel/functions' + - '@vercel/kv' + - aws4fetch + - bufferutil + - db0 + - debug + - encoding + - fastestsmallesttextencoderdecoder + - immer + - ioredis + - react + - typescript + - uploadthing + - use-sync-external-store + - utf-8-validate + - valtio + - zod + + '@reown/appkit-scaffold-ui@1.8.18(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.2.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(valtio@2.1.7(@types/react@19.1.2)(react@19.2.4))(zod@3.25.76)': dependencies: - '@phosphor-icons/webcomponents': 2.1.5 '@reown/appkit-common': 1.8.18(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) '@reown/appkit-controllers': 1.8.18(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) + '@reown/appkit-pay': 1.8.18(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.2.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(zod@3.25.76) + '@reown/appkit-ui': 1.8.18(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) + '@reown/appkit-utils': 1.8.18(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.2.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(valtio@2.1.7(@types/react@19.1.2)(react@19.2.4))(zod@3.25.76) '@reown/appkit-wallet': 1.8.18(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10) lit: 3.3.0 - qrcode: 1.5.3 transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -23609,24 +23886,26 @@ snapshots: - aws4fetch - bufferutil - db0 + - debug - encoding + - fastestsmallesttextencoderdecoder + - immer - ioredis - react - typescript - uploadthing + - use-sync-external-store - utf-8-validate + - valtio - zod - '@reown/appkit-utils@1.7.2(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@5.0.10)(valtio@1.13.2(@types/react@19.1.2)(react@19.2.4))(zod@3.25.76)': + '@reown/appkit-ui@1.7.2(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76)': dependencies: '@reown/appkit-common': 1.7.2(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) '@reown/appkit-controllers': 1.7.2(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) - '@reown/appkit-polyfills': 1.7.2 '@reown/appkit-wallet': 1.7.2(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10) - '@walletconnect/logger': 2.1.2 - '@walletconnect/universal-provider': 2.19.1(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) - valtio: 1.13.2(@types/react@19.1.2)(react@19.2.4) - viem: 2.43.5(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) + lit: 3.1.0 + qrcode: 1.5.3 transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -23655,16 +23934,13 @@ snapshots: - utf-8-validate - zod - '@reown/appkit-utils@1.7.8(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@6.0.6)(valtio@1.13.2(@types/react@19.1.2)(react@19.2.4))(zod@3.25.76)': + '@reown/appkit-ui@1.7.8(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76)': dependencies: '@reown/appkit-common': 1.7.8(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76) '@reown/appkit-controllers': 1.7.8(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76) - '@reown/appkit-polyfills': 1.7.8 '@reown/appkit-wallet': 1.7.8(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6) - '@walletconnect/logger': 2.1.2 - '@walletconnect/universal-provider': 2.21.0(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76) - valtio: 1.13.2(@types/react@19.1.2)(react@19.2.4) - viem: 2.43.5(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76) + lit: 3.3.0 + qrcode: 1.5.3 transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -23693,21 +23969,14 @@ snapshots: - utf-8-validate - zod - '@reown/appkit-utils@1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.2.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(valtio@2.1.7(@types/react@19.1.2)(react@19.2.4))(zod@3.25.76)': + '@reown/appkit-ui@1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76)': dependencies: + '@phosphor-icons/webcomponents': 2.1.5 '@reown/appkit-common': 1.8.17-wc-circular-dependencies-fix.0(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) '@reown/appkit-controllers': 1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) - '@reown/appkit-polyfills': 1.8.17-wc-circular-dependencies-fix.0 '@reown/appkit-wallet': 1.8.17-wc-circular-dependencies-fix.0(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10) - '@wallet-standard/wallet': 1.1.0 - '@walletconnect/logger': 3.0.2 - '@walletconnect/universal-provider': 2.23.2(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) - valtio: 2.1.7(@types/react@19.1.2)(react@19.2.4) - viem: 2.43.5(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) - optionalDependencies: - '@base-org/account': 2.4.0(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.2.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(zod@3.25.76) - '@safe-global/safe-apps-provider': 0.18.6(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) - '@safe-global/safe-apps-sdk': 9.1.0(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) + lit: 3.3.0 + qrcode: 1.5.3 transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -23728,33 +23997,23 @@ snapshots: - aws4fetch - bufferutil - db0 - - debug - encoding - - fastestsmallesttextencoderdecoder - - immer - ioredis - react - typescript - uploadthing - - use-sync-external-store - utf-8-validate - zod + optional: true - '@reown/appkit-utils@1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.2.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@6.0.6)(valtio@2.1.7(@types/react@19.1.2)(react@19.2.4))(zod@3.25.76)': + '@reown/appkit-ui@1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76)': dependencies: + '@phosphor-icons/webcomponents': 2.1.5 '@reown/appkit-common': 1.8.17-wc-circular-dependencies-fix.0(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76) '@reown/appkit-controllers': 1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76) - '@reown/appkit-polyfills': 1.8.17-wc-circular-dependencies-fix.0 '@reown/appkit-wallet': 1.8.17-wc-circular-dependencies-fix.0(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6) - '@wallet-standard/wallet': 1.1.0 - '@walletconnect/logger': 3.0.2 - '@walletconnect/universal-provider': 2.23.2(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76) - valtio: 2.1.7(@types/react@19.1.2)(react@19.2.4) - viem: 2.43.5(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76) - optionalDependencies: - '@base-org/account': 2.4.0(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.2.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@6.0.6)(zod@3.25.76) - '@safe-global/safe-apps-provider': 0.18.6(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76) - '@safe-global/safe-apps-sdk': 9.1.0(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76) + lit: 3.3.0 + qrcode: 1.5.3 transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -23775,33 +24034,22 @@ snapshots: - aws4fetch - bufferutil - db0 - - debug - encoding - - fastestsmallesttextencoderdecoder - - immer - ioredis - react - typescript - uploadthing - - use-sync-external-store - utf-8-validate - zod - '@reown/appkit-utils@1.8.18(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.2.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(valtio@2.1.7(@types/react@19.1.2)(react@19.2.4))(zod@3.25.76)': + '@reown/appkit-ui@1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.8.2)(utf-8-validate@5.0.10)(zod@3.25.76)': dependencies: - '@reown/appkit-common': 1.8.18(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) - '@reown/appkit-controllers': 1.8.18(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) - '@reown/appkit-polyfills': 1.8.18 - '@reown/appkit-wallet': 1.8.18(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10) - '@wallet-standard/wallet': 1.1.0 - '@walletconnect/logger': 3.0.2 - '@walletconnect/universal-provider': 2.23.2(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) - valtio: 2.1.7(@types/react@19.1.2)(react@19.2.4) - viem: 2.46.3(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) - optionalDependencies: - '@base-org/account': 2.4.0(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.2.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(zod@3.25.76) - '@safe-global/safe-apps-provider': 0.18.6(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) - '@safe-global/safe-apps-sdk': 9.1.0(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) + '@phosphor-icons/webcomponents': 2.1.5 + '@reown/appkit-common': 1.8.17-wc-circular-dependencies-fix.0(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@5.0.10)(zod@3.25.76) + '@reown/appkit-controllers': 1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.8.2)(utf-8-validate@5.0.10)(zod@3.25.76) + '@reown/appkit-wallet': 1.8.17-wc-circular-dependencies-fix.0(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@5.0.10) + lit: 3.3.0 + qrcode: 1.5.3 transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -23822,85 +24070,58 @@ snapshots: - aws4fetch - bufferutil - db0 - - debug - encoding - - fastestsmallesttextencoderdecoder - - immer - ioredis - react - typescript - uploadthing - - use-sync-external-store - utf-8-validate - zod - '@reown/appkit-wallet@1.7.2(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)': - dependencies: - '@reown/appkit-common': 1.7.2(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) - '@reown/appkit-polyfills': 1.7.2 - '@walletconnect/logger': 2.1.2 - zod: 3.25.76 - transitivePeerDependencies: - - bufferutil - - typescript - - utf-8-validate - - '@reown/appkit-wallet@1.7.8(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6)': - dependencies: - '@reown/appkit-common': 1.7.8(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76) - '@reown/appkit-polyfills': 1.7.8 - '@walletconnect/logger': 2.1.2 - zod: 3.25.76 - transitivePeerDependencies: - - bufferutil - - typescript - - utf-8-validate - - '@reown/appkit-wallet@1.8.17-wc-circular-dependencies-fix.0(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)': - dependencies: - '@reown/appkit-common': 1.8.17-wc-circular-dependencies-fix.0(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) - '@reown/appkit-polyfills': 1.8.17-wc-circular-dependencies-fix.0 - '@walletconnect/logger': 3.0.2 - zod: 3.25.76 - transitivePeerDependencies: - - bufferutil - - typescript - - utf-8-validate - - '@reown/appkit-wallet@1.8.17-wc-circular-dependencies-fix.0(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6)': - dependencies: - '@reown/appkit-common': 1.8.17-wc-circular-dependencies-fix.0(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76) - '@reown/appkit-polyfills': 1.8.17-wc-circular-dependencies-fix.0 - '@walletconnect/logger': 3.0.2 - zod: 3.25.76 - transitivePeerDependencies: - - bufferutil - - typescript - - utf-8-validate - - '@reown/appkit-wallet@1.8.18(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)': + '@reown/appkit-ui@1.8.18(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76)': dependencies: + '@phosphor-icons/webcomponents': 2.1.5 '@reown/appkit-common': 1.8.18(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) - '@reown/appkit-polyfills': 1.8.18 - '@walletconnect/logger': 3.0.2 - zod: 3.25.76 + '@reown/appkit-controllers': 1.8.18(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) + '@reown/appkit-wallet': 1.8.18(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10) + lit: 3.3.0 + qrcode: 1.5.3 transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@deno/kv' + - '@netlify/blobs' + - '@planetscale/database' + - '@react-native-async-storage/async-storage' + - '@types/react' + - '@upstash/redis' + - '@vercel/blob' + - '@vercel/functions' + - '@vercel/kv' + - aws4fetch - bufferutil + - db0 + - encoding + - ioredis + - react - typescript + - uploadthing - utf-8-validate + - zod - '@reown/appkit@1.7.2(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76)': + '@reown/appkit-utils@1.7.2(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@5.0.10)(valtio@1.13.2(@types/react@19.1.2)(react@19.2.4))(zod@3.25.76)': dependencies: '@reown/appkit-common': 1.7.2(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) '@reown/appkit-controllers': 1.7.2(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) '@reown/appkit-polyfills': 1.7.2 - '@reown/appkit-scaffold-ui': 1.7.2(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@5.0.10)(valtio@1.13.2(@types/react@19.1.2)(react@19.2.4))(zod@3.25.76) - '@reown/appkit-ui': 1.7.2(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) - '@reown/appkit-utils': 1.7.2(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@5.0.10)(valtio@1.13.2(@types/react@19.1.2)(react@19.2.4))(zod@3.25.76) '@reown/appkit-wallet': 1.7.2(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10) - '@walletconnect/types': 2.19.1 + '@walletconnect/logger': 2.1.2 '@walletconnect/universal-provider': 2.19.1(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) - bs58: 6.0.0 valtio: 1.13.2(@types/react@19.1.2)(react@19.2.4) viem: 2.43.5(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) transitivePeerDependencies: @@ -23931,19 +24152,14 @@ snapshots: - utf-8-validate - zod - '@reown/appkit@1.7.8(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76)': + '@reown/appkit-utils@1.7.8(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@6.0.6)(valtio@1.13.2(@types/react@19.1.2)(react@19.2.4))(zod@3.25.76)': dependencies: '@reown/appkit-common': 1.7.8(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76) '@reown/appkit-controllers': 1.7.8(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76) - '@reown/appkit-pay': 1.7.8(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76) '@reown/appkit-polyfills': 1.7.8 - '@reown/appkit-scaffold-ui': 1.7.8(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@6.0.6)(valtio@1.13.2(@types/react@19.1.2)(react@19.2.4))(zod@3.25.76) - '@reown/appkit-ui': 1.7.8(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76) - '@reown/appkit-utils': 1.7.8(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@6.0.6)(valtio@1.13.2(@types/react@19.1.2)(react@19.2.4))(zod@3.25.76) '@reown/appkit-wallet': 1.7.8(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6) - '@walletconnect/types': 2.21.0 + '@walletconnect/logger': 2.1.2 '@walletconnect/universal-provider': 2.21.0(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76) - bs58: 6.0.0 valtio: 1.13.2(@types/react@19.1.2)(react@19.2.4) viem: 2.43.5(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76) transitivePeerDependencies: @@ -23974,23 +24190,21 @@ snapshots: - utf-8-validate - zod - '@reown/appkit@1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.2.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(zod@3.25.76)': + '@reown/appkit-utils@1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.2.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(valtio@2.1.7(@types/react@19.1.2)(react@19.2.4))(zod@3.25.76)': dependencies: '@reown/appkit-common': 1.8.17-wc-circular-dependencies-fix.0(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) '@reown/appkit-controllers': 1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) - '@reown/appkit-pay': 1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.2.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(zod@3.25.76) '@reown/appkit-polyfills': 1.8.17-wc-circular-dependencies-fix.0 - '@reown/appkit-scaffold-ui': 1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.2.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(valtio@2.1.7(@types/react@19.1.2)(react@19.2.4))(zod@3.25.76) - '@reown/appkit-ui': 1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) - '@reown/appkit-utils': 1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.2.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(valtio@2.1.7(@types/react@19.1.2)(react@19.2.4))(zod@3.25.76) '@reown/appkit-wallet': 1.8.17-wc-circular-dependencies-fix.0(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10) + '@wallet-standard/wallet': 1.1.0 + '@walletconnect/logger': 3.0.2 '@walletconnect/universal-provider': 2.23.2(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) - bs58: 6.0.0 - semver: 7.7.2 valtio: 2.1.7(@types/react@19.1.2)(react@19.2.4) viem: 2.43.5(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) optionalDependencies: - '@lit/react': 1.0.8(@types/react@19.1.2) + '@base-org/account': 2.4.0(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.2.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(zod@3.25.76) + '@safe-global/safe-apps-provider': 0.18.6(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) + '@safe-global/safe-apps-sdk': 9.1.0(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -24022,24 +24236,23 @@ snapshots: - use-sync-external-store - utf-8-validate - zod + optional: true - '@reown/appkit@1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.2.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@6.0.6)(zod@3.25.76)': + '@reown/appkit-utils@1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.2.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@6.0.6)(valtio@2.1.7(@types/react@19.1.2)(react@19.2.4))(zod@3.25.76)': dependencies: '@reown/appkit-common': 1.8.17-wc-circular-dependencies-fix.0(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76) '@reown/appkit-controllers': 1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76) - '@reown/appkit-pay': 1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.2.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@6.0.6)(zod@3.25.76) '@reown/appkit-polyfills': 1.8.17-wc-circular-dependencies-fix.0 - '@reown/appkit-scaffold-ui': 1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.2.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@6.0.6)(valtio@2.1.7(@types/react@19.1.2)(react@19.2.4))(zod@3.25.76) - '@reown/appkit-ui': 1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76) - '@reown/appkit-utils': 1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.2.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@6.0.6)(valtio@2.1.7(@types/react@19.1.2)(react@19.2.4))(zod@3.25.76) '@reown/appkit-wallet': 1.8.17-wc-circular-dependencies-fix.0(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6) + '@wallet-standard/wallet': 1.1.0 + '@walletconnect/logger': 3.0.2 '@walletconnect/universal-provider': 2.23.2(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76) - bs58: 6.0.0 - semver: 7.7.2 valtio: 2.1.7(@types/react@19.1.2)(react@19.2.4) viem: 2.43.5(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76) optionalDependencies: - '@lit/react': 1.0.8(@types/react@19.1.2) + '@base-org/account': 2.4.0(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.2.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@6.0.6)(zod@3.25.76) + '@safe-global/safe-apps-provider': 0.18.6(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76) + '@safe-global/safe-apps-sdk': 9.1.0(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76) transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -24072,23 +24285,417 @@ snapshots: - utf-8-validate - zod - '@reown/appkit@1.8.18(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.2.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(zod@3.25.76)': + '@reown/appkit-utils@1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.8.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(valtio@2.1.7(@types/react@19.1.2)(react@19.2.4))(zod@3.25.76)': dependencies: - '@reown/appkit-common': 1.8.18(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) - '@reown/appkit-controllers': 1.8.18(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) - '@reown/appkit-pay': 1.8.18(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.2.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(zod@3.25.76) - '@reown/appkit-polyfills': 1.8.18 - '@reown/appkit-scaffold-ui': 1.8.18(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.2.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(valtio@2.1.7(@types/react@19.1.2)(react@19.2.4))(zod@3.25.76) - '@reown/appkit-ui': 1.8.18(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) - '@reown/appkit-utils': 1.8.18(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.2.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(valtio@2.1.7(@types/react@19.1.2)(react@19.2.4))(zod@3.25.76) - '@reown/appkit-wallet': 1.8.18(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10) - '@walletconnect/universal-provider': 2.23.2(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) - bs58: 6.0.0 - semver: 7.7.2 + '@reown/appkit-common': 1.8.17-wc-circular-dependencies-fix.0(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@5.0.10)(zod@3.25.76) + '@reown/appkit-controllers': 1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.8.2)(utf-8-validate@5.0.10)(zod@3.25.76) + '@reown/appkit-polyfills': 1.8.17-wc-circular-dependencies-fix.0 + '@reown/appkit-wallet': 1.8.17-wc-circular-dependencies-fix.0(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@5.0.10) + '@wallet-standard/wallet': 1.1.0 + '@walletconnect/logger': 3.0.2 + '@walletconnect/universal-provider': 2.23.2(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@5.0.10)(zod@3.25.76) valtio: 2.1.7(@types/react@19.1.2)(react@19.2.4) - viem: 2.46.3(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) + viem: 2.43.5(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@5.0.10)(zod@3.25.76) optionalDependencies: - '@lit/react': 1.0.8(@types/react@19.1.2) + '@base-org/account': 2.4.0(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.8.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(zod@3.25.76) + '@safe-global/safe-apps-provider': 0.18.6(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@5.0.10)(zod@3.25.76) + '@safe-global/safe-apps-sdk': 9.1.0(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@5.0.10)(zod@3.25.76) + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@deno/kv' + - '@netlify/blobs' + - '@planetscale/database' + - '@react-native-async-storage/async-storage' + - '@types/react' + - '@upstash/redis' + - '@vercel/blob' + - '@vercel/functions' + - '@vercel/kv' + - aws4fetch + - bufferutil + - db0 + - debug + - encoding + - fastestsmallesttextencoderdecoder + - immer + - ioredis + - react + - typescript + - uploadthing + - use-sync-external-store + - utf-8-validate + - zod + + '@reown/appkit-utils@1.8.18(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.2.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(valtio@2.1.7(@types/react@19.1.2)(react@19.2.4))(zod@3.25.76)': + dependencies: + '@reown/appkit-common': 1.8.18(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) + '@reown/appkit-controllers': 1.8.18(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) + '@reown/appkit-polyfills': 1.8.18 + '@reown/appkit-wallet': 1.8.18(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10) + '@wallet-standard/wallet': 1.1.0 + '@walletconnect/logger': 3.0.2 + '@walletconnect/universal-provider': 2.23.2(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) + valtio: 2.1.7(@types/react@19.1.2)(react@19.2.4) + viem: 2.46.3(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) + optionalDependencies: + '@base-org/account': 2.4.0(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.2.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(zod@3.25.76) + '@safe-global/safe-apps-provider': 0.18.6(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) + '@safe-global/safe-apps-sdk': 9.1.0(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@deno/kv' + - '@netlify/blobs' + - '@planetscale/database' + - '@react-native-async-storage/async-storage' + - '@types/react' + - '@upstash/redis' + - '@vercel/blob' + - '@vercel/functions' + - '@vercel/kv' + - aws4fetch + - bufferutil + - db0 + - debug + - encoding + - fastestsmallesttextencoderdecoder + - immer + - ioredis + - react + - typescript + - uploadthing + - use-sync-external-store + - utf-8-validate + - zod + + '@reown/appkit-wallet@1.7.2(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)': + dependencies: + '@reown/appkit-common': 1.7.2(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) + '@reown/appkit-polyfills': 1.7.2 + '@walletconnect/logger': 2.1.2 + zod: 3.25.76 + transitivePeerDependencies: + - bufferutil + - typescript + - utf-8-validate + + '@reown/appkit-wallet@1.7.8(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6)': + dependencies: + '@reown/appkit-common': 1.7.8(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76) + '@reown/appkit-polyfills': 1.7.8 + '@walletconnect/logger': 2.1.2 + zod: 3.25.76 + transitivePeerDependencies: + - bufferutil + - typescript + - utf-8-validate + + '@reown/appkit-wallet@1.8.17-wc-circular-dependencies-fix.0(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)': + dependencies: + '@reown/appkit-common': 1.8.17-wc-circular-dependencies-fix.0(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) + '@reown/appkit-polyfills': 1.8.17-wc-circular-dependencies-fix.0 + '@walletconnect/logger': 3.0.2 + zod: 3.25.76 + transitivePeerDependencies: + - bufferutil + - typescript + - utf-8-validate + optional: true + + '@reown/appkit-wallet@1.8.17-wc-circular-dependencies-fix.0(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6)': + dependencies: + '@reown/appkit-common': 1.8.17-wc-circular-dependencies-fix.0(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76) + '@reown/appkit-polyfills': 1.8.17-wc-circular-dependencies-fix.0 + '@walletconnect/logger': 3.0.2 + zod: 3.25.76 + transitivePeerDependencies: + - bufferutil + - typescript + - utf-8-validate + + '@reown/appkit-wallet@1.8.17-wc-circular-dependencies-fix.0(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@5.0.10)': + dependencies: + '@reown/appkit-common': 1.8.17-wc-circular-dependencies-fix.0(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@5.0.10)(zod@3.25.76) + '@reown/appkit-polyfills': 1.8.17-wc-circular-dependencies-fix.0 + '@walletconnect/logger': 3.0.2 + zod: 3.25.76 + transitivePeerDependencies: + - bufferutil + - typescript + - utf-8-validate + + '@reown/appkit-wallet@1.8.18(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)': + dependencies: + '@reown/appkit-common': 1.8.18(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) + '@reown/appkit-polyfills': 1.8.18 + '@walletconnect/logger': 3.0.2 + zod: 3.25.76 + transitivePeerDependencies: + - bufferutil + - typescript + - utf-8-validate + + '@reown/appkit@1.7.2(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76)': + dependencies: + '@reown/appkit-common': 1.7.2(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) + '@reown/appkit-controllers': 1.7.2(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) + '@reown/appkit-polyfills': 1.7.2 + '@reown/appkit-scaffold-ui': 1.7.2(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@5.0.10)(valtio@1.13.2(@types/react@19.1.2)(react@19.2.4))(zod@3.25.76) + '@reown/appkit-ui': 1.7.2(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) + '@reown/appkit-utils': 1.7.2(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@5.0.10)(valtio@1.13.2(@types/react@19.1.2)(react@19.2.4))(zod@3.25.76) + '@reown/appkit-wallet': 1.7.2(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10) + '@walletconnect/types': 2.19.1 + '@walletconnect/universal-provider': 2.19.1(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) + bs58: 6.0.0 + valtio: 1.13.2(@types/react@19.1.2)(react@19.2.4) + viem: 2.43.5(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@deno/kv' + - '@netlify/blobs' + - '@planetscale/database' + - '@react-native-async-storage/async-storage' + - '@types/react' + - '@upstash/redis' + - '@vercel/blob' + - '@vercel/functions' + - '@vercel/kv' + - aws4fetch + - bufferutil + - db0 + - encoding + - ioredis + - react + - typescript + - uploadthing + - utf-8-validate + - zod + + '@reown/appkit@1.7.8(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76)': + dependencies: + '@reown/appkit-common': 1.7.8(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76) + '@reown/appkit-controllers': 1.7.8(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76) + '@reown/appkit-pay': 1.7.8(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76) + '@reown/appkit-polyfills': 1.7.8 + '@reown/appkit-scaffold-ui': 1.7.8(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@6.0.6)(valtio@1.13.2(@types/react@19.1.2)(react@19.2.4))(zod@3.25.76) + '@reown/appkit-ui': 1.7.8(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76) + '@reown/appkit-utils': 1.7.8(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@6.0.6)(valtio@1.13.2(@types/react@19.1.2)(react@19.2.4))(zod@3.25.76) + '@reown/appkit-wallet': 1.7.8(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6) + '@walletconnect/types': 2.21.0 + '@walletconnect/universal-provider': 2.21.0(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76) + bs58: 6.0.0 + valtio: 1.13.2(@types/react@19.1.2)(react@19.2.4) + viem: 2.43.5(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76) + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@deno/kv' + - '@netlify/blobs' + - '@planetscale/database' + - '@react-native-async-storage/async-storage' + - '@types/react' + - '@upstash/redis' + - '@vercel/blob' + - '@vercel/functions' + - '@vercel/kv' + - aws4fetch + - bufferutil + - db0 + - encoding + - ioredis + - react + - typescript + - uploadthing + - utf-8-validate + - zod + + '@reown/appkit@1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.2.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(zod@3.25.76)': + dependencies: + '@reown/appkit-common': 1.8.17-wc-circular-dependencies-fix.0(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) + '@reown/appkit-controllers': 1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) + '@reown/appkit-pay': 1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.2.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(zod@3.25.76) + '@reown/appkit-polyfills': 1.8.17-wc-circular-dependencies-fix.0 + '@reown/appkit-scaffold-ui': 1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.2.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(valtio@2.1.7(@types/react@19.1.2)(react@19.2.4))(zod@3.25.76) + '@reown/appkit-ui': 1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) + '@reown/appkit-utils': 1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.2.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(valtio@2.1.7(@types/react@19.1.2)(react@19.2.4))(zod@3.25.76) + '@reown/appkit-wallet': 1.8.17-wc-circular-dependencies-fix.0(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10) + '@walletconnect/universal-provider': 2.23.2(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) + bs58: 6.0.0 + semver: 7.7.2 + valtio: 2.1.7(@types/react@19.1.2)(react@19.2.4) + viem: 2.43.5(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) + optionalDependencies: + '@lit/react': 1.0.8(@types/react@19.1.2) + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@deno/kv' + - '@netlify/blobs' + - '@planetscale/database' + - '@react-native-async-storage/async-storage' + - '@types/react' + - '@upstash/redis' + - '@vercel/blob' + - '@vercel/functions' + - '@vercel/kv' + - aws4fetch + - bufferutil + - db0 + - debug + - encoding + - fastestsmallesttextencoderdecoder + - immer + - ioredis + - react + - typescript + - uploadthing + - use-sync-external-store + - utf-8-validate + - zod + optional: true + + '@reown/appkit@1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.2.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@6.0.6)(zod@3.25.76)': + dependencies: + '@reown/appkit-common': 1.8.17-wc-circular-dependencies-fix.0(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76) + '@reown/appkit-controllers': 1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76) + '@reown/appkit-pay': 1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.2.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@6.0.6)(zod@3.25.76) + '@reown/appkit-polyfills': 1.8.17-wc-circular-dependencies-fix.0 + '@reown/appkit-scaffold-ui': 1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.2.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@6.0.6)(valtio@2.1.7(@types/react@19.1.2)(react@19.2.4))(zod@3.25.76) + '@reown/appkit-ui': 1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76) + '@reown/appkit-utils': 1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.2.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@6.0.6)(valtio@2.1.7(@types/react@19.1.2)(react@19.2.4))(zod@3.25.76) + '@reown/appkit-wallet': 1.8.17-wc-circular-dependencies-fix.0(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6) + '@walletconnect/universal-provider': 2.23.2(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76) + bs58: 6.0.0 + semver: 7.7.2 + valtio: 2.1.7(@types/react@19.1.2)(react@19.2.4) + viem: 2.43.5(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76) + optionalDependencies: + '@lit/react': 1.0.8(@types/react@19.1.2) + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@deno/kv' + - '@netlify/blobs' + - '@planetscale/database' + - '@react-native-async-storage/async-storage' + - '@types/react' + - '@upstash/redis' + - '@vercel/blob' + - '@vercel/functions' + - '@vercel/kv' + - aws4fetch + - bufferutil + - db0 + - debug + - encoding + - fastestsmallesttextencoderdecoder + - immer + - ioredis + - react + - typescript + - uploadthing + - use-sync-external-store + - utf-8-validate + - zod + + '@reown/appkit@1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.8.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(zod@3.25.76)': + dependencies: + '@reown/appkit-common': 1.8.17-wc-circular-dependencies-fix.0(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@5.0.10)(zod@3.25.76) + '@reown/appkit-controllers': 1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.8.2)(utf-8-validate@5.0.10)(zod@3.25.76) + '@reown/appkit-pay': 1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.8.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(zod@3.25.76) + '@reown/appkit-polyfills': 1.8.17-wc-circular-dependencies-fix.0 + '@reown/appkit-scaffold-ui': 1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.8.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(valtio@2.1.7(@types/react@19.1.2)(react@19.2.4))(zod@3.25.76) + '@reown/appkit-ui': 1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.8.2)(utf-8-validate@5.0.10)(zod@3.25.76) + '@reown/appkit-utils': 1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.8.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(valtio@2.1.7(@types/react@19.1.2)(react@19.2.4))(zod@3.25.76) + '@reown/appkit-wallet': 1.8.17-wc-circular-dependencies-fix.0(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@5.0.10) + '@walletconnect/universal-provider': 2.23.2(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@5.0.10)(zod@3.25.76) + bs58: 6.0.0 + semver: 7.7.2 + valtio: 2.1.7(@types/react@19.1.2)(react@19.2.4) + viem: 2.43.5(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@5.0.10)(zod@3.25.76) + optionalDependencies: + '@lit/react': 1.0.8(@types/react@19.1.2) + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@deno/kv' + - '@netlify/blobs' + - '@planetscale/database' + - '@react-native-async-storage/async-storage' + - '@types/react' + - '@upstash/redis' + - '@vercel/blob' + - '@vercel/functions' + - '@vercel/kv' + - aws4fetch + - bufferutil + - db0 + - debug + - encoding + - fastestsmallesttextencoderdecoder + - immer + - ioredis + - react + - typescript + - uploadthing + - use-sync-external-store + - utf-8-validate + - zod + + '@reown/appkit@1.8.18(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.2.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(zod@3.25.76)': + dependencies: + '@reown/appkit-common': 1.8.18(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) + '@reown/appkit-controllers': 1.8.18(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) + '@reown/appkit-pay': 1.8.18(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.2.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(zod@3.25.76) + '@reown/appkit-polyfills': 1.8.18 + '@reown/appkit-scaffold-ui': 1.8.18(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.2.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(valtio@2.1.7(@types/react@19.1.2)(react@19.2.4))(zod@3.25.76) + '@reown/appkit-ui': 1.8.18(@types/react@19.1.2)(bufferutil@4.1.0)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) + '@reown/appkit-utils': 1.8.18(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.2.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(valtio@2.1.7(@types/react@19.1.2)(react@19.2.4))(zod@3.25.76) + '@reown/appkit-wallet': 1.8.18(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10) + '@walletconnect/universal-provider': 2.23.2(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) + bs58: 6.0.0 + semver: 7.7.2 + valtio: 2.1.7(@types/react@19.1.2)(react@19.2.4) + viem: 2.46.3(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) + optionalDependencies: + '@lit/react': 1.0.8(@types/react@19.1.2) transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -24256,6 +24863,45 @@ snapshots: '@rushstack/eslint-patch@1.16.1': {} + '@rushstack/node-core-library@5.20.3(@types/node@25.3.5)': + dependencies: + ajv: 8.18.0 + ajv-draft-04: 1.0.0(ajv@8.18.0) + ajv-formats: 3.0.1(ajv@8.18.0) + fs-extra: 11.3.3 + import-lazy: 4.0.0 + jju: 1.4.0 + resolve: 1.22.11 + semver: 7.5.4 + optionalDependencies: + '@types/node': 25.3.5 + + '@rushstack/problem-matcher@0.2.1(@types/node@25.3.5)': + optionalDependencies: + '@types/node': 25.3.5 + + '@rushstack/rig-package@0.7.2': + dependencies: + resolve: 1.22.11 + strip-json-comments: 3.1.1 + + '@rushstack/terminal@0.22.3(@types/node@25.3.5)': + dependencies: + '@rushstack/node-core-library': 5.20.3(@types/node@25.3.5) + '@rushstack/problem-matcher': 0.2.1(@types/node@25.3.5) + supports-color: 8.1.1 + optionalDependencies: + '@types/node': 25.3.5 + + '@rushstack/ts-command-line@5.3.3(@types/node@25.3.5)': + dependencies: + '@rushstack/terminal': 0.22.3(@types/node@25.3.5) + '@types/argparse': 1.0.38 + argparse: 1.0.10 + string-argv: 0.3.2 + transitivePeerDependencies: + - '@types/node' + '@safe-global/safe-apps-provider@0.18.6(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76)': dependencies: '@safe-global/safe-apps-sdk': 9.1.0(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) @@ -24277,6 +24923,17 @@ snapshots: - utf-8-validate - zod + '@safe-global/safe-apps-provider@0.18.6(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@5.0.10)(zod@3.25.76)': + dependencies: + '@safe-global/safe-apps-sdk': 9.1.0(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@5.0.10)(zod@3.25.76) + events: 3.3.0 + transitivePeerDependencies: + - bufferutil + - typescript + - utf-8-validate + - zod + optional: true + '@safe-global/safe-apps-sdk@9.1.0(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76)': dependencies: '@safe-global/safe-gateway-typescript-sdk': 3.23.1 @@ -24298,6 +24955,17 @@ snapshots: - utf-8-validate - zod + '@safe-global/safe-apps-sdk@9.1.0(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@5.0.10)(zod@3.25.76)': + dependencies: + '@safe-global/safe-gateway-typescript-sdk': 3.23.1 + viem: 2.43.5(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@5.0.10)(zod@3.25.76) + transitivePeerDependencies: + - bufferutil + - typescript + - utf-8-validate + - zod + optional: true + '@safe-global/safe-gateway-typescript-sdk@3.23.1': {} '@sats-connect/core@0.6.5(typescript@5.2.2)': @@ -24346,7 +25014,7 @@ snapshots: '@scure/bip32@1.1.5': dependencies: '@noble/hashes': 1.2.0 - '@noble/secp256k1': 1.7.1 + '@noble/secp256k1': 1.7.2 '@scure/base': 1.1.9 '@scure/bip32@1.4.0': @@ -24511,14 +25179,14 @@ snapshots: varuint-bitcoin: 1.1.2 wif: 2.0.6 - '@shapeshiftoss/bitcoinjs-lib@7.0.0-shapeshift.0(typescript@5.2.2)': + '@shapeshiftoss/bitcoinjs-lib@7.0.0-shapeshift.0(typescript@5.8.2)': dependencies: '@noble/hashes': 1.8.0 bech32: 2.0.0 bip174: 3.0.0 bs58check: 4.0.0 uint8array-tools: 0.0.9 - valibot: 0.38.0(typescript@5.2.2) + valibot: 0.38.0(typescript@5.8.2) varuint-bitcoin: 2.0.0 transitivePeerDependencies: - typescript @@ -24535,6 +25203,18 @@ snapshots: transitivePeerDependencies: - typescript + '@shapeshiftoss/bitcoinjs-lib@7.0.0-shapeshift.2(typescript@5.8.2)': + dependencies: + '@noble/hashes': 1.8.0 + bech32: 2.0.0 + bip174: 3.0.0 + bs58check: 4.0.0 + uint8array-tools: 0.0.9 + valibot: 0.38.0(typescript@5.8.2) + varuint-bitcoin: 2.0.0 + transitivePeerDependencies: + - typescript + '@shapeshiftoss/blockbook@9.3.0(bufferutil@4.1.0)(utf-8-validate@5.0.10)': dependencies: ws: 8.19.0(bufferutil@4.1.0)(utf-8-validate@5.0.10) @@ -24577,16 +25257,16 @@ snapshots: - bufferutil - utf-8-validate - '@shapeshiftoss/contracts@1.0.6(@ethersproject/address@5.8.0)(@ethersproject/contracts@5.8.0)(@ethersproject/networks@5.8.0)(@ethersproject/providers@5.8.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(@ethersproject/solidity@5.8.0)(bufferutil@4.1.0)(cross-fetch@4.1.0)(ipfs-only-hash@4.0.0)(multiformats@9.9.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76)': + '@shapeshiftoss/contracts@1.0.6(@ethersproject/address@5.8.0)(@ethersproject/contracts@5.8.0)(@ethersproject/networks@5.8.0)(@ethersproject/providers@5.8.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(@ethersproject/solidity@5.8.0)(bufferutil@4.1.0)(cross-fetch@4.1.0)(ipfs-only-hash@4.0.0)(multiformats@9.9.0)(typescript@5.8.2)(utf-8-validate@5.0.10)(zod@3.25.76)': dependencies: '@shapeshiftoss/caip': 8.16.8 - '@shapeshiftoss/types': 8.6.7(bufferutil@4.1.0)(cross-fetch@4.1.0)(ethers@6.11.1(bufferutil@4.1.0)(utf-8-validate@5.0.10))(ipfs-only-hash@4.0.0)(multiformats@9.9.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) - '@shapeshiftoss/utils': 1.0.6(bufferutil@4.1.0)(cross-fetch@4.1.0)(ethers@6.11.1(bufferutil@4.1.0)(utf-8-validate@5.0.10))(ipfs-only-hash@4.0.0)(multiformats@9.9.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) + '@shapeshiftoss/types': 8.6.7(bufferutil@4.1.0)(cross-fetch@4.1.0)(ethers@6.11.1(bufferutil@4.1.0)(utf-8-validate@5.0.10))(ipfs-only-hash@4.0.0)(multiformats@9.9.0)(typescript@5.8.2)(utf-8-validate@5.0.10)(zod@3.25.76) + '@shapeshiftoss/utils': 1.0.6(bufferutil@4.1.0)(cross-fetch@4.1.0)(ethers@6.11.1(bufferutil@4.1.0)(utf-8-validate@5.0.10))(ipfs-only-hash@4.0.0)(multiformats@9.9.0)(typescript@5.8.2)(utf-8-validate@5.0.10)(zod@3.25.76) '@uniswap/sdk': 3.0.3(@ethersproject/address@5.8.0)(@ethersproject/contracts@5.8.0)(@ethersproject/networks@5.8.0)(@ethersproject/providers@5.8.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(@ethersproject/solidity@5.8.0) ethers: 6.11.1(bufferutil@4.1.0)(utf-8-validate@5.0.10) ethers5: ethers@5.7.2(bufferutil@4.1.0)(utf-8-validate@5.0.10) lodash: 4.17.23 - viem: 2.43.5(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) + viem: 2.43.5(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@5.0.10)(zod@3.25.76) transitivePeerDependencies: - '@ethersproject/address' - '@ethersproject/contracts' @@ -24621,13 +25301,32 @@ snapshots: - typescript - utf-8-validate - '@shapeshiftoss/hdwallet-native@1.62.41(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76)': + '@shapeshiftoss/hdwallet-core@1.62.41(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@5.0.10)': + dependencies: + '@shapeshiftoss/bitcoinjs-lib': 7.0.0-shapeshift.2(typescript@5.8.2) + '@shapeshiftoss/proto-tx-builder': 0.10.0(bufferutil@4.1.0)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.95.8(bufferutil@4.1.0)(utf-8-validate@5.0.10) + bs58check: 4.0.0 + eip-712: 1.0.0 + ethers: 5.7.2(bufferutil@4.1.0)(utf-8-validate@5.0.10) + eventemitter2: 5.0.1 + lodash: 4.17.23 + rxjs: 6.6.7 + type-assertions: 1.1.0 + transitivePeerDependencies: + - bufferutil + - debug + - encoding + - typescript + - utf-8-validate + + '@shapeshiftoss/hdwallet-native@1.62.41(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@5.0.10)(zod@3.25.76)': dependencies: '@bitcoinerlab/secp256k1': 1.2.0 '@noble/curves': 1.9.7 '@scure/starknet': 1.1.2 - '@shapeshiftoss/bitcoinjs-lib': 7.0.0-shapeshift.2(typescript@5.2.2) - '@shapeshiftoss/hdwallet-core': 1.62.41(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10) + '@shapeshiftoss/bitcoinjs-lib': 7.0.0-shapeshift.2(typescript@5.8.2) + '@shapeshiftoss/hdwallet-core': 1.62.41(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@5.0.10) '@shapeshiftoss/proto-tx-builder': 0.10.0(bufferutil@4.1.0)(utf-8-validate@5.0.10) '@ton/core': 0.62.1(@ton/crypto@3.3.0) '@ton/crypto': 3.3.0 @@ -24641,7 +25340,7 @@ snapshots: bnb-javascript-sdk-nobroadcast: 2.16.15(bufferutil@4.1.0)(utf-8-validate@5.0.10) bs58check: 4.0.0 crypto-js: 4.2.0 - ecpair: 3.0.1(typescript@5.2.2) + ecpair: 3.0.1(typescript@5.8.2) eip-712: 1.0.0 ethers: 5.7.2(bufferutil@4.1.0)(utf-8-validate@5.0.10) eventemitter2: 5.0.1 @@ -24651,8 +25350,8 @@ snapshots: node-fetch: 2.7.0 p-lazy: 3.1.0 scrypt-js: 3.0.1 - starknet: 9.4.0(typescript@5.2.2)(zod@3.25.76) - tendermint-tx-builder: 1.0.16(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10) + starknet: 9.4.0(typescript@5.8.2)(zod@3.25.76) + tendermint-tx-builder: 1.0.16(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@5.0.10) transitivePeerDependencies: - '@swc/core' - '@swc/wasm' @@ -24666,20 +25365,20 @@ snapshots: '@shapeshiftoss/logger@1.1.3': {} - '@shapeshiftoss/metamask-snaps-adapter@1.0.13(211af8fc05d26bebb634bbf1f0177cc6)': + '@shapeshiftoss/metamask-snaps-adapter@1.0.13(ffe613154a69d26e0f11f7fab9dfa120)': dependencies: '@ethersproject/providers': 5.8.0(bufferutil@4.1.0)(utf-8-validate@5.0.10) '@metamask/detect-provider': 2.0.0 '@metamask/snaps-ui': 1.0.2 '@shapeshiftoss/caip': link:packages/caip - '@shapeshiftoss/hdwallet-core': 1.62.41(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10) + '@shapeshiftoss/hdwallet-core': 1.62.41(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@5.0.10) '@shapeshiftoss/logger': 1.1.3 - '@shapeshiftoss/metamask-snaps': 1.0.13(9a3d51cc564618bc072132bfbda37d2e) - '@shapeshiftoss/metamask-snaps-types': 1.0.13(@ethersproject/address@5.8.0)(@ethersproject/contracts@5.8.0)(@ethersproject/networks@5.8.0)(@ethersproject/providers@5.8.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(@ethersproject/solidity@5.8.0)(bufferutil@4.1.0)(cross-fetch@4.1.0)(ipfs-only-hash@4.0.0)(multiformats@9.9.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) + '@shapeshiftoss/metamask-snaps': 1.0.13(8806108aec3f794b3300cf4ceae632a3) + '@shapeshiftoss/metamask-snaps-types': 1.0.13(@ethersproject/address@5.8.0)(@ethersproject/contracts@5.8.0)(@ethersproject/networks@5.8.0)(@ethersproject/providers@5.8.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(@ethersproject/solidity@5.8.0)(bufferutil@4.1.0)(cross-fetch@4.1.0)(ipfs-only-hash@4.0.0)(multiformats@9.9.0)(typescript@5.8.2)(utf-8-validate@5.0.10)(zod@3.25.76) '@shapeshiftoss/types': link:packages/types eslint-plugin-react: 7.37.5(eslint@8.57.1) eslint-plugin-react-hooks: 4.6.2(eslint@8.57.1) - mipd: 0.0.7(typescript@5.2.2) + mipd: 0.0.7(typescript@5.8.2) p-queue: 6.6.2 webpack: 5.105.3 transitivePeerDependencies: @@ -24714,12 +25413,12 @@ snapshots: - utf-8-validate - zod - '@shapeshiftoss/metamask-snaps-types@1.0.13(@ethersproject/address@5.8.0)(@ethersproject/contracts@5.8.0)(@ethersproject/networks@5.8.0)(@ethersproject/providers@5.8.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(@ethersproject/solidity@5.8.0)(bufferutil@4.1.0)(cross-fetch@4.1.0)(ipfs-only-hash@4.0.0)(multiformats@9.9.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76)': + '@shapeshiftoss/metamask-snaps-types@1.0.13(@ethersproject/address@5.8.0)(@ethersproject/contracts@5.8.0)(@ethersproject/networks@5.8.0)(@ethersproject/providers@5.8.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(@ethersproject/solidity@5.8.0)(bufferutil@4.1.0)(cross-fetch@4.1.0)(ipfs-only-hash@4.0.0)(multiformats@9.9.0)(typescript@5.8.2)(utf-8-validate@5.0.10)(zod@3.25.76)': dependencies: '@metamask/types': 1.1.0 - '@shapeshiftoss/hdwallet-core': 1.62.41(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10) - '@shapeshiftoss/hdwallet-native': 1.62.41(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) - '@shapeshiftoss/unchained-client': 10.14.10(@ethersproject/address@5.8.0)(@ethersproject/contracts@5.8.0)(@ethersproject/networks@5.8.0)(@ethersproject/providers@5.8.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(@ethersproject/solidity@5.8.0)(bufferutil@4.1.0)(cross-fetch@4.1.0)(ipfs-only-hash@4.0.0)(multiformats@9.9.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) + '@shapeshiftoss/hdwallet-core': 1.62.41(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@5.0.10) + '@shapeshiftoss/hdwallet-native': 1.62.41(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@5.0.10)(zod@3.25.76) + '@shapeshiftoss/unchained-client': 10.14.10(@ethersproject/address@5.8.0)(@ethersproject/contracts@5.8.0)(@ethersproject/networks@5.8.0)(@ethersproject/providers@5.8.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(@ethersproject/solidity@5.8.0)(bufferutil@4.1.0)(cross-fetch@4.1.0)(ipfs-only-hash@4.0.0)(multiformats@9.9.0)(typescript@5.8.2)(utf-8-validate@5.0.10)(zod@3.25.76) transitivePeerDependencies: - '@ethersproject/address' - '@ethersproject/contracts' @@ -24739,26 +25438,26 @@ snapshots: - utf-8-validate - zod - '@shapeshiftoss/metamask-snaps@1.0.13(9a3d51cc564618bc072132bfbda37d2e)': + '@shapeshiftoss/metamask-snaps@1.0.13(8806108aec3f794b3300cf4ceae632a3)': dependencies: '@babel/core': 7.29.0 '@ethersproject/providers': 5.8.0(bufferutil@4.1.0)(utf-8-validate@5.0.10) '@metamask/detect-provider': 2.0.0 - '@metamask/eslint-config': 15.0.0(eslint-config-prettier@9.1.2(eslint@8.57.1))(eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.56.1(eslint@8.57.1)(typescript@5.2.2))(eslint-import-resolver-node@0.3.9)(eslint@8.57.1))(eslint-plugin-jsdoc@50.8.0(eslint@8.57.1))(eslint-plugin-prettier@5.0.0(@types/eslint@9.6.1)(eslint-config-prettier@9.1.2(eslint@8.57.1))(eslint@8.57.1)(prettier@3.0.3))(eslint-plugin-promise@7.2.1(eslint@8.57.1))(eslint@8.57.1)(prettier@3.0.3) + '@metamask/eslint-config': 15.0.0(eslint-config-prettier@9.1.2(eslint@8.57.1))(eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.56.1(eslint@8.57.1)(typescript@5.8.2))(eslint-import-resolver-node@0.3.9)(eslint@8.57.1))(eslint-plugin-jsdoc@50.8.0(eslint@8.57.1))(eslint-plugin-prettier@5.0.0(@types/eslint@9.6.1)(eslint-config-prettier@9.1.2(eslint@8.57.1))(eslint@8.57.1)(prettier@3.0.3))(eslint-plugin-promise@7.2.1(eslint@8.57.1))(eslint@8.57.1)(prettier@3.0.3) '@metamask/key-tree': 9.1.2 '@metamask/snaps-types': 1.0.2(@metamask/approval-controller@3.5.2) '@metamask/snaps-ui': 1.0.2 '@shapeshiftoss/caip': 8.16.8 - '@shapeshiftoss/hdwallet-core': 1.62.41(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10) - '@shapeshiftoss/hdwallet-native': 1.62.41(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) + '@shapeshiftoss/hdwallet-core': 1.62.41(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@5.0.10) + '@shapeshiftoss/hdwallet-native': 1.62.41(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@5.0.10)(zod@3.25.76) '@shapeshiftoss/logger': 1.1.3 - '@shapeshiftoss/metamask-snaps-types': 1.0.13(@ethersproject/address@5.8.0)(@ethersproject/contracts@5.8.0)(@ethersproject/networks@5.8.0)(@ethersproject/providers@5.8.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(@ethersproject/solidity@5.8.0)(bufferutil@4.1.0)(cross-fetch@4.1.0)(ipfs-only-hash@4.0.0)(multiformats@9.9.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) - '@shapeshiftoss/types': 8.6.7(bufferutil@4.1.0)(cross-fetch@4.1.0)(ethers@5.7.2(bufferutil@4.1.0)(utf-8-validate@5.0.10))(ipfs-only-hash@4.0.0)(multiformats@9.9.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) - '@shapeshiftoss/unchained-client': 10.1.1(@ethersproject/abi@5.8.0)(@ethersproject/address@5.8.0)(@ethersproject/bignumber@5.8.0)(@ethersproject/bytes@5.8.0)(@ethersproject/contracts@5.8.0)(@ethersproject/providers@5.8.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(@shapeshiftoss/caip@8.16.8)(@shapeshiftoss/logger@1.1.3)(@shapeshiftoss/types@8.6.7(bufferutil@4.1.0)(cross-fetch@4.1.0)(ethers@5.7.2(bufferutil@4.1.0)(utf-8-validate@5.0.10))(ipfs-only-hash@4.0.0)(multiformats@9.9.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76))(bufferutil@4.1.0)(utf-8-validate@5.0.10) - '@typescript-eslint/eslint-plugin': 8.56.1(@typescript-eslint/parser@8.56.1(eslint@8.57.1)(typescript@5.2.2))(eslint@8.57.1)(typescript@5.2.2) - '@typescript-eslint/parser': 8.56.1(eslint@8.57.1)(typescript@5.2.2) + '@shapeshiftoss/metamask-snaps-types': 1.0.13(@ethersproject/address@5.8.0)(@ethersproject/contracts@5.8.0)(@ethersproject/networks@5.8.0)(@ethersproject/providers@5.8.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(@ethersproject/solidity@5.8.0)(bufferutil@4.1.0)(cross-fetch@4.1.0)(ipfs-only-hash@4.0.0)(multiformats@9.9.0)(typescript@5.8.2)(utf-8-validate@5.0.10)(zod@3.25.76) + '@shapeshiftoss/types': 8.6.7(bufferutil@4.1.0)(cross-fetch@4.1.0)(ethers@5.7.2(bufferutil@4.1.0)(utf-8-validate@5.0.10))(ipfs-only-hash@4.0.0)(multiformats@9.9.0)(typescript@5.8.2)(utf-8-validate@5.0.10)(zod@3.25.76) + '@shapeshiftoss/unchained-client': 10.1.1(@ethersproject/abi@5.8.0)(@ethersproject/address@5.8.0)(@ethersproject/bignumber@5.8.0)(@ethersproject/bytes@5.8.0)(@ethersproject/contracts@5.8.0)(@ethersproject/providers@5.8.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(@shapeshiftoss/caip@8.16.8)(@shapeshiftoss/logger@1.1.3)(@shapeshiftoss/types@8.6.7(bufferutil@4.1.0)(cross-fetch@4.1.0)(ethers@5.7.2(bufferutil@4.1.0)(utf-8-validate@5.0.10))(ipfs-only-hash@4.0.0)(multiformats@9.9.0)(typescript@5.8.2)(utf-8-validate@5.0.10)(zod@3.25.76))(bufferutil@4.1.0)(utf-8-validate@5.0.10) + '@typescript-eslint/eslint-plugin': 8.56.1(@typescript-eslint/parser@8.56.1(eslint@8.57.1)(typescript@5.8.2))(eslint@8.57.1)(typescript@5.8.2) + '@typescript-eslint/parser': 8.56.1(eslint@8.57.1)(typescript@5.8.2) eslint: 8.57.1 - eslint-plugin-jest: 25.7.0(@typescript-eslint/eslint-plugin@8.56.1(@typescript-eslint/parser@8.56.1(eslint@8.57.1)(typescript@5.2.2))(eslint@8.57.1)(typescript@5.2.2))(eslint@8.57.1)(typescript@5.2.2) + eslint-plugin-jest: 25.7.0(@typescript-eslint/eslint-plugin@8.56.1(@typescript-eslint/parser@8.56.1(eslint@8.57.1)(typescript@5.8.2))(eslint@8.57.1)(typescript@5.8.2))(eslint@8.57.1)(typescript@5.8.2) eslint-plugin-jsx-a11y: 6.10.2(eslint@8.57.1) eslint-plugin-prettier: 5.0.0(@types/eslint@9.6.1)(eslint-config-prettier@9.1.2(eslint@8.57.1))(eslint@8.57.1)(prettier@3.0.3) eslint-plugin-react: 7.37.5(eslint@8.57.1) @@ -24806,12 +25505,12 @@ snapshots: - debug - utf-8-validate - '@shapeshiftoss/types@8.6.7(bufferutil@4.1.0)(cross-fetch@4.1.0)(ethers@5.7.2(bufferutil@4.1.0)(utf-8-validate@5.0.10))(ipfs-only-hash@4.0.0)(multiformats@9.9.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76)': + '@shapeshiftoss/types@8.6.7(bufferutil@4.1.0)(cross-fetch@4.1.0)(ethers@5.7.2(bufferutil@4.1.0)(utf-8-validate@5.0.10))(ipfs-only-hash@4.0.0)(multiformats@9.9.0)(typescript@5.8.2)(utf-8-validate@5.0.10)(zod@3.25.76)': dependencies: '@cowprotocol/app-data': 2.5.1(cross-fetch@4.1.0)(ethers@5.7.2(bufferutil@4.1.0)(utf-8-validate@5.0.10))(ipfs-only-hash@4.0.0)(multiformats@9.9.0) '@shapeshiftoss/caip': 8.16.8 ethers5: ethers@5.7.2(bufferutil@4.1.0)(utf-8-validate@5.0.10) - viem: 2.43.5(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) + viem: 2.43.5(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@5.0.10)(zod@3.25.76) transitivePeerDependencies: - bufferutil - cross-fetch @@ -24823,11 +25522,28 @@ snapshots: - utf-8-validate - zod - '@shapeshiftoss/types@8.6.7(bufferutil@4.1.0)(cross-fetch@4.1.0)(ethers@6.11.1(bufferutil@4.1.0)(utf-8-validate@5.0.10))(ipfs-only-hash@4.0.0)(multiformats@9.9.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76)': + '@shapeshiftoss/types@8.6.7(bufferutil@4.1.0)(cross-fetch@4.1.0)(ethers@6.11.1(bufferutil@4.1.0)(utf-8-validate@5.0.10))(ipfs-only-hash@4.0.0)(multiformats@9.9.0)(typescript@5.8.2)(utf-8-validate@5.0.10)(zod@3.25.76)': dependencies: '@cowprotocol/app-data': 2.5.1(cross-fetch@4.1.0)(ethers@6.11.1(bufferutil@4.1.0)(utf-8-validate@5.0.10))(ipfs-only-hash@4.0.0)(multiformats@9.9.0) '@shapeshiftoss/caip': 8.16.8 ethers5: ethers@5.7.2(bufferutil@4.1.0)(utf-8-validate@5.0.10) + viem: 2.43.5(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@5.0.10)(zod@3.25.76) + transitivePeerDependencies: + - bufferutil + - cross-fetch + - debug + - ethers + - ipfs-only-hash + - multiformats + - typescript + - utf-8-validate + - zod + + '@shapeshiftoss/types@8.6.7(bufferutil@4.1.0)(cross-fetch@4.1.0)(ethers@6.16.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(ipfs-only-hash@4.0.0)(multiformats@9.9.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76)': + dependencies: + '@cowprotocol/app-data': 2.5.1(cross-fetch@4.1.0)(ethers@6.16.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(ipfs-only-hash@4.0.0)(multiformats@9.9.0) + '@shapeshiftoss/caip': 8.16.8 + ethers5: ethers@5.7.2(bufferutil@4.1.0)(utf-8-validate@5.0.10) viem: 2.43.5(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) transitivePeerDependencies: - bufferutil @@ -24840,11 +25556,11 @@ snapshots: - utf-8-validate - zod - '@shapeshiftoss/unchained-client@10.1.1(@ethersproject/abi@5.8.0)(@ethersproject/address@5.8.0)(@ethersproject/bignumber@5.8.0)(@ethersproject/bytes@5.8.0)(@ethersproject/contracts@5.8.0)(@ethersproject/providers@5.8.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(@shapeshiftoss/caip@8.16.8)(@shapeshiftoss/logger@1.1.3)(@shapeshiftoss/types@8.6.7(bufferutil@4.1.0)(cross-fetch@4.1.0)(ethers@5.7.2(bufferutil@4.1.0)(utf-8-validate@5.0.10))(ipfs-only-hash@4.0.0)(multiformats@9.9.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76))(bufferutil@4.1.0)(utf-8-validate@5.0.10)': + '@shapeshiftoss/unchained-client@10.1.1(@ethersproject/abi@5.8.0)(@ethersproject/address@5.8.0)(@ethersproject/bignumber@5.8.0)(@ethersproject/bytes@5.8.0)(@ethersproject/contracts@5.8.0)(@ethersproject/providers@5.8.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(@shapeshiftoss/caip@8.16.8)(@shapeshiftoss/logger@1.1.3)(@shapeshiftoss/types@8.6.7(bufferutil@4.1.0)(cross-fetch@4.1.0)(ethers@5.7.2(bufferutil@4.1.0)(utf-8-validate@5.0.10))(ipfs-only-hash@4.0.0)(multiformats@9.9.0)(typescript@5.8.2)(utf-8-validate@5.0.10)(zod@3.25.76))(bufferutil@4.1.0)(utf-8-validate@5.0.10)': dependencies: '@shapeshiftoss/caip': 8.16.8 '@shapeshiftoss/logger': 1.1.3 - '@shapeshiftoss/types': 8.6.7(bufferutil@4.1.0)(cross-fetch@4.1.0)(ethers@5.7.2(bufferutil@4.1.0)(utf-8-validate@5.0.10))(ipfs-only-hash@4.0.0)(multiformats@9.9.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) + '@shapeshiftoss/types': 8.6.7(bufferutil@4.1.0)(cross-fetch@4.1.0)(ethers@5.7.2(bufferutil@4.1.0)(utf-8-validate@5.0.10))(ipfs-only-hash@4.0.0)(multiformats@9.9.0)(typescript@5.8.2)(utf-8-validate@5.0.10)(zod@3.25.76) '@yfi/sdk': 1.2.0(@ethersproject/abi@5.8.0)(@ethersproject/address@5.8.0)(@ethersproject/bignumber@5.8.0)(@ethersproject/bytes@5.8.0)(@ethersproject/contracts@5.8.0)(@ethersproject/providers@5.8.0(bufferutil@4.1.0)(utf-8-validate@5.0.10)) bignumber.js: 9.3.1 ethers: 5.7.2(bufferutil@4.1.0)(utf-8-validate@5.0.10) @@ -24861,17 +25577,17 @@ snapshots: - encoding - utf-8-validate - '@shapeshiftoss/unchained-client@10.14.10(@ethersproject/address@5.8.0)(@ethersproject/contracts@5.8.0)(@ethersproject/networks@5.8.0)(@ethersproject/providers@5.8.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(@ethersproject/solidity@5.8.0)(bufferutil@4.1.0)(cross-fetch@4.1.0)(ipfs-only-hash@4.0.0)(multiformats@9.9.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76)': + '@shapeshiftoss/unchained-client@10.14.10(@ethersproject/address@5.8.0)(@ethersproject/contracts@5.8.0)(@ethersproject/networks@5.8.0)(@ethersproject/providers@5.8.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(@ethersproject/solidity@5.8.0)(bufferutil@4.1.0)(cross-fetch@4.1.0)(ipfs-only-hash@4.0.0)(multiformats@9.9.0)(typescript@5.8.2)(utf-8-validate@5.0.10)(zod@3.25.76)': dependencies: '@shapeshiftoss/caip': 8.16.8 '@shapeshiftoss/common-api': 9.3.0(bufferutil@4.1.0)(utf-8-validate@5.0.10) - '@shapeshiftoss/contracts': 1.0.6(@ethersproject/address@5.8.0)(@ethersproject/contracts@5.8.0)(@ethersproject/networks@5.8.0)(@ethersproject/providers@5.8.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(@ethersproject/solidity@5.8.0)(bufferutil@4.1.0)(cross-fetch@4.1.0)(ipfs-only-hash@4.0.0)(multiformats@9.9.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) - '@shapeshiftoss/utils': 1.0.6(bufferutil@4.1.0)(cross-fetch@4.1.0)(ethers@6.11.1(bufferutil@4.1.0)(utf-8-validate@5.0.10))(ipfs-only-hash@4.0.0)(multiformats@9.9.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) + '@shapeshiftoss/contracts': 1.0.6(@ethersproject/address@5.8.0)(@ethersproject/contracts@5.8.0)(@ethersproject/networks@5.8.0)(@ethersproject/providers@5.8.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(@ethersproject/solidity@5.8.0)(bufferutil@4.1.0)(cross-fetch@4.1.0)(ipfs-only-hash@4.0.0)(multiformats@9.9.0)(typescript@5.8.2)(utf-8-validate@5.0.10)(zod@3.25.76) + '@shapeshiftoss/utils': 1.0.6(bufferutil@4.1.0)(cross-fetch@4.1.0)(ethers@6.11.1(bufferutil@4.1.0)(utf-8-validate@5.0.10))(ipfs-only-hash@4.0.0)(multiformats@9.9.0)(typescript@5.8.2)(utf-8-validate@5.0.10)(zod@3.25.76) axios: 1.13.6(debug@4.4.3) bignumber.js: 9.3.1 ethers: 6.11.1(bufferutil@4.1.0)(utf-8-validate@5.0.10) isomorphic-ws: 4.0.1(ws@8.19.0(bufferutil@4.1.0)(utf-8-validate@5.0.10)) - viem: 2.43.5(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) + viem: 2.43.5(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@5.0.10)(zod@3.25.76) ws: 8.19.0(bufferutil@4.1.0)(utf-8-validate@5.0.10) transitivePeerDependencies: - '@ethersproject/address' @@ -24888,10 +25604,29 @@ snapshots: - utf-8-validate - zod - '@shapeshiftoss/utils@1.0.6(bufferutil@4.1.0)(cross-fetch@4.1.0)(ethers@6.11.1(bufferutil@4.1.0)(utf-8-validate@5.0.10))(ipfs-only-hash@4.0.0)(multiformats@9.9.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76)': + '@shapeshiftoss/utils@1.0.6(bufferutil@4.1.0)(cross-fetch@4.1.0)(ethers@6.11.1(bufferutil@4.1.0)(utf-8-validate@5.0.10))(ipfs-only-hash@4.0.0)(multiformats@9.9.0)(typescript@5.8.2)(utf-8-validate@5.0.10)(zod@3.25.76)': + dependencies: + '@shapeshiftoss/caip': 8.16.8 + '@shapeshiftoss/types': 8.6.7(bufferutil@4.1.0)(cross-fetch@4.1.0)(ethers@6.11.1(bufferutil@4.1.0)(utf-8-validate@5.0.10))(ipfs-only-hash@4.0.0)(multiformats@9.9.0)(typescript@5.8.2)(utf-8-validate@5.0.10)(zod@3.25.76) + '@sniptt/monads': 0.5.10 + bignumber.js: 9.3.1 + dayjs: 1.11.19 + lodash-es: 4.17.23 + transitivePeerDependencies: + - bufferutil + - cross-fetch + - debug + - ethers + - ipfs-only-hash + - multiformats + - typescript + - utf-8-validate + - zod + + '@shapeshiftoss/utils@1.0.6(bufferutil@4.1.0)(cross-fetch@4.1.0)(ethers@6.16.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(ipfs-only-hash@4.0.0)(multiformats@9.9.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76)': dependencies: '@shapeshiftoss/caip': 8.16.8 - '@shapeshiftoss/types': 8.6.7(bufferutil@4.1.0)(cross-fetch@4.1.0)(ethers@6.11.1(bufferutil@4.1.0)(utf-8-validate@5.0.10))(ipfs-only-hash@4.0.0)(multiformats@9.9.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) + '@shapeshiftoss/types': 8.6.7(bufferutil@4.1.0)(cross-fetch@4.1.0)(ethers@6.16.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(ipfs-only-hash@4.0.0)(multiformats@9.9.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76) '@sniptt/monads': 0.5.10 bignumber.js: 9.3.1 dayjs: 1.11.19 @@ -24919,17 +25654,17 @@ snapshots: dependencies: '@solana/kit': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2)(ws@8.18.3(bufferutil@4.1.0)(utf-8-validate@5.0.10)) - '@solana-program/compute-budget@0.8.0(@solana/kit@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2)(ws@8.19.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.8.2)(ws@8.19.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)))': dependencies: - '@solana/kit': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2)(ws@8.19.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)) + '@solana/kit': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.19.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.2.2)(ws@8.18.3(bufferutil@4.1.0)(utf-8-validate@5.0.10)))': dependencies: '@solana/kit': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2)(ws@8.18.3(bufferutil@4.1.0)(utf-8-validate@5.0.10)) - '@solana-program/stake@0.2.1(@solana/kit@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2)(ws@8.19.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.8.2)(ws@8.19.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)))': dependencies: - '@solana/kit': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2)(ws@8.19.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)) + '@solana/kit': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.19.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)) '@solana-program/system@0.10.0(@solana/kit@5.5.1(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2)(utf-8-validate@5.0.10))': dependencies: @@ -24940,30 +25675,35 @@ snapshots: dependencies: '@solana/kit': 5.5.1(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2)(utf-8-validate@6.0.6) + '@solana-program/system@0.10.0(@solana/kit@5.5.1(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(utf-8-validate@5.0.10))': + dependencies: + '@solana/kit': 5.5.1(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(utf-8-validate@5.0.10) + optional: true + '@solana-program/system@0.7.0(@solana/kit@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2)(ws@8.18.3(bufferutil@4.1.0)(utf-8-validate@5.0.10)))': dependencies: '@solana/kit': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2)(ws@8.18.3(bufferutil@4.1.0)(utf-8-validate@5.0.10)) - '@solana-program/system@0.7.0(@solana/kit@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2)(ws@8.19.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.8.2)(ws@8.19.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)))': dependencies: - '@solana/kit': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2)(ws@8.19.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)) + '@solana/kit': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.19.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.2.2)(ws@8.18.3(bufferutil@4.1.0)(utf-8-validate@5.0.10)))': dependencies: '@solana/kit': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2)(ws@8.18.3(bufferutil@4.1.0)(utf-8-validate@5.0.10)) - '@solana-program/token-2022@0.4.2(@solana/kit@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2)(ws@8.19.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)))(@solana/sysvars@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2))': + '@solana-program/token-2022@0.4.2(@solana/kit@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.19.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)))(@solana/sysvars@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2))': dependencies: - '@solana/kit': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2)(ws@8.19.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)) - '@solana/sysvars': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2) + '@solana/kit': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.19.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)) + '@solana/sysvars': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) '@solana-program/token@0.5.1(@solana/kit@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2)(ws@8.18.3(bufferutil@4.1.0)(utf-8-validate@5.0.10)))': dependencies: '@solana/kit': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2)(ws@8.18.3(bufferutil@4.1.0)(utf-8-validate@5.0.10)) - '@solana-program/token@0.5.1(@solana/kit@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2)(ws@8.19.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.8.2)(ws@8.19.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)))': dependencies: - '@solana/kit': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2)(ws@8.19.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)) + '@solana/kit': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.19.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)) '@solana-program/token@0.9.0(@solana/kit@5.5.1(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2)(utf-8-validate@5.0.10))': dependencies: @@ -24974,6 +25714,11 @@ snapshots: dependencies: '@solana/kit': 5.5.1(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2)(utf-8-validate@6.0.6) + '@solana-program/token@0.9.0(@solana/kit@5.5.1(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(utf-8-validate@5.0.10))': + dependencies: + '@solana/kit': 5.5.1(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(utf-8-validate@5.0.10) + optional: true + '@solana/accounts@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2)': dependencies: '@solana/addresses': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2) @@ -24986,6 +25731,18 @@ snapshots: transitivePeerDependencies: - fastestsmallesttextencoderdecoder + '@solana/accounts@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)': + dependencies: + '@solana/addresses': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/codecs-core': 2.3.0(typescript@5.8.2) + '@solana/codecs-strings': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/errors': 2.3.0(typescript@5.8.2) + '@solana/rpc-spec': 2.3.0(typescript@5.8.2) + '@solana/rpc-types': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + typescript: 5.8.2 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + '@solana/accounts@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2)': dependencies: '@solana/addresses': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2) @@ -24999,6 +25756,19 @@ snapshots: transitivePeerDependencies: - fastestsmallesttextencoderdecoder + '@solana/accounts@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)': + dependencies: + '@solana/addresses': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/codecs-core': 5.5.1(typescript@5.8.2) + '@solana/codecs-strings': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/errors': 5.5.1(typescript@5.8.2) + '@solana/rpc-spec': 5.5.1(typescript@5.8.2) + '@solana/rpc-types': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + optionalDependencies: + typescript: 5.8.2 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + '@solana/addresses@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2)': dependencies: '@solana/assertions': 2.3.0(typescript@5.2.2) @@ -25010,6 +25780,17 @@ snapshots: transitivePeerDependencies: - fastestsmallesttextencoderdecoder + '@solana/addresses@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)': + dependencies: + '@solana/assertions': 2.3.0(typescript@5.8.2) + '@solana/codecs-core': 2.3.0(typescript@5.8.2) + '@solana/codecs-strings': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/errors': 2.3.0(typescript@5.8.2) + '@solana/nominal-types': 2.3.0(typescript@5.8.2) + typescript: 5.8.2 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + '@solana/addresses@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2)': dependencies: '@solana/assertions': 5.5.1(typescript@5.2.2) @@ -25022,17 +25803,40 @@ snapshots: transitivePeerDependencies: - fastestsmallesttextencoderdecoder + '@solana/addresses@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)': + dependencies: + '@solana/assertions': 5.5.1(typescript@5.8.2) + '@solana/codecs-core': 5.5.1(typescript@5.8.2) + '@solana/codecs-strings': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/errors': 5.5.1(typescript@5.8.2) + '@solana/nominal-types': 5.5.1(typescript@5.8.2) + optionalDependencies: + typescript: 5.8.2 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + '@solana/assertions@2.3.0(typescript@5.2.2)': dependencies: '@solana/errors': 2.3.0(typescript@5.2.2) typescript: 5.2.2 + '@solana/assertions@2.3.0(typescript@5.8.2)': + dependencies: + '@solana/errors': 2.3.0(typescript@5.8.2) + typescript: 5.8.2 + '@solana/assertions@5.5.1(typescript@5.2.2)': dependencies: '@solana/errors': 5.5.1(typescript@5.2.2) optionalDependencies: typescript: 5.2.2 + '@solana/assertions@5.5.1(typescript@5.8.2)': + dependencies: + '@solana/errors': 5.5.1(typescript@5.8.2) + optionalDependencies: + typescript: 5.8.2 + '@solana/buffer-layout-utils@0.2.0(bufferutil@4.1.0)(utf-8-validate@5.0.10)': dependencies: '@solana/buffer-layout': 4.0.1 @@ -25064,17 +25868,33 @@ snapshots: '@solana/errors': 2.0.0-rc.1(typescript@5.2.2) typescript: 5.2.2 + '@solana/codecs-core@2.0.0-rc.1(typescript@5.8.2)': + dependencies: + '@solana/errors': 2.0.0-rc.1(typescript@5.8.2) + typescript: 5.8.2 + '@solana/codecs-core@2.3.0(typescript@5.2.2)': dependencies: '@solana/errors': 2.3.0(typescript@5.2.2) typescript: 5.2.2 + '@solana/codecs-core@2.3.0(typescript@5.8.2)': + dependencies: + '@solana/errors': 2.3.0(typescript@5.8.2) + typescript: 5.8.2 + '@solana/codecs-core@5.5.1(typescript@5.2.2)': dependencies: '@solana/errors': 5.5.1(typescript@5.2.2) optionalDependencies: typescript: 5.2.2 + '@solana/codecs-core@5.5.1(typescript@5.8.2)': + dependencies: + '@solana/errors': 5.5.1(typescript@5.8.2) + optionalDependencies: + typescript: 5.8.2 + '@solana/codecs-data-structures@2.0.0-rc.1(typescript@5.2.2)': dependencies: '@solana/codecs-core': 2.0.0-rc.1(typescript@5.2.2) @@ -25082,6 +25902,13 @@ snapshots: '@solana/errors': 2.0.0-rc.1(typescript@5.2.2) typescript: 5.2.2 + '@solana/codecs-data-structures@2.0.0-rc.1(typescript@5.8.2)': + dependencies: + '@solana/codecs-core': 2.0.0-rc.1(typescript@5.8.2) + '@solana/codecs-numbers': 2.0.0-rc.1(typescript@5.8.2) + '@solana/errors': 2.0.0-rc.1(typescript@5.8.2) + typescript: 5.8.2 + '@solana/codecs-data-structures@2.3.0(typescript@5.2.2)': dependencies: '@solana/codecs-core': 2.3.0(typescript@5.2.2) @@ -25089,6 +25916,13 @@ snapshots: '@solana/errors': 2.3.0(typescript@5.2.2) typescript: 5.2.2 + '@solana/codecs-data-structures@2.3.0(typescript@5.8.2)': + dependencies: + '@solana/codecs-core': 2.3.0(typescript@5.8.2) + '@solana/codecs-numbers': 2.3.0(typescript@5.8.2) + '@solana/errors': 2.3.0(typescript@5.8.2) + typescript: 5.8.2 + '@solana/codecs-data-structures@5.5.1(typescript@5.2.2)': dependencies: '@solana/codecs-core': 5.5.1(typescript@5.2.2) @@ -25097,18 +25931,38 @@ snapshots: optionalDependencies: typescript: 5.2.2 + '@solana/codecs-data-structures@5.5.1(typescript@5.8.2)': + dependencies: + '@solana/codecs-core': 5.5.1(typescript@5.8.2) + '@solana/codecs-numbers': 5.5.1(typescript@5.8.2) + '@solana/errors': 5.5.1(typescript@5.8.2) + optionalDependencies: + typescript: 5.8.2 + '@solana/codecs-numbers@2.0.0-rc.1(typescript@5.2.2)': dependencies: '@solana/codecs-core': 2.0.0-rc.1(typescript@5.2.2) '@solana/errors': 2.0.0-rc.1(typescript@5.2.2) typescript: 5.2.2 + '@solana/codecs-numbers@2.0.0-rc.1(typescript@5.8.2)': + dependencies: + '@solana/codecs-core': 2.0.0-rc.1(typescript@5.8.2) + '@solana/errors': 2.0.0-rc.1(typescript@5.8.2) + typescript: 5.8.2 + '@solana/codecs-numbers@2.3.0(typescript@5.2.2)': dependencies: '@solana/codecs-core': 2.3.0(typescript@5.2.2) '@solana/errors': 2.3.0(typescript@5.2.2) typescript: 5.2.2 + '@solana/codecs-numbers@2.3.0(typescript@5.8.2)': + dependencies: + '@solana/codecs-core': 2.3.0(typescript@5.8.2) + '@solana/errors': 2.3.0(typescript@5.8.2) + typescript: 5.8.2 + '@solana/codecs-numbers@5.5.1(typescript@5.2.2)': dependencies: '@solana/codecs-core': 5.5.1(typescript@5.2.2) @@ -25116,6 +25970,13 @@ snapshots: optionalDependencies: typescript: 5.2.2 + '@solana/codecs-numbers@5.5.1(typescript@5.8.2)': + dependencies: + '@solana/codecs-core': 5.5.1(typescript@5.8.2) + '@solana/errors': 5.5.1(typescript@5.8.2) + optionalDependencies: + typescript: 5.8.2 + '@solana/codecs-strings@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2)': dependencies: '@solana/codecs-core': 2.0.0-rc.1(typescript@5.2.2) @@ -25124,6 +25985,14 @@ snapshots: fastestsmallesttextencoderdecoder: 1.0.22 typescript: 5.2.2 + '@solana/codecs-strings@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)': + dependencies: + '@solana/codecs-core': 2.0.0-rc.1(typescript@5.8.2) + '@solana/codecs-numbers': 2.0.0-rc.1(typescript@5.8.2) + '@solana/errors': 2.0.0-rc.1(typescript@5.8.2) + fastestsmallesttextencoderdecoder: 1.0.22 + typescript: 5.8.2 + '@solana/codecs-strings@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2)': dependencies: '@solana/codecs-core': 2.3.0(typescript@5.2.2) @@ -25132,6 +26001,14 @@ snapshots: fastestsmallesttextencoderdecoder: 1.0.22 typescript: 5.2.2 + '@solana/codecs-strings@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)': + dependencies: + '@solana/codecs-core': 2.3.0(typescript@5.8.2) + '@solana/codecs-numbers': 2.3.0(typescript@5.8.2) + '@solana/errors': 2.3.0(typescript@5.8.2) + fastestsmallesttextencoderdecoder: 1.0.22 + typescript: 5.8.2 + '@solana/codecs-strings@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2)': dependencies: '@solana/codecs-core': 5.5.1(typescript@5.2.2) @@ -25141,6 +26018,15 @@ snapshots: fastestsmallesttextencoderdecoder: 1.0.22 typescript: 5.2.2 + '@solana/codecs-strings@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)': + dependencies: + '@solana/codecs-core': 5.5.1(typescript@5.8.2) + '@solana/codecs-numbers': 5.5.1(typescript@5.8.2) + '@solana/errors': 5.5.1(typescript@5.8.2) + optionalDependencies: + fastestsmallesttextencoderdecoder: 1.0.22 + typescript: 5.8.2 + '@solana/codecs@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2)': dependencies: '@solana/codecs-core': 2.0.0-rc.1(typescript@5.2.2) @@ -25152,6 +26038,17 @@ snapshots: transitivePeerDependencies: - fastestsmallesttextencoderdecoder + '@solana/codecs@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)': + dependencies: + '@solana/codecs-core': 2.0.0-rc.1(typescript@5.8.2) + '@solana/codecs-data-structures': 2.0.0-rc.1(typescript@5.8.2) + '@solana/codecs-numbers': 2.0.0-rc.1(typescript@5.8.2) + '@solana/codecs-strings': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/options': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + typescript: 5.8.2 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + '@solana/codecs@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2)': dependencies: '@solana/codecs-core': 2.3.0(typescript@5.2.2) @@ -25163,6 +26060,17 @@ snapshots: transitivePeerDependencies: - fastestsmallesttextencoderdecoder + '@solana/codecs@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)': + dependencies: + '@solana/codecs-core': 2.3.0(typescript@5.8.2) + '@solana/codecs-data-structures': 2.3.0(typescript@5.8.2) + '@solana/codecs-numbers': 2.3.0(typescript@5.8.2) + '@solana/codecs-strings': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/options': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + typescript: 5.8.2 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + '@solana/codecs@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2)': dependencies: '@solana/codecs-core': 5.5.1(typescript@5.2.2) @@ -25175,18 +26083,42 @@ snapshots: transitivePeerDependencies: - fastestsmallesttextencoderdecoder + '@solana/codecs@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)': + dependencies: + '@solana/codecs-core': 5.5.1(typescript@5.8.2) + '@solana/codecs-data-structures': 5.5.1(typescript@5.8.2) + '@solana/codecs-numbers': 5.5.1(typescript@5.8.2) + '@solana/codecs-strings': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/options': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + optionalDependencies: + typescript: 5.8.2 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + '@solana/errors@2.0.0-rc.1(typescript@5.2.2)': dependencies: chalk: 5.3.0 commander: 12.1.0 typescript: 5.2.2 + '@solana/errors@2.0.0-rc.1(typescript@5.8.2)': + dependencies: + chalk: 5.3.0 + commander: 12.1.0 + typescript: 5.8.2 + '@solana/errors@2.3.0(typescript@5.2.2)': dependencies: chalk: 5.6.2 commander: 14.0.3 typescript: 5.2.2 + '@solana/errors@2.3.0(typescript@5.8.2)': + dependencies: + chalk: 5.6.2 + commander: 14.0.3 + typescript: 5.8.2 + '@solana/errors@5.5.1(typescript@5.2.2)': dependencies: chalk: 5.6.2 @@ -25194,22 +26126,47 @@ snapshots: optionalDependencies: typescript: 5.2.2 + '@solana/errors@5.5.1(typescript@5.8.2)': + dependencies: + chalk: 5.6.2 + commander: 14.0.2 + optionalDependencies: + typescript: 5.8.2 + '@solana/fast-stable-stringify@2.3.0(typescript@5.2.2)': dependencies: typescript: 5.2.2 + '@solana/fast-stable-stringify@2.3.0(typescript@5.8.2)': + dependencies: + typescript: 5.8.2 + '@solana/fast-stable-stringify@5.5.1(typescript@5.2.2)': optionalDependencies: typescript: 5.2.2 + '@solana/fast-stable-stringify@5.5.1(typescript@5.8.2)': + optionalDependencies: + typescript: 5.8.2 + optional: true + '@solana/functional@2.3.0(typescript@5.2.2)': dependencies: typescript: 5.2.2 + '@solana/functional@2.3.0(typescript@5.8.2)': + dependencies: + typescript: 5.8.2 + '@solana/functional@5.5.1(typescript@5.2.2)': optionalDependencies: typescript: 5.2.2 + '@solana/functional@5.5.1(typescript@5.8.2)': + optionalDependencies: + typescript: 5.8.2 + optional: true + '@solana/instruction-plans@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2)': dependencies: '@solana/errors': 5.5.1(typescript@5.2.2) @@ -25223,12 +26180,32 @@ snapshots: transitivePeerDependencies: - fastestsmallesttextencoderdecoder + '@solana/instruction-plans@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)': + dependencies: + '@solana/errors': 5.5.1(typescript@5.8.2) + '@solana/instructions': 5.5.1(typescript@5.8.2) + '@solana/keys': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/promises': 5.5.1(typescript@5.8.2) + '@solana/transaction-messages': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/transactions': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + optionalDependencies: + typescript: 5.8.2 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + optional: true + '@solana/instructions@2.3.0(typescript@5.2.2)': dependencies: '@solana/codecs-core': 2.3.0(typescript@5.2.2) '@solana/errors': 2.3.0(typescript@5.2.2) typescript: 5.2.2 + '@solana/instructions@2.3.0(typescript@5.8.2)': + dependencies: + '@solana/codecs-core': 2.3.0(typescript@5.8.2) + '@solana/errors': 2.3.0(typescript@5.8.2) + typescript: 5.8.2 + '@solana/instructions@5.5.1(typescript@5.2.2)': dependencies: '@solana/codecs-core': 5.5.1(typescript@5.2.2) @@ -25236,6 +26213,14 @@ snapshots: optionalDependencies: typescript: 5.2.2 + '@solana/instructions@5.5.1(typescript@5.8.2)': + dependencies: + '@solana/codecs-core': 5.5.1(typescript@5.8.2) + '@solana/errors': 5.5.1(typescript@5.8.2) + optionalDependencies: + typescript: 5.8.2 + optional: true + '@solana/keys@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2)': dependencies: '@solana/assertions': 2.3.0(typescript@5.2.2) @@ -25247,6 +26232,17 @@ snapshots: transitivePeerDependencies: - fastestsmallesttextencoderdecoder + '@solana/keys@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)': + dependencies: + '@solana/assertions': 2.3.0(typescript@5.8.2) + '@solana/codecs-core': 2.3.0(typescript@5.8.2) + '@solana/codecs-strings': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/errors': 2.3.0(typescript@5.8.2) + '@solana/nominal-types': 2.3.0(typescript@5.8.2) + typescript: 5.8.2 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + '@solana/keys@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2)': dependencies: '@solana/assertions': 5.5.1(typescript@5.2.2) @@ -25259,6 +26255,19 @@ snapshots: transitivePeerDependencies: - fastestsmallesttextencoderdecoder + '@solana/keys@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)': + dependencies: + '@solana/assertions': 5.5.1(typescript@5.8.2) + '@solana/codecs-core': 5.5.1(typescript@5.8.2) + '@solana/codecs-strings': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/errors': 5.5.1(typescript@5.8.2) + '@solana/nominal-types': 5.5.1(typescript@5.8.2) + optionalDependencies: + typescript: 5.8.2 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + optional: true + '@solana/kit@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2)(ws@8.18.3(bufferutil@4.1.0)(utf-8-validate@5.0.10))': dependencies: '@solana/accounts': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2) @@ -25284,27 +26293,27 @@ snapshots: - fastestsmallesttextencoderdecoder - ws - '@solana/kit@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2)(ws@8.19.0(bufferutil@4.1.0)(utf-8-validate@6.0.6))': - dependencies: - '@solana/accounts': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2) - '@solana/addresses': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2) - '@solana/codecs': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2) - '@solana/errors': 2.3.0(typescript@5.2.2) - '@solana/functional': 2.3.0(typescript@5.2.2) - '@solana/instructions': 2.3.0(typescript@5.2.2) - '@solana/keys': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2) - '@solana/programs': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2) - '@solana/rpc': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2) - '@solana/rpc-parsed-types': 2.3.0(typescript@5.2.2) - '@solana/rpc-spec-types': 2.3.0(typescript@5.2.2) - '@solana/rpc-subscriptions': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2)(ws@8.19.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)) - '@solana/rpc-types': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2) - '@solana/signers': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2) - '@solana/sysvars': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2) - '@solana/transaction-confirmation': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2)(ws@8.19.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)) - '@solana/transaction-messages': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2) - '@solana/transactions': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2) - typescript: 5.2.2 + '@solana/kit@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.19.0(bufferutil@4.1.0)(utf-8-validate@6.0.6))': + dependencies: + '@solana/accounts': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/addresses': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/codecs': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/errors': 2.3.0(typescript@5.8.2) + '@solana/functional': 2.3.0(typescript@5.8.2) + '@solana/instructions': 2.3.0(typescript@5.8.2) + '@solana/keys': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/programs': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/rpc': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/rpc-parsed-types': 2.3.0(typescript@5.8.2) + '@solana/rpc-spec-types': 2.3.0(typescript@5.8.2) + '@solana/rpc-subscriptions': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.19.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)) + '@solana/rpc-types': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/signers': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/sysvars': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/transaction-confirmation': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.19.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)) + '@solana/transaction-messages': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/transactions': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + typescript: 5.8.2 transitivePeerDependencies: - fastestsmallesttextencoderdecoder - ws @@ -25372,14 +26381,54 @@ snapshots: - fastestsmallesttextencoderdecoder - utf-8-validate + '@solana/kit@5.5.1(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(utf-8-validate@5.0.10)': + dependencies: + '@solana/accounts': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/addresses': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/codecs': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/errors': 5.5.1(typescript@5.8.2) + '@solana/functional': 5.5.1(typescript@5.8.2) + '@solana/instruction-plans': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/instructions': 5.5.1(typescript@5.8.2) + '@solana/keys': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/offchain-messages': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/plugin-core': 5.5.1(typescript@5.8.2) + '@solana/programs': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/rpc': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/rpc-api': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/rpc-parsed-types': 5.5.1(typescript@5.8.2) + '@solana/rpc-spec-types': 5.5.1(typescript@5.8.2) + '@solana/rpc-subscriptions': 5.5.1(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(utf-8-validate@5.0.10) + '@solana/rpc-types': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/signers': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/sysvars': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/transaction-confirmation': 5.5.1(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(utf-8-validate@5.0.10) + '@solana/transaction-messages': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/transactions': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + optionalDependencies: + typescript: 5.8.2 + transitivePeerDependencies: + - bufferutil + - fastestsmallesttextencoderdecoder + - utf-8-validate + optional: true + '@solana/nominal-types@2.3.0(typescript@5.2.2)': dependencies: typescript: 5.2.2 + '@solana/nominal-types@2.3.0(typescript@5.8.2)': + dependencies: + typescript: 5.8.2 + '@solana/nominal-types@5.5.1(typescript@5.2.2)': optionalDependencies: typescript: 5.2.2 + '@solana/nominal-types@5.5.1(typescript@5.8.2)': + optionalDependencies: + typescript: 5.8.2 + '@solana/offchain-messages@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2)': dependencies: '@solana/addresses': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2) @@ -25395,6 +26444,22 @@ snapshots: transitivePeerDependencies: - fastestsmallesttextencoderdecoder + '@solana/offchain-messages@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)': + dependencies: + '@solana/addresses': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/codecs-core': 5.5.1(typescript@5.8.2) + '@solana/codecs-data-structures': 5.5.1(typescript@5.8.2) + '@solana/codecs-numbers': 5.5.1(typescript@5.8.2) + '@solana/codecs-strings': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/errors': 5.5.1(typescript@5.8.2) + '@solana/keys': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/nominal-types': 5.5.1(typescript@5.8.2) + optionalDependencies: + typescript: 5.8.2 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + optional: true + '@solana/options@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2)': dependencies: '@solana/codecs-core': 2.0.0-rc.1(typescript@5.2.2) @@ -25406,6 +26471,17 @@ snapshots: transitivePeerDependencies: - fastestsmallesttextencoderdecoder + '@solana/options@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)': + dependencies: + '@solana/codecs-core': 2.0.0-rc.1(typescript@5.8.2) + '@solana/codecs-data-structures': 2.0.0-rc.1(typescript@5.8.2) + '@solana/codecs-numbers': 2.0.0-rc.1(typescript@5.8.2) + '@solana/codecs-strings': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/errors': 2.0.0-rc.1(typescript@5.8.2) + typescript: 5.8.2 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + '@solana/options@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2)': dependencies: '@solana/codecs-core': 2.3.0(typescript@5.2.2) @@ -25417,6 +26493,17 @@ snapshots: transitivePeerDependencies: - fastestsmallesttextencoderdecoder + '@solana/options@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)': + dependencies: + '@solana/codecs-core': 2.3.0(typescript@5.8.2) + '@solana/codecs-data-structures': 2.3.0(typescript@5.8.2) + '@solana/codecs-numbers': 2.3.0(typescript@5.8.2) + '@solana/codecs-strings': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/errors': 2.3.0(typescript@5.8.2) + typescript: 5.8.2 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + '@solana/options@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2)': dependencies: '@solana/codecs-core': 5.5.1(typescript@5.2.2) @@ -25429,6 +26516,18 @@ snapshots: transitivePeerDependencies: - fastestsmallesttextencoderdecoder + '@solana/options@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)': + dependencies: + '@solana/codecs-core': 5.5.1(typescript@5.8.2) + '@solana/codecs-data-structures': 5.5.1(typescript@5.8.2) + '@solana/codecs-numbers': 5.5.1(typescript@5.8.2) + '@solana/codecs-strings': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/errors': 5.5.1(typescript@5.8.2) + optionalDependencies: + typescript: 5.8.2 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + '@solana/pay@0.2.6(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2)(utf-8-validate@6.0.6)': dependencies: '@solana/qr-code-styling': 1.6.0 @@ -25449,6 +26548,11 @@ snapshots: optionalDependencies: typescript: 5.2.2 + '@solana/plugin-core@5.5.1(typescript@5.8.2)': + optionalDependencies: + typescript: 5.8.2 + optional: true + '@solana/programs@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2)': dependencies: '@solana/addresses': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2) @@ -25457,6 +26561,14 @@ snapshots: transitivePeerDependencies: - fastestsmallesttextencoderdecoder + '@solana/programs@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)': + dependencies: + '@solana/addresses': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/errors': 2.3.0(typescript@5.8.2) + typescript: 5.8.2 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + '@solana/programs@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2)': dependencies: '@solana/addresses': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2) @@ -25466,14 +26578,33 @@ snapshots: transitivePeerDependencies: - fastestsmallesttextencoderdecoder + '@solana/programs@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)': + dependencies: + '@solana/addresses': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/errors': 5.5.1(typescript@5.8.2) + optionalDependencies: + typescript: 5.8.2 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + optional: true + '@solana/promises@2.3.0(typescript@5.2.2)': dependencies: typescript: 5.2.2 + '@solana/promises@2.3.0(typescript@5.8.2)': + dependencies: + typescript: 5.8.2 + '@solana/promises@5.5.1(typescript@5.2.2)': optionalDependencies: typescript: 5.2.2 + '@solana/promises@5.5.1(typescript@5.8.2)': + optionalDependencies: + typescript: 5.8.2 + optional: true + '@solana/qr-code-styling@1.6.0': dependencies: qrcode-generator: 1.5.2 @@ -25495,6 +26626,23 @@ snapshots: transitivePeerDependencies: - fastestsmallesttextencoderdecoder + '@solana/rpc-api@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)': + dependencies: + '@solana/addresses': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/codecs-core': 2.3.0(typescript@5.8.2) + '@solana/codecs-strings': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/errors': 2.3.0(typescript@5.8.2) + '@solana/keys': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/rpc-parsed-types': 2.3.0(typescript@5.8.2) + '@solana/rpc-spec': 2.3.0(typescript@5.8.2) + '@solana/rpc-transformers': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/rpc-types': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/transaction-messages': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/transactions': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + typescript: 5.8.2 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + '@solana/rpc-api@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2)': dependencies: '@solana/addresses': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2) @@ -25513,28 +26661,70 @@ snapshots: transitivePeerDependencies: - fastestsmallesttextencoderdecoder + '@solana/rpc-api@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)': + dependencies: + '@solana/addresses': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/codecs-core': 5.5.1(typescript@5.8.2) + '@solana/codecs-strings': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/errors': 5.5.1(typescript@5.8.2) + '@solana/keys': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/rpc-parsed-types': 5.5.1(typescript@5.8.2) + '@solana/rpc-spec': 5.5.1(typescript@5.8.2) + '@solana/rpc-transformers': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/rpc-types': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/transaction-messages': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/transactions': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + optionalDependencies: + typescript: 5.8.2 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + optional: true + '@solana/rpc-parsed-types@2.3.0(typescript@5.2.2)': dependencies: typescript: 5.2.2 + '@solana/rpc-parsed-types@2.3.0(typescript@5.8.2)': + dependencies: + typescript: 5.8.2 + '@solana/rpc-parsed-types@5.5.1(typescript@5.2.2)': optionalDependencies: typescript: 5.2.2 + '@solana/rpc-parsed-types@5.5.1(typescript@5.8.2)': + optionalDependencies: + typescript: 5.8.2 + optional: true + '@solana/rpc-spec-types@2.3.0(typescript@5.2.2)': dependencies: typescript: 5.2.2 + '@solana/rpc-spec-types@2.3.0(typescript@5.8.2)': + dependencies: + typescript: 5.8.2 + '@solana/rpc-spec-types@5.5.1(typescript@5.2.2)': optionalDependencies: typescript: 5.2.2 + '@solana/rpc-spec-types@5.5.1(typescript@5.8.2)': + optionalDependencies: + typescript: 5.8.2 + '@solana/rpc-spec@2.3.0(typescript@5.2.2)': dependencies: '@solana/errors': 2.3.0(typescript@5.2.2) '@solana/rpc-spec-types': 2.3.0(typescript@5.2.2) typescript: 5.2.2 + '@solana/rpc-spec@2.3.0(typescript@5.8.2)': + dependencies: + '@solana/errors': 2.3.0(typescript@5.8.2) + '@solana/rpc-spec-types': 2.3.0(typescript@5.8.2) + typescript: 5.8.2 + '@solana/rpc-spec@5.5.1(typescript@5.2.2)': dependencies: '@solana/errors': 5.5.1(typescript@5.2.2) @@ -25542,6 +26732,13 @@ snapshots: optionalDependencies: typescript: 5.2.2 + '@solana/rpc-spec@5.5.1(typescript@5.8.2)': + dependencies: + '@solana/errors': 5.5.1(typescript@5.8.2) + '@solana/rpc-spec-types': 5.5.1(typescript@5.8.2) + optionalDependencies: + typescript: 5.8.2 + '@solana/rpc-subscriptions-api@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2)': dependencies: '@solana/addresses': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2) @@ -25555,6 +26752,19 @@ snapshots: transitivePeerDependencies: - fastestsmallesttextencoderdecoder + '@solana/rpc-subscriptions-api@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)': + dependencies: + '@solana/addresses': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/keys': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/rpc-subscriptions-spec': 2.3.0(typescript@5.8.2) + '@solana/rpc-transformers': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/rpc-types': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/transaction-messages': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/transactions': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + typescript: 5.8.2 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + '@solana/rpc-subscriptions-api@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2)': dependencies: '@solana/addresses': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2) @@ -25569,6 +26779,21 @@ snapshots: transitivePeerDependencies: - fastestsmallesttextencoderdecoder + '@solana/rpc-subscriptions-api@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)': + dependencies: + '@solana/addresses': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/keys': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/rpc-subscriptions-spec': 5.5.1(typescript@5.8.2) + '@solana/rpc-transformers': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/rpc-types': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/transaction-messages': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/transactions': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + optionalDependencies: + typescript: 5.8.2 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + optional: true + '@solana/rpc-subscriptions-channel-websocket@2.3.0(typescript@5.2.2)(ws@8.18.3(bufferutil@4.1.0)(utf-8-validate@5.0.10))': dependencies: '@solana/errors': 2.3.0(typescript@5.2.2) @@ -25578,13 +26803,13 @@ snapshots: typescript: 5.2.2 ws: 8.18.3(bufferutil@4.1.0)(utf-8-validate@5.0.10) - '@solana/rpc-subscriptions-channel-websocket@2.3.0(typescript@5.2.2)(ws@8.19.0(bufferutil@4.1.0)(utf-8-validate@6.0.6))': + '@solana/rpc-subscriptions-channel-websocket@2.3.0(typescript@5.8.2)(ws@8.19.0(bufferutil@4.1.0)(utf-8-validate@6.0.6))': dependencies: - '@solana/errors': 2.3.0(typescript@5.2.2) - '@solana/functional': 2.3.0(typescript@5.2.2) - '@solana/rpc-subscriptions-spec': 2.3.0(typescript@5.2.2) - '@solana/subscribable': 2.3.0(typescript@5.2.2) - typescript: 5.2.2 + '@solana/errors': 2.3.0(typescript@5.8.2) + '@solana/functional': 2.3.0(typescript@5.8.2) + '@solana/rpc-subscriptions-spec': 2.3.0(typescript@5.8.2) + '@solana/subscribable': 2.3.0(typescript@5.8.2) + typescript: 5.8.2 ws: 8.19.0(bufferutil@4.1.0)(utf-8-validate@6.0.6) '@solana/rpc-subscriptions-channel-websocket@5.5.1(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)': @@ -25614,6 +26839,20 @@ snapshots: - bufferutil - utf-8-validate + '@solana/rpc-subscriptions-channel-websocket@5.5.1(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@5.0.10)': + dependencies: + '@solana/errors': 5.5.1(typescript@5.8.2) + '@solana/functional': 5.5.1(typescript@5.8.2) + '@solana/rpc-subscriptions-spec': 5.5.1(typescript@5.8.2) + '@solana/subscribable': 5.5.1(typescript@5.8.2) + ws: 8.19.0(bufferutil@4.1.0)(utf-8-validate@5.0.10) + optionalDependencies: + typescript: 5.8.2 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + optional: true + '@solana/rpc-subscriptions-spec@2.3.0(typescript@5.2.2)': dependencies: '@solana/errors': 2.3.0(typescript@5.2.2) @@ -25622,6 +26861,14 @@ snapshots: '@solana/subscribable': 2.3.0(typescript@5.2.2) typescript: 5.2.2 + '@solana/rpc-subscriptions-spec@2.3.0(typescript@5.8.2)': + dependencies: + '@solana/errors': 2.3.0(typescript@5.8.2) + '@solana/promises': 2.3.0(typescript@5.8.2) + '@solana/rpc-spec-types': 2.3.0(typescript@5.8.2) + '@solana/subscribable': 2.3.0(typescript@5.8.2) + typescript: 5.8.2 + '@solana/rpc-subscriptions-spec@5.5.1(typescript@5.2.2)': dependencies: '@solana/errors': 5.5.1(typescript@5.2.2) @@ -25631,6 +26878,16 @@ snapshots: optionalDependencies: typescript: 5.2.2 + '@solana/rpc-subscriptions-spec@5.5.1(typescript@5.8.2)': + dependencies: + '@solana/errors': 5.5.1(typescript@5.8.2) + '@solana/promises': 5.5.1(typescript@5.8.2) + '@solana/rpc-spec-types': 5.5.1(typescript@5.8.2) + '@solana/subscribable': 5.5.1(typescript@5.8.2) + optionalDependencies: + typescript: 5.8.2 + optional: true + '@solana/rpc-subscriptions@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2)(ws@8.18.3(bufferutil@4.1.0)(utf-8-validate@5.0.10))': dependencies: '@solana/errors': 2.3.0(typescript@5.2.2) @@ -25649,20 +26906,20 @@ snapshots: - fastestsmallesttextencoderdecoder - ws - '@solana/rpc-subscriptions@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2)(ws@8.19.0(bufferutil@4.1.0)(utf-8-validate@6.0.6))': - dependencies: - '@solana/errors': 2.3.0(typescript@5.2.2) - '@solana/fast-stable-stringify': 2.3.0(typescript@5.2.2) - '@solana/functional': 2.3.0(typescript@5.2.2) - '@solana/promises': 2.3.0(typescript@5.2.2) - '@solana/rpc-spec-types': 2.3.0(typescript@5.2.2) - '@solana/rpc-subscriptions-api': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2) - '@solana/rpc-subscriptions-channel-websocket': 2.3.0(typescript@5.2.2)(ws@8.19.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)) - '@solana/rpc-subscriptions-spec': 2.3.0(typescript@5.2.2) - '@solana/rpc-transformers': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2) - '@solana/rpc-types': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2) - '@solana/subscribable': 2.3.0(typescript@5.2.2) - typescript: 5.2.2 + '@solana/rpc-subscriptions@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.19.0(bufferutil@4.1.0)(utf-8-validate@6.0.6))': + dependencies: + '@solana/errors': 2.3.0(typescript@5.8.2) + '@solana/fast-stable-stringify': 2.3.0(typescript@5.8.2) + '@solana/functional': 2.3.0(typescript@5.8.2) + '@solana/promises': 2.3.0(typescript@5.8.2) + '@solana/rpc-spec-types': 2.3.0(typescript@5.8.2) + '@solana/rpc-subscriptions-api': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/rpc-subscriptions-channel-websocket': 2.3.0(typescript@5.8.2)(ws@8.19.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)) + '@solana/rpc-subscriptions-spec': 2.3.0(typescript@5.8.2) + '@solana/rpc-transformers': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/rpc-types': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/subscribable': 2.3.0(typescript@5.8.2) + typescript: 5.8.2 transitivePeerDependencies: - fastestsmallesttextencoderdecoder - ws @@ -25708,6 +26965,27 @@ snapshots: - fastestsmallesttextencoderdecoder - utf-8-validate + '@solana/rpc-subscriptions@5.5.1(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(utf-8-validate@5.0.10)': + dependencies: + '@solana/errors': 5.5.1(typescript@5.8.2) + '@solana/fast-stable-stringify': 5.5.1(typescript@5.8.2) + '@solana/functional': 5.5.1(typescript@5.8.2) + '@solana/promises': 5.5.1(typescript@5.8.2) + '@solana/rpc-spec-types': 5.5.1(typescript@5.8.2) + '@solana/rpc-subscriptions-api': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/rpc-subscriptions-channel-websocket': 5.5.1(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@5.0.10) + '@solana/rpc-subscriptions-spec': 5.5.1(typescript@5.8.2) + '@solana/rpc-transformers': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/rpc-types': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/subscribable': 5.5.1(typescript@5.8.2) + optionalDependencies: + typescript: 5.8.2 + transitivePeerDependencies: + - bufferutil + - fastestsmallesttextencoderdecoder + - utf-8-validate + optional: true + '@solana/rpc-transformers@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2)': dependencies: '@solana/errors': 2.3.0(typescript@5.2.2) @@ -25719,6 +26997,17 @@ snapshots: transitivePeerDependencies: - fastestsmallesttextencoderdecoder + '@solana/rpc-transformers@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)': + dependencies: + '@solana/errors': 2.3.0(typescript@5.8.2) + '@solana/functional': 2.3.0(typescript@5.8.2) + '@solana/nominal-types': 2.3.0(typescript@5.8.2) + '@solana/rpc-spec-types': 2.3.0(typescript@5.8.2) + '@solana/rpc-types': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + typescript: 5.8.2 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + '@solana/rpc-transformers@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2)': dependencies: '@solana/errors': 5.5.1(typescript@5.2.2) @@ -25731,6 +27020,19 @@ snapshots: transitivePeerDependencies: - fastestsmallesttextencoderdecoder + '@solana/rpc-transformers@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)': + dependencies: + '@solana/errors': 5.5.1(typescript@5.8.2) + '@solana/functional': 5.5.1(typescript@5.8.2) + '@solana/nominal-types': 5.5.1(typescript@5.8.2) + '@solana/rpc-spec-types': 5.5.1(typescript@5.8.2) + '@solana/rpc-types': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + optionalDependencies: + typescript: 5.8.2 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + optional: true + '@solana/rpc-transport-http@2.3.0(typescript@5.2.2)': dependencies: '@solana/errors': 2.3.0(typescript@5.2.2) @@ -25739,6 +27041,14 @@ snapshots: typescript: 5.2.2 undici-types: 7.22.0 + '@solana/rpc-transport-http@2.3.0(typescript@5.8.2)': + dependencies: + '@solana/errors': 2.3.0(typescript@5.8.2) + '@solana/rpc-spec': 2.3.0(typescript@5.8.2) + '@solana/rpc-spec-types': 2.3.0(typescript@5.8.2) + typescript: 5.8.2 + undici-types: 7.22.0 + '@solana/rpc-transport-http@5.5.1(typescript@5.2.2)': dependencies: '@solana/errors': 5.5.1(typescript@5.2.2) @@ -25748,6 +27058,16 @@ snapshots: optionalDependencies: typescript: 5.2.2 + '@solana/rpc-transport-http@5.5.1(typescript@5.8.2)': + dependencies: + '@solana/errors': 5.5.1(typescript@5.8.2) + '@solana/rpc-spec': 5.5.1(typescript@5.8.2) + '@solana/rpc-spec-types': 5.5.1(typescript@5.8.2) + undici-types: 7.22.0 + optionalDependencies: + typescript: 5.8.2 + optional: true + '@solana/rpc-types@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2)': dependencies: '@solana/addresses': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2) @@ -25760,6 +27080,18 @@ snapshots: transitivePeerDependencies: - fastestsmallesttextencoderdecoder + '@solana/rpc-types@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)': + dependencies: + '@solana/addresses': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/codecs-core': 2.3.0(typescript@5.8.2) + '@solana/codecs-numbers': 2.3.0(typescript@5.8.2) + '@solana/codecs-strings': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/errors': 2.3.0(typescript@5.8.2) + '@solana/nominal-types': 2.3.0(typescript@5.8.2) + typescript: 5.8.2 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + '@solana/rpc-types@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2)': dependencies: '@solana/addresses': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2) @@ -25773,6 +27105,19 @@ snapshots: transitivePeerDependencies: - fastestsmallesttextencoderdecoder + '@solana/rpc-types@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)': + dependencies: + '@solana/addresses': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/codecs-core': 5.5.1(typescript@5.8.2) + '@solana/codecs-numbers': 5.5.1(typescript@5.8.2) + '@solana/codecs-strings': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/errors': 5.5.1(typescript@5.8.2) + '@solana/nominal-types': 5.5.1(typescript@5.8.2) + optionalDependencies: + typescript: 5.8.2 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + '@solana/rpc@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2)': dependencies: '@solana/errors': 2.3.0(typescript@5.2.2) @@ -25788,6 +27133,21 @@ snapshots: transitivePeerDependencies: - fastestsmallesttextencoderdecoder + '@solana/rpc@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)': + dependencies: + '@solana/errors': 2.3.0(typescript@5.8.2) + '@solana/fast-stable-stringify': 2.3.0(typescript@5.8.2) + '@solana/functional': 2.3.0(typescript@5.8.2) + '@solana/rpc-api': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/rpc-spec': 2.3.0(typescript@5.8.2) + '@solana/rpc-spec-types': 2.3.0(typescript@5.8.2) + '@solana/rpc-transformers': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/rpc-transport-http': 2.3.0(typescript@5.8.2) + '@solana/rpc-types': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + typescript: 5.8.2 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + '@solana/rpc@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2)': dependencies: '@solana/errors': 5.5.1(typescript@5.2.2) @@ -25804,6 +27164,23 @@ snapshots: transitivePeerDependencies: - fastestsmallesttextencoderdecoder + '@solana/rpc@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)': + dependencies: + '@solana/errors': 5.5.1(typescript@5.8.2) + '@solana/fast-stable-stringify': 5.5.1(typescript@5.8.2) + '@solana/functional': 5.5.1(typescript@5.8.2) + '@solana/rpc-api': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/rpc-spec': 5.5.1(typescript@5.8.2) + '@solana/rpc-spec-types': 5.5.1(typescript@5.8.2) + '@solana/rpc-transformers': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/rpc-transport-http': 5.5.1(typescript@5.8.2) + '@solana/rpc-types': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + optionalDependencies: + typescript: 5.8.2 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + optional: true + '@solana/signers@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2)': dependencies: '@solana/addresses': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2) @@ -25818,6 +27195,20 @@ snapshots: transitivePeerDependencies: - fastestsmallesttextencoderdecoder + '@solana/signers@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)': + dependencies: + '@solana/addresses': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/codecs-core': 2.3.0(typescript@5.8.2) + '@solana/errors': 2.3.0(typescript@5.8.2) + '@solana/instructions': 2.3.0(typescript@5.8.2) + '@solana/keys': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/nominal-types': 2.3.0(typescript@5.8.2) + '@solana/transaction-messages': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/transactions': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + typescript: 5.8.2 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + '@solana/signers@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2)': dependencies: '@solana/addresses': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2) @@ -25834,6 +27225,23 @@ snapshots: transitivePeerDependencies: - fastestsmallesttextencoderdecoder + '@solana/signers@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)': + dependencies: + '@solana/addresses': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/codecs-core': 5.5.1(typescript@5.8.2) + '@solana/errors': 5.5.1(typescript@5.8.2) + '@solana/instructions': 5.5.1(typescript@5.8.2) + '@solana/keys': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/nominal-types': 5.5.1(typescript@5.8.2) + '@solana/offchain-messages': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/transaction-messages': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/transactions': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + optionalDependencies: + typescript: 5.8.2 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + optional: true + '@solana/spl-account-compression@0.1.10(@solana/web3.js@1.98.0(bufferutil@4.1.0)(utf-8-validate@6.0.6))(bufferutil@4.1.0)(utf-8-validate@6.0.6)': dependencies: '@metaplex-foundation/beet': 0.7.1 @@ -25849,9 +27257,9 @@ snapshots: - supports-color - utf-8-validate - '@solana/spl-token-group@0.0.7(@solana/web3.js@1.98.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2)': + '@solana/spl-token-group@0.0.7(@solana/web3.js@1.98.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)': dependencies: - '@solana/codecs': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2) + '@solana/codecs': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) '@solana/web3.js': 1.98.0(bufferutil@4.1.0)(utf-8-validate@5.0.10) transitivePeerDependencies: - fastestsmallesttextencoderdecoder @@ -25873,9 +27281,9 @@ snapshots: - fastestsmallesttextencoderdecoder - typescript - '@solana/spl-token-metadata@0.1.6(@solana/web3.js@1.98.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2)': + '@solana/spl-token-metadata@0.1.6(@solana/web3.js@1.98.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)': dependencies: - '@solana/codecs': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2) + '@solana/codecs': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) '@solana/web3.js': 1.98.0(bufferutil@4.1.0)(utf-8-validate@5.0.10) transitivePeerDependencies: - fastestsmallesttextencoderdecoder @@ -25932,12 +27340,12 @@ snapshots: - typescript - utf-8-validate - '@solana/spl-token@0.4.14(@solana/web3.js@1.98.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2)(utf-8-validate@5.0.10)': + '@solana/spl-token@0.4.14(@solana/web3.js@1.98.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(utf-8-validate@5.0.10)': dependencies: '@solana/buffer-layout': 4.0.1 '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.1.0)(utf-8-validate@5.0.10) - '@solana/spl-token-group': 0.0.7(@solana/web3.js@1.98.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2) - '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.98.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2) + '@solana/spl-token-group': 0.0.7(@solana/web3.js@1.98.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.98.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) '@solana/web3.js': 1.98.0(bufferutil@4.1.0)(utf-8-validate@5.0.10) buffer: 6.0.3 transitivePeerDependencies: @@ -25982,12 +27390,24 @@ snapshots: '@solana/errors': 2.3.0(typescript@5.2.2) typescript: 5.2.2 + '@solana/subscribable@2.3.0(typescript@5.8.2)': + dependencies: + '@solana/errors': 2.3.0(typescript@5.8.2) + typescript: 5.8.2 + '@solana/subscribable@5.5.1(typescript@5.2.2)': dependencies: '@solana/errors': 5.5.1(typescript@5.2.2) optionalDependencies: typescript: 5.2.2 + '@solana/subscribable@5.5.1(typescript@5.8.2)': + dependencies: + '@solana/errors': 5.5.1(typescript@5.8.2) + optionalDependencies: + typescript: 5.8.2 + optional: true + '@solana/sysvars@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2)': dependencies: '@solana/accounts': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2) @@ -25998,6 +27418,16 @@ snapshots: transitivePeerDependencies: - fastestsmallesttextencoderdecoder + '@solana/sysvars@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)': + dependencies: + '@solana/accounts': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/codecs': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/errors': 2.3.0(typescript@5.8.2) + '@solana/rpc-types': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + typescript: 5.8.2 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + '@solana/sysvars@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2)': dependencies: '@solana/accounts': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2) @@ -26009,6 +27439,17 @@ snapshots: transitivePeerDependencies: - fastestsmallesttextencoderdecoder + '@solana/sysvars@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)': + dependencies: + '@solana/accounts': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/codecs': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/errors': 5.5.1(typescript@5.8.2) + '@solana/rpc-types': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + optionalDependencies: + typescript: 5.8.2 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + '@solana/transaction-confirmation@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2)(ws@8.18.3(bufferutil@4.1.0)(utf-8-validate@5.0.10))': dependencies: '@solana/addresses': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2) @@ -26026,19 +27467,19 @@ snapshots: - fastestsmallesttextencoderdecoder - ws - '@solana/transaction-confirmation@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2)(ws@8.19.0(bufferutil@4.1.0)(utf-8-validate@6.0.6))': + '@solana/transaction-confirmation@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.19.0(bufferutil@4.1.0)(utf-8-validate@6.0.6))': dependencies: - '@solana/addresses': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2) - '@solana/codecs-strings': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2) - '@solana/errors': 2.3.0(typescript@5.2.2) - '@solana/keys': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2) - '@solana/promises': 2.3.0(typescript@5.2.2) - '@solana/rpc': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2) - '@solana/rpc-subscriptions': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2)(ws@8.19.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)) - '@solana/rpc-types': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2) - '@solana/transaction-messages': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2) - '@solana/transactions': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2) - typescript: 5.2.2 + '@solana/addresses': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/codecs-strings': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/errors': 2.3.0(typescript@5.8.2) + '@solana/keys': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/promises': 2.3.0(typescript@5.8.2) + '@solana/rpc': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/rpc-subscriptions': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.19.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)) + '@solana/rpc-types': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/transaction-messages': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/transactions': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + typescript: 5.8.2 transitivePeerDependencies: - fastestsmallesttextencoderdecoder - ws @@ -26082,6 +27523,26 @@ snapshots: - fastestsmallesttextencoderdecoder - utf-8-validate + '@solana/transaction-confirmation@5.5.1(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(utf-8-validate@5.0.10)': + dependencies: + '@solana/addresses': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/codecs-strings': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/errors': 5.5.1(typescript@5.8.2) + '@solana/keys': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/promises': 5.5.1(typescript@5.8.2) + '@solana/rpc': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/rpc-subscriptions': 5.5.1(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(utf-8-validate@5.0.10) + '@solana/rpc-types': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/transaction-messages': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/transactions': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + optionalDependencies: + typescript: 5.8.2 + transitivePeerDependencies: + - bufferutil + - fastestsmallesttextencoderdecoder + - utf-8-validate + optional: true + '@solana/transaction-messages@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2)': dependencies: '@solana/addresses': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2) @@ -26097,6 +27558,21 @@ snapshots: transitivePeerDependencies: - fastestsmallesttextencoderdecoder + '@solana/transaction-messages@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)': + dependencies: + '@solana/addresses': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/codecs-core': 2.3.0(typescript@5.8.2) + '@solana/codecs-data-structures': 2.3.0(typescript@5.8.2) + '@solana/codecs-numbers': 2.3.0(typescript@5.8.2) + '@solana/errors': 2.3.0(typescript@5.8.2) + '@solana/functional': 2.3.0(typescript@5.8.2) + '@solana/instructions': 2.3.0(typescript@5.8.2) + '@solana/nominal-types': 2.3.0(typescript@5.8.2) + '@solana/rpc-types': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + typescript: 5.8.2 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + '@solana/transaction-messages@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2)': dependencies: '@solana/addresses': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2) @@ -26113,6 +27589,23 @@ snapshots: transitivePeerDependencies: - fastestsmallesttextencoderdecoder + '@solana/transaction-messages@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)': + dependencies: + '@solana/addresses': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/codecs-core': 5.5.1(typescript@5.8.2) + '@solana/codecs-data-structures': 5.5.1(typescript@5.8.2) + '@solana/codecs-numbers': 5.5.1(typescript@5.8.2) + '@solana/errors': 5.5.1(typescript@5.8.2) + '@solana/functional': 5.5.1(typescript@5.8.2) + '@solana/instructions': 5.5.1(typescript@5.8.2) + '@solana/nominal-types': 5.5.1(typescript@5.8.2) + '@solana/rpc-types': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + optionalDependencies: + typescript: 5.8.2 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + optional: true + '@solana/transactions@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2)': dependencies: '@solana/addresses': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2) @@ -26131,6 +27624,24 @@ snapshots: transitivePeerDependencies: - fastestsmallesttextencoderdecoder + '@solana/transactions@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)': + dependencies: + '@solana/addresses': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/codecs-core': 2.3.0(typescript@5.8.2) + '@solana/codecs-data-structures': 2.3.0(typescript@5.8.2) + '@solana/codecs-numbers': 2.3.0(typescript@5.8.2) + '@solana/codecs-strings': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/errors': 2.3.0(typescript@5.8.2) + '@solana/functional': 2.3.0(typescript@5.8.2) + '@solana/instructions': 2.3.0(typescript@5.8.2) + '@solana/keys': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/nominal-types': 2.3.0(typescript@5.8.2) + '@solana/rpc-types': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/transaction-messages': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + typescript: 5.8.2 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + '@solana/transactions@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2)': dependencies: '@solana/addresses': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2) @@ -26150,6 +27661,26 @@ snapshots: transitivePeerDependencies: - fastestsmallesttextencoderdecoder + '@solana/transactions@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)': + dependencies: + '@solana/addresses': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/codecs-core': 5.5.1(typescript@5.8.2) + '@solana/codecs-data-structures': 5.5.1(typescript@5.8.2) + '@solana/codecs-numbers': 5.5.1(typescript@5.8.2) + '@solana/codecs-strings': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/errors': 5.5.1(typescript@5.8.2) + '@solana/functional': 5.5.1(typescript@5.8.2) + '@solana/instructions': 5.5.1(typescript@5.8.2) + '@solana/keys': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/nominal-types': 5.5.1(typescript@5.8.2) + '@solana/rpc-types': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + '@solana/transaction-messages': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) + optionalDependencies: + typescript: 5.8.2 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + optional: true + '@solana/wallet-adapter-alpha@0.1.14(@solana/web3.js@1.98.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))': dependencies: '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.0(bufferutil@4.1.0)(utf-8-validate@5.0.10)) @@ -26638,6 +28169,30 @@ snapshots: - typescript - utf-8-validate + '@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@5.0.10)': + dependencies: + '@babel/runtime': 7.28.6 + '@noble/curves': 1.9.7 + '@noble/hashes': 1.8.0 + '@solana/buffer-layout': 4.0.1 + '@solana/codecs-numbers': 2.3.0(typescript@5.8.2) + agentkeepalive: 4.6.0 + bn.js: 5.2.3 + borsh: 0.7.0 + bs58: 4.0.1 + buffer: 6.0.3 + fast-stable-stringify: 1.0.0 + jayson: 4.3.0(bufferutil@4.1.0)(utf-8-validate@5.0.10) + node-fetch: 2.7.0 + rpc-websockets: 9.3.5 + superstruct: 2.0.2 + transitivePeerDependencies: + - bufferutil + - encoding + - typescript + - utf-8-validate + optional: true + '@solflare-wallet/metamask-sdk@1.0.3(@solana/web3.js@1.98.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))': dependencies: '@solana/wallet-standard-features': 1.3.0 @@ -26670,6 +28225,16 @@ snapshots: - typescript - zod + '@starknet-io/get-starknet-wallet-standard@5.0.0(typescript@5.8.2)(zod@3.25.76)': + dependencies: + '@starknet-io/types-js': 0.7.10 + '@wallet-standard/base': 1.1.0 + '@wallet-standard/features': 1.1.0 + ox: 0.4.4(typescript@5.8.2)(zod@3.25.76) + transitivePeerDependencies: + - typescript + - zod + '@starknet-io/types-js@0.10.0': {} '@starknet-io/types-js@0.7.10': {} @@ -27021,14 +28586,14 @@ snapshots: - react-native - utf-8-validate - '@trezor/blockchain-link@2.6.1(@solana/sysvars@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2))(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(tslib@2.8.1)(typescript@5.2.2)(utf-8-validate@6.0.6)(ws@8.19.0(bufferutil@4.1.0)(utf-8-validate@6.0.6))': + '@trezor/blockchain-link@2.6.1(@solana/sysvars@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2))(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(tslib@2.8.1)(typescript@5.8.2)(utf-8-validate@6.0.6)(ws@8.19.0(bufferutil@4.1.0)(utf-8-validate@6.0.6))': dependencies: - '@solana-program/compute-budget': 0.8.0(@solana/kit@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2)(ws@8.19.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.2.2)(ws@8.19.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.2.2)(ws@8.19.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.2.2)(ws@8.19.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)))(@solana/sysvars@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2)) - '@solana/kit': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2)(ws@8.19.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)) - '@solana/rpc-types': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2) + '@solana-program/compute-budget': 0.8.0(@solana/kit@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.19.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.8.2)(ws@8.19.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.8.2)(ws@8.19.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.8.2)(ws@8.19.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)))(@solana/sysvars@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)) + '@solana/kit': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.19.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)) + '@solana/rpc-types': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2) '@stellar/stellar-sdk': 14.2.0 '@trezor/blockchain-link-types': 1.5.0(tslib@2.8.1) '@trezor/blockchain-link-utils': 1.5.1(bufferutil@4.1.0)(tslib@2.8.1)(utf-8-validate@6.0.6) @@ -27109,9 +28674,9 @@ snapshots: - expo-localization - react-native - '@trezor/connect-web@9.7.2(@solana/sysvars@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2))(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(tslib@2.8.1)(typescript@5.2.2)(utf-8-validate@6.0.6)(ws@8.19.0(bufferutil@4.1.0)(utf-8-validate@6.0.6))': + '@trezor/connect-web@9.7.2(@solana/sysvars@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2))(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(tslib@2.8.1)(typescript@5.8.2)(utf-8-validate@6.0.6)(ws@8.19.0(bufferutil@4.1.0)(utf-8-validate@6.0.6))': dependencies: - '@trezor/connect': 9.7.2(@solana/sysvars@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2))(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(tslib@2.8.1)(typescript@5.2.2)(utf-8-validate@6.0.6)(ws@8.19.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)) + '@trezor/connect': 9.7.2(@solana/sysvars@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2))(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(tslib@2.8.1)(typescript@5.8.2)(utf-8-validate@6.0.6)(ws@8.19.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)) '@trezor/connect-common': 0.5.1(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) @@ -27151,7 +28716,7 @@ snapshots: - utf-8-validate - ws - '@trezor/connect@9.7.2(@solana/sysvars@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2))(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(tslib@2.8.1)(typescript@5.2.2)(utf-8-validate@6.0.6)(ws@8.19.0(bufferutil@4.1.0)(utf-8-validate@6.0.6))': + '@trezor/connect@9.7.2(@solana/sysvars@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2))(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(tslib@2.8.1)(typescript@5.8.2)(utf-8-validate@6.0.6)(ws@8.19.0(bufferutil@4.1.0)(utf-8-validate@6.0.6))': dependencies: '@ethereumjs/common': 10.1.1 '@ethereumjs/tx': 10.1.1 @@ -27159,12 +28724,12 @@ 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.2.2)(ws@8.19.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.2.2)(ws@8.19.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.2.2)(ws@8.19.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.2.2)(ws@8.19.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)))(@solana/sysvars@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2)) - '@solana/kit': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2)(ws@8.19.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)) - '@trezor/blockchain-link': 2.6.1(@solana/sysvars@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.2.2))(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(tslib@2.8.1)(typescript@5.2.2)(utf-8-validate@6.0.6)(ws@8.19.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.8.2)(ws@8.19.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.8.2)(ws@8.19.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.8.2)(ws@8.19.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.8.2)(ws@8.19.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)))(@solana/sysvars@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)) + '@solana/kit': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.19.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)) + '@trezor/blockchain-link': 2.6.1(@solana/sysvars@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2))(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(tslib@2.8.1)(typescript@5.8.2)(utf-8-validate@6.0.6)(ws@8.19.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)) '@trezor/blockchain-link-types': 1.5.1(tslib@2.8.1) '@trezor/blockchain-link-utils': 1.5.2(bufferutil@4.1.0)(tslib@2.8.1)(utf-8-validate@6.0.6) '@trezor/connect-analytics': 1.4.0(tslib@2.8.1) @@ -27394,6 +28959,8 @@ snapshots: tslib: 2.8.1 optional: true + '@types/argparse@1.0.38': {} + '@types/aria-query@5.0.4': {} '@types/babel__core@7.20.5': @@ -27718,6 +29285,7 @@ snapshots: '@types/node@25.3.5': dependencies: undici-types: 7.18.2 + optional: true '@types/normalize-package-data@2.4.4': {} @@ -27909,6 +29477,22 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/eslint-plugin@8.56.1(@typescript-eslint/parser@8.56.1(eslint@8.57.1)(typescript@5.8.2))(eslint@8.57.1)(typescript@5.8.2)': + dependencies: + '@eslint-community/regexpp': 4.12.2 + '@typescript-eslint/parser': 8.56.1(eslint@8.57.1)(typescript@5.8.2) + '@typescript-eslint/scope-manager': 8.56.1 + '@typescript-eslint/type-utils': 8.56.1(eslint@8.57.1)(typescript@5.8.2) + '@typescript-eslint/utils': 8.56.1(eslint@8.57.1)(typescript@5.8.2) + '@typescript-eslint/visitor-keys': 8.56.1 + eslint: 8.57.1 + ignore: 7.0.5 + natural-compare: 1.4.0 + ts-api-utils: 2.4.0(typescript@5.8.2) + typescript: 5.8.2 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/experimental-utils@5.62.0(eslint@8.57.1)(typescript@5.2.2)': dependencies: '@typescript-eslint/utils': 5.62.0(eslint@8.57.1)(typescript@5.2.2) @@ -27917,27 +29501,56 @@ snapshots: - supports-color - typescript + '@typescript-eslint/experimental-utils@5.62.0(eslint@8.57.1)(typescript@5.8.2)': + dependencies: + '@typescript-eslint/utils': 5.62.0(eslint@8.57.1)(typescript@5.8.2) + eslint: 8.57.1 + transitivePeerDependencies: + - supports-color + - typescript + '@typescript-eslint/parser@8.56.1(eslint@8.57.1)(typescript@5.2.2)': dependencies: '@typescript-eslint/scope-manager': 8.56.1 '@typescript-eslint/types': 8.56.1 '@typescript-eslint/typescript-estree': 8.56.1(typescript@5.2.2) '@typescript-eslint/visitor-keys': 8.56.1 - debug: 4.4.3 + debug: 4.4.3(supports-color@8.1.1) eslint: 8.57.1 typescript: 5.2.2 transitivePeerDependencies: - supports-color + '@typescript-eslint/parser@8.56.1(eslint@8.57.1)(typescript@5.8.2)': + dependencies: + '@typescript-eslint/scope-manager': 8.56.1 + '@typescript-eslint/types': 8.56.1 + '@typescript-eslint/typescript-estree': 8.56.1(typescript@5.8.2) + '@typescript-eslint/visitor-keys': 8.56.1 + debug: 4.4.3(supports-color@8.1.1) + eslint: 8.57.1 + typescript: 5.8.2 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/project-service@8.56.1(typescript@5.2.2)': dependencies: '@typescript-eslint/tsconfig-utils': 8.56.1(typescript@5.2.2) '@typescript-eslint/types': 8.56.1 - debug: 4.4.3 + debug: 4.4.3(supports-color@8.1.1) typescript: 5.2.2 transitivePeerDependencies: - supports-color + '@typescript-eslint/project-service@8.56.1(typescript@5.8.2)': + dependencies: + '@typescript-eslint/tsconfig-utils': 8.56.1(typescript@5.8.2) + '@typescript-eslint/types': 8.56.1 + debug: 4.4.3(supports-color@8.1.1) + typescript: 5.8.2 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/scope-manager@5.62.0': dependencies: '@typescript-eslint/types': 5.62.0 @@ -27952,18 +29565,34 @@ snapshots: dependencies: typescript: 5.2.2 + '@typescript-eslint/tsconfig-utils@8.56.1(typescript@5.8.2)': + dependencies: + typescript: 5.8.2 + '@typescript-eslint/type-utils@8.56.1(eslint@8.57.1)(typescript@5.2.2)': dependencies: '@typescript-eslint/types': 8.56.1 '@typescript-eslint/typescript-estree': 8.56.1(typescript@5.2.2) '@typescript-eslint/utils': 8.56.1(eslint@8.57.1)(typescript@5.2.2) - debug: 4.4.3 + debug: 4.4.3(supports-color@8.1.1) eslint: 8.57.1 ts-api-utils: 2.4.0(typescript@5.2.2) typescript: 5.2.2 transitivePeerDependencies: - supports-color + '@typescript-eslint/type-utils@8.56.1(eslint@8.57.1)(typescript@5.8.2)': + dependencies: + '@typescript-eslint/types': 8.56.1 + '@typescript-eslint/typescript-estree': 8.56.1(typescript@5.8.2) + '@typescript-eslint/utils': 8.56.1(eslint@8.57.1)(typescript@5.8.2) + debug: 4.4.3(supports-color@8.1.1) + eslint: 8.57.1 + ts-api-utils: 2.4.0(typescript@5.8.2) + typescript: 5.8.2 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/types@5.62.0': {} '@typescript-eslint/types@8.56.1': {} @@ -27972,7 +29601,7 @@ snapshots: dependencies: '@typescript-eslint/types': 5.62.0 '@typescript-eslint/visitor-keys': 5.62.0 - debug: 4.4.3 + debug: 4.4.3(supports-color@8.1.1) globby: 11.1.0 is-glob: 4.0.3 semver: 7.7.4 @@ -27982,13 +29611,27 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/typescript-estree@5.62.0(typescript@5.8.2)': + dependencies: + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/visitor-keys': 5.62.0 + debug: 4.4.3(supports-color@8.1.1) + globby: 11.1.0 + is-glob: 4.0.3 + semver: 7.7.4 + tsutils: 3.21.0(typescript@5.8.2) + optionalDependencies: + typescript: 5.8.2 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/typescript-estree@8.56.1(typescript@5.2.2)': dependencies: '@typescript-eslint/project-service': 8.56.1(typescript@5.2.2) '@typescript-eslint/tsconfig-utils': 8.56.1(typescript@5.2.2) '@typescript-eslint/types': 8.56.1 '@typescript-eslint/visitor-keys': 8.56.1 - debug: 4.4.3 + debug: 4.4.3(supports-color@8.1.1) minimatch: 10.2.4 semver: 7.7.4 tinyglobby: 0.2.15 @@ -27997,6 +29640,21 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/typescript-estree@8.56.1(typescript@5.8.2)': + dependencies: + '@typescript-eslint/project-service': 8.56.1(typescript@5.8.2) + '@typescript-eslint/tsconfig-utils': 8.56.1(typescript@5.8.2) + '@typescript-eslint/types': 8.56.1 + '@typescript-eslint/visitor-keys': 8.56.1 + debug: 4.4.3(supports-color@8.1.1) + minimatch: 10.2.4 + semver: 7.7.4 + tinyglobby: 0.2.15 + ts-api-utils: 2.4.0(typescript@5.8.2) + typescript: 5.8.2 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/utils@5.62.0(eslint@8.57.1)(typescript@5.2.2)': dependencies: '@eslint-community/eslint-utils': 4.9.1(eslint@8.57.1) @@ -28012,6 +29670,21 @@ snapshots: - supports-color - typescript + '@typescript-eslint/utils@5.62.0(eslint@8.57.1)(typescript@5.8.2)': + dependencies: + '@eslint-community/eslint-utils': 4.9.1(eslint@8.57.1) + '@types/json-schema': 7.0.15 + '@types/semver': 7.7.1 + '@typescript-eslint/scope-manager': 5.62.0 + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.8.2) + eslint: 8.57.1 + eslint-scope: 5.1.1 + semver: 7.7.4 + transitivePeerDependencies: + - supports-color + - typescript + '@typescript-eslint/utils@8.56.1(eslint@8.57.1)(typescript@5.2.2)': dependencies: '@eslint-community/eslint-utils': 4.9.1(eslint@8.57.1) @@ -28023,6 +29696,17 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/utils@8.56.1(eslint@8.57.1)(typescript@5.8.2)': + dependencies: + '@eslint-community/eslint-utils': 4.9.1(eslint@8.57.1) + '@typescript-eslint/scope-manager': 8.56.1 + '@typescript-eslint/types': 8.56.1 + '@typescript-eslint/typescript-estree': 8.56.1(typescript@5.8.2) + eslint: 8.57.1 + typescript: 5.8.2 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/visitor-keys@5.62.0': dependencies: '@typescript-eslint/types': 5.62.0 @@ -28076,14 +29760,14 @@ snapshots: tiny-warning: 1.0.3 toformat: 2.0.0 - '@uniswap/swap-router-contracts@1.3.1(hardhat@2.28.6(bufferutil@4.1.0)(ts-node@10.9.2(@types/node@25.3.5)(typescript@5.2.2))(typescript@5.2.2)(utf-8-validate@5.0.10))': + '@uniswap/swap-router-contracts@1.3.1(hardhat@2.28.6(bufferutil@4.1.0)(ts-node@10.9.2(@types/node@25.3.5)(typescript@5.8.2))(typescript@5.8.2)(utf-8-validate@5.0.10))': dependencies: '@openzeppelin/contracts': 3.4.2-solc-0.7 '@uniswap/v2-core': 1.0.1 '@uniswap/v3-core': 1.0.1 '@uniswap/v3-periphery': 1.4.4 dotenv: 14.3.2 - hardhat-watcher: 2.5.0(hardhat@2.28.6(bufferutil@4.1.0)(ts-node@10.9.2(@types/node@25.3.5)(typescript@5.2.2))(typescript@5.2.2)(utf-8-validate@5.0.10)) + hardhat-watcher: 2.5.0(hardhat@2.28.6(bufferutil@4.1.0)(ts-node@10.9.2(@types/node@25.3.5)(typescript@5.8.2))(typescript@5.8.2)(utf-8-validate@5.0.10)) transitivePeerDependencies: - hardhat @@ -28101,12 +29785,12 @@ snapshots: '@uniswap/v3-core': 1.0.1 base64-sol: 1.0.1 - '@uniswap/v3-sdk@3.28.0(hardhat@2.28.6(bufferutil@4.1.0)(ts-node@10.9.2(@types/node@25.3.5)(typescript@5.2.2))(typescript@5.2.2)(utf-8-validate@5.0.10))': + '@uniswap/v3-sdk@3.28.0(hardhat@2.28.6(bufferutil@4.1.0)(ts-node@10.9.2(@types/node@25.3.5)(typescript@5.8.2))(typescript@5.8.2)(utf-8-validate@5.0.10))': dependencies: '@ethersproject/abi': 5.8.0 '@ethersproject/solidity': 5.8.0 '@uniswap/sdk-core': 7.11.0 - '@uniswap/swap-router-contracts': 1.3.1(hardhat@2.28.6(bufferutil@4.1.0)(ts-node@10.9.2(@types/node@25.3.5)(typescript@5.2.2))(typescript@5.2.2)(utf-8-validate@5.0.10)) + '@uniswap/swap-router-contracts': 1.3.1(hardhat@2.28.6(bufferutil@4.1.0)(ts-node@10.9.2(@types/node@25.3.5)(typescript@5.8.2))(typescript@5.8.2)(utf-8-validate@5.0.10)) '@uniswap/v3-periphery': 1.4.4 '@uniswap/v3-staker': 1.0.0 tiny-invariant: 1.3.3 @@ -28428,23 +30112,23 @@ snapshots: chai: 6.2.2 tinyrainbow: 3.0.3 - '@vitest/mocker@3.0.9(msw@0.27.2)(vite@6.4.1(@types/node@22.19.13)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2))': + '@vitest/mocker@3.0.9(msw@0.27.2)(vite@5.4.21(@types/node@25.3.5)(terser@5.46.0))': dependencies: '@vitest/spy': 3.0.9 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: msw: 0.27.2 - vite: 6.4.1(@types/node@22.19.13)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2) + vite: 5.4.21(@types/node@25.3.5)(terser@5.46.0) - '@vitest/mocker@3.0.9(msw@0.36.8)(vite@6.4.1(@types/node@22.19.13)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2))': + '@vitest/mocker@3.0.9(msw@0.36.8)(vite@5.4.21(@types/node@22.19.13)(terser@5.46.0))': dependencies: '@vitest/spy': 3.0.9 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: msw: 0.36.8 - vite: 6.4.1(@types/node@22.19.13)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2) + vite: 5.4.21(@types/node@22.19.13)(terser@5.46.0) '@vitest/mocker@4.0.18(msw@0.36.8)(vite@6.4.1(@types/node@25.3.5)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2))': dependencies: @@ -28506,6 +30190,51 @@ snapshots: '@vitest/pretty-format': 4.0.18 tinyrainbow: 3.0.3 + '@volar/language-core@2.4.28': + dependencies: + '@volar/source-map': 2.4.28 + + '@volar/source-map@2.4.28': {} + + '@volar/typescript@2.4.28': + dependencies: + '@volar/language-core': 2.4.28 + path-browserify: 1.0.1 + vscode-uri: 3.1.0 + + '@vue/compiler-core@3.5.30': + dependencies: + '@babel/parser': 7.29.0 + '@vue/shared': 3.5.30 + entities: 7.0.1 + estree-walker: 2.0.2 + source-map-js: 1.2.1 + + '@vue/compiler-dom@3.5.30': + dependencies: + '@vue/compiler-core': 3.5.30 + '@vue/shared': 3.5.30 + + '@vue/compiler-vue2@2.7.16': + dependencies: + de-indent: 1.0.2 + he: 1.2.0 + + '@vue/language-core@2.2.0(typescript@5.2.2)': + dependencies: + '@volar/language-core': 2.4.28 + '@vue/compiler-dom': 3.5.30 + '@vue/compiler-vue2': 2.7.16 + '@vue/shared': 3.5.30 + alien-signals: 0.4.14 + minimatch: 9.0.9 + muggle-string: 0.4.1 + path-browserify: 1.0.1 + optionalDependencies: + typescript: 5.2.2 + + '@vue/shared@3.5.30': {} + '@wagmi/connectors@6.2.0(@tanstack/react-query@5.69.0(react@19.2.4))(@types/react@19.1.2)(@wagmi/core@2.22.1(@tanstack/query-core@5.69.0)(@types/react@19.1.2)(immer@9.0.21)(react@19.2.4)(typescript@5.2.2)(use-sync-external-store@1.4.0(react@19.2.4))(viem@2.43.5(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76)))(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.2.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@6.0.6)(viem@2.43.5(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76))(wagmi@2.19.5(@tanstack/query-core@5.69.0)(@tanstack/react-query@5.69.0(react@19.2.4))(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.2.2)(utf-8-validate@6.0.6)(viem@2.43.5(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76))(zod@3.25.76))(zod@3.25.76)': dependencies: '@base-org/account': 2.4.0(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.2.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@6.0.6)(zod@3.25.76) @@ -28807,7 +30536,95 @@ snapshots: - utf-8-validate - zod - '@walletconnect/core@2.21.1(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76)': + '@walletconnect/core@2.21.1(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76)': + 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 + '@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.21.1 + '@walletconnect/utils': 2.21.1(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76) + '@walletconnect/window-getters': 1.0.1 + es-toolkit: 1.33.0 + events: 3.3.0 + uint8arrays: 3.1.0 + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@deno/kv' + - '@netlify/blobs' + - '@planetscale/database' + - '@react-native-async-storage/async-storage' + - '@upstash/redis' + - '@vercel/blob' + - '@vercel/functions' + - '@vercel/kv' + - aws4fetch + - bufferutil + - db0 + - ioredis + - typescript + - uploadthing + - utf-8-validate + - zod + + '@walletconnect/core@2.23.2(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76)': + 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@5.0.10) + '@walletconnect/keyvaluestorage': 1.1.1 + '@walletconnect/logger': 3.0.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.23.2 + '@walletconnect/utils': 2.23.2(typescript@5.2.2)(zod@3.25.76) + '@walletconnect/window-getters': 1.0.1 + es-toolkit: 1.39.3 + events: 3.3.0 + uint8arrays: 3.1.1 + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@deno/kv' + - '@netlify/blobs' + - '@planetscale/database' + - '@react-native-async-storage/async-storage' + - '@upstash/redis' + - '@vercel/blob' + - '@vercel/functions' + - '@vercel/kv' + - aws4fetch + - bufferutil + - db0 + - ioredis + - typescript + - uploadthing + - utf-8-validate + - zod + + '@walletconnect/core@2.23.2(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76)': dependencies: '@walletconnect/heartbeat': 1.2.2 '@walletconnect/jsonrpc-provider': 1.0.14 @@ -28815,17 +30632,17 @@ snapshots: '@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 - '@walletconnect/logger': 2.1.2 + '@walletconnect/logger': 3.0.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.21.1 - '@walletconnect/utils': 2.21.1(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76) + '@walletconnect/types': 2.23.2 + '@walletconnect/utils': 2.23.2(typescript@5.2.2)(zod@3.25.76) '@walletconnect/window-getters': 1.0.1 - es-toolkit: 1.33.0 + es-toolkit: 1.39.3 events: 3.3.0 - uint8arrays: 3.1.0 + uint8arrays: 3.1.1 transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -28851,7 +30668,7 @@ snapshots: - utf-8-validate - zod - '@walletconnect/core@2.23.2(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76)': + '@walletconnect/core@2.23.2(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@5.0.10)(zod@3.25.76)': dependencies: '@walletconnect/heartbeat': 1.2.2 '@walletconnect/jsonrpc-provider': 1.0.14 @@ -28865,7 +30682,7 @@ snapshots: '@walletconnect/safe-json': 1.0.2 '@walletconnect/time': 1.0.2 '@walletconnect/types': 2.23.2 - '@walletconnect/utils': 2.23.2(typescript@5.2.2)(zod@3.25.76) + '@walletconnect/utils': 2.23.2(typescript@5.8.2)(zod@3.25.76) '@walletconnect/window-getters': 1.0.1 es-toolkit: 1.39.3 events: 3.3.0 @@ -28895,7 +30712,7 @@ snapshots: - utf-8-validate - zod - '@walletconnect/core@2.23.2(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76)': + '@walletconnect/core@2.23.6(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76)': dependencies: '@walletconnect/heartbeat': 1.2.2 '@walletconnect/jsonrpc-provider': 1.0.14 @@ -28908,10 +30725,10 @@ snapshots: '@walletconnect/relay-auth': 1.1.0 '@walletconnect/safe-json': 1.0.2 '@walletconnect/time': 1.0.2 - '@walletconnect/types': 2.23.2 - '@walletconnect/utils': 2.23.2(typescript@5.2.2)(zod@3.25.76) + '@walletconnect/types': 2.23.6 + '@walletconnect/utils': 2.23.6(typescript@5.2.2)(zod@3.25.76) '@walletconnect/window-getters': 1.0.1 - es-toolkit: 1.39.3 + es-toolkit: 1.44.0 events: 3.3.0 uint8arrays: 3.1.1 transitivePeerDependencies: @@ -28939,21 +30756,21 @@ snapshots: - utf-8-validate - zod - '@walletconnect/core@2.23.6(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76)': + '@walletconnect/core@2.23.7(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76)': 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/jsonrpc-ws-connection': 1.0.16(bufferutil@4.1.0)(utf-8-validate@5.0.10) '@walletconnect/keyvaluestorage': 1.1.1 '@walletconnect/logger': 3.0.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.23.6 - '@walletconnect/utils': 2.23.6(typescript@5.2.2)(zod@3.25.76) + '@walletconnect/types': 2.23.7 + '@walletconnect/utils': 2.23.7(typescript@5.2.2)(zod@3.25.76) '@walletconnect/window-getters': 1.0.1 es-toolkit: 1.44.0 events: 3.3.0 @@ -28982,14 +30799,15 @@ snapshots: - uploadthing - utf-8-validate - zod + optional: true - '@walletconnect/core@2.23.7(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76)': + '@walletconnect/core@2.23.7(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76)': 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@5.0.10) + '@walletconnect/jsonrpc-ws-connection': 1.0.16(bufferutil@4.1.0)(utf-8-validate@6.0.6) '@walletconnect/keyvaluestorage': 1.1.1 '@walletconnect/logger': 3.0.2 '@walletconnect/relay-api': 1.0.11 @@ -29027,13 +30845,13 @@ snapshots: - utf-8-validate - zod - '@walletconnect/core@2.23.7(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76)': + '@walletconnect/core@2.23.7(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@5.0.10)(zod@3.25.76)': 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/jsonrpc-ws-connection': 1.0.16(bufferutil@4.1.0)(utf-8-validate@5.0.10) '@walletconnect/keyvaluestorage': 1.1.1 '@walletconnect/logger': 3.0.2 '@walletconnect/relay-api': 1.0.11 @@ -29041,7 +30859,7 @@ snapshots: '@walletconnect/safe-json': 1.0.2 '@walletconnect/time': 1.0.2 '@walletconnect/types': 2.23.7 - '@walletconnect/utils': 2.23.7(typescript@5.2.2)(zod@3.25.76) + '@walletconnect/utils': 2.23.7(typescript@5.8.2)(zod@3.25.76) '@walletconnect/window-getters': 1.0.1 es-toolkit: 1.44.0 events: 3.3.0 @@ -29176,6 +30994,7 @@ snapshots: - use-sync-external-store - utf-8-validate - zod + optional: true '@walletconnect/ethereum-provider@2.23.7(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.2.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@6.0.6)(zod@3.25.76)': dependencies: @@ -29223,6 +31042,52 @@ snapshots: - utf-8-validate - zod + '@walletconnect/ethereum-provider@2.23.7(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.8.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(zod@3.25.76)': + dependencies: + '@reown/appkit': 1.8.17-wc-circular-dependencies-fix.0(@types/react@19.1.2)(bufferutil@4.1.0)(fastestsmallesttextencoderdecoder@1.0.22)(immer@9.0.21)(react@19.2.4)(typescript@5.8.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(zod@3.25.76) + '@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 + '@walletconnect/logger': 3.0.2 + '@walletconnect/sign-client': 2.23.7(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@5.0.10)(zod@3.25.76) + '@walletconnect/types': 2.23.7 + '@walletconnect/universal-provider': 2.23.7(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@5.0.10)(zod@3.25.76) + '@walletconnect/utils': 2.23.7(typescript@5.8.2)(zod@3.25.76) + events: 3.3.0 + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@deno/kv' + - '@netlify/blobs' + - '@planetscale/database' + - '@react-native-async-storage/async-storage' + - '@types/react' + - '@upstash/redis' + - '@vercel/blob' + - '@vercel/functions' + - '@vercel/kv' + - aws4fetch + - bufferutil + - db0 + - debug + - encoding + - fastestsmallesttextencoderdecoder + - immer + - ioredis + - react + - typescript + - uploadthing + - use-sync-external-store + - utf-8-validate + - zod + '@walletconnect/events@1.0.1': dependencies: keyvaluestorage-interface: 1.0.0 @@ -29634,6 +31499,42 @@ snapshots: - utf-8-validate - zod + '@walletconnect/sign-client@2.23.2(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@5.0.10)(zod@3.25.76)': + dependencies: + '@walletconnect/core': 2.23.2(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@5.0.10)(zod@3.25.76) + '@walletconnect/events': 1.0.1 + '@walletconnect/heartbeat': 1.2.2 + '@walletconnect/jsonrpc-utils': 1.0.8 + '@walletconnect/logger': 3.0.2 + '@walletconnect/time': 1.0.2 + '@walletconnect/types': 2.23.2 + '@walletconnect/utils': 2.23.2(typescript@5.8.2)(zod@3.25.76) + events: 3.3.0 + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@deno/kv' + - '@netlify/blobs' + - '@planetscale/database' + - '@react-native-async-storage/async-storage' + - '@upstash/redis' + - '@vercel/blob' + - '@vercel/functions' + - '@vercel/kv' + - aws4fetch + - bufferutil + - db0 + - ioredis + - typescript + - uploadthing + - utf-8-validate + - zod + '@walletconnect/sign-client@2.23.6(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76)': dependencies: '@walletconnect/core': 2.23.6(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76) @@ -29705,6 +31606,7 @@ snapshots: - uploadthing - utf-8-validate - zod + optional: true '@walletconnect/sign-client@2.23.7(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76)': dependencies: @@ -29742,6 +31644,42 @@ snapshots: - utf-8-validate - zod + '@walletconnect/sign-client@2.23.7(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@5.0.10)(zod@3.25.76)': + dependencies: + '@walletconnect/core': 2.23.7(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@5.0.10)(zod@3.25.76) + '@walletconnect/events': 1.0.1 + '@walletconnect/heartbeat': 1.2.2 + '@walletconnect/jsonrpc-utils': 1.0.8 + '@walletconnect/logger': 3.0.2 + '@walletconnect/time': 1.0.2 + '@walletconnect/types': 2.23.7 + '@walletconnect/utils': 2.23.7(typescript@5.8.2)(zod@3.25.76) + events: 3.3.0 + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@deno/kv' + - '@netlify/blobs' + - '@planetscale/database' + - '@react-native-async-storage/async-storage' + - '@upstash/redis' + - '@vercel/blob' + - '@vercel/functions' + - '@vercel/kv' + - aws4fetch + - bufferutil + - db0 + - ioredis + - typescript + - uploadthing + - utf-8-validate + - zod + '@walletconnect/socket-transport@1.8.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)': dependencies: '@walletconnect/types': 1.8.0 @@ -30236,6 +32174,46 @@ snapshots: - utf-8-validate - zod + '@walletconnect/universal-provider@2.23.2(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@5.0.10)(zod@3.25.76)': + 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 + '@walletconnect/logger': 3.0.2 + '@walletconnect/sign-client': 2.23.2(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@5.0.10)(zod@3.25.76) + '@walletconnect/types': 2.23.2 + '@walletconnect/utils': 2.23.2(typescript@5.8.2)(zod@3.25.76) + es-toolkit: 1.39.3 + events: 3.3.0 + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@deno/kv' + - '@netlify/blobs' + - '@planetscale/database' + - '@react-native-async-storage/async-storage' + - '@upstash/redis' + - '@vercel/blob' + - '@vercel/functions' + - '@vercel/kv' + - aws4fetch + - bufferutil + - db0 + - encoding + - ioredis + - typescript + - uploadthing + - utf-8-validate + - zod + '@walletconnect/universal-provider@2.23.7(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76)': dependencies: '@walletconnect/events': 1.0.1 @@ -30275,6 +32253,7 @@ snapshots: - uploadthing - utf-8-validate - zod + optional: true '@walletconnect/universal-provider@2.23.7(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76)': dependencies: @@ -30316,6 +32295,46 @@ snapshots: - utf-8-validate - zod + '@walletconnect/universal-provider@2.23.7(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@5.0.10)(zod@3.25.76)': + 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 + '@walletconnect/logger': 3.0.2 + '@walletconnect/sign-client': 2.23.7(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@5.0.10)(zod@3.25.76) + '@walletconnect/types': 2.23.7 + '@walletconnect/utils': 2.23.7(typescript@5.8.2)(zod@3.25.76) + es-toolkit: 1.44.0 + events: 3.3.0 + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@deno/kv' + - '@netlify/blobs' + - '@planetscale/database' + - '@react-native-async-storage/async-storage' + - '@upstash/redis' + - '@vercel/blob' + - '@vercel/functions' + - '@vercel/kv' + - aws4fetch + - bufferutil + - db0 + - encoding + - ioredis + - typescript + - uploadthing + - utf-8-validate + - zod + '@walletconnect/utils@1.8.0': dependencies: '@walletconnect/browser-utils': 1.8.0 @@ -30548,6 +32567,51 @@ snapshots: - uploadthing - zod + '@walletconnect/utils@2.23.2(typescript@5.8.2)(zod@3.25.76)': + dependencies: + '@msgpack/msgpack': 3.1.2 + '@noble/ciphers': 1.3.0 + '@noble/curves': 1.9.7 + '@noble/hashes': 1.8.0 + '@scure/base': 1.2.6 + '@walletconnect/jsonrpc-utils': 1.0.8 + '@walletconnect/keyvaluestorage': 1.1.1 + '@walletconnect/logger': 3.0.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.23.2 + '@walletconnect/window-getters': 1.0.1 + '@walletconnect/window-metadata': 1.0.1 + blakejs: 1.2.1 + bs58: 6.0.0 + detect-browser: 5.3.0 + ox: 0.9.3(typescript@5.8.2)(zod@3.25.76) + uint8arrays: 3.1.1 + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@deno/kv' + - '@netlify/blobs' + - '@planetscale/database' + - '@react-native-async-storage/async-storage' + - '@upstash/redis' + - '@vercel/blob' + - '@vercel/functions' + - '@vercel/kv' + - aws4fetch + - db0 + - ioredis + - typescript + - uploadthing + - zod + '@walletconnect/utils@2.23.6(typescript@5.2.2)(zod@3.25.76)': dependencies: '@msgpack/msgpack': 3.1.3 @@ -30636,6 +32700,50 @@ snapshots: - uploadthing - zod + '@walletconnect/utils@2.23.7(typescript@5.8.2)(zod@3.25.76)': + dependencies: + '@msgpack/msgpack': 3.1.3 + '@noble/ciphers': 1.3.0 + '@noble/curves': 1.9.7 + '@noble/hashes': 1.8.0 + '@scure/base': 1.2.6 + '@walletconnect/jsonrpc-utils': 1.0.8 + '@walletconnect/keyvaluestorage': 1.1.1 + '@walletconnect/logger': 3.0.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.23.7 + '@walletconnect/window-getters': 1.0.1 + '@walletconnect/window-metadata': 1.0.1 + blakejs: 1.2.1 + detect-browser: 5.3.0 + ox: 0.9.3(typescript@5.8.2)(zod@3.25.76) + uint8arrays: 3.1.1 + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@deno/kv' + - '@netlify/blobs' + - '@planetscale/database' + - '@react-native-async-storage/async-storage' + - '@upstash/redis' + - '@vercel/blob' + - '@vercel/functions' + - '@vercel/kv' + - aws4fetch + - db0 + - ioredis + - typescript + - uploadthing + - zod + '@walletconnect/web3-provider@1.8.0(@babel/core@7.29.0)(bufferutil@4.1.0)(utf-8-validate@6.0.6)': dependencies: '@walletconnect/client': 1.8.0(bufferutil@4.1.0)(utf-8-validate@6.0.6) @@ -30839,9 +32947,9 @@ snapshots: fs-extra: 10.1.0 yargs: 17.7.2 - abitype@0.7.1(typescript@5.2.2)(zod@3.25.76): + abitype@0.7.1(typescript@5.8.2)(zod@3.25.76): dependencies: - typescript: 5.2.2 + typescript: 5.8.2 optionalDependencies: zod: 3.25.76 @@ -30850,6 +32958,12 @@ snapshots: typescript: 5.2.2 zod: 3.25.76 + abitype@1.0.6(typescript@5.8.2)(zod@3.25.76): + optionalDependencies: + typescript: 5.8.2 + zod: 3.25.76 + optional: true + abitype@1.0.8(typescript@5.2.2)(zod@3.25.76): optionalDependencies: typescript: 5.2.2 @@ -30870,6 +32984,11 @@ snapshots: typescript: 5.2.2 zod: 4.3.6 + abitype@1.2.3(typescript@5.8.2)(zod@3.25.76): + optionalDependencies: + typescript: 5.8.2 + zod: 3.25.76 + abstract-leveldown@2.6.3: dependencies: xtend: 4.0.2 @@ -30930,6 +33049,10 @@ snapshots: '@opentelemetry/api': 1.9.0 zod: 3.25.76 + ajv-draft-04@1.0.0(ajv@8.18.0): + optionalDependencies: + ajv: 8.18.0 + ajv-formats@2.1.1(ajv@8.11.2): optionalDependencies: ajv: 8.11.2 @@ -30938,6 +33061,10 @@ snapshots: optionalDependencies: ajv: 8.18.0 + ajv-formats@3.0.1(ajv@8.18.0): + optionalDependencies: + ajv: 8.18.0 + ajv-keywords@5.1.0(ajv@8.18.0): dependencies: ajv: 8.18.0 @@ -31005,6 +33132,8 @@ snapshots: transitivePeerDependencies: - encoding + alien-signals@0.4.14: {} + ansi-align@3.0.1: dependencies: string-width: 4.2.3 @@ -32278,6 +34407,10 @@ snapshots: tree-kill: 1.2.2 yargs: 17.7.2 + confbox@0.1.8: {} + + confbox@0.2.4: {} + confusing-browser-globals@1.0.11: {} consola@2.15.3: {} @@ -32642,6 +34775,8 @@ snapshots: dayjs@1.11.19: {} + de-indent@1.0.2: {} + debug@2.6.9: dependencies: ms: 2.0.0 @@ -32654,10 +34789,6 @@ snapshots: dependencies: ms: 2.1.2 - debug@4.4.3: - dependencies: - ms: 2.1.3 - debug@4.4.3(supports-color@8.1.1): dependencies: ms: 2.1.3 @@ -32800,6 +34931,8 @@ snapshots: diff@5.2.2: {} + diff@8.0.3: {} + diffie-hellman@5.0.3: dependencies: bn.js: 4.12.3 @@ -32928,6 +35061,14 @@ snapshots: transitivePeerDependencies: - typescript + ecpair@3.0.1(typescript@5.8.2): + dependencies: + uint8array-tools: 0.0.8 + valibot: 1.2.0(typescript@5.8.2) + wif: 5.0.0 + transitivePeerDependencies: + - typescript + ecurve@1.0.6: dependencies: bigi: 1.4.2 @@ -33020,7 +35161,7 @@ snapshots: engine.io-client@6.6.4(bufferutil@4.1.0)(utf-8-validate@6.0.6): dependencies: '@socket.io/component-emitter': 3.1.2 - debug: 4.4.3 + debug: 4.4.3(supports-color@8.1.1) engine.io-parser: 5.2.3 ws: 8.18.3(bufferutil@4.1.0)(utf-8-validate@6.0.6) xmlhttprequest-ssl: 2.1.2 @@ -33392,7 +35533,7 @@ snapshots: lodash: 4.17.23 string-natural-compare: 3.0.1 - eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.56.1(eslint@8.57.1)(typescript@5.2.2))(eslint-import-resolver-node@0.3.9)(eslint@8.57.1): + eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.56.1(eslint@8.57.1)(typescript@5.8.2))(eslint-import-resolver-node@0.3.9)(eslint@8.57.1): dependencies: '@typescript-eslint/types': 8.56.1 comment-parser: 1.4.5 @@ -33405,7 +35546,7 @@ snapshots: stable-hash-x: 0.2.0 unrs-resolver: 1.11.1 optionalDependencies: - '@typescript-eslint/utils': 8.56.1(eslint@8.57.1)(typescript@5.2.2) + '@typescript-eslint/utils': 8.56.1(eslint@8.57.1)(typescript@5.8.2) eslint-import-resolver-node: 0.3.9 transitivePeerDependencies: - supports-color @@ -33449,6 +35590,16 @@ snapshots: - supports-color - typescript + eslint-plugin-jest@25.7.0(@typescript-eslint/eslint-plugin@8.56.1(@typescript-eslint/parser@8.56.1(eslint@8.57.1)(typescript@5.8.2))(eslint@8.57.1)(typescript@5.8.2))(eslint@8.57.1)(typescript@5.8.2): + dependencies: + '@typescript-eslint/experimental-utils': 5.62.0(eslint@8.57.1)(typescript@5.8.2) + eslint: 8.57.1 + optionalDependencies: + '@typescript-eslint/eslint-plugin': 8.56.1(@typescript-eslint/parser@8.56.1(eslint@8.57.1)(typescript@5.8.2))(eslint@8.57.1)(typescript@5.8.2) + transitivePeerDependencies: + - supports-color + - typescript + eslint-plugin-jsdoc@50.8.0(eslint@8.57.1): dependencies: '@es-joy/jsdoccomment': 0.50.2 @@ -33574,7 +35725,7 @@ snapshots: ajv: 6.14.0 chalk: 4.1.2 cross-spawn: 7.0.6 - debug: 4.4.3 + debug: 4.4.3(supports-color@8.1.1) doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.2.2 @@ -34121,6 +36272,8 @@ snapshots: transitivePeerDependencies: - supports-color + exsolve@1.0.8: {} + ext@1.7.0: dependencies: type: 2.7.3 @@ -34314,7 +36467,7 @@ snapshots: follow-redirects@1.15.11(debug@4.4.3): optionalDependencies: - debug: 4.4.3 + debug: 4.4.3(supports-color@8.1.1) for-each@0.3.5: dependencies: @@ -34606,6 +36759,18 @@ snapshots: - '@gql.tada/vue-support' - graphql + gql.tada@1.9.0(graphql@16.13.0)(typescript@5.8.2): + dependencies: + '@0no-co/graphql.web': 1.2.0(graphql@16.13.0) + '@0no-co/graphqlsp': 1.15.2(graphql@16.13.0)(typescript@5.8.2) + '@gql.tada/cli-utils': 1.7.2(@0no-co/graphqlsp@1.15.2(graphql@16.13.0)(typescript@5.2.2))(graphql@16.13.0)(typescript@5.8.2) + '@gql.tada/internal': 1.0.8(graphql@16.13.0)(typescript@5.8.2) + typescript: 5.8.2 + transitivePeerDependencies: + - '@gql.tada/svelte-support' + - '@gql.tada/vue-support' + - graphql + graceful-fs@4.2.11: {} graceful-readlink@1.0.1: {} @@ -34708,12 +36873,12 @@ snapshots: hard-rejection@2.1.0: {} - hardhat-watcher@2.5.0(hardhat@2.28.6(bufferutil@4.1.0)(ts-node@10.9.2(@types/node@25.3.5)(typescript@5.2.2))(typescript@5.2.2)(utf-8-validate@5.0.10)): + hardhat-watcher@2.5.0(hardhat@2.28.6(bufferutil@4.1.0)(ts-node@10.9.2(@types/node@25.3.5)(typescript@5.8.2))(typescript@5.8.2)(utf-8-validate@5.0.10)): dependencies: chokidar: 3.6.0 - hardhat: 2.28.6(bufferutil@4.1.0)(ts-node@10.9.2(@types/node@25.3.5)(typescript@5.2.2))(typescript@5.2.2)(utf-8-validate@5.0.10) + hardhat: 2.28.6(bufferutil@4.1.0)(ts-node@10.9.2(@types/node@25.3.5)(typescript@5.8.2))(typescript@5.8.2)(utf-8-validate@5.0.10) - hardhat@2.28.6(bufferutil@4.1.0)(ts-node@10.9.2(@types/node@25.3.5)(typescript@5.2.2))(typescript@5.2.2)(utf-8-validate@5.0.10): + hardhat@2.28.6(bufferutil@4.1.0)(ts-node@10.9.2(@types/node@25.3.5)(typescript@5.8.2))(typescript@5.8.2)(utf-8-validate@5.0.10): dependencies: '@ethereumjs/util': 9.1.0 '@ethersproject/abi': 5.8.0 @@ -34755,8 +36920,8 @@ snapshots: uuid: 8.3.2 ws: 7.5.10(bufferutil@4.1.0)(utf-8-validate@5.0.10) optionalDependencies: - ts-node: 10.9.2(@types/node@25.3.5)(typescript@5.2.2) - typescript: 5.2.2 + ts-node: 10.9.2(@types/node@25.3.5)(typescript@5.8.2) + typescript: 5.8.2 transitivePeerDependencies: - bufferutil - supports-color @@ -34927,7 +37092,7 @@ snapshots: http-proxy-agent@7.0.2: dependencies: agent-base: 7.1.4 - debug: 4.4.3 + debug: 4.4.3(supports-color@8.1.1) transitivePeerDependencies: - supports-color @@ -34976,7 +37141,7 @@ snapshots: https-proxy-agent@7.0.6: dependencies: agent-base: 7.1.4 - debug: 4.4.3 + debug: 4.4.3(supports-color@8.1.1) transitivePeerDependencies: - supports-color @@ -35019,6 +37184,8 @@ snapshots: parent-module: 1.0.1 resolve-from: 4.0.0 + import-lazy@4.0.0: {} + imurmurhash@0.1.4: {} indent-string@4.0.0: {} @@ -35467,10 +37634,12 @@ snapshots: jest-worker@27.5.1: dependencies: - '@types/node': 25.3.5 + '@types/node': 22.19.13 merge-stream: 2.0.0 supports-color: 8.1.1 + jju@1.4.0: {} + jose@4.15.9: {} jose@6.1.3: {} @@ -35697,6 +37866,8 @@ snapshots: kleur@4.1.5: {} + kolorist@1.8.0: {} + language-subtag-registry@0.3.23: {} language-tags@1.0.9: @@ -35802,6 +37973,12 @@ snapshots: loader-runner@4.3.1: {} + local-pkg@1.1.2: + dependencies: + mlly: 1.8.1 + pkg-types: 2.3.0 + quansync: 0.2.11 + localforage@1.10.0: dependencies: lie: 3.1.1 @@ -36355,7 +38532,7 @@ snapshots: micromark@4.0.2: dependencies: '@types/debug': 4.1.12 - debug: 4.4.3 + debug: 4.4.3(supports-color@8.1.1) decode-named-character-reference: 1.3.0 devlop: 1.1.0 micromark-core-commonmark: 2.0.3 @@ -36410,6 +38587,10 @@ snapshots: minimalistic-crypto-utils@1.0.1: {} + minimatch@10.2.3: + dependencies: + brace-expansion: 5.0.4 + minimatch@10.2.4: dependencies: brace-expansion: 5.0.4 @@ -36422,6 +38603,10 @@ snapshots: dependencies: brace-expansion: 2.0.2 + minimatch@9.0.9: + dependencies: + brace-expansion: 2.0.2 + minimist-options@4.1.0: dependencies: arrify: 1.0.1 @@ -36440,6 +38625,10 @@ snapshots: optionalDependencies: typescript: 5.2.2 + mipd@0.0.7(typescript@5.8.2): + optionalDependencies: + typescript: 5.8.2 + mitt@2.1.0: {} mitt@3.0.1: {} @@ -36458,6 +38647,13 @@ snapshots: mkdirp@1.0.4: {} + mlly@1.8.1: + dependencies: + acorn: 8.16.0 + pathe: 2.0.3 + pkg-types: 1.3.1 + ufo: 1.6.3 + mnemonist@0.38.5: dependencies: obliterator: 2.0.5 @@ -36582,6 +38778,8 @@ snapshots: - encoding - supports-color + muggle-string@0.4.1: {} + multibase@4.0.6: dependencies: '@multiformats/base-x': 4.0.1 @@ -37046,6 +39244,21 @@ snapshots: transitivePeerDependencies: - zod + ox@0.11.1(typescript@5.8.2)(zod@3.25.76): + dependencies: + '@adraffy/ens-normalize': 1.11.1 + '@noble/ciphers': 1.3.0 + '@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.8.2)(zod@3.25.76) + eventemitter3: 5.0.1 + optionalDependencies: + typescript: 5.8.2 + transitivePeerDependencies: + - zod + ox@0.12.4(typescript@5.2.2)(zod@3.25.76): dependencies: '@adraffy/ens-normalize': 1.11.1 @@ -37075,6 +39288,20 @@ snapshots: transitivePeerDependencies: - zod + ox@0.4.4(typescript@5.8.2)(zod@3.25.76): + dependencies: + '@adraffy/ens-normalize': 1.11.1 + '@noble/curves': 1.9.7 + '@noble/hashes': 1.8.0 + '@scure/bip32': 1.7.0 + '@scure/bip39': 1.6.0 + abitype: 1.2.3(typescript@5.8.2)(zod@3.25.76) + eventemitter3: 5.0.1 + optionalDependencies: + typescript: 5.8.2 + transitivePeerDependencies: + - zod + ox@0.6.7(typescript@5.2.2)(zod@3.25.76): dependencies: '@adraffy/ens-normalize': 1.11.1 @@ -37103,6 +39330,21 @@ snapshots: transitivePeerDependencies: - zod + ox@0.6.9(typescript@5.8.2)(zod@3.25.76): + dependencies: + '@adraffy/ens-normalize': 1.11.1 + '@noble/curves': 1.9.7 + '@noble/hashes': 1.8.0 + '@scure/bip32': 1.7.0 + '@scure/bip39': 1.6.0 + abitype: 1.2.3(typescript@5.8.2)(zod@3.25.76) + eventemitter3: 5.0.1 + optionalDependencies: + typescript: 5.8.2 + transitivePeerDependencies: + - zod + optional: true + ox@0.9.17(typescript@5.2.2)(zod@4.3.6): dependencies: '@adraffy/ens-normalize': 1.11.1 @@ -37133,6 +39375,21 @@ snapshots: transitivePeerDependencies: - zod + ox@0.9.3(typescript@5.8.2)(zod@3.25.76): + dependencies: + '@adraffy/ens-normalize': 1.11.1 + '@noble/ciphers': 1.3.0 + '@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.8.2)(zod@3.25.76) + eventemitter3: 5.0.1 + optionalDependencies: + typescript: 5.8.2 + transitivePeerDependencies: + - zod + ox@0.9.6(typescript@5.2.2)(zod@3.25.76): dependencies: '@adraffy/ens-normalize': 1.11.1 @@ -37392,6 +39649,18 @@ snapshots: dependencies: find-up: 5.0.0 + pkg-types@1.3.1: + dependencies: + confbox: 0.1.8 + mlly: 1.8.1 + pathe: 2.0.3 + + pkg-types@2.3.0: + dependencies: + confbox: 0.2.4 + exsolve: 1.0.8 + pathe: 2.0.3 + playwright-core@1.58.2: {} playwright@1.58.2: @@ -37690,6 +39959,8 @@ snapshots: qs@6.5.5: {} + quansync@0.2.11: {} + query-string@6.13.5: dependencies: decode-uri-component: 0.2.2 @@ -38573,6 +40844,10 @@ snapshots: dependencies: lru-cache: 6.0.0 + semver@7.5.4: + dependencies: + lru-cache: 6.0.0 + semver@7.7.1: {} semver@7.7.2: {} @@ -38761,7 +41036,7 @@ snapshots: dependencies: '@kwsites/file-exists': 1.1.1 '@kwsites/promise-deferred': 1.1.1 - debug: 4.4.3 + debug: 4.4.3(supports-color@8.1.1) transitivePeerDependencies: - supports-color @@ -38798,7 +41073,7 @@ snapshots: socket.io-client@4.8.3(bufferutil@4.1.0)(utf-8-validate@6.0.6): dependencies: '@socket.io/component-emitter': 3.1.2 - debug: 4.4.3 + debug: 4.4.3(supports-color@8.1.1) engine.io-client: 6.6.4(bufferutil@4.1.0)(utf-8-validate@6.0.6) socket.io-parser: 4.2.5 transitivePeerDependencies: @@ -38809,7 +41084,7 @@ snapshots: socket.io-parser@4.2.5: dependencies: '@socket.io/component-emitter': 3.1.2 - debug: 4.4.3 + debug: 4.4.3(supports-color@8.1.1) transitivePeerDependencies: - supports-color @@ -38962,6 +41237,23 @@ snapshots: - typescript - zod + starknet@9.4.0(typescript@5.8.2)(zod@3.25.76): + dependencies: + '@noble/curves': 1.7.0 + '@noble/hashes': 1.6.1 + '@scure/base': 1.2.6 + '@scure/starknet': 1.1.0 + '@starknet-io/get-starknet-wallet-standard': 5.0.0(typescript@5.8.2)(zod@3.25.76) + '@starknet-io/starknet-types-010': '@starknet-io/types-js@0.10.0' + '@starknet-io/starknet-types-09': '@starknet-io/types-js@0.9.2' + abi-wan-kanabi: 2.2.4 + lossless-json: 4.3.0 + pako: 2.1.0 + ts-mixer: 6.0.4 + transitivePeerDependencies: + - typescript + - zod + statuses@1.5.0: {} statuses@2.0.2: {} @@ -39005,6 +41297,8 @@ snapshots: strict-uri-encode@2.0.0: {} + string-argv@0.3.2: {} + string-natural-compare@3.0.1: {} string-width@3.1.0: @@ -39221,6 +41515,26 @@ snapshots: - typescript - utf-8-validate + tendermint-tx-builder@1.0.16(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@5.0.10): + dependencies: + '@bithighlander/bitcoin-cash-js-lib': 5.2.1(patch_hash=4214515c36a0bb955f62f20fefed1ccf057aa1d452ca41df28201db0f9b83441) + '@pioneer-platform/loggerdog': 8.11.0(@types/node@15.14.9) + '@pioneer-platform/pioneer-coins': 8.1.90(@types/node@15.14.9) + '@shapeshiftoss/hdwallet-core': 1.62.41(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@5.0.10) + '@types/node': 15.14.9 + bip39: 3.1.0 + codeclimate-test-reporter: 0.5.1 + fiosdk-offline: 1.2.21 + google-protobuf: 3.21.4 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - bufferutil + - debug + - encoding + - typescript + - utf-8-validate + terser-webpack-plugin@5.3.17(webpack@5.105.3): dependencies: '@jridgewell/trace-mapping': 0.3.31 @@ -39401,6 +41715,10 @@ snapshots: dependencies: typescript: 5.2.2 + ts-api-utils@2.4.0(typescript@5.8.2): + dependencies: + typescript: 5.8.2 + ts-mixer@6.0.4: {} ts-morph@13.0.3: @@ -39426,7 +41744,7 @@ snapshots: v8-compile-cache-lib: 3.0.1 yn: 3.1.1 - ts-node@10.9.2(@types/node@25.3.5)(typescript@5.2.2): + ts-node@10.9.2(@types/node@25.3.5)(typescript@5.8.2): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.12 @@ -39440,7 +41758,7 @@ snapshots: create-require: 1.1.1 diff: 4.0.4 make-error: 1.3.6 - typescript: 5.2.2 + typescript: 5.8.2 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 optional: true @@ -39506,6 +41824,11 @@ snapshots: tslib: 1.14.1 typescript: 5.2.2 + tsutils@3.21.0(typescript@5.8.2): + dependencies: + tslib: 1.14.1 + typescript: 5.8.2 + tsx@4.21.0: dependencies: esbuild: 0.27.3 @@ -39614,6 +41937,8 @@ snapshots: typescript@5.2.2: {} + typescript@5.8.2: {} + typeson-registry@1.0.0-alpha.39: dependencies: base64-arraybuffer-es6: 0.7.0 @@ -39674,7 +41999,8 @@ snapshots: undici-types@6.21.0: {} - undici-types@7.18.2: {} + undici-types@7.18.2: + optional: true undici-types@7.22.0: {} @@ -39915,6 +42241,10 @@ snapshots: optionalDependencies: typescript: 5.2.2 + valibot@0.38.0(typescript@5.8.2): + optionalDependencies: + typescript: 5.8.2 + valibot@0.42.1(typescript@5.2.2): optionalDependencies: typescript: 5.2.2 @@ -39923,6 +42253,10 @@ snapshots: optionalDependencies: typescript: 5.2.2 + valibot@1.2.0(typescript@5.8.2): + optionalDependencies: + typescript: 5.8.2 + validate-npm-package-license@3.0.4: dependencies: spdx-correct: 3.2.0 @@ -40088,6 +42422,40 @@ snapshots: - utf-8-validate - zod + viem@2.43.5(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@5.0.10)(zod@3.25.76): + 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.8.2)(zod@3.25.76) + isows: 1.0.7(ws@8.18.3(bufferutil@4.1.0)(utf-8-validate@5.0.10)) + ox: 0.11.1(typescript@5.8.2)(zod@3.25.76) + ws: 8.18.3(bufferutil@4.1.0)(utf-8-validate@5.0.10) + optionalDependencies: + typescript: 5.8.2 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + - zod + + viem@2.43.5(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@6.0.6)(zod@3.25.76): + 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.8.2)(zod@3.25.76) + isows: 1.0.7(ws@8.18.3(bufferutil@4.1.0)(utf-8-validate@6.0.6)) + ox: 0.11.1(typescript@5.8.2)(zod@3.25.76) + ws: 8.18.3(bufferutil@4.1.0)(utf-8-validate@6.0.6) + optionalDependencies: + typescript: 5.8.2 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + - zod + viem@2.46.3(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@5.0.10)(zod@3.25.76): dependencies: '@noble/curves': 1.9.1 @@ -40107,16 +42475,15 @@ snapshots: vite-bundle-analyzer@0.18.1: {} - vite-node@3.0.9(@types/node@22.19.13)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2): + vite-node@3.0.9(@types/node@22.19.13)(terser@5.46.0): dependencies: cac: 6.7.14 - debug: 4.4.3 + debug: 4.4.3(supports-color@8.1.1) es-module-lexer: 1.7.0 pathe: 2.0.3 - vite: 6.4.1(@types/node@22.19.13)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2) + vite: 5.4.21(@types/node@22.19.13)(terser@5.46.0) transitivePeerDependencies: - '@types/node' - - jiti - less - lightningcss - sass @@ -40125,19 +42492,16 @@ snapshots: - sugarss - supports-color - terser - - tsx - - yaml - vite-node@3.0.9(@types/node@25.3.5)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2): + vite-node@3.0.9(@types/node@25.3.5)(terser@5.46.0): dependencies: cac: 6.7.14 debug: 4.4.3(supports-color@8.1.1) es-module-lexer: 1.7.0 pathe: 2.0.3 - vite: 6.4.1(@types/node@25.3.5)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2) + vite: 5.4.21(@types/node@25.3.5)(terser@5.46.0) transitivePeerDependencies: - '@types/node' - - jiti - less - lightningcss - sass @@ -40146,8 +42510,6 @@ snapshots: - sugarss - supports-color - terser - - tsx - - yaml vite-plugin-checker@0.9.3(eslint@8.57.1)(optionator@0.9.4)(typescript@5.2.2)(vite@6.4.1(@types/node@22.19.13)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)): dependencies: @@ -40166,6 +42528,25 @@ snapshots: optionator: 0.9.4 typescript: 5.2.2 + vite-plugin-dts@4.5.4(@types/node@25.3.5)(rollup@4.59.0)(typescript@5.2.2)(vite@5.4.21(@types/node@25.3.5)(terser@5.46.0)): + dependencies: + '@microsoft/api-extractor': 7.57.7(@types/node@25.3.5) + '@rollup/pluginutils': 5.3.0(rollup@4.59.0) + '@volar/typescript': 2.4.28 + '@vue/language-core': 2.2.0(typescript@5.2.2) + compare-versions: 6.1.1 + debug: 4.4.3(supports-color@8.1.1) + kolorist: 1.8.0 + local-pkg: 1.1.2 + magic-string: 0.30.21 + typescript: 5.2.2 + optionalDependencies: + vite: 5.4.21(@types/node@25.3.5)(terser@5.46.0) + transitivePeerDependencies: + - '@types/node' + - rollup + - supports-color + vite-plugin-node-polyfills@0.23.0(rollup@4.59.0)(vite@5.4.21(@types/node@25.3.5)(terser@5.46.0)): dependencies: '@rollup/plugin-inject': 5.0.5(rollup@4.59.0) @@ -40192,7 +42573,7 @@ snapshots: vite-tsconfig-paths@5.1.4(typescript@5.2.2)(vite@6.4.1(@types/node@22.19.13)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)): dependencies: - debug: 4.4.3 + debug: 4.4.3(supports-color@8.1.1) globrex: 0.1.2 tsconfck: 3.1.6(typescript@5.2.2) optionalDependencies: @@ -40201,6 +42582,16 @@ snapshots: - supports-color - typescript + vite@5.4.21(@types/node@22.19.13)(terser@5.46.0): + dependencies: + esbuild: 0.21.5 + postcss: 8.5.6 + rollup: 4.59.0 + optionalDependencies: + '@types/node': 22.19.13 + fsevents: 2.3.3 + terser: 5.46.0 + vite@5.4.21(@types/node@25.3.5)(terser@5.46.0): dependencies: esbuild: 0.21.5 @@ -40241,17 +42632,17 @@ snapshots: tsx: 4.21.0 yaml: 2.8.2 - vitest@3.0.9(@types/debug@4.1.12)(@types/node@22.19.13)(happy-dom@20.7.0(bufferutil@4.1.0)(utf-8-validate@6.0.6))(jsdom@28.0.0(@noble/hashes@2.0.1))(msw@0.36.8)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2): + vitest@3.0.9(@types/debug@4.1.12)(@types/node@22.19.13)(happy-dom@20.7.0(bufferutil@4.1.0)(utf-8-validate@6.0.6))(jsdom@28.0.0(@noble/hashes@2.0.1))(msw@0.36.8)(terser@5.46.0): dependencies: '@vitest/expect': 3.0.9 - '@vitest/mocker': 3.0.9(msw@0.36.8)(vite@6.4.1(@types/node@22.19.13)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) + '@vitest/mocker': 3.0.9(msw@0.36.8)(vite@5.4.21(@types/node@22.19.13)(terser@5.46.0)) '@vitest/pretty-format': 3.2.4 '@vitest/runner': 3.0.9 '@vitest/snapshot': 3.0.9 '@vitest/spy': 3.0.9 '@vitest/utils': 3.0.9 chai: 5.3.3 - debug: 4.4.3 + debug: 4.4.3(supports-color@8.1.1) expect-type: 1.3.0 magic-string: 0.30.21 pathe: 2.0.3 @@ -40260,8 +42651,8 @@ snapshots: tinyexec: 0.3.2 tinypool: 1.1.1 tinyrainbow: 2.0.0 - vite: 6.4.1(@types/node@22.19.13)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2) - vite-node: 3.0.9(@types/node@22.19.13)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2) + vite: 5.4.21(@types/node@22.19.13)(terser@5.46.0) + vite-node: 3.0.9(@types/node@22.19.13)(terser@5.46.0) why-is-node-running: 2.3.0 optionalDependencies: '@types/debug': 4.1.12 @@ -40269,7 +42660,6 @@ snapshots: happy-dom: 20.7.0(bufferutil@4.1.0)(utf-8-validate@6.0.6) jsdom: 28.0.0(@noble/hashes@2.0.1) transitivePeerDependencies: - - jiti - less - lightningcss - msw @@ -40279,13 +42669,11 @@ snapshots: - sugarss - supports-color - terser - - tsx - - yaml - vitest@3.0.9(@types/debug@4.1.12)(@types/node@25.3.5)(happy-dom@20.7.0(bufferutil@4.1.0)(utf-8-validate@6.0.6))(jsdom@28.0.0(@noble/hashes@2.0.1))(msw@0.27.2)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2): + vitest@3.0.9(@types/debug@4.1.12)(@types/node@25.3.5)(happy-dom@20.7.0(bufferutil@4.1.0)(utf-8-validate@6.0.6))(jsdom@28.0.0(@noble/hashes@2.0.1))(msw@0.27.2)(terser@5.46.0): dependencies: '@vitest/expect': 3.0.9 - '@vitest/mocker': 3.0.9(msw@0.27.2)(vite@6.4.1(@types/node@22.19.13)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) + '@vitest/mocker': 3.0.9(msw@0.27.2)(vite@5.4.21(@types/node@25.3.5)(terser@5.46.0)) '@vitest/pretty-format': 3.2.4 '@vitest/runner': 3.0.9 '@vitest/snapshot': 3.0.9 @@ -40301,8 +42689,8 @@ snapshots: tinyexec: 0.3.2 tinypool: 1.1.1 tinyrainbow: 2.0.0 - vite: 6.4.1(@types/node@25.3.5)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2) - vite-node: 3.0.9(@types/node@25.3.5)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2) + vite: 5.4.21(@types/node@25.3.5)(terser@5.46.0) + vite-node: 3.0.9(@types/node@25.3.5)(terser@5.46.0) why-is-node-running: 2.3.0 optionalDependencies: '@types/debug': 4.1.12 @@ -40310,7 +42698,6 @@ snapshots: happy-dom: 20.7.0(bufferutil@4.1.0)(utf-8-validate@6.0.6) jsdom: 28.0.0(@noble/hashes@2.0.1) transitivePeerDependencies: - - jiti - less - lightningcss - msw @@ -40320,8 +42707,6 @@ snapshots: - sugarss - supports-color - terser - - tsx - - yaml vitest@4.0.18(@opentelemetry/api@1.9.0)(@types/node@25.3.5)(happy-dom@20.7.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(jsdom@28.0.0(@noble/hashes@2.0.1))(msw@0.36.8)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2): dependencies: @@ -40484,9 +42869,9 @@ snapshots: '@ethersproject/abi': 5.8.0 web3-utils: 1.10.4 - web3-eth-abi@4.1.4-dev.a0d6730.0(typescript@5.2.2)(zod@3.25.76): + web3-eth-abi@4.1.4-dev.a0d6730.0(typescript@5.8.2)(zod@3.25.76): dependencies: - abitype: 0.7.1(typescript@5.2.2)(zod@3.25.76) + abitype: 0.7.1(typescript@5.8.2)(zod@3.25.76) web3-errors: 1.1.4-dev.a0d6730.0 web3-types: 1.3.1-dev.a0d6730.0 web3-utils: 4.0.8-dev.a0d6730.0 @@ -40505,12 +42890,12 @@ snapshots: web3-utils: 4.0.8-dev.a0d6730.0 web3-validator: 2.0.4-dev.a0d6730.0 - web3-eth-contract@4.1.2-dev.a0d6730.0(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76): + web3-eth-contract@4.1.2-dev.a0d6730.0(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@6.0.6)(zod@3.25.76): dependencies: web3-core: 4.3.1-dev.a0d6730.0(bufferutil@4.1.0)(utf-8-validate@6.0.6) web3-errors: 1.1.4-dev.a0d6730.0 - web3-eth: 4.3.1-dev.a0d6730.0(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76) - web3-eth-abi: 4.1.4-dev.a0d6730.0(typescript@5.2.2)(zod@3.25.76) + web3-eth: 4.3.1-dev.a0d6730.0(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@6.0.6)(zod@3.25.76) + web3-eth-abi: 4.1.4-dev.a0d6730.0(typescript@5.8.2)(zod@3.25.76) web3-types: 1.3.1-dev.a0d6730.0 web3-utils: 4.0.8-dev.a0d6730.0 web3-validator: 2.0.4-dev.a0d6730.0 @@ -40521,13 +42906,13 @@ snapshots: - utf-8-validate - zod - web3-eth-ens@4.0.8-dev.a0d6730.0(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76): + web3-eth-ens@4.0.8-dev.a0d6730.0(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@6.0.6)(zod@3.25.76): dependencies: '@adraffy/ens-normalize': 1.11.1 web3-core: 4.3.1-dev.a0d6730.0(bufferutil@4.1.0)(utf-8-validate@6.0.6) web3-errors: 1.1.4-dev.a0d6730.0 - web3-eth: 4.3.1-dev.a0d6730.0(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76) - web3-eth-contract: 4.1.2-dev.a0d6730.0(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76) + web3-eth: 4.3.1-dev.a0d6730.0(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@6.0.6)(zod@3.25.76) + web3-eth-contract: 4.1.2-dev.a0d6730.0(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@6.0.6)(zod@3.25.76) web3-net: 4.0.8-dev.a0d6730.0(bufferutil@4.1.0)(utf-8-validate@6.0.6) web3-types: 1.3.1-dev.a0d6730.0 web3-utils: 4.0.8-dev.a0d6730.0 @@ -40546,10 +42931,10 @@ snapshots: web3-utils: 4.0.8-dev.a0d6730.0 web3-validator: 2.0.4-dev.a0d6730.0 - web3-eth-personal@4.0.8-dev.a0d6730.0(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76): + web3-eth-personal@4.0.8-dev.a0d6730.0(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@6.0.6)(zod@3.25.76): dependencies: web3-core: 4.3.1-dev.a0d6730.0(bufferutil@4.1.0)(utf-8-validate@6.0.6) - web3-eth: 4.3.1-dev.a0d6730.0(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76) + web3-eth: 4.3.1-dev.a0d6730.0(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@6.0.6)(zod@3.25.76) web3-rpc-methods: 1.1.4-dev.a0d6730.0(bufferutil@4.1.0)(utf-8-validate@6.0.6) web3-types: 1.3.1-dev.a0d6730.0 web3-utils: 4.0.8-dev.a0d6730.0 @@ -40561,12 +42946,12 @@ snapshots: - utf-8-validate - zod - web3-eth@4.3.1-dev.a0d6730.0(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76): + web3-eth@4.3.1-dev.a0d6730.0(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@6.0.6)(zod@3.25.76): dependencies: setimmediate: 1.0.5 web3-core: 4.3.1-dev.a0d6730.0(bufferutil@4.1.0)(utf-8-validate@6.0.6) web3-errors: 1.1.4-dev.a0d6730.0 - web3-eth-abi: 4.1.4-dev.a0d6730.0(typescript@5.2.2)(zod@3.25.76) + web3-eth-abi: 4.1.4-dev.a0d6730.0(typescript@5.8.2)(zod@3.25.76) web3-eth-accounts: 4.1.1-dev.a0d6730.0 web3-net: 4.0.8-dev.a0d6730.0(bufferutil@4.1.0)(utf-8-validate@6.0.6) web3-providers-ws: 4.0.8-dev.a0d6730.0(bufferutil@4.1.0)(utf-8-validate@6.0.6) @@ -40689,17 +43074,17 @@ snapshots: web3-types: 1.3.1-dev.a0d6730.0 zod: 3.25.76 - web3@4.2.1-dev.a0d6730.0(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76): + web3@4.2.1-dev.a0d6730.0(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@6.0.6)(zod@3.25.76): dependencies: web3-core: 4.3.1-dev.a0d6730.0(bufferutil@4.1.0)(utf-8-validate@6.0.6) web3-errors: 1.1.4-dev.a0d6730.0 - web3-eth: 4.3.1-dev.a0d6730.0(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76) - web3-eth-abi: 4.1.4-dev.a0d6730.0(typescript@5.2.2)(zod@3.25.76) + web3-eth: 4.3.1-dev.a0d6730.0(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@6.0.6)(zod@3.25.76) + web3-eth-abi: 4.1.4-dev.a0d6730.0(typescript@5.8.2)(zod@3.25.76) web3-eth-accounts: 4.1.1-dev.a0d6730.0 - web3-eth-contract: 4.1.2-dev.a0d6730.0(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76) - web3-eth-ens: 4.0.8-dev.a0d6730.0(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76) + web3-eth-contract: 4.1.2-dev.a0d6730.0(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@6.0.6)(zod@3.25.76) + web3-eth-ens: 4.0.8-dev.a0d6730.0(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@6.0.6)(zod@3.25.76) web3-eth-iban: 4.0.8-dev.a0d6730.0 - web3-eth-personal: 4.0.8-dev.a0d6730.0(bufferutil@4.1.0)(typescript@5.2.2)(utf-8-validate@6.0.6)(zod@3.25.76) + web3-eth-personal: 4.0.8-dev.a0d6730.0(bufferutil@4.1.0)(typescript@5.8.2)(utf-8-validate@6.0.6)(zod@3.25.76) web3-net: 4.0.8-dev.a0d6730.0(bufferutil@4.1.0)(utf-8-validate@6.0.6) web3-providers-http: 4.1.1-dev.a0d6730.0 web3-providers-ws: 4.0.8-dev.a0d6730.0(bufferutil@4.1.0)(utf-8-validate@6.0.6) diff --git a/src/components/MultiHopTrade/hooks/useGetTradeQuotes/getTradeQuoteOrRateInput.ts b/src/components/MultiHopTrade/hooks/useGetTradeQuotes/getTradeQuoteOrRateInput.ts index 9795b816ce1..f6ef1ae4e95 100644 --- a/src/components/MultiHopTrade/hooks/useGetTradeQuotes/getTradeQuoteOrRateInput.ts +++ b/src/components/MultiHopTrade/hooks/useGetTradeQuotes/getTradeQuoteOrRateInput.ts @@ -34,6 +34,7 @@ export type GetTradeQuoteOrRateInputArgs = { sellAmountBeforeFeesCryptoPrecision: string allowMultiHop: boolean affiliateBps: string + affiliateAddress?: string isSnapInstalled?: boolean pubKey?: string | undefined quoteOrRate: 'quote' | 'rate' @@ -53,6 +54,7 @@ export const getTradeQuoteOrRateInput = async ({ sellAmountBeforeFeesCryptoPrecision, allowMultiHop, affiliateBps, + affiliateAddress, slippageTolerancePercentageDecimal, pubKey, }: GetTradeQuoteOrRateInputArgs): Promise => { @@ -68,6 +70,7 @@ export const getTradeQuoteOrRateInput = async ({ receiveAddress, accountNumber: sellAccountNumber, affiliateBps, + affiliateAddress, allowMultiHop, slippageTolerancePercentageDecimal, quoteOrRate: 'quote', @@ -82,6 +85,7 @@ export const getTradeQuoteOrRateInput = async ({ receiveAddress, accountNumber: sellAccountNumber, affiliateBps, + affiliateAddress, allowMultiHop, slippageTolerancePercentageDecimal, quoteOrRate: 'rate', diff --git a/src/components/MultiHopTrade/hooks/useGetTradeQuotes/useGetTradeQuotes.tsx b/src/components/MultiHopTrade/hooks/useGetTradeQuotes/useGetTradeQuotes.tsx index 68d4a3f7226..35d05a12313 100644 --- a/src/components/MultiHopTrade/hooks/useGetTradeQuotes/useGetTradeQuotes.tsx +++ b/src/components/MultiHopTrade/hooks/useGetTradeQuotes/useGetTradeQuotes.tsx @@ -23,6 +23,7 @@ import { useGetSwapperTradeQuoteOrRate } from './hooks/useGetSwapperTradeQuoteOr import { useTradeReceiveAddress } from '@/components/MultiHopTrade/components/TradeInput/hooks/useTradeReceiveAddress' import { getTradeQuoteOrRateInput } from '@/components/MultiHopTrade/hooks/useGetTradeQuotes/getTradeQuoteOrRateInput' +import { useAffiliateTracking } from '@/hooks/useAffiliateTracking/useAffiliateTracking' import { useHasFocus } from '@/hooks/useHasFocus' import { useWallet } from '@/hooks/useWallet/useWallet' import { useWalletSupportsChain } from '@/hooks/useWalletSupportsChain/useWalletSupportsChain' @@ -104,6 +105,7 @@ export const useGetTradeQuotes = () => { const { manualReceiveAddress, walletReceiveAddress } = useTradeReceiveAddress() const receiveAddress = manualReceiveAddress ?? walletReceiveAddress const sellAmountCryptoPrecision = useAppSelector(selectInputSellAmountCryptoPrecision) + const affiliateAddress = useAffiliateTracking() const sellAccountId = useAppSelector(selectFirstHopSellAccountId) const buyAccountId = useAppSelector(selectLastHopBuyAccountId) @@ -205,7 +207,7 @@ export const useGetTradeQuotes = () => { sellAmountBeforeFeesCryptoPrecision: sellAmountCryptoPrecision, allowMultiHop: true, affiliateBps: getAffiliateBps(sellAsset, buyAsset), - // Pass in the user's slippage preference if it's set, else let the swapper use its default + affiliateAddress: affiliateAddress ?? undefined, slippageTolerancePercentageDecimal: userSlippageTolerancePercentageDecimal, pubKey: skipDeviceDerivation && sellAccountId @@ -217,6 +219,7 @@ export const useGetTradeQuotes = () => { } }, [ activeTrade, + affiliateAddress, buyAsset, dispatch, isFetchStep, @@ -247,6 +250,7 @@ export const useGetTradeQuotes = () => { isBuyAssetChainSupported, hopExecutionMetadata, activeTrade, + affiliateAddress, }, ], queryFn: queryFnOrSkip, diff --git a/src/components/MultiHopTrade/hooks/useGetTradeRateInput.ts b/src/components/MultiHopTrade/hooks/useGetTradeRateInput.ts index 94d75674001..9b3f3c1375e 100644 --- a/src/components/MultiHopTrade/hooks/useGetTradeRateInput.ts +++ b/src/components/MultiHopTrade/hooks/useGetTradeRateInput.ts @@ -9,6 +9,7 @@ import type { GetTradeQuoteOrRateInputArgs } from './useGetTradeQuotes/getTradeQ import { getTradeQuoteOrRateInput } from './useGetTradeQuotes/getTradeQuoteOrRateInput' import { KeyManager } from '@/context/WalletProvider/KeyManager' +import { useAffiliateTracking } from '@/hooks/useAffiliateTracking/useAffiliateTracking' import { useWallet } from '@/hooks/useWallet/useWallet' import { useWalletSupportsChain } from '@/hooks/useWalletSupportsChain/useWalletSupportsChain' import { getAffiliateBps } from '@/lib/fees/utils' @@ -79,6 +80,7 @@ export const useGetTradeRateInput = ({ const sellAccountNumber = sellAccountMetadata?.bip44Params?.accountNumber const affiliateBps = useMemo(() => getAffiliateBps(sellAsset, buyAsset), [sellAsset, buyAsset]) + const affiliateAddress = useAffiliateTracking() const walletType = useAppSelector(selectWalletType) @@ -106,11 +108,12 @@ export const useGetTradeRateInput = ({ sellAmountBeforeFeesCryptoPrecision: sellAmountCryptoPrecision, allowMultiHop: true, affiliateBps, - // Pass in the user's slippage preference if it's set, else let the swapper use its default + affiliateAddress: affiliateAddress ?? undefined, slippageTolerancePercentageDecimal: userSlippageTolerancePercentageDecimal, pubKey, }), [ + affiliateAddress, affiliateBps, buyAsset, pubKey, @@ -126,6 +129,7 @@ export const useGetTradeRateInput = ({ const tradeInputQueryKey = useMemo( () => ({ + affiliateAddress, buyAsset, sellAmountCryptoPrecision, sellAsset, @@ -140,6 +144,7 @@ export const useGetTradeRateInput = ({ receiveAddress, }), [ + affiliateAddress, buyAsset, isBuyAssetChainSupported, receiveAccountMetadata, diff --git a/src/hooks/useAffiliateTracking/index.ts b/src/hooks/useAffiliateTracking/index.ts new file mode 100644 index 00000000000..87d16f99386 --- /dev/null +++ b/src/hooks/useAffiliateTracking/index.ts @@ -0,0 +1 @@ +export { useAffiliateTracking, AFFILIATE_STORAGE_KEY } from './useAffiliateTracking' diff --git a/src/hooks/useAffiliateTracking/useAffiliateTracking.ts b/src/hooks/useAffiliateTracking/useAffiliateTracking.ts new file mode 100644 index 00000000000..1e34b636028 --- /dev/null +++ b/src/hooks/useAffiliateTracking/useAffiliateTracking.ts @@ -0,0 +1,89 @@ +import { useEffect, useState } from 'react' +import { isAddress } from 'viem' + +const AFFILIATE_STORAGE_KEY = 'shapeshift_affiliate_address' +const AFFILIATE_TIMESTAMP_KEY = 'shapeshift_affiliate_timestamp' +const AFFILIATE_TTL_MS = 30 * 24 * 60 * 60 * 1000 // 30 days + +const isAffiliateExpired = (timestamp: string | null): boolean => { + if (!timestamp) return true + const storedTime = Number(timestamp) + if (Number.isNaN(storedTime)) return true + return Date.now() - storedTime > AFFILIATE_TTL_MS +} + +const clearAffiliateStorage = (): void => { + try { + window.localStorage.removeItem(AFFILIATE_STORAGE_KEY) + window.localStorage.removeItem(AFFILIATE_TIMESTAMP_KEY) + } catch (error) { + console.warn('Error clearing affiliate data from localStorage:', error) + } +} + +export const readStoredAffiliate = (): string | null => { + if (typeof window === 'undefined') return null + + try { + const address = window.localStorage.getItem(AFFILIATE_STORAGE_KEY) + const timestamp = window.localStorage.getItem(AFFILIATE_TIMESTAMP_KEY) + + if (!address) return null + + if (!isAddress(address)) { + clearAffiliateStorage() + return null + } + + if (isAffiliateExpired(timestamp)) { + clearAffiliateStorage() + return null + } + + return address + } catch (error) { + console.warn('Error reading affiliate address from localStorage:', error) + return null + } +} + +export const useAffiliateTracking = (): string | null => { + const [storedAffiliateAddress, setStoredAffiliateAddress] = useState( + readStoredAffiliate, + ) + + useEffect(() => { + if (typeof window === 'undefined') return + + const hash = window.location.hash + const hashQueryIdx = hash.indexOf('?') + const searchStr = hashQueryIdx !== -1 ? hash.substring(hashQueryIdx) : window.location.search + const params = new URLSearchParams(searchStr) + const affiliateParam = params.get('affiliate') + + if (!affiliateParam) return + + const isValidEvmAddress = isAddress(affiliateParam) + if (!isValidEvmAddress) return + + // If we already have a non-expired affiliate stored, only override if it's different AND expired + if (storedAffiliateAddress) { + if (affiliateParam === storedAffiliateAddress) return + + const timestamp = window.localStorage.getItem(AFFILIATE_TIMESTAMP_KEY) + if (!isAffiliateExpired(timestamp)) return + } + + try { + window.localStorage.setItem(AFFILIATE_STORAGE_KEY, affiliateParam) + window.localStorage.setItem(AFFILIATE_TIMESTAMP_KEY, String(Date.now())) + setStoredAffiliateAddress(affiliateParam) + } catch (error) { + console.warn('Error storing affiliate address to localStorage:', error) + } + }, [storedAffiliateAddress]) + + return storedAffiliateAddress +} + +export { AFFILIATE_STORAGE_KEY } diff --git a/src/lib/tradeExecution.ts b/src/lib/tradeExecution.ts index 9d3149d0519..f36147a5800 100644 --- a/src/lib/tradeExecution.ts +++ b/src/lib/tradeExecution.ts @@ -46,7 +46,9 @@ import { assertGetUtxoChainAdapter } from './utils/utxo' import { getConfig } from '@/config' import { queryClient } from '@/context/QueryClientProvider/queryClient' +import { readStoredAffiliate } from '@/hooks/useAffiliateTracking/useAffiliateTracking' import { fetchIsSmartContractAddressQuery } from '@/hooks/useIsSmartContractAddress/useIsSmartContractAddress' +import { getAffiliateBps } from '@/lib/fees/utils' import { poll } from '@/lib/poll/poll' import { getOrCreateUser } from '@/lib/user/api' import { selectCurrentSwap, selectWalletEnabledAccountIds } from '@/state/slices/selectors' @@ -210,10 +212,15 @@ export class TradeExecution { queryClient.fetchQuery({ queryKey: ['createSwap', swap.id], queryFn: () => { + const affiliateAddress = readStoredAffiliate() ?? undefined + const affiliateBps = getAffiliateBps(updatedSwap.sellAsset, updatedSwap.buyAsset) return axios.post(`${import.meta.env.VITE_SWAPS_SERVER_URL}/swaps`, { swapId: swap.id, sellTxHash, userId: userData?.id, + affiliateAddress, + affiliateBps, + origin: 'web', sellAsset: updatedSwap.sellAsset, buyAsset: updatedSwap.buyAsset, sellAmountCryptoBaseUnit: updatedSwap.sellAmountCryptoBaseUnit, diff --git a/src/pages/Trade/tabs/TradeTab.tsx b/src/pages/Trade/tabs/TradeTab.tsx index b05d896a7ae..d00a1bbc68a 100644 --- a/src/pages/Trade/tabs/TradeTab.tsx +++ b/src/pages/Trade/tabs/TradeTab.tsx @@ -13,6 +13,7 @@ import { LimitOrderRoutePaths } from '@/components/MultiHopTrade/components/Limi import { TopAssetsCarousel } from '@/components/MultiHopTrade/components/TradeInput/components/TopAssetsCarousel' import { MultiHopTrade } from '@/components/MultiHopTrade/MultiHopTrade' import { TradeInputTab, TradeRoutePaths } from '@/components/MultiHopTrade/types' +import { useAffiliateTracking } from '@/hooks/useAffiliateTracking/useAffiliateTracking' import { blurBackgroundSx, gridOverlaySx } from '@/pages/Trade/constants' import { LIMIT_ORDER_ROUTE_ASSET_SPECIFIC, TRADE_ROUTE_ASSET_SPECIFIC } from '@/Routes/RoutesCommon' import { selectHasUserEnteredAmount } from '@/state/slices/tradeInputSlice/selectors' @@ -34,6 +35,8 @@ export const TradeTab = memo(() => { const [isSmallerThanMd] = useMediaQuery(`(max-width: ${breakpoints.md})`, { ssr: false }) const hasUserEnteredAmount = useAppSelector(selectHasUserEnteredAmount) + useAffiliateTracking() + // Extract params directly from location.pathname using matchPath instead of useParams() // Somehow, the route below is overriden by /:chainId/:assetSubId/:nftId, so the wrong pattern matching would be used with useParams() // There is probably a nicer way to make this work by removing assetIdPaths from trade routes in RoutesCommon,