code: async def get_txn(self, txn: int) -> str:
          
  
          LOGGER.debug('_BaseAgent.get_txn >>> txn: %s', txn)
  
          rv_json = json.dumps({})
          req_json = await ledger.build_get_txn_request(self.did, None, txn)
          resp = json.loads(await self._submit(req_json))
  
          rv_json = json.dumps((resp['result'].get('data', {}) or {}).get('txn', {}))  # "data": null for no such txn
          LOGGER.debug('_BaseAgent.get_txn <<< %s', rv_json)
          return rv_json
docs: Find a transaction on the distributed ledger by its sequence number.
  
          :param txn: transaction number
          :return: json sequence number of transaction, null for no match