Skip to content

feat: added vrf ephemeral test queue, delegation record and metadata for mb-test-validator#1281

Merged
GabrielePicco merged 1 commit into
masterfrom
feat/support-vrf-ephemeral-test-queue
Jun 4, 2026
Merged

feat: added vrf ephemeral test queue, delegation record and metadata for mb-test-validator#1281
GabrielePicco merged 1 commit into
masterfrom
feat/support-vrf-ephemeral-test-queue

Conversation

@jonasXchen
Copy link
Copy Markdown
Contributor

Summary

Adds a feature-gated ephemeral test queue (Sc9MJUng…) that is exempt from the per-request VRF fee — the same treatment as the canonical DEFAULT_EPHEMERAL_QUEUE — so a locally-created delegated queue can be served inside an Ephemeral Rollup without a fee-payer escrow. The exemption is centralized in is_fee_exempt_ephemeral_queue() and applied consistently across request_randomness, provide_randomness, and purge_expired_requests; the test queue is only compiled in under the ephemeral-test-queue Cargo feature, so production builds are unchanged.

Breaking Changes

  • None
    (Feature is off by default. Without ephemeral-test-queue, only DEFAULT_EPHEMERAL_QUEUE/5hBR5… is exempt — identical to current behavior. The three fee call-sites were refactored to a shared helper with no behavior change; the SDK gains additive constants.)

Test Plan

Both build configs compile: cargo build-sbf --manifest-path program/Cargo.toml (production) and … --features ephemeral-test-queue.
Verified end-to-end locally: solana-test-validator (with the feature build + the pre-delegated Sc9MJ… queue/record/metadata) + ephemeral-validator + vrf-oracle (default paywJ identity) → roll-dice-delegated request was fulfilled in the ER (player state updated), with no fee charged and no Feepayer … was modified without being delegated / Sum of account balances … do not match errors.
Production fee path is unchanged: without the feature, is_fee_exempt_ephemeral_queue only matches DEFAULT_EPHEMERAL_QUEUE.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Jun 3, 2026

Warning

Review limit reached

@jonasXchen, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 45 minutes and 21 seconds. Learn how PR review limits work.

Your organization has run out of usage credits. Purchase more in the billing tab.

⌛ How to resolve this issue?

After more reviews become available, 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 include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: e51ff734-e401-432a-a23a-e947d79fd42e

📥 Commits

Reviewing files that changed from the base of the PR and between ab56862 and 298f902.

📒 Files selected for processing (2)
  • .github/packages/npm-package/mbTestValidator.ts
  • .github/packages/npm-package/scripts/fetch-local-dumps.sh
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/support-vrf-ephemeral-test-queue

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

Copy link
Copy Markdown
Collaborator

@GabrielePicco GabrielePicco left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@GabrielePicco GabrielePicco merged commit 07b2e8d into master Jun 4, 2026
3 checks passed
@GabrielePicco GabrielePicco deleted the feat/support-vrf-ephemeral-test-queue branch June 4, 2026 08:14
thlorenz added a commit that referenced this pull request Jun 5, 2026
* master:
  fix: reject short account responses (#1290)
  fix: wait for pubsub listeners before reconnect (#1253)
  fix: retry failed program subscriptions (#1268)
  release: 0.12.0 (#1299)
  Ignore compute unit price in processor fees (#1298)
  Recover recent pending intents on restart (#1296)
  chore: adjust log level (#1297)
  release: v0.11.4 (#1292)
  fix(scheduler): remove block subscription in the scheduler (#1293)
  fix(committor): race-condition on cleanup (#1291)
  Handle ALT extend invalid instruction data (#1287)
  fix: use provided compute limits instead of defaults (#1289)
  feat: snapshot accountsdb even in the replica mode (#1282)
  feat: added vrf ephemeral test queue, delegation record and metadata for mb-test-validator (#1281)
  fix: use wire size (1232), not encoded size (1644), for tx fit checks! (#1285)
  chore: simplify, rename out_of_order_slot and add a comment (#1284)
  fix: execute post-delegation actions after clone (#1278)
  Handle oversized single-stage committor transactions (#1277)
  Reduce committor RPC confirmation calls (#1271)
  fix: preserve streams on optimize failure (#1273)
thlorenz added a commit that referenced this pull request Jun 5, 2026
* master:
  fix: reject short account responses (#1290)
  fix: wait for pubsub listeners before reconnect (#1253)
  fix: retry failed program subscriptions (#1268)
  release: 0.12.0 (#1299)
  Ignore compute unit price in processor fees (#1298)
  Recover recent pending intents on restart (#1296)
  chore: adjust log level (#1297)
  release: v0.11.4 (#1292)
  fix(scheduler): remove block subscription in the scheduler (#1293)
  fix(committor): race-condition on cleanup (#1291)
  Handle ALT extend invalid instruction data (#1287)
  fix: use provided compute limits instead of defaults (#1289)
  feat: snapshot accountsdb even in the replica mode (#1282)
  feat: added vrf ephemeral test queue, delegation record and metadata for mb-test-validator (#1281)
  fix: use wire size (1232), not encoded size (1644), for tx fit checks! (#1285)
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.

2 participants