/** * @see #createTokenContract(Set, Set, BigDecimal, BigDecimal, String, String, String) */ public synchronized static Contract createMintableTokenContract(Set<PrivateKey> issuerKeys, Set<PublicKey> ownerKeys, BigDecimal amount, BigDecimal minValue) { return createMintableTokenContract(issuerKeys, ownerKeys, amount, minValue, "DT", "Default token name", "Default token description"); }
/** * @see #createTokenContract(Set, Set, BigDecimal, BigDecimal) */ public synchronized static Contract createMintableTokenContract(Set<PrivateKey> issuerKeys, Set<PublicKey> ownerKeys, BigDecimal amount) { return createMintableTokenContract(issuerKeys, ownerKeys, amount, new BigDecimal("0.01")); }
@Deprecated public synchronized static Contract createMintableTokenContract(Set<PrivateKey> issuerKeys, Set<PublicKey> ownerKeys, String amount, Double minValue, String currency, String name, String description) { return createMintableTokenContract(issuerKeys, ownerKeys, new BigDecimal(amount), new BigDecimal(minValue), currency, name, description); }
@Deprecated public synchronized static Contract createMintableTokenContract(Set<PrivateKey> issuerKeys, Set<PublicKey> ownerKeys, String amount, Double minValue) { return createMintableTokenContract(issuerKeys, ownerKeys, new BigDecimal(amount), new BigDecimal(minValue)); }
@Test(timeout = 90000) public void createTokenContractWithEmission() throws Exception { Set<PrivateKey> stepaPrivateKeys = new HashSet<>(); Set<PublicKey> stepaPublicKeys = new HashSet<>(); stepaPrivateKeys.add(new PrivateKey(Do.read(ROOT_PATH + "keys/stepan_mamontov.private.unikey"))); for (PrivateKey pk : stepaPrivateKeys) stepaPublicKeys.add(pk.getPublicKey()); Set<PrivateKey> martyPrivateKeys = new HashSet<>(); martyPrivateKeys.add(new PrivateKey(Do.read(ROOT_PATH + "keys/marty_mcfly.private.unikey"))); Contract tokenContract1 = ContractsService.createMintableTokenContract(martyPrivateKeys, stepaPublicKeys, new BigDecimal("300000000000")); tokenContract1.check(); tokenContract1.traceErrors(); registerAndCheckApproved(tokenContract1); Contract tokenContract2 = ContractsService.createMintableTokenContract(martyPrivateKeys, stepaPublicKeys, new BigDecimal("100000000000")); tokenContract2.check(); tokenContract2.traceErrors(); registerAndCheckApproved(tokenContract2); Contract joinedContract = tokenContract1.createRevision(stepaPrivateKeys); joinedContract.addRevokingItems(tokenContract2); joinedContract.getStateData().set("amount","400000000000"); joinedContract.seal(); joinedContract.check(); joinedContract.traceErrors(); registerAndCheckApproved(joinedContract); assertEquals(joinedContract.getStateData().getString("amount"), "400000000000"); assertEquals(ItemState.REVOKED, node.waitItem(tokenContract1.getId(), 8000).state); assertEquals(ItemState.REVOKED, node.waitItem(tokenContract2.getId(), 8000).state); }
@Test(timeout = 90000) public void createTokenContractWithEmissionBadSignature() throws Exception { Set<PrivateKey> stepaPrivateKeys = new HashSet<>(); Set<PublicKey> stepaPublicKeys = new HashSet<>(); stepaPrivateKeys.add(new PrivateKey(Do.read(ROOT_PATH + "keys/stepan_mamontov.private.unikey"))); for (PrivateKey pk : stepaPrivateKeys) stepaPublicKeys.add(pk.getPublicKey()); Set<PrivateKey> martyPrivateKeys = new HashSet<>(); martyPrivateKeys.add(new PrivateKey(Do.read(ROOT_PATH + "keys/marty_mcfly.private.unikey"))); Contract tokenContract1 = ContractsService.createMintableTokenContract(martyPrivateKeys, stepaPublicKeys, new BigDecimal("300000000000")); tokenContract1.check(); tokenContract1.traceErrors(); registerAndCheckApproved(tokenContract1); Contract tokenContract2 = ContractsService.createMintableTokenContract(stepaPrivateKeys, stepaPublicKeys, new BigDecimal("100000000000")); tokenContract2.check(); tokenContract2.traceErrors(); registerAndCheckApproved(tokenContract2); Contract joinedContract = tokenContract1.createRevision(stepaPrivateKeys); joinedContract.addRevokingItems(tokenContract2); joinedContract.getStateData().set("amount","400000000000"); joinedContract.seal(); joinedContract.check(); joinedContract.traceErrors(); registerAndCheckDeclined(joinedContract); assertEquals(joinedContract.getStateData().getString("amount"), "400000000000"); assertEquals(ItemState.APPROVED, node.waitItem(tokenContract1.getId(), 8000).state); assertEquals(ItemState.APPROVED, node.waitItem(tokenContract2.getId(), 8000).state); }