Deprecate native bridging from Fraxtal#10
Open
pegahcarter wants to merge 20 commits into
Open
Conversation
969ad9d to
c78e09a
Compare
Contributor
There was a problem hiding this comment.
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
ERC20PermitPermissionedNonBridgeableMintablebase 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.
…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>
|
@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. |
Co-authored-by: pegahcarter <30870580+pegahcarter@users.noreply.github.com>
Fix typo: rename nativing-bridging to native-bridging
eth:0x0000000048D2c8baf31742f6765383278BAda4d5 && fraxtal:0x0000000083BDf23788585D499EAb0D92A8bEfB1D
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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
Non-Upgraded Tokens
Changes
BRIDGE(),REMOTE_TOKEN(),l1Token(),l2Bridge(),remoteToken(), andbridge()will now returnaddress(0).mint(address, uint256)andburn(address, uint256)will now revert withDeprecated().ERC20PermitPermissionedNonBridgeableMintable- A native ERC20 token that cannot be bridged via the native bridgeDeployed Addresses
0xFc000000000000000000000000000000000000010xedc3c7ee4570e61950acd5c8a0aefb3b5c3c3dc50xfc000000000000000000000000000000000000080x1d57a0ff1725cd61c6aed396b64f65aa9d6b65650xFc000000000000000000000000000000000000030xc43b147bf863779693cd5d92afd5c143c79e91e80xfC000000000000000000000000000000000000070xfadbeab442138e527dbd8269664162882cda78090xFC000000000000000000000000000000000000060x68cbfbfd89a8ba427dbbf007b29428a3b2b51d070xFC000000000000000000000000000000000000050x4818aab499ec0f5d816968899bf69ecd5c39f354