2 Ревизии

Автор SHA1 Съобщение Дата
  Tennessee Gibbs 35d08b5cf0 trying to merge преди 6 години
  Tennessee Gibbs a10ad9624c merged controller преди 6 години

+ 0
- 13
.idea/libraries/Maven__org_springframework_spring_context_5_0_7_RELEASE2.xml Целия файл

@@ -1,13 +0,0 @@
1
-<component name="libraryTable">
2
-  <library name="Maven: org.springframework:spring-context:5.0.7.RELEASE">
3
-    <CLASSES>
4
-      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-context/5.0.7.RELEASE/spring-context-5.0.7.RELEASE.jar!/" />
5
-    </CLASSES>
6
-    <JAVADOC>
7
-      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-context/5.0.7.RELEASE/spring-context-5.0.7.RELEASE-javadoc.jar!/" />
8
-    </JAVADOC>
9
-    <SOURCES>
10
-      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-context/5.0.7.RELEASE/spring-context-5.0.7.RELEASE-sources.jar!/" />
11
-    </SOURCES>
12
-  </library>
13
-</component>

+ 0
- 13
.idea/libraries/Maven__org_springframework_spring_core_5_0_7_RELEASE2.xml Целия файл

@@ -1,13 +0,0 @@
1
-<component name="libraryTable">
2
-  <library name="Maven: org.springframework:spring-core:5.0.7.RELEASE">
3
-    <CLASSES>
4
-      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-core/5.0.7.RELEASE/spring-core-5.0.7.RELEASE.jar!/" />
5
-    </CLASSES>
6
-    <JAVADOC>
7
-      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-core/5.0.7.RELEASE/spring-core-5.0.7.RELEASE-javadoc.jar!/" />
8
-    </JAVADOC>
9
-    <SOURCES>
10
-      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-core/5.0.7.RELEASE/spring-core-5.0.7.RELEASE-sources.jar!/" />
11
-    </SOURCES>
12
-  </library>
13
-</component>

+ 0
- 13
.idea/libraries/Maven__org_springframework_spring_jdbc_5_0_7_RELEASE2.xml Целия файл

@@ -1,13 +0,0 @@
1
-<component name="libraryTable">
2
-  <library name="Maven: org.springframework:spring-jdbc:5.0.7.RELEASE">
3
-    <CLASSES>
4
-      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-jdbc/5.0.7.RELEASE/spring-jdbc-5.0.7.RELEASE.jar!/" />
5
-    </CLASSES>
6
-    <JAVADOC>
7
-      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-jdbc/5.0.7.RELEASE/spring-jdbc-5.0.7.RELEASE-javadoc.jar!/" />
8
-    </JAVADOC>
9
-    <SOURCES>
10
-      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-jdbc/5.0.7.RELEASE/spring-jdbc-5.0.7.RELEASE-sources.jar!/" />
11
-    </SOURCES>
12
-  </library>
13
-</component>

+ 124
- 0
.idea/uiDesigner.xml Целия файл

@@ -0,0 +1,124 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<project version="4">
3
+  <component name="Palette2">
4
+    <group name="Swing">
5
+      <item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
6
+        <default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
7
+      </item>
8
+      <item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
9
+        <default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
10
+      </item>
11
+      <item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.png" removable="false" auto-create-binding="false" can-attach-label="false">
12
+        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
13
+      </item>
14
+      <item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.png" removable="false" auto-create-binding="false" can-attach-label="true">
15
+        <default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
16
+      </item>
17
+      <item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.png" removable="false" auto-create-binding="true" can-attach-label="false">
18
+        <default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
19
+        <initial-values>
20
+          <property name="text" value="Button" />
21
+        </initial-values>
22
+      </item>
23
+      <item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.png" removable="false" auto-create-binding="true" can-attach-label="false">
24
+        <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
25
+        <initial-values>
26
+          <property name="text" value="RadioButton" />
27
+        </initial-values>
28
+      </item>
29
+      <item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.png" removable="false" auto-create-binding="true" can-attach-label="false">
30
+        <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
31
+        <initial-values>
32
+          <property name="text" value="CheckBox" />
33
+        </initial-values>
34
+      </item>
35
+      <item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.png" removable="false" auto-create-binding="false" can-attach-label="false">
36
+        <default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
37
+        <initial-values>
38
+          <property name="text" value="Label" />
39
+        </initial-values>
40
+      </item>
41
+      <item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.png" removable="false" auto-create-binding="true" can-attach-label="true">
42
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
43
+          <preferred-size width="150" height="-1" />
44
+        </default-constraints>
45
+      </item>
46
+      <item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.png" removable="false" auto-create-binding="true" can-attach-label="true">
47
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
48
+          <preferred-size width="150" height="-1" />
49
+        </default-constraints>
50
+      </item>
51
+      <item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.png" removable="false" auto-create-binding="true" can-attach-label="true">
52
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
53
+          <preferred-size width="150" height="-1" />
54
+        </default-constraints>
55
+      </item>
56
+      <item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.png" removable="false" auto-create-binding="true" can-attach-label="true">
57
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
58
+          <preferred-size width="150" height="50" />
59
+        </default-constraints>
60
+      </item>
61
+      <item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
62
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
63
+          <preferred-size width="150" height="50" />
64
+        </default-constraints>
65
+      </item>
66
+      <item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
67
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
68
+          <preferred-size width="150" height="50" />
69
+        </default-constraints>
70
+      </item>
71
+      <item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.png" removable="false" auto-create-binding="true" can-attach-label="true">
72
+        <default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
73
+      </item>
74
+      <item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.png" removable="false" auto-create-binding="true" can-attach-label="false">
75
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
76
+          <preferred-size width="150" height="50" />
77
+        </default-constraints>
78
+      </item>
79
+      <item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.png" removable="false" auto-create-binding="true" can-attach-label="false">
80
+        <default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
81
+          <preferred-size width="150" height="50" />
82
+        </default-constraints>
83
+      </item>
84
+      <item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.png" removable="false" auto-create-binding="true" can-attach-label="false">
85
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
86
+          <preferred-size width="150" height="50" />
87
+        </default-constraints>
88
+      </item>
89
+      <item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.png" removable="false" auto-create-binding="true" can-attach-label="false">
90
+        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
91
+          <preferred-size width="200" height="200" />
92
+        </default-constraints>
93
+      </item>
94
+      <item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.png" removable="false" auto-create-binding="false" can-attach-label="false">
95
+        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
96
+          <preferred-size width="200" height="200" />
97
+        </default-constraints>
98
+      </item>
99
+      <item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.png" removable="false" auto-create-binding="true" can-attach-label="true">
100
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
101
+      </item>
102
+      <item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.png" removable="false" auto-create-binding="true" can-attach-label="false">
103
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
104
+      </item>
105
+      <item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.png" removable="false" auto-create-binding="false" can-attach-label="false">
106
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
107
+      </item>
108
+      <item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
109
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
110
+      </item>
111
+      <item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.png" removable="false" auto-create-binding="false" can-attach-label="false">
112
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
113
+          <preferred-size width="-1" height="20" />
114
+        </default-constraints>
115
+      </item>
116
+      <item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.png" removable="false" auto-create-binding="false" can-attach-label="false">
117
+        <default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
118
+      </item>
119
+      <item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
120
+        <default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
121
+      </item>
122
+    </group>
123
+  </component>
124
+</project>

+ 217
- 188
.idea/workspace.xml Целия файл

@@ -1,29 +1,24 @@
1 1
 <?xml version="1.0" encoding="UTF-8"?>
2 2
 <project version="4">
3 3
   <component name="ChangeListManager">
4
-    <list default="true" id="0383ce44-5350-49d0-b7c8-5715e7ae7969" name="Default" comment="">
5
-      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__bouncycastle_bcprov_jdk15_136.xml" afterDir="false" />
6
-      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_ow2_util_bundles_bouncycastle_java5_136_1_0_0.xml" afterDir="false" />
7
-      <change afterPath="$PROJECT_DIR$/src/main/java/com/buecoin01/model/Transaction.java" afterDir="false" />
8
-      <change afterPath="$PROJECT_DIR$/src/main/java/com/buecoin01/utility/TransactionInput.java" afterDir="false" />
9
-      <change afterPath="$PROJECT_DIR$/src/main/java/com/buecoin01/utility/TransactionOutput.java" afterDir="false" />
10
-      <change afterPath="$PROJECT_DIR$/target/classes/com/buecoin01/model/Transaction.class" afterDir="false" />
11
-      <change afterPath="$PROJECT_DIR$/target/classes/com/buecoin01/utility/TransactionInput.class" afterDir="false" />
12
-      <change afterPath="$PROJECT_DIR$/target/classes/com/buecoin01/utility/TransactionOutput.class" afterDir="false" />
4
+    <list default="true" id="86492085-3833-4394-8353-122bd8bc6cb0" name="Default" comment="">
5
+      <change afterPath="$PROJECT_DIR$/.idea/uiDesigner.xml" afterDir="false" />
6
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/buecoin01/controller/BlockController.java" afterDir="false" />
7
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/buecoin01/controller/TransactionController.java" afterDir="false" />
8
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/buecoin01/controller/WalletController.java" afterDir="false" />
9
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_springframework_spring_context_5_0_7_RELEASE2.xml" beforeDir="false" />
10
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_springframework_spring_core_5_0_7_RELEASE2.xml" beforeDir="false" />
11
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_springframework_spring_jdbc_5_0_7_RELEASE2.xml" beforeDir="false" />
13 12
       <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
14 13
       <change beforePath="$PROJECT_DIR$/0.1.iml" beforeDir="false" afterPath="$PROJECT_DIR$/0.1.iml" afterDir="false" />
15
-      <change beforePath="$PROJECT_DIR$/pom.xml" beforeDir="false" afterPath="$PROJECT_DIR$/pom.xml" afterDir="false" />
16
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/buecoin01/model/Block.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/buecoin01/model/Block.java" afterDir="false" />
17
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/buecoin01/model/Blockchain.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/buecoin01/model/Blockchain.java" afterDir="false" />
18
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/buecoin01/model/Wallet.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/buecoin01/model/Wallet.java" afterDir="false" />
19
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/buecoin01/utility/Encryption.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/buecoin01/utility/Encryption.java" afterDir="false" />
20
-      <change beforePath="$PROJECT_DIR$/target/classes/com/buecoin01/ProcessLoader.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/buecoin01/ProcessLoader.class" afterDir="false" />
21
-      <change beforePath="$PROJECT_DIR$/target/classes/com/buecoin01/model/Block.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/buecoin01/model/Block.class" afterDir="false" />
22
-      <change beforePath="$PROJECT_DIR$/target/classes/com/buecoin01/model/Blockchain.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/buecoin01/model/Blockchain.class" afterDir="false" />
23
-      <change beforePath="$PROJECT_DIR$/target/classes/com/buecoin01/model/Wallet.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/buecoin01/model/Wallet.class" afterDir="false" />
24
-      <change beforePath="$PROJECT_DIR$/target/classes/com/buecoin01/utility/Encryption.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/buecoin01/utility/Encryption.class" afterDir="false" />
14
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/buecoin01/ProcessLoader.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/buecoin01/ProcessLoader.java" afterDir="false" />
15
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/buecoin01/Repositories/TransactionRepository.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/buecoin01/Repositories/TransactionRepository.java" afterDir="false" />
16
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/buecoin01/Repositories/WalletRepository.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/buecoin01/Repositories/WalletRepository.java" afterDir="false" />
17
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/buecoin01/model/Blockchain.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/buecoin01/model/BlockchainVerification.java" afterDir="false" />
18
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/buecoin01/model/Transaction.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/buecoin01/model/Transaction.java" afterDir="false" />
25 19
     </list>
26 20
     <ignored path="$PROJECT_DIR$/target/" />
21
+    <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
27 22
     <option name="TRACKING_ENABLED" value="true" />
28 23
     <option name="SHOW_DIALOG" value="false" />
29 24
     <option name="HIGHLIGHT_CONFLICTS" value="true" />
@@ -35,66 +30,134 @@
35 30
       <file leaf-file-name="Wallet.java" pinned="false" current-in-tab="false">
36 31
         <entry file="file://$PROJECT_DIR$/src/main/java/com/buecoin01/model/Wallet.java">
37 32
           <provider selected="true" editor-type-id="text-editor">
38
-            <state relative-caret-position="870">
39
-              <caret line="133" column="30" selection-start-line="133" selection-start-column="30" selection-end-line="133" selection-end-column="30" />
33
+            <state relative-caret-position="195">
34
+              <caret line="13" column="13" selection-start-line="13" selection-start-column="13" selection-end-line="13" selection-end-column="13" />
40 35
             </state>
41 36
           </provider>
42 37
         </entry>
43 38
       </file>
44
-      <file leaf-file-name="Encryption.java" pinned="false" current-in-tab="false">
45
-        <entry file="file://$PROJECT_DIR$/src/main/java/com/buecoin01/utility/Encryption.java">
39
+      <file leaf-file-name="BlockchainVerification.java" pinned="false" current-in-tab="false">
40
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/buecoin01/model/BlockchainVerification.java">
46 41
           <provider selected="true" editor-type-id="text-editor">
47
-            <state relative-caret-position="-26">
48
-              <caret line="18" column="49" selection-start-line="18" selection-start-column="49" selection-end-line="18" selection-end-column="49" />
42
+            <state relative-caret-position="120">
43
+              <caret line="10" column="14" selection-start-line="10" selection-start-column="14" selection-end-line="10" selection-end-column="14" />
44
+            </state>
45
+          </provider>
46
+        </entry>
47
+      </file>
48
+      <file leaf-file-name="WalletController.java" pinned="false" current-in-tab="false">
49
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/buecoin01/controller/WalletController.java">
50
+          <provider selected="true" editor-type-id="text-editor">
51
+            <state relative-caret-position="416">
52
+              <caret line="37" column="42" selection-start-line="37" selection-start-column="42" selection-end-line="37" selection-end-column="42" />
49 53
               <folding>
50 54
                 <element signature="imports" expanded="true" />
51
-                <element signature="e#1724#1725#0" expanded="true" />
52 55
               </folding>
53 56
             </state>
54 57
           </provider>
55 58
         </entry>
56 59
       </file>
57
-      <file leaf-file-name="Block.java" pinned="false" current-in-tab="true">
58
-        <entry file="file://$PROJECT_DIR$/src/main/java/com/buecoin01/model/Block.java">
60
+      <file leaf-file-name="WalletRepository.java" pinned="false" current-in-tab="false">
61
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/buecoin01/Repositories/WalletRepository.java">
59 62
           <provider selected="true" editor-type-id="text-editor">
60
-            <state relative-caret-position="1200">
61
-              <caret line="94" column="5" lean-forward="true" selection-start-line="94" selection-start-column="5" selection-end-line="94" selection-end-column="5" />
63
+            <state relative-caret-position="75">
64
+              <caret line="8" column="73" selection-start-line="8" selection-start-column="73" selection-end-line="8" selection-end-column="73" />
62 65
             </state>
63 66
           </provider>
64 67
         </entry>
65 68
       </file>
66
-      <file leaf-file-name="Blockchain.java" pinned="false" current-in-tab="false">
67
-        <entry file="file://$PROJECT_DIR$/src/main/java/com/buecoin01/model/Blockchain.java">
69
+      <file leaf-file-name="TransactionRepository.java" pinned="false" current-in-tab="true">
70
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/buecoin01/Repositories/TransactionRepository.java">
68 71
           <provider selected="true" editor-type-id="text-editor">
69
-            <state relative-caret-position="347">
70
-              <caret line="34" selection-start-line="34" selection-end-line="34" />
72
+            <state relative-caret-position="195">
73
+              <caret line="13" lean-forward="true" selection-start-line="13" selection-end-line="13" />
71 74
               <folding>
72 75
                 <element signature="imports" expanded="true" />
73
-                <element signature="e#1854#1855#0" expanded="true" />
74 76
               </folding>
75 77
             </state>
76 78
           </provider>
77 79
         </entry>
78 80
       </file>
79
-      <file leaf-file-name="pom.xml" pinned="false" current-in-tab="false">
80
-        <entry file="file://$PROJECT_DIR$/pom.xml">
81
+      <file leaf-file-name="BlockRepository.java" pinned="false" current-in-tab="false">
82
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/buecoin01/Repositories/BlockRepository.java">
81 83
           <provider selected="true" editor-type-id="text-editor">
82
-            <state relative-caret-position="990">
83
-              <caret line="66" column="19" selection-start-line="66" selection-start-column="19" selection-end-line="66" selection-end-column="19" />
84
+            <state relative-caret-position="90">
85
+              <caret line="8" column="1" selection-start-line="8" selection-end-line="9" />
86
+            </state>
87
+          </provider>
88
+        </entry>
89
+      </file>
90
+      <file leaf-file-name="BlockController.java" pinned="false" current-in-tab="false">
91
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/buecoin01/controller/BlockController.java">
92
+          <provider selected="true" editor-type-id="text-editor">
93
+            <state relative-caret-position="673">
94
+              <caret line="47" column="40" selection-start-line="47" selection-start-column="40" selection-end-line="47" selection-end-column="40" />
95
+              <folding>
96
+                <element signature="imports" expanded="true" />
97
+              </folding>
98
+            </state>
99
+          </provider>
100
+        </entry>
101
+      </file>
102
+      <file leaf-file-name="application.properties" pinned="false" current-in-tab="false">
103
+        <entry file="file://$PROJECT_DIR$/src/main/resources/application.properties">
104
+          <provider selected="true" editor-type-id="text-editor">
105
+            <state relative-caret-position="150">
106
+              <caret line="10" column="31" selection-start-line="10" selection-start-column="31" selection-end-line="10" selection-end-column="31" />
107
+            </state>
108
+          </provider>
109
+        </entry>
110
+      </file>
111
+      <file leaf-file-name="TransactionController.java" pinned="false" current-in-tab="false">
112
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/buecoin01/controller/TransactionController.java">
113
+          <provider selected="true" editor-type-id="text-editor">
114
+            <state relative-caret-position="136">
115
+              <caret line="10" column="20" selection-end-line="57" />
116
+            </state>
117
+          </provider>
118
+        </entry>
119
+      </file>
120
+      <file leaf-file-name="Transaction.java" pinned="false" current-in-tab="false">
121
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/buecoin01/model/Transaction.java">
122
+          <provider selected="true" editor-type-id="text-editor">
123
+            <state relative-caret-position="1065">
124
+              <caret line="78" column="34" selection-start-line="78" selection-start-column="34" selection-end-line="78" selection-end-column="34" />
84 125
             </state>
85 126
           </provider>
86 127
         </entry>
87 128
       </file>
88 129
     </leaf>
89 130
   </component>
131
+  <component name="FileTemplateManagerImpl">
132
+    <option name="RECENT_TEMPLATES">
133
+      <list>
134
+        <option value="Interface" />
135
+        <option value="Class" />
136
+      </list>
137
+    </option>
138
+  </component>
139
+  <component name="FindInProjectRecents">
140
+    <findStrings>
141
+      <find>WalletRepository</find>
142
+    </findStrings>
143
+    <replaceStrings>
144
+      <replace>TransactionRepository</replace>
145
+      <replace>Block</replace>
146
+    </replaceStrings>
147
+  </component>
90 148
   <component name="Git.Settings">
91 149
     <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
92 150
   </component>
93 151
   <component name="IdeDocumentHistory">
94 152
     <option name="CHANGED_PATHS">
95 153
       <list>
96
-        <option value="$PROJECT_DIR$/.idea/workspace.xml" />
97
-        <option value="$PROJECT_DIR$/src/main/java/com/buecoin01/model/Block.java" />
154
+        <option value="$PROJECT_DIR$/src/main/java/com/buecoin01/model/BlockchainVerification.java" />
155
+        <option value="$PROJECT_DIR$/src/main/java/com/buecoin01/Repositories/TransactionRepository.java" />
156
+        <option value="$PROJECT_DIR$/src/main/java/com/buecoin01/Repositories/WalletRepository.java" />
157
+        <option value="$PROJECT_DIR$/src/main/java/com/buecoin01/controller/TransactionController.java" />
158
+        <option value="$PROJECT_DIR$/src/main/java/com/buecoin01/controller/WalletController.java" />
159
+        <option value="$PROJECT_DIR$/src/main/java/com/buecoin01/controller/BlockController.java" />
160
+        <option value="$PROJECT_DIR$/src/main/java/com/buecoin01/model/Transaction.java" />
98 161
       </list>
99 162
     </option>
100 163
   </component>
@@ -104,9 +167,20 @@
104 167
     <detection-done>true</detection-done>
105 168
     <sorting>DEFINITION_ORDER</sorting>
106 169
   </component>
170
+  <component name="MavenImportPreferences">
171
+    <option name="importingSettings">
172
+      <MavenImportingSettings>
173
+        <option name="importAutomatically" value="true" />
174
+      </MavenImportingSettings>
175
+    </option>
176
+  </component>
107 177
   <component name="NodePackageJsonFileManager">
108 178
     <packageJsonPaths />
109 179
   </component>
180
+  <component name="ProjectFrameBounds" extendedState="6">
181
+    <option name="width" value="1440" />
182
+    <option name="height" value="900" />
183
+  </component>
110 184
   <component name="ProjectLevelVcsManager" settingsEditedManually="true" />
111 185
   <component name="ProjectView">
112 186
     <navigator proportions="" version="1">
@@ -158,6 +232,15 @@
158 232
               <item name="main" type="462c0819:PsiDirectoryNode" />
159 233
               <item name="java" type="462c0819:PsiDirectoryNode" />
160 234
               <item name="buecoin01" type="462c0819:PsiDirectoryNode" />
235
+              <item name="controller" type="462c0819:PsiDirectoryNode" />
236
+            </path>
237
+            <path>
238
+              <item name="0.1" type="b2602c69:ProjectViewProjectNode" />
239
+              <item name="CryptoCoin" type="462c0819:PsiDirectoryNode" />
240
+              <item name="src" type="462c0819:PsiDirectoryNode" />
241
+              <item name="main" type="462c0819:PsiDirectoryNode" />
242
+              <item name="java" type="462c0819:PsiDirectoryNode" />
243
+              <item name="buecoin01" type="462c0819:PsiDirectoryNode" />
161 244
               <item name="model" type="462c0819:PsiDirectoryNode" />
162 245
             </path>
163 246
             <path>
@@ -178,15 +261,26 @@
178 261
               <item name="buecoin01" type="462c0819:PsiDirectoryNode" />
179 262
               <item name="utility" type="462c0819:PsiDirectoryNode" />
180 263
             </path>
264
+            <path>
265
+              <item name="0.1" type="b2602c69:ProjectViewProjectNode" />
266
+              <item name="CryptoCoin" type="462c0819:PsiDirectoryNode" />
267
+              <item name="src" type="462c0819:PsiDirectoryNode" />
268
+              <item name="main" type="462c0819:PsiDirectoryNode" />
269
+              <item name="resources" type="462c0819:PsiDirectoryNode" />
270
+            </path>
181 271
           </expand>
182 272
           <select />
183 273
         </subPane>
184 274
       </pane>
275
+      <pane id="PackagesPane" />
185 276
       <pane id="Scope" />
186 277
       <pane id="AndroidView" />
187
-      <pane id="PackagesPane" />
188 278
     </panes>
189 279
   </component>
280
+  <component name="PropertiesComponent">
281
+    <property name="WebServerToolWindowFactoryState" value="false" />
282
+    <property name="aspect.path.notification.shown" value="true" />
283
+  </component>
190 284
   <component name="RunDashboard">
191 285
     <option name="ruleStates">
192 286
       <list>
@@ -199,18 +293,7 @@
199 293
       </list>
200 294
     </option>
201 295
   </component>
202
-  <component name="RunManager" selected="Spring Boot.Application">
203
-    <configuration name="Block" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
204
-      <option name="MAIN_CLASS_NAME" value="com.buecoin01.model.Block" />
205
-      <module name="0.1" />
206
-      <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
207
-      <extension name="coverage">
208
-        <pattern>
209
-          <option name="PATTERN" value="com.buecoin01.model.*" />
210
-          <option name="ENABLED" value="true" />
211
-        </pattern>
212
-      </extension>
213
-    </configuration>
296
+  <component name="RunManager">
214 297
     <configuration default="true" type="Application" factoryName="Application">
215 298
       <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
216 299
     </configuration>
@@ -256,35 +339,26 @@
256 339
       <properties />
257 340
       <listeners />
258 341
     </configuration>
259
-    <list>
260
-      <item itemvalue="Spring Boot.Application" />
261
-      <item itemvalue="Application.Block" />
262
-    </list>
263
-    <recent_temporary>
264
-      <list>
265
-        <item itemvalue="Application.Block" />
266
-      </list>
267
-    </recent_temporary>
268 342
   </component>
269 343
   <component name="SvnConfiguration">
270 344
     <configuration />
271 345
   </component>
272 346
   <component name="TaskManager">
273 347
     <task active="true" id="Default" summary="Default task">
274
-      <changelist id="61ba4a48-7f29-46f9-8c31-1ca5b3e9447d" name="Default" comment="" />
275
-      <created>1532460222213</created>
348
+      <changelist id="86492085-3833-4394-8353-122bd8bc6cb0" name="Default" comment="" />
349
+      <created>1532357794192</created>
276 350
       <option name="number" value="Default" />
277 351
       <option name="presentableId" value="Default" />
278
-      <updated>1532460222213</updated>
279
-      <workItem from="1532460224977" duration="1368000" />
352
+      <updated>1532357794192</updated>
353
+      <workItem from="1532357795573" duration="4040000" />
280 354
     </task>
281 355
     <servers />
282 356
   </component>
283 357
   <component name="TimeTrackingManager">
284
-    <option name="totallyTimeSpent" value="220000" />
358
+    <option name="totallyTimeSpent" value="4040000" />
285 359
   </component>
286 360
   <component name="ToolWindowManager">
287
-    <frame x="0" y="23" width="1440" height="812" extended-state="6" />
361
+    <frame x="0" y="0" width="1440" height="900" extended-state="0" />
288 362
     <layout>
289 363
       <window_info anchor="right" id="Palette" />
290 364
       <window_info anchor="bottom" id="Event Log" side_tool="true" />
@@ -298,170 +372,130 @@
298 372
       <window_info id="UI Designer" />
299 373
       <window_info anchor="bottom" id="Debug" order="3" weight="0.4" />
300 374
       <window_info anchor="bottom" id="TODO" order="6" />
301
-      <window_info anchor="bottom" id="Messages" />
302 375
       <window_info anchor="right" id="Palette&#9;" />
303 376
       <window_info id="Image Layers" />
304 377
       <window_info anchor="bottom" id="Java Enterprise" />
305 378
       <window_info anchor="right" id="Capture Analysis" />
306
-      <window_info anchor="bottom" id="Run" order="2" weight="0.37062937" />
379
+      <window_info anchor="bottom" id="Run" order="2" />
307 380
       <window_info anchor="bottom" id="Version Control" />
308 381
       <window_info anchor="bottom" id="Spring" />
309
-      <window_info anchor="bottom" id="Terminal" visible="true" weight="0.32867134" />
310
-      <window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.24964234" />
382
+      <window_info anchor="bottom" id="Terminal" />
383
+      <window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.30329043" />
311 384
       <window_info anchor="right" id="Bean Validation" />
312 385
       <window_info id="Web" side_tool="true" />
313 386
       <window_info anchor="right" id="Theme Preview" />
314 387
       <window_info id="Favorites" side_tool="true" />
315 388
       <window_info anchor="bottom" id="Find" order="1" />
316 389
       <window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" />
317
-      <window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
318 390
       <window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
391
+      <window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
319 392
       <window_info anchor="bottom" id="Message" order="0" />
320 393
       <window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
321 394
     </layout>
395
+    <layout-to-restore>
396
+      <window_info id="Designer" order="0" />
397
+      <window_info anchor="right" id="Palette" order="0" />
398
+      <window_info anchor="bottom" id="Run" order="8" />
399
+      <window_info anchor="bottom" id="Spring" order="0" />
400
+      <window_info id="Image Layers" order="1" />
401
+      <window_info anchor="right" id="Commander" internal_type="SLIDING" order="7" type="SLIDING" weight="0.4" />
402
+      <window_info anchor="bottom" id="Cvs" order="10" weight="0.25" />
403
+      <window_info anchor="right" id="Ant Build" order="8" weight="0.25" />
404
+      <window_info id="UI Designer" order="2" />
405
+      <window_info id="Favorites" order="3" side_tool="true" />
406
+      <window_info anchor="bottom" id="Terminal" order="1" />
407
+      <window_info id="Capture Tool" order="4" />
408
+      <window_info anchor="right" id="Capture Analysis" order="1" />
409
+      <window_info anchor="bottom" id="Event Log" order="2" side_tool="true" />
410
+      <window_info anchor="bottom" id="TODO" order="12" />
411
+      <window_info anchor="right" content_ui="combo" id="Hierarchy" order="9" weight="0.25" />
412
+      <window_info anchor="bottom" id="Java Enterprise" order="3" />
413
+      <window_info anchor="bottom" id="Database Changes" order="4" show_stripe_button="false" />
414
+      <window_info anchor="bottom" id="Version Control" order="5" />
415
+      <window_info anchor="right" id="Maven Projects" order="2" />
416
+      <window_info anchor="bottom" id="Find" order="7" />
417
+      <window_info active="true" content_ui="combo" id="Project" order="6" visible="true" weight="0.24973376" />
418
+      <window_info anchor="right" id="Database" order="3" />
419
+      <window_info anchor="bottom" id="Message" order="6" />
420
+      <window_info id="Web" order="5" side_tool="true" />
421
+      <window_info anchor="right" id="Palette&#9;" order="4" />
422
+      <window_info anchor="right" id="Theme Preview" order="5" />
423
+      <window_info id="Structure" order="7" side_tool="true" weight="0.25" />
424
+      <window_info anchor="bottom" id="Inspection" order="11" weight="0.4" />
425
+      <window_info anchor="bottom" id="Debug" order="9" weight="0.4" />
426
+      <window_info anchor="right" id="Bean Validation" order="6" />
427
+    </layout-to-restore>
428
+  </component>
429
+  <component name="TypeScriptGeneratedFilesManager">
430
+    <option name="version" value="1" />
322 431
   </component>
323 432
   <component name="VcsContentAnnotationSettings">
324 433
     <option name="myLimit" value="2678400000" />
325 434
   </component>
326 435
   <component name="editorHistoryManager">
327
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/buecoin01/ProcessLoader.java">
436
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/buecoin01/Application.java">
328 437
       <provider selected="true" editor-type-id="text-editor">
329
-        <state relative-caret-position="345">
330
-          <caret line="31" column="11" lean-forward="true" selection-start-line="31" selection-start-column="11" selection-end-line="31" selection-end-column="11" />
438
+        <state>
439
+          <caret line="7" column="13" selection-start-line="7" selection-start-column="13" selection-end-line="7" selection-end-column="13" />
331 440
         </state>
332 441
       </provider>
333 442
     </entry>
334 443
     <entry file="file://$PROJECT_DIR$/src/main/java/com/buecoin01/model/Coin.java">
335 444
       <provider selected="true" editor-type-id="text-editor">
336
-        <state relative-caret-position="75">
337
-          <caret line="5" column="19" lean-forward="true" selection-start-line="5" selection-start-column="19" selection-end-line="5" selection-end-column="19" />
338
-        </state>
339
-      </provider>
340
-    </entry>
341
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/buecoin01/Repositories/CoinRepository.java">
342
-      <provider selected="true" editor-type-id="text-editor">
343
-        <state relative-caret-position="105">
344
-          <caret line="10" column="17" selection-start-line="10" selection-start-column="17" selection-end-line="10" selection-end-column="17" />
345
-        </state>
346
-      </provider>
347
-    </entry>
348
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/buecoin01/model/Block.java">
349
-      <provider selected="true" editor-type-id="text-editor">
350
-        <state relative-caret-position="567">
351
-          <caret line="50" selection-start-line="50" selection-end-line="50" />
445
+        <state relative-caret-position="32">
446
+          <caret line="5" column="13" selection-start-line="5" selection-start-column="13" selection-end-line="5" selection-end-column="13" />
352 447
         </state>
353 448
       </provider>
354 449
     </entry>
355 450
     <entry file="file://$PROJECT_DIR$/src/main/java/com/buecoin01/model/Wallet.java">
356 451
       <provider selected="true" editor-type-id="text-editor">
357
-        <state relative-caret-position="1695">
358
-          <caret line="123" column="30" selection-start-line="123" selection-start-column="30" selection-end-line="123" selection-end-column="30" />
452
+        <state relative-caret-position="195">
453
+          <caret line="13" column="13" selection-start-line="13" selection-start-column="13" selection-end-line="13" selection-end-column="13" />
359 454
         </state>
360 455
       </provider>
361 456
     </entry>
362
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/buecoin01/model/Transaction.java">
457
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/buecoin01/model/BlockchainVerification.java">
363 458
       <provider selected="true" editor-type-id="text-editor">
364
-        <state relative-caret-position="318">
365
-          <caret line="117" column="26" selection-start-line="117" selection-start-column="26" selection-end-line="117" selection-end-column="26" />
366
-          <folding>
367
-            <element signature="imports" expanded="true" />
368
-          </folding>
459
+        <state relative-caret-position="120">
460
+          <caret line="10" column="14" selection-start-line="10" selection-start-column="14" selection-end-line="10" selection-end-column="14" />
369 461
         </state>
370 462
       </provider>
371 463
     </entry>
372
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/buecoin01/utility/TransactionInput.java">
464
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/buecoin01/Repositories/WalletRepository.java">
373 465
       <provider selected="true" editor-type-id="text-editor">
374
-        <state relative-caret-position="120">
375
-          <caret line="8" column="10" selection-start-line="8" selection-start-column="10" selection-end-line="8" selection-end-column="10" />
376
-          <folding>
377
-            <element signature="e#237#238#0" expanded="true" />
378
-            <element signature="e#299#300#0" expanded="true" />
379
-            <element signature="e#556#557#0" expanded="true" />
380
-            <element signature="e#598#599#0" expanded="true" />
381
-            <element signature="e#668#669#0" expanded="true" />
382
-            <element signature="e#730#731#0" expanded="true" />
383
-            <element signature="e#772#773#0" expanded="true" />
384
-            <element signature="e#799#800#0" expanded="true" />
385
-            <element signature="e#850#851#0" expanded="true" />
386
-            <element signature="e#882#883#0" expanded="true" />
387
-          </folding>
466
+        <state relative-caret-position="75">
467
+          <caret line="8" column="73" selection-start-line="8" selection-start-column="73" selection-end-line="8" selection-end-column="73" />
388 468
         </state>
389 469
       </provider>
390 470
     </entry>
391
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/buecoin01/utility/TransactionOutput.java">
471
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/buecoin01/Repositories/BlockRepository.java">
392 472
       <provider selected="true" editor-type-id="text-editor">
393
-        <state relative-caret-position="314">
394
-          <caret line="25" column="38" selection-start-line="25" selection-start-column="38" selection-end-line="25" selection-end-column="38" />
395
-          <folding>
396
-            <element signature="e#651#652#0" expanded="true" />
397
-            <element signature="e#676#677#0" expanded="true" />
398
-            <element signature="e#712#713#0" expanded="true" />
399
-            <element signature="e#740#741#0" expanded="true" />
400
-            <element signature="e#813#814#0" expanded="true" />
401
-            <element signature="e#868#869#0" expanded="true" />
402
-            <element signature="e#912#913#0" expanded="true" />
403
-            <element signature="e#943#944#0" expanded="true" />
404
-            <element signature="e#971#972#0" expanded="true" />
405
-            <element signature="e#1012#1013#0" expanded="true" />
406
-            <element signature="e#1046#1047#0" expanded="true" />
407
-            <element signature="e#1092#1093#0" expanded="true" />
408
-            <element signature="e#1134#1135#0" expanded="true" />
409
-            <element signature="e#1204#1205#0" expanded="true" />
410
-            <element signature="e#1266#1267#0" expanded="true" />
411
-            <element signature="e#717#718#0" expanded="true" />
412
-            <element signature="e#762#763#0" expanded="true" />
413
-          </folding>
473
+        <state relative-caret-position="90">
474
+          <caret line="8" column="1" selection-start-line="8" selection-end-line="9" />
414 475
         </state>
415 476
       </provider>
416 477
     </entry>
417
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/buecoin01/utility/Encryption.java">
478
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/buecoin01/controller/TransactionController.java">
418 479
       <provider selected="true" editor-type-id="text-editor">
419
-        <state relative-caret-position="-26">
420
-          <caret line="18" column="49" selection-start-line="18" selection-start-column="49" selection-end-line="18" selection-end-column="49" />
421
-          <folding>
422
-            <element signature="imports" expanded="true" />
423
-            <element signature="e#1724#1725#0" expanded="true" />
424
-          </folding>
480
+        <state relative-caret-position="136">
481
+          <caret line="10" column="20" selection-end-line="57" />
425 482
         </state>
426 483
       </provider>
427 484
     </entry>
428
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/buecoin01/model/Blockchain.java">
485
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/buecoin01/controller/WalletController.java">
429 486
       <provider selected="true" editor-type-id="text-editor">
430
-        <state relative-caret-position="347">
431
-          <caret line="34" selection-start-line="34" selection-end-line="34" />
487
+        <state relative-caret-position="416">
488
+          <caret line="37" column="42" selection-start-line="37" selection-start-column="42" selection-end-line="37" selection-end-column="42" />
432 489
           <folding>
433 490
             <element signature="imports" expanded="true" />
434
-            <element signature="e#1854#1855#0" expanded="true" />
435 491
           </folding>
436 492
         </state>
437 493
       </provider>
438 494
     </entry>
439
-    <entry file="file://$PROJECT_DIR$/pom.xml">
440
-      <provider selected="true" editor-type-id="text-editor">
441
-        <state relative-caret-position="990">
442
-          <caret line="66" column="19" selection-start-line="66" selection-start-column="19" selection-end-line="66" selection-end-column="19" />
443
-        </state>
444
-      </provider>
445
-    </entry>
446
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/buecoin01/model/Wallet.java">
447
-      <provider selected="true" editor-type-id="text-editor">
448
-        <state relative-caret-position="870">
449
-          <caret line="133" column="30" selection-start-line="133" selection-start-column="30" selection-end-line="133" selection-end-column="30" />
450
-        </state>
451
-      </provider>
452
-    </entry>
453
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/buecoin01/Repositories/CoinRepository.java" />
454
-    <entry file="file://$PROJECT_DIR$/src/test/java/com/buecoin01/ApplicationTests.java">
455
-      <provider selected="true" editor-type-id="text-editor">
456
-        <state relative-caret-position="90">
457
-          <caret line="9" column="13" selection-start-line="9" selection-start-column="13" selection-end-line="9" selection-end-column="13" />
458
-        </state>
459
-      </provider>
460
-    </entry>
461
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/buecoin01/ProcessLoader.java">
495
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/buecoin01/controller/BlockController.java">
462 496
       <provider selected="true" editor-type-id="text-editor">
463
-        <state relative-caret-position="293">
464
-          <caret line="26" column="71" selection-start-line="26" selection-start-column="71" selection-end-line="26" selection-end-column="71" />
497
+        <state relative-caret-position="673">
498
+          <caret line="47" column="40" selection-start-line="47" selection-start-column="40" selection-end-line="47" selection-end-column="40" />
465 499
           <folding>
466 500
             <element signature="imports" expanded="true" />
467 501
           </folding>
@@ -475,25 +509,20 @@
475 509
         </state>
476 510
       </provider>
477 511
     </entry>
478
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/buecoin01/model/Coin.java" />
479
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/buecoin01/Application.java">
480
-      <provider selected="true" editor-type-id="text-editor">
481
-        <state relative-caret-position="75">
482
-          <caret line="7" column="13" selection-start-line="7" selection-start-column="13" selection-end-line="7" selection-end-column="13" />
483
-        </state>
484
-      </provider>
485
-    </entry>
486
-    <entry file="file://$PROJECT_DIR$/.idea/workspace.xml">
512
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/buecoin01/model/Transaction.java">
487 513
       <provider selected="true" editor-type-id="text-editor">
488
-        <state relative-caret-position="3616">
489
-          <caret line="752" column="7" selection-start-line="752" selection-start-column="7" selection-end-line="752" selection-end-column="7" />
514
+        <state relative-caret-position="1065">
515
+          <caret line="78" column="34" selection-start-line="78" selection-start-column="34" selection-end-line="78" selection-end-column="34" />
490 516
         </state>
491 517
       </provider>
492 518
     </entry>
493
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/buecoin01/model/Block.java">
519
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/buecoin01/Repositories/TransactionRepository.java">
494 520
       <provider selected="true" editor-type-id="text-editor">
495
-        <state relative-caret-position="1200">
496
-          <caret line="94" column="5" lean-forward="true" selection-start-line="94" selection-start-column="5" selection-end-line="94" selection-end-column="5" />
521
+        <state relative-caret-position="195">
522
+          <caret line="13" lean-forward="true" selection-start-line="13" selection-end-line="13" />
523
+          <folding>
524
+            <element signature="imports" expanded="true" />
525
+          </folding>
497 526
         </state>
498 527
       </provider>
499 528
     </entry>

+ 2
- 0
0.1.iml Целия файл

@@ -25,6 +25,8 @@
25 25
     </content>
26 26
     <orderEntry type="inheritedJdk" />
27 27
     <orderEntry type="sourceFolder" forTests="false" />
28
+    <orderEntry type="library" name="Maven: org.ow2.util.bundles:bouncycastle-java5-136:1.0.0" level="project" />
29
+    <orderEntry type="library" name="Maven: bouncycastle:bcprov-jdk15:136" level="project" />
28 30
     <orderEntry type="library" name="Maven: com.bluecatcode.guava:guava-19.0-extended:1.1.0" level="project" />
29 31
     <orderEntry type="library" name="Maven: com.google.guava:guava:19.0" level="project" />
30 32
     <orderEntry type="library" name="Maven: com.google.code.findbugs:jsr305:3.0.1" level="project" />

+ 0
- 1
src/main/java/com/buecoin01/ProcessLoader.java Целия файл

@@ -3,7 +3,6 @@ package com.buecoin01;
3 3
 import com.buecoin01.Repositories.BlockRepository;
4 4
 import com.buecoin01.Repositories.WalletRepository;
5 5
 
6
-import com.buecoin01.model.Block;
7 6
 import org.springframework.beans.factory.annotation.Autowired;
8 7
 import org.springframework.boot.ApplicationArguments;
9 8
 import org.springframework.boot.ApplicationRunner;

+ 13
- 0
src/main/java/com/buecoin01/Repositories/TransactionRepository.java Целия файл

@@ -0,0 +1,13 @@
1
+package com.buecoin01.Repositories;
2
+
3
+import org.springframework.data.jpa.repository.JpaRepository;
4
+import org.springframework.stereotype.Repository;
5
+import org.springframework.web.bind.annotation.CrossOrigin;
6
+import org.springframework.web.bind.annotation.RequestBody;
7
+
8
+import javax.transaction.Transaction;
9
+
10
+@CrossOrigin(origins = {"http://localhost:8100","http://localhost:8080"})
11
+@Repository
12
+public interface TransactionRepository extends JpaRepository<Transaction, Long> {
13
+}

+ 1
- 0
src/main/java/com/buecoin01/Repositories/WalletRepository.java Целия файл

@@ -6,5 +6,6 @@ import org.springframework.stereotype.Repository;
6 6
 import org.springframework.web.bind.annotation.CrossOrigin;
7 7
 
8 8
 @Repository
9
+@CrossOrigin(origins = {"http://localhost:8100","http://localhost:8080"})
9 10
 public interface WalletRepository extends JpaRepository<Wallet, Long> {
10 11
 }

+ 56
- 0
src/main/java/com/buecoin01/controller/BlockController.java Целия файл

@@ -0,0 +1,56 @@
1
+package com.buecoin01.controller;
2
+
3
+import com.buecoin01.Repositories.BlockRepository;
4
+import com.buecoin01.model.Block;
5
+import org.springframework.beans.factory.annotation.Autowired;
6
+import org.springframework.http.HttpStatus;
7
+import org.springframework.http.ResponseEntity;
8
+import org.springframework.web.bind.annotation.*;
9
+
10
+import java.util.Optional;
11
+
12
+public class BlockController { @CrossOrigin(origins = {"http://localhost:8100", "http://localhost:8080"})
13
+@RestController
14
+
15
+
16
+public class UserController {
17
+
18
+
19
+    @Autowired
20
+    private BlockRepository blockRepository;
21
+
22
+    @RequestMapping(value = "/block/{id}", method = RequestMethod.GET)
23
+    public ResponseEntity get(@PathVariable Long id) {
24
+        Optional<Block> block = blockRepository.findById( id );
25
+        return new ResponseEntity <>( block, HttpStatus.OK );
26
+
27
+    }
28
+
29
+    @RequestMapping(value = "/blocks", method = RequestMethod.GET)
30
+    public ResponseEntity <Iterable <Block>> getAllUsers() {
31
+        Iterable <Block> allBlocks = blockRepository.findAll();
32
+        return new ResponseEntity <>( allBlocks, HttpStatus.OK );
33
+
34
+    }
35
+
36
+    @RequestMapping(path = "/addBlock", method = RequestMethod.POST)
37
+    public ResponseEntity <?> create(@RequestBody Block block) {
38
+        blockRepository.save(block);
39
+        return new ResponseEntity <>( block, HttpStatus.CREATED );
40
+    }
41
+
42
+    @RequestMapping(path = "/deleteBlock", method = RequestMethod.DELETE)
43
+    public ResponseEntity <Block> deleteBlock(@RequestBody Block block) {
44
+        blockRepository.delete(block );
45
+        return new ResponseEntity <>( HttpStatus.OK );
46
+    }
47
+
48
+    @RequestMapping(path = "/updateBlock", method = RequestMethod.PUT)
49
+    public ResponseEntity <Block> updateBlock(@RequestBody Block block) {
50
+        blockRepository.save(block);
51
+        return new ResponseEntity <>( HttpStatus.OK );
52
+    }
53
+
54
+
55
+}
56
+}

+ 57
- 0
src/main/java/com/buecoin01/controller/TransactionController.java Целия файл

@@ -0,0 +1,57 @@
1
+//package com.buecoin01.controller;
2
+//
3
+//import com.buecoin01.Repositories.TransactionRepository;
4
+//import com.buecoin01.model.Transaction;
5
+//import org.springframework.beans.factory.annotation.Autowired;
6
+//import org.springframework.http.HttpStatus;
7
+//import org.springframework.http.ResponseEntity;
8
+//import org.springframework.web.bind.annotation.*;
9
+//import java.util.Optional;
10
+//
11
+//public class TransactionController {
12
+//
13
+//    @CrossOrigin(origins = {"http://localhost:8100", "http://localhost:8080"})
14
+//    @RestController
15
+//    @RequestMapping(path = "/transaction")
16
+//
17
+//    public class UserController {
18
+//
19
+//
20
+//        @Autowired
21
+//        private TransactionRepository transactionRepository;
22
+//
23
+//        @RequestMapping(value = "/user/{id}", method = RequestMethod.GET)
24
+//        public ResponseEntity get(@PathVariable Long id) {
25
+//            Optional<Transaction> transaction = transactionRepository.findById(id);
26
+//            return new ResponseEntity <>(transaction, HttpStatus.OK );
27
+//
28
+//        }
29
+//
30
+//        @RequestMapping(value = "/users", method = RequestMethod.GET)
31
+//        public ResponseEntity <Iterable <Transaction>> getAllUsers() {
32
+//            Iterable <Transaction> allTransactions = transactionRepository.findAll();
33
+//            return new ResponseEntity <>( allTransactions, HttpStatus.OK );
34
+//
35
+//        }
36
+//
37
+//        @RequestMapping(path = "/add", method = RequestMethod.POST)
38
+//        public ResponseEntity <?> create(@RequestBody Transaction transaction) {
39
+//            transactionRepository.save(transaction);
40
+//            return new ResponseEntity <>( transaction, HttpStatus.CREATED );
41
+//        }
42
+//
43
+//        @RequestMapping(path = "/delete", method = RequestMethod.DELETE)
44
+//        public ResponseEntity <Transaction> deleteUser(@RequestBody Transaction transaction) {
45
+//            transactionRepository.delete(transaction);
46
+//            return new ResponseEntity <>( HttpStatus.OK );
47
+//        }
48
+//
49
+//        @RequestMapping(path = "/updateUser", method = RequestMethod.PUT)
50
+//        public ResponseEntity <Transaction> updateUser(@RequestBody Transaction transaction) {
51
+//            transactionRepository.save(transaction);
52
+//            return new ResponseEntity <>( HttpStatus.OK );
53
+//        }
54
+//
55
+//
56
+//    }
57
+//}

+ 60
- 0
src/main/java/com/buecoin01/controller/WalletController.java Целия файл

@@ -0,0 +1,60 @@
1
+package com.buecoin01.controller;
2
+
3
+import com.buecoin01.Repositories.WalletRepository;
4
+import com.buecoin01.model.Wallet;
5
+import org.springframework.beans.factory.annotation.Autowired;
6
+import org.springframework.http.HttpStatus;
7
+import org.springframework.http.ResponseEntity;
8
+import org.springframework.web.bind.annotation.*;
9
+
10
+import java.util.Optional;
11
+
12
+public class WalletController {
13
+    @CrossOrigin(origins = {"http://localhost:8100", "http://localhost:8080"})
14
+    @RestController
15
+
16
+
17
+    public class UserController {
18
+
19
+
20
+        @Autowired
21
+        private WalletRepository walletRepository;
22
+
23
+
24
+        @RequestMapping(value = "/wallet/{id}", method = RequestMethod.GET)
25
+        public ResponseEntity get(@PathVariable Long id) {
26
+            Optional <Wallet> wallet = walletRepository.findById( id );
27
+            return new ResponseEntity <>( wallet, HttpStatus.OK );
28
+
29
+        }
30
+
31
+        @RequestMapping(value = "/wallets", method = RequestMethod.GET)
32
+        public ResponseEntity <Iterable <Wallet>> getAllUsers() {
33
+            Iterable <Wallet> allWallets = walletRepository.findAll();
34
+            return new ResponseEntity <>( allWallets, HttpStatus.OK );
35
+
36
+        }
37
+
38
+        @RequestMapping(path = "/addWallet", method = RequestMethod.POST)
39
+        public ResponseEntity <?> create(@RequestBody Wallet wallet) {
40
+            walletRepository.save(wallet);
41
+            return new ResponseEntity <>( wallet, HttpStatus.CREATED );
42
+        }
43
+
44
+        @RequestMapping(path = "/deleteWallet", method = RequestMethod.DELETE)
45
+        public ResponseEntity <Wallet> deleteWallet(@RequestBody Wallet wallet) {
46
+            walletRepository.delete(wallet );
47
+            return new ResponseEntity <>( HttpStatus.OK );
48
+        }
49
+
50
+        @RequestMapping(path = "/updateWallet", method = RequestMethod.PUT)
51
+        public ResponseEntity <Wallet> updateWallet(@RequestBody Wallet wallet) {
52
+            walletRepository.save(wallet);
53
+            return new ResponseEntity <>( HttpStatus.OK );
54
+        }
55
+
56
+
57
+    }
58
+
59
+
60
+}

src/main/java/com/buecoin01/model/Blockchain.java → src/main/java/com/buecoin01/model/BlockchainVerification.java Целия файл

@@ -8,7 +8,7 @@ import com.google.gson.GsonBuilder;
8 8
 import java.security.Security;
9 9
 import java.util.*;
10 10
 
11
-public class Blockchain {
11
+public class  BlockchainVerification {
12 12
     private static List<Block> blockchain = new ArrayList<>();
13 13
     private static Map<String, TransactionOutput> UTXOs = new HashMap<>();
14 14
     public static float minimumTransaction = 0.1f;

+ 40
- 39
src/main/java/com/buecoin01/model/Transaction.java Целия файл

@@ -18,12 +18,12 @@ public class Transaction {
18 18
     private float value;
19 19
     private byte[] signature;
20 20
 
21
-    private List<TransactionInput> inputs = new ArrayList<>();
22
-    private List<TransactionOutput> outputs = new ArrayList<>();
21
+    private List <TransactionInput> inputs = new ArrayList <>();
22
+    private List <TransactionOutput> outputs = new ArrayList <>();
23 23
 
24 24
     private static int sequence = 0; //how many transactions have been generated
25 25
 
26
-    public Transaction(PublicKey from, PublicKey to, float value, ArrayList<TransactionInput> inputs) {
26
+    public Transaction(PublicKey from, PublicKey to, float value, ArrayList <TransactionInput> inputs) {
27 27
         this.sender = from;
28 28
         this.reciepient = to;
29 29
         this.value = value;
@@ -34,87 +34,88 @@ public class Transaction {
34 34
     private String calculateHash() {
35 35
         sequence++; //increasing tho avoid identical hash codes
36 36
         return Encryption.applySha256(
37
-                Encryption.getStringFromKey(sender) +
38
-                       Encryption.getStringFromKey(reciepient) +
39
-                       Float.toString(value) + sequence
40
-                       );
37
+                Encryption.getStringFromKey( sender ) +
38
+                        Encryption.getStringFromKey( reciepient ) +
39
+                        Float.toString( value ) + sequence
40
+        );
41 41
     }
42 42
 
43 43
     //Sign all the data that should not be tempered
44 44
     public void generateSignature(PrivateKey privateKey) {
45
-        String data = Encryption.getStringFromKey(sender) + Encryption.getStringFromKey(reciepient) + Float.toString(value);
46
-        signature = Encryption.applyECDSASig(privateKey, data);
45
+        String data = Encryption.getStringFromKey( sender ) + Encryption.getStringFromKey( reciepient ) + Float.toString( value );
46
+        signature = Encryption.applyECDSASig( privateKey, data );
47 47
     }
48 48
 
49 49
     //Verify the data we signed hasn't been tampered with
50 50
     public boolean verifySignature() {
51
-        String data = Encryption.getStringFromKey(sender) + Encryption.getStringFromKey(reciepient) + Float.toString(value);
52
-        return Encryption.verifyECDSASig(sender, data, signature);
51
+        String data = Encryption.getStringFromKey( sender ) + Encryption.getStringFromKey( reciepient ) + Float.toString( value );
52
+        return Encryption.verifyECDSASig( sender, data, signature );
53 53
     }
54 54
 
55 55
     //Check if transaction can be created
56 56
     public boolean processTransaction() {
57
-        if (!verifySignature()) {
58
-            System.out.println("Transaction Signature failed to verify");
57
+        if ( !verifySignature() ) {
58
+            System.out.println( "Transaction Signature failed to verify" );
59 59
             return false;
60 60
         }
61 61
 
62 62
         //gather transaction inputs to make sure they're unspent
63 63
         for (TransactionInput i : inputs) {
64
-           i.setUTXO(Blockchain.getUTXOs().get(i.getTransactionOutputId()));
64
+            i.setUTXO( BlockchainVerification.getUTXOs().get( i.getTransactionOutputId() ) );
65 65
 
66 66
         }
67 67
         //check if transaction is valid
68
-        if(getInputsValue()< Blockchain.minimumTransaction){
69
-            System.out.println("Transaction Input to small: " + getInputsValue());
68
+        if ( getInputsValue() <  BlockchainVerification.minimumTransaction ) {
69
+            System.out.println( "Transaction Input to small: " + getInputsValue() );
70 70
             return false;
71 71
         }
72 72
         //add outputs to Unspent list
73
-        for (TransactionOutput o : outputs){
74
-            Blockchain.getUTXOs().put(o.getId(),o);
73
+        for (TransactionOutput o : outputs) {
74
+            BlockchainVerification.getUTXOs().put( o.getId(), o );
75 75
         }
76 76
         //remove transaction inputs from UXTO lists as spent
77
-        for(TransactionInput i :inputs){
78
-            if(i.getUTXO() == null) continue; // if Transaction cant be found, skip
79
-            Blockchain.getUTXOs().remove(i.getUTXO().getId());
77
+        for (TransactionInput i : inputs) {
78
+            if ( i.getUTXO() == null ) continue; // if Transaction cant be found, skip
79
+            BlockchainVerification.getUTXOs().remove( i.getUTXO().getId() );
80 80
         }
81 81
         return true;
82 82
     }
83 83
 
84
-        // returns sum of inputs(UXTOs) values
85
-    public float getInputsValue(){
84
+    // returns sum of inputs(UXTOs) values
85
+    public float getInputsValue() {
86 86
         float total = 0;
87
-        for(TransactionInput i : inputs){
88
-            if(i.getUTXO() == null) continue; // if Transaction cant be found, skip
89
-            total= total + i.getUTXO().getValue();
87
+        for (TransactionInput i : inputs) {
88
+            if ( i.getUTXO() == null ) continue; // if Transaction cant be found, skip
89
+            total = total + i.getUTXO().getValue();
90 90
         }
91 91
         return total;
92 92
     }
93 93
 
94
-    public float getOutPutsValue(){
94
+    public float getOutPutsValue() {
95 95
         float total = 0;
96
-        for(TransactionOutput o : outputs){
96
+        for (TransactionOutput o : outputs) {
97 97
             total = total + o.getValue();
98 98
         }
99 99
         return total;
100 100
     }
101
+
101 102
     // tacks in array of transactions and returns a merkle root
102
-    public static  String getMerkleRoot(ArrayList<Transaction> transactions){
103
+    public static String getMerkleRoot(ArrayList <Transaction> transactions) {
103 104
         int count = transactions.size();
104
-        ArrayList<String> previousTreeLayer = new ArrayList<>();
105
-        for(Transaction transaction: transactions){
106
-            previousTreeLayer.add(transaction.transactionId);
105
+        ArrayList <String> previousTreeLayer = new ArrayList <>();
106
+        for (Transaction transaction : transactions) {
107
+            previousTreeLayer.add( transaction.transactionId );
107 108
         }
108
-        ArrayList<String> treeLayer = previousTreeLayer;
109
-        while(count > 1){
110
-            treeLayer = new ArrayList<>();
111
-            for(int i = 1; i < previousTreeLayer.size();i++){
112
-             treeLayer.add(Encryption.applySha256(previousTreeLayer.get(i-1)) + previousTreeLayer.get(i));
109
+        ArrayList <String> treeLayer = previousTreeLayer;
110
+        while (count > 1) {
111
+            treeLayer = new ArrayList <>();
112
+            for (int i = 1; i < previousTreeLayer.size(); i++) {
113
+                treeLayer.add( Encryption.applySha256( previousTreeLayer.get( i - 1 ) ) + previousTreeLayer.get( i ) );
113 114
             }
114 115
             count = treeLayer.size();
115 116
             previousTreeLayer = treeLayer;
116 117
         }
117
-        String merkleRoot = (treeLayer.size() == 1) ? treeLayer.get(0) : "";
118
+        String merkleRoot = ( treeLayer.size() == 1 ) ? treeLayer.get( 0 ) : "";
118 119
         return merkleRoot;
119 120
     }
120
-}
121
+}