def evilCreatePropagate(self, request: Request, identifier: str) -> Propagate: logger.debug("EVIL: Creating propagate request for client request {}". format(request)) request.operation["amount"] += random.random() request._digest = request.getDigest() if isinstance(identifier, bytes): identifier = identifier.decode() return Propagate(request.as_dict, identifier)
def requests(): def _getDigest(req: Request): return sha256(req.identifier.encode()) requests = Requests() for id in req_identifiers: req = Request(id) req.getDigest = functools.partial(_getDigest, req) requests.add(req) assert len(requests) == 3 return requests
def requests(): def _getDigest(req: Request): return sha256(req.identifier.encode()) requests = Requests() req = Request("1") req.getDigest = functools.partial(_getDigest, req) requests.add(req) assert len(requests) == 1 return requests, req.key
def signRequest(self, req: Request, identifier: Identifier = None) -> Request: """ Signs request. Modifies reqId and signature. May modify identifier. :param req: request :param requestIdStore: request id generator :param identifier: signer identifier :return: signed request """ idr = self.requiredIdr(idr=identifier or req.identifier) idData = self._getIdData(idr) req.identifier = idr req.reqId = getTimeBasedId() req.digest = req.getDigest() self.ids[idr] = IdData(idData.signer, req.reqId) req.signature = self.signMsg(msg=req.signingState, identifier=idr, otherIdentifier=req.identifier) return req