Skip to content

Deprecate native bridging from Fraxtal#10

Open
pegahcarter wants to merge 20 commits into
masterfrom
feat/v1.1.0
Open

Deprecate native bridging from Fraxtal#10
pegahcarter wants to merge 20 commits into
masterfrom
feat/v1.1.0

Conversation

@pegahcarter
Copy link
Copy Markdown
Contributor

@pegahcarter pegahcarter commented Nov 19, 2025

Description

This is an upgrade to the Fraxtal-native Frax assets to deprecate minting and burning by the native bridge.

Post-upgrade, Frax assets are only bridgeable to Ethereum via LayerZero.

Upgraded Tokens

  • frxUSD
  • sfrxUSD
  • frxETH
  • sfrxETH
  • FPI
  • frxBTC

Non-Upgraded Tokens

  • FPIS: it is not supported with a respective LayerZero OFT (natively-bridgeable via L1StandardBridge)
  • WFRAX: the WETH equivalent of FRAX (not natively-bridgable)
  • FRAX: the gas token (natively-bridgeable via OptimismPortalCGT).

Changes

  • BRIDGE(), REMOTE_TOKEN(), l1Token(), l2Bridge(), remoteToken(), and bridge() will now return address(0).
  • mint(address, uint256) and burn(address, uint256) will now revert with Deprecated().
  • New Base Contract: ERC20PermitPermissionedNonBridgeableMintable - A native ERC20 token that cannot be bridged via the native bridge

Deployed Addresses

Contract Proxy Implementation Fraxscan
FrxUSD 0xFc00000000000000000000000000000000000001 0xedc3c7ee4570e61950acd5c8a0aefb3b5c3c3dc5 https://fraxscan.com/address/0xedc3c7ee4570e61950acd5c8a0aefb3b5c3c3dc5
SfrxUSD 0xfc00000000000000000000000000000000000008 0x1d57a0ff1725cd61c6aed396b64f65aa9d6b6565 https://fraxscan.com/address/0x1d57a0ff1725cd61c6aed396b64f65aa9d6b6565
FPI 0xFc00000000000000000000000000000000000003 0xc43b147bf863779693cd5d92afd5c143c79e91e8 https://fraxscan.com/address/0xc43b147bf863779693cd5d92afd5c143c79e91e8
FrxBTC 0xfC00000000000000000000000000000000000007 0xfadbeab442138e527dbd8269664162882cda7809 https://fraxscan.com/address/0xfadbeab442138e527dbd8269664162882cda7809
FrxETH 0xFC00000000000000000000000000000000000006 0x68cbfbfd89a8ba427dbbf007b29428a3b2b51d07 https://fraxscan.com/address/0x68cbfbfd89a8ba427dbbf007b29428a3b2b51d07
SfrxETH 0xFC00000000000000000000000000000000000005 0x4818aab499ec0f5d816968899bf69ecd5c39f354 https://fraxscan.com/address/0x4818aab499ec0f5d816968899bf69ecd5c39f354

@pegahcarter pegahcarter changed the title feat(v1.1.0): deprecate native bridging Deprecate native bridging from Fraxtal Nov 24, 2025
@pegahcarter pegahcarter changed the base branch from master to frxusd-upgrade December 2, 2025 16:59
Copilot AI mentioned this pull request Dec 5, 2025
@pegahcarter pegahcarter marked this pull request as ready for review December 18, 2025 19:15
Copilot AI review requested due to automatic review settings December 18, 2025 19:15
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR deprecates native bridging functionality for Frax assets on Fraxtal (frxUSD, sfrxUSD, frxETH, sfrxETH, FPI, frxBTC), transitioning them to LayerZero-only bridging. A new base contract ERC20PermitPermissionedNonBridgeableMintable is introduced that makes tokens non-bridgeable by reverting on mint/burn operations and returning address(0) for all bridge-related getters.

  • Introduced ERC20PermitPermissionedNonBridgeableMintable base contract that deprecates native bridge mint/burn functions
  • Updated six token contracts to extend the non-bridgeable base, removing bridge constructor parameters
  • Modified deployment scripts to use simplified constructors without bridge parameters

Reviewed changes

Copilot reviewed 19 out of 19 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
src/contracts/fraxtal/shared/ERC20PermitPermissionedNonBridgeableMintable.sol New base contract that overrides mint/burn to revert with Deprecated() error
src/contracts/fraxtal/shared/ERC20ExWrappedPPOM.sol Updated version to 1.1.0, deprecated mint/burn functions, removed bridge initialization code
src/contracts/fraxtal/frxUSD/FrxUSD.sol Removed bridge constructor parameters
src/contracts/fraxtal/frxUSD/versioning/FrxUSD2.sol Changed base to non-bridgeable contract, updated version to 2.1.0, simplified constructor
src/contracts/fraxtal/frxUSD/versioning/FrxUSD3.sol Removed bridge constructor parameters
src/contracts/fraxtal/sfrxUSD/SfrxUSD.sol Removed bridge constructor parameters
src/contracts/fraxtal/sfrxUSD/versioning/SfrxUSD.sol Changed base to non-bridgeable contract, updated version to 1.1.0, simplified constructor
src/contracts/fraxtal/sfrxUSD/versioning/SfrxUSD2.sol Updated version to 2.0.1, removed bridge constructor parameters
src/contracts/fraxtal/sfrxETH/SfrxETH.sol Changed base to non-bridgeable contract, simplified constructor
src/contracts/fraxtal/fpi/FPI.sol Changed base to non-bridgeable contract, simplified constructor
src/contracts/fraxtal/frxBTC/FrxBTC.sol Changed base to non-bridgeable contract, simplified constructor
src/contracts/fraxtal/fpis/FPIS.sol New contract for FPIS that remains bridgeable via native bridge
src/contracts/fraxtal/fpis/IFPI.sol New interface file for FPIS
src/script/fraxtal/frxUSD/DeployFrxUSD.s.sol Updated deployment to use parameterless constructor
src/script/fraxtal/sfrxUSD/DeploySfrxUSD.s.sol Updated deployment to use parameterless constructor
src/script/fraxtal/2025-12-02-deprecate-nativing-bridging/DeprecateNativeBridging.s.sol Deployment script to upgrade all six token proxies
src/script/fraxtal/2025-12-02-deprecate-nativing-bridging/DeprecateNativeBridging.json Generated multisig transaction batch for upgrades
src/test/FrxUSD/Fraxtal/CompilanceTests.t.sol Updated test to use parameterless constructor
src/test/2025-12-02-deprecate-native-bridging/TestDeprecateNativeBridging.t.sol New test verifying mint/burn operations revert after upgrade

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/test/2025-12-02-deprecate-native-bridging/TestDeprecateNativeBridging.t.sol Outdated
Comment thread src/contracts/fraxtal/fpis/IFPI.sol
pegahcarter and others added 3 commits December 22, 2025 08:50
…ecateNativeBridging.s.sol

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…iveBridging.t.sol

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Copy link
Copy Markdown

Copilot AI commented Dec 22, 2025

@pegahcarter I've opened a new pull request, #14, to work on those changes. Once the pull request is ready, I'll request review from you.

Copilot AI and others added 2 commits December 22, 2025 16:55
Co-authored-by: pegahcarter <30870580+pegahcarter@users.noreply.github.com>
Fix typo: rename nativing-bridging to native-bridging
Base automatically changed from frxusd-upgrade to master January 26, 2026 19:29
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.

4 participants