diff --git a/include/wrapping_dap_chain_common.h b/include/wrapping_dap_chain_common.h
index d260b9bc5e9a634487dbbc2462a95a0016cf4b3a..d2497ef85c0931aef393b65f4807719126529a63 100644
--- a/include/wrapping_dap_chain_common.h
+++ b/include/wrapping_dap_chain_common.h
@@ -295,6 +295,57 @@ static PyTypeObject DapChainNetSrvPriceUnitUIDObject_DapChainNetSrvPriceUnitUIDO
 };
 /*=================*/
 
+/* Chain cell id */
+typedef struct PyDapChainCellID{
+    PyObject_HEAD
+    dap_chain_id_t *cell_id;
+}PyDapChainCellIDObject;
+
+static PyTypeObject DapChainCellIDObject_DapChainCellIDType = {
+    PyVarObject_HEAD_INIT(NULL, 0)
+    "CellFrame.ChainCellID"  ,       /* tp_name */
+    sizeof(PyDapChainCellIDObject),  /* tp_basicsize */
+    0,                               /* tp_itemsize */
+    0,                               /* tp_dealloc */
+    0,                               /* tp_print */
+    0,                               /* tp_getattr */
+    0,                               /* tp_setattr */
+    0,                               /* tp_reserved */
+    0,                               /* tp_repr */
+    0,                               /* tp_as_number */
+    0,                               /* tp_as_sequence */
+    0,                               /* tp_as_mapping */
+    0,                               /* tp_hash  */
+    0,                               /* tp_call */
+    0,                               /* tp_str */
+    0,                               /* tp_getattro */
+    0,                               /* tp_setattro */
+    0,                               /* tp_as_buffer */
+    Py_TPFLAGS_DEFAULT |
+        Py_TPFLAGS_BASETYPE,         /* tp_flags */
+    "Chain cell id object",          /* tp_doc */
+    0,		                         /* tp_traverse */
+    0,		                         /* tp_clear */
+    0,		                         /* tp_richcompare */
+    0,                               /* tp_weaklistoffset */
+    0,		                         /* tp_iter */
+    0,		                         /* tp_iternext */
+    0,                               /* tp_methods */
+    0,                               /* tp_members */
+    0,                               /* tp_getset */
+    0,                               /* tp_base */
+    0,                               /* tp_dict */
+    0,                               /* tp_descr_get */
+    0,                               /* tp_descr_set */
+    0,                               /* tp_dictoffset */
+    0,                               /* tp_init */
+    0,                               /* tp_alloc */
+    PyType_GenericNew,               /* tp_new */
+};
+
+
+/*=================*/
+
 
 #ifdef __cplusplus
 }
diff --git a/libdap-crypto-python b/libdap-crypto-python
index 95d80e7c2201edd36d10cdc638f45f6e9109b1ae..96563be43c50445e32484bd35922352dccb5e6cb 160000
--- a/libdap-crypto-python
+++ b/libdap-crypto-python
@@ -1 +1 @@
-Subproject commit 95d80e7c2201edd36d10cdc638f45f6e9109b1ae
+Subproject commit 96563be43c50445e32484bd35922352dccb5e6cb
diff --git a/src/wrapping_dap_chain_datum_tx.c b/src/wrapping_dap_chain_datum_tx.c
index 4a814986d4705aa893ceffe71904931753edda1b..dc1c32df5fd525c9a0ad3c94d7a2d7af4d48bf87 100644
--- a/src/wrapping_dap_chain_datum_tx.c
+++ b/src/wrapping_dap_chain_datum_tx.c
@@ -78,7 +78,7 @@ PyObject *dap_chain_datum_tx_add_in_item_py(PyObject *self, PyObject *args){
     if (!PyArg_ParseTuple(args, "O|O|I", &in_obj_datum_txs, &in_obj_hash_fast, &in_tx_out_pref_idx))
         return NULL;
     dap_chain_datum_tx_t **a_txs = PyListToDapChainDatumTxArray(in_obj_datum_txs);
-    int res = dap_chain_datum_tx_add_in_item(a_txs, ((PyDapChainHashFastObject*)in_obj_hash_fast)->hash_fast,
+    int res = dap_chain_datum_tx_add_in_item(a_txs, ((PyDapHashFastObject*)in_obj_hash_fast)->hash_fast,
                                              in_tx_out_pref_idx);
     if (res == -1){
         return NULL;
@@ -96,7 +96,7 @@ PyObject *dap_chain_datum_tx_add_in_cond_item_py(PyObject *self, PyObject *args)
     if (!PyArg_ParseTuple(args, "O|O|I|I", &in_obj_datum_txs, &in_chain_hash_fast, &in_tx_out_prev_idx, &in_receipt_idx))
         return NULL;
     dap_chain_datum_tx_t **a_txs = PyListToDapChainDatumTxArray(in_obj_datum_txs);
-    int res = dap_chain_datum_tx_add_in_cond_item(a_txs, ((PyDapChainHashFastObject*)in_chain_hash_fast)->hash_fast, in_tx_out_prev_idx, in_receipt_idx);
+    int res = dap_chain_datum_tx_add_in_cond_item(a_txs, ((PyDapHashFastObject*)in_chain_hash_fast)->hash_fast, in_tx_out_prev_idx, in_receipt_idx);
     return PyLong_FromLong(res);
 }