interface IOWProxy {
function addContractType(string calldata _type) external;
function setContractType(uint256 _typeId, string calldata _type) external;
function removeContractType(uint256 _typeId) external;
function isExistContractTypeById(uint256 _typeId)
external
view
returns (bool);
function isExistContractType(string calldata _type)
external
view
returns (bool);
function getContractTypeId(string calldata _type)
external
view
returns (uint256);
function getContractTypeById(uint256 _typeId)
external
view
returns (string memory);
function getContractTypeIds() external view returns (uint256[] memory);
function getContractTypes() external view returns (string[] memory);
function addContract(uint256 _typeId, address _OWContract) external;
function setContract(
uint256 _typeId,
uint256 _version,
address _OWContract
) external;
function removeLatestContract(uint256 _typeId) external;
function getOWContractByTypeId(uint256 _typeId, uint256 _version)
external
view
returns (address);
function isValidVersion(uint256 _typeId, uint256 _version)
external
view
returns (bool);
function getLatestVersion(uint256 _typeId) external view returns (uint256);
function getOWContractByType(string calldata _type, uint256 _version)
external
view
returns (address);
function getContractOfType(uint256 _typeId)
external
view
returns (address[] memory);
}