// GET /api/wallet?owner=
: that wallet's blanks, cards, $GLITCH and SOL, and how much of // its per-wave and per-tier allowance it has used. Public chain data, but it costs RPC calls, so // it's rate limited per client. import { getWallet } from '../../server/card.ts' import { ConfigError, configFailure, contextFor, gate, type CardEnv } from '../../server/env.ts' import { failure, json } from '../../server/http.ts' export const onRequestGet: PagesFunction = async ({ request, env }) => { const params = new URL(request.url).searchParams if ([...params.keys()].some((k) => k !== 'owner')) return json({ error: 'Expected ?owner=
.', code: 'bad-request' }, 400) const refused = await gate(request, env, 'wallet', 40) if (refused) return refused try { return json(await getWallet(await contextFor(env), params.get('owner'))) } catch (err) { return err instanceof ConfigError ? configFailure(err) : failure(err, 'wallet') } }