Пример #1
0
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])
Пример #2
0
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