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 1 commit
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
146 changes: 121 additions & 25 deletions src/core/IFuseFeeDistributor.sol
Original file line number Diff line number Diff line change
Expand Up @@ -2,66 +2,162 @@ 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[] memory targets, bytes[] memory data) external;

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

function interestFeeRate() external view returns (uint256);
function _editCErc20DelegateWhitelist(
address[] memory oldImplementations,
address[] memory newImplementations,
bool[] memory allowResign,
bool[] memory statuses
zerosnacks marked this conversation as resolved.
Show resolved Hide resolved
) external;

function _editCEtherDelegateWhitelist(
address[] memory oldImplementations,
address[] memory newImplementations,
bool[] memory allowResign,
bool[] memory statuses
) external;

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

function _editGuardianWhitelist(
address[] memory accounts,
bool[] memory 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 memory becomeImplementationData
) external;

function cErc20DelegateWhitelist(
function _setLatestCEtherDelegate(
address oldImplementation,
address newImplementation,
bool allowResign
bool allowResign,
bytes memory 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 memory constructorData)
external
returns (address);

function deployCEther(bytes memory 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

}