Skip to content

fix(fees): align Studio execution budget floor with Consensus - #1783

Merged
ci-core-e2e-runner[bot] merged 1 commit into
v0.123-devfrom
fix/v0.123-execution-budget-floor
Sep 28, 2026
Merged

ci-core-e2e-runner[bot] merged 1 commit into
v0.123-devfrom
fix/v0.123-execution-budget-floor

Conversation

@MuncleUscles

@MuncleUscles MuncleUscles commented Sep 28, 2026 •

Copy link
Copy Markdown
Member

Problem and outcome

The v0.6 JS/Studio lane in genlayer-e2e #796 fails 054_fee_consensus_parity: Studio's sim_getFeeConfig reports an execution-budget admission floor of 76,548,000,000,000 wei while the updated Consensus policy reports 78,852,000,000,000 wei. Studio still priced a 512-byte receipt for admission. Consensus now reserves the configured 1,024-byte receipt wrapper plus 64 terminal-output bytes.

This PR makes Studio's admission quote and validation use the same receipt-byte floor as Consensus. At the default receipt price, the floor and derived default fee deposit rise by 2,304,000,000,000 wei.

Delivery context

Depends-On: genlayerlabs/genlayer-consensus#1692

Target: v0.123-dev at a0300c398528f743465c4e060c80877ced3873c5. The composed qualification source is genlayer-e2e #796, with Node #2017. The separate JS SDK fallback correction is genlayer-js #223; E2E #796 includes both PRs. Studio #1774 is a separate draft GenVM allocation change with different hunks in fees.py and a temporary source pin; it is excluded from this fee-floor cut.

Implementation and validation

  • Price receiptWrapperBytes + 64 through the existing proposed-receipt gas formula. Keep the legacy 512-byte estimator for its other callers.
  • Check the canonical 78.852-trillion-wei quote, a non-default wrapper, exact-floor admission, floor-minus-one rejection, and post-activation top-ups under a locked policy.
  • Studio fee suite: 477 passed.
  • Studio unit suite: 1,635 passed with host socket permissions. The first sandboxed attempt passed 1,623 and blocked 12 Unix-socket tests; all 12 passed at host level.
  • Changed-file pre-commit hooks and git diff --check: passed.

The admission floor is a protocol compatibility change. A Studio transaction funded at the former floor may need a top-up after this revision; the locked-policy top-up test covers formula and price selection. Full cross-repository E2E qualification remains with #796 after it includes this PR.

User-facing release notes

Studio fee estimates now match the v0.6 minimum execution budget required by Consensus.

Price the proposed receipt wrapper plus the 64-byte terminal reserve when quoting and validating the minimum execution budget. Keep the legacy 512-byte receipt estimator separate. Cover the canonical v0.6 quote, alternate wrapper sizes, exact admission boundary, and locked top-up formula.

Validated with 1,635 Studio unit tests and repository pre-commit hooks.
@MuncleUscles MuncleUscles self-assigned this Sep 28, 2026
@coderabbitai

coderabbitai Bot commented Sep 28, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: d462d91f-a78d-47b6-acd0-a21f387625d9

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

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.

@ci-core-e2e-runner
ci-core-e2e-runner Bot merged commit cf377a9 into v0.123-dev Sep 28, 2026
31 checks passed
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