pragma solidity ^0.6.0; pragma experimental ABIEncoderV2; interface ManagerLike { function ilks(uint) external view returns (bytes32); function owns(uint) external view returns (address); function urns(uint) external view returns (address); function vat() external view returns (address); } interface CdpsLike { function getCdpsAsc(address, address) external view returns (uint[] memory, address[] memory, bytes32[] memory); } interface VatLike { function ilks(bytes32) external view returns (uint, uint, uint, uint, uint); function dai(address) external view returns (uint); function urns(bytes32, address) external view returns (uint, uint); function gem(bytes32, address) external view returns (uint); function debt() external view returns (uint); function Line() external view returns (uint); } interface JugLike { function ilks(bytes32) external view returns (uint, uint); function base() external view returns (uint); } interface PotLike { function dsr() external view returns (uint); function pie(address) external view returns (uint); function chi() external view returns (uint); } interface SpotLike { function ilks(bytes32) external view returns (PipLike, uint); } interface PipLike { function peek() external view returns (bytes32, bool); } interface InstaMcdAddress { function manager() external view returns (address); function vat() external view returns (address); function jug() external view returns (address); function spot() external view returns (address); function pot() external view returns (address); function getCdps() external view returns (address); }