TokenController.sol
1 pragma solidity ^0.5.2; 2 3 4 /** 5 * @dev The token controller contract must implement these functions 6 */ 7 interface TokenController { 8 /** 9 * @notice Called when `_owner` sends ether to the MiniMe Token contract 10 * @param _owner The address that sent the ether to create tokens 11 * @return True if the ether is accepted, false if it throws 12 */ 13 function proxyPayment(address _owner) external payable returns(bool); 14 15 /** 16 * @notice Notifies the controller about a token transfer allowing the 17 * controller to react if desired 18 * @param _from The origin of the transfer 19 * @param _to The destination of the transfer 20 * @param _amount The amount of the transfer 21 * @return False if the controller does not authorize the transfer 22 */ 23 function onTransfer(address _from, address _to, uint _amount) external returns(bool); 24 25 /** 26 * @notice Notifies the controller about an approval allowing the 27 * controller to react if desired 28 * @param _owner The address that calls `approve()` 29 * @param _spender The spender in the `approve()` call 30 * @param _amount The amount in the `approve()` call 31 * @return False if the controller does not authorize the approval 32 */ 33 function onApprove(address _owner, address _spender, uint _amount) external 34 returns(bool); 35 }