/** * Returns {@link UnsName} record by it's name. */ public UnsName getUnsName(String name) { for(UnsName unsName : storedNames) { if(unsName.getUnsName().equals(name)) { return unsName; } } return null; }
/** * Remove {@link UnsName} record from names collection of stored by this UnsContract. * @param name */ public void removeName(String name) { UnsName nameToRemove = null; for(UnsName unsName : storedNames) { if(unsName.getUnsName().equals(name)) { nameToRemove = unsName; break; } } if(nameToRemove != null) { storedNames.remove(nameToRemove); } } }
if(unsRecord.getOrigin() != null) { if(!unsRecord.getAddresses().isEmpty()) { addError(Errors.FAILED_CHECK, NAMES_FIELD_NAME, "name " + n.getUnsName() + " referencing to origin AND addresses. Should be either origin or addresses"); return false; addError(Errors.FAILED_CHECK, NAMES_FIELD_NAME, "name " + n.getUnsName() + " referencing to origin " + unsRecord.getOrigin().toString() + " but no corresponding reference is found"); return false; addError(Errors.FAILED_CHECK, NAMES_FIELD_NAME, "name " + n.getUnsName() + " referencing to origin " + unsRecord.getOrigin().toString() + " but no corresponding referenced contract is found"); return false; addError(Errors.FAILED_CHECK, NAMES_FIELD_NAME, "name " + n.getUnsName() + " referencing to origin " + unsRecord.getOrigin().toString() + ". UNS1 contract should be also signed by this contract issuer key."); return false; addError(Errors.FAILED_CHECK, NAMES_FIELD_NAME, "name " + n.getUnsName() + " is missing both addresses and origin."); return false; addError(Errors.FAILED_CHECK, NAMES_FIELD_NAME, "name " + n.getUnsName() + ": Addresses list should not be contains more 2 addresses"); addError(Errors.FAILED_CHECK, NAMES_FIELD_NAME, "name " + n.getUnsName() + ": Addresses list may only contain one short and one long addresses"); addError(Errors.FAILED_CHECK, NAMES_FIELD_NAME, "name " + n.getUnsName() + " using address that missing corresponding key UNS contract signed with."); return false;
public NNameRecord(@NonNull UnsName unsName, @NonNull ZonedDateTime expiresAt) { name = unsName.getUnsName(); nameReduced = unsName.getUnsReducedName(); description = unsName.getUnsDescription(); url = unsName.getUnsURL(); this.expiresAt = expiresAt; unsName.getUnsRecords().forEach(unsRecord -> { String longAddress = null; String shortAddress = null; for (KeyAddress keyAddress : unsRecord.getAddresses()) { if (keyAddress.isLong()) longAddress = keyAddress.toString(); else shortAddress = keyAddress.toString(); } entries.add(new NNameRecordEntry(unsRecord.getOrigin(), shortAddress, longAddress)); }); }
assertEquals(ItemState.APPROVED, testSpace.node.node.waitItem(uns.getNew().get(0).getId(), 8000).state); assertEquals(testSpace.node.node.getLedger().getNameRecord(unsName.getUnsName()).getEntries().size(),1); assertEquals(ItemState.APPROVED, testSpace.node.node.waitItem(parcel.getPayment().getContract().getId(), 8000).state); assertNull(testSpace.node.node.getLedger().getNameRecord(unsName.getUnsName()));
assertEquals(ItemState.APPROVED, testSpace.node.node.waitItem(uns.getNew().get(0).getId(), 8000).state); assertEquals(testSpace.node.node.getLedger().getNameRecord(unsName.getUnsName()).getEntries().size(),1); assertEquals(ItemState.REVOKED, testSpace.node.node.waitItem(uns.getId(), 8000).state); assertNull(testSpace.node.node.getLedger().getNameRecord(unsName.getUnsName())); assertEquals(ItemState.APPROVED, testSpace.node.node.waitItem(uns2.getNew().get(0).getId(), 8000).state); assertEquals(testSpace.node.node.getLedger().getNameRecord(unsName.getUnsName()).getEntries().size(),1); assertEquals(ItemState.APPROVED, testSpace.node.node.waitItem(parcel.getPayment().getContract().getId(), 8000).state); assertNull(testSpace.node.node.getLedger().getNameRecord(unsName.getUnsName())); testSpace.nodes.forEach( m -> m.config.setAuthorizedNameServiceCenterKeyData(new Bytes(authorizedNameServiceKey.getPublicKey().pack()))); assertNull(testSpace.node.node.getLedger().getNameRecord(unsName.getUnsName())); assertNotNull(testSpace.nodes.get(testSpace.nodes.size()-1).node.getLedger().getNameRecord(unsName.getUnsName())); NNameRecord nrm = testSpace.node.node.getLedger().getNameRecord(unsName.getUnsName()); NNameRecord nrmLast = testSpace.nodes.get(testSpace.nodes.size()-1).node.getLedger().getNameRecord(unsName.getUnsName()); assertEquals(nrm.getEntries().size(),1); assertEquals(nrmLast.getEntries().size(),1); nrmLast = testSpace.nodes.get(testSpace.nodes.size()-1).node.getLedger().getNameRecord(unsName.getUnsName());
assertEquals(ItemState.APPROVED, testSpace.node.node.waitItem(uns.getNew().get(0).getId(), 8000).state); assertEquals(testSpace.node.node.getLedger().getNameRecord(unsName.getUnsName()).getEntries().size(),1); assertEquals(ItemState.REVOKED, testSpace.node.node.waitItem(uns.getId(), 8000).state); assertNull(testSpace.node.node.getLedger().getNameRecord(unsName.getUnsName())); assertEquals(ItemState.APPROVED, testSpace.node.node.waitItem(uns2.getNew().get(0).getId(), 8000).state); assertEquals(testSpace.node.node.getLedger().getNameRecord(unsName.getUnsName()).getEntries().size(),1); assertNull(testSpace.node.node.getLedger().getNameRecord(unsName.getUnsName())); testSpace.nodes.forEach( m -> m.config.setAuthorizedNameServiceCenterKeyData(new Bytes(authorizedNameServiceKey.getPublicKey().pack()))); assertNull(testSpace.node.node.getLedger().getNameRecord(unsName.getUnsName())); assertNotNull(testSpace.nodes.get(testSpace.nodes.size()-1).node.getLedger().getNameRecord(unsName.getUnsName())); assertEquals(ItemState.APPROVED, testSpace.node.node.waitItem(uns3.getNew().get(0).getId(), 8000).state); NNameRecord nrm = testSpace.node.node.getLedger().getNameRecord(unsName.getUnsName()); NNameRecord nrmLast = testSpace.nodes.get(testSpace.nodes.size()-1).node.getLedger().getNameRecord(unsName.getUnsName()); assertEquals(nrm.getEntries().size(),1); assertEquals(nrmLast.getEntries().size(),1); nrmLast = testSpace.nodes.get(testSpace.nodes.size()-1).node.getLedger().getNameRecord(unsName.getUnsName());
uns.addOriginContract(referencesContract2); uns.removeName(unsNameToRemove.getUnsName()); UnsName unsNameToChangeCopy = uns.getUnsName(unsNameToChange.getUnsName()); for(int i = 0; i < unsNameToChangeCopy.getUnsRecords().size();i++) { UnsRecord unsRecord = unsNameToChangeCopy.getUnsRecord(i);
assertEquals(nnr2.getName(),unsName.getUnsName()); assertEquals(nnr2.getNameReduced(),unsName.getUnsReducedName()); assertEquals(nnr2.getDescription(),unsName.getUnsDescription());