async def on_pool_create(self, pool_handle, wallet_handle, submitter_did, sign_req_f, send_req_f, *args, **kwargs): await super().on_pool_create(pool_handle, wallet_handle, submitter_did, sign_req_f, send_req_f, *args, **kwargs) self._wallet_handle = wallet_handle _, self._default_schema_json = await anoncreds.issuer_create_schema( submitter_did, random_string(32), "1.0", json.dumps(["name", "age", "sex", "height"])) schema_request = await ledger.build_schema_request( submitter_did, self._default_schema_json) schema_request = await self._append_taa_acceptance(schema_request) resp = await sign_req_f(wallet_handle, submitter_did, schema_request) resp = await send_req_f(pool_handle, resp) # resp = await ledger.sign_and_submit_request(pool_handle, wallet_handle, submitter_did, schema_request) resp = json.loads(resp) seqno =\ resp.get('result', {}).get('seqNo', None) or\ resp.get('result', {}).get('txnMetadata', {}).get('seqNo', None) self._default_schema_json = json.loads(self._default_schema_json) self._default_schema_json['seqNo'] = seqno self._default_definition_id, self._default_definition_json = \ await anoncreds.issuer_create_and_store_credential_def( wallet_handle, submitter_did, json.dumps(self._default_schema_json), random_string(32), "CL", json.dumps({"support_revocation": True})) self._default_definition_json = json.loads( self._default_definition_json)
async def on_pool_create(self, pool_handle, wallet_handle, submitter_did, sign_req_f, send_req_f, *args, **kwargs): self._node_alias = random_string(7) self._node_did, node_ver = await did.create_and_store_my_did( wallet_handle, json.dumps({'seed': random_string(32)})) self._steward_did, verk = await did.create_and_store_my_did( wallet_handle, json.dumps({'seed': random_string(32)})) nym_req = await ledger.build_nym_request(submitter_did, self._steward_did, verk, None, "STEWARD") await ledger.sign_and_submit_request(pool_handle, wallet_handle, submitter_did, nym_req)
def __init__(self, name, pipe_conn, batch_size, batch_rate, req_kind, buff_req, pool_config, send_mode): self._name = name self._stat = ClientStatistic() self._send_mode = send_mode self._buff_reqs = buff_req self._pipe_conn = pipe_conn self._pool_name = "pool_{}".format(random_string(24)) self._loop = asyncio.new_event_loop() asyncio.set_event_loop(self._loop) self._pool_handle = None self._wallet_name = None self._wallet_handle = None self._test_did = None self._test_verk = None self._load_client_reqs = [] self._loop.add_reader(self._pipe_conn, self.read_cb) self._closing = False self._batch_size = batch_size self._batch_rate = batch_rate self._gen_q = [] self._send_q = [] req_class, params = ReqTypeParser.create_req_generator(req_kind) self._req_generator = req_class(**params, client_stat=self._stat) assert self._req_generator is not None self._pool_config = json.dumps(pool_config) if isinstance( pool_config, dict) and pool_config else None if self._send_mode == LoadClient.SendResp and self._batch_size > 1: raise RuntimeError( "Batch size cannot be greater than 1 in response waiting mode") if self._send_mode == LoadClient.SendResp and buff_req != 0: raise RuntimeError( "Cannot pregenerate reqs in response waiting mode")
async def _upd_revoc_reg(self): while True: try: self._default_revoc_reg_def_id, self._default_revoc_reg_def_json, self._default_revoc_reg_entry_json = \ await anoncreds.issuer_create_and_store_revoc_reg( self._wallet_handle, self._submitter_did, "CL_ACCUM", random_string(32), self._default_definition_id, json.dumps({"max_cred_num": self._max_cred_num, "issuance_type": "ISSUANCE_ON_DEMAND"}), self._tails_writer) def_revoc_request = await ledger.build_revoc_reg_def_request( self._submitter_did, self._default_revoc_reg_def_json) await ledger.sign_and_submit_request(self._pool_handle, self._wallet_handle, self._submitter_did, def_revoc_request) entry_revoc_request = await ledger.build_revoc_reg_entry_request( self._submitter_did, self._default_revoc_reg_def_id, "CL_ACCUM", self._default_revoc_reg_entry_json) await ledger.sign_and_submit_request(self._pool_handle, self._wallet_handle, self._submitter_did, entry_revoc_request) break except Exception as ex: print("WARNING: _upd_revoc_reg {}".format(ex))
def check_genesis(gen_path): loop = asyncio.get_event_loop() pool_cfg = json.dumps({"genesis_txn": gen_path}) pool_name = "pool_{}".format(random_string(24)) loop.run_until_complete(pool.set_protocol_version(2)) try: loop.run_until_complete( pool.create_pool_ledger_config(pool_name, pool_cfg)) pool_handle = loop.run_until_complete( pool.open_pool_ledger(pool_name, None)) except Exception as ex: raise argparse.ArgumentTypeError(ex) loop.run_until_complete(pool.close_pool_ledger(pool_handle)) dir_to_dlt = os.path.join(os.path.expanduser("~/.indy_client/pool"), pool_name) if os.path.isdir(dir_to_dlt): shutil.rmtree(dir_to_dlt, ignore_errors=True)
def __init__(self, name, pipe_conn, batch_size, batch_rate, req_kind, buff_req, pool_config, send_mode, short_stat, **kwargs): self._name = name self._stat = ClientStatistic(short_stat) self._send_mode = send_mode self._buff_reqs = buff_req self._pipe_conn = pipe_conn self._pool_name = "pool_{}".format(random_string(24)) self._loop = asyncio.new_event_loop() asyncio.set_event_loop(self._loop) self._pool_handle = None self._wallet_name = None self._wallet_handle = None self._trustee_dids = [] self._req_num_of_trustees = kwargs.get("trustees_num", 1) self._set_auth_rule = kwargs.get("set_auth_rules", False) self._test_did = None self._test_verk = None self._taa_text = None self._taa_version = None self._taa_time = None self._load_client_reqs = [] self._loop.add_reader(self._pipe_conn, self.read_cb) self._closing = False self._batch_size = batch_size self._batch_rate = batch_rate self._auth_rule_metadata = {} self._gen_q = [] self._send_q = [] req_class, params = ReqTypeParser.create_req_generator(req_kind) self._req_generator = req_class(**params, client_stat=self._stat) assert self._req_generator is not None self._pool_config = json.dumps(pool_config) if isinstance( pool_config, dict) and pool_config else None if self._send_mode == LoadClient.SendResp and self._batch_size > 1: raise RuntimeError( "Batch size cannot be greater than 1 in response waiting mode") if self._send_mode == LoadClient.SendResp and buff_req != 0: raise RuntimeError( "Cannot pregenerate reqs in response waiting mode") self._logger = logging.getLogger(self._name)
def _rand_data(self): return random_string(32)
def tmpdir(request): tmp_h = request.config._tmpdirhandler x = str(tmp_h.mktemp(random_string(4), numbered=True)) yield x shutil.rmtree(x)