saveContractSubitems(source,"_payment", ((Parcel) x).getPaymentContract()); saveContractSubitems(source,"_payload", ((Parcel) x).getPayloadContract()); saveContract(((Parcel) x).getPaymentContract(),new FilenameTool(source).addSuffixToBase("_payment").setExtension("unicon").toString()); saveContract(((Parcel) x).getPayloadContract(),new FilenameTool(source).addSuffixToBase("_payload").setExtension("unicon").toString()); } else { Contract contract = loadContract(source);
public FilenameTool(String filename) { parts = getFilenameParts(filename); }
if (!writeFileContents(path, contents)) { for (int iSuf = 1; iSuf <= 9000; ++iSuf) { String newFilename = new FilenameTool(path).addSuffixToBase("_"+iSuf).toString(); if (writeFileContents(newFilename, contents)) { return newFilename; String randomFilename = new FilenameTool(path).addSuffixToBase("_" + Bytes.random(32).toHex().replaceAll(" ", "")).toString(); try { if (writeFileContents(randomFilename, contents))
private static void doSign() throws IOException { String source = (String) options.valueOf("sign"); List<String> names = (List) options.valuesOf("output"); Contract c = Contract.fromPackedTransaction(Files.readAllBytes(Paths.get(source))); if(c != null) { keysMap().values().forEach( k -> c.addSignatureToSeal(k)); String name; if(names.size() > 0) { name = names.get(0); } else { String suffix = "_signedby_"+String.join("_",c.getSealedByKeys().stream().map(k->k.getShortAddress().toString()).collect(Collectors.toSet())); name = new FilenameTool(source).addSuffixToBase(suffix).toString(); } saveContract(c,name,true,false); } finish(); }
private static void saveContractSubitems(String source, String suffix, Contract contract) throws IOException { try { report("unpack contract from " + source); int i = 1; if (contract.getNewItems() != null) { for (Approvable newItem : contract.getNewItems()) { String newItemFileName = new FilenameTool(source).addSuffixToBase(suffix+"_new_item_" + i).toString(); report("save newItem to " + newItemFileName); // ((Contract) newItem).seal(); saveContract((Contract) newItem, newItemFileName); i++; } } i = 1; if (contract.getRevokingItems() != null) { for (Approvable revokeItem : contract.getRevokingItems()) { String revokeItemFileName = new FilenameTool(source).addSuffixToBase(suffix+"_revoke_" + i).setExtension("unicon").toString(); report("save revokeItem to " + revokeItemFileName); saveContract((Contract) revokeItem, revokeItemFileName); i++; } } } catch (Quantiser.QuantiserException e) { addError("QUANTIZER_COST_LIMIT", contract.toString(), e.getMessage()); } }
name = new FilenameTool(source).setExtension("unicon").toString();
String targetFile = FileTool.writeFileContentsWithRenaming(new FilenameTool(keyPath).setPath(walletPath).toString(), pk.pack()); keys.add(new FilenameTool(targetFile).getFilename()); keysAdded++; String targetFile = FileTool.writeFileContentsWithRenaming(new FilenameTool(contractPath).setPath(walletPath).toString(), contract.getLastSealedBinary()); targetList.add(new FilenameTool(targetFile).getFilename());
}; String utnDest = new FilenameTool(utnPath).addSuffixToBase("_rev" + utnContract.getRevision()).toString(); utnDest = FileTool.writeFileContentsWithRenaming(utnDest, new byte[0]); if (utnDest != null) { uPath = output; } else { uPath = new FilenameTool(utnPath).setBase("U_" + amount).toString(); System.out.println("U purchase transaction is saved to : " +FileTool.writeFileContentsWithRenaming(new FilenameTool(utnPath).setBase("u_purchase_"+ZonedDateTime.now().toEpochSecond()).toString(),compoundBytes)); String compoundBase64 = Base64u.encodeString(compoundBytes); answer = httpClient.commonRequest("uutn/purchase","compound_base64",compoundBase64);
if (newUContract != null) { System.out.println("Auto purchase completed. New U contract is: " + newUContract); uContracts.add(new FilenameTool(newUContract).getFilename()); saveConfig = true; } else {
private static void doAnonymize() throws IOException { List<String> sources = new ArrayList<String>((List) options.valuesOf("anonymize")); List<String> roles = new ArrayList<String>((List) options.valuesOf("role")); List<String> names = (List) options.valuesOf("output"); List<String> nonOptions = new ArrayList<String>((List) options.nonOptionArguments()); for (String opt : nonOptions) { sources.addAll(asList(opt.split(","))); } cleanNonOptionalArguments(sources); for (int s = 0; s < sources.size(); s++) { String source = sources.get(s); Contract contract = loadContract(source); if (contract != null) { if(roles.size() <= 0) { roles = new ArrayList<>(contract.getRoles().keySet()); } for (String roleName : roles) { report("Anonymizing role " + roleName + " in " + source + "..."); contract.anonymizeRole(roleName); contract.seal(); } if (names.size() > s) { saveContract(contract, names.get(s), true, false); } else { saveContract(contract, new FilenameTool(source).addSuffixToBase("_anonymized").toString(), true, false); } } } finish(); }
name = new FilenameTool(source).setExtension("unicon").toString();
StandardCopyOption.ATOMIC_MOVE }; String uDest = new FilenameTool(uSource).addSuffixToBase("_rev" + u.getRevision()).toString(); uDest = FileTool.writeFileContentsWithRenaming(uDest, new byte[0]); if (uDest != null) {
extractKeyRole = extractKeyRoles.get(i); if (name == null) { name = new FilenameTool(source).setExtension("pub").toString(); name = new FilenameTool(source).setExtension(format).addSuffixToBase("_fields").toString(); name = new FilenameTool(source).setExtension(format).toString();
for (int i = 0; i < partContracts.length; i++) { if(names.size() > i + 1) { nameTool = new FilenameTool(names.get(i+1)); } else { if(names.size() > 0) { nameTool = new FilenameTool(names.get(0)); } else { nameTool = new FilenameTool(source); nameTool.addSuffixToBase("_"+i); saveContract(partContracts[i], nameTool.toString(), true, true); nameTool = new FilenameTool(names.get(0)); } else { nameTool = new FilenameTool(source); nameTool.addSuffixToBase("_main"); saveContract(contract, nameTool.toString(), true, true);
@Test public void createRegisterParcel() throws Exception { Contract contract = new Contract(TestKeys.privateKey(0)); contract.seal(); String contractFileName = basePath + "createRegisterParcel.unicon"; new FileOutputStream(contractFileName).write(contract.getPackedTransaction()); String uContract = getApprovedUContract(); callMain("--create-parcel", contractFileName, "--verbose", "--u", uContract, "--k", rootPath + "keys/stepan_mamontov.private.unikey"); callMain("--register-parcel", new FilenameTool(contractFileName).setExtension("uniparcel").toString()); Thread.sleep(1500); System.out.println("probe after register"); Contract c = CLIMain.loadContract(contractFileName); callMain("--probe", c.getId().toBase64String(), "--verbose"); System.out.println(output); assertEquals(0, errors.size()); assertTrue (output.indexOf(ItemState.APPROVED.name()) > 0); }
FilenameTool ft = new FilenameTool(str1); ft.addSuffixToBase("_1"); assertEquals(str2,ft.toString()); ft.setExtension("unicon"); assertEquals(str3,ft.toString()); ft = new FilenameTool(str1); ft.addSuffixToBase("_1"); assertEquals(str2,ft.toString()); ft.setExtension("unicon"); assertEquals(str3,ft.toString()); ft = new FilenameTool(str1); ft.addSuffixToBase("_1"); assertEquals(str2,ft.toString()); ft.setExtension("unicon"); assertEquals(str3,ft.toString()); ft = new FilenameTool(str1); ft.addSuffixToBase("_1"); assertEquals(str2,ft.toString()); ft.setExtension("unicon"); assertEquals(str3,ft.toString()); ft = new FilenameTool(str1);
StandardCopyOption.ATOMIC_MOVE }; String uDest = new FilenameTool(uSource).addSuffixToBase("_rev" + u.getRevision()).toString(); uDest = FileTool.writeFileContentsWithRenaming(uDest, new byte[0]); if (uDest != null) { name = names.get(s); } else { name = new FilenameTool(source).setExtension("uniparcel").toString();
saveParcel(parcel,new FilenameTool(source).setExtension("uniparcel").toString()); report("save payment revision: " + newUContract.getState().getRevision() + " id: " + newUContract.getId()); StandardCopyOption.ATOMIC_MOVE }; String uDest = new FilenameTool(uSource).addSuffixToBase("_rev" + u.getRevision()).toString(); uDest = FileTool.writeFileContentsWithRenaming(uDest, new byte[0]); if (uDest != null) {