code: def get_contract_state(self, contract_hash, id=None, endpoint=None):
          
          return self._call_endpoint(GET_CONTRACT_STATE, params=[contract_hash], id=id, endpoint=endpoint)
docs: Get a contract state object by its hash
          Args:
              contract_hash: (str) the hash of the contract to lookup, for example 'd7678dd97c000be3f33e9362e673101bac4ca654'
              id: (int, optional) id to use for response tracking
              endpoint: (RPCEndpoint, optional) endpoint to specify to use
          Returns:
              json object of the result or the error encountered in the RPC call