Skip to content

fix(fees): add exact quote and appeal parity - #110

Open
MuncleUscles wants to merge 5 commits into
v0.19-devfrom
fix/v06-fee-appeal-parity
Open

fix(fees): add exact quote and appeal parity#110
MuncleUscles wants to merge 5 commits into
v0.19-devfrom
fix/v06-fee-appeal-parity

Conversation

@MuncleUscles

@MuncleUscles MuncleUscles commented Aug 31, 2026

Copy link
Copy Markdown
Member

Delivery context

Depends-On: genlayerlabs/genlayer-consensus#1526

Base #109 is merged; this PR is restacked directly on v0.19-dev at 85a47821c2771b5d931b754d4a43f1bd0f057246.
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.

Implementation and validation

  • Five commits on v0.19-dev: exact deposit quoting, decision-bound Studio appeal actions, the complete eight-field Consensus internal-message fee tuple with camelCase and snake_case price caps, mined-envelope failure handling, and schedule-free ordinary top-ups.
  • Contract-action regression suite: 60 tests passed.
  • Complete release-relevant unit suite: 205 passed, with 17 network smoke tests deselected exactly as in native CI.
  • Native CI passes on Python 3.12 and 3.13, with branch-policy and fast-forward gates green.
  • Current head: 65865a55c58f9a9f199d5a178ee98db01b5e724a (synthetic merge b3753b360ea46c219b0e77e6034655335dd3c4fd).
  • Stack-relative diff, whitespace, and working-tree checks are clean.

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 revertReason remain compatible and produce a generic revert error. The top-up-specific normalizer accepts an explicit complete schedule only for first-time fee-state initialization and rejects incomplete non-zero schedules. Rollback is this fee layer; #109 is already landed.

@coderabbitai

coderabbitai Bot commented Aug 31, 2026

Copy link
Copy Markdown

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: Team

Run ID: f3d82341-150a-4ee1-abc6-69bd3d055d32

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.

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
MuncleUscles force-pushed the fix/v06-fee-appeal-parity branch from d127609 to 54cdc85 Compare August 31, 2026 22:40
@MuncleUscles
MuncleUscles changed the base branch from fix/train-consensus-reads to v0.19-dev August 31, 2026 22:40
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.

1 participant