Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
N
nebula
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
exchain
nebula
Commits
7723df4e
Commit
7723df4e
authored
Nov 28, 2022
by
Mark Tyneway
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
contracts-bedrock: add legacy getters
parent
87a37226
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
54 additions
and
26 deletions
+54
-26
.gas-snapshot
packages/contracts-bedrock/.gas-snapshot
+18
-17
OptimismMintableERC20.t.sol
...tracts-bedrock/contracts/test/OptimismMintableERC20.t.sol
+11
-0
OptimismMintableERC20.sol
...cts-bedrock/contracts/universal/OptimismMintableERC20.sol
+25
-9
No files found.
packages/contracts-bedrock/.gas-snapshot
View file @
7723df4e
...
...
@@ -108,41 +108,42 @@ L2OutputOracleUpgradeable_Test:test_cannotInitImpl() (gas: 15171)
L2OutputOracleUpgradeable_Test:test_cannotInitProxy() (gas: 20152)
L2OutputOracleUpgradeable_Test:test_initValuesOnProxy() (gas: 26095)
L2OutputOracleUpgradeable_Test:test_upgrading() (gas: 180457)
L2StandardBridge_Test:test_cannotWithdrawEthWithoutSendingIt() (gas: 196
43
)
L2StandardBridge_Test:test_cannotWithdrawEthWithoutSendingIt() (gas: 196
21
)
L2StandardBridge_Test:test_finalizeBridgeETH_incorrectValueReverts() (gas: 23733)
L2StandardBridge_Test:test_finalizeBridgeETH_sendToMessengerReverts() (gas: 23960)
L2StandardBridge_Test:test_finalizeBridgeETH_sendToSelfReverts() (gas: 23793)
L2StandardBridge_Test:test_finalizeDeposit() (gas: 893
16
)
L2StandardBridge_Test:test_finalizeDeposit() (gas: 893
63
)
L2StandardBridge_Test:test_initialize() (gas: 10536)
L2StandardBridge_Test:test_receive() (gas: 131820)
L2StandardBridge_Test:test_withdraw() (gas: 3439
12
)
L2StandardBridge_Test:test_withdrawTo() (gas: 3446
41
)
L2StandardBridge_Test:test_withdraw() (gas: 3439
51
)
L2StandardBridge_Test:test_withdrawTo() (gas: 3446
80
)
L2StandardBridge_Test:test_withdraw_onlyEOA() (gas: 251816)
L2ToL1MessagePasserTest:test_burn() (gas: 112530)
L2ToL1MessagePasserTest:test_initiateWithdrawal_fromContract() (gas: 70246)
L2ToL1MessagePasserTest:test_initiateWithdrawal_fromEOA() (gas: 75764)
LegacyERC20ETH_Test:test_approve() (gas: 10723)
LegacyERC20ETH_Test:test_burn() (gas: 10
592
)
LegacyERC20ETH_Test:test_crossDomain() (gas: 63
06
)
LegacyERC20ETH_Test:test_decreaseAllowance() (gas: 106
79
)
LegacyERC20ETH_Test:test_burn() (gas: 10
615
)
LegacyERC20ETH_Test:test_crossDomain() (gas: 63
39
)
LegacyERC20ETH_Test:test_decreaseAllowance() (gas: 106
57
)
LegacyERC20ETH_Test:test_increaseAllowance() (gas: 10667)
LegacyERC20ETH_Test:test_metadata() (gas: 15
391
)
LegacyERC20ETH_Test:test_metadata() (gas: 15
414
)
LegacyERC20ETH_Test:test_mint() (gas: 10649)
LegacyERC20ETH_Test:test_transfer() (gas: 107
33
)
LegacyERC20ETH_Test:test_transfer() (gas: 107
11
)
LegacyERC20ETH_Test:test_transferFrom() (gas: 12887)
LegacyMessagePasser_Test:test_LegacyMessagePasser_passMessageToL1_Succeeds() (gas: 34519)
OptimismMintableERC20_Test:test_bridge() (gas: 7
624
)
OptimismMintableERC20_Test:test_burn() (gas: 510
12
)
OptimismMintableERC20_Test:test_burnRevertsFromNotBridge() (gas: 111
41
)
OptimismMintableERC20_Test:test_erc165_supportsInterface() (gas: 7
696
)
OptimismMintableERC20_Test:test_bridge() (gas: 7
599
)
OptimismMintableERC20_Test:test_burn() (gas: 510
31
)
OptimismMintableERC20_Test:test_burnRevertsFromNotBridge() (gas: 111
64
)
OptimismMintableERC20_Test:test_erc165_supportsInterface() (gas: 7
765
)
OptimismMintableERC20_Test:test_l1Token() (gas: 7622)
OptimismMintableERC20_Test:test_l2Bridge() (gas: 7633)
OptimismMintableERC20_Test:test_l2Bridge() (gas: 7688)
OptimismMintableERC20_Test:test_legacy() (gas: 14300)
OptimismMintableERC20_Test:test_mint() (gas: 63609)
OptimismMintableERC20_Test:test_mintRevertsFromNotBridge() (gas: 11098)
OptimismMintableERC20_Test:test_remoteToken() (gas: 76
2
4)
OptimismMintableERC20_Test:test_remoteToken() (gas: 76
4
4)
OptimismMintableTokenFactory_Test:test_bridge() (gas: 7577)
OptimismMintableTokenFactory_Test:test_createStandardL2Token() (gas: 10
83647
)
OptimismMintableTokenFactory_Test:test_createStandardL2TokenSameTwice() (gas: 21
53437
)
OptimismMintableTokenFactory_Test:test_createStandardL2Token() (gas: 10
95274
)
OptimismMintableTokenFactory_Test:test_createStandardL2TokenSameTwice() (gas: 21
76691
)
OptimismMintableTokenFactory_Test:test_createStandardL2TokenShouldRevertIfRemoteIsZero() (gas: 9413)
OptimismPortalUpgradeable_Test:test_initialize_cannotInitImpl_reverts() (gas: 10791)
OptimismPortalUpgradeable_Test:test_initialize_cannotInitProxy_reverts() (gas: 15767)
...
...
packages/contracts-bedrock/contracts/test/OptimismMintableERC20.t.sol
View file @
7723df4e
...
...
@@ -29,6 +29,17 @@ contract OptimismMintableERC20_Test is Bridge_Initializer {
assertEq(L2Token.l2Bridge(), address(L2Bridge));
}
function test_legacy() external {
// Getters for the remote token
assertEq(L2Token.REMOTE_TOKEN(), address(L1Token));
assertEq(L2Token.remoteToken(), address(L1Token));
assertEq(L2Token.l1Token(), address(L1Token));
// Getters for the bridge
assertEq(L2Token.BRIDGE(), address(L2Bridge));
assertEq(L2Token.bridge(), address(L2Bridge));
assertEq(L2Token.l2Bridge(), address(L2Bridge));
}
function test_mint() external {
vm.expectEmit(true, true, true, true);
emit Mint(alice, 100);
...
...
packages/contracts-bedrock/contracts/universal/OptimismMintableERC20.sol
View file @
7723df4e
...
...
@@ -16,12 +16,12 @@ contract OptimismMintableERC20 is IOptimismMintableERC20, ILegacyMintableERC20,
/**
* @notice Address of the corresponding version of this token on the remote chain.
*/
address immutable public
remoteToken
;
address immutable public
REMOTE_TOKEN
;
/**
* @notice Address of the StandardBridge on this network.
*/
address immutable public
bridge
;
address immutable public
BRIDGE
;
/**
* @notice Emitted whenever tokens are minted for an account.
...
...
@@ -43,7 +43,7 @@ contract OptimismMintableERC20 is IOptimismMintableERC20, ILegacyMintableERC20,
* @notice A modifier that only allows the bridge to call
*/
modifier onlyBridge() {
require(msg.sender ==
bridge
, "OptimismMintableERC20: only bridge can mint and burn");
require(msg.sender ==
BRIDGE
, "OptimismMintableERC20: only bridge can mint and burn");
_;
}
...
...
@@ -59,8 +59,8 @@ contract OptimismMintableERC20 is IOptimismMintableERC20, ILegacyMintableERC20,
string memory _name,
string memory _symbol
) ERC20(_name, _symbol) {
remoteToken
= _remoteToken;
bridge
= _bridge;
REMOTE_TOKEN
= _remoteToken;
BRIDGE
= _bridge;
}
/**
...
...
@@ -113,17 +113,33 @@ contract OptimismMintableERC20 is IOptimismMintableERC20, ILegacyMintableERC20,
/**
* @custom:legacy
* @notice Legacy getter for the remote token. Use
remoteToken
going forward.
* @notice Legacy getter for the remote token. Use
REMOTE_TOKEN
going forward.
*/
function l1Token() public view returns (address) {
return
remoteToken
;
return
REMOTE_TOKEN
;
}
/**
* @custom:legacy
* @notice Legacy getter for the bridge. Use
bridge
going forward.
* @notice Legacy getter for the bridge. Use
BRIDGE
going forward.
*/
function l2Bridge() public view returns (address) {
return bridge;
return BRIDGE;
}
/**
* @custom:legacy
* @notice Legacy getter for REMOTE_TOKEN.
*/
function remoteToken() public view returns (address) {
return REMOTE_TOKEN;
}
/**
* @custom:legacy
* @notice Legacy getter for BRIDGE.
*/
function bridge() public view returns (address) {
return BRIDGE;
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment