diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..9696e2ecafd15e4e5c1dd664880bb536f22f46fc --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +build/ +_skbuild/ +dist/ +CellFrame.egg-info/ +*.text + diff --git a/.gitmodules b/.gitmodules index d3c26ccb903d2d8ccd29aca2ebd8d92380ec38bb..42c99228152869b99bc67f9f17620324b3a6d622 100644 --- a/.gitmodules +++ b/.gitmodules @@ -76,3 +76,9 @@ [submodule "libdap-server-http-db"] path = libdap-server-http-db url = http://gitlab.demlabs.net/cellframe/libdap-server-http-db.git +[submodule "libdap-chain-net-python"] + path = libdap-chain-net-python + url = https://gitlab.demlabs.net/cellframe/libdap-chain-net-python.git +[submodule "libdap-client-python"] + path = libdap-client-python + url = https://gitlab.demlabs.net/cellframe/libdap-client-python.git diff --git a/CMakeLists.txt b/CMakeLists.txt index ef90638032a28dffab49ad58466a4148a7e56d06..cc2f3eff99a060d0244d9f924896722eddfbd489 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -61,10 +61,18 @@ add_subdirectory(libdap-crypto-python) target_compile_options(dap_crypto_python_module PRIVATE "-fpic" ) add_subdirectory(libdap-server-http-db) target_compile_options(dap_server_http_db PRIVATE "-fpic") +add_subdirectory(libdap-chain-net-python) +target_compile_options(dap_chain_net_python_module PRIVATE "-fpic") +target_compile_options(dap_enc_server PRIVATE "-fpic") +target_compile_options(dap_http_server PRIVATE "-fpic") +target_compile_options(dap_session PRIVATE "-fpic") add_subdirectory(libdap-chain-python) target_compile_options(dap_chain_python_module PRIVATE "-fpic") +add_subdirectory(libdap-client-python) +target_compile_options(dap_client_python_module PRIVATE "-fpic") + file(GLOB PYTHON_CELLFRAME_SRCS src/*.c) file(GLOB PYTHON_CELLFRAME_HEADERS include/*.h) @@ -118,7 +126,8 @@ endif() target_link_libraries(${PROJECT_NAME} dap_python_module dap_crypto_python_module DapServerCore - dap_chain_python_module + dap_chain_python_module + dap_chain_net_python_module ) #target_link_libraries(${PROJECT_NAME} dap_core dap_crypto) diff --git a/include/python-cellframe.h b/include/python-cellframe.h index cc02a5fb9e46238eabfee7714e6d8f2462a7b93f..69e90ba4a667e85c2c544a6867e64bdc8b8cb58d 100644 --- a/include/python-cellframe.h +++ b/include/python-cellframe.h @@ -18,6 +18,14 @@ #include "wrapping_dap_chain_datum_tx.h" #include "wrapping_dap_chain_ledger.h" // ============ +// === Chain net === +#include "libdap_chain_net_python.h" +#include "wrapping_dap_chain_net_node.h" +#include "wrapping_dap_chain_net_node_cli.h" +#include "wrapping_dap_chain_net_node_client.h" +#include "wrapping_dap_chain_net_node_info.h" +#include "wrapping_dap_chain_net_state.h" +// ============ #include "dap_common.h" diff --git a/libdap-chain-net-python b/libdap-chain-net-python new file mode 160000 index 0000000000000000000000000000000000000000..bfaba654af5353bf3cb1986f351ddce5106d7a84 --- /dev/null +++ b/libdap-chain-net-python @@ -0,0 +1 @@ +Subproject commit bfaba654af5353bf3cb1986f351ddce5106d7a84 diff --git a/libdap-client-python b/libdap-client-python new file mode 160000 index 0000000000000000000000000000000000000000..b1918f7c8378d1e03e2915565c3764c4a803b2b6 --- /dev/null +++ b/libdap-client-python @@ -0,0 +1 @@ +Subproject commit b1918f7c8378d1e03e2915565c3764c4a803b2b6 diff --git a/src/python-cellframe.c b/src/python-cellframe.c index 5e525c79b930e15a0aaa191c6d470b4cb32c87c4..432eab7d2baf8a1c20cbd50687d3997933227811 100644 --- a/src/python-cellframe.c +++ b/src/python-cellframe.c @@ -143,7 +143,15 @@ PyMODINIT_FUNC PyInit_CellFrame(void){ PyType_Ready(&DapChainTxType_DapChainTxCondTypeObject) < 0 || PyType_Ready(&DapChainDatumTx_DapChainDatumTxObjectType) < 0 || PyType_Ready(&DapChainTxOutCond_DapChainTxOutCondObjectType) < 0 || - PyType_Ready(&DapChainLedger_DapChainLedgerType) < 0 + PyType_Ready(&DapChainLedger_DapChainLedgerType) < 0 || + // ============= + // === Chain net === + PyType_Ready(&DapChainNetObject_DapChainNetObjectType) < 0 || + PyType_Ready(&DapChainNodeCliObject_DapChainNodeCliObjectType) < 0 || + PyType_Ready(&DapChainNodeClientObject_DapChainNodeClientObjectType) < 0 || + PyType_Ready(&DapChainNodeInfoObject_DapChainNodeInfoObjectType) < 0 || + PyType_Ready(&DapChainNetNodeObject_DapChainNetNodeObjectType) < 0 || + PyType_Ready(&DapChainNetStateObject_DapChainNetStateObjectType) < 0 // ============= ) return NULL; @@ -199,6 +207,14 @@ PyMODINIT_FUNC PyInit_CellFrame(void){ PyModule_AddObject(module, "ChainTxOutCond", (PyObject*)&DapChainTxOutCond_DapChainTxOutCondObjectType); PyModule_AddObject(module, "ChainLedger", (PyObject*)&DapChainLedger_DapChainLedgerType); // ============= + // === Chain net === + PyModule_AddObject(module, "ChainNet", (PyObject*)&DapChainNetObject_DapChainNetObjectType); + PyModule_AddObject(module, "ChainNodeCLI", (PyObject*)&DapChainNodeCliObject_DapChainNodeCliObjectType); + PyModule_AddObject(module, "ChainNodeClient", (PyObject*)&DapChainNodeClientObject_DapChainNodeClientObjectType); + PyModule_AddObject(module, "ChainNodeInfo", (PyObject*)&DapChainNodeInfoObject_DapChainNodeInfoObjectType); + PyModule_AddObject(module, "ChainNetNode", (PyObject*)&DapChainNetNodeObject_DapChainNetNodeObjectType); + PyModule_AddObject(module, "ChainNetState", (PyObject*)&DapChainNetStateObject_DapChainNetStateObjectType); + // ============= return module;