feat: added vrf ephemeral test queue, delegation record and metadata for mb-test-validator#1281
Conversation
…r mb test validator
|
Warning Review limit reached
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 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 configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (2)
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
* 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)
* 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)
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
(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.