Skip to content

fix: solana-launchpad-wars unit usd casing - #1833

Open
Flotapponnier wants to merge 4 commits into
devfrom
fix/solana-launchpad-wars-unit
Open

fix: solana-launchpad-wars unit usd casing#1833
Flotapponnier wants to merge 4 commits into
devfrom
fix/solana-launchpad-wars-unit

Conversation

@Flotapponnier

Copy link
Copy Markdown
Collaborator

Fix unit field: USD -> usd to pass SpecSchema validation.

- Replace Helius enhanced API with standard getTransaction JSON-RPC
- Add pump.fun, photon, bullx, gmgn (9 accounts), axiom (20 accounts), fomo
- FOMO: USDC fee detection via SPL token balance diffs (FeeOwners + FeeToken)
- Per-account cursors keyed as plt:feeAccount for independent pagination
- v0 tx support: custom accountKey unmarshaler + loadedAddresses appended
- Sort allSigs by slot before stride-sample (fixes temporal bias on Axiom 20 accounts)
- Add from_cursor idempotency key to raw_counts (migration 003)
- Add solana_exec_cu_samples table + InsertCUSamples/PurgeCUSamples/PurgeEvents
- Materializer calls purge functions after each cycle
Parse ComputeBudget::SetComputeUnitLimit (discriminator 0x03) from tx
instructions. Priority fee schedule is based on requested CU limit, not
actual consumption — dividing by consumed inflates price for over-provisioned txs.
Falls back to cu_consumed when the instruction is absent.
…counts

- ComputeBudget disc 0x02=SetComputeUnitLimit(u32), 0x03=SetComputeUnitPrice(u64).
  Previous code read 0x03 as u32 → CULimit was the low 32 bits of the price, random noise.
- CUPriceDeclared read directly from disc 0x03 instruction — no division, no estimation.
  cuPriceMicro = CUPriceDeclared; 0 when instruction absent (base fee only, not a price).
- Raw counts now computed from merged+deduped allSigs, not per-account.
  A tx touching 2 Axiom collectors was counted twice before; now exactly once.
  from_cursor is a compound of all account cursors for idempotency on retry.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant