dsa-connectors/contracts/connectors/reflexer/interface.sol

55 lines
2.1 KiB
Solidity
Raw Normal View History

2021-03-29 09:57:54 +00:00
pragma solidity ^0.7.0;
import { TokenInterface } from "../../common/interfaces.sol";
interface ManagerLike {
2021-03-29 10:34:18 +00:00
function safeCan(address, uint, address) external view returns (uint);
function collateralTypes(uint) external view returns (bytes32);
function lastSAFEID(address) external view returns (uint);
function safeCount(address) external view returns (uint);
function ownsSAFE(uint) external view returns (address);
function safes(uint) external view returns (address);
function safeEngine() external view returns (address);
function openSAFE(bytes32, address) external returns (uint);
function transferSAFEOwnership(uint, address) external;
function modifySAFECollateralization(uint, int, int) external;
function transferCollateral(uint, address, uint) external;
function transferInternalCoins(uint, address, uint) external;
2021-03-29 09:57:54 +00:00
}
2021-03-29 10:34:18 +00:00
interface SafeEngineLike {
2021-03-29 09:57:54 +00:00
function can(address, address) external view returns (uint);
2021-03-29 10:34:18 +00:00
function collateralTypes(bytes32) external view returns (uint, uint, uint, uint, uint);
function coin(address) external view returns (uint);
function safes(bytes32, address) external view returns (uint, uint);
function modifySAFECollateralization(
2021-03-29 09:57:54 +00:00
bytes32,
address,
address,
address,
int,
int
) external;
2021-03-29 10:34:18 +00:00
function approveSAFEModification(address) external;
function transferInternalCoins(address, address, uint) external;
function tokenCollateral(bytes32, address) external view returns (uint);
2021-03-29 09:57:54 +00:00
}
interface TokenJoinInterface {
2021-03-29 10:34:18 +00:00
function decimals() external returns (uint);
function collateral() external returns (TokenInterface);
2021-03-29 09:57:54 +00:00
function join(address, uint) external payable;
function exit(address, uint) external;
}
2021-03-29 10:34:18 +00:00
interface CoinJoinInterface {
function safeEngine() external returns (SafeEngineLike);
function coin() external returns (TokenInterface);
2021-03-29 09:57:54 +00:00
function join(address, uint) external payable;
function exit(address, uint) external;
}
2021-03-29 10:34:18 +00:00
interface TaxCollectorLike {
function taxSingle(bytes32) external returns (uint);
2021-03-29 09:57:54 +00:00
}