-
Notifications
You must be signed in to change notification settings - Fork 3.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: introduce SuperchainERC20 redesign + ICrosschainERC20 #12321
base: develop
Are you sure you want to change the base?
Changes from 16 commits
ae024a5
2a22161
6aaf905
11fda67
7a69a7e
07c9c77
d9bdad1
2e507b2
7fcaf6c
619f23c
1981789
ae019b8
a5aca61
83757ea
904a0ce
3ebb1d1
1b4317e
10038c3
9f49b43
ab1e074
a79bf4e
af9694e
6c46f9b
736adf3
061b1ff
97fb300
71389b6
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
+1 −1 | README.md | |
+1 −1 | package.json | |
+1 −14 | src/StdChains.sol | |
+3 −3 | src/StdCheats.sol | |
+3 −18 | src/StdInvariant.sol | |
+0 −104 | src/StdJson.sol | |
+1 −1 | src/StdStorage.sol | |
+0 −104 | src/StdToml.sol | |
+60 −290 | src/Vm.sol | |
+608 −635 | src/console.sol | |
+1,555 −1 | src/console2.sol | |
+2 −2 | src/interfaces/IERC4626.sol | |
+5 −1 | src/mocks/MockERC721.sol | |
+4 −693 | src/safeconsole.sol | |
+1 −1 | test/StdAssertions.t.sol | |
+12 −19 | test/StdChains.t.sol | |
+10 −10 | test/StdCheats.t.sol | |
+12 −12 | test/StdError.t.sol | |
+1 −1 | test/StdJson.t.sol | |
+14 −4 | test/StdMath.t.sol | |
+5 −13 | test/StdStorage.t.sol | |
+1 −1 | test/StdStyle.t.sol | |
+1 −1 | test/StdToml.t.sol | |
+12 −12 | test/StdUtils.t.sol | |
+6 −9 | test/Vm.t.sol |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -17,6 +17,42 @@ | |
"stateMutability": "view", | ||
"type": "function" | ||
}, | ||
{ | ||
"inputs": [ | ||
{ | ||
"internalType": "address", | ||
"name": "_from", | ||
"type": "address" | ||
}, | ||
{ | ||
"internalType": "uint256", | ||
"name": "_amount", | ||
"type": "uint256" | ||
} | ||
], | ||
"name": "__crosschainBurn", | ||
"outputs": [], | ||
"stateMutability": "nonpayable", | ||
"type": "function" | ||
}, | ||
{ | ||
"inputs": [ | ||
{ | ||
"internalType": "address", | ||
"name": "_to", | ||
"type": "address" | ||
}, | ||
{ | ||
"internalType": "uint256", | ||
"name": "_amount", | ||
"type": "uint256" | ||
} | ||
], | ||
"name": "__crosschainMint", | ||
"outputs": [], | ||
"stateMutability": "nonpayable", | ||
"type": "function" | ||
}, | ||
{ | ||
"inputs": [ | ||
{ | ||
|
@@ -236,29 +272,6 @@ | |
"stateMutability": "nonpayable", | ||
"type": "function" | ||
}, | ||
{ | ||
"inputs": [ | ||
{ | ||
"internalType": "address", | ||
"name": "_from", | ||
"type": "address" | ||
}, | ||
{ | ||
"internalType": "address", | ||
"name": "_to", | ||
"type": "address" | ||
}, | ||
{ | ||
"internalType": "uint256", | ||
"name": "_amount", | ||
"type": "uint256" | ||
} | ||
], | ||
"name": "relayERC20", | ||
"outputs": [], | ||
"stateMutability": "nonpayable", | ||
"type": "function" | ||
}, | ||
{ | ||
"inputs": [], | ||
"name": "remoteToken", | ||
|
@@ -272,29 +285,6 @@ | |
"stateMutability": "view", | ||
"type": "function" | ||
}, | ||
{ | ||
"inputs": [ | ||
{ | ||
"internalType": "address", | ||
"name": "_to", | ||
"type": "address" | ||
}, | ||
{ | ||
"internalType": "uint256", | ||
"name": "_amount", | ||
"type": "uint256" | ||
}, | ||
{ | ||
"internalType": "uint256", | ||
"name": "_chainId", | ||
"type": "uint256" | ||
} | ||
], | ||
"name": "sendERC20", | ||
"outputs": [], | ||
"stateMutability": "nonpayable", | ||
"type": "function" | ||
}, | ||
{ | ||
"inputs": [ | ||
{ | ||
|
@@ -437,7 +427,7 @@ | |
{ | ||
"indexed": true, | ||
"internalType": "address", | ||
"name": "account", | ||
"name": "from", | ||
"type": "address" | ||
}, | ||
{ | ||
|
@@ -450,26 +440,13 @@ | |
"name": "Burn", | ||
"type": "event" | ||
}, | ||
{ | ||
"anonymous": false, | ||
"inputs": [ | ||
{ | ||
"indexed": false, | ||
"internalType": "uint64", | ||
"name": "version", | ||
"type": "uint64" | ||
} | ||
], | ||
"name": "Initialized", | ||
"type": "event" | ||
}, | ||
{ | ||
"anonymous": false, | ||
"inputs": [ | ||
{ | ||
"indexed": true, | ||
"internalType": "address", | ||
"name": "account", | ||
"name": "from", | ||
"type": "address" | ||
}, | ||
{ | ||
|
@@ -479,18 +456,12 @@ | |
"type": "uint256" | ||
} | ||
], | ||
"name": "Mint", | ||
"name": "CrosschainBurnt", | ||
"type": "event" | ||
}, | ||
{ | ||
"anonymous": false, | ||
"inputs": [ | ||
{ | ||
"indexed": true, | ||
"internalType": "address", | ||
"name": "from", | ||
"type": "address" | ||
}, | ||
{ | ||
"indexed": true, | ||
"internalType": "address", | ||
|
@@ -502,26 +473,27 @@ | |
"internalType": "uint256", | ||
"name": "amount", | ||
"type": "uint256" | ||
}, | ||
} | ||
], | ||
"name": "CrosschainMinted", | ||
"type": "event" | ||
}, | ||
{ | ||
"anonymous": false, | ||
"inputs": [ | ||
{ | ||
"indexed": false, | ||
"internalType": "uint256", | ||
"name": "source", | ||
"type": "uint256" | ||
"internalType": "uint64", | ||
"name": "version", | ||
"type": "uint64" | ||
} | ||
], | ||
"name": "RelayERC20", | ||
"name": "Initialized", | ||
"type": "event" | ||
}, | ||
{ | ||
"anonymous": false, | ||
"inputs": [ | ||
{ | ||
"indexed": true, | ||
"internalType": "address", | ||
"name": "from", | ||
"type": "address" | ||
}, | ||
{ | ||
"indexed": true, | ||
"internalType": "address", | ||
|
@@ -533,15 +505,9 @@ | |
"internalType": "uint256", | ||
"name": "amount", | ||
"type": "uint256" | ||
}, | ||
{ | ||
"indexed": false, | ||
"internalType": "uint256", | ||
"name": "destination", | ||
"type": "uint256" | ||
} | ||
], | ||
"name": "SendERC20", | ||
"name": "Mint", | ||
"type": "event" | ||
}, | ||
{ | ||
|
@@ -579,11 +545,6 @@ | |
"name": "AllowanceUnderflow", | ||
"type": "error" | ||
}, | ||
{ | ||
"inputs": [], | ||
"name": "CallerNotL2ToL2CrossDomainMessenger", | ||
"type": "error" | ||
}, | ||
{ | ||
"inputs": [], | ||
"name": "InsufficientAllowance", | ||
|
@@ -596,27 +557,27 @@ | |
}, | ||
{ | ||
"inputs": [], | ||
"name": "InvalidCrossDomainSender", | ||
"name": "InvalidInitialization", | ||
"type": "error" | ||
}, | ||
{ | ||
"inputs": [], | ||
"name": "InvalidInitialization", | ||
"name": "InvalidPermit", | ||
"type": "error" | ||
}, | ||
{ | ||
"inputs": [], | ||
"name": "InvalidPermit", | ||
"name": "NotInitializing", | ||
"type": "error" | ||
}, | ||
{ | ||
"inputs": [], | ||
"name": "NotInitializing", | ||
"name": "OnlyL2StandardBridge", | ||
"type": "error" | ||
}, | ||
{ | ||
"inputs": [], | ||
"name": "OnlyBridge", | ||
"name": "OnlySuperchainERC20Bridge", | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We want to move away from the superchain specific naming so that this can be an ethereum wide standard in theory There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This error is being used in the |
||
"type": "error" | ||
}, | ||
{ | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not a strong opinion but could just be open to making it
mock
, case insensitive. Tradeoff in explicit vs implicit