Skip to content

Calculate USD value for Drift perps without spot mint#44

Closed
zknpr wants to merge 1 commit intomainfrom
fix-drift-perp-price-todo-9575155516090815336
Closed

Calculate USD value for Drift perps without spot mint#44
zknpr wants to merge 1 commit intomainfrom
fix-drift-perp-price-todo-9575155516090815336

Conversation

@zknpr
Copy link
Copy Markdown
Owner

@zknpr zknpr commented Feb 15, 2026

Implemented the TODO in projects/neutral-trade/utils/drift.js to calculate the USD value of perpetual positions that do not have a corresponding spot token mint (e.g., points markets or pre-launch markets like HYPE-PERP).

The fix involves:

  1. Retrieving the PerpMarket account info from the cached perpAccountMap.
  2. Reading the last_oracle_price directly from the account data at offset 72 (corresponding to amm.historical_oracle_data.last_oracle_price in Drift V2 layout).
  3. Calculating the USD value using (base_asset_amount * price) / 10^9, assuming standard Drift precision (9 decimals for base asset, 6 decimals for price/quote).
  4. Adding the result to the api accumulator as USDC.

This ensures that TVL for markets like HYPE-PERP is correctly accounted for.
Verified logic with targeted scripts checking offsets and values against live mainnet data.


PR created automatically by Jules for task 9575155516090815336 started by @zknpr

Implemented logic to read the last oracle price from the Drift V2 PerpMarket account and calculate the USD value for positions where the base token mint is missing (e.g. HYPE-PERP). This resolves a TODO in projects/neutral-trade/utils/drift.js.

Co-authored-by: zknpr <96851588+zknpr@users.noreply.github.com>
@google-labs-jules
Copy link
Copy Markdown

👋 Jules, reporting for duty! I'm here to lend a hand with this pull request.

When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down.

I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job!

For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with @jules. You can find this option in the Pull Request section of your global Jules UI settings. You can always switch back!

New to Jules? Learn more at jules.google/docs.


For security, I will only act on instructions from the user who triggered this task.

@gemini-code-assist
Copy link
Copy Markdown

Warning

You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again!

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Feb 15, 2026

Warning

Rate limit exceeded

@zknpr has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 7 minutes and 26 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

📥 Commits

Reviewing files that changed from the base of the PR and between 2d20682 and c113262.

📒 Files selected for processing (1)
  • projects/neutral-trade/utils/drift.js
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch fix-drift-perp-price-todo-9575155516090815336

Comment @coderabbitai help to get the list of available commands and usage tips.

@zknpr
Copy link
Copy Markdown
Owner Author

zknpr commented Mar 8, 2026

Closing: duplicate of PR #73 (drift pricing). #73 has better precision comments and clearer variable naming.

@zknpr zknpr closed this Mar 8, 2026
@google-labs-jules
Copy link
Copy Markdown

Closing: duplicate of PR #73 (drift pricing). #73 has better precision comments and clearer variable naming.

Understood. Acknowledging that this PR is a duplicate and is now closed. Stopping work on this task.

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