/ contracts / token / TokenController.sol
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  }