contract LoanContractDB{
      function createLoanContract(uint256 _docID,uint256 _contractID,uint256 _amount,address _borrow,uint256 _intCom,uint256 _intLean,uint256 _intGua,string memory _currency) public returns(bool);
      function isValidContract(uint256 _contractID) public view returns (bool);
      function setConID2Token(uint256 _TokenID,uint256 _conID) public returns(bool);
      function debitContract(uint256 _contractID) public view returns (uint256 _priciple,uint256 _comInt,uint256 _loanInt,uint256 _guaInt);
     
     // function getLoanCredit(uint256 _contractID) public view returns (uint256);
      function getBorrowAddr(uint256 _contractID) public view returns (address);
      function getContractInfo(uint256 _conID) public view returns(uint256 _loan,uint256 _paid,uint256 _commission,uint256 _guaID,address _borrow,address _lean,uint256 _leanIdx);
 

      function conIDToToken(uint256 contractID) public view returns(uint256);
      function loanContractDataFromID(uint256 _conID) public view returns(uint256[] memory _data,bytes8 _cur,address[] memory _addr);
      function activeContract(uint256 _contractID,uint256 _termpay,
                            uint256 expirationTime,address lender,uint256 _guarantor, uint256 _exRate,uint256 _lenderID) public returns(bool);
      function getLoanAmount(uint256 _conID) public view returns(uint256);
      function updatePaidContract(uint256 _contractID,uint256 _paidAmount,uint256 _interPaid) external  returns(bool);
      function defaultContract(uint256 _contractID,uint256 _defAmount) external returns(bool);
      function getPaidInfo(uint256 _conID) public view  returns(uint256[] memory _data,address _contract);
      function loanInterest(uint256 _conID) public view returns(uint256 _com,uint256 _lend,uint256 _gua);
}
function getBorrowAddr(uint256 _contractID) public view returns (address);
// function getLoanCredit(uint256 _contractID) public view returns (uint256);