/** * Method creates smart contract from dsl file where contract is described. * @param fileName is path to dsl file with yaml structure of data for contract. */ public static NSmartContract fromDslFile(String fileName) throws IOException { Yaml yaml = new Yaml(); try (FileReader r = new FileReader(fileName)) { Binder binder = Binder.from(DefaultBiMapper.deserialize((Map) yaml.load(r))); return new NSmartContract().initializeWithDsl(binder); } }
switch(scType) { case N_SMART_CONTRACT: contract = new NSmartContract(bb, this); break;
switch (scType) { case N_SMART_CONTRACT: c = new NSmartContract(b.toArray(), this); break;
testSpace.nodes.get(testSpace.nodes.size()-1).shutdown(); NSmartContract rev1 = new NSmartContract(TestKeys.privateKey(0)); rev1.getStateData().set("field1", 33); Permission permission = new ChangeNumberPermission(rev1.getOwner(), Binder.of("field_name", "field1"));
@Test public void goodSmartContractWithSending() 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()); Contract gotContract = imitateSendingTransactionToPartner(smartContract); assertTrue(gotContract instanceof NSmartContract); assertTrue(gotContract instanceof NContract); registerAndCheckApproved(gotContract); ItemResult itemResult = node.waitItem(gotContract.getId(), 8000); // assertEquals("ok", itemResult.extraDataBinder.getBinder("onCreatedResult").getString("status", null)); // assertEquals("ok", itemResult.extraDataBinder.getBinder("onUpdateResult").getString("status", null)); }
@Test public void goodNSmartContractWithSending() 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()); Contract gotContract = imitateSendingTransactionToPartner(smartContract); assertTrue(gotContract instanceof NSmartContract); assertTrue(gotContract instanceof NContract); registerAndCheckApproved(gotContract); ItemResult itemResult = node.waitItem(gotContract.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(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 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); }
@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 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 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); } }
contract.seal(); NSmartContract smartContract = new NSmartContract(privateKey); smartContract.seal();