本文へ移動
cccskills
無料GitHub で公開

pump-solana-architecture

Design and derive Program Derived Addresses (PDAs) and account layouts across the Pump ecosystem's four Solana programs — global singletons, per-token accounts, per-user accumulators, and cross-program coordination patterns.

インストール方法を見る

含まれるファイル(1)

  • SKILL.md4.0 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Solana Program Architecture — PDAs, Accounts & Multi-Program Coordination

Design, derive, and manage Program Derived Addresses (PDAs) and account layouts across the Pump ecosystem's four Solana programs with cross-program invocation patterns.

On-Chain Programs

ProgramIDPurpose
Pump6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6PBonding curve operations
PumpAMMpAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEAGraduated AMM pools
PumpFeespfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZFee sharing
MayhemMAyhSmzXzV1pTf7LsNkrNwkWKTo4ougAJ1PPg47MD4eMayhem-mode tokens

PDA Categories

Global Singletons

  • GLOBAL_PDA — ["global"] on Pump — protocol-wide config
  • FEE_CONFIG_PDA — ["fee-config"] on Pump — tiered fee settings
  • GLOBAL_VOLUME_ACCUMULATOR_PDA — ["global_volume_accumulator"] — protocol-wide volume

Per-Token PDAs

  • bondingCurvePda(mint) — ["bonding-curve", mint] — token bonding curve state
  • bondingCurveTokenAccountPda(mint) — ["bonding-curve-token-account", mint]
  • feeSharingConfigPda(mint) — ["sharing-config", mint] on PumpFees
  • canonicalPumpPoolPda(mint) — AMM pool for graduated token

Per-User PDAs

  • creatorVaultPda(creator) — ["creator-vault", creator] on Pump
  • ammCreatorVaultPda(creator) — ["creator_vault", creator] on PumpAMM
  • userVolumeAccumulatorPda(user) — ["user_volume_accumulator", user]

Mayhem PDAs

  • mayhemMetadataPda(mint) — ["mayhem_metadata", mint] on Mayhem
  • mayhemWsolPda() — ["mayhem_wsol"] on Mayhem

BothPrograms Pattern

Many operations span both Pump and PumpAMM — the SDK provides aggregation:

MethodDescription
getCreatorVaultBalanceBothProgramsSum balance from both vaults
collectCoinCreatorFeeInstructionsCollect from both programs
fetchUserVolumeAccumulatorTotalStatsAggregate volume across programs
claimTokenIncentivesBothProgramsClaim rewards from both

Token Lifecycle Cross-Program Flow

Pump Program                    PumpAMM Program
┌─────────────┐                 ┌──────────────────┐
│ create      │                 │                  │
│ buy / sell  │ ── migrate ──►  │ AMM trading      │
│ graduate    │                 │ fee collection   │
└─────────────┘                 └──────────────────┘
       │                                │
       └──── PumpFees Program ──────────┘
             (fee sharing)

Account Extension

Bonding curve accounts may need extension to BONDING_CURVE_NEW_SIZE (151 bytes) before certain operations:

const extendIx = await PUMP_SDK.extendAccountInstruction({
    bondingCurvePda: bondingCurvePda(mint),
    bondingCurveAccountInfo
});

Patterns to Follow

  • Use findProgramAddressSync for all PDA derivation — never manually compute bump seeds
  • Group related account fetches into a single getMultipleAccountsInfo call
  • Always check account existence before decoding — use nullable decoders
  • Extend accounts before migration or setCreator operations

Common Pitfalls

  • Creator vault PDA seeds differ: "creator-vault" (Pump, hyphen) vs "creator_vault" (AMM, underscore)
  • canonicalPumpPoolPda uses the external pump-swap-sdk, not the Pump program
  • Mayhem PDAs are on a separate program (MAyhSm...)
  • PDA derivation failures indicate an invalid bump — the address is off the Ed25519 curve

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

1password

無料

Set up and use 1Password CLI (op). Use when installing the CLI, enabling desktop app integration, signing in (single or multi-account), or reading/injecting/running secrets via op.

日本語の概要は準備中です。原文の説明を表示しています。

x402agent/SolanaOS92026年7月23日 更新

Manage Apple Notes via the `memo` CLI on macOS (create, view, edit, delete, search, move, and export notes). Use when a user asks SolanaOS to add a note, list notes, search notes, or manage note folders.

日本語の概要は準備中です。原文の説明を表示しています。

x402agent/SolanaOS92026年7月23日 更新

Manage Apple Reminders via remindctl CLI (list, add, edit, complete, delete). Supports lists, date filters, and JSON/plain output.

日本語の概要は準備中です。原文の説明を表示しています。

x402agent/SolanaOS92026年7月23日 更新

Create, search, and manage Bear notes via grizzly CLI.

日本語の概要は準備中です。原文の説明を表示しています。

x402agent/SolanaOS92026年7月23日 更新

Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.

日本語の概要は準備中です。原文の説明を表示しています。

x402agent/SolanaOS92026年7月23日 更新

blucli

無料

BluOS CLI (blu) for discovery, playback, grouping, and volume.

日本語の概要は準備中です。原文の説明を表示しています。

x402agent/SolanaOS92026年7月23日 更新

x402agent のスキルをすべて見る

このスキルの問題を報告する