Uh oh!
There was an error while loading. Please reload this page.
fix(fees): add exact quote and appeal parity - #110
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 |
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.
d127609 to
54cdc85CompareRoute 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.
Uh oh!
There was an error while loading. Please reload this page.
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.