From de176a8c069fd23f0e6c988e71cc631fc3477acc Mon Sep 17 00:00:00 2001
From: Roman Khlopkov <roman.khlopkov@demlabs.net>
Date: Fri, 29 May 2020 14:54:43 +0300
Subject: [PATCH] [+] New tx out item header

---
 .../include/dap_chain_datum_tx_out_ext.h      | 43 +++++++++++++++++++
 1 file changed, 43 insertions(+)
 create mode 100644 modules/common/include/dap_chain_datum_tx_out_ext.h

diff --git a/modules/common/include/dap_chain_datum_tx_out_ext.h b/modules/common/include/dap_chain_datum_tx_out_ext.h
new file mode 100644
index 0000000000..536012bbd6
--- /dev/null
+++ b/modules/common/include/dap_chain_datum_tx_out_ext.h
@@ -0,0 +1,43 @@
+/*
+ * Authors:
+ * Roman Khlopkov <roman.khlopkov@demlabs.net>
+ * DeM Labs Inc.   https://demlabs.net
+ * DeM Labs Open source community https://gitlab.demlabs.net
+ * Copyright  (c) 2017-2020
+ * All rights reserved.
+
+ This file is part of DAP (Deus Applications Prototypes) the open source project
+
+    DAP (Deus Applicaions Prototypes) is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    DAP is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with any DAP based project.  If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+#include <stdint.h>
+#include "dap_common.h"
+#include "dap_chain_common.h"
+#include "dap_chain_datum_tx.h"
+
+/**
+  * @struct dap_chain_tx_out_ext
+  * @brief Multichannel transaction item output
+  */
+typedef struct dap_chain_tx_out_ext{
+    struct {
+        dap_chain_tx_item_type_t type : 8; // Transaction item type - should be TX_ITEM_TYPE_OUT_EXT
+        uint64_t value;                    // Number of Datoshis ( DAP/10^9 ) to be transfered
+    } header;                              // Only header's hash is used for verification
+    dap_chain_addr_t addr;                 // Address to transfer to
+    char token[DAP_CHAIN_TICKER_SIZE_MAX]; // Which token is transferred
+} DAP_ALIGN_PACKED dap_chain_tx_out_ext_t;
-- 
GitLab