congrats Icon
New! Announcing our next generation AI code completions
Read here
Tabnine Logo
Contract.setExpiresAt
Code IndexAdd Tabnine to your IDE (free)

How to use
setExpiresAt
method
in
com.icodici.universa.contract.Contract

Best Java code snippets using com.icodici.universa.contract.Contract.setExpiresAt (Showing top 20 results out of 315)

  • Add the Codota plugin to your IDE and get smart completions
private void myMethod () {
List l =
  • Codota Iconnew ArrayList()
  • Codota Iconnew LinkedList()
  • Smart code suggestions by Tabnine
}
origin: UniversaBlockchain/universa

static Contract createComplexConctract(PrivateKey key, int subcontracts, int n) {
  Contract root = createSimpleContract(key);
  for(int i = 0; i < subcontracts; i++) {
    Contract c = createSimpleContract(key);
    c.setExpiresAt(c.getExpiresAt().plusSeconds(i+1+(subcontracts+1)*n));
    c.seal();
    root.addNewItems(c);
  }
  root.setExpiresAt(root.getExpiresAt().plusSeconds((subcontracts+1)*n));
  root.addSignerKey(key);
  root.seal();
  return root;
}
origin: UniversaBlockchain/universa

static Contract createSimpleContract(PrivateKey key) {
  Contract result = new Contract();
  // default expiration date
  result.setExpiresAt(ZonedDateTime.now().plusDays(90));
  // issuer role is a key for a new contract
  result.setIssuerKeys(key.getPublicKey().getShortAddress());
  // issuer is owner, link roles
  result.registerRole(new RoleLink("owner", "issuer"));
  result.registerRole(new RoleLink("creator", "issuer"));
  return result;
}
origin: UniversaBlockchain/universa

/**
 * Create a batch contract, which registers all the included contracts, possibily referencing each other,
 * in the single transaction, saving time and reducing U cost. Note that if any of the batched contracts
 * fails, the whole batch is rejected.
 *
 * @param contracts to register all in one batch. Shuld be prepared and sealed.
 * @param keys to sign batch with.
 * @return batch contract that includes all contracts as new items.
 */
public static Contract createBatch(Collection<PrivateKey> keys, Contract... contracts) {
  Contract batch = new Contract();
  batch.setIssuerKeys(keys);
  batch.registerRole(new RoleLink("creator","issuer"));
  batch.registerRole(new RoleLink("owner","issuer"));
  batch.setExpiresAt(ZonedDateTime.now().plusDays(3));
  for(Contract c : contracts) {
    batch.addNewItems(c);
  }
  batch.addSignerKeys(keys);
  batch.seal();
  return batch;
}
origin: UniversaBlockchain/universa

public void asd() throws Exception {
  PrivateKey key = new PrivateKey(Do.read("/Users/romanu/Downloads/ru/roman.uskov.privateKey.unikey"));
  Set<PrivateKey> issuers = new HashSet<>();
  issuers.add(key);
  Set<PublicKey> owners = new HashSet<>();
  owners.add(key.getPublicKey());
  TestSpace testSpace = prepareTestSpace();
  testSpace.nodes.forEach(n->n.config.setIsFreeRegistrationsAllowedFromYaml(true));
  for(int i = 109; i < 110; i++) {
    Contract c = ContractsService.createTokenContract(issuers, owners, new BigDecimal("100000.9"), new BigDecimal("0.01"));
    c.setIssuerKeys(key.getPublicKey().getShortAddress());
    c.setCreatorKeys(key.getPublicKey().getShortAddress());
    c.setExpiresAt(ZonedDateTime.now().plusDays(10));
    c.seal();
    new FileOutputStream("/Users/romanu/Downloads/ru/token"+i+".unicon").write(c.getPackedTransaction());
    assertEquals(testSpace.client.register(Contract.fromPackedTransaction(Do.read("/Users/romanu/Downloads/ru/token"+i+".unicon")).getPackedTransaction(),10000).state,ItemState.APPROVED);
  }
}
origin: UniversaBlockchain/universa

@Ignore("removed functionality")
@Test(timeout = 90000)
public void declineItemFromoutWhiteList() throws Exception {
  Set<PrivateKey> stepaPrivateKeys = new HashSet<>();
  stepaPrivateKeys.add(new PrivateKey(Do.read(ROOT_PATH + "keys/stepan_mamontov.private.unikey")));
  Contract stepaCoins = Contract.fromDslFile(ROOT_PATH + "stepaCoins.yml");
  stepaCoins.setExpiresAt(ZonedDateTime.now().plusMonths(1));
  stepaCoins.addSignerKey(stepaPrivateKeys.iterator().next());
  stepaCoins.seal();
  stepaCoins.check();
  stepaCoins.traceErrors();
  node.registerItem(stepaCoins);
  ItemResult itemResult = node.waitItem(stepaCoins.getId(), 18000);
  assertEquals(ItemState.UNDEFINED, itemResult.state);
}
origin: UniversaBlockchain/universa

/**
 * Create a default empty new contract using a provided key as issuer and owner and sealer. Default expiration is
 * set to 90 days.
 * <p>
 * This constructor adds key as sealing signature so it is ready to {@link #seal()} just after construction, thought
 * it is necessary to put real data to it first. It is allowed to change owner, expiration and data fields after
 * creation (but before sealing).
 * <p>
 * Change owner permission is added by default
 * @param key is {@link PrivateKey} for creating roles "issuer", "owner", "creator" and sign contract
 */
public Contract(PrivateKey key) {
  this();
  // default expiration date
  setExpiresAt(ZonedDateTime.now().plusDays(90));
  // issuer role is a key for a new contract
  setIssuerKeys(key.getPublicKey());
  // issuer is owner, link roles
  registerRole(new RoleLink("owner", "issuer"));
  registerRole(new RoleLink("creator", "issuer"));
  RoleLink roleLink = new RoleLink("@change_ower_role","owner");
  roleLink.setContract(this);
  // owner can change permission
  addPermission(new ChangeOwnerPermission(roleLink));
  // issuer should sign
  addSignerKey(key);
}
origin: UniversaBlockchain/universa

@Test
public void checkTestnetNewItemExpirationDateCriteria() throws Exception {
  PrivateKey key = new PrivateKey(Do.read(rootPath + "keys/stepan_mamontov.private.unikey"));
  Contract newItem = Contract.fromDslFile(rootPath + "LamborghiniTestDrive.yml");
  newItem.addSignerKey(key);
  sealCheckTrace(newItem, true);
  newItem.setExpiresAt(ZonedDateTime.now().plusMonths(13));
  Contract contract = Contract.fromDslFile(rootPath + "LamborghiniTestDrive.yml");
  contract.addSignerKey(key);
  contract.setExpiresAt(ZonedDateTime.now().plusMonths(1));
  contract.addNewItems(newItem);
  sealCheckTrace(contract, true);
  assertFalse(contract.isSuitableForTestnet());
  // now set contract limited for testnet
  contract.setLimitedForTestnet(true);
  sealCheckTrace(contract, false);
  assertFalse(contract.isSuitableForTestnet());
}
origin: UniversaBlockchain/universa

@Test
public void checkFitTestnetCriteria() throws Exception {
  PrivateKey key = new PrivateKey(Do.read(rootPath + "keys/stepan_mamontov.private.unikey"));
  Contract contract = Contract.fromDslFile(rootPath + "LamborghiniTestDrive.yml");
  contract.setExpiresAt(ZonedDateTime.now().plusMonths(1));
  contract.addSignerKey(key);
  sealCheckTrace(contract, true);
  System.out.println("Processing cost is " + contract.getProcessedCostU());
  assertTrue(contract.isSuitableForTestnet());
  // now set contract limited for testnet
  contract.setLimitedForTestnet(true);
  sealCheckTrace(contract, true);
  assertTrue(contract.isSuitableForTestnet());
}
origin: UniversaBlockchain/universa

@Test
public void checkTestnetCostUCriteria() throws Exception {
  PrivateKey key = new PrivateKey(Do.read(rootPath + "keys/stepan_mamontov.private.unikey"));
  Contract contract = Contract.fromDslFile(rootPath + "LamborghiniTestDrive.yml");
  contract.setExpiresAt(ZonedDateTime.now().plusMonths(1));
  contract.addSignerKey(key);
  for (int i = 0; i < 100; i++) {
    Contract newItem = Contract.fromDslFile(rootPath + "LamborghiniTestDrive.yml");
    newItem.setExpiresAt(ZonedDateTime.now().plusMonths(1));
    newItem.addSignerKey(key);
    sealCheckTrace(newItem, true);
    contract.addNewItems(newItem);
  }
  sealCheckTrace(contract, true);
  System.out.println("Processing cost is " + contract.getProcessedCostU());
  assertTrue(contract.getProcessedCostU() > Config.maxCostUInTestMode);
  assertFalse(contract.isSuitableForTestnet());
  // now set contract limited for testnet
  contract.setLimitedForTestnet(true);
  sealCheckTrace(contract, false);
  assertFalse(contract.isSuitableForTestnet());
}
origin: UniversaBlockchain/universa

@Test
public void checkTestnetKeyStrengthCriteria() throws Exception {
  PrivateKey key = new PrivateKey(Do.read(PRIVATE_KEY_PATH));
  Contract contract = createCoin100apiv3();
  contract.setExpiresAt(ZonedDateTime.now().plusMonths(1));
  contract.addSignerKey(key);
  sealCheckTrace(contract, true);
  assertFalse(contract.isSuitableForTestnet());
  // now set contract limited for testnet
  contract.setLimitedForTestnet(true);
  sealCheckTrace(contract, false);
  assertFalse(contract.isSuitableForTestnet());
}
origin: UniversaBlockchain/universa

@Test
public void checkTestnetExpirationDateCriteria() throws Exception {
  PrivateKey key = new PrivateKey(Do.read(rootPath + "keys/stepan_mamontov.private.unikey"));
  Contract contract = Contract.fromDslFile(rootPath + "LamborghiniTestDrive.yml");
  contract.addSignerKey(key);
  sealCheckTrace(contract, true);
  contract.setExpiresAt(ZonedDateTime.now().plusMonths(13));
  assertFalse(contract.isSuitableForTestnet());
  // now set contract limited for testnet
  contract.setLimitedForTestnet(true);
  sealCheckTrace(contract, false);
  assertFalse(contract.isSuitableForTestnet());
}
origin: UniversaBlockchain/universa

@Test
public void modifyExpiresAtWhiteList() throws Exception {
  ZonedDateTime now = ZonedDateTime.ofInstant(Instant.ofEpochSecond(ZonedDateTime.now().toEpochSecond()), ZoneId.systemDefault());
  Contract contract = new Contract(TestKeys.privateKey(0));
  ModifyDataPermission modifyDataPermission = new ModifyDataPermission(contract.getRole("owner"), new Binder());
  modifyDataPermission.addField("/expires_at", Do.listOf(now.plusDays(1), now.plusDays(2)));
  contract.addPermission(modifyDataPermission);
  contract.seal();
  Contract changed = contract.createRevision();
  changed.addSignerKey(TestKeys.privateKey(0));
  changed.setExpiresAt(now.plusDays(1));
  changed.seal();
  changed.check();
  changed.traceErrors();
  assertTrue(changed.isOk());
  changed = contract.createRevision();
  changed.addSignerKey(TestKeys.privateKey(0));
  changed.setExpiresAt(now.plusDays(2));
  changed.seal();
  changed.check();
  assertTrue(changed.isOk());
  changed = contract.createRevision();
  changed.addSignerKey(TestKeys.privateKey(0));
  changed.setExpiresAt(now.plusDays(3));
  changed.seal();
  changed.check();
  assertTrue(!changed.isOk());
}
origin: UniversaBlockchain/universa

@Ignore
@Test
public void checkRevisionExpiresAtDistantPastTime() throws Exception{
  Contract baseContract = Contract.fromDslFile(ROOT_PATH + "DeLoreanOwnership.yml");
  PrivateKey manufacturePrivateKey = new PrivateKey(Do.read(ROOT_PATH + "_xer0yfe2nn1xthc.private.unikey"));
  PrivateKey ownerPrivateKey = new PrivateKey(Do.read(ROOT_PATH + "keys/marty_mcfly.private.unikey"));
  baseContract.addSignerKey(manufacturePrivateKey);
  baseContract.seal();
  baseContract.check();
  baseContract.traceErrors();
  System.out.println("Base contract is valid: " + baseContract.isOk());
  registerAndCheckApproved(baseContract);
  Contract revContract  = baseContract.createRevision(ownerPrivateKey);
  revContract.setExpiresAt(ZonedDateTime.of(LocalDateTime.MIN.truncatedTo(ChronoUnit.SECONDS), ZoneOffset.UTC));
  revContract.seal();
  revContract.check();
  revContract.traceErrors();
  assertTrue(revContract.isOk());
}
origin: UniversaBlockchain/universa

@Ignore
@Test
public void checkRevisionExpiresAtDistantFutureTime() throws Exception{
  Contract baseContract = Contract.fromDslFile(ROOT_PATH + "DeLoreanOwnership.yml");
  PrivateKey manufacturePrivateKey = new PrivateKey(Do.read(ROOT_PATH + "_xer0yfe2nn1xthc.private.unikey"));
  PrivateKey ownerPrivateKey = new PrivateKey(Do.read(ROOT_PATH + "keys/marty_mcfly.private.unikey"));
  baseContract.addSignerKey(manufacturePrivateKey);
  baseContract.seal();
  baseContract.check();
  baseContract.traceErrors();
  System.out.println("Base contract is valid: " + baseContract.isOk());
  registerAndCheckApproved(baseContract);
  Contract revContract  = baseContract.createRevision(ownerPrivateKey);
  revContract.setExpiresAt(ZonedDateTime.of(LocalDateTime.MAX.truncatedTo(ChronoUnit.SECONDS), ZoneOffset.UTC));
  revContract.seal();
  revContract.check();
  revContract.traceErrors();
  assertTrue(revContract.isOk());
}
origin: UniversaBlockchain/universa

private Contract createNetConfigContract(List<NodeInfo> netConfig,PrivateKey issuerKey) throws IOException {
  Contract contract = new Contract();
  contract.setIssuerKeys(issuerKey.getPublicKey());
  contract.registerRole(new RoleLink("creator", "issuer"));
  ListRole listRole = new ListRole("owner");
  for(NodeInfo ni: netConfig) {
    SimpleRole role = new SimpleRole(ni.getName());
    contract.registerRole(role);
    role.addKeyRecord(new KeyRecord(ni.getPublicKey()));
    listRole.addRole(role);
  }
  listRole.setQuorum(netConfig.size()-1);
  contract.registerRole(listRole);
  RoleLink ownerLink = new RoleLink("ownerlink","owner");
  ChangeOwnerPermission changeOwnerPermission = new ChangeOwnerPermission(ownerLink);
  HashMap<String,Object> fieldsMap = new HashMap<>();
  fieldsMap.put("net_config",null);
  Binder modifyDataParams = Binder.of("fields",fieldsMap);
  ModifyDataPermission modifyDataPermission = new ModifyDataPermission(ownerLink,modifyDataParams);
  contract.addPermission(changeOwnerPermission);
  contract.addPermission(modifyDataPermission);
  contract.setExpiresAt(ZonedDateTime.now().plusYears(40));
  contract.getStateData().set("net_config",netConfig);
  contract.addSignerKey(issuerKey);
  contract.seal();
  return contract;
}
origin: UniversaBlockchain/universa

@Test
public void modifyExpiresAtDeclined() throws Exception {
  Contract contract = new Contract(TestKeys.privateKey(0));
  contract.getStateData().put("field_to_be_changed", "value1");
  ModifyDataPermission modifyDataPermission = new ModifyDataPermission(contract.getRole("owner"), new Binder());
  modifyDataPermission.addField("expires_at", null);
  contract.addPermission(modifyDataPermission);
  contract.seal();
  Contract changed = contract.createRevision();
  changed.addSignerKey(TestKeys.privateKey(0));
  changed.setExpiresAt(ZonedDateTime.now().plusDays(1));
  changed.seal();
  changed.check();
  assertTrue(!changed.isOk());
}
origin: UniversaBlockchain/universa

@Test
public void modifyExpiresAtAllowed() throws Exception {
  Contract contract = new Contract(TestKeys.privateKey(0));
  contract.getStateData().put("field_to_be_changed", "value1");
  ModifyDataPermission modifyDataPermission = new ModifyDataPermission(contract.getRole("owner"), new Binder());
  modifyDataPermission.addField("/expires_at", null);
  contract.addPermission(modifyDataPermission);
  contract.seal();
  Contract changed = contract.createRevision();
  changed.addSignerKey(TestKeys.privateKey(0));
  changed.setExpiresAt(ZonedDateTime.now().plusDays(1));
  changed.seal();
  changed.check();
  assertTrue(changed.isOk());
}
origin: UniversaBlockchain/universa

@Test
public void registerContractWithAnonymousId() throws Exception {
  TestSpace ts = prepareTestSpace();
  PrivateKey newPrivateKey = new PrivateKey(Do.read("./src/test_contracts/keys/u_key.private.unikey"));
  byte[] myAnonId = newPrivateKey.createAnonymousId();
  Contract contract = new Contract();
  contract.setExpiresAt(ZonedDateTime.now().plusDays(90));
  Role r = contract.setIssuerKeys(AnonymousId.fromBytes(myAnonId));
  contract.registerRole(new RoleLink("owner", "issuer"));
  contract.registerRole(new RoleLink("creator", "issuer"));
  contract.addPermission(new ChangeOwnerPermission(r));
  contract.addSignerKey(newPrivateKey);
  contract.seal();
  assertTrue(contract.isOk());
  System.out.println("contract.check(): " + contract.check());
  contract.traceErrors();
  ts.client.getSession().setPrivateKey(newPrivateKey);
  ts.client.restart();
  ItemResult itemResult = ts.client.register(contract.getPackedTransaction(), 5000);
  assertEquals(ItemState.APPROVED, itemResult.state);
  ts.nodes.forEach(x -> x.shutdown());
}
origin: UniversaBlockchain/universa

@Ignore
@Test
public void checkRevisionExpiresAtReсentPastTime() throws Exception{
  Contract baseContract = Contract.fromDslFile(ROOT_PATH + "DeLoreanOwnership.yml");
  PrivateKey manufacturePrivateKey = new PrivateKey(Do.read(ROOT_PATH + "_xer0yfe2nn1xthc.private.unikey"));
  PrivateKey ownerPrivateKey = new PrivateKey(Do.read(ROOT_PATH + "keys/marty_mcfly.private.unikey"));
  baseContract.addSignerKey(manufacturePrivateKey);
  baseContract.seal();
  baseContract.check();
  baseContract.traceErrors();
  System.out.println("Base contract is valid: " + baseContract.isOk());
  registerAndCheckApproved(baseContract);
  Contract revContract  = baseContract.createRevision(ownerPrivateKey);
  revContract.setExpiresAt(revContract.getCreatedAt().minusMinutes(1));
  revContract.seal();
  revContract.check();
  revContract.traceErrors();
  assertTrue(revContract.isOk());
}
origin: UniversaBlockchain/universa

@Ignore
@Test
public void checkRevisionExpiresAtReсentFutureTime() throws Exception{
  Contract baseContract = Contract.fromDslFile(ROOT_PATH + "DeLoreanOwnership.yml");
  PrivateKey manufacturePrivateKey = new PrivateKey(Do.read(ROOT_PATH + "_xer0yfe2nn1xthc.private.unikey"));
  PrivateKey ownerPrivateKey = new PrivateKey(Do.read(ROOT_PATH + "keys/marty_mcfly.private.unikey"));
  baseContract.addSignerKey(manufacturePrivateKey);
  baseContract.seal();
  baseContract.check();
  baseContract.traceErrors();
  System.out.println("Base contract is valid: " + baseContract.isOk());
  registerAndCheckApproved(baseContract);
  Contract revContract  = baseContract.createRevision(ownerPrivateKey);
  revContract.setExpiresAt(revContract.getCreatedAt().plusMinutes(1));
  revContract.seal();
  revContract.check();
  revContract.traceErrors();
  assertTrue(revContract.isOk());
}
com.icodici.universa.contractContractsetExpiresAt

Javadoc

Set expiration date of contract

Popular methods of Contract

  • <init>
    Extract old, deprecated v2 self-contained binary partially unpacked by the TransactionPack, and fill
  • addNewItems
    Add one or more siblings to the contract. Note that those must be sealed before calling #seal() or #
  • addSignerKey
    Add private key to keys contract binary to be signed with when sealed next time. It is called before
  • getExpiresAt
    Get contract expiration time
  • getId
    Get the id sealing self if need
  • getPackedTransaction
    Pack the contract to the most modern .unicon format, same as TransactionPack#pack(). Uses bounded Tr
  • registerRole
    Register new role. Name must be unique otherwise existing role will be overwritten
  • seal
    Seal contract to binary. This call adds signatures from #getKeysToSignWith()
  • addSignatureToSeal
    Add signature to sealed (before) contract. Do not deserializing or changing contract bytes, but will
  • check
  • createRevision
    Create new revision to be changed, signed sealed and then ready to approve. Created "revision" contr
  • fromDslFile
    Create contract importing its parameters with passed .yaml file. No signatures are added automatical
  • createRevision,
  • fromDslFile,
  • fromPackedTransaction,
  • getCreatedAt,
  • getDefinition,
  • getErrors,
  • getKeysToSignWith,
  • getLastSealedBinary,
  • getNew,
  • getNewItems

Popular in Java

  • Reactive rest calls using spring rest template
  • getSystemService (Context)
  • scheduleAtFixedRate (Timer)
  • compareTo (BigDecimal)
  • String (java.lang)
  • Enumeration (java.util)
    A legacy iteration interface.New code should use Iterator instead. Iterator replaces the enumeration
  • Hashtable (java.util)
    A plug-in replacement for JDK1.5 java.util.Hashtable. This version is based on org.cliffc.high_scale
  • Cipher (javax.crypto)
    This class provides access to implementations of cryptographic ciphers for encryption and decryption
  • ServletException (javax.servlet)
    Defines a general exception a servlet can throw when it encounters difficulty.
  • JFileChooser (javax.swing)
  • Top plugins for WebStorm
Tabnine Logo
  • Products

    Search for Java codeSearch for JavaScript code
  • IDE Plugins

    IntelliJ IDEAWebStormVisual StudioAndroid StudioEclipseVisual Studio CodePyCharmSublime TextPhpStormVimAtomGoLandRubyMineEmacsJupyter NotebookJupyter LabRiderDataGripAppCode
  • Company

    About UsContact UsCareers
  • Resources

    FAQBlogTabnine AcademyStudentsTerms of usePrivacy policyJava Code IndexJavascript Code Index
Get Tabnine for your IDE now