fix(fees): add exact quote and appeal parity - #110
Merged
Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Team Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
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 |
This was referenced Aug 30, 2026
Use Studio's authoritative appeal quote for omitted payment and decision inputs, encode the v0.6 decision-bound selectors, and expose matching can-appeal behavior without attempting EVM contract reads.
MuncleUscles
force-pushed
the
fix/v06-fee-appeal-parity
branch
from
August 31, 2026 22:40
d127609 to
54cdc85
Compare
MuncleUscles
changed the base branch from
fix/train-consensus-reads
to
v0.19-dev
August 31, 2026 22:40
Route the public appeal action through topUpAndSubmitAppeal, whose consensus-derived schedule extension accepts both pre-funded and unfunded rounds. Preserve direct submitAppeal encoding only as a low-level conformance surface.\n\nCover the exact selector, decision binding, compatibility tuple, quoted value, and caller-provided value on deployed Consensus and Studio.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Delivery context
Depends-On: genlayerlabs/genlayer-consensus#1526
Base #109 is merged; this PR is restacked directly on
v0.19-devat85a47821c2771b5d931b754d4a43f1bd0f057246.Cross-stack qualification is carried by genlayerlabs/genlayer-e2e#756 against genlayerlabs/genlayer-studio#1748.
Problem and outcome
Build the exact fee-quote and Studio decision-binding layer on the already-landed resolution-kernel Python SDK surface.
This layer mirrors Consensus deposit quoting, binds Studio appeal actions to the active decision, encodes the complete internal-message fee tuple, and treats Studio lifecycle/write calls as mined EVM envelopes. It waits for fee-management receipts and surfaces Studio's additive revert reason instead of returning rejected top-ups as successful submissions. Ordinary top-ups now use Consensus' schedule-free delta shape (
appealRounds: 0,rotations: []); normal transaction submission and appeal top-ups keep their strict complete-schedule validation.The public
appeal_transactionpath now usestopUpAndSubmitAppealwith the active decision and normalized compatibility tuple. That entry point is valid for both pre-funded and unfunded appeal rounds; directsubmitAppealencoding remains only as a low-level conformance surface. This closes the sameAppealRoundNotPermittedboundary exposed in the JS lane of diagnostic E2E run 33631876345.Implementation and validation
v0.19-dev: exact deposit quoting, decision-bound Studio appeal actions, the complete internal-message fee tuple with camelCase and snake_case price caps, mined-envelope failure handling, schedule-free ordinary top-ups, and safe public appeal admission.39c54bcc5bc9de3a635bbd5f6a2e3db0310f7ab1(synthetic merge1fd2822360c6d6912b310f5ac77a857633cab436).Risk and rollback
This layer belongs to the fee/Studio parity train with Consensus #1526. The receipt wait is intentionally stricter: a mined status-0 envelope is an error on Studio just as it is on deployed Consensus. Older Studio versions without additive
revertReasonremain compatible and produce a generic revert error. The public appeal action intentionally uses the schedule-extending entry point even for pre-funded rounds because Consensus treats it as a no-op extension in that case. Rollback is this fee layer; #109 is already landed.