Skip to content

feat(APP-1054): Implement gasLimit param (8/10) - #1308

Open
milosh86 wants to merge 5 commits into
app-1056-show-warning-about-controller-fee-balancefrom
app-1054-implement-gaslimit-param
Open

feat(APP-1054): Implement gasLimit param (8/10)#1308
milosh86 wants to merge 5 commits into
app-1056-show-warning-about-controller-fee-balancefrom
app-1054-implement-gaslimit-param

Conversation

@milosh86

@milosh86 milosh86 commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Description

Closes APP-1054.

Replaces the hardcoded 1_000_000 placeholder _gasLimit (left as a TODO(APP-1029) in the forward-message action)
with a real, required gas-limit field backed by a backend simulation.

  • Backend simulationcrossChainControllerService.estimateGasLimit (new
    POST /v2/simulations/:network/cross-chain/:controllerAddress/gas-limit) simulates the inbound delivery on the
    destination chain and returns the measured requiredGas, since eth_estimateGas can't measure it: the controller
    wraps the payload in a try/catch, so the node's binary search only ever prices the catch branch.
  • Client-side policycrossChainControllerGasUtils.resolveGasLimit turns the raw measurement into a submittable
    limit by applying a 30% safety margin (justified in crossChainControllerGas — the payload is arbitrary
    user-composed actions, frozen into calldata weeks before execution, five call-frames deep), a 200k floor (the CCIP
    default), and a 3M cap (the lane's typical maxPerMsgGasLimit, since the backend deliberately never checks it).
  • GasLimitInput — new number input with a "Calculate" action alongside the usual +/- steppers.
  • CrossChainControllerForwardMessageAction — the gas-limit field is required (an unset limit risks the message
    landing "delivered but not executed", recoverable only via a permissioned retry on the destination chain) and is
    cleared whenever the destination chain or the action list changes, since a limit measured for a different payload is
    worse than none. Surfaces the simulation outcome (success/reverted/margin-reduced/exceeds-cap) as an inline alert,
    with a link to the saved Tenderly simulation when available.

Dependencies: stacked on app-1056-show-warning-about-controller-fee-balanceapp-1053-…main. Merge the
bases first.

Type of Change

  • Minor: Feature (non-breaking change which adds new functionality)

Developer Checklist:

  • Manually smoke tested the functionality in a preview or locally
  • Confirmed there are no new warnings or errors in the browser console
  • (For User Stories only) Double-checked that all Acceptance Criteria are satisfied
  • Confirmed there are no new warnings on automated tests
  • Merged and published any dependent changes in downstream modules
  • Selected the correct base branch
  • Commented the code in hard-to-understand areas
  • Followed the code style guidelines of this project
  • Reviewed that the Files Changed in Github's UI reflect my intended changes
  • Confirmed the pipeline checks are not failing

Review Checklist:

  • (For User Stories only) Tested in a preview or locally that all Acceptance Criteria are satisfied
  • Confirmed that changes follow the code style guidelines of this project

@linear-code

linear-code Bot commented Aug 7, 2026

Copy link
Copy Markdown

APP-1054

@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown

🚀 Preview Deployment: View Here

@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown

E2E results (preview)

Smoke

Base URL https://app-next-m5y09of9o-aragon-app.vercel.app
Suite smoke
Playwright result ✅ passed
Summary 82 passed
HTML report View report
GitHub job ✅ completed

View run #4915

@milosh86 milosh86 changed the title app 1054 implement gaslimit param feat(APP-1054): Implement gasLimit param (8/10) Aug 7, 2026
@milosh86
milosh86 marked this pull request as ready for review August 7, 2026 12:09
@milosh86
milosh86 requested a review from a team as a code owner August 7, 2026 12:09
Signed-off-by: Milos Dzepina <milos@aragon.org>
Signed-off-by: Milos Dzepina <milos@aragon.org>
Signed-off-by: Milos Dzepina <milos@aragon.org>
Signed-off-by: Milos Dzepina <milos@aragon.org>
@milosh86
milosh86 force-pushed the app-1054-implement-gaslimit-param branch from 9722b65 to 62d8cef Compare August 7, 2026 12:42
Signed-off-by: Milos Dzepina <milos@aragon.org>
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