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  }