private Binder followerGetRate(Binder params, Session session) throws IOException { checkNode(session, true); BigDecimal rateOriginDays = config.rate.get(NSmartContract.SmartContractType.FOLLOWER1.name()); BigDecimal rateCallback = config.rate.get(NSmartContract.SmartContractType.FOLLOWER1.name() + ":callback").divide(rateOriginDays); Binder b = new Binder(); b.put("rateOriginDays", rateOriginDays.toString()); b.put("rateCallback", rateCallback.toString()); return b; }
public Config () { System.out.println("USING REAL CONFIG"); try { networkAdminKeyAddress = new KeyAddress("bVmSQXWM7WvUtgcitUtjRd42WRbLycvsfPaRimpSNY3yZMUrVvEHV6mwb8A2DrKnzi795kJB"); networkReconfigKeyAddress = new KeyAddress("JPgxNXkRSYNnWM82D8WKLSH3d98jFeEeCmDN4wLfzfi5kE6kvfopJUQrbDczrgpCqpo5ncG8"); authorizedNameServiceCenterKey = new PublicKey(Base64u.decodeCompactString("HggcAQABxAABg9ideX6A3Wk9CuwnZrakXdvhYDiIiO0HA+YWmLArcZvhhaGMrw1i1mA6S9L6NPAuhYcZzm8Mxtwr1RESyJqm+HFwU+49s0yXHhCJsXcvK23Yx7NEpIrpGkKt9OCCdBGhQkls0Yc1lBBmGYCrShMntPC9xY9DJZ4sbMuBPIUQzpnWLYgRAbZb+KuZFXAIr7hRO0rNTZ6hE5zp6oPwlQLh9hBy6CsvZD/73Cf2WtKDunHD1qKuQU/KqruqVMMv2fd6ZKo692esWsqqIAiQztg1+sArAhf0Cr8lhRf53G5rndiiQx7RDs1P9Pp1wWK9e93UL1KF4PpVx7e7SznrCHTEdw")); addressesWhiteList.add(new KeyAddress("J3uaVvHE7JqhvVb1c26RyDhfJw9eP2KR1KRhm2VdmYx7NwHpzdHTyEPjcmKpgkJAtzWLSPUw")); uIssuerKeys.add(new KeyAddress("ZNuBikFEZbw71QQAFkNQtjfkmxFAdMgveTVPMGrFwo9vQwwPVE")); uIssuerKeys.add(new KeyAddress("J3uaVvHE7JqhvVb1c26RyDhfJw9eP2KR1KRhm2VdmYx7NwHpzdHTyEPjcmKpgkJAtzWLSPUw")); addressesWhiteList.add(new KeyAddress("JguevMekFzsM8Co2bqrswrVim9c9WsNxG9thLeCcNxncBcHVsnziRjhzEbhwDnL3wj2hha6H")); //U-bank addressesWhiteList.add(new KeyAddress("YuY8XgTD9mwuucSku9myWyZbbJ1CY43D2KXD8obuxp73eoK5EU")); addressesWhiteList.add(new KeyAddress("JuDQ9auvkvLEXaudcSEYabMzSnEu6drQ3UHV3gDFuYBxusSXHSLj2DgDNCL69zw2XkzdrDmr")); } catch (KeyAddress.IllegalAddressException e) { e.printStackTrace(); } catch (EncryptionError encryptionError) { encryptionError.printStackTrace(); } rate.put(NSmartContract.SmartContractType.SLOT1.name(), new BigDecimal("4")); rate.put(NSmartContract.SmartContractType.UNS1.name(), new BigDecimal("0.25")); rate.put(NSmartContract.SmartContractType.FOLLOWER1.name(), new BigDecimal("1")); rate.put(NSmartContract.SmartContractType.FOLLOWER1.name() + ":callback", new BigDecimal("1")); minPayment.put(NSmartContract.SmartContractType.SLOT1.name(), 100); minPayment.put(NSmartContract.SmartContractType.UNS1.name(), (int) Math.ceil(365/rate.get(NSmartContract.SmartContractType.UNS1.name()).doubleValue())); minPayment.put(NSmartContract.SmartContractType.FOLLOWER1.name(), 100); }
private Binder unsRate(Binder params, Session session) throws IOException { checkNode(session, true); BigDecimal rate = config.rate.get(NSmartContract.SmartContractType.UNS1.name()); String str = rate.toString(); Binder b = new Binder(); b.put("U", str); return b; }
@Test public void serializeSmartContract() throws Exception { final PrivateKey key = new PrivateKey(Do.read(rootPath + "_xer0yfe2nn1xthc.private.unikey")); Contract smartContract = new NSmartContract(key); smartContract.seal(); smartContract.check(); smartContract.traceErrors(); assertTrue(smartContract.isOk()); Binder b = BossBiMapper.serialize(smartContract); Contract desContract = DefaultBiMapper.deserialize(b); assertSameContracts(smartContract, desContract); assertEquals(NSmartContract.SmartContractType.N_SMART_CONTRACT.name(), desContract.getDefinition().getExtendedType()); assertEquals(NSmartContract.SmartContractType.N_SMART_CONTRACT.name(), desContract.get("definition.extended_type")); assertTrue(desContract instanceof NSmartContract); assertTrue(desContract instanceof NContract); Contract copiedContract = smartContract.copy(); assertSameContracts(smartContract, copiedContract); assertEquals(NSmartContract.SmartContractType.N_SMART_CONTRACT.name(), copiedContract.getDefinition().getExtendedType()); assertEquals(NSmartContract.SmartContractType.N_SMART_CONTRACT.name(), copiedContract.get("definition.extended_type")); assertTrue(copiedContract instanceof NSmartContract); assertTrue(copiedContract instanceof NContract); } }
@Test public void serializeNSmartContract() throws Exception { final PrivateKey key = new PrivateKey(Do.read(rootPath + "_xer0yfe2nn1xthc.private.unikey")); Contract smartContract = new NSmartContract(key); smartContract.seal(); smartContract.check(); smartContract.traceErrors(); assertTrue(smartContract.isOk()); Binder b = BossBiMapper.serialize(smartContract); Contract desContract = DefaultBiMapper.deserialize(b); assertSameContracts(smartContract, desContract); assertEquals(NSmartContract.SmartContractType.N_SMART_CONTRACT.name(), desContract.getDefinition().getExtendedType()); assertEquals(NSmartContract.SmartContractType.N_SMART_CONTRACT.name(), desContract.get("definition.extended_type")); assertTrue(desContract instanceof NSmartContract); assertTrue(smartContract instanceof NContract); Contract copiedContract = smartContract.copy(); assertSameContracts(smartContract, copiedContract); assertEquals(NSmartContract.SmartContractType.N_SMART_CONTRACT.name(), copiedContract.getDefinition().getExtendedType()); assertEquals(NSmartContract.SmartContractType.N_SMART_CONTRACT.name(), copiedContract.get("definition.extended_type")); assertTrue(copiedContract instanceof NSmartContract); assertTrue(smartContract instanceof NContract); } }
@Test public void goodUnsContractFromDSL() throws Exception { PrivateKey authorizedNameServiceKey = TestKeys.privateKey(3); config.setAuthorizedNameServiceCenterKeyData(new Bytes(authorizedNameServiceKey.getPublicKey().pack())); Contract paymentDecreased = createUnsPayment(); UnsContract uns = UnsContract.fromDslFile(rootPath + "uns/simple_uns_contract.yml"); uns.setNodeInfoProvider(nodeInfoProvider); uns.addSignerKeyFromFile(rootPath + "_xer0yfe2nn1xthc.private.unikey"); uns.addSignerKey(authorizedNameServiceKey); uns.addNewItems(paymentDecreased); uns.seal(); uns.check(); uns.traceErrors(); assertTrue(uns.isOk()); assertEquals(NSmartContract.SmartContractType.UNS1.name(), uns.getDefinition().getExtendedType()); assertEquals(NSmartContract.SmartContractType.UNS1.name(), uns.get("definition.extended_type")); assertTrue(uns instanceof UnsContract); assertTrue(uns instanceof NSmartContract); assertTrue(uns instanceof NContract); }
@Test public void goodNSmartContractFromDSL() throws Exception { Contract smartContract = NSmartContract.fromDslFile(ROOT_PATH + "NotaryNSmartDSLTemplate.yml"); smartContract.addSignerKeyFromFile(ROOT_PATH + "_xer0yfe2nn1xthc.private.unikey"); smartContract.seal(); smartContract.check(); smartContract.traceErrors(); assertTrue(smartContract.isOk()); assertTrue(smartContract instanceof NSmartContract); assertTrue(smartContract instanceof NContract); assertEquals(NSmartContract.SmartContractType.N_SMART_CONTRACT.name(), smartContract.getDefinition().getExtendedType()); assertEquals(NSmartContract.SmartContractType.N_SMART_CONTRACT.name(), smartContract.get("definition.extended_type")); registerAndCheckApproved(smartContract); ItemResult itemResult = node.waitItem(smartContract.getId(), 8000); // assertEquals("ok", itemResult.extraDataBinder.getBinder("onCreatedResult").getString("status", null)); // assertEquals("ok", itemResult.extraDataBinder.getBinder("onUpdateResult").getString("status", null)); }
@Test public void goodSmartContractFromDSL() throws Exception { Contract smartContract = NSmartContract.fromDslFile(ROOT_PATH + "NotarySmartDSLTemplate.yml"); smartContract.addSignerKeyFromFile(ROOT_PATH + "_xer0yfe2nn1xthc.private.unikey"); smartContract.seal(); smartContract.check(); smartContract.traceErrors(); assertTrue(smartContract.isOk()); assertTrue(smartContract instanceof NSmartContract); assertTrue(smartContract instanceof NContract); assertEquals(NSmartContract.SmartContractType.N_SMART_CONTRACT.name(), smartContract.getDefinition().getExtendedType()); assertEquals(NSmartContract.SmartContractType.N_SMART_CONTRACT.name(), smartContract.get("definition.extended_type")); registerAndCheckApproved(smartContract); ItemResult itemResult = node.waitItem(smartContract.getId(), 8000); // assertEquals("ok", itemResult.extraDataBinder.getBinder("onCreatedResult").getString("status", null)); // assertEquals("ok", itemResult.extraDataBinder.getBinder("onUpdateResult").getString("status", null)); }
@Test public void goodSmartContract() throws Exception { final PrivateKey key = new PrivateKey(Do.read(ROOT_PATH + "_xer0yfe2nn1xthc.private.unikey")); Contract smartContract = new NSmartContract(key); smartContract.seal(); smartContract.check(); smartContract.traceErrors(); assertTrue(smartContract.isOk()); assertTrue(smartContract instanceof NSmartContract); assertTrue(smartContract instanceof NContract); assertEquals(NSmartContract.SmartContractType.N_SMART_CONTRACT.name(), smartContract.getDefinition().getExtendedType()); assertEquals(NSmartContract.SmartContractType.N_SMART_CONTRACT.name(), smartContract.get("definition.extended_type")); registerAndCheckApproved(smartContract); ItemResult itemResult = node.waitItem(smartContract.getId(), 8000); // assertEquals("ok", itemResult.extraDataBinder.getBinder("onCreatedResult").getString("status", null)); // assertEquals("ok", itemResult.extraDataBinder.getBinder("onUpdateResult").getString("status", null)); }
@Test public void goodNSmartContract() throws Exception { final PrivateKey key = new PrivateKey(Do.read(ROOT_PATH + "_xer0yfe2nn1xthc.private.unikey")); Contract smartContract = new NSmartContract(key); smartContract.seal(); smartContract.check(); smartContract.traceErrors(); assertTrue(smartContract.isOk()); assertTrue(smartContract instanceof NSmartContract); assertTrue(smartContract instanceof NContract); assertEquals(NSmartContract.SmartContractType.N_SMART_CONTRACT.name(), smartContract.getDefinition().getExtendedType()); assertEquals(NSmartContract.SmartContractType.N_SMART_CONTRACT.name(), smartContract.get("definition.extended_type")); registerAndCheckApproved(smartContract); ItemResult itemResult = node.waitItem(smartContract.getId(), 8000); // assertEquals("ok", itemResult.extraDataBinder.getBinder("onCreatedResult").getString("status", null)); // assertEquals("ok", itemResult.extraDataBinder.getBinder("onUpdateResult").getString("status", null)); }
@Test public void goodSmartContractFromDSL() throws Exception { Contract smartContract = NSmartContract.fromDslFile(rootPath + "NotarySmartDSLTemplate.yml"); smartContract.addSignerKeyFromFile(rootPath + "_xer0yfe2nn1xthc.private.unikey"); smartContract.seal(); smartContract.check(); smartContract.traceErrors(); assertTrue(smartContract.isOk()); assertEquals(NSmartContract.SmartContractType.N_SMART_CONTRACT.name(), smartContract.getDefinition().getExtendedType()); assertEquals(NSmartContract.SmartContractType.N_SMART_CONTRACT.name(), smartContract.get("definition.extended_type")); assertTrue(smartContract instanceof NSmartContract); assertTrue(smartContract instanceof NContract); }
/** * Create a default empty new contract using a provided key as issuer and owner and sealer. Default expiration is * set to 5 years. * <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). * * @param key is {@link PrivateKey} for creating roles "issuer", "owner", "creator" and sign contract */ public NSmartContract(PrivateKey key) { super(key); getDefinition().setExtendedType(SmartContractType.N_SMART_CONTRACT.name()); }
@Test public void goodNSmartContract() throws Exception { final PrivateKey key = new PrivateKey(Do.read(rootPath + "_xer0yfe2nn1xthc.private.unikey")); Contract smartContract = new NSmartContract(key); smartContract.seal(); smartContract.check(); smartContract.traceErrors(); assertTrue(smartContract.isOk()); assertEquals(NSmartContract.SmartContractType.N_SMART_CONTRACT.name(), smartContract.getDefinition().getExtendedType()); assertEquals(NSmartContract.SmartContractType.N_SMART_CONTRACT.name(), smartContract.get("definition.extended_type")); assertTrue(smartContract instanceof NSmartContract); assertTrue(smartContract instanceof NContract); }
@Test public void goodNSmartContractFromDSL() throws Exception { Contract smartContract = NSmartContract.fromDslFile(rootPath + "NotaryNSmartDSLTemplate.yml"); smartContract.addSignerKeyFromFile(rootPath + "_xer0yfe2nn1xthc.private.unikey"); smartContract.seal(); smartContract.check(); smartContract.traceErrors(); assertTrue(smartContract.isOk()); assertEquals(NSmartContract.SmartContractType.N_SMART_CONTRACT.name(), smartContract.getDefinition().getExtendedType()); assertEquals(NSmartContract.SmartContractType.N_SMART_CONTRACT.name(), smartContract.get("definition.extended_type")); assertTrue(smartContract instanceof NSmartContract); assertTrue(smartContract instanceof NContract); }
@Test public void goodSmartContract() throws Exception { final PrivateKey key = new PrivateKey(Do.read(rootPath + "_xer0yfe2nn1xthc.private.unikey")); Contract smartContract = new NSmartContract(key); smartContract.seal(); smartContract.check(); smartContract.traceErrors(); assertTrue(smartContract.isOk()); assertEquals(NSmartContract.SmartContractType.N_SMART_CONTRACT.name(), smartContract.getDefinition().getExtendedType()); assertEquals(NSmartContract.SmartContractType.N_SMART_CONTRACT.name(), smartContract.get("definition.extended_type")); assertTrue(smartContract instanceof NSmartContract); assertTrue(smartContract instanceof NContract); }
private Binder storageGetRate(Binder params, Session session) throws IOException { checkNode(session, true); BigDecimal rate = config.rate.get(NSmartContract.SmartContractType.SLOT1.name()); String str = rate.toString(); Binder b = new Binder(); b.put("U", str); return b; }