Tabnine Logo
Contract.getPermissions
Code IndexAdd Tabnine to your IDE (free)

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

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

origin: UniversaBlockchain/universa

public static List<Wallet> determineWallets(List<Contract> contracts) {
  Map<Object, Wallet> wallets = new HashMap<>();
  for (Contract contract : contracts) {
    if (contract.getPermissions() == null) continue;
    Collection<Permission> splitJoinCollection = contract.getPermissions().get("split_join");
    if (splitJoinCollection == null || splitJoinCollection.size() == 0) continue;
    Object split_join = splitJoinCollection.toArray()[0];
    if (!(split_join instanceof SplitJoinPermission)) continue;
    Object join_match_fields = ((SplitJoinPermission) split_join).getParams().get("join_match_fields");
    Object field;
    if (join_match_fields instanceof List) field = ((List) join_match_fields).get(0);
    else field = join_match_fields;
    Wallet wallet = wallets.get(field);
    if (wallet == null) {
      wallet = new Wallet();
    }
    wallet.addContract(contract);
    wallets.put(field, wallet);
  }
  return new ArrayList<>(wallets.values());
}
origin: UniversaBlockchain/universa

private boolean hasSimilarPermission(Contract contract, Collection<PublicKey> keys, boolean checkAllowance) {
  Collection<Permission> permissions = contract.getPermissions().get("split_join");
  if(permissions == null)
    return false;
  return permissions.stream().anyMatch(p -> {
    if(!((SplitJoinPermission)p).fieldName.equals(fieldName)) {
      return false;
    }
    if(!((SplitJoinPermission)p).minUnit.equals(minUnit)) {
      return false;
    }
    if(!((SplitJoinPermission)p).minValue.equals(minValue)) {
      return false;
    }
    if(((SplitJoinPermission)p).mergeFields.size() != mergeFields.size()) {
      return false;
    }
    if(!((SplitJoinPermission)p).mergeFields.containsAll(mergeFields)) {
      return false;
    }
    if(checkAllowance && !p.isAllowedFor(keys)) {
      return false;
    }
    return true;
  });
}
origin: UniversaBlockchain/universa

public void addPermission(Permission perm) {
  // We need to assign contract-unique id
  if (perm.getId() == null) {
    if (permissionIds == null) {
      permissionIds =
          getPermissions().values().stream()
              .map(x -> x.getId())
              .collect(Collectors.toSet());
    }
    while (true) {
      String id = Ut.randomString(6);
      if (!permissionIds.contains(id)) {
        permissionIds.add(id);
        perm.setId(id);
        break;
      }
    }
  }
  permissions.put(perm.getName(), perm);
}
origin: UniversaBlockchain/universa

private void excludePermittedChanges() throws Quantiser.QuantiserException {
  Set<PublicKey> checkingKeys = changed.getEffectiveKeys();
  for (String key : existing.getPermissions().keySet()) {
    Collection<Permission> permissions = existing.getPermissions().get(key);
    boolean permissionQuantized = false;
    for (Permission permission : permissions) {
      if (permission.isAllowedForKeys(checkingKeys)) {
        if(!permissionQuantized) {
          changed.checkApplicablePermissionQuantized(permission);
          permissionQuantized = true;
        }
        permission.checkChanges(existing, changed, stateChanges,revokingItems,checkingKeys);
      }
    }
  }
}
origin: UniversaBlockchain/universa

for(Permission permission : contract.getPermissions().values()) {
  if(permission instanceof ChangeOwnerPermission) {
    if(!(permission.getRole() instanceof RoleLink) || ((RoleLink)permission.getRole()).getRole() != contract.getOwner())
origin: UniversaBlockchain/universa

@Test(timeout = 90000)
public void declinePaymentAndPaymentWithRemovedPermissions() throws Exception {
  Set<PrivateKey> stepaPrivateKeys = new HashSet<>();
  stepaPrivateKeys.add(new PrivateKey(Do.read(ROOT_PATH + "keys/stepan_mamontov.private.unikey")));
  Contract uContract = getApprovedUContract();
  Contract modifiedU = uContract.createRevision(stepaPrivateKeys);
  modifiedU.getPermissions().remove("revoke");
  modifiedU.seal();
  // stepaPrivateKeys - is also U keys
  Parcel parcel =  ContractsService.createParcel(modifiedU, uContract, 150, stepaPrivateKeys);
  System.out.println("-------------");
  node.registerParcel(parcel);
  synchronized (uContractLock) {
    uContract = parcel.getPaymentContract();
  }
  waitAndCheckState(parcel, ItemState.UNDEFINED);
}
origin: UniversaBlockchain/universa

@Test(timeout = 90000)
public void checkPayment_missingDecrementPermission() throws Exception {
  Contract payment = checkPayment_preparePaymentContract(checkPayment_preparePrivateKeys());
  payment.getPermissions().remove("decrement_permission");
  boolean res = payment.paymentCheck(config.getUIssuerKeys());
  payment.traceErrors();
  assertFalse(res);
}
origin: UniversaBlockchain/universa

assertThat(c.getPermissions().getFirst("change_owner").getRole(), is(instanceOf(RoleLink.class)));
assertTrue(c.getPermissions().getFirst("change_owner").getRole().isAllowedForKeys(new HashSet(Do.listOf(ownerKey1))));
c.traceErrors();
assertTrue(c.check());
assertEquals(c, ((RoleLink) c.getPermissions().getFirst("change_owner").getRole()).getContract());
Role cOwner = c.getOwner();
assertTrue (cOwner.isAllowedForKeys(new HashSet<>(Do.listOf(ownerKey1))));
assertEquals(c, ((RoleLink) c.getPermissions().getFirst("change_owner").getRole()).getContract());
assertEquals(c.getOwner(), ((RoleLink) c.getPermissions().getFirst("change_owner").getRole()).getRole());
assertEquals(c2, ((RoleLink) c2.getPermissions().getFirst("change_owner").getRole()).getContract());
assertEquals(c, ((RoleLink) c.getPermissions().getFirst("change_owner").getRole()).getContract());
c2.setOwnerKey(ownerKey3);
assertNotEquals(c.getOwner(), c2.getOwner());
assertEquals(c.getOwner(), ((RoleLink) c.getPermissions().getFirst("change_owner").getRole()).getRole());
origin: UniversaBlockchain/universa

emittedContract.traceErrors();
assertEquals(emittedContract.getPermissions().get("split_join").size(), 1);
Binder splitJoinParams = emittedContract.getPermissions().get("split_join").iterator().next().getParams();
assertEquals(splitJoinParams.get("min_value"), "0.01");
assertEquals(splitJoinParams.get("min_unit"), "0.01");
origin: UniversaBlockchain/universa

assertThat(c.getPermissions().getFirst("change_owner").getRole(), is(instanceOf(RoleLink.class)));
assertTrue(c.getPermissions().getFirst("change_owner").getRole().isAllowedForKeys(new HashSet(Do.listOf(ownerKey1))));
origin: UniversaBlockchain/universa

c.addNewItems(jobCertificate);
Role r = c.getPermissions().getFirst("decrement_permission").getRole();
assertThat(r, is(instanceOf(ListRole.class)));
assertFalse(r.isAllowedForKeys(stepaPublicKeys));
assertTrue(r.isAllowedForKeys(stepaPublicKeys));
System.out.println("decrement permission :" + c.getPermissions().get("decrement_permission"));
c.traceErrors();
assertTrue(c.isOk());
assertEquals(c, (c.getPermissions().getFirst("decrement_permission").getRole()).getContract());
assertEquals(c2, c2.getPermissions().getFirst("decrement_permission").getRole().getContract());
c3.getStateData().set("units", c.getStateData().getIntOrThrow("units") - 1);
c3.addNewItems(jobCertificate);
assertEquals(c3, c3.getPermissions().getFirst("decrement_permission").getRole().getContract());
origin: UniversaBlockchain/universa

assertEquals(shareContract.getPermissions().get("split_join").size(), 1);
Binder splitJoinParams = shareContract.getPermissions().get("split_join").iterator().next().getParams();
assertEquals(splitJoinParams.get("min_value"), 1);
assertEquals(splitJoinParams.get("min_unit"), 1);
origin: UniversaBlockchain/universa

assertEquals(tokenContract.getPermissions().get("split_join").size(), 1);
Binder splitJoinParams = tokenContract.getPermissions().get("split_join").iterator().next().getParams();
assertEquals(splitJoinParams.get("min_value"), "0.01");
assertEquals(splitJoinParams.get("min_unit"), "0.01");
origin: UniversaBlockchain/universa

assertEquals(tokenContract.getPermissions().get("split_join").size(), 1);
Binder splitJoinParams = tokenContract.getPermissions().get("split_join").iterator().next().getParams();
assertEquals(splitJoinParams.get("min_value"), "0.01");
assertEquals(splitJoinParams.get("min_unit"), "0.01");
origin: UniversaBlockchain/universa

assertEquals(shareContract.getPermissions().get("split_join").size(), 1);
Binder splitJoinParams = shareContract.getPermissions().get("split_join").iterator().next().getParams();
assertEquals(splitJoinParams.get("min_value"), 1);
assertEquals(splitJoinParams.get("min_unit"), 1);
origin: UniversaBlockchain/universa

assertEquals(NSmartContract.SmartContractType.FOLLOWER1.name(), desContract.get("definition.extended_type"));
Multimap<String, Permission> permissions = desContract.getPermissions();
Collection<Permission> mdp = permissions.get("modify_data");
assertNotNull(mdp);
permissions = desContract.getPermissions();
mdp = permissions.get("modify_data");
assertNotNull(mdp);
origin: UniversaBlockchain/universa

assertEquals(NSmartContract.SmartContractType.FOLLOWER1.name(), smartContract.get("definition.extended_type"));
Multimap<String, Permission> permissions = smartContract.getPermissions();
Collection<Permission> mdp = permissions.get("modify_data");
assertNotNull(mdp);
origin: UniversaBlockchain/universa

assertEquals(NSmartContract.SmartContractType.FOLLOWER1.name(), smartContract.get("definition.extended_type"));
Multimap<String, Permission> permissions = smartContract.getPermissions();
Collection<Permission> mdp = permissions.get("modify_data");
assertNotNull(mdp);
origin: UniversaBlockchain/universa

assertEquals(NSmartContract.SmartContractType.SLOT1.name(), smartContract.get("definition.extended_type"));
Multimap<String, Permission> permissions = smartContract.getPermissions();
Collection<Permission> mdp = permissions.get("modify_data");
assertNotNull(mdp);
origin: UniversaBlockchain/universa

Multimap<String, Permission> permissions = smartContract.getPermissions();
Collection<Permission> mdp = permissions.get("modify_data");
assertNotNull(mdp);
com.icodici.universa.contractContractgetPermissions

Javadoc

Get contract permissions

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

  • Reading from database using SQL prepared statement
  • getExternalFilesDir (Context)
  • compareTo (BigDecimal)
  • getResourceAsStream (ClassLoader)
  • GridLayout (java.awt)
    The GridLayout class is a layout manager that lays out a container's components in a rectangular gri
  • InputStreamReader (java.io)
    A class for turning a byte stream into a character stream. Data read from the source input stream is
  • ServerSocket (java.net)
    This class represents a server-side socket that waits for incoming client connections. A ServerSocke
  • Date (java.sql)
    A class which can consume and produce dates in SQL Date format. Dates are represented in SQL as yyyy
  • HashSet (java.util)
    HashSet is an implementation of a Set. All optional operations (adding and removing) are supported.
  • AtomicInteger (java.util.concurrent.atomic)
    An int value that may be updated atomically. See the java.util.concurrent.atomic package specificati
  • Top Sublime Text plugins
Tabnine Logo
  • Products

    Search for Java codeSearch for JavaScript code
  • IDE Plugins

    IntelliJ IDEAWebStormVisual StudioAndroid StudioEclipseVisual Studio CodePyCharmSublime TextPhpStormVimGoLandRubyMineEmacsJupyter NotebookJupyter LabRiderDataGripAppCode
  • Company

    About UsContact UsCareers
  • Resources

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