github.com/ethereum-optimism/optimism@v1.7.2/packages/contracts-bedrock/src/universal/IOptimismMintableERC20.sol (about) 1 // SPDX-License-Identifier: MIT 2 pragma solidity ^0.8.0; 3 4 import { IERC165 } from "@openzeppelin/contracts/utils/introspection/IERC165.sol"; 5 6 /// @title IOptimismMintableERC20 7 /// @notice This interface is available on the OptimismMintableERC20 contract. 8 /// We declare it as a separate interface so that it can be used in 9 /// custom implementations of OptimismMintableERC20. 10 interface IOptimismMintableERC20 is IERC165 { 11 function remoteToken() external view returns (address); 12 13 function bridge() external returns (address); 14 15 function mint(address _to, uint256 _amount) external; 16 17 function burn(address _from, uint256 _amount) external; 18 } 19 20 /// @custom:legacy 21 /// @title ILegacyMintableERC20 22 /// @notice This interface was available on the legacy L2StandardERC20 contract. 23 /// It remains available on the OptimismMintableERC20 contract for 24 /// backwards compatibility. 25 interface ILegacyMintableERC20 is IERC165 { 26 function l1Token() external view returns (address); 27 28 function mint(address _to, uint256 _amount) external; 29 30 function burn(address _from, uint256 _amount) external; 31 }