diff --git a/.gitmodules b/.gitmodules index f31f256df596e3e938234d1081ac70db5c7d9780..d1266e5b0fef9998ceca302403657426713e0b5d 100644 --- a/.gitmodules +++ b/.gitmodules @@ -67,3 +67,9 @@ [submodule "libdap-server-http-db"] path = libdap-server-http-db url = https://gitlab.demlabs.net/cellframe/libdap-server-http-db.git +[submodule "libdap-chain-common"] + path = libdap-chain-common + url = https://gitlab.demlabs.net/cellframe/libdap-chain-common.git +[submodule "libdap-chain-common-python"] + path = libdap-chain-common-python + url = https://gitlab.demlabs.net/cellframe/libdap-chain-common-python.git diff --git a/CMakeLists.txt b/CMakeLists.txt index 2603c2ce4f01aaa1e6bf026530ce5ef2c4ba171a..48e0df13cd23cff2fbf23e78638ad0475e56ca2c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -42,6 +42,13 @@ if (NOT (${SUBMODULES_NO_BUILD} MATCHES ON)) "-fpic" ) endif() + if (NOT (TARGET dap_chain_common)) + add_subdirectory(libdap-chain-common) + target_compile_options( + dap_chain_common PRIVATE + "-fpic" + ) + endif() if (NOT (TARGET dap_chain_mempool)) add_subdirectory(libdap-chain-mempool) target_compile_options( @@ -175,6 +182,13 @@ if (NOT (${SUBMODULES_NO_BUILD} MATCHES ON)) "-fpic" ) endif() + if (NOT (TARGET dap_chain_common_python_module)) + add_subdirectory(libdap-chain-common-python) + target_compile_options( + dap_chain_common_python_module PRIVATE + "-fpic" + ) + endif() endif() #add_definitions("-DDAP_APP_NAME=\"TestPRJ\" -DSYSTEM_CONFIGS_DIR=\"${CMAKE_CURRENT_BINARY_DIR}\"") @@ -189,7 +203,7 @@ add_library(${PROJECT_NAME} STATIC ${CHAIN_PYTHON_SRCS} ${CHAIN_PYTHON_HEADERS}) target_link_libraries(${PROJECT_NAME}) -target_link_libraries(${PROJECT_NAME} dap_core dap_crypto dap_chain dap_chain_crypto dap_server_core dap_chain_net dap_crypto_python_module dap_python_module) +target_link_libraries(${PROJECT_NAME} dap_core dap_crypto dap_chain dap_chain_crypto dap_server_core dap_chain_net dap_crypto_python_module dap_python_module dap_chain_common_python_module) target_include_directories(${PROJECT_NAME} PUBLIC include/ ) diff --git a/include/libdap-chain-python.h b/include/libdap-chain-python.h index 9874ea04b8b394dc8ec7dc8d21a88484170f9436..aee6083e55a232c4a574a69a0b3ddb6e64e0d915 100644 --- a/include/libdap-chain-python.h +++ b/include/libdap-chain-python.h @@ -13,7 +13,7 @@ #include "dap_chain.h" #include "dap_chain_node_client.h" #include "wrapping_dap_chain_ledger.h" -#include "wrapping_dap_chain_common_objects.h" +#include "wrapping_dap_chain_common.h" #ifdef __cplusplus extern "C" { diff --git a/include/wrapping_dap_chain_common.h b/include/wrapping_dap_chain_common.h deleted file mode 100644 index ff76943b5638194fa2d1a16eba7c821a5fe55068..0000000000000000000000000000000000000000 --- a/include/wrapping_dap_chain_common.h +++ /dev/null @@ -1,81 +0,0 @@ -#ifndef _WRAPPING_DAP_CHAIN_COMMON_ -#define _WRAPPING_DAP_CHAIN_COMMON_ - -#include "Python.h" -#include "dap_chain_common.h" -#include "wrapping_dap_chain_common_objects.h" -#include "libdap_crypto_key_python.h" - -#ifdef __cplusplus -extern "C" { -#endif - -typedef struct PyDapChainCommon{ - PyObject_HEAD -}PyDapChainCommonObject; - -PyObject *dap_chain_hash_slow_to_str_py(PyObject *self, PyObject *args); -PyObject *dap_chain_str_to_hash_fast_py(PyObject *self, PyObject *args); -PyObject *dap_chain_addr_to_str_py(PyObject *self, PyObject *args); -PyObject *dap_chain_addr_from_str_py(PyObject *self, PyObject *args); -PyObject *dap_chain_addr_fill_py(PyObject *self, PyObject *args); -PyObject *dap_chain_addr_check_sum_py(PyObject *self, PyObject *args); - -static PyMethodDef PyDapChainCommonObjectMethods[] ={ - {"hashSlowToStr", dap_chain_hash_slow_to_str_py, METH_VARARGS|METH_STATIC, ""}, - {"strTpHashFast", dap_chain_str_to_hash_fast_py, METH_VARARGS|METH_STATIC, ""}, - {"addrToStr", dap_chain_addr_to_str_py, METH_VARARGS|METH_STATIC, ""}, - {"addrFromStr", dap_chain_addr_from_str_py, METH_VARARGS|METH_STATIC, ""}, - {"addrFill", dap_chain_addr_fill_py, METH_VARARGS|METH_STATIC, ""}, - {"addrCheckSum", dap_chain_addr_check_sum_py, METH_VARARGS|METH_STATIC, ""}, - {NULL, NULL, 0, NULL} -}; - -static PyTypeObject ChainCommonObject_ChainCommonType = { - PyVarObject_HEAD_INIT(NULL, 0) - "CellFrame.Chain.Common", /* tp_name */ - sizeof(PyDapChainCommonObject), /* 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 common objects", /* tp_doc */ - 0, /* tp_traverse */ - 0, /* tp_clear */ - 0, /* tp_richcompare */ - 0, /* tp_weaklistoffset */ - 0, /* tp_iter */ - 0, /* tp_iternext */ - PyDapChainCommonObjectMethods, /* 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 -} -#endif - -#endif //_WRAPPING_DAP_CHAIN_COMMON_ diff --git a/include/wrapping_dap_chain_common_objects.h b/include/wrapping_dap_chain_common_objects.h deleted file mode 100644 index 23e9df37d54a26aac9db693c34acbcdd20225d32..0000000000000000000000000000000000000000 --- a/include/wrapping_dap_chain_common_objects.h +++ /dev/null @@ -1,423 +0,0 @@ -#ifndef _WRAPPING_DAP_CHAIN_COMMON_OBJECTS_ -#define _WRAPPING_DAP_CHAIN_COMMON_OBJECTS_ - -#include "Python.h" -#include "dap_chain_common.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* DAP Chain ID*/ -typedef struct PyDapChainId{ - PyObject_HEAD - dap_chain_id_t id; -}PyDapChainIdObject; - -static PyTypeObject DapChainIdObject_DapChainIdObjectType = { - PyVarObject_HEAD_INIT(NULL, 0) - "CellFrame.Chain.ID", /* tp_name */ - sizeof(PyDapChainIdObject), /* 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 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 */ -}; - -/*-------------------------------*/ - -/* DAP chain cell id */ - -typedef struct PyDapChainCellId{ - PyObject_HEAD - dap_chain_cell_id_t id; -}PyDapChainCellIdObject; - -static PyTypeObject DapChainCellIdObject_DapChainCellIdObjectType = { - PyVarObject_HEAD_INIT(NULL, 0) - "CellFrame.Chain.CellID", /* 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 */ -}; - -/*-------------------------------*/ - -/* DAP chain Addr */ - -typedef struct PyDapChainNodeAddr{ - PyObject_HEAD - dap_chain_node_addr_t *node_addr; -}PyDapChainNodeAddrObject; - -static PyTypeObject DapChainNodeAddrObject_DapChainNodeAddrObjectType = { - PyVarObject_HEAD_INIT(NULL, 0) - "CellFrame.Chain.NodeAddr", /* tp_name */ - sizeof(PyDapChainNodeAddrObject), /* 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 node addr 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 */ -}; - -/*-------------------------------*/ - -typedef struct PyDapChainNodeRole{ - PyObject_HEAD - dap_chain_node_role_t *node_role; -}PyDapChainNodeRoleObject; - -/* DAP Chain Net ID */ - -typedef struct PyDapChainNetId{ - PyObject_HEAD - dap_chain_net_id_t net_id; -}PyDapChainNetIdObject; - -static PyTypeObject DapChainNetIdObject_DapChainNetIdObjectType = { - PyVarObject_HEAD_INIT(NULL, 0) - "CellFrame.Chain.NetID", /* tp_name */ - sizeof(PyDapChainNetIdObject), /* 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 net 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 */ -}; - -/* ------------------------------- */ - -/* DAP chain Hash Slow Object */ -typedef struct PyDapChainHashSlow{ - PyObject_HEAD - dap_chain_hash_slow_t *hash_slow; -}PyDapChainHashSlowObject; - -static PyTypeObject DapChainHashSlowObject_DapChainHashSlowObjectType = { - PyVarObject_HEAD_INIT(NULL, 0) - "CellFrame.Chain.HashSlow", /* tp_name */ - sizeof(PyDapChainHashSlowObject),/* 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 hash slow 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 */ -}; - - -/* ---------------------------------- */ -/* DAP chain hash fast object */ - -typedef struct PyDapChainHashFast{ - PyObject_HEAD - dap_chain_hash_fast_t *hash_fast; -}PyDapChainHashFastObject; - -static PyTypeObject DapChainHashFastObject_DapChainHashFastObjectType = { - PyVarObject_HEAD_INIT(NULL, 0) - "CellFrame.Chain.HashFast", /* tp_name */ - sizeof(PyDapChainHashFastObject),/* 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 hash fast 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 */ -}; - -/* ----------------------------------- */ - -typedef struct PyDapChainHashSlowKind{ - PyObject_HEAD - dap_chain_hash_slow_kind_t *hash_slow_kind; -}PyDapChainHashSlowKindObject; - -static PyTypeObject DapChainHashSlowKindObject_DapChainHashSlowKindObjectType = { - PyVarObject_HEAD_INIT(NULL, 0) - "CellFrame.Chain.HashSlowKind", /* tp_name */ - sizeof(PyDapChainHashSlowKindObject),/* 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 hash slow kind 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 */ -}; - -/* ----------------------------------- */ - -/* DAP chain addr object */ -typedef struct PyDapChainAddr{ - PyObject_HEAD - dap_chain_addr_t *addr; -}PyDapChainAddrObject; - -static PyTypeObject DapChainAddrObject_DapChainAddrObjectType = { - PyVarObject_HEAD_INIT(NULL, 0) - "CellFrame.Chain.Addr", /* tp_name */ - sizeof(PyDapChainAddrObject),/* 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 addr 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 -} -#endif - -#endif //_WRAPPING_DAP_CHAIN_COMMON_OBJECTS_ diff --git a/include/wrapping_dap_chain_datum.h b/include/wrapping_dap_chain_datum.h deleted file mode 100644 index 16ff7a38025bf8a5110791d1ae896f242c91c22c..0000000000000000000000000000000000000000 --- a/include/wrapping_dap_chain_datum.h +++ /dev/null @@ -1,163 +0,0 @@ -#ifndef _WRAPPING_DAP_CHAIN_DATUM_ -#define _WRAPPING_DAP_CHAIN_DATUM_ -#include "Python.h" -#include "dap_chain_datum.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* DAP Chain datum type id */ -typedef struct PyDapChainDatumTypeId{ - PyObject_HEAD - dap_chain_datum_typeid_t *type_id; -}PyDapChainDatumTypeIdObject; - -static PyTypeObject DapChainDatumTypeIdObject_DapChainDatumTypeIdObjectType = { - PyVarObject_HEAD_INIT(NULL, 0) - "CellFrame.Chain.DatumTypeId", /* tp_name */ - sizeof(PyDapChainDatumTypeIdObject), /* 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 datum type 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 */ -}; -/* -------------------------------- */ - -typedef struct PyDapChainDatum{ - PyObject_HEAD - dap_chain_datum_t *datum; -}PyDapChainDatumObject; - -//void PyDapChainDatumObject_dealloc(PyDapChainDatumObject* object); -PyObject *PyDapChainDatumObject_new(PyTypeObject *type_object, PyObject *args, PyObject *kwds); - -static PyTypeObject DapChainDatumObject_DapChainDatumObjectType = { - PyVarObject_HEAD_INIT(NULL, 0) - "CellFrame.Chain.Datum", /* tp_name */ - sizeof(PyDapChainDatumObject), /* 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 datum 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 */ - PyDapChainDatumObject_new, /* tp_new */ -}; -/* -------------------------------- */ - -/* DAP Chain datum iter*/ -typedef struct PyDapChainDatumIter{ - PyObject_HEAD - dap_chain_datum_iter_t *datum_iter; -}PyDapChainDatumIterObject; - -static PyTypeObject DapChainDatumIterObject_DapChainDatumIterObjectType = { - PyVarObject_HEAD_INIT(NULL, 0) - "CellFrame.Chain.DatumIter", /* tp_name */ - sizeof(PyDapChainDatumIterObject), /* 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 datum iter 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 -} -#endif - -#endif //_WRAPPING_DAP_CHAIN_DATUM_ diff --git a/include/wrapping_dap_chain_datum_token.h b/include/wrapping_dap_chain_datum_token.h deleted file mode 100644 index 727f8eaebb5d3ad377396985ed3d93641b7a2433..0000000000000000000000000000000000000000 --- a/include/wrapping_dap_chain_datum_token.h +++ /dev/null @@ -1,117 +0,0 @@ -#ifndef _WRAPPING_DAP_CHAIN_DATUM_TOKEN_ -#define _WRAPPING_DAP_CHAIN_DATUM_TOKEN_ - -#include "Python.h" -#include "dap_chain_datum_token.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* DAP chain datum token */ - -typedef struct PyDapChainDatumToken{ - PyObject_HEAD - dap_chain_datum_token_t *token; -}PyDapChainDatumTokenObject; - -static PyTypeObject DapChainDatumToken_DapChainDatumTokenObjectType = { - PyVarObject_HEAD_INIT(NULL, 0) - "CellFrame.Chain.DatumTokenObject", /* tp_name */ - sizeof(PyDapChainDatumTokenObject), /* 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 datum token 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 */ -}; - -/* ------------------------------------------- */ - -/* DAP chain datum token emission */ - -typedef struct PyDapChainDatumTokenEmission{ - PyObject_HEAD - dap_chain_datum_token_emission_t *token_emission; -}PyDapChainDatumTokenEmissionObject; - -static PyTypeObject DapChainDatumTokenEmission_DapChainDatumTokenEmissionObjectType = { - PyVarObject_HEAD_INIT(NULL, 0) - "CellFrame.Chain.DatumTokenEmission", /* tp_name */ - sizeof(PyDapChainDatumTokenEmissionObject), /* 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 datum token emission 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 -} -#endif - -#endif //_WRAPPING_DAP_CHAIN_DATUM_TOKEN_ diff --git a/include/wrapping_dap_chain_datum_tx.h b/include/wrapping_dap_chain_datum_tx.h deleted file mode 100644 index 62203de76935f602016be83eb17592eea206ce3b..0000000000000000000000000000000000000000 --- a/include/wrapping_dap_chain_datum_tx.h +++ /dev/null @@ -1,266 +0,0 @@ -#ifndef _WRAPPING_DAP_CHAIN_DATUM_TX_ -#define _WRAPPING_DAP_CHAIN_DATUM_TX_ - -#include "Python.h" -#include "dap_chain_datum_tx.h" -#include "wrapping_dap_chain_common.h" -#include "libdap_crypto_key_python.h" -#include "dap_chain_datum_tx_out_cond.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* DAP chain tx iter type */ -typedef struct PyDapChainTxItemType{ - PyObject_HEAD -}PyDapChainTxItemTypeObject; - -PyObject *TX_ITEM_TYPE_IN_PY(void); -PyObject *TX_ITEM_TYPE_OUT_PY(void); -PyObject *TX_ITEM_TYPE_PKEY_PY(void); -PyObject *TX_ITEM_TYPE_SIG_PY(void); -PyObject *TX_ITEM_TYPE_TOKEN_PY(void); -PyObject *TX_ITEM_TYPE_IN_COND_PY(void); -PyObject *TX_ITEM_TYPE_OUT_COND_PY(void); -PyObject *TX_ITEM_TYPE_RECEIPT_PY(void); - -static PyMethodDef PyDapChainTxItemTypeObjectMethods[] ={ - {"TX_ITEM_TYPE_IN", (PyCFunction)TX_ITEM_TYPE_IN_PY, METH_NOARGS | METH_STATIC, ""}, - {"TX_ITEM_TYPE_OUT", (PyCFunction)TX_ITEM_TYPE_OUT_PY, METH_NOARGS | METH_STATIC, ""}, - {"TX_ITEM_TYPE_PKEY", (PyCFunction)TX_ITEM_TYPE_PKEY_PY, METH_NOARGS | METH_STATIC, ""}, - {"TX_ITEM_TYPE_SIG", (PyCFunction)TX_ITEM_TYPE_SIG_PY, METH_NOARGS | METH_STATIC, ""}, - {"TX_ITEM_TYPE_TOKEN", (PyCFunction)TX_ITEM_TYPE_TOKEN_PY, METH_NOARGS | METH_STATIC, ""}, - {"TX_ITEM_TYPE_IN_COND", (PyCFunction)TX_ITEM_TYPE_IN_COND_PY, METH_NOARGS | METH_STATIC, ""}, - {"TX_ITEM_TYPE_OUT_COND", (PyCFunction)TX_ITEM_TYPE_OUT_COND_PY, METH_NOARGS | METH_STATIC, ""}, - {"TX_ITEM_TYPE_RECEIPT", (PyCFunction)TX_ITEM_TYPE_RECEIPT_PY, - METH_NOARGS | METH_STATIC, ""}, - {NULL, NULL, 0, NULL} -}; - -static PyTypeObject DapChainTxItemObject_DapChainTxItemTypeObjectType = { - PyVarObject_HEAD_INIT(NULL, 0) - "CellFrame.Chain.TxItemType", /* tp_name */ - sizeof(PyDapChainTxItemTypeObject), /* 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 tx item type object", /* tp_doc */ - 0, /* tp_traverse */ - 0, /* tp_clear */ - 0, /* tp_richcompare */ - 0, /* tp_weaklistoffset */ - 0, /* tp_iter */ - 0, /* tp_iternext */ - PyDapChainTxItemTypeObjectMethods, /* 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 */ -}; - -/* -------------------------------------- */ - -/* DAP chain tx cond*/ -typedef struct PyDapChainTxCondType{ - PyObject_HEAD - dap_chain_tx_cond_type_t *tx_cond_type_t; -}PyDapChainTxCondTypeObject; - -static PyTypeObject DapChainTxType_DapChainTxCondTypeObject = { - PyVarObject_HEAD_INIT(NULL, 0) - "CellFrame.Chain.TxCondType", /* tp_name */ - sizeof(PyDapChainTxCondTypeObject),/* 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 tx cond type 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 */ -}; - -/* -------------------------------------- */ - -/* DAP chain datum tx */ -typedef struct PyDapChainDatumTx{ - PyObject_HEAD - dap_chain_datum_tx_t *datum_tx; -}PyDapChainDatumTxObject; - -PyObject *PyDapChainDatumTxObject_create(PyTypeObject *type_object, PyObject *args, PyObject *kwds); -void PyDapChainDatumTxObject_delete(PyDapChainDatumTxObject* datumTx); -PyObject *dap_chain_datum_tx_get_size_py(PyObject *self, PyObject *args); -PyObject *dap_chain_datum_tx_add_item_py(PyObject *self, PyObject *args); -PyObject *dap_chain_datum_tx_add_in_item_py(PyObject *self, PyObject *args); -PyObject *dap_chain_datum_tx_add_out_item_py(PyObject *self, PyObject *args); -PyObject *dap_chain_datum_tx_add_out_cond_item_py(PyObject *self, PyObject *args); -PyObject *dap_chain_datum_tx_add_sign_item_py(PyObject *self, PyObject *args); -PyObject *dap_chain_datum_tx_verify_sign_py(PyObject *self, PyObject *args); - -static dap_chain_datum_tx_t **PyListToDapChainDatumTxArray(PyObject *a_in_obj); -static PyObject* DapChainDatumTxArrayToPyList(dap_chain_datum_tx_t** datum_txs); - - -static PyMethodDef PyDapChainDatumTxObjectMethods[] ={ - {"getSize", (PyCFunction)dap_chain_datum_tx_get_size_py, METH_VARARGS, ""}, - {"addItem", (PyCFunction)dap_chain_datum_tx_add_item_py, METH_VARARGS | METH_STATIC, ""}, - {"addInItem", (PyCFunction)dap_chain_datum_tx_add_in_item_py, METH_VARARGS | METH_STATIC, ""}, - {"addOutItem", (PyCFunction)dap_chain_datum_tx_add_out_item_py, METH_VARARGS | METH_STATIC, ""}, - {"addOutCond", (PyCFunction)dap_chain_datum_tx_add_out_cond_item_py, METH_VARARGS | METH_STATIC, ""}, - {"addSignItem", (PyCFunction)dap_chain_datum_tx_add_sign_item_py, METH_VARARGS | METH_STATIC, ""}, - {"verifySign", (PyCFunction)dap_chain_datum_tx_verify_sign_py, METH_VARARGS, ""}, - {NULL, NULL, 0, NULL} -}; - -static PyTypeObject DapChainDatumTx_DapChainDatumTxObjectType = { - PyVarObject_HEAD_INIT(NULL, 0) - "CellFrame.Chain.DatumTx", /* tp_name */ - sizeof(PyDapChainDatumTxObject), /* tp_basicsize */ - 0, /* tp_itemsize */ - (destructor)PyDapChainDatumTxObject_delete, /* 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 datum tx object", /* tp_doc */ - 0, /* tp_traverse */ - 0, /* tp_clear */ - 0, /* tp_richcompare */ - 0, /* tp_weaklistoffset */ - 0, /* tp_iter */ - 0, /* tp_iternext */ - PyDapChainDatumTxObjectMethods, /* 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 */ - PyDapChainDatumTxObject_create, /* tp_new */ -}; - -/* -------------------------------------- */ - -typedef struct PyDapChainTxOutCond{ - PyObject_HEAD - dap_chain_tx_out_cond_t *out_cond; -}PyDapChainTxOutCondObject; - -static PyTypeObject DapChainTxOutCond_DapChainTxOutCondObjectType = { - PyVarObject_HEAD_INIT(NULL, 0) - "CellFrame.Chain.TxOutCond", /* tp_name */ - sizeof(PyDapChainTxOutCondObject), /* 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 tx out cond 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 */ -}; - -dap_chain_tx_out_cond_t **PyListToDapChainTxOutCond(PyObject *list); -PyObject *DapChainTxOutCondObjectToPyList(dap_chain_tx_out_cond_t **out_cond); - -/* -------------------------------------- */ - -#ifdef __cplusplus -} -#endif - -#endif //_WRAPPING_DAP_CHAIN_DATUM_TX_ diff --git a/include/wrapping_dap_chain_ledger.h b/include/wrapping_dap_chain_ledger.h index d5eb4d34c4554304d524f8b1bb756030724ad301..160ea180a80c9a4d4a5a45db229f127f61b31e57 100644 --- a/include/wrapping_dap_chain_ledger.h +++ b/include/wrapping_dap_chain_ledger.h @@ -3,9 +3,10 @@ #include "Python.h" #include "dap_chain_ledger.h" -#include "wrapping_dap_chain_common_objects.h" +#include "wrapping_dap_chain_common.h" #include "wrapping_dap_chain_datum_tx.h" #include "wrapping_dap_chain_datum_token.h" +#include "wrapping_dap_hash.h" #include "libdap-python.h" diff --git a/libdap b/libdap index 1c0614797a3a2a2f4c179630025600e177637a65..aa1d2e2b2aecd5e7686172fd06fe578a03077bbd 160000 --- a/libdap +++ b/libdap @@ -1 +1 @@ -Subproject commit 1c0614797a3a2a2f4c179630025600e177637a65 +Subproject commit aa1d2e2b2aecd5e7686172fd06fe578a03077bbd diff --git a/libdap-chain b/libdap-chain index f7e22487b7c01431161bc527269e76e16e213cfd..777394aa9c175db4e6245c95c990a6f2c5717a58 160000 --- a/libdap-chain +++ b/libdap-chain @@ -1 +1 @@ -Subproject commit f7e22487b7c01431161bc527269e76e16e213cfd +Subproject commit 777394aa9c175db4e6245c95c990a6f2c5717a58 diff --git a/libdap-chain-common b/libdap-chain-common new file mode 160000 index 0000000000000000000000000000000000000000..5af3788fc532f217678165ff7f625a579083f0f1 --- /dev/null +++ b/libdap-chain-common @@ -0,0 +1 @@ +Subproject commit 5af3788fc532f217678165ff7f625a579083f0f1 diff --git a/libdap-chain-common-python b/libdap-chain-common-python new file mode 160000 index 0000000000000000000000000000000000000000..3ba70a530d9aa09ff13aa62d97b142ccccf1070d --- /dev/null +++ b/libdap-chain-common-python @@ -0,0 +1 @@ +Subproject commit 3ba70a530d9aa09ff13aa62d97b142ccccf1070d diff --git a/libdap-chain-crypto b/libdap-chain-crypto index f8dfd888432234c0314057f5551a578dd770003c..1248013aff1bbde72e92d20e9c13225ab11b2b16 160000 --- a/libdap-chain-crypto +++ b/libdap-chain-crypto @@ -1 +1 @@ -Subproject commit f8dfd888432234c0314057f5551a578dd770003c +Subproject commit 1248013aff1bbde72e92d20e9c13225ab11b2b16 diff --git a/libdap-chain-gdb b/libdap-chain-gdb index e9d57285c3d2383e13e1d949935628cb56c694cc..25f9668706f8e728351db9295e6a1fe0111d32bc 160000 --- a/libdap-chain-gdb +++ b/libdap-chain-gdb @@ -1 +1 @@ -Subproject commit e9d57285c3d2383e13e1d949935628cb56c694cc +Subproject commit 25f9668706f8e728351db9295e6a1fe0111d32bc diff --git a/libdap-chain-global-db b/libdap-chain-global-db index 8c6bbf4458bd10614bf48bb2da7e84b4f80f0d33..6b1f0c34cf0fd9c2e20441b4c0ce621c8febf1b8 160000 --- a/libdap-chain-global-db +++ b/libdap-chain-global-db @@ -1 +1 @@ -Subproject commit 8c6bbf4458bd10614bf48bb2da7e84b4f80f0d33 +Subproject commit 6b1f0c34cf0fd9c2e20441b4c0ce621c8febf1b8 diff --git a/libdap-chain-mempool b/libdap-chain-mempool index 4bbdcf60e10de8462820e45d7cc3715dca4c2139..a063222c80bc25cf70fdb3b6391f202bb2c08c65 160000 --- a/libdap-chain-mempool +++ b/libdap-chain-mempool @@ -1 +1 @@ -Subproject commit 4bbdcf60e10de8462820e45d7cc3715dca4c2139 +Subproject commit a063222c80bc25cf70fdb3b6391f202bb2c08c65 diff --git a/libdap-chain-net b/libdap-chain-net index 10e82c5393eee63eff349b4f4d2ec932e66c57bf..c8e2ce5e118a9f869cee2b6848e837d38bcf5e03 160000 --- a/libdap-chain-net +++ b/libdap-chain-net @@ -1 +1 @@ -Subproject commit 10e82c5393eee63eff349b4f4d2ec932e66c57bf +Subproject commit c8e2ce5e118a9f869cee2b6848e837d38bcf5e03 diff --git a/libdap-chain-net-srv b/libdap-chain-net-srv index 5edea70af6a5ede0c759e9d83a5741376f4da9fb..72da709759280291f16399cfaf4198eb819ebb9f 160000 --- a/libdap-chain-net-srv +++ b/libdap-chain-net-srv @@ -1 +1 @@ -Subproject commit 5edea70af6a5ede0c759e9d83a5741376f4da9fb +Subproject commit 72da709759280291f16399cfaf4198eb819ebb9f diff --git a/libdap-chain-net-srv-vpn b/libdap-chain-net-srv-vpn index 5d22d6242694b003694ea5130be2383761880551..b1d19f4bf3452077fae5e3e8c8bc8e48b1e4cc16 160000 --- a/libdap-chain-net-srv-vpn +++ b/libdap-chain-net-srv-vpn @@ -1 +1 @@ -Subproject commit 5d22d6242694b003694ea5130be2383761880551 +Subproject commit b1d19f4bf3452077fae5e3e8c8bc8e48b1e4cc16 diff --git a/libdap-chain-wallet b/libdap-chain-wallet index 5273ba5ba0a15dd94e680f9d961ab150f3764848..1d23760cc25190ff114eac4cab212459360936f8 160000 --- a/libdap-chain-wallet +++ b/libdap-chain-wallet @@ -1 +1 @@ -Subproject commit 5273ba5ba0a15dd94e680f9d961ab150f3764848 +Subproject commit 1d23760cc25190ff114eac4cab212459360936f8 diff --git a/libdap-client b/libdap-client index d3f5458f352294547b1ac68404d5ccdc8dea28ba..802517a9cce864cf5b55eaf1e2c70bb97f4dbec7 160000 --- a/libdap-client +++ b/libdap-client @@ -1 +1 @@ -Subproject commit d3f5458f352294547b1ac68404d5ccdc8dea28ba +Subproject commit 802517a9cce864cf5b55eaf1e2c70bb97f4dbec7 diff --git a/libdap-crypto b/libdap-crypto index d9337dda7db1b3430d17914b4e290b9a200045a2..16a16e71b9cfae4fd8df530ed8cd6146010ae7e0 160000 --- a/libdap-crypto +++ b/libdap-crypto @@ -1 +1 @@ -Subproject commit d9337dda7db1b3430d17914b4e290b9a200045a2 +Subproject commit 16a16e71b9cfae4fd8df530ed8cd6146010ae7e0 diff --git a/libdap-crypto-python b/libdap-crypto-python index e0fef50bbe630c2835020fbebf3bcdfe064255a8..96563be43c50445e32484bd35922352dccb5e6cb 160000 --- a/libdap-crypto-python +++ b/libdap-crypto-python @@ -1 +1 @@ -Subproject commit e0fef50bbe630c2835020fbebf3bcdfe064255a8 +Subproject commit 96563be43c50445e32484bd35922352dccb5e6cb diff --git a/libdap-server b/libdap-server index e3f07ae78aaecfada9f44abdd48a4ebbce9e2184..bc2eeb22af9852cce12079b755b6afa277d5be4e 160000 --- a/libdap-server +++ b/libdap-server @@ -1 +1 @@ -Subproject commit e3f07ae78aaecfada9f44abdd48a4ebbce9e2184 +Subproject commit bc2eeb22af9852cce12079b755b6afa277d5be4e diff --git a/libdap-server-core b/libdap-server-core index 73a86ef8202ee67a05098d186aac2deacb207f63..8ed6c9dee385a9178c4b07b097e62e62ecfb6923 160000 --- a/libdap-server-core +++ b/libdap-server-core @@ -1 +1 @@ -Subproject commit 73a86ef8202ee67a05098d186aac2deacb207f63 +Subproject commit 8ed6c9dee385a9178c4b07b097e62e62ecfb6923 diff --git a/libdap-server-http-db b/libdap-server-http-db index f3f0b0ed919d37368e86210940ebb9de686879a1..8d974654dc02860dae64b313aadc1c062c5c4dc3 160000 --- a/libdap-server-http-db +++ b/libdap-server-http-db @@ -1 +1 @@ -Subproject commit f3f0b0ed919d37368e86210940ebb9de686879a1 +Subproject commit 8d974654dc02860dae64b313aadc1c062c5c4dc3 diff --git a/libdap-server-http-db-auth b/libdap-server-http-db-auth index cf0d3043d2003690b0f8d92aab8f193671a4d6db..c03c689e1cf6b7e68b0033c0bc1f745c7c64a46d 160000 --- a/libdap-server-http-db-auth +++ b/libdap-server-http-db-auth @@ -1 +1 @@ -Subproject commit cf0d3043d2003690b0f8d92aab8f193671a4d6db +Subproject commit c03c689e1cf6b7e68b0033c0bc1f745c7c64a46d diff --git a/libdap-server-udp b/libdap-server-udp index a14daa6c39aed9bba32684872d03afc7778db61e..7500d54e139a92586b1488edffcb12f4f1c824ec 160000 --- a/libdap-server-udp +++ b/libdap-server-udp @@ -1 +1 @@ -Subproject commit a14daa6c39aed9bba32684872d03afc7778db61e +Subproject commit 7500d54e139a92586b1488edffcb12f4f1c824ec diff --git a/libdap-stream b/libdap-stream index 5fd18ccdb08cf8f35b0ab7eed857387433bddbbb..4781932c88e82e1fe38f8859ef56a8367f580d4b 160000 --- a/libdap-stream +++ b/libdap-stream @@ -1 +1 @@ -Subproject commit 5fd18ccdb08cf8f35b0ab7eed857387433bddbbb +Subproject commit 4781932c88e82e1fe38f8859ef56a8367f580d4b diff --git a/libdap-stream-ch b/libdap-stream-ch index daeb35e4680f659d41ade4da7514138e56278685..3bdf48f5401b54b582c2d28b71c9e596bcc6c090 160000 --- a/libdap-stream-ch +++ b/libdap-stream-ch @@ -1 +1 @@ -Subproject commit daeb35e4680f659d41ade4da7514138e56278685 +Subproject commit 3bdf48f5401b54b582c2d28b71c9e596bcc6c090 diff --git a/libdap-stream-ch-chain b/libdap-stream-ch-chain index d614be3773d73516d7f56f3f439232a3a09539d7..785c736a3fafe03cd5c03bddb3bb20450a7e3c6f 160000 --- a/libdap-stream-ch-chain +++ b/libdap-stream-ch-chain @@ -1 +1 @@ -Subproject commit d614be3773d73516d7f56f3f439232a3a09539d7 +Subproject commit 785c736a3fafe03cd5c03bddb3bb20450a7e3c6f diff --git a/libdap-stream-ch-chain-net b/libdap-stream-ch-chain-net index 6875d05d0d3c3da2c9562b4840f48a5267e865ca..3c768e4b51cd4dc87893769ee0693992138be675 160000 --- a/libdap-stream-ch-chain-net +++ b/libdap-stream-ch-chain-net @@ -1 +1 @@ -Subproject commit 6875d05d0d3c3da2c9562b4840f48a5267e865ca +Subproject commit 3c768e4b51cd4dc87893769ee0693992138be675 diff --git a/src/libdap-chain-python.c b/src/libdap-chain-python.c index 6d04a59f6fd6f20192c01651a43cd37338229d18..3e840db78859c41bf08f6438042d9802a44817d5 100644 --- a/src/libdap-chain-python.c +++ b/src/libdap-chain-python.c @@ -15,7 +15,7 @@ PyObject *dap_chain_find_by_id_py(PyObject *self, PyObject *args){ if (!PyArg_ParseTuple(args, "O|O", &obj_net_id, &obj_chain_id)) return NULL; PyObject *new_obj = _PyObject_New(&dapChainObject_dapChainType); - ((PyDapChainObject*)new_obj)->chain_t = dap_chain_find_by_id(((PyDapChainNetIdObject*)obj_net_id)->net_id, ((PyDapChainIdObject*)obj_chain_id)->id); + ((PyDapChainObject*)new_obj)->chain_t = dap_chain_find_by_id(((PyDapChainNetIdObject*)obj_net_id)->net_id, ((PyDapChainIDObject*)obj_chain_id)->chain_id); return Py_BuildValue("O", &new_obj); } diff --git a/src/wrapping_dap_chain_common.c b/src/wrapping_dap_chain_common.c deleted file mode 100644 index dfbfa9c862575554f9e1a8e1dde31d44e3119fab..0000000000000000000000000000000000000000 --- a/src/wrapping_dap_chain_common.c +++ /dev/null @@ -1,56 +0,0 @@ -#include "wrapping_dap_chain_common.h" - -PyObject *dap_chain_hash_slow_to_str_py(PyObject *self, PyObject *args){ - PyObject *hashSlow; - char *str; - size_t strMax; - if (!PyArg_ParseTuple(args, "O|s|n", &hashSlow, &str, &strMax)) - return NULL; - size_t result = dap_chain_hash_slow_to_str(((PyDapChainHashSlowObject*)hashSlow)->hash_slow, str, strMax); - return PyLong_FromSize_t(result); -} - -PyObject *dap_chain_str_to_hash_fast_py(PyObject *self, PyObject *args){ - const char *hashStr; - PyObject *hashFast; - if (!PyArg_ParseTuple(args, "s|O", &hashStr, &hashFast)) - return NULL; - int result = dap_chain_str_to_hash_fast(hashStr, ((PyDapChainHashFastObject*)hashFast)->hash_fast); - return PyLong_FromLong(result); -} - -PyObject *dap_chain_addr_to_str_py(PyObject *self, PyObject *args){ - PyObject *addr; - if (!PyArg_ParseTuple(args, "O", &addr)) - return NULL; - char *result = dap_chain_addr_to_str(((PyDapChainAddrObject*)addr)->addr); - return Py_BuildValue("s", result); -} - -PyObject *dap_chain_addr_from_str_py(PyObject *self, PyObject *args){ - const char *str; - if (!PyArg_ParseTuple(args, "s", &str)) - return NULL; - PyObject *addrObject = _PyObject_New(&DapChainAddrObject_DapChainAddrObjectType); - ((PyDapChainAddrObject*)addrObject)->addr = dap_chain_addr_from_str(str); - return Py_BuildValue("O", addrObject); -} - -PyObject *dap_chain_addr_fill_py(PyObject *self, PyObject *args){ - PyObject *addr; - PyObject *key; - PyObject *net_id; - if (!PyArg_ParseTuple(args, "O|O|O", &addr, &key, &net_id)) - return NULL; - dap_chain_addr_fill(((PyDapChainAddrObject*)addr)->addr, ((PyCryptoKeyObject*)key)->key, - &(((PyDapChainNetIdObject*)net_id)->net_id)); - return PyLong_FromLong(0); -} - -PyObject *dap_chain_addr_check_sum_py(PyObject *self, PyObject *args){ - PyObject *addrObject; - if (!PyArg_ParseTuple(args, "O", &addrObject)) - return NULL; - int result = dap_chain_addr_check_sum(((PyDapChainAddrObject*)addrObject)->addr); - return PyLong_FromLong(result); -} diff --git a/src/wrapping_dap_chain_datum.c b/src/wrapping_dap_chain_datum.c deleted file mode 100644 index 05fcacf1e1eaf17cfe99dc7db002eb8d8ae74e46..0000000000000000000000000000000000000000 --- a/src/wrapping_dap_chain_datum.c +++ /dev/null @@ -1,16 +0,0 @@ -#include "wrapping_dap_chain_datum.h" - -//void PyDapChainDatumObject_dealloc(PyDapChainDatumObject* object){ -//} - -PyObject *PyDapChainDatumObject_new(PyTypeObject *type_object, PyObject *args, PyObject *kwds){ - uint16_t type_id; - PyBytesObject *bytes; - size_t data_size; - if (!PyArg_ParseTuple(args, "H|S|n", &type_id, &bytes, &data_size)) - return NULL; - PyDapChainDatumObject *obj = (PyDapChainDatumObject*)PyType_GenericNew(type_object, args, kwds); - void* bytes_v = (void *)PyBytes_AsString((PyObject*)bytes); - obj->datum = dap_chain_datum_create(type_id, bytes_v, data_size); - return (PyObject *)obj; -} diff --git a/src/wrapping_dap_chain_datum_tx.c b/src/wrapping_dap_chain_datum_tx.c deleted file mode 100644 index 8a81df217a4ab0721f4e8762cf9e2223071db4ed..0000000000000000000000000000000000000000 --- a/src/wrapping_dap_chain_datum_tx.c +++ /dev/null @@ -1,172 +0,0 @@ -#include "wrapping_dap_chain_datum_tx.h" - -/* DAP chain tx iter type */ - -PyObject *TX_ITEM_TYPE_IN_PY(void){ - return PyLong_FromLong(TX_ITEM_TYPE_IN); -} -PyObject *TX_ITEM_TYPE_OUT_PY(void){ - return PyLong_FromLong(TX_ITEM_TYPE_OUT); -} -PyObject *TX_ITEM_TYPE_PKEY_PY(void){ - return PyLong_FromLong(TX_ITEM_TYPE_PKEY); -} -PyObject *TX_ITEM_TYPE_SIG_PY(void){ - return PyLong_FromLong(TX_ITEM_TYPE_SIG); -} -PyObject *TX_ITEM_TYPE_TOKEN_PY(void){ - return PyLong_FromLong(TX_ITEM_TYPE_TOKEN); -} -PyObject *TX_ITEM_TYPE_IN_COND_PY(void){ - return PyLong_FromLong(TX_ITEM_TYPE_IN_COND); -} -PyObject *TX_ITEM_TYPE_OUT_COND_PY(void){ - return PyLong_FromLong(TX_ITEM_TYPE_OUT_COND); -} -PyObject *TX_ITEM_TYPE_RECEIPT_PY(void){ - return PyLong_FromLong(TX_ITEM_TYPE_RECEIPT); -} - -/* -------------------------------------- */ - -/* DAP chain datum tx */ -PyObject *PyDapChainDatumTxObject_create(PyTypeObject *type_object, PyObject *args, PyObject *kwds){ - PyDapChainDatumTxObject *obj = (PyDapChainDatumTxObject*)PyType_GenericNew(type_object, args, kwds); - obj->datum_tx = dap_chain_datum_tx_create(); - return (PyObject *)obj; -} -void PyDapChainDatumTxObject_delete(PyDapChainDatumTxObject* datumTx){ - dap_chain_datum_tx_delete(datumTx->datum_tx); - Py_TYPE(datumTx)->tp_free((PyObject*)datumTx); -} - -PyObject *dap_chain_datum_tx_get_size_py(PyObject *self, PyObject *args){ - size_t size = dap_chain_datum_tx_get_size(((PyDapChainDatumTxObject*)self)->datum_tx); - return PyLong_FromSize_t(size); -} -PyObject *dap_chain_datum_tx_add_item_py(PyObject *self, PyObject *args){ - PyObject *in_obj; - u_int8_t *a_item; - if (!PyArg_ParseTuple(args, "O|b", &in_obj, &a_item)) - return NULL; - dap_chain_datum_tx_t **txs = PyListToDapChainDatumTxArray(in_obj); - int res = dap_chain_datum_tx_add_item(txs, a_item); - if (res == -1){ - return NULL; - } else { - PyObject *out = DapChainDatumTxArrayToPyList(txs); - return Py_BuildValue("O", out); - } -} -PyObject *dap_chain_datum_tx_add_in_item_py(PyObject *self, PyObject *args){ - PyObject *in_obj_datum_txs; - PyObject *in_obj_hash_fast; - uint32_t in_tx_out_pref_idx; - 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, - in_tx_out_pref_idx); - if (res == -1){ - return NULL; - } else { - PyObject *out = DapChainDatumTxArrayToPyList(a_txs); - return Py_BuildValue("O", out); - } -} -PyObject *dap_chain_datum_tx_add_out_item_py(PyObject *self, PyObject *args){ - PyObject *in_obj_datum_txs; - PyObject *in_addr; - uint64_t value; - if (!PyArg_ParseTuple(args, "O|O|k", &in_obj_datum_txs, &in_addr, value)) - return NULL; - dap_chain_datum_tx_t **txs = PyListToDapChainDatumTxArray(in_obj_datum_txs); - int res = dap_chain_datum_tx_add_out_item(txs, ((PyDapChainAddrObject*)in_addr)->addr, value); - if (res == -1){ - return NULL; - } else { - PyObject *out = DapChainDatumTxArrayToPyList(txs); - return Py_BuildValue("O", out); - } -} -PyObject *dap_chain_datum_tx_add_out_cond_item_py(PyObject *self, PyObject *args){ - PyObject *obj_txs; - PyObject *obj_key; - PyObject *obj_addr; - uint64_t value; - PyBytesObject *bytes_cond; - size_t cond_size; - if (!PyArg_ParseTuple(args, "O|O|O|k|S|n", &obj_txs, &obj_key, &obj_addr, &value, &bytes_cond, &cond_size)) - return NULL; - dap_chain_datum_tx_t **txs = PyListToDapChainDatumTxArray(obj_txs); - void *cond = PyBytes_AsString((PyObject *)bytes_cond); - - int res = dap_chain_datum_tx_add_out_cond_item(txs, ((PyCryptoKeyObject*)obj_key)->key, - ((PyDapChainAddrObject*)obj_addr)->addr, value, cond, cond_size); - if (res == -1){ - return NULL; - } else { - PyObject *out = DapChainDatumTxArrayToPyList(txs); - return Py_BuildValue("O", out); - } -} -PyObject *dap_chain_datum_tx_add_sign_item_py(PyObject *self, PyObject *args){ - PyObject *obj_txs; - PyObject *obj_key; - if (!PyArg_ParseTuple(args, "O|O", &obj_txs, &obj_key)) - return NULL; - dap_chain_datum_tx_t **txs = PyListToDapChainDatumTxArray(obj_txs); - int res = dap_chain_datum_tx_add_sign_item(txs, ((PyCryptoKeyObject*)obj_key)->key); - if (res == -1){ - return NULL; - } else { - PyObject *out = DapChainDatumTxArrayToPyList(txs); - return Py_BuildValue("O", out); - } -} -PyObject *dap_chain_datum_tx_verify_sign_py(PyObject *self, PyObject *args){ - int res = dap_chain_datum_tx_verify_sign(((PyDapChainDatumTxObject*)self)->datum_tx); - return PyLong_FromLong(res); -} - -static dap_chain_datum_tx_t **PyListToDapChainDatumTxArray(PyObject *a_in_obj){ - Py_ssize_t size = PyList_Size(a_in_obj); - dap_chain_datum_tx_t **txs = calloc(sizeof(dap_chain_datum_tx_t), (size_t)size); - for (Py_ssize_t i = 0; i < size;i++){ - txs[i] = ((PyDapChainDatumTxObject*)PyList_GetItem(a_in_obj, i))->datum_tx; - } - return txs; -} - -static PyObject* DapChainDatumTxArrayToPyList(dap_chain_datum_tx_t** datum_txs){ - size_t len = sizeof(datum_txs) / sizeof(datum_txs[0]); - PyObject* list = PyList_New((Py_ssize_t)len); - for (size_t i=0; i < len; i++){ - PyObject *obj = _PyObject_New(&DapChainDatumTx_DapChainDatumTxObjectType); - ((PyDapChainDatumTxObject*)obj)->datum_tx = datum_txs[i]; - PyList_Append(list, obj); - } - return list; -} - -dap_chain_tx_out_cond_t **PyListToDapChainTxOutCond(PyObject *list){ - Py_ssize_t size = PyList_Size(list); - dap_chain_tx_out_cond_t **out_conds = calloc(sizeof(dap_chain_tx_out_cond_t), (size_t)size); - for (Py_ssize_t i=0; i < size; i++){ - out_conds[i] = ((PyDapChainTxOutCondObject*)PyList_GetItem(list, i))->out_cond; - } - return out_conds; -} - -PyObject *DapChainTxOutCondObjectToPyList(dap_chain_tx_out_cond_t **out_cond){ - size_t len = sizeof(out_cond) / sizeof(out_cond[0]); - PyObject *list = PyList_New((Py_ssize_t)len); - for (size_t i=0; i< len;i++ ){ - PyObject *obj = _PyObject_New(&DapChainTxOutCond_DapChainTxOutCondObjectType); - ((PyDapChainTxOutCondObject*)obj)->out_cond = out_cond[i]; - PyList_Append(list, obj); - } - return list; -} - -/* -------------------------------------- */ diff --git a/src/wrapping_dap_chain_ledger.c b/src/wrapping_dap_chain_ledger.c index d4cbc2dc0021fd206dc8c48f07b6769d248e7ddd..befafc134094f8beefe04d56b35e8b2a050842eb 100644 --- a/src/wrapping_dap_chain_ledger.c +++ b/src/wrapping_dap_chain_ledger.c @@ -18,15 +18,15 @@ PyObject *dap_chain_ledger_set_local_cell_id_py(PyObject *self, PyObject *args){ if (!PyArg_ParseTuple(args, "O", &obj_local_cell_id)) return NULL; dap_chain_ledger_set_local_cell_id(((PyDapChainLedgerObject*)self)->ledger, - ((PyDapChainCellIdObject*)obj_local_cell_id)->id); + *(((PyDapChainCellIDObject*)obj_local_cell_id)->cell_id)); return PyLong_FromLong(0); } PyObject *dap_chain_node_datum_tx_calc_hash_py(PyObject *self, PyObject *args){ PyObject *obj_tx; if (!PyArg_ParseTuple(args, "O", &obj_tx)) return NULL; - PyObject *obj_h_fast = _PyObject_New(&DapChainHashFastObject_DapChainHashFastObjectType); - ((PyDapChainHashFastObject*)obj_h_fast)->hash_fast = dap_chain_node_datum_tx_calc_hash(((PyDapChainDatumTxObject*)obj_tx)->datum_tx); + PyObject *obj_h_fast = _PyObject_New(&DapHashFastObject_DapHashFastObjectType); + ((PyDapHashFastObject*)obj_h_fast)->hash_fast = dap_chain_node_datum_tx_calc_hash(((PyDapChainDatumTxObject*)obj_tx)->datum_tx); return Py_BuildValue("O", obj_h_fast); } @@ -62,7 +62,7 @@ PyObject *dap_chain_ledger_token_emission_find_py(PyObject *self, PyObject *args return NULL; PyObject *token_emission = _PyObject_New(&DapChainDatumTokenEmission_DapChainDatumTokenEmissionObjectType); ((PyDapChainDatumTokenEmissionObject*)token_emission)->token_emission = dap_chain_ledger_token_emission_find( - ((PyDapChainLedgerObject*)self)->ledger, token_ticker, ((PyDapChainHashFastObject*)h_fast)->hash_fast); + ((PyDapChainLedgerObject*)self)->ledger, token_ticker, ((PyDapHashFastObject*)h_fast)->hash_fast); return Py_BuildValue("O", &token_emission); } PyObject *dap_chain_ledger_tx_get_token_ticker_by_hash_py(PyObject *self, PyObject *args){ @@ -142,7 +142,7 @@ PyObject *dap_chain_ledger_tx_remove_py(PyObject *self, PyObject *args){ PyObject *obj_h_fast; if (!PyArg_ParseTuple(args, "O", &obj_h_fast)) return NULL; - int res = dap_chain_ledger_tx_remove(((PyDapChainLedgerObject*)self)->ledger, ((PyDapChainHashFastObject*)obj_h_fast)->hash_fast); + int res = dap_chain_ledger_tx_remove(((PyDapChainLedgerObject*)self)->ledger, ((PyDapHashFastObject*)obj_h_fast)->hash_fast); return PyLong_FromLong(res); } PyObject *dap_chain_ledger_purge_py(PyObject *self, PyObject *args){ @@ -165,7 +165,7 @@ PyObject *dap_chain_ledger_tx_hash_is_used_out_item_py(PyObject *self, PyObject int idx_out; if (!PyArg_ParseTuple(args, "O|i", &obj_h_fast, &idx_out)) return NULL; - bool res = dap_chain_ledger_tx_hash_is_used_out_item(((PyDapChainLedgerObject*)self)->ledger, ((PyDapChainHashFastObject*)obj_h_fast)->hash_fast, idx_out); + bool res = dap_chain_ledger_tx_hash_is_used_out_item(((PyDapChainLedgerObject*)self)->ledger, ((PyDapHashFastObject*)obj_h_fast)->hash_fast, idx_out); if (res) return Py_BuildValue("O", Py_True); else @@ -192,7 +192,7 @@ PyObject *dap_chain_ledger_tx_find_by_hash_py(PyObject *self, PyObject *args){ if (!PyArg_ParseTuple(args, "O", &h_fast)) return NULL; PyObject *res = _PyObject_New(&DapChainDatumTx_DapChainDatumTxObjectType); - ((PyDapChainDatumTxObject*)res)->datum_tx = dap_chain_ledger_tx_find_by_hash(((PyDapChainLedgerObject*)self)->ledger, ((PyDapChainHashFastObject*)h_fast)->hash_fast); + ((PyDapChainDatumTxObject*)res)->datum_tx = dap_chain_ledger_tx_find_by_hash(((PyDapChainLedgerObject*)self)->ledger, ((PyDapHashFastObject*)h_fast)->hash_fast); return Py_BuildValue("O", res); } PyObject *dap_chain_ledger_tx_find_by_addr_py(PyObject *self, PyObject *args){ @@ -202,7 +202,7 @@ PyObject *dap_chain_ledger_tx_find_by_addr_py(PyObject *self, PyObject *args){ if (!PyArg_ParseTuple(args, "s|O|O", &token, &addr, &first_hash)) return NULL; PyObject *res = _PyObject_New(&DapChainDatumTx_DapChainDatumTxObjectType); - ((PyDapChainDatumTxObject*)res)->datum_tx = dap_chain_ledger_tx_find_by_addr(((PyDapChainLedgerObject*)self)->ledger, token, ((PyDapChainAddrObject*)addr)->addr, ((PyDapChainHashFastObject*)first_hash)->hash_fast); + ((PyDapChainDatumTxObject*)res)->datum_tx = dap_chain_ledger_tx_find_by_addr(((PyDapChainLedgerObject*)self)->ledger, token, ((PyDapChainAddrObject*)addr)->addr, ((PyDapHashFastObject*)first_hash)->hash_fast); return Py_BuildValue("O", res); } PyObject *dap_chain_ledger_tx_find_by_pkey_py(PyObject *self, PyObject *args){ @@ -212,7 +212,7 @@ PyObject *dap_chain_ledger_tx_find_by_pkey_py(PyObject *self, PyObject *args){ if (!PyArg_ParseTuple(args, "s|n|O", &p_key, &p_key_size, &obj_first_hash)) return NULL; PyObject *res = _PyObject_New(&DapChainDatumTx_DapChainDatumTxObjectType); - ((PyDapChainDatumTxObject*)res)->datum_tx = dap_chain_ledger_tx_find_by_pkey(((PyDapChainLedgerObject*)self)->ledger, p_key, p_key_size, ((PyDapChainHashFastObject*)obj_first_hash)->hash_fast); + ((PyDapChainDatumTxObject*)res)->datum_tx = dap_chain_ledger_tx_find_by_pkey(((PyDapChainLedgerObject*)self)->ledger, p_key, p_key_size, ((PyDapHashFastObject*)obj_first_hash)->hash_fast); return Py_BuildValue("O", res); } PyObject *dap_chain_ledger_tx_cache_find_out_cond_py(PyObject *self, PyObject *args){ @@ -221,7 +221,7 @@ PyObject *dap_chain_ledger_tx_cache_find_out_cond_py(PyObject *self, PyObject *a if (!PyArg_ParseTuple(args, "O|O", &obj_addr, &obj_first_hash)) return NULL; PyObject *res = _PyObject_New(&DapChainDatumTx_DapChainDatumTxObjectType); - ((PyDapChainDatumTxObject*)res)->datum_tx = dap_chain_ledger_tx_cache_find_out_cond(((PyDapChainLedgerObject*)self)->ledger, ((PyDapChainAddrObject*)obj_addr)->addr, ((PyDapChainHashFastObject*)obj_first_hash)->hash_fast); + ((PyDapChainDatumTxObject*)res)->datum_tx = dap_chain_ledger_tx_cache_find_out_cond(((PyDapChainLedgerObject*)self)->ledger, ((PyDapChainAddrObject*)obj_addr)->addr, ((PyDapHashFastObject*)obj_first_hash)->hash_fast); return Py_BuildValue("O", res); } PyObject *dap_chain_ledger_tx_cache_get_out_cond_value_py(PyObject *self, PyObject *args){