29 lines
888 B
Solidity
29 lines
888 B
Solidity
|
|
// SPDX-License-Identifier: MIT
|
||
|
|
pragma solidity ^0.8.20;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* @title IeMoneyJoin
|
||
|
|
* @notice Interface for eMoney Join Adapter
|
||
|
|
* @dev Handles minting and burning of eMoney tokens
|
||
|
|
*/
|
||
|
|
interface IeMoneyJoin {
|
||
|
|
/**
|
||
|
|
* @notice Mint eMoney to a borrower
|
||
|
|
* @param currency eMoney currency address
|
||
|
|
* @param to Recipient address
|
||
|
|
* @param amount Amount to mint
|
||
|
|
*/
|
||
|
|
function mint(address currency, address to, uint256 amount) external;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* @notice Burn eMoney from a repayer
|
||
|
|
* @param currency eMoney currency address
|
||
|
|
* @param from Source address
|
||
|
|
* @param amount Amount to burn
|
||
|
|
*/
|
||
|
|
function burn(address currency, address from, uint256 amount) external;
|
||
|
|
|
||
|
|
event eMoneyMinted(address indexed currency, address indexed to, uint256 amount);
|
||
|
|
event eMoneyBurned(address indexed currency, address indexed from, uint256 amount);
|
||
|
|
}
|