// SPDX-License-Identifier: MIT // OpenZeppelin Tron Contracts (last updated v5.5.0) (interfaces/draft-ITRC7802.sol) pragma solidity >=0.6.2; import {ITRC165} from "./ITRC165.sol"; /// @title ITRC7802 /// @notice Defines the interface for crosschain TRC20 transfers. interface ITRC7802 is ITRC165 { /// @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; }