def reqToTxn(req): """ Transform a client request such that it can be stored in the ledger. Also this is what will be returned to the client in the reply :param req: :return: """ if isinstance(req, str): req = json.loads(req) if isinstance(req, dict): req = Request(identifier=req.get(f.IDENTIFIER.nm, None), reqId=req.get(f.REQ_ID.nm, None), operation=req.get(OPERATION, None), signature=req.get(f.SIG.nm, None), signatures=req.get(f.SIGS.nm, None), protocolVersion=req.get(f.PROTOCOL_VERSION.nm, None)) if isinstance(req, Request): req_data = req.as_dict req_data[f.DIGEST.nm] = req.digest else: raise TypeError("Expected dict or str as input, but got: {}".format( type(req))) req_data = deepcopy(req_data) return do_req_to_txn(req_data=req_data, req_op=req_data[OPERATION])
def req(request, looper, sdk_wallet_client, endorser): op = {'type': '1', 'something': 'nothing'} taaa = {'a': 'b', 'c': 3} if request.param.endswith('_sdk'): request.param = request.param[:-4] if request.param == 'sigs_only': req = sdk_multisign_request_from_dict(looper, sdk_wallet_client, op, reqId=1513945121191691, taa_acceptance=taaa, endorser=endorser) else: req = sdk_sign_request_from_dict(looper, sdk_wallet_client, op, reqId=1513945121191691, taa_acceptance=taaa, endorser=endorser) if request.param == 'no_protocol_vers': # TODO INDY-2072 always false here req.pop('protocolVersion') req = Request(req.get(f.IDENTIFIER.nm, None), req.get(f.REQ_ID.nm, None), req.get(OPERATION, None), req.get(f.SIG.nm, None), req.get(f.SIGS.nm, None), req.get(f.PROTOCOL_VERSION.nm, None), req.get(f.TAA_ACCEPTANCE.nm, None), req.get(f.ENDORSER.nm, None)) else: req = Request(operation=op, reqId=1513945121191691, protocolVersion=CURRENT_PROTOCOL_VERSION, identifier="6ouriXMZkLeHsuXrN1X1fd", taaAcceptance=taaa, endorser=endorser) sign = "2DaRm3nt6H5fJu2TP5vxqbaDCtABPYmUTSX4ocnY8fVGgyJMVNaeh2z6JZhcW1gbmGKJcZopZMKZJwADuXFFJobM" req.signature = sign req.add_signature("6ouriXMZkLeHsuXrN1X1fd", sign) if request.param == 'sig_only': req.signatures = None if request.param == 'sigs_only': req.signature = None if request.param == 'no_protocol_vers': req.protocolVersion = None return req