Как правильно переопределить методы интерфейса в солидности? - PullRequest
0 голосов
/ 04 февраля 2020

Например, у меня есть контракт UseETH, который должен получать только эфир, и контракт UseUSD, который должен быть только стабильным. Вся математика и логика c этих контрактов зависит от базового c актива (ETH или Stable).

Я хочу построить один общий интерфейс

interface core{
  // different methods for UseETH and UseUSD
  function pay() external payable returns (uint256);
  function pay(uint256 _amount) external returns (uint256);

  function calculate(uint256 _amount) external returns (uint256);
  function withdraw(uint256 _amount)external returns (uint256);
}

contract UseETH is core ...
contract UseUSD is core ...

, но из-за тот факт, что методы депозита разные, я не могу этого сделать.

Возможно ли это как-то так?

   interface core{
      function pay; // can be override with payable modiffier or params 
      function calculate(uint256 _amount) external returns (uint256);
      function withdraw(uint256 _amount)external returns (uint256);
    }
...