Skip to content

feat(v1_5_0): add OnRamp fee sweep changesets with WETH auto-unwrap (CLD)#1823

Closed
cll-sa wants to merge 1 commit intomainfrom
1.5-offramp-sweep
Closed

feat(v1_5_0): add OnRamp fee sweep changesets with WETH auto-unwrap (CLD)#1823
cll-sa wants to merge 1 commit intomainfrom
1.5-offramp-sweep

Conversation

@cll-sa
Copy link

@cll-sa cll-sa commented Mar 11, 2026

Add CLD changesets for sweeping accumulated fees from EVM2EVMOnRamp v1.5.0
contracts to a validated treasury address via MCMS proposals.

Changesets:

  • sweep_all_onramps_v150_evm: Mega flow that discovers all v1.5.0 OnRamps on a chain and sweeps LINK + non-LINK fees in one atomic MCMS batch
  • configure_fee_sweep_v150_evm: Sets treasury as sole NOP with 100% weight
  • sweep_link_fees_v150_evm: Sweeps accumulated LINK via payNops
  • sweep_non_link_fees_v150_evm: Withdraws non-LINK fee tokens to treasury

Key features:

  • Atomic WETH unwrap: When fee token is WETH, generates 3-step flow (withdraw → unwrap → native transfer) in a single MCMS batch
  • Treasury allowlist: Change-controlled per-chain approved recipients reject proposals targeting unauthorized addresses
  • Defensive NOP re-assertion: Mega flow always sets NOPs in the batch to guard against concurrent proposal interference
  • Auto-discovery: Resolves OnRamps, WETH9, and RBACTimelock from datastore

Operations: setNops, payNops, withdrawNonLinkFees (OnRamp), withdraw (WETH)
Sequences: configure-fee-sweep, sweep-link-fees, sweep-non-link-fees,
sweep-all-onramps

Co-Authored-By: Claude
Co-Authored-By: cld-extension skill

  Add CLD changesets for sweeping accumulated fees from EVM2EVMOnRamp v1.5.0
  contracts to a validated treasury address via MCMS proposals.

  Changesets:
  - sweep_all_onramps_v150_evm: Mega flow that discovers all v1.5.0 OnRamps
    on a chain and sweeps LINK + non-LINK fees in one atomic MCMS batch
  - configure_fee_sweep_v150_evm: Sets treasury as sole NOP with 100% weight
  - sweep_link_fees_v150_evm: Sweeps accumulated LINK via payNops
  - sweep_non_link_fees_v150_evm: Withdraws non-LINK fee tokens to treasury

  Key features:
  - Atomic WETH unwrap: When fee token is WETH, generates 3-step flow
    (withdraw → unwrap → native transfer) in a single MCMS batch
  - Treasury allowlist: Change-controlled per-chain approved recipients
    reject proposals targeting unauthorized addresses
  - Defensive NOP re-assertion: Mega flow always sets NOPs in the batch
    to guard against concurrent proposal interference
  - Auto-discovery: Resolves OnRamps, WETH9, and RBACTimelock from datastore

  Operations: setNops, payNops, withdrawNonLinkFees (OnRamp), withdraw (WETH)
  Sequences: configure-fee-sweep, sweep-link-fees, sweep-non-link-fees,
             sweep-all-onramps

  Co-Authored-By: Claude
  Co-Authored-By: cld-extension skill
@cll-sa cll-sa requested a review from athegaul March 11, 2026 23:12
@cll-sa cll-sa requested review from a team as code owners March 11, 2026 23:12
@github-actions
Copy link

👋 cll-sa, thanks for creating this pull request!

To help reviewers, please consider creating future PRs as drafts first. This allows you to self-review and make any final changes before notifying the team.

Once you're ready, you can mark it as "Ready for review" to request feedback. Thanks!

@github-actions
Copy link

Metric 1.5-offramp-sweep main
Coverage 70.1% 69.9%

@cll-sa cll-sa marked this pull request as draft March 11, 2026 23:39
@cll-sa cll-sa closed this Mar 12, 2026
@cll-sa cll-sa deleted the 1.5-offramp-sweep branch March 12, 2026 00:22
@cll-sa
Copy link
Author

cll-sa commented Mar 12, 2026

Renamed branch with proper CCIP header under this PR: #1825

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