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.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Volume-based PUMP token reward system with day-indexed epochs, pro-rata distribution, accumulator tracking, and cross-program claiming on Solana.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
설치 방법 보기설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.
Implement and maintain the token incentive system that rewards traders with PUMP governance tokens based on their SOL trading volume, using a day-based epoch system with pro-rata distribution.
The Pump protocol incentivizes trading activity by distributing PUMP tokens to users proportional to their SOL trading volume. The system tracks volume in day-long epochs, with each day having a pre-configured token supply pool.
Volume tracking operates in fixed-length epochs defined by the GlobalVolumeAccumulator:
startTime — epoch system start timestampsecondsInADay — epoch length (typically 86,400 seconds)solVolumes[] — array of total SOL volume per daytotalTokenSupply[] — array of PUMP tokens available per daydayIndex = Math.floor((currentTimestamp - startTime) / secondsInADay)
$$\text{tokens} = \frac{\text{userSolVolume} \times \text{dayTokenSupply}}{\text{globalSolVolume}}$$
initUserVolumeAccumulator) — creates the user's volume accumulator PDAsyncUserVolumeAccumulator) — updates the accumulator with latest volume dataclaimTokenIncentives) — claims accumulated PUMP token rewardscloseUserVolumeAccumulator) — closes the account, reclaims rentSince users trade on both the bonding curve (Pump) and AMM (PumpAMM):
fetchUserVolumeAccumulatorTotalStats(user) — sums across both programsgetTotalUnclaimedTokensBothPrograms(user) — combined unclaimed rewardsclaimTokenIncentivesBothPrograms(user, payer) — claims from bothsyncUserVolumeAccumulatorBothPrograms(user) — syncs both| Case | Behavior |
|---|---|
| Zero global volume for a day | No tokens distributed (division by zero guarded) |
| User never synced | Only totalUnclaimedTokens from account state returned |
| Day index beyond arrays | No additional rewards computed |
| User updated same day | currentDayTokens returns preview, totalUnclaimedTokens excludes it |
tokenIncentives.ts — no side effects, no RPC callscurrentTimestamp parameter for testabilityBN arithmetic — never convert to JavaScript numbertotalUnclaimedTokens does NOT include the current day's rewards — only finalized dayscurrentDayTokens returns 0 if the user's last update was on a different day (sync first)startTime, not from epoch 0아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.
로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.
아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.
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.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
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.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Manage Apple Reminders via remindctl CLI (list, add, edit, complete, delete). Supports lists, date filters, and JSON/plain output.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Create, search, and manage Bear notes via grizzly CLI.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
BluOS CLI (blu) for discovery, playback, grouping, and volume.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.