async def submitPublicKeys(self, id: ID, pk: PublicKey, pkR: RevocationPublicKey = None ) -> (PublicKey, RevocationPublicKey): pkData = pk.toStrDict() pkRData = pkR.toStrDict() op = { TXN_TYPE: ISSUER_KEY, REF: id.schemaId, DATA: { PRIMARY: pkData, REVOCATION: pkRData } } try: data, seqNo = await self._sendSubmitReq(op) except TimeoutError: logger.error('Operation timed out {}'.format(op)) return None if not seqNo: return None pk = pk._replace(seqId=seqNo) pkR = pkR._replace(seqId=seqNo) return pk, pkR
async def submitPublicKeys(self, id: ID, pk: PublicKey, pkR: RevocationPublicKey = None, signatureType = 'CL') -> \ (PublicKey, RevocationPublicKey): data = {} if pk is not None: data[PRIMARY] = pk.toStrDict() if pkR is not None: data[REVOCATION] = pkR.toStrDict() op = { TXN_TYPE: CLAIM_DEF, REF: id.schemaId, DATA: JsonSerializer.dumps(data, toBytes=False), SIGNATURE_TYPE: signatureType } _, seqNo = await self._sendSubmitReq(op) if seqNo: pk = pk._replace(seqId=seqNo) if pkR is not None: pkR = pkR._replace(seqId=seqNo) return pk, pkR
def testPKFromToDict(): pk = PublicKey(N=cmod.integer(11), Rms=cmod.integer(12), Rctxt=cmod.integer(13), R={'a': cmod.integer(1), 'b': cmod.integer(2)}, S=cmod.integer(14), Z=cmod.integer(15)) assert pk == PublicKey.fromStrDict(pk.toStrDict())
async def submitPublicKeys(self, id: ID, pk: PublicKey, pkR: RevocationPublicKey = None) -> ( PublicKey, RevocationPublicKey): pkData = pk.toStrDict() pkRData = pkR.toStrDict() op = { TXN_TYPE: ISSUER_KEY, REF: id.schemaId, DATA: {PRIMARY: pkData, REVOCATION: pkRData} } data, seqNo = await self._sendSubmitReq(op) if not seqNo: return None pk = pk._replace(seqId=seqNo) pkR = pkR._replace(seqId=seqNo) return pk, pkR