Skip to content

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

Draft
cll-sa wants to merge 1 commit intomainfrom
CCIP-9927/1.5-offramp-sweep
Draft

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

Conversation

@cll-sa
Copy link

@cll-sa cll-sa commented Mar 12, 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
@github-actions
Copy link

Metric CCIP-9927/1.5-offramp-sweep main
Coverage 70.1% 69.8%

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