From 0a3743138f2ee616efc7cd5bbf8d2097a576019f Mon Sep 17 00:00:00 2001
From: Inso <insomniak.fr@gmail.com>
Date: Sat, 31 Jan 2015 13:22:05 +0100
Subject: [PATCH] Transctions lifecycle specifications

---
 doc/Specifications.md       |  21 ---
 doc/cutecoint_concept.ui    | 324 ------------------------------------
 doc/uml/models.png          | Bin 39630 -> 0 bytes
 doc/uml/models.pu           |  46 -----
 doc/uml/tx_lifecycle.png    | Bin 0 -> 22532 bytes
 doc/uml/tx_lifecycle.pu     |  10 ++
 src/cutecoin/core/wallet.py |  15 +-
 7 files changed, 18 insertions(+), 398 deletions(-)
 delete mode 100644 doc/Specifications.md
 delete mode 100644 doc/cutecoint_concept.ui
 delete mode 100644 doc/uml/models.png
 delete mode 100644 doc/uml/models.pu
 create mode 100644 doc/uml/tx_lifecycle.png
 create mode 100644 doc/uml/tx_lifecycle.pu

diff --git a/doc/Specifications.md b/doc/Specifications.md
deleted file mode 100644
index 6fd2352d..00000000
--- a/doc/Specifications.md
+++ /dev/null
@@ -1,21 +0,0 @@
-# Specifications
-
-## Client-side concepts
-
-### Account
- * An account is a PGP Key
- * An account can be a member of multiple communities
- * An account own at least one wallet for each currency he owns
- * An account can own multiple wallets of the same currency
- * An account must declare the nodes he trusts to receive transactions
- * An account must declare the nodes he uses to send transactions for a currency type
-
-### Community
- * A community uses one unique currency
- * A community has members
- * Each members of the community can issue currency following the rule defined in the community amendment
-
-### Wallets
- * Wallets can own only one type of currency
- * Wallets value are the sum of the transactions received and sent that the user listed in this wallet
- 
\ No newline at end of file
diff --git a/doc/cutecoint_concept.ui b/doc/cutecoint_concept.ui
deleted file mode 100644
index 825a9fa8..00000000
--- a/doc/cutecoint_concept.ui
+++ /dev/null
@@ -1,324 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>MainWindow</class>
- <widget class="QMainWindow" name="MainWindow">
-  <property name="geometry">
-   <rect>
-    <x>0</x>
-    <y>0</y>
-    <width>452</width>
-    <height>400</height>
-   </rect>
-  </property>
-  <property name="windowTitle">
-   <string notr="true">CuteCoin</string>
-  </property>
-  <widget class="QWidget" name="centralwidget">
-   <layout class="QHBoxLayout" name="horizontalLayout_2">
-    <item>
-     <widget class="QFrame" name="actionsFrame">
-      <property name="frameShape">
-       <enum>QFrame::StyledPanel</enum>
-      </property>
-      <property name="frameShadow">
-       <enum>QFrame::Raised</enum>
-      </property>
-      <layout class="QVBoxLayout" name="verticalLayout">
-       <item>
-        <widget class="QTabWidget" name="tabWidget">
-         <property name="currentIndex">
-          <number>0</number>
-         </property>
-         <widget class="QWidget" name="walletsTab">
-          <attribute name="title">
-           <string>Wallets</string>
-          </attribute>
-          <layout class="QHBoxLayout" name="horizontalLayout">
-           <item>
-            <widget class="QListWidget" name="listWidget_2">
-             <item>
-              <property name="text">
-               <string>Main wallet (uCoins)</string>
-              </property>
-             </item>
-             <item>
-              <property name="text">
-               <string>Freecoins wallet (freeCoins)</string>
-              </property>
-             </item>
-            </widget>
-           </item>
-           <item>
-            <widget class="QListWidget" name="listWidget_3">
-             <item>
-              <property name="text">
-               <string>+10</string>
-              </property>
-             </item>
-             <item>
-              <property name="text">
-               <string>-100</string>
-              </property>
-             </item>
-             <item>
-              <property name="text">
-               <string>-30</string>
-              </property>
-             </item>
-             <item>
-              <property name="text">
-               <string>+300</string>
-              </property>
-             </item>
-            </widget>
-           </item>
-          </layout>
-         </widget>
-         <widget class="QWidget" name="transactionsTab">
-          <attribute name="title">
-           <string>Transactions</string>
-          </attribute>
-          <layout class="QHBoxLayout" name="horizontalLayout_3">
-           <item>
-            <layout class="QVBoxLayout" name="verticalLayout_3">
-             <item>
-              <widget class="QLabel" name="label">
-               <property name="text">
-                <string>Sent</string>
-               </property>
-              </widget>
-             </item>
-             <item>
-              <widget class="QListWidget" name="listWidget">
-               <item>
-                <property name="text">
-                 <string>100 to Caner Candan (0x5D2662E0F300EBAD)</string>
-                </property>
-               </item>
-               <item>
-                <property name="text">
-                 <string>30 to cgeek twicedd (0x399EB3415C237F93)</string>
-                </property>
-               </item>
-              </widget>
-             </item>
-            </layout>
-           </item>
-           <item>
-            <layout class="QVBoxLayout" name="verticalLayout_2">
-             <item>
-              <widget class="QLabel" name="label_2">
-               <property name="text">
-                <string>Received</string>
-               </property>
-              </widget>
-             </item>
-             <item>
-              <widget class="QListWidget" name="listWidget_4">
-               <item>
-                <property name="text">
-                 <string>10 from Caner Candan  (0x5D2662E0F300EBAD)</string>
-                </property>
-               </item>
-              </widget>
-             </item>
-            </layout>
-           </item>
-          </layout>
-         </widget>
-         <widget class="QWidget" name="communitiesTab">
-          <attribute name="title">
-           <string>Communities</string>
-          </attribute>
-          <layout class="QHBoxLayout" name="horizontalLayout_4">
-           <item>
-            <widget class="QTabWidget" name="tabWidget_2">
-             <property name="currentIndex">
-              <number>1</number>
-             </property>
-             <widget class="QWidget" name="ucoinTab">
-              <attribute name="title">
-               <string>Ucoin</string>
-              </attribute>
-             </widget>
-             <widget class="QWidget" name="freecoinTab">
-              <attribute name="title">
-               <string>FreeCoin</string>
-              </attribute>
-              <layout class="QHBoxLayout" name="horizontalLayout_5">
-               <item>
-                <layout class="QVBoxLayout" name="verticalLayout_4">
-                 <item>
-                  <widget class="QLabel" name="label_3">
-                   <property name="text">
-                    <string>Members</string>
-                   </property>
-                  </widget>
-                 </item>
-                 <item>
-                  <widget class="QListWidget" name="listWidget_5">
-                   <item>
-                    <property name="text">
-                     <string>Mister K</string>
-                    </property>
-                   </item>
-                   <item>
-                    <property name="text">
-                     <string>Another guy</string>
-                    </property>
-                   </item>
-                   <item>
-                    <property name="text">
-                     <string>Inso sonI</string>
-                    </property>
-                   </item>
-                  </widget>
-                 </item>
-                </layout>
-               </item>
-               <item>
-                <layout class="QVBoxLayout" name="verticalLayout_5">
-                 <item>
-                  <widget class="QLabel" name="label_4">
-                   <property name="text">
-                    <string>Last issuance</string>
-                   </property>
-                  </widget>
-                 </item>
-                 <item>
-                  <widget class="QListWidget" name="listWidget_6">
-                   <item>
-                    <property name="text">
-                     <string>110 (27/12/2014)</string>
-                    </property>
-                   </item>
-                   <item>
-                    <property name="text">
-                     <string>140 (27/01/2015)</string>
-                    </property>
-                   </item>
-                   <item>
-                    <property name="text">
-                     <string>190 (27/02/2015)</string>
-                    </property>
-                   </item>
-                  </widget>
-                 </item>
-                </layout>
-               </item>
-              </layout>
-             </widget>
-            </widget>
-           </item>
-          </layout>
-         </widget>
-        </widget>
-       </item>
-      </layout>
-     </widget>
-    </item>
-   </layout>
-  </widget>
-  <widget class="QMenuBar" name="menubar">
-   <property name="geometry">
-    <rect>
-     <x>0</x>
-     <y>0</y>
-     <width>452</width>
-     <height>20</height>
-    </rect>
-   </property>
-   <widget class="QMenu" name="menuTr_File">
-    <property name="title">
-     <string>Account</string>
-    </property>
-    <addaction name="actionChange_account"/>
-    <addaction name="actionManage_accounts"/>
-    <addaction name="actionConfigure_trustable_nodes"/>
-   </widget>
-   <widget class="QMenu" name="menuEdit">
-    <property name="title">
-     <string>Contacts</string>
-    </property>
-    <widget class="QMenu" name="menuCaner_Candan">
-     <property name="title">
-      <string>Caner Candan</string>
-     </property>
-     <addaction name="separator"/>
-     <addaction name="actionSend_a_message"/>
-     <addaction name="actionSend_money"/>
-     <addaction name="separator"/>
-     <addaction name="actionRemove_contact"/>
-    </widget>
-    <widget class="QMenu" name="menuCGeek">
-     <property name="title">
-      <string>cGeek</string>
-     </property>
-     <addaction name="actionSend_a_message_2"/>
-     <addaction name="actionSend_money_2"/>
-     <addaction name="separator"/>
-     <addaction name="actionRemove_contact_2"/>
-    </widget>
-    <addaction name="menuCaner_Candan"/>
-    <addaction name="menuCGeek"/>
-    <addaction name="separator"/>
-    <addaction name="actionAdd_a_contact"/>
-   </widget>
-   <addaction name="menuTr_File"/>
-   <addaction name="menuEdit"/>
-  </widget>
-  <widget class="QStatusBar" name="statusbar"/>
-  <action name="actionChange_account">
-   <property name="text">
-    <string>Change account</string>
-   </property>
-  </action>
-  <action name="actionManage_accounts">
-   <property name="text">
-    <string>Manage accounts</string>
-   </property>
-  </action>
-  <action name="actionConfigure_trustable_nodes">
-   <property name="text">
-    <string>Configure trustable nodes</string>
-   </property>
-  </action>
-  <action name="actionAdd_a_contact">
-   <property name="text">
-    <string>Add a contact</string>
-   </property>
-  </action>
-  <action name="actionSend_a_message">
-   <property name="text">
-    <string>Send a message</string>
-   </property>
-  </action>
-  <action name="actionSend_money">
-   <property name="text">
-    <string>Send money</string>
-   </property>
-  </action>
-  <action name="actionRemove_contact">
-   <property name="text">
-    <string>Remove contact</string>
-   </property>
-  </action>
-  <action name="actionSend_a_message_2">
-   <property name="text">
-    <string>Send a message</string>
-   </property>
-  </action>
-  <action name="actionSend_money_2">
-   <property name="text">
-    <string>Send money</string>
-   </property>
-  </action>
-  <action name="actionRemove_contact_2">
-   <property name="text">
-    <string>Remove contact</string>
-   </property>
-  </action>
- </widget>
- <resources/>
- <connections/>
-</ui>
diff --git a/doc/uml/models.png b/doc/uml/models.png
deleted file mode 100644
index a4314ae24e7027f32e61959c854ac9f5ceb327ba..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 39630
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
Tof=pga<S_HkNws7z~nyx+rYGh

diff --git a/doc/uml/models.pu b/doc/uml/models.pu
deleted file mode 100644
index 82a546ca..00000000
--- a/doc/uml/models.pu
+++ /dev/null
@@ -1,46 +0,0 @@
-@startuml
-
-#TODO: Rework UML with all informations gathered lately
-
-class Account {
-	pgpkey
-}
-
-Account --> "0..*" Community : is a member of
-Account --> "0..*" Node : trusts
-Account --> "0..*" Node : send transactions with
-Account --> "*" Transaction : send
-Account --> "*" Transaction : receive
-Account --> "0..*" Wallet : owns
-
-class Community {
-}
-
-Community "1" -- "1" Currency : uses
-Community "1" --> "1..*" Node : known nodes
-
-class Node {
-	address
-	port
-	auth
-}
-
-Node --> "1" Community
-
-class Transaction {
-	value
-	currency
-	sender
-	receiver
-}
-
-class Wallet {
-	currency
-	coins
-}
-
-
-
-@enduml
-
-
diff --git a/doc/uml/tx_lifecycle.png b/doc/uml/tx_lifecycle.png
new file mode 100644
index 0000000000000000000000000000000000000000..0e7061b3438870f7c6a7c4fae11a191f971e9234
GIT binary patch
literal 22532
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

literal 0
HcmV?d00001

diff --git a/doc/uml/tx_lifecycle.pu b/doc/uml/tx_lifecycle.pu
new file mode 100644
index 00000000..c8e9c700
--- /dev/null
+++ b/doc/uml/tx_lifecycle.pu
@@ -0,0 +1,10 @@
+@startuml
+
+[*] --> To_send
+To_send --> Awaiting : Broadcasted at B
+Awaiting --> Validated : Registered in [B; B+15]
+Awaiting --> Canceled : Not registered in [B; B+15]
+Canceled --> To_send : Send back order
+Canceled --> Dropped : Drop order
+
+@enduml
\ No newline at end of file
diff --git a/src/cutecoin/core/wallet.py b/src/cutecoin/core/wallet.py
index 87121814..925da2a9 100644
--- a/src/cutecoin/core/wallet.py
+++ b/src/cutecoin/core/wallet.py
@@ -19,14 +19,15 @@ class Cache():
         self.wallet = wallet
 
         self.tx_sent = []
-        self.awaiting_tx = []
+        self.tx_awaiting = []
         self.tx_received = []
+        self.tx_to_send = []
         self.available_sources = []
 
     def load_from_json(self, data):
         self.tx_received = []
         self.tx_sent = []
-        self.awaiting_tx = []
+        self.tx_awaiting = []
         logging.debug(data)
 
         data_received = data['received']
@@ -39,7 +40,7 @@ class Cache():
 
         data_awaiting = data['awaiting']
         for s in data_awaiting:
-            self.awaiting_tx.append((r['block'], Transaction.from_signed_raw(s['raw'])))
+            self.tx_awaiting.append((r['block'], Transaction.from_signed_raw(s['raw'])))
 
         if 'sources' in data:
             data_sources = data['sources']
@@ -58,7 +59,7 @@ class Cache():
             data_sent.append({'block': r[0], 'raw': s[1].signed_raw()})
 
         data_awaiting = []
-        for s in self.awaiting_tx:
+        for s in self.tx_awaiting:
             data_awaiting.append({'block': r[0], 'raw': s[1].signed_raw()})
 
         data_sources = []
@@ -76,7 +77,7 @@ class Cache():
         return self.tx_sent
 
     def awaiting(self, community):
-        return self.awaiting_tx
+        return self.tx_awaiting
 
     def latest_received(self, community):
         return self.tx_received
@@ -117,7 +118,7 @@ class Cache():
                     if len(in_inputs) > 0:
                         # remove from waiting transactions list the one which were
                         # validated in the blockchain
-                        self.awaiting_tx = [awaiting[1] for awaiting in self.awaiting_tx
+                        self.tx_awaiting = [awaiting[1] for awaiting in self.tx_awaiting
                                              if awaiting[1].compact() != tx.compact()]
                         self.tx_sent.append((block_number, tx))
 
@@ -262,7 +263,7 @@ class Wallet(object):
             community.broadcast(bma.tx.Process,
                         post_args={'transaction': tx.signed_raw()})
             block_number = community.current_blockid()['number']
-            self.caches[community.currency].awaiting_tx.append((block_number, tx))
+            self.caches[community.currency].tx_awaiting.append((block_number, tx))
         except:
             raise
 
-- 
GitLab