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

1.0 KiB

@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.