diff --git a/.github/workflows/build-docker.yml b/.github/workflows/build-docker.yml
index 53e63e03..ba7ac4bf 100644
--- a/.github/workflows/build-docker.yml
+++ b/.github/workflows/build-docker.yml
@@ -43,7 +43,7 @@ jobs:
DOCKER_BUILD_SUMMARY: false
DOCKER_BUILD_RECORD_UPLOAD: false
with:
- file: utils/docker/images/lthn-chain/Dockerfile
+ file: utils/docker/lthn-chain/Dockerfile
context: ${{ github.workspace }}
push: true
build-args: |
diff --git a/CMakeLists.txt b/CMakeLists.txt
index a2268001..f898ec73 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -182,7 +182,7 @@ else()
endif()
set(C_WARNINGS "-Waggregate-return -Wnested-externs -Wstrict-prototypes -Wno-comment")
set(CXX_WARNINGS "-Wno-reorder -Wno-missing-field-initializers")
- try_compile(STATIC_ASSERT_RES "${CMAKE_CURRENT_BINARY_DIR}/static-assert" "${CMAKE_CURRENT_SOURCE_DIR}/utils/test-static-assert.c" COMPILE_DEFINITIONS "-std=c++14")
+ try_compile(STATIC_ASSERT_RES "${CMAKE_CURRENT_BINARY_DIR}/static-assert" "${CMAKE_CURRENT_SOURCE_DIR}/cmake/test-static-assert.c" COMPILE_DEFINITIONS "-std=c++14")
if(STATIC_ASSERT_RES)
set(STATIC_ASSERT_FLAG "")
else()
diff --git a/CMakePresets.json b/CMakePresets.json
index 07cb3684..80247a7d 100644
--- a/CMakePresets.json
+++ b/CMakePresets.json
@@ -18,7 +18,7 @@
"cacheVariables": {
"TESTNET": "ON",
"CMAKE_BUILD_TYPE": "Release",
- "CMAKE_PROJECT_TOP_LEVEL_INCLUDES":"cmake/conan_provider.cmake"
+ "CMAKE_PROJECT_TOP_LEVEL_INCLUDES":"cmake/ConanProvider.cmake"
}
},
{
@@ -30,7 +30,7 @@
"cacheVariables": {
"TESTNET": "OFF",
"CMAKE_BUILD_TYPE": "Release",
- "CMAKE_PROJECT_TOP_LEVEL_INCLUDES":"cmake/conan_provider.cmake"
+ "CMAKE_PROJECT_TOP_LEVEL_INCLUDES":"cmake/ConanProvider.cmake"
}
}
],
diff --git a/Makefile b/Makefile
index 60068533..c0de80b1 100644
--- a/Makefile
+++ b/Makefile
@@ -140,7 +140,7 @@ test-debug:
# allowing this target to error quietly saves cross brwoser file detection
conan-get:
- cmake -P cmake/GetConan.cmake
+ cmake -P cmake/ConanGet.cmake
(CONAN_HOME=$(CONAN_CACHE) $(CONAN_EXECUTABLE) remote add conan_build $(CONAN_URL) && \
CONAN_HOME=$(CONAN_CACHE) $(CONAN_EXECUTABLE) remote login conan_build $(CONAN_USER) -p $(CONAN_PASSWORD)) || true
@@ -157,7 +157,7 @@ docs-dev: configure
clean:
@cmake -P cmake/CleanBuild.cmake
-clean-build:
+clean-build: clean
rm -rf build
tags:
diff --git a/README.md b/README.md
index dcee9f03..f6607c63 100644
--- a/README.md
+++ b/README.md
@@ -1,196 +1,109 @@
-[](https://scan.coverity.com/projects/zanoproject)
-[](https://discord.gg/wE3rmYY)
+[](https://discord.gg/pfgT2Kz)
-## Cloning
+Web2 Website: https://lt.hn/
-Be sure to clone the repository properly:\
-`$ git clone --recursive https://github.com/hyle-team/zano.git`
-
-# Building
---------
+Web3 Network Gateway [HNS](https://handshake.org): [https://lthn](https://www.namebase.io/domains/lthn)
+
_(our chain aliases come with a working Web2(`*.lt.hn`)+Web3(`*.lthn`) domain name)_
### Dependencies
-| component / version | minimum
(not recommended but may work) | recommended | most recent of what we have ever tested |
-|-----------------------------------------------------------------------------------------------------|--------------------------------------------|----------------|-----------------------------------------|
-| gcc (Linux) | 8.4.0 | 9.4.0 | 12.3.0 |
-| llvm/clang (Linux) | UNKNOWN | 7.0.1 | 8.0.0 |
-| [MSVC](https://visualstudio.microsoft.com/downloads/) (Windows) | 2017 (15.9.30) | 2022 (17.11.5) | 2022 (17.12.3) |
-| [XCode](https://developer.apple.com/downloads/) (macOS) | 12.3 | 14.3 | 15.2 |
-| [CMake](https://cmake.org/download/) | 3.26.3 | 3.26.3 | 3.31.6 |
-| [Boost](https://www.boost.org/users/download/) | 1.75 | 1.84 | 1.84 |
-| [OpenSSL](https://www.openssl.org/source/) [(win)](https://slproweb.com/products/Win32OpenSSL.html) | 1.1.1n | 1.1.1w | 3.4 |
-| [Qt](https://download.qt.io/archive/qt/) (*only for GUI*) | 6.8.3 | 6.8.3 | 6.8.3 |
+| component / version | minimum
(not recommended but may work) | recommended | most recent of what we have ever tested |
+|-----------------------------------------------------------------------------|--------------------------------------------|----------------|-----------------------------------------|
+| gcc (Linux) | 8.4.0 | 9.4.0 | 12.3.0 |
+| llvm/clang (Linux) | UNKNOWN | 7.0.1 | 8.0.0 |
+| [MSVC](https://visualstudio.microsoft.com/downloads/) (Windows) | 2017 (15.9.30) | 2022 (17.11.5) | 2022 (17.12.3) |
+| [XCode](https://developer.apple.com/downloads/) (macOS) | 12.3 | 14.3 | 15.2 |
+| [CMake](https://cmake.org/download/) | 3.26.3 | 3.26.3 | 3.31.6 |
-Note:\
-[*server version*] denotes steps required for building command-line tools (daemon, simplewallet, etc.).\
-[*GUI version*] denotes steps required for building Zano executable with GUI.
+## Cloning
-
+Be sure to clone the repository properly, with `--recursive` flag, or you'll get angry:
+`git clone --recursive https://github.com/letheanVPN/blockchain.git`
-### Linux
+# Building
-Recommended OS versions: Ubuntu 20.04, 22.04 LTS.
+The project uses a `Makefile` that provides a simple and powerful interface for building.
+It automatically handles dependency installation with Conan and compilation with CMake.
-1. Prerequisites
+You need CMake and Make installed on your system, other than that you don't need to worry about Python, Conan, Boost, OpenSSL, or any other dependencies.
- [*server version*]
-
- sudo apt-get install -y build-essential g++ curl autotools-dev libicu-dev libbz2-dev cmake git screen checkinstall zlib1g-dev libssl-dev bzip2
-
- [*GUI version*]
+The final packages are created as they are due to a historical distribution method used in china: USB Stick, CD, DVD, etc.
- sudo apt-get install -y build-essential g++ python-dev autotools-dev libicu-dev libbz2-dev cmake git screen checkinstall zlib1g-dev libssl-dev bzip2 mesa-common-dev libglu1-mesa-dev
+We use CPack, so our packages are self-contained, have searchable HTML documentation, and are ready to be installed on any system.
- Make sure you have correct versions installed (see 'Dependencies' section above):
+To skip the packing step, use `make build` as defined in the section below for Advanced Build Customization
- cmake --version && gcc --version
-
+## Simple Workflow Builds (Recommended)
-3. Clone Zano into a local folder\
- (If for some reason you need to use alternative Zano branch, change 'master' to the required branch name.)
-
- git clone --recursive https://github.com/hyle-team/zano.git -b master
+For most use cases, these two commands are all you need. They handle the entire build process from start to finish.
- In the following steps we assume that you cloned Zano into '~/zano' folder in your home directory.
+* **Build for Mainnet:**
+ ```shell
+ make mainnet
+ ```
- 4. Download and build Boost\
- (Assuming you have cloned Zano into the 'zano' folder. If you used a different location for Zano, **edit line 4** accordingly.)
+* **Build for Testnet:**
+ ```shell
+ make testnet
+ ```
- curl -OL https://archives.boost.io/release/1.84.0/source/boost_1_84_0.tar.bz2
- echo "cc4b893acf645c9d4b698e9a0f08ca8846aa5d6c68275c14c3e7949c24109454 boost_1_84_0.tar.bz2" | shasum -c && tar -xjf boost_1_84_0.tar.bz2
- rm boost_1_84_0.tar.bz2 && cd boost_1_84_0
- ./bootstrap.sh --with-libraries=system,filesystem,thread,date_time,chrono,regex,serialization,atomic,program_options,locale,timer,log
- ./b2 && cd ..
- Make sure that you see "The Boost C++ Libraries were successfully built!" message at the end.
+## Creating Release Packages
- 5. Install Qt\
- (*GUI version only, skip this step if you're building server version*)
+To create distributable packages (e.g., `.zip`, `.msi`, `.pkg`, `.deb`), run the `release` target. This will build the project, build the documentation, and then package everything.
- [*GUI version*]
+ ```shell
+ make release TESTNET=1
+ ```
+The final packages will be located in the `build/packages/` directory
- curl -L -O https://download.qt.io/official_releases/online_installers/qt-online-installer-linux-x64-online.run &&
- chmod u+x qt-online-installer-linux-x64-online.run
- ./qt-online-installer-linux-x64-online.run \
- --accept-licenses \
- --default-answer \
- --confirm-command install \
- qt.qt6.683.linux_gcc_64 \
- qt.qt6.683.addons.qt5compat.linux_gcc_64 \
- qt.qt6.683.addons.qtpositioning.linux_gcc_64 \
- qt.qt6.683.addons.qtwebchannel.linux_gcc_64 \
- qt.qt6.683.addons.qtwebsockets.linux_gcc_64 \
- qt.qt6.683.addons.qtwebengine.linux_gcc_64 \
- qt.qt6.683.addons.qtwebview.linux_gcc_64
- This will download the online installer and perform an unattended installation with the Chromium-based WebEngine
+## Advanced Build Customization (Makefile Variables)
+For advanced use cases, you can override variables in the `Makefile` to customize the build process.
-6. Install OpenSSL
+* **Build a `testnet` version:**
+ ```shell
+ make build TESTNET=1
+ ```
+* **Build a statically-linked version:**
+ ```shell
+ make build STATIC=1
+ ```
+* **Build a Debug build with 8 compile threads:**
+ ```shell
+ make build BUILD_TYPE=Debug CPU_CORES=8
+ ```
+* **Use custom CMakePresets:**
+ ```shell
+ make build PRESET_CONFIGURE=my-config-preset PRESET_BUILD=my-build-preset
+ ```
- We recommend installing OpenSSL v1.1.1w locally unless you would like to use the same version system-wide.\
- (Assuming that `$HOME` environment variable is set to your home directory. Otherwise, edit line 4 accordingly.)
+| Variable | Description | Default Value |
+|--------------------|------------------------------------------------------------------------|-------------------------|
+| `BUILD_TYPE` | Sets the build configuration (e.g., `Release`, `Debug`). | `Release` |
+| `TESTNET` | Set to `1` to build for the test network. | `0` |
+| `STATIC` | Set to `1` to link libraries statically. | `0` |
+| `CPU_CORES` | Number of CPU cores to use for parallel compilation. | Auto-detected |
+| `BUILD_VERSION` | The version string to embed in the binaries. | `6.0.1` |
+| `BUILD_FOLDER` | The output directory for the build. | `build/release` |
+| `PRESET_CONFIGURE` | The CMake preset to use for the `configure` step. | `conan-release` |
+| `PRESET_BUILD` | The CMake preset to use for the `build` step. | `conan-release` |
+| `CONAN_CACHE` | The path for the local Conan cache, where the dependencies are stored. | `./build/sdk` |
+| `CONAN_EXECUTABLE` | The path to the usable Conan executable. | `./build/bin/conan` |
+| `CONAN_URL` | The URL for the Conan remote repository. | `artifacts.host.uk.com` |
+| `CONAN_USER` | The username for the Conan remote. | `public` |
+| `CONAN_PASSWORD` | The password for the Conan remote. | |
- curl -OL https://www.openssl.org/source/openssl-1.1.1w.tar.gz
- echo "cf3098950cb4d853ad95c0841f1f9c6d3dc102dccfcacd521d93925208b76ac8 openssl-1.1.1w.tar.gz" | shasum -c && tar xaf openssl-1.1.1w.tar.gz
- cd openssl-1.1.1w/
- ./config --prefix=$HOME/openssl --openssldir=$HOME/openssl shared zlib
- make && make test && make install && cd ..
+## Cleaning the Build Directory
+ALWAYS USE `make clean` to clean the build directory, manually deleting the `build/release`, `build/SOME_FOLDER` will cause you issues.
-7. [*OPTIONAL*] Set global environment variables for convenient use\
-For instance, by adding the following lines to `~/.bashrc`
+Our `make clean` triggers a cmake script that completely resets the build directory & dynamically added CMakePresets to its cached warm-up state,
+the selective clean script can be edited here: `cmake/CleanBuild.cmake` or directly run from the repo root `cmake -P cmake/CleanBuild.cmake`
- [*server version*]
+You can NUKE the build directory with `make clean-build` which is `rm -rf build`.
- export BOOST_ROOT=/home/user/boost_1_84_0
- export OPENSSL_ROOT_DIR=/home/user/openssl
-
-
- [*GUI version*]
-
- export BOOST_ROOT=/home/user/boost_1_84_0
- export OPENSSL_ROOT_DIR=/home/user/openssl
- export QT_PREFIX_PATH=/home/user/Qt5.11.2/5.11.2/gcc_64
-
- **NOTICE: Please edit the lines above according to your actual paths.**
-
- **NOTICE 2:** Make sure you've restarted your terminal session (by reopening the terminal window or reconnecting the server) to apply these changes.
-
-8. Build the binaries
- 1. If you skipped step 6 and did not set the environment variables:
-
- cd zano && mkdir build && cd build
- BOOST_ROOT=$HOME/boost_1_84_0 OPENSSL_ROOT_DIR=$HOME/openssl cmake ..
- make -j1 daemon simplewallet
-
- 2. If you set the variables in step 6:
-
- cd zano && mkdir build && cd build
- cmake ..
- make -j1 daemon simplewallet
-
- or simply:
-
- cd zano && make -j1
-
- **NOTICE**: If you are building on a machine with a relatively high amount of RAM or with the proper setting of virtual memory, then you can use `-j2` or `-j` option to speed up the building process. Use with caution.
-
- **NOTICE 2**: If you'd like to build binaries for the testnet, use `cmake -D TESTNET=TRUE ..` instead of `cmake ..` .
-
- 1. Build GUI:
-
- cd zano
- utils/build_script_linux.sh
-
- Look for the binaries in `build` folder
-
-
-
-### Windows
-Recommended OS version: Windows 7 x64, Windows 11 x64.
-1. Install required prerequisites (Boost, Qt, CMake, OpenSSL).
-2. Edit paths in `utils/configure_local_paths.cmd`.
-3. Run one of `utils/configure_win64_msvsNNNN_gui.cmd` according to your MSVC version.
-4. Go to the build folder and open generated Zano.sln in MSVC.
-5. Build.
-
-In order to correctly deploy Qt GUI application, you also need to do the following:
-
-6. Run `PATH_TO_QT\bin\windeployqt.exe PATH_TO_PROJECT_ROOT\build\src\Debug\Zano.exe` (choose the Debug or Release folder depending on the configuration you built).
-7. You can now run the application using one of the following options:
- * Start the program from Visual Studio
- * Run `Zano.exe --html-path=PATH_TO_HTML`, where PATH_TO_HTML is by default located at PATH_TO_PROJECT_ROOT\src\gui\qt-daemon\layout\html
- * Copy the contents of PATH_TO_PROJECT_ROOT\src\gui\qt-daemon\layout\html to a folder named "html" located in the same directory as the Zano.exe binary.
-
-
-### macOS
-Recommended OS version: macOS Big Sur 11.4 x64.
-1. Install required prerequisites.
-2. Set environment variables as stated in `utils/macosx_build_config.command`.
-3. `mkdir build`
`cd build`
`cmake ..`
`make`
-
-To build GUI application:
-
-1. Create self-signing certificate via Keychain Access:\
- a. Run Keychain Access.\
- b. Choose Keychain Access > Certificate Assistant > Create a Certificate.\
- c. Use “Zano” (without quotes) as certificate name.\
- d. Choose “Code Signing” in “Certificate Type” field.\
- e. Press “Create”, then “Done”.\
- f. Make sure the certificate was added to keychain "System". If not—move it to "System".\
- g. Double click the certificate you've just added, enter the trust section and under "When using this certificate" select "Always trust".\
- h. Unfold the certificate in Keychain Access window and double click the underlying private key "Zano". Select "Access Control" tab, then select "Allow all applications to access this item". Click "Save Changes".
-2. Revise building script, comment out unwanted steps and run it: `utils/build_script_mac_osx.sh`
-3. The application should be here: `/buid_mac_osx_64/release/src`
-
-
-
-
-## Supporting project/donations
-
-ZANO @dev
-BTC bc1qpa8w8eaehlplfepmnzpd7v9j046899nktxnkxp
-BCH qqgq078vww5exd9kt3frx6krdyznmp80hcygzlgqzd
-ETH 0x206c52b78141498e74FF074301ea90888C40c178
-XMR 45gp9WTobeB5Km3kLQgVmPJkvm9rSmg4gdyHheXqXijXYMjUY48kLgL7QEz5Ar8z9vQioQ68WYDKsQsjAEonSeFX4UeLSiX
+If you do manually delete build folders and get CMake errors (if you have compiled anything previously, you will),
+the ConanPresets.json file has entries in the `include` property, delete them all and try again.
+This happens because CMakePresets.json includes ConanPresets.json, that has the list of toolchains to use that gets populated during the CMake config step,
+when you manually delete a folder, the toolchain is now a broken path, and CMake throws a fatal error.
\ No newline at end of file
diff --git a/cmake/GetConan.cmake b/cmake/ConanGet.cmake
similarity index 99%
rename from cmake/GetConan.cmake
rename to cmake/ConanGet.cmake
index 9b7437ee..6110328e 100644
--- a/cmake/GetConan.cmake
+++ b/cmake/ConanGet.cmake
@@ -1,4 +1,4 @@
-# cmake/GetConan.cmake
+# cmake/ConanGet.cmake
# This module downloads and installs Conan if it's not found.
diff --git a/cmake/conan_provider.cmake b/cmake/ConanProvider.cmake
similarity index 99%
rename from cmake/conan_provider.cmake
rename to cmake/ConanProvider.cmake
index c524fb7f..036ede6e 100644
--- a/cmake/conan_provider.cmake
+++ b/cmake/ConanProvider.cmake
@@ -572,7 +572,7 @@ macro(conan_provide_dependency method package_name)
endif ()
if(NOT EXISTS ${CONAN_COMMAND})
message(STATUS "CMake-Conan: Local conan not found, attempting to download it.")
- execute_process(COMMAND "${CMAKE_COMMAND}" -P "${CMAKE_SOURCE_DIR}/cmake/GetConan.cmake"
+ execute_process(COMMAND "${CMAKE_COMMAND}" -P "${CMAKE_SOURCE_DIR}/cmake/ConanGet.cmake"
RESULT_VARIABLE result
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}")
if(NOT result EQUAL 0)
diff --git a/utils/test-static-assert.c b/cmake/test-static-assert.c
similarity index 100%
rename from utils/test-static-assert.c
rename to cmake/test-static-assert.c
diff --git a/conanfile.py b/conanfile.py
index ab1a89cb..69cd53e7 100644
--- a/conanfile.py
+++ b/conanfile.py
@@ -26,7 +26,9 @@ class BlockchainConan(ConanFile):
"boost/1.85.0",
"openssl/3.2.0",
"miniupnpc/2.2.5",
- "jwt-cpp/0.7.1"
+ "jwt-cpp/0.7.1",
+ "oatpp/1.3.0.latest",
+ "oatpp-swagger/1.3.0.latest"
]
def generate(self):
diff --git a/docker-compose.yml b/docker-compose.yml
index 0653393a..a55c13e9 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -5,7 +5,7 @@ services:
build:
tags:
- lthn/chain:testnet
- dockerfile: utils/docker/images/lthn-chain/Dockerfile
+ dockerfile: utils/docker/lthn-chain/Dockerfile
context: .
target: chain-service
args:
diff --git a/docs b/docs
index 12e20efc..e40a78d5 160000
--- a/docs
+++ b/docs
@@ -1 +1 @@
-Subproject commit 12e20efce7eaf51e38d8953c318633b1c5189256
+Subproject commit e40a78d5020661f05d9bae64f2edd4519d9d98b3
diff --git a/resources/Zano WP.pdf b/resources/Zano WP.pdf
deleted file mode 100644
index b62e0164..00000000
Binary files a/resources/Zano WP.pdf and /dev/null differ
diff --git a/resources/app_icon.svg b/resources/app_icon.svg
deleted file mode 100644
index d5ca861a..00000000
--- a/resources/app_icon.svg
+++ /dev/null
@@ -1,42 +0,0 @@
-
diff --git a/resources/app_icon_256.png b/resources/app_icon_256.png
deleted file mode 100644
index c2cb1525..00000000
Binary files a/resources/app_icon_256.png and /dev/null differ
diff --git a/resources/dmg_installer_bg.png b/resources/dmg_installer_bg.png
deleted file mode 100644
index ee45f1e0..00000000
Binary files a/resources/dmg_installer_bg.png and /dev/null differ
diff --git a/resources/installer_bg_164x313.bmp b/resources/installer_bg_164x313.bmp
deleted file mode 100644
index 80599afe..00000000
Binary files a/resources/installer_bg_164x313.bmp and /dev/null differ
diff --git a/resources/installer_bg_191x385.bmp b/resources/installer_bg_191x385.bmp
deleted file mode 100644
index b7b74bfe..00000000
Binary files a/resources/installer_bg_191x385.bmp and /dev/null differ
diff --git a/resources/installer_bg_246x457.bmp b/resources/installer_bg_246x457.bmp
deleted file mode 100644
index 3e20a2e9..00000000
Binary files a/resources/installer_bg_246x457.bmp and /dev/null differ
diff --git a/resources/installer_bg_328x628.bmp b/resources/installer_bg_328x628.bmp
deleted file mode 100644
index 5d7613d8..00000000
Binary files a/resources/installer_bg_328x628.bmp and /dev/null differ
diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml
deleted file mode 100644
index f27305af..00000000
--- a/snap/snapcraft.yaml
+++ /dev/null
@@ -1,75 +0,0 @@
-name: zano
-base: core18
-adopt-info: zano
-summary: "Zano coin: official wallet. Secure. Scalable. Easy to Use."
-description: |
- Zano is a scalable and secure coin, designed for use in e-commerce.
- The technology behind our blockchain provides reliability, security,
- and flexibility a perfect option for P2P transactions.
- More info: http://zano.org
-grade: stable
-confinement: strict
-
-architectures:
- - build-on: amd64
- - build-on: i386
-
-parts:
- zano:
- source: https://github.com/hyle-team/zano.git
- plugin: cmake
- override-pull: |
- snapcraftctl pull
- snapcraftctl set-version "$(git describe)"
- configflags:
- - -DBUILD_GUI=TRUE
- override-build: |
- snapcraftctl build
- mkdir -p $SNAPCRAFT_PART_INSTALL/opt/Zano
- cp $SNAPCRAFT_PART_BUILD/src/Zano $SNAPCRAFT_PART_INSTALL/opt/Zano/
- cp $SNAPCRAFT_PART_BUILD/src/simplewallet $SNAPCRAFT_PART_INSTALL/opt/Zano/
- cp $SNAPCRAFT_PART_BUILD/src/zanod $SNAPCRAFT_PART_INSTALL/opt/Zano/
- rsync -a $SNAPCRAFT_PART_SRC/src/gui/qt-daemon/html $SNAPCRAFT_PART_INSTALL/opt/Zano --exclude less --exclude package.json --exclude gulpfile.js
- build-packages:
- - make
- - g++
- - libboost-all-dev
- - qtwebengine5-dev
- - rsync
- build-attributes: [keep-execstack]
- stage-packages:
- - libboost-system1.65.1
- - libboost-filesystem1.65.1
- - libboost-thread1.65.1
- - libboost-date-time1.65.1
- - libboost-chrono1.65.1
- - libboost-regex1.65.1
- - libboost-serialization1.65.1
- - libboost-program-options1.65.1
- - libboost-locale1.65.1
-
-apps:
- zano:
- command: opt/Zano/Zano --data-dir $SNAP_USER_COMMON
- extensions:
- - kde-neon
- plugs:
- - network
- - home
- - desktop
- - opengl #for QML support
- - browser-support #for Qt WebEngine support
- - audio-playback
- - unity7 #for tray icon support
- simplewallet:
- command: opt/Zano/simplewallet
- plugs:
- - network
- - home
- zanod:
- command: opt/Zano/zanod --data-dir $SNAP_USER_COMMON
- environment:
- LC_ALL: C
- plugs:
- - network
- - network-bind
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 541dc852..2132a36a 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -85,6 +85,7 @@ INIT_SHARED_PCH()
add_subdirectory(config)
add_subdirectory(genesis)
+add_subdirectory(api)
add_library(common ${COMMON})
add_dependencies(common version config ${PCH_LIB_NAME})
diff --git a/src/api/ApiServer.hpp b/src/api/ApiServer.hpp
new file mode 100644
index 00000000..d02e4b0b
--- /dev/null
+++ b/src/api/ApiServer.hpp
@@ -0,0 +1,37 @@
+#ifndef ApiServer_hpp
+#define ApiServer_hpp
+
+#include "oatpp/web/server/HttpConnectionHandler.hpp"
+#include "oatpp/network/tcp/server/ConnectionProvider.hpp"
+#include "oatpp/core/macro/component.hpp"
+#include "oatpp-swagger/Resources.hpp"
+
+#include "oatpp/parser/json/mapping/ObjectMapper.hpp"
+#include "oatpp-swagger/Model.hpp"
+class ApiServer {
+public:
+
+ OATPP_CREATE_COMPONENT(std::shared_ptr, serverConnectionProvider)([] {
+ return oatpp::network::tcp::server::ConnectionProvider::createShared({"0.0.0.0", 8000, oatpp::network::Address::IP_4});
+ }());
+
+ OATPP_CREATE_COMPONENT(std::shared_ptr, httpRouter)([] {
+ return oatpp::web::server::HttpRouter::createShared();
+ }());
+
+ OATPP_CREATE_COMPONENT(std::shared_ptr, serverConnectionHandler)([] {
+ OATPP_COMPONENT(std::shared_ptr, router);
+ return oatpp::web::server::HttpConnectionHandler::createShared(router);
+ }());
+
+ OATPP_CREATE_COMPONENT(std::shared_ptr, apiObjectMapper)([] {
+ return oatpp::parser::json::mapping::ObjectMapper::createShared();
+ }());
+
+ OATPP_CREATE_COMPONENT(std::shared_ptr, swaggerResources)([] {
+ return oatpp::swagger::Resources::loadResources(OATPP_SWAGGER_RES_PATH);
+ }());
+
+};
+
+#endif /* ApiServer_hpp */
diff --git a/src/api/CMakeLists.txt b/src/api/CMakeLists.txt
new file mode 100644
index 00000000..cb452681
--- /dev/null
+++ b/src/api/CMakeLists.txt
@@ -0,0 +1,30 @@
+if(NOT PROJECT_NAME)
+ project(lethean-api)
+endif()
+
+find_package(oatpp 1.3.0 REQUIRED)
+if(oatpp_FOUND)
+ message(STATUS "Found oatpp version: ${oatpp_VERSION_STRING}")
+else()
+ message(FATAL_ERROR "Could not find oatpp")
+endif()
+
+find_package(oatpp-swagger 1.3.0 REQUIRED)
+if(oatpp-swagger_FOUND)
+ message(STATUS "Found oatpp-swagger version: ${oatpp-swagger_VERSION_STRING}")
+else()
+ message(FATAL_ERROR "Could not find oatpp-swagger")
+endif()
+
+add_library(lthn_api INTERFACE)
+add_library(lthn::api ALIAS lthn_api)
+
+target_include_directories(lthn_api INTERFACE ${CMAKE_CURRENT_SOURCE_DIR})
+include_directories(${oatpp_INCLUDE_DIRS})
+include_directories(${oatpp-swagger_INCLUDE_DIRS})
+add_executable(lethean-api main.cpp)
+
+target_link_libraries(lethean-api PRIVATE lthn::api PUBLIC oatpp::oatpp oatpp::oatpp-swagger)
+
+add_definitions(-DOATPP_SWAGGER_RES_PATH="${oatpp-swagger_INCLUDE_DIRS}/../bin/oatpp-swagger/res")
+#add_subdirectory(tests)
diff --git a/src/api/controller/RootController.hpp b/src/api/controller/RootController.hpp
new file mode 100644
index 00000000..817fa833
--- /dev/null
+++ b/src/api/controller/RootController.hpp
@@ -0,0 +1,34 @@
+#ifndef RootController_hpp
+#define RootController_hpp
+
+#include "./info/InfoController.hpp"
+#include "../dto/DTOs.hpp"
+
+#include "oatpp/web/server/api/ApiController.hpp"
+#include "oatpp/core/macro/codegen.hpp"
+#include "oatpp/core/macro/component.hpp"
+
+#include OATPP_CODEGEN_BEGIN(ApiController)
+
+class RootController : public oatpp::web::server::api::ApiController {
+private:
+ std::shared_ptr m_infoController;
+public:
+ RootController(OATPP_COMPONENT(std::shared_ptr, objectMapper))
+ : oatpp::web::server::api::ApiController(objectMapper),
+ m_infoController(std::make_shared(objectMapper))
+ {}
+public:
+
+
+ ENDPOINT("GET", "/hello", root) {
+ auto dto = MyDto::createShared();
+ dto->message = "Hello World!";
+ return createDtoResponse(Status::CODE_200, dto);
+ }
+
+};
+
+#include OATPP_CODEGEN_END(ApiController)
+
+#endif /* RootController_hpp */
diff --git a/src/api/controller/info/InfoController.hpp b/src/api/controller/info/InfoController.hpp
new file mode 100644
index 00000000..ab2ece69
--- /dev/null
+++ b/src/api/controller/info/InfoController.hpp
@@ -0,0 +1,37 @@
+#ifndef InfoController_hpp
+#define InfoController_hpp
+
+#include "oatpp/web/server/api/ApiController.hpp"
+#include "oatpp/core/macro/codegen.hpp"
+#include "oatpp/core/macro/component.hpp"
+
+#include OATPP_CODEGEN_BEGIN(ApiController)
+
+class InfoController : public oatpp::web::server::api::ApiController {
+public:
+ InfoController(OATPP_COMPONENT(std::shared_ptr, objectMapper))
+ : oatpp::web::server::api::ApiController(objectMapper)
+ {}
+public:
+
+ ENDPOINT_INFO(version) {
+ info->summary = "Get API version";
+ info->description = "Returns the current version of the API.";
+ }
+ ENDPOINT("GET", "/version", version) {
+ return createResponse(Status::CODE_200, "v0.0.1");
+ }
+
+ ENDPOINT_INFO(root) {
+ info->summary = "Get info root";
+ info->description = "Returns a placeholder for the info root.";
+ }
+ ENDPOINT("GET", "/", root) {
+ return createResponse(Status::CODE_200, "Info root");
+ }
+
+};
+
+#include OATPP_CODEGEN_END(ApiController)
+
+#endif /* InfoController_hpp */
diff --git a/src/api/dto/DTOs.hpp b/src/api/dto/DTOs.hpp
new file mode 100644
index 00000000..e8bd3111
--- /dev/null
+++ b/src/api/dto/DTOs.hpp
@@ -0,0 +1,36 @@
+// Copyright (c) 2014-2018 Zano Project
+// Copyright (c) 2014-2018 The Louisdor Project
+// Copyright (c) 2012-2013 The Boolberry developers
+// Copyright (c) 2017-2025 Lethean (https://lt.hn)
+//
+// Licensed under the European Union Public Licence (EUPL) version 1.2.
+// You may obtain a copy of the licence at:
+//
+// https://joinup.ec.europa.eu/software/page/eupl/licence-eupl
+//
+// The EUPL is a copyleft licence that is compatible with the MIT/X11
+// licence used by the original projects; the MIT terms are therefore
+// considered “grandfathered” under the EUPL for this code.
+//
+// SPDX‑License‑Identifier: EUPL-1.2
+//
+
+#ifndef DTOs_hpp
+#define DTOs_hpp
+
+#include "oatpp/core/macro/codegen.hpp"
+#include "oatpp/core/Types.hpp"
+
+#include OATPP_CODEGEN_BEGIN(DTO)
+
+class MyDto : public oatpp::DTO {
+
+ DTO_INIT(MyDto, DTO);
+
+ DTO_FIELD(String, message);
+
+};
+
+#include OATPP_CODEGEN_END(DTO)
+
+#endif /* DTOs_hpp */
diff --git a/src/api/main.cpp b/src/api/main.cpp
new file mode 100644
index 00000000..dbea164d
--- /dev/null
+++ b/src/api/main.cpp
@@ -0,0 +1,76 @@
+#include "controller/RootController.hpp"
+#include "ApiServer.hpp"
+
+#include "oatpp/network/Server.hpp"
+#include "oatpp-swagger/Controller.hpp"
+
+#include
+
+void run() {
+ /* Register Components in scope of run() method */
+ ApiServer components;
+
+ /* Get router component */
+ OATPP_COMPONENT(std::shared_ptr, router);
+
+ /* Create RootController and add all of its endpoints to router */
+ auto rootController = std::make_shared();
+ router->addController(rootController);
+
+ OATPP_CREATE_COMPONENT(std::shared_ptr, swaggerDocumentInfo)([] {
+
+ oatpp::swagger::DocumentInfo::Builder builder;
+
+ builder
+ .setTitle("Lethean Blockchain API")
+ .setDescription("New API layer for Lethean")
+ .setVersion("1.0")
+ .setContactName("Lethean")
+ .setContactUrl("https://lt.hn/")
+
+ .setLicenseName("EUPL-1.2")
+ .setLicenseUrl("https://joinup.ec.europa.eu/software/page/eupl/licence-eupl")
+
+ .addServer("http://localhost:8000", "server on localhost");
+
+ // When you are using the AUTHENTICATION() Endpoint-Macro you must add an SecurityScheme object (https://swagger.io/specification/#securitySchemeObject)
+ // For basic-authentication you can use the default Basic-Authorization-Security-Scheme like this
+ // For more complex authentication schemes you can use the oatpp::swagger::DocumentInfo::SecuritySchemeBuilder builder
+ // Don't forget to add info->addSecurityRequirement("basic_auth") to your ENDPOINT_INFO() Macro!
+ //.addSecurityScheme("basic_auth", oatpp::swagger::DocumentInfo::SecuritySchemeBuilder::DefaultBasicAuthorizationSecurityScheme());
+
+ return builder.build();
+
+}());
+
+ /* Create Swagger-UI controller and add its endpoints to router */
+ auto swaggerController = oatpp::swagger::Controller::createShared(rootController->getEndpoints());
+ router->addController(swaggerController);
+
+ /* Get connection handler component */
+ OATPP_COMPONENT(std::shared_ptr, connectionHandler);
+
+ /* Get connection provider component */
+ OATPP_COMPONENT(std::shared_ptr, connectionProvider);
+
+ /* Create server which takes provided TCP connections and passes them to HTTP connection handler */
+ oatpp::network::Server server(connectionProvider, connectionHandler);
+
+ /* Print server port */
+ OATPP_LOGI("lethean-api", "Server running on port %s", connectionProvider->getProperty("port").getData());
+
+ /* Run server */
+ server.run();
+}
+
+int main(int argc, const char * argv[]) {
+
+ oatpp::base::Environment::init();
+
+ run();
+
+ /* Destroy oatpp Environment */
+ oatpp::base::Environment::destroy();
+
+ return 0;
+}
diff --git a/utils/.gitignore b/utils/.gitignore
deleted file mode 100644
index 50872599..00000000
--- a/utils/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-configure_local_paths.cmd
\ No newline at end of file
diff --git a/utils/Directory.Build.props.in b/utils/Directory.Build.props.in
deleted file mode 100644
index 5f263a21..00000000
--- a/utils/Directory.Build.props.in
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
- true
- true
- 11
-
-
diff --git a/utils/payment_request.json b/utils/JS/payment_request.json
similarity index 100%
rename from utils/payment_request.json
rename to utils/JS/payment_request.json
diff --git a/utils/premine_config.json b/utils/JS/premine_config.json
similarity index 100%
rename from utils/premine_config.json
rename to utils/JS/premine_config.json
diff --git a/utils/update_alert.json b/utils/JS/update_alert.json
similarity index 100%
rename from utils/update_alert.json
rename to utils/JS/update_alert.json
diff --git a/utils/Zano.desktop b/utils/Zano.desktop
deleted file mode 100644
index 8a912f57..00000000
--- a/utils/Zano.desktop
+++ /dev/null
@@ -1,12 +0,0 @@
-[Desktop Entry]
-Version=1.0
-Name=Zano
-GenericName=Zano
-Comment=Privacy blockchain
-Icon=Zano
-Terminal=true
-Type=Application
-Categories=Qt;Utility;
-Name[en_US]=Zano
-MimeType=x-scheme-handler/zano;
-
diff --git a/utils/Zano.sh b/utils/Zano.sh
deleted file mode 100755
index 696b3859..00000000
--- a/utils/Zano.sh
+++ /dev/null
@@ -1,44 +0,0 @@
-#!/bin/bash
-script_dir=$( dirname "$(readlink -f "$0")" )
-
-export LD_LIBRARY_PATH=$script_dir/lib
-export QT_PLUGIN_PATH=$script_dir/lib
-
-echo $LD_LIBRARY_PATH
-echo $QT_PLUGIN_PATH
-
-out_file_name=~/.local/share/applications/Zano.desktop
-
-call_app()
-{
- pushd $script_dir
- ./Zano "$@"
- popd
- exit
-}
-
-
-create_desktop_icon()
-{
- target_file_name=$1
- echo "Generating icon file: $target_file_name..."
- rm -f $target_file_name
- echo [Desktop Entry] | tee -a $target_file_name > /dev/null
- echo Version=1.0 | tee -a $target_file_name > /dev/null
- echo Name=Zano | tee -a $target_file_name > /dev/null
- echo GenericName=Zano | tee -a $target_file_name > /dev/null
- echo Comment=Privacy blockchain | tee -a $target_file_name > /dev/null
- echo Icon=$script_dir/html/files/desktop_linux_icon.png | tee -a $target_file_name > /dev/null
- echo Exec=$script_dir/Zano.sh --deeplink-params=\\\\\"%u\\\\\" | tee -a $target_file_name > /dev/null
- echo Terminal=true | tee -a $target_file_name > /dev/null
- echo Type=Application | tee -a $target_file_name > /dev/null
- echo "Categories=Qt;Utility;" | tee -a $target_file_name > /dev/null
- echo "MimeType=x-scheme-handler/zano;" | tee -a $target_file_name > /dev/null
-}
-
-
-create_desktop_icon $out_file_name
-
-xdg-mime default Zano.desktop x-scheme-handler/zano
-
-call_app "$@"
\ No newline at end of file
diff --git a/utils/Zano_appimage_wrapper.sh b/utils/Zano_appimage_wrapper.sh
deleted file mode 100755
index 5d3db32c..00000000
--- a/utils/Zano_appimage_wrapper.sh
+++ /dev/null
@@ -1,51 +0,0 @@
-#!/bin/bash
-script_dir=$( dirname "$(readlink -f "$0")" )
-
-out_dir=~/.local/share/applications
-version="$(echo ${APPIMAGE} | rev | cut -d '-' -f1,2 | rev | sed 's/\.AppImage$//')"
-out_file_name="${out_dir}/Zano-${version}.desktop"
-
-export QTWEBENGINE_DISABLE_SANDBOX=1
-
-call_app()
-{
- pushd $script_dir
- usr/bin/Zano "$@"
- if [ $? -ne 0 ]; then
- echo $'\n\n\x1b[1mIf Zano fails to launch, it might need to install xinerama extension for the X C Binding with this command:\n\x1b[2m sudo apt-get install libxcb-xinerama0\n\n'
- fi
-
- popd
- exit
-}
-
-
-create_desktop_icon()
-{
- target_file_name=$1
- echo "Generating icon file: $target_file_name..."
- rm -f "${out_dir}/Zano.png"
- rm -f $target_file_name
- cp -Rv "${APPDIR}/usr/share/icons/hicolor/256x256/apps/Zano.png" "${out_dir}/Zano.png"
- echo [Desktop Entry] | tee -a $target_file_name > /dev/null
- echo Version=1.0 | tee -a $target_file_name > /dev/null
- echo Name=Zano | tee -a $target_file_name > /dev/null
- echo GenericName=Zano | tee -a $target_file_name > /dev/null
- echo Comment=Privacy blockchain | tee -a $target_file_name > /dev/null
- echo Icon=${out_dir}/Zano.png | tee -a $target_file_name > /dev/null
- echo TryExec="${APPIMAGE}" | tee -a "${target_file_name}" >/dev/null
- echo Exec=$APPIMAGE --deeplink-params=\\\\\\\"%u\\\\\\\" | tee -a $target_file_name > /dev/null
- echo Terminal=false | tee -a $target_file_name > /dev/null
- echo Type=Application | tee -a $target_file_name > /dev/null
- echo "Categories=Qt;Utility;" | tee -a $target_file_name > /dev/null
- echo "MimeType=x-scheme-handler/zano;" | tee -a $target_file_name > /dev/null
- echo "StartupWMClass=Zano" | tee -a $target_file_name > /dev/null
-}
-
-
-create_desktop_icon $out_file_name
-
-xdg-mime default Zano.desktop x-scheme-handler/zano
-xdg-desktop-menu install --novendor "${out_file_name}"
-
-call_app "$@"
diff --git a/utils/api_response.txt b/utils/api_response.txt
deleted file mode 100644
index 4cfdb52a..00000000
--- a/utils/api_response.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "id": 1234,
- "jsonrpc": "2.0",
- "result": {
- "status": "OK"
- }
-}
\ No newline at end of file
diff --git a/utils/contrib/create-dmg/LICENSE b/utils/contrib/create-dmg/LICENSE
deleted file mode 100644
index 349b6d82..00000000
--- a/utils/contrib/create-dmg/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) 2008-2014 Andrey Tarantsov
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/utils/contrib/create-dmg/create-dmg b/utils/contrib/create-dmg/create-dmg
deleted file mode 100755
index ea8ee7e9..00000000
--- a/utils/contrib/create-dmg/create-dmg
+++ /dev/null
@@ -1,230 +0,0 @@
-#! /bin/bash
-
-# Create a read-only disk image of the contents of a folder
-
-set -e;
-
-function pure_version() {
- echo '1.0.0.2'
-}
-
-function version() {
- echo "create-dmg $(pure_version)"
-}
-
-function usage() {
- version
- echo "Creates a fancy DMG file."
- echo "Usage: $(basename $0) options... image.dmg source_folder"
- echo "All contents of source_folder will be copied into the disk image."
- echo "Options:"
- echo " --volname name"
- echo " set volume name (displayed in the Finder sidebar and window title)"
- echo " --volicon icon.icns"
- echo " set volume icon"
- echo " --background pic.png"
- echo " set folder background image (provide png, gif, jpg)"
- echo " --window-pos x y"
- echo " set position the folder window"
- echo " --window-size width height"
- echo " set size of the folder window"
- echo " --text-size text_size"
- echo " set window text size (10-16)"
- echo " --icon-size icon_size"
- echo " set window icons size (up to 128)"
- echo " --icon file_name x y"
- echo " set position of the file's icon"
- echo " --hide-extension file_name"
- echo " hide the extension of file"
- echo " --custom-icon file_name custom_icon_or_sample_file x y"
- echo " set position and custom icon"
- echo " --app-drop-link x y"
- echo " make a drop link to Applications, at location x,y"
- echo " --eula eula_file"
- echo " attach a license file to the dmg"
- echo " --no-internet-enable"
- echo " disable automatic mount©"
- echo " --version show tool version number"
- echo " -h, --help display this help"
- exit 0
-}
-
-WINX=10
-WINY=60
-WINW=500
-WINH=350
-ICON_SIZE=128
-TEXT_SIZE=16
-
-while test "${1:0:1}" = "-"; do
- case $1 in
- --volname)
- VOLUME_NAME="$2"
- shift; shift;;
- --volicon)
- VOLUME_ICON_FILE="$2"
- shift; shift;;
- --background)
- BACKGROUND_FILE="$2"
- BACKGROUND_FILE_NAME="$(basename $BACKGROUND_FILE)"
- BACKGROUND_CLAUSE="set background picture of opts to file \".background:$BACKGROUND_FILE_NAME\""
- REPOSITION_HIDDEN_FILES_CLAUSE="set position of every item to {theBottomRightX + 500, 100}"
- shift; shift;;
- --icon-size)
- ICON_SIZE="$2"
- shift; shift;;
- --text-size)
- TEXT_SIZE="$2"
- shift; shift;;
- --window-pos)
- WINX=$2; WINY=$3
- shift; shift; shift;;
- --window-size)
- WINW=$2; WINH=$3
- shift; shift; shift;;
- --icon)
- POSITION_CLAUSE="${POSITION_CLAUSE}set position of item \"$2\" to {$3, $4}
-"
- shift; shift; shift; shift;;
- --hide-extension)
- HIDING_CLAUSE="${HIDING_CLAUSE}set the extension hidden of item \"$2\" to true
-"
- shift; shift;;
- --custom-icon)
- shift; shift; shift; shift; shift;;
- -h | --help)
- usage;;
- --version)
- version; exit 0;;
- --pure-version)
- pure_version; exit 0;;
- --app-drop-link)
- APPLICATION_LINK=$2
- APPLICATION_CLAUSE="set position of item \"Applications\" to {$2, $3}
-"
- shift; shift; shift;;
- --eula)
- EULA_RSRC=$2
- shift; shift;;
- --no-internet-enable)
- NOINTERNET=1
- shift;;
- -*)
- echo "Unknown option $1. Run with --help for help."
- exit 1;;
- esac
-done
-
-test -z "$2" && {
- echo "Not enough arguments. Invoke with --help for help."
- exit 1
-}
-
-SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
-DMG_PATH="$1"
-DMG_DIRNAME="$(dirname "$DMG_PATH")"
-DMG_DIR="$(cd "$DMG_DIRNAME" > /dev/null; pwd)"
-DMG_NAME="$(basename "$DMG_PATH")"
-DMG_TEMP_NAME="$DMG_DIR/rw.${DMG_NAME}"
-SRC_FOLDER="$(cd "$2" > /dev/null; pwd)"
-test -z "$VOLUME_NAME" && VOLUME_NAME="$(basename "$DMG_PATH" .dmg)"
-
-AUX_PATH="$SCRIPT_DIR/support"
-
-test -d "$AUX_PATH" || {
- echo "Cannot find support directory: $AUX_PATH"
- exit 1
-}
-
-if [ -f "$SRC_FOLDER/.DS_Store" ]; then
- echo "Deleting any .DS_Store in source folder"
- rm "$SRC_FOLDER/.DS_Store"
-fi
-
-# Create the image
-echo "Creating disk image..."
-test -f "${DMG_TEMP_NAME}" && rm -f "${DMG_TEMP_NAME}"
-ACTUAL_SIZE=`du -sm "$SRC_FOLDER" | sed -e 's/ .*//g'`
-DISK_IMAGE_SIZE=$(expr $ACTUAL_SIZE + 20)
-hdiutil create -srcfolder "$SRC_FOLDER" -volname "${VOLUME_NAME}" -fs HFS+ -fsargs "-c c=64,a=16,e=16" -format UDRW -size ${DISK_IMAGE_SIZE}m "${DMG_TEMP_NAME}"
-
-# mount it
-echo "Mounting disk image..."
-MOUNT_DIR="/Volumes/${VOLUME_NAME}"
-
-# try unmount dmg if it was mounted previously (e.g. developer mounted dmg, installed app and forgot to unmount it)
-echo "Unmounting disk image..."
-DEV_NAME=$(hdiutil info | egrep '^/dev/' | sed 1q | awk '{print $1}')
-test -d "${MOUNT_DIR}" && hdiutil detach "${DEV_NAME}"
-
-echo "Mount directory: $MOUNT_DIR"
-DEV_NAME=$(hdiutil attach -readwrite -noverify -noautoopen "${DMG_TEMP_NAME}" | egrep '^/dev/' | sed 1q | awk '{print $1}')
-echo "Device name: $DEV_NAME"
-
-if ! test -z "$BACKGROUND_FILE"; then
- echo "Copying background file..."
- test -d "$MOUNT_DIR/.background" || mkdir "$MOUNT_DIR/.background"
- cp "$BACKGROUND_FILE" "$MOUNT_DIR/.background/$BACKGROUND_FILE_NAME"
-fi
-
-if ! test -z "$APPLICATION_LINK"; then
- echo "making link to Applications dir"
- echo $MOUNT_DIR
- ln -s /Applications "$MOUNT_DIR/Applications"
-fi
-
-if ! test -z "$VOLUME_ICON_FILE"; then
- echo "Copying volume icon file '$VOLUME_ICON_FILE'..."
- cp "$VOLUME_ICON_FILE" "$MOUNT_DIR/.VolumeIcon.icns"
- SetFile -c icnC "$MOUNT_DIR/.VolumeIcon.icns"
-fi
-
-# run applescript
-APPLESCRIPT=$(mktemp -t createdmg)
-cat "$AUX_PATH/template.applescript" | sed -e "s/WINX/$WINX/g" -e "s/WINY/$WINY/g" -e "s/WINW/$WINW/g" -e "s/WINH/$WINH/g" -e "s/BACKGROUND_CLAUSE/$BACKGROUND_CLAUSE/g" -e "s/REPOSITION_HIDDEN_FILES_CLAUSE/$REPOSITION_HIDDEN_FILES_CLAUSE/g" -e "s/ICON_SIZE/$ICON_SIZE/g" -e "s/TEXT_SIZE/$TEXT_SIZE/g" | perl -pe "s/POSITION_CLAUSE/$POSITION_CLAUSE/g" | perl -pe "s/APPLICATION_CLAUSE/$APPLICATION_CLAUSE/g" | perl -pe "s/HIDING_CLAUSE/$HIDING_CLAUSE/" >"$APPLESCRIPT"
-
-echo "Running Applescript: /usr/bin/osascript \"${APPLESCRIPT}\" \"${VOLUME_NAME}\""
-"/usr/bin/osascript" "${APPLESCRIPT}" "${VOLUME_NAME}" || true
-echo "Done running the applescript..."
-sleep 4
-
-rm "$APPLESCRIPT"
-
-# make sure it's not world writeable
-echo "Fixing permissions..."
-chmod -Rf go-w "${MOUNT_DIR}" &> /dev/null || true
-echo "Done fixing permissions."
-
-# make the top window open itself on mount:
-echo "Blessing started"
-bless --folder "${MOUNT_DIR}" --openfolder "${MOUNT_DIR}"
-echo "Blessing finished"
-
-if ! test -z "$VOLUME_ICON_FILE"; then
- # tell the volume that it has a special file attribute
- SetFile -a C "$MOUNT_DIR"
-fi
-
-# unmount
-echo "Unmounting disk image..."
-hdiutil detach "${DEV_NAME}"
-
-# compress image
-echo "Compressing disk image..."
-hdiutil convert "${DMG_TEMP_NAME}" -format UDZO -imagekey zlib-level=9 -o "${DMG_DIR}/${DMG_NAME}"
-rm -f "${DMG_TEMP_NAME}"
-
-# adding EULA resources
-if [ ! -z "${EULA_RSRC}" -a "${EULA_RSRC}" != "-null-" ]; then
- echo "adding EULA resources"
- "${AUX_PATH}/dmg-license.py" "${DMG_DIR}/${DMG_NAME}" "${EULA_RSRC}"
-fi
-
-if [ ! -z "${NOINTERNET}" -a "${NOINTERNET}" == 1 ]; then
- echo "not setting 'internet-enable' on the dmg"
-else
- hdiutil internet-enable -yes "${DMG_DIR}/${DMG_NAME}"
-fi
-
-echo "Disk image done"
-exit 0
diff --git a/utils/contrib/create-dmg/origin.txt b/utils/contrib/create-dmg/origin.txt
deleted file mode 100644
index e1edd5e6..00000000
--- a/utils/contrib/create-dmg/origin.txt
+++ /dev/null
@@ -1 +0,0 @@
-https://github.com/andreyvit/yoursway-create-dmg.git
\ No newline at end of file
diff --git a/utils/contrib/create-dmg/support/dmg-license.py b/utils/contrib/create-dmg/support/dmg-license.py
deleted file mode 100644
index 9003a7c5..00000000
--- a/utils/contrib/create-dmg/support/dmg-license.py
+++ /dev/null
@@ -1,163 +0,0 @@
-#! /usr/bin/env python
-"""
-This script adds a license file to a DMG. Requires Xcode and a plain ascii text
-license file.
-Obviously only runs on a Mac.
-
-Copyright (C) 2011-2013 Jared Hobbs
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-"""
-import os
-import sys
-import tempfile
-import optparse
-
-
-class Path(str):
- def __enter__(self):
- return self
-
- def __exit__(self, type, value, traceback):
- os.unlink(self)
-
-
-def mktemp(dir=None, suffix=''):
- (fd, filename) = tempfile.mkstemp(dir=dir, suffix=suffix)
- os.close(fd)
- return Path(filename)
-
-
-def main(options, args):
- dmgFile, license = args
- with mktemp('.') as tmpFile:
- with open(tmpFile, 'w') as f:
- f.write("""data 'TMPL' (128, "LPic") {
- $"1344 6566 6175 6C74 204C 616E 6775 6167"
- $"6520 4944 4457 5244 0543 6F75 6E74 4F43"
- $"4E54 042A 2A2A 2A4C 5354 430B 7379 7320"
- $"6C61 6E67 2049 4444 5752 441E 6C6F 6361"
- $"6C20 7265 7320 4944 2028 6F66 6673 6574"
- $"2066 726F 6D20 3530 3030 4457 5244 1032"
- $"2D62 7974 6520 6C61 6E67 7561 6765 3F44"
- $"5752 4404 2A2A 2A2A 4C53 5445"
-};
-
-data 'LPic' (5000) {
- $"0000 0002 0000 0000 0000 0000 0004 0000"
-};
-
-data 'STR#' (5000, "English buttons") {
- $"0006 0D45 6E67 6C69 7368 2074 6573 7431"
- $"0541 6772 6565 0844 6973 6167 7265 6505"
- $"5072 696E 7407 5361 7665 2E2E 2E7A 4966"
- $"2079 6F75 2061 6772 6565 2077 6974 6820"
- $"7468 6520 7465 726D 7320 6F66 2074 6869"
- $"7320 6C69 6365 6E73 652C 2063 6C69 636B"
- $"2022 4167 7265 6522 2074 6F20 6163 6365"
- $"7373 2074 6865 2073 6F66 7477 6172 652E"
- $"2020 4966 2079 6F75 2064 6F20 6E6F 7420"
- $"6167 7265 652C 2070 7265 7373 2022 4469"
- $"7361 6772 6565 2E22"
-};
-
-data 'STR#' (5002, "English") {
- $"0006 0745 6E67 6C69 7368 0541 6772 6565"
- $"0844 6973 6167 7265 6505 5072 696E 7407"
- $"5361 7665 2E2E 2E7B 4966 2079 6F75 2061"
- $"6772 6565 2077 6974 6820 7468 6520 7465"
- $"726D 7320 6F66 2074 6869 7320 6C69 6365"
- $"6E73 652C 2070 7265 7373 2022 4167 7265"
- $"6522 2074 6F20 696E 7374 616C 6C20 7468"
- $"6520 736F 6674 7761 7265 2E20 2049 6620"
- $"796F 7520 646F 206E 6F74 2061 6772 6565"
- $"2C20 7072 6573 7320 2244 6973 6167 7265"
- $"6522 2E"
-};\n\n""")
- with open(license, 'r') as l:
- kind = 'RTF ' if license.lower().endswith('.rtf') else 'TEXT'
- f.write('data \'%s\' (5000, "English") {\n' % kind)
- def escape(s):
- return s.strip().replace('\\', '\\\\').replace('"', '\\"')
-
- for line in l:
- if len(line) < 1000:
- f.write(' "' + escape(line) + '\\n"\n')
- else:
- for liner in line.split('.'):
- f.write(' "' + escape(liner) + '. \\n"\n')
- f.write('};\n\n')
- f.write("""data 'styl' (5000, "English") {
- $"0003 0000 0000 000C 0009 0014 0000 0000"
- $"0000 0000 0000 0000 0027 000C 0009 0014"
- $"0100 0000 0000 0000 0000 0000 002A 000C"
- $"0009 0014 0000 0000 0000 0000 0000"
-};\n""")
- os.system('hdiutil unflatten -quiet "%s"' % dmgFile)
- ret = os.system('%s -a %s -o "%s"' %
- (options.rez, tmpFile, dmgFile))
- os.system('hdiutil flatten -quiet "%s"' % dmgFile)
- if options.compression is not None:
- os.system('cp %s %s.temp.dmg' % (dmgFile, dmgFile))
- os.remove(dmgFile)
- if options.compression == "bz2":
- os.system('hdiutil convert %s.temp.dmg -format UDBZ -o %s' %
- (dmgFile, dmgFile))
- elif options.compression == "gz":
- os.system('hdiutil convert %s.temp.dmg -format ' % dmgFile +
- 'UDZO -imagekey zlib-devel=9 -o %s' % dmgFile)
- os.remove('%s.temp.dmg' % dmgFile)
- if ret == 0:
- print "Successfully added license to '%s'" % dmgFile
- else:
- print "Failed to add license to '%s'" % dmgFile
-
-if __name__ == '__main__':
- parser = optparse.OptionParser()
- parser.set_usage("""%prog [OPTIONS]
- This program adds a software license agreement to a DMG file.
- It requires Xcode and either a plain ascii text
- or a with the RTF contents.
-
- See --help for more details.""")
- parser.add_option(
- '--rez',
- '-r',
- action='store',
- default='/Applications/Xcode.app/Contents/Developer/Tools/Rez',
- help='The path to the Rez tool. Defaults to %default'
- )
- parser.add_option(
- '--compression',
- '-c',
- action='store',
- choices=['bz2', 'gz'],
- default=None,
- help='Optionally compress dmg using specified compression type. '
- 'Choices are bz2 and gz.'
- )
- options, args = parser.parse_args()
- cond = len(args) != 2
- if not os.path.exists(options.rez):
- print 'Failed to find Rez at "%s"!\n' % options.rez
- cond = True
- if cond:
- parser.print_usage()
- sys.exit(1)
- main(options, args)
diff --git a/utils/contrib/create-dmg/support/template.applescript b/utils/contrib/create-dmg/support/template.applescript
deleted file mode 100644
index 2a7f2aa0..00000000
--- a/utils/contrib/create-dmg/support/template.applescript
+++ /dev/null
@@ -1,79 +0,0 @@
-on run (volumeName)
- tell application "Finder"
- tell disk (volumeName as string)
- open
-
- set theXOrigin to WINX
- set theYOrigin to WINY
- set theWidth to WINW
- set theHeight to WINH
-
- set theBottomRightX to (theXOrigin + theWidth)
- set theBottomRightY to (theYOrigin + theHeight)
- set dsStore to "\"" & "/Volumes/" & volumeName & "/" & ".DS_STORE\""
-
- tell container window
- set current view to icon view
- set toolbar visible to false
- set statusbar visible to false
- set the bounds to {theXOrigin, theYOrigin, theBottomRightX, theBottomRightY}
- set statusbar visible to false
- REPOSITION_HIDDEN_FILES_CLAUSE
- end tell
-
- set opts to the icon view options of container window
- tell opts
- set icon size to ICON_SIZE
- set text size to TEXT_SIZE
- set arrangement to not arranged
- end tell
- BACKGROUND_CLAUSE
-
- -- Positioning
- POSITION_CLAUSE
-
- -- Hiding
- HIDING_CLAUSE
-
- -- Application Link Clause
- APPLICATION_CLAUSE
- close
- open
-
- update without registering applications
- -- Force saving of the size
- delay 1
-
- tell container window
- set statusbar visible to false
- set the bounds to {theXOrigin, theYOrigin, theBottomRightX - 10, theBottomRightY - 10}
- end tell
-
- update without registering applications
- end tell
-
- delay 1
-
- tell disk (volumeName as string)
- tell container window
- set statusbar visible to false
- set the bounds to {theXOrigin, theYOrigin, theBottomRightX, theBottomRightY}
- end tell
-
- update without registering applications
- end tell
-
- --give the finder some time to write the .DS_Store file
- delay 3
-
- set waitTime to 0
- set ejectMe to false
- repeat while ejectMe is false
- delay 1
- set waitTime to waitTime + 1
-
- if (do shell script "[ -f " & dsStore & " ]; echo $?") = "0" then set ejectMe to true
- end repeat
- log "waited " & waitTime & " seconds for .DS_STORE to be created."
- end tell
-end run
diff --git a/utils/deeplink.rm b/utils/deeplink.rm
deleted file mode 100644
index 8b137891..00000000
--- a/utils/deeplink.rm
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/utils/docker/containers/README.md b/utils/docker/containers/README.md
deleted file mode 100644
index f50dbf2b..00000000
--- a/utils/docker/containers/README.md
+++ /dev/null
@@ -1,5 +0,0 @@
-# Standard Docker Deployments
-
-You can define a multitude of configurations in code using Docker Compose. Each folder in this directory represents a specific use case with a corresponding reference configuration.
-
-Instead of writing your own Dockerfile, we recommend that you tailor the stack for your needs by editing one of the existing configurations. If you believe your changes will be useful to others, please submit a patch to improve the reference Dockerfiles.
\ No newline at end of file
diff --git a/utils/docker/images/lthn-chain/Dockerfile b/utils/docker/lthn-chain/Dockerfile
similarity index 100%
rename from utils/docker/images/lthn-chain/Dockerfile
rename to utils/docker/lthn-chain/Dockerfile
diff --git a/utils/increment_build_number.sh b/utils/increment_build_number.sh
deleted file mode 100644
index 3666c956..00000000
--- a/utils/increment_build_number.sh
+++ /dev/null
@@ -1,29 +0,0 @@
-set -e
-curr_path=${BASH_SOURCE%/*}
-version_file_path=../src/version.h.in
-
-pushd $curr_path
-
-# clear old local changes if any
-git checkout -- ../src/*
-
-git pull --ff-only
-
-build_no_before=`cat $version_file_path | grep 'PROJECT_VERSION_BUILD_NO ' | awk {'print $3'}`
-
-../../zano-tools-last-build/connectivity_tool --increment-build-no=$version_file_path
-
-build_no_after=`cat $version_file_path | grep 'PROJECT_VERSION_BUILD_NO ' | awk {'print $3'}`
-
-echo "$build_no_before -> $build_no_after"
-
-echo $(pwd -P)
-
-git status
-git commit -a -m"=== build number: $build_no_before -> $build_no_after ==="
-
-git push
-
-echo "Build number was succesefully incremented."
-popd
-
diff --git a/utils/macos_entitlements.plist b/utils/macos_entitlements.plist
deleted file mode 100644
index 68015469..00000000
--- a/utils/macos_entitlements.plist
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
- com.apple.security.cs.disable-executable-page-protection
-
-
-
diff --git a/utils/macosx_dmg_builder.sh b/utils/macosx_dmg_builder.sh
deleted file mode 100644
index 4fb211f8..00000000
--- a/utils/macosx_dmg_builder.sh
+++ /dev/null
@@ -1,28 +0,0 @@
-set -e
-curr_path=${BASH_SOURCE%/*}
-
-function build_fancy_dmg() # $1 - path to package folder, $2 - dmg output filename
-{
- if [ -z "$1" ] || [ -z "$2" ]
- then
- echo "build_fancy_dmg is called with no or invalid parameters"
- return 1
- fi
-
- $curr_path/contrib/create-dmg/create-dmg \
- --volname "Zano installer" \
- --volicon "$curr_path/../src/gui/qt-daemon/app.icns" \
- --background "$curr_path/../resources/dmg_installer_bg.png" \
- --window-pos 200 120 \
- --window-size 487 290 \
- --icon-size 128 \
- --icon Zano.app 112 115 \
- --hide-extension Zano.app \
- --app-drop-link 365 115 \
- --no-internet-enable \
- $2 \
- $1
-
- return $?
-}
-
diff --git a/utils/setup_32.iss b/utils/setup_32.iss
deleted file mode 100644
index 24c18c80..00000000
--- a/utils/setup_32.iss
+++ /dev/null
@@ -1,151 +0,0 @@
-; Script generated by the Inno Setup Script Wizard.
-; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
-
-#define MyAppName "Zano"
-;#define MyAppVersion "0.2.0.31"
-#define MyAppPublisher "Zano Team"
-#define MyAppURL "http://Zano.com"
-#define MyAppExeName "zano.exe"
-
-[Setup]
-; NOTE: The value of AppId uniquely identifies this application.
-; Do not use the same AppId value in installers for other applications.
-; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
-AppId={{55FD6D06-3A1D-47FF-AA45-2B302C1C9D8E}
-AppName={#MyAppName}
-AppVersion={#MyAppVersion}
-;AppVerName={#MyAppName} {#MyAppVersion}
-AppPublisher={#MyAppPublisher}
-AppPublisherURL={#MyAppURL}
-AppSupportURL={#MyAppURL}
-AppUpdatesURL={#MyAppURL}
-DefaultDirName={pf32}\{#MyAppName}
-DefaultGroupName={#MyAppName}
-OutputBaseFilename=setup
-Compression=lzma
-SolidCompression=yes
-ChangesAssociations=yes
-ArchitecturesInstallIn64BitMode=x64
-WizardImageFile=../resources/installer_bg_164x313.bmp
-;WizardSmallImageFile=../resources/icon.bmp
-PrivilegesRequired=poweruser
-;SetupIconFile=../resources/app.ico
-AppMutex=Zano_instance
-UninstallDisplayIcon={app}\{#MyAppExeName}
-
-
-[Languages]
-Name: "english"; MessagesFile: "compiler:Default.isl"
-
-[Tasks]
-Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
-Name: "desktopicon\common"; Description: "For all users"; GroupDescription: "{cm:AdditionalIcons}"; Flags: exclusive
-Name: "desktopicon\user"; Description: "For the current user only"; GroupDescription: "{cm:AdditionalIcons}"; Flags: exclusive unchecked
-
-
-[Registry]
-Root: HKCR; Subkey: ".dbl"; ValueType: string; ValueName: ""; ValueData: "ZanoWalletDataFile"; Flags: uninsdeletevalue
-Root: HKCR; Subkey: "ZanoWalletDataFile"; ValueType: string; ValueName: ""; ValueData: "Zano Wallet's Data File"; Flags: uninsdeletekey
-Root: HKCR; Subkey: "ZanoWalletDataKyesFile"; ValueType: string; ValueName: ""; ValueData: "Zano Wallet's Keys File"; Flags: uninsdeletekey
-
-Root: HKCR; Subkey: "ZanoWalletDataFile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\zano.exe,0"
-Root: HKCR; Subkey: "ZanoWalletDataKyesFile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\zano.exe,0"
-
-Root: HKCR; Subkey: "Zano"; ValueType: string; ValueName: "URL Protocol"; ValueData: ""
-Root: HKCR; Subkey: "Zano\shell\open\command"; ValueType: string; ValueName: ""; ValueData: "{app}\zano.exe %1"
-
-[Files]
-
-Source: "{#BinariesPath}\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs ignoreversion overwritereadonly replacesameversion
-Source: "..\src\gui\qt-daemon\html\*"; DestDir: "{app}\html"; Flags: ignoreversion recursesubdirs ignoreversion overwritereadonly replacesameversion
-Source: "{#BinariesPath}\vc_redist.x86.exe"; DestDir: {tmp}; Flags: deleteafterinstall
-Source: "../resources/installer_bg_*.bmp"; Excludes: "*313.bmp"; Flags: dontcopy
-; NOTE: Don't use "Flags: ignoreversion" on any shared system files
-
-[Icons]
-Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
-Name: "{group}\{cm:ProgramOnTheWeb,{#MyAppName}}"; Filename: "{#MyAppURL}"
-Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"
-Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon\common
-Name: "{userdesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon\user
-
-
-[UninstallDelete]
-;This works only if it is installed in default location
-Type: filesandordirs; Name: "{pf32}\{#MyAppName}"
-;This works if it is installed in custom location
-Type: files; Name: "{app}\*";
-Type: filesandordirs; Name: "{app}"
-
-[Run]
-Filename: {tmp}\vc_redist.x86.exe; Parameters: "/install /quiet /norestart"; StatusMsg: Installing VC++ 2017 Redistributables...
-Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent shellexec
-
-
-
-[Code]
-function IsAppRunning(const FileName: string): Boolean;
-var
- FWMIService: Variant;
- FSWbemLocator: Variant;
- FWbemObjectSet: Variant;
- Version: TWindowsVersion;
-begin
- GetWindowsVersionEx(Version);
- if Version.Major = 10 then
- begin
- Result := False;
- Exit;
- end;
-
-
- Result := false;
- FSWbemLocator := CreateOleObject('WBEMScripting.SWBEMLocator');
- FWMIService := FSWbemLocator.ConnectServer('', 'root\CIMV2', '', '');
- FWbemObjectSet := FWMIService.ExecQuery(Format('SELECT Name FROM Win32_Process Where Name="%s"',[FileName]));
- Result := (FWbemObjectSet.Count > 0);
- FWbemObjectSet := Unassigned;
- FWMIService := Unassigned;
- FSWbemLocator := Unassigned;
-end;
-
-function InitializeSetup: boolean;
-begin
-; Result := not IsAppRunning('{#MyAppExeName}');
-; if not Result then
-; MsgBox('{#MyAppExeName} is running. Please close the application before running the installer ', mbError, MB_OK);
-end;
-
-; Choose the right wizard background image based on current windows font scale
-; s.a.: https://stackoverflow.com/questions/26543603/inno-setup-wizardimagefile-looks-bad-with-font-scaling-on-windows-7
-[Code]
-function GetScalingFactor: Integer;
-begin
- if WizardForm.Font.PixelsPerInch >= 144 then Result := 150
- else
- if WizardForm.Font.PixelsPerInch >= 120 then Result := 125
- else Result := 100;
-end;
-
-procedure LoadEmbededScaledBitmap(Image: TBitmapImage; NameBase: string);
-var
- FileName: String;
-begin
- ExtractTemporaryFile(NameBase);
- FileName := ExpandConstant('{tmp}\' + NameBase);
- Image.Bitmap.LoadFromFile(FileName);
- DeleteFile(FileName);
-end;
-
-procedure InitializeWizard;
-begin
- { If using larger scaling, load the correct size of images }
- if GetScalingFactor = 125 then begin
- LoadEmbededScaledBitmap(WizardForm.WizardBitmapImage, 'installer_bg_191x385.bmp');
- LoadEmbededScaledBitmap(WizardForm.WizardBitmapImage2, 'installer_bg_191x385.bmp');
- end else if GetScalingFactor = 150 then begin
- LoadEmbededScaledBitmap(WizardForm.WizardBitmapImage, 'installer_bg_246x457.bmp');
- LoadEmbededScaledBitmap(WizardForm.WizardBitmapImage2, 'installer_bg_246x457.bmp');
- end;
-
-end;
diff --git a/utils/setup_64.iss b/utils/setup_64.iss
deleted file mode 100644
index 364a9767..00000000
--- a/utils/setup_64.iss
+++ /dev/null
@@ -1,119 +0,0 @@
-; Script generated by the Inno Setup Script Wizard.
-; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
-
-#define MyAppName "Zano"
-;#define MyAppVersion "0.2.0.31"
-#define MyAppPublisher "Zano Team"
-#define MyAppURL "http://zano.org"
-#define MyAppExeName "Zano.exe"
-
-[Setup]
-; NOTE: The value of AppId uniquely identifies this application.
-; Do not use the same AppId value in installers for other applications.
-; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
-AppId={{65FD6D06-3A1D-47FF-AA45-2B302C1C9D8E}
-AppName={#MyAppName}
-AppVersion={#MyAppVersion}
-;AppVerName={#MyAppName} {#MyAppVersion}
-AppPublisher={#MyAppPublisher}
-AppPublisherURL={#MyAppURL}
-AppSupportURL={#MyAppURL}
-AppUpdatesURL={#MyAppURL}
-DefaultDirName={pf64}\{#MyAppName}
-DefaultGroupName={#MyAppName}
-OutputBaseFilename=setup
-Compression=lzma
-SolidCompression=yes
-ChangesAssociations=yes
-ArchitecturesInstallIn64BitMode=x64
-WizardImageFile=../resources/installer_bg_164x313.bmp
-;WizardSmallImageFile=../resources/icon.bmp
-PrivilegesRequired=poweruser
-ArchitecturesAllowed=x64
-;SetupIconFile=../resources/app.ico
-AppMutex=Zano_instance
-UninstallDisplayIcon={app}\{#MyAppExeName}
-
-
-[Languages]
-Name: "english"; MessagesFile: "compiler:Default.isl"
-
-[Tasks]
-Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
-Name: "desktopicon\common"; Description: "For all users"; GroupDescription: "{cm:AdditionalIcons}"; Flags: exclusive
-Name: "desktopicon\user"; Description: "For the current user only"; GroupDescription: "{cm:AdditionalIcons}"; Flags: exclusive unchecked
-
-
-[Registry]
-Root: HKCR; Subkey: ".dbl"; ValueType: string; ValueName: ""; ValueData: "ZanoWalletDataFile"; Flags: uninsdeletevalue
-Root: HKCR; Subkey: "ZanoWalletDataFile"; ValueType: string; ValueName: ""; ValueData: "Zano Wallet's Data File"; Flags: uninsdeletekey
-Root: HKCR; Subkey: "ZanoWalletDataKyesFile"; ValueType: string; ValueName: ""; ValueData: "Zano Wallet's Keys File"; Flags: uninsdeletekey
-
-Root: HKCR; Subkey: "ZanoWalletDataFile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\Zano.exe,0"
-Root: HKCR; Subkey: "ZanoWalletDataKyesFile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\Zano.exe,0"
-
-Root: HKCR; Subkey: "Zano"; ValueType: string; ValueName: "URL Protocol"; ValueData: ""
-Root: HKCR; Subkey: "Zano\shell\open\command"; ValueType: string; ValueName: ""; ValueData: "{app}\Zano.exe --deeplink-params=%1"
-
-
-[Files]
-
-Source: "{#BinariesPath}\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs ignoreversion overwritereadonly replacesameversion
-Source: "..\src\gui\qt-daemon\layout\html\*"; DestDir: "{app}\html"; Flags: ignoreversion recursesubdirs ignoreversion overwritereadonly replacesameversion
-Source: "{#BinariesPath}\vc_redist.x64.exe"; DestDir: {tmp}; Flags: deleteafterinstall
-Source: "../resources/installer_bg_*.bmp"; Excludes: "*313.bmp"; Flags: dontcopy
-; NOTE: Don't use "Flags: ignoreversion" on any shared system files
-
-[Icons]
-Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
-Name: "{group}\{cm:ProgramOnTheWeb,{#MyAppName}}"; Filename: "{#MyAppURL}"
-Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"
-Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon\common
-Name: "{userdesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon\user
-
-
-[Run]
-Filename: {tmp}\vc_redist.x64.exe; Parameters: "/install /quiet /norestart"; StatusMsg: Installing VC++ 2017 Redistributables...
-Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent shellexec
-
-[UninstallDelete]
-;This works only if it is installed in default location
-Type: filesandordirs; Name: "{pf64}\{#MyAppName}"
-;This works if it is installed in custom location
-Type: files; Name: "{app}\*";
-Type: filesandordirs; Name: "{app}"
-
-; Choose the right wizard background image based on current windows font scale
-; s.a.: https://stackoverflow.com/questions/26543603/inno-setup-wizardimagefile-looks-bad-with-font-scaling-on-windows-7
-[Code]
-function GetScalingFactor: Integer;
-begin
- if WizardForm.Font.PixelsPerInch >= 144 then Result := 150
- else
- if WizardForm.Font.PixelsPerInch >= 120 then Result := 125
- else Result := 100;
-end;
-
-procedure LoadEmbededScaledBitmap(Image: TBitmapImage; NameBase: string);
-var
- FileName: String;
-begin
- ExtractTemporaryFile(NameBase);
- FileName := ExpandConstant('{tmp}\' + NameBase);
- Image.Bitmap.LoadFromFile(FileName);
- DeleteFile(FileName);
-end;
-
-procedure InitializeWizard;
-begin
- { If using larger scaling, load the correct size of images }
- if GetScalingFactor = 125 then begin
- LoadEmbededScaledBitmap(WizardForm.WizardBitmapImage, 'installer_bg_191x385.bmp');
- LoadEmbededScaledBitmap(WizardForm.WizardBitmapImage2, 'installer_bg_191x385.bmp');
- end else if GetScalingFactor = 150 then begin
- LoadEmbededScaledBitmap(WizardForm.WizardBitmapImage, 'installer_bg_246x457.bmp');
- LoadEmbededScaledBitmap(WizardForm.WizardBitmapImage2, 'installer_bg_246x457.bmp');
- end;
-
-end;
-
diff --git a/utils/snap/snapcraft.yaml b/utils/snap/snapcraft.yaml
deleted file mode 100644
index 361d71c1..00000000
--- a/utils/snap/snapcraft.yaml
+++ /dev/null
@@ -1,125 +0,0 @@
-name: zano # you probably want to 'snapcraft register '
-base: core18 # the base snap is the execution environment for this snap
-version: '1.1.5' # just for humans, typically '1.2+git' or '1.3.2'
-summary: "Zano coin: official wallet. Secure. Scalable. Easy to Use."
-description: |
- Zano is a scalable and secure coin, designed for use in e-commerce.
- The technology behind our blockchain provides reliability, security,
- and flexibility a perfect option for P2P transactions.
- More info: http://zano.org
-grade: devel # must be 'stable' to release into candidate/stable channels
-confinement: devmode # use 'strict' once you have the right plugs and slots
-
-parts:
- libboost:
- plugin: dump
- source: .
-
- override-pull: |
- curl https://dl.bintray.com/boostorg/release/1.68.0/source/boost_1_68_0.tar.bz2 -OL &&\
- echo '7f6130bc3cf65f56a618888ce9d5ea704fa10b462be126ad053e80e553d6d8b7 boost_1_68_0.tar.bz2' | sha256sum -c - &&\
- pwd && echo pulled ok
-
- override-build: |
- tar -xjf $SNAPCRAFT_PART_SRC/boost_1_68_0.tar.bz2
- cd boost_1_68_0
- pwd
- ./bootstrap.sh --with-libraries=system,filesystem,thread,date_time,chrono,regex,serialization,atomic,program_options,locale,timer
- ./b2
- mkdir -p $SNAPCRAFT_PART_INSTALL/boost_1_68_0 $SNAPCRAFT_PART_INSTALL/boost_1_68_0/stage
- cp -pr boost $SNAPCRAFT_PART_INSTALL/boost_1_68_0/
- cp -pr stage/lib $SNAPCRAFT_PART_INSTALL/boost_1_68_0/stage/
-
- build-packages:
- - curl
- - build-essential
- - g++
- - libicu-dev
-
- stage-packages:
- - libicu60
-
- qt:
- plugin: dump
- source: .
- override-pull: |
- curl https://download.qt.io/archive/qt/5.13/5.13.2/single/qt-everywhere-src-5.13.2.tar.xz -OL &&\
- echo '55e8273536be41f4f63064a79e552a22133848bb419400b6fa8e9fc0dc05de08 qt-everywhere-src-5.13.2.tar.xz' | sha256sum -c - &&\
- pwd && echo pulled ok
-
- override-build: |
- tar -xJf $SNAPCRAFT_PART_SRC/qt-everywhere-src-5.13.2.tar.xz
- cd qt-everywhere-src-5.13.2
- pwd
- ./configure -platform linux-g++ -prefix $SNAPCRAFT_PART_INSTALL/qt5132 -opensource -confirm-license -xcb -nomake examples -nomake tests -feature-webengine-embedded-build -feature-webengine-pepper-plugins -feature-webengine-printing-and-pdf -feature-webengine-proprietary-codecs -feature-webengine-spellchecker -feature-webengine-v8-snapshot -feature-webengine-webrtc -feature-thread -xkbcommon -no-feature-d3d12 -no-feature-qt3d-animation -no-feature-qt3d-extras -no-feature-qt3d-input -no-feature-qt3d-logic -no-feature-qt3d-opengl-renderer -no-feature-qt3d-render -no-feature-qt3d-simd-avx2 -no-feature-qt3d-simd-sse2 -no-feature-gestures
- make
- make install
- echo Qt was successfully built
-
- build-packages:
- - g++
- - libicu-dev
- - bison
- - build-essential
- - flex
- - gperf
- - gyp
- - libasound2-dev
- - libavcodec-dev
- - libavformat-dev
- - libavutil-dev
- - libbz2-dev
- - libcap-dev
- - libcups2-dev
- - libdrm-dev
- - libegl1-mesa-dev
- - libevent-dev
- - libfontconfig1-dev
- - libgcrypt11-dev
- - libjsoncpp-dev
- - libminizip-dev
- - libnss3-dev
- - libopus-dev
- - libpci-dev
- - libpulse-dev
- - libsrtp0-dev
- - libssl-dev
- - libudev-dev
- - libwebp-dev
- - libxcb1
- - libxcb1-dev
- - libxcomposite-dev
- - libxcursor-dev
- - libxdamage-dev
- - libxkbcommon-dev
- - libxrandr-dev
- - libxss-dev
- - libxtst-dev
- - ninja-build
- - python
- - ruby
-
- zano-bin:
- after: [ libboost, qt ]
- source: https://github.com/hyle-team/zano.git
- plugin: cmake
-
- override-build: |
- cmake -DCMAKE_PREFIX_PATH=$SNAPCRAFT_PART_INSTALL/qt5132 -DBOOST_ROOT=$SNAPCRAFT_STAGE/boost_1_68_0 -DBOOST_LIBRARYDIR=$SNAPCRAFT_STAGE/boost_1_68_0/stage/lib -DSTATIC=True -DBUILD_GUI=True $SNAPCRAFT_PART_SRC
- make -j1 Zano
- #daemon simplewallet
- # cp src/zanod $SNAPCRAFT_PART_INSTALL
- # cp src/simplewallet $SNAPCRAFT_PART_INSTALL
- pwd
- echo CLI Zano binaries built
-
-
- build-packages:
- - build-essential
- - g++
- - libicu-dev
-
-
-apps:
- zano:
- command: pwd
diff --git a/utils/test_wallet_rpc_api.bat b/utils/test_wallet_rpc_api.bat
deleted file mode 100644
index 8abded78..00000000
--- a/utils/test_wallet_rpc_api.bat
+++ /dev/null
@@ -1,2 +0,0 @@
-wget --post-file="telepod_withdraw.json" --output-document="api_response.txt" --debug http://127.0.0.1:9999/json_rpc
-pause
\ No newline at end of file