Files
pyre/packages/solana/README.md
RogueWave c20094ab56 chore: scaffold PYRE MVP monorepo (structure + docs)
pnpm + TypeScript workspace per design doc §13:
- apps/{web,api,worker} skeletons (Next.js 16, Fastify 5, BullMQ)
- packages/{core,solana,prometheus,db,config} (core has real types/DTOs;
  solana/prometheus are stubs)
- programs/pyre-core placeholder (future Anchor, v1.0)
- docs/: PYRE_MVP_DESIGN (canonical), ARCHITECTURE, SECURITY, TOKEN_CLASSIFICATION
- CLAUDE.md, README, .env.example (no private-key var by design)

Skeleton + docs only — no Solana/business logic yet. All workspaces typecheck clean.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-31 02:20:55 +00:00

34 lines
1.0 KiB
Markdown

# @pyre/solana
Solana transaction helpers for PYRE.
## Purpose
Token-account reading and **unsigned** transaction construction for the burner
flow. Per §13 its responsibilities are:
- Token-account parsing.
- Close-account transaction builder.
- Burn transaction builder.
- Simulation helpers.
- Transaction decoder (for preview matching).
## Trust rules (load-bearing)
- PYRE never holds private keys — this package builds **unsigned** transactions;
signing happens client-side in the user's wallet.
- Recovered ATA rent defaults to the user's own wallet.
- Always simulate, then **decode** and match against the user-facing preview
before requesting a signature.
- Classic SPL only in the MVP. Skip Token-2022, NFTs, and unsupported layouts.
## Status
**Stubs only.** Every exported function throws `Error("not implemented")`.
## TODO
- Implement `parseTokenAccounts`, `buildCloseEmptyAccountsTx`, `buildBurnTx`,
`simulateTransaction`, and `decodeTransaction`.
- Wire classification through `@pyre/core`.