123456789101112131415161718192021222324252627282930 |
- // SPDX-License-Identifier: MIT
- pragma solidity >=0.6.2;
- import {IERC165} from "./IERC165.sol";
- /// @title IERC7802
- /// @notice Defines the interface for crosschain ERC20 transfers.
- interface IERC7802 is IERC165 {
- /// @notice Emitted when a crosschain transfer mints tokens.
- /// @param to Address of the account tokens are being minted for.
- /// @param amount Amount of tokens minted.
- /// @param sender Address of the caller (msg.sender) who invoked crosschainMint.
- event CrosschainMint(address indexed to, uint256 amount, address indexed sender);
- /// @notice Emitted when a crosschain transfer burns tokens.
- /// @param from Address of the account tokens are being burned from.
- /// @param amount Amount of tokens burned.
- /// @param sender Address of the caller (msg.sender) who invoked crosschainBurn.
- event CrosschainBurn(address indexed from, uint256 amount, address indexed sender);
- /// @notice Mint tokens through a crosschain transfer.
- /// @param _to Address to mint tokens to.
- /// @param _amount Amount of tokens to mint.
- function crosschainMint(address _to, uint256 _amount) external;
- /// @notice Burn tokens through a crosschain transfer.
- /// @param _from Address to burn tokens from.
- /// @param _amount Amount of tokens to burn.
- function crosschainBurn(address _from, uint256 _amount) external;
- }
|