checkResult = getTrackingContract() != null; if(!checkResult) { addError(Errors.FAILED_CHECK, "Tracking contract is missed"); if(getTrackingContract() != null) { checkResult = getTrackingContract().getOrigin().equals(tc.getOrigin()); if (!checkResult) { addError(Errors.FAILED_CHECK, "Slot-contract should store only contracts with same origin");
assertEquals(simpleContract.getId(), ((SlotContract) smartContract).getTrackingContract().getId()); assertEquals(simpleContract.getId(), TransactionPack.unpack(((SlotContract) smartContract).getPackedTrackingContract()).getContract().getId()); assertEquals(simpleContract2.getId(), ((SlotContract) smartContract).getTrackingContract().getId()); assertEquals(simpleContract2.getId(), TransactionPack.unpack(((SlotContract) smartContract).getPackedTrackingContract()).getContract().getId()); assertEquals(simpleContract3.getId(), ((SlotContract) smartContract).getTrackingContract().getId()); assertEquals(simpleContract3.getId(), TransactionPack.unpack(((SlotContract) smartContract).getPackedTrackingContract()).getContract().getId());
@Override public boolean beforeUpdate(ImmutableEnvironment c) { boolean checkResult = false; // recalculate storing info without saving to state to get valid storing data calculatePrepaidKilobytesForDays(false); // check that payment was not hacked checkResult = prepaidKilobytesForDays == getStateData().getInt(PREPAID_KD_FIELD_NAME, 0); if(!checkResult) { addError(Errors.FAILED_CHECK, "Wrong [state.data." + PREPAID_KD_FIELD_NAME + "] value. " + "Should be sum of early paid U and paid U by current revision."); return checkResult; } if(getTrackingContract() != null) { // check for that last revision of tracking contract has same owner as creator of slot checkResult = getTrackingContract().getOwner().isAllowedForKeys(getEffectiveKeys()); if (!checkResult) { addError(Errors.FAILED_CHECK, "Slot-contract signing keys must has allowed keys for owner of tracking contract"); return checkResult; } } // and call common slot check checkResult = additionallySlotCheck(c); return checkResult; }
if(getTrackingContract() != null) { checkResult = getTrackingContract().getOwner().isAllowedForKeys(getEffectiveKeys()); if (!checkResult) { addError(Errors.FAILED_CHECK, "Slot-contract signing keys must has allowed keys for owner of tracking contract");
assertEquals("ok", itemResult.extraDataBinder.getBinder("onCreatedResult").getString("status", null)); assertEquals(simpleContract.getId(), slotContract.getTrackingContract().getId()); assertEquals(simpleContract.getId(), ((SlotContract) payingParcel.getPayload().getContract()).getTrackingContract().getId());
assertEquals("ok", itemResult.extraDataBinder.getBinder("onCreatedResult").getString("status", null)); assertEquals(simpleContract.getId(), slotContract.getTrackingContract().getId()); assertEquals(simpleContract.getId(), ((SlotContract) payingParcel.getPayload().getContract()).getTrackingContract().getId()); assertEquals("ok", itemResult.extraDataBinder.getBinder("onCreatedResult").getString("status", null)); assertEquals(simpleContract.getId(), slotContract2.getTrackingContract().getId()); assertEquals(simpleContract.getId(), ((SlotContract) payingParcel.getPayload().getContract()).getTrackingContract().getId());
assertEquals("ok", itemResult.extraDataBinder.getBinder("onCreatedResult").getString("status", null)); assertEquals(simpleContract.getId(), slotContract.getTrackingContract().getId()); assertEquals(simpleContract.getId(), ((SlotContract) payingParcel.getPayload().getContract()).getTrackingContract().getId());
assertTrue(((ModifyDataPermission)mdp.iterator().next()).getFields().containsKey("action")); assertEquals(simpleContract.getId(), ((SlotContract) smartContract).getTrackingContract().getId()); assertEquals(simpleContract.getId(), TransactionPack.unpack(((SlotContract) smartContract).getPackedTrackingContract()).getContract().getId());
assertTrue(((ModifyDataPermission)mdp.iterator().next()).getFields().containsKey("action")); assertEquals(simpleContract.getId(), ((SlotContract) smartContract).getTrackingContract().getId()); assertEquals(simpleContract.getId(), TransactionPack.unpack(((SlotContract) smartContract).getPackedTrackingContract()).getContract().getId());
assertTrue(((ModifyDataPermission)mdp.iterator().next()).getFields().containsKey("action")); assertEquals(simpleContract.getId(), ((SlotContract) desContract).getTrackingContract().getId()); assertEquals(simpleContract.getId(), TransactionPack.unpack(((SlotContract) desContract).getPackedTrackingContract()).getContract().getId()); assertTrue(((ModifyDataPermission)mdp.iterator().next()).getFields().containsKey("action")); assertEquals(simpleContract.getId(), ((SlotContract) copiedContract).getTrackingContract().getId()); assertEquals(simpleContract.getId(), TransactionPack.unpack(((SlotContract) copiedContract).getPackedTrackingContract()).getContract().getId());
assertEquals("ok", itemResult.extraDataBinder.getBinder("onCreatedResult").getString("status", null)); assertEquals(simpleContract.getId(), slotContract.getTrackingContract().getId()); assertEquals(simpleContract.getId(), ((SlotContract) payingParcel.getPayload().getContract()).getTrackingContract().getId());