code: def _get_channel_state_statelessly(self, grpc_channel, channel_id):
          
          server     = self._get_channel_state_from_server    (grpc_channel, channel_id)
          blockchain = self._get_channel_state_from_blockchain(              channel_id)
  
          if (server["current_nonce"] == blockchain["nonce"]):
              unspent_amount = blockchain["value"] - server["current_signed_amount"]
          else:
              unspent_amount = None # in this case we cannot securely define unspent_amount yet
  
          return (server["current_nonce"], server["current_signed_amount"], unspent_amount)
docs: We get state of the channel (nonce, amount, unspent_amount)
          We do it by securely combine information from the server and blockchain
          https://github.com/singnet/wiki/blob/master/multiPartyEscrowContract/MultiPartyEscrow_stateless_client.md