Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP: core/IFuseFeeDistributor interface is currently incomplete #54

Closed
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
148 changes: 123 additions & 25 deletions src/core/IFuseFeeDistributor.sol
Original file line number Diff line number Diff line change
Expand Up @@ -2,66 +2,164 @@ pragma solidity 0.5.17;
pragma experimental ABIEncoderV2;

interface IFuseFeeDistributor {
function minBorrowEth() external view returns (uint256);
event OwnershipTransferred(
address indexed previousOwner,
address indexed newOwner
);

function maxSupplyEth() external view returns (uint256);
function _callPool(address[] calldata targets, bytes[] calldata data)
external;

function maxUtilizationRate() external view returns (uint256);
function _callPool(address[] calldata targets, bytes calldata data)
external;

function interestFeeRate() external view returns (uint256);
function _editCErc20DelegateWhitelist(
address[] calldata oldImplementations,
address[] calldata newImplementations,
bool[] calldata allowResign,
bool[] calldata statuses
) external;

function _callPool(address[] calldata targets, bytes[] calldata data)
function _editCEtherDelegateWhitelist(
address[] calldata oldImplementations,
address[] calldata newImplementations,
bool[] calldata allowResign,
bool[] calldata statuses
) external;

function _editComptrollerImplementationWhitelist(
address[] calldata oldImplementations,
address[] calldata newImplementations,
bool[] calldata statuses
) external;

function _editGuardianWhitelist(
address[] calldata accounts,
bool[] calldata status
) external;

function _latestCErc20Delegate(address)
external
view
returns (
address implementation,
bool allowResign,
bytes memory becomeImplementationData
);

function _latestCEtherDelegate(address)
external
view
returns (
address implementation,
bool allowResign,
bytes memory becomeImplementationData
);

function _pauseAllBorrowing() external;

function _setCustomInterestFeeRate(address comptroller, int256 rate)
external;

function owner() external view returns (address);
function _setDefaultInterestFeeRate(uint256 _defaultInterestFeeRate)
external;

function comptrollerImplementationWhitelist(
function _setLatestCErc20Delegate(
address oldImplementation,
address newImplementation
) external view returns (bool);
address newImplementation,
bool allowResign,
bytes calldata becomeImplementationData
) external;

function cErc20DelegateWhitelist(
function _setLatestCEtherDelegate(
address oldImplementation,
address newImplementation,
bool allowResign
bool allowResign,
bytes calldata becomeImplementationData
) external;

function _setLatestComptrollerImplementation(
address oldImplementation,
address newImplementation
) external;

function _setPoolLimits(
uint256 _minBorrowEth,
uint256 _maxSupplyEth,
uint256 _maxUtilizationRate
) external;

function _withdrawAssets(address erc20Contract) external;

function cErc20DelegateWhitelist(
address,
address,
bool
) external view returns (bool);

function cEtherDelegateWhitelist(
address oldImplementation,
address newImplementation,
bool allowResign
address,
address,
bool
) external view returns (bool);

function latestComptrollerImplementation(address oldImplementation)
function comptrollerImplementationWhitelist(address, address)
external
view
returns (bool);

function customInterestFeeRates(address) external view returns (int256);

function defaultInterestFeeRate() external view returns (uint256);

function deployCErc20(bytes calldata constructorData)
external
returns (address);

function deployCEther(bytes calldata constructorData)
external
returns (address);

function initialize(uint256 _defaultInterestFeeRate) external;

function interestFeeRate() external view returns (uint256);

function isGuardian(address) external view returns (bool);

function latestCErc20Delegate(address oldImplementation)
external
view
returns (
address cErc20Delegate,
bool allowResign,
bytes memory becomeImplementationData
address,
bool,
bytes memory
);

function latestCEtherDelegate(address oldImplementation)
external
view
returns (
address cEtherDelegate,
bool allowResign,
bytes memory becomeImplementationData
address,
bool,
bytes memory
);

function deployCEther(bytes calldata constructorData)
function latestComptrollerImplementation(address oldImplementation)
external
view
returns (address);

function deployCErc20(bytes calldata constructorData)
external
returns (address);
function maxSupplyEth() external view returns (uint256);

function maxUtilizationRate() external view returns (uint256);

function minBorrowEth() external view returns (uint256);

function owner() external view returns (address);

function renounceOwnership() external;

function transferOwnership(address newOwner) external;

function() external payable;
Copy link
Contributor Author

@zerosnacks zerosnacks Jun 7, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is not exactly clear to me why this would need to be part of the interface (line 162) but I left it in for now

}