diff --git a/android/app/src/main/jniLibs/arm64-v8a/libzano_libwallet2_api_c.so b/android/app/src/main/jniLibs/arm64-v8a/libzano_libwallet2_api_c.so
new file mode 120000
index 000000000..49ddd0f47
--- /dev/null
+++ b/android/app/src/main/jniLibs/arm64-v8a/libzano_libwallet2_api_c.so
@@ -0,0 +1 @@
+../../../../../../scripts/monero_c/release/zano/aarch64-linux-android_libwallet2_api_c.so
\ No newline at end of file
diff --git a/android/app/src/main/jniLibs/armeabi-v7a/libzano_libwallet2_api_c.so b/android/app/src/main/jniLibs/armeabi-v7a/libzano_libwallet2_api_c.so
new file mode 120000
index 000000000..43f9b98b2
--- /dev/null
+++ b/android/app/src/main/jniLibs/armeabi-v7a/libzano_libwallet2_api_c.so
@@ -0,0 +1 @@
+../../../../../../scripts/monero_c/release/zano/armv7a-linux-androideabi_libwallet2_api_c.so
\ No newline at end of file
diff --git a/android/app/src/main/jniLibs/x86_64/libzano_libwallet2_api_c.so b/android/app/src/main/jniLibs/x86_64/libzano_libwallet2_api_c.so
new file mode 120000
index 000000000..8c37d73c2
--- /dev/null
+++ b/android/app/src/main/jniLibs/x86_64/libzano_libwallet2_api_c.so
@@ -0,0 +1 @@
+../../../../../../scripts/monero_c/release/zano/x86_64-linux-android_libwallet2_api_c.so
\ No newline at end of file
diff --git a/cw_zano/android/.gitignore b/cw_zano/android/.gitignore
deleted file mode 100644
index 4abf6a863..000000000
--- a/cw_zano/android/.gitignore
+++ /dev/null
@@ -1,9 +0,0 @@
-*.iml
-.gradle
-/local.properties
-/.idea/workspace.xml
-/.idea/libraries
-.DS_Store
-/build
-/captures
-.cxx/
\ No newline at end of file
diff --git a/cw_zano/android/CMakeLists.txt b/cw_zano/android/CMakeLists.txt
deleted file mode 100644
index 425cfc181..000000000
--- a/cw_zano/android/CMakeLists.txt
+++ /dev/null
@@ -1,119 +0,0 @@
-cmake_minimum_required(VERSION 3.4.1)
-
-add_library( cw_zano
- SHARED
- ../ios/Classes/zano_api.cpp)
-
- find_library( log-lib log )
-
-set(EXTERNAL_LIBS_DIR ${CMAKE_SOURCE_DIR}/../../cw_shared_external/ios/External/android)
-set(EXTERNAL_ZANO_ROOT ${CMAKE_SOURCE_DIR}/../../../zano)
-
-
-
-############
-# OpenSSL
-############
-
-add_library(crypto STATIC IMPORTED)
-set_target_properties(crypto PROPERTIES IMPORTED_LOCATION
- ${EXTERNAL_LIBS_DIR}/${ANDROID_ABI}/lib/libcrypto.a)
-
-add_library(ssl STATIC IMPORTED)
-set_target_properties(ssl PROPERTIES IMPORTED_LOCATION
- ${EXTERNAL_LIBS_DIR}/${ANDROID_ABI}/lib/libssl.a)
-
-############
-# Boost
-############
-
-add_library(boost_chrono STATIC IMPORTED)
-set_target_properties(boost_chrono PROPERTIES IMPORTED_LOCATION
- ${EXTERNAL_LIBS_DIR}/${ANDROID_ABI}/lib/libboost_chrono.a)
-
-add_library(boost_date_time STATIC IMPORTED)
-set_target_properties(boost_date_time PROPERTIES IMPORTED_LOCATION
- ${EXTERNAL_LIBS_DIR}/${ANDROID_ABI}/lib/libboost_date_time.a)
-
-add_library(boost_filesystem STATIC IMPORTED)
-set_target_properties(boost_filesystem PROPERTIES IMPORTED_LOCATION
- ${EXTERNAL_LIBS_DIR}/${ANDROID_ABI}/lib/libboost_filesystem.a)
-
-add_library(boost_program_options STATIC IMPORTED)
-set_target_properties(boost_program_options PROPERTIES IMPORTED_LOCATION
- ${EXTERNAL_LIBS_DIR}/${ANDROID_ABI}/lib/libboost_program_options.a)
-
-add_library(boost_regex STATIC IMPORTED)
-set_target_properties(boost_regex PROPERTIES IMPORTED_LOCATION
- ${EXTERNAL_LIBS_DIR}/${ANDROID_ABI}/lib/libboost_regex.a)
-
-add_library(boost_serialization STATIC IMPORTED)
-set_target_properties(boost_serialization PROPERTIES IMPORTED_LOCATION
- ${EXTERNAL_LIBS_DIR}/${ANDROID_ABI}/lib/libboost_serialization.a)
-
-add_library(boost_system STATIC IMPORTED)
-set_target_properties(boost_system PROPERTIES IMPORTED_LOCATION
- ${EXTERNAL_LIBS_DIR}/${ANDROID_ABI}/lib/libboost_system.a)
-
-add_library(boost_thread STATIC IMPORTED)
-set_target_properties(boost_thread PROPERTIES IMPORTED_LOCATION
- ${EXTERNAL_LIBS_DIR}/${ANDROID_ABI}/lib/libboost_thread.a)
-
-add_library(boost_wserialization STATIC IMPORTED)
-set_target_properties(boost_wserialization PROPERTIES IMPORTED_LOCATION
- ${EXTERNAL_LIBS_DIR}/${ANDROID_ABI}/lib/libboost_wserialization.a)
-
-add_library(boost_log STATIC IMPORTED)
- set_target_properties(boost_log PROPERTIES IMPORTED_LOCATION
- ${EXTERNAL_LIBS_DIR}/${ANDROID_ABI}/lib/libboost_log.a)
-
-#############
-# Zano
-#############
-add_library(zano_common STATIC IMPORTED)
-set_target_properties(zano_common PROPERTIES IMPORTED_LOCATION
- ${EXTERNAL_LIBS_DIR}/${ANDROID_ABI}/lib/zano/libcommon.a)
-
-
-add_library(zano_crypto STATIC IMPORTED)
-set_target_properties(zano_crypto PROPERTIES IMPORTED_LOCATION
- ${EXTERNAL_LIBS_DIR}/${ANDROID_ABI}/lib/zano/libcrypto.a)
-
-add_library(zano_currency_core STATIC IMPORTED)
-set_target_properties(zano_currency_core PROPERTIES IMPORTED_LOCATION
- ${EXTERNAL_LIBS_DIR}/${ANDROID_ABI}/lib/zano/libcurrency_core.a)
-
-add_library(zano_z STATIC IMPORTED)
-set_target_properties(zano_z PROPERTIES IMPORTED_LOCATION
- ${EXTERNAL_LIBS_DIR}/${ANDROID_ABI}/lib/zano/libz.a)
-
-add_library(zano_wallet STATIC IMPORTED)
-set_target_properties(zano_wallet PROPERTIES IMPORTED_LOCATION
- ${EXTERNAL_LIBS_DIR}/${ANDROID_ABI}/lib/zano/libwallet.a)
-
-include_directories( ${EXTERNAL_LIBS_DIR}/${ANDROID_ABI}/include )
-include_directories( ${EXTERNAL_ZANO_ROOT}/src/wallet )
-
-
-target_link_libraries( cw_zano
- zano_common
- zano_crypto
- zano_currency_core
- zano_z
- zano_wallet
-
- boost_chrono
- boost_date_time
- boost_filesystem
- boost_program_options
- boost_regex
- boost_serialization
- boost_system
- boost_thread
- boost_wserialization
- boost_log
-
- ssl
- crypto
- ${log-lib}
- )
\ No newline at end of file
diff --git a/cw_zano/android/build.gradle b/cw_zano/android/build.gradle
deleted file mode 100644
index 68fc762f7..000000000
--- a/cw_zano/android/build.gradle
+++ /dev/null
@@ -1,45 +0,0 @@
-group 'com.cakewallet.cw_zano'
-version '1.0-SNAPSHOT'
-
-buildscript {
- ext.kotlin_version = '1.7.10'
- repositories {
- google()
- jcenter()
- }
-
- dependencies {
- classpath 'com.android.tools.build:gradle:4.1.0'
- classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
- }
-}
-
-rootProject.allprojects {
- repositories {
- google()
- jcenter()
- }
-}
-
-apply plugin: 'com.android.library'
-apply plugin: 'kotlin-android'
-
-android {
- compileSdkVersion 28
-
- sourceSets {
- main.java.srcDirs += 'src/main/kotlin'
- }
- defaultConfig {
- minSdkVersion 21
- }
- externalNativeBuild {
- cmake {
- path "CMakeLists.txt"
- }
- }
-}
-
-dependencies {
- implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
-}
diff --git a/cw_zano/android/gradle.properties b/cw_zano/android/gradle.properties
deleted file mode 100644
index 94adc3a3f..000000000
--- a/cw_zano/android/gradle.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-org.gradle.jvmargs=-Xmx1536M
-android.useAndroidX=true
-android.enableJetifier=true
diff --git a/cw_zano/android/gradle/wrapper/gradle-wrapper.properties b/cw_zano/android/gradle/wrapper/gradle-wrapper.properties
deleted file mode 100644
index 3c9d0852b..000000000
--- a/cw_zano/android/gradle/wrapper/gradle-wrapper.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-distributionBase=GRADLE_USER_HOME
-distributionPath=wrapper/dists
-zipStoreBase=GRADLE_USER_HOME
-zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
diff --git a/cw_zano/android/settings.gradle b/cw_zano/android/settings.gradle
deleted file mode 100644
index 7c4d5263b..000000000
--- a/cw_zano/android/settings.gradle
+++ /dev/null
@@ -1 +0,0 @@
-rootProject.name = 'cw_zano'
diff --git a/cw_zano/android/src/main/AndroidManifest.xml b/cw_zano/android/src/main/AndroidManifest.xml
deleted file mode 100644
index 26903e6c0..000000000
--- a/cw_zano/android/src/main/AndroidManifest.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
diff --git a/cw_zano/android/src/main/kotlin/com/cakewallet/cw_zano/CwZanoPlugin.kt b/cw_zano/android/src/main/kotlin/com/cakewallet/cw_zano/CwZanoPlugin.kt
deleted file mode 100644
index 95df8ae7b..000000000
--- a/cw_zano/android/src/main/kotlin/com/cakewallet/cw_zano/CwZanoPlugin.kt
+++ /dev/null
@@ -1,36 +0,0 @@
-package com.cakewallet.cw_zano
-
-import androidx.annotation.NonNull
-
-import io.flutter.embedding.engine.plugins.FlutterPlugin
-import io.flutter.plugin.common.MethodCall
-import io.flutter.plugin.common.MethodChannel
-import io.flutter.plugin.common.MethodChannel.MethodCallHandler
-import io.flutter.plugin.common.MethodChannel.Result
-import io.flutter.plugin.common.PluginRegistry.Registrar
-
-/** CwZanoPlugin */
-class CwZanoPlugin: FlutterPlugin, MethodCallHandler {
- /// The MethodChannel that will the communication between Flutter and native Android
- ///
- /// This local reference serves to register the plugin with the Flutter Engine and unregister it
- /// when the Flutter Engine is detached from the Activity
- private lateinit var channel : MethodChannel
-
- override fun onAttachedToEngine(@NonNull flutterPluginBinding: FlutterPlugin.FlutterPluginBinding) {
- channel = MethodChannel(flutterPluginBinding.binaryMessenger, "cw_zano")
- channel.setMethodCallHandler(this)
- }
-
- override fun onMethodCall(@NonNull call: MethodCall, @NonNull result: Result) {
- if (call.method == "getPlatformVersion") {
- result.success("Android ${android.os.Build.VERSION.RELEASE}")
- } else {
- result.notImplemented()
- }
- }
-
- override fun onDetachedFromEngine(@NonNull binding: FlutterPlugin.FlutterPluginBinding) {
- channel.setMethodCallHandler(null)
- }
-}
diff --git a/cw_zano/ios/.gitignore b/cw_zano/ios/.gitignore
deleted file mode 100644
index aa479fd3c..000000000
--- a/cw_zano/ios/.gitignore
+++ /dev/null
@@ -1,37 +0,0 @@
-.idea/
-.vagrant/
-.sconsign.dblite
-.svn/
-
-.DS_Store
-*.swp
-profile
-
-DerivedData/
-build/
-GeneratedPluginRegistrant.h
-GeneratedPluginRegistrant.m
-
-.generated/
-
-*.pbxuser
-*.mode1v3
-*.mode2v3
-*.perspectivev3
-
-!default.pbxuser
-!default.mode1v3
-!default.mode2v3
-!default.perspectivev3
-
-xcuserdata
-
-*.moved-aside
-
-*.pyc
-*sync/
-Icon?
-.tags*
-
-/Flutter/Generated.xcconfig
-/Flutter/flutter_export_environment.sh
\ No newline at end of file
diff --git a/cw_zano/ios/Assets/.gitkeep b/cw_zano/ios/Assets/.gitkeep
deleted file mode 100644
index e69de29bb..000000000
diff --git a/cw_zano/ios/Classes/CwZanoPlugin.h b/cw_zano/ios/Classes/CwZanoPlugin.h
deleted file mode 100644
index ee043b49c..000000000
--- a/cw_zano/ios/Classes/CwZanoPlugin.h
+++ /dev/null
@@ -1,4 +0,0 @@
-#import
-
-@interface CwZanoPlugin : NSObject
-@end
diff --git a/cw_zano/ios/Classes/CwZanoPlugin.m b/cw_zano/ios/Classes/CwZanoPlugin.m
deleted file mode 100644
index 987663b56..000000000
--- a/cw_zano/ios/Classes/CwZanoPlugin.m
+++ /dev/null
@@ -1,15 +0,0 @@
-#import "CwZanoPlugin.h"
-#if __has_include()
-#import
-#else
-// Support project import fallback if the generated compatibility header
-// is not copied when this plugin is created as a library.
-// https://forums.swift.org/t/swift-static-libraries-dont-copy-generated-objective-c-header/19816
-#import "cw_zano-Swift.h"
-#endif
-
-@implementation CwZanoPlugin
-+ (void)registerWithRegistrar:(NSObject*)registrar {
- [SwiftCwZanoPlugin registerWithRegistrar:registrar];
-}
-@end
diff --git a/cw_zano/ios/Classes/SwiftCwZanoPlugin.swift b/cw_zano/ios/Classes/SwiftCwZanoPlugin.swift
deleted file mode 100644
index 9c789d8a6..000000000
--- a/cw_zano/ios/Classes/SwiftCwZanoPlugin.swift
+++ /dev/null
@@ -1,14 +0,0 @@
-import Flutter
-import UIKit
-
-public class SwiftCwZanoPlugin: NSObject, FlutterPlugin {
- public static func register(with registrar: FlutterPluginRegistrar) {
- let channel = FlutterMethodChannel(name: "cw_zano", binaryMessenger: registrar.messenger())
- let instance = SwiftCwZanoPlugin()
- registrar.addMethodCallDelegate(instance, channel: channel)
- }
-
- public func handle(_ call: FlutterMethodCall, result: @escaping FlutterResult) {
- result("iOS " + UIDevice.current.systemVersion)
- }
-}
diff --git a/cw_zano/ios/Classes/zano_api.cpp b/cw_zano/ios/Classes/zano_api.cpp
deleted file mode 100644
index a62a114f8..000000000
--- a/cw_zano/ios/Classes/zano_api.cpp
+++ /dev/null
@@ -1,870 +0,0 @@
-#include
-#include "cstdlib"
-#include
-#include
-#include
-#include
-#include
-#include "thread"
-
-
-#if __APPLE__
-// Fix for randomx on ios
-void __clear_cache(void* start, void* end) { }
-//#include "../External/ios/include/wallet2_api.h"
-#endif
-
-#include "../External/include/wallet2_api.h"
-
-#include "../../../cw_shared_external/ios/External/ios/sources/zano/src/wallet/plain_wallet_api.h"
-//#include "plain_wallet_api_ex.h"
-
-
-
-//using namespace std::chrono_literals;
-
-#ifdef __cplusplus
-extern "C"
-{
-#endif
- //const uint64_t MONERO_BLOCK_SIZE = 1000;
-
- struct Utf8Box
- {
- char *value;
-
- Utf8Box(char *_value)
- {
- value = _value;
- }
- };
-
-
- struct SubaddressRow
- {
- uint64_t id;
- char *address;
- char *label;
-
- SubaddressRow(std::size_t _id, char *_address, char *_label)
- {
- id = static_cast(_id);
- address = _address;
- label = _label;
- }
- };
-
- struct AccountRow
- {
- uint64_t id;
- char *label;
-
- AccountRow(std::size_t _id, char *_label)
- {
- id = static_cast(_id);
- label = _label;
- }
- };
-
- struct ZanoBalance
- {
- uint64_t amount;
- char *assetType;
-
- ZanoBalance(char *_assetType, uint64_t _amount)
- {
- amount = _amount;
- assetType = _assetType;
- }
- };
-
- struct ZanoRate
- {
- uint64_t rate;
- char *assetType;
-
- ZanoRate(char *_assetType, uint64_t _rate)
- {
- rate = _rate;
- assetType = _assetType;
- }
- };
-
- /*struct MoneroWalletListener : Monero::WalletListener
- {
- uint64_t m_height;
- bool m_need_to_refresh;
- bool m_new_transaction;
-
- MoneroWalletListener()
- {
- m_height = 0;
- m_need_to_refresh = false;
- m_new_transaction = false;
- }
-
- void moneySpent(const std::string &txId, uint64_t amount, std::string assetType)
- {
- m_new_transaction = true;
- }
-
- void moneyReceived(const std::string &txId, uint64_t amount, std::string assetType)
- {
- m_new_transaction = true;
- }
-
- void unconfirmedMoneyReceived(const std::string &txId, uint64_t amount)
- {
- m_new_transaction = true;
- }
-
- void newBlock(uint64_t height)
- {
- m_height = height;
- }
-
- void updated()
- {
- m_new_transaction = true;
- }
-
- void refreshed()
- {
- m_need_to_refresh = true;
- }
-
- void resetNeedToRefresh()
- {
- m_need_to_refresh = false;
- }
-
- bool isNeedToRefresh()
- {
- return m_need_to_refresh;
- }
-
- bool isNewTransactionExist()
- {
- return m_new_transaction;
- }
-
- void resetIsNewTransactionExist()
- {
- m_new_transaction = false;
- }
-
- uint64_t height()
- {
- return m_height;
- }
- };
- */
-
- struct TransactionInfoRow
- {
- uint64_t amount;
- uint64_t fee;
- uint64_t blockHeight;
- uint64_t confirmations;
- uint32_t subaddrAccount;
- int8_t direction;
- int8_t isPending;
- uint32_t subaddrIndex;
-
- char *hash;
- char *paymentId;
- char *assetType;
-
- int64_t datetime;
-
- TransactionInfoRow(/*wallet_public::wallet_transfer_info& wti*/)
- {
- /*
- amount = wti.subtransfers.
- fee = transaction->fee();
- blockHeight = transaction->blockHeight();
- subaddrAccount = transaction->subaddrAccount();
- std::set::iterator it = transaction->subaddrIndex().begin();
- subaddrIndex = *it;
- confirmations = transaction->confirmations();
- datetime = static_cast(transaction->timestamp());
- direction = transaction->direction();
- isPending = static_cast(transaction->isPending());
- std::string *hash_str = new std::string(transaction->hash());
- hash = strdup(hash_str->c_str());
- paymentId = strdup(transaction->paymentId().c_str());
- assetType = strdup(transaction->assetType().c_str());
- */
- }
- };
-
- /*
- Monero::Wallet *m_wallet;
- Monero::TransactionHistory *m_transaction_history;
- MoneroWalletListener *m_listener;
- Monero::Subaddress *m_subaddress;
- Monero::SubaddressAccount *m_account;
- uint64_t m_last_known_wallet_height;
- uint64_t m_cached_syncing_blockchain_height = 0;
- std::mutex store_lock;
- bool is_storing = false;
- */
- //void change_current_wallet(Monero::Wallet *wallet)
- //{
- /*
- m_wallet = wallet;
- m_listener = nullptr;
-
-
- if (wallet != nullptr)
- {
- m_transaction_history = wallet->history();
- }
- else
- {
- m_transaction_history = nullptr;
- }
-
- if (wallet != nullptr)
- {
- m_account = wallet->subaddressAccount();
- }
- else
- {
- m_account = nullptr;
- }
-
- if (wallet != nullptr)
- {
- m_subaddress = wallet->subaddress();
- }
- else
- {
- m_subaddress = nullptr;
- }
- */
- //}
-
- //Monero::Wallet *get_current_wallet()
- //{
-
- // return nullptr;//return m_wallet;
- //}
-
- char * create_wallet(char *path, char *password, char *language, int32_t networkType, char *error)
- {
- return strdup(plain_wallet::generate(path, password).c_str());
- }
-
- char * restore_wallet_from_seed(char *path, char *password, char *seed, int32_t networkType, uint64_t restoreHeight, char *error)
- {
- return strdup(plain_wallet::restore(seed, path, password, "").c_str());
- }
-
- bool restore_wallet_from_keys(char *path, char *password, char *language, char *address, char *viewKey, char *spendKey, int32_t networkType, uint64_t restoreHeight, char *error)
- {
- /*
- Monero::NetworkType _networkType = static_cast(networkType);
- Monero::Wallet *wallet = Monero::WalletManagerFactory::getWalletManager()->createWalletFromKeys(
- std::string(path),
- std::string(password),
- std::string(language),
- _networkType,
- (uint64_t)restoreHeight,
- std::string(address),
- std::string(viewKey),
- std::string(spendKey));
-
- int status;
- std::string errorString;
-
- wallet->statusWithErrorString(status, errorString);
-
- if (status != Monero::Wallet::Status_Ok || !errorString.empty())
- {
- error = strdup(errorString.c_str());
- return false;
- }
-
- change_current_wallet(wallet);
- */
- return false;
- }
-
- char * load_wallet(char *path, char *password, int32_t nettype)
- {
- return strdup(plain_wallet::open(path, password).c_str());
- }
-
- char *error_string() {
- return strdup("");//strdup(get_current_wallet()->errorString().c_str());
- }
-
-
- bool is_wallet_exist(char *path)
- {
- return plain_wallet::is_wallet_exist(path);
- }
-
- char *close_wallet(uint64_t hwallet)
- {
- return strdup(plain_wallet::close_wallet(hwallet).c_str());
- }
-
-
- char *get_wallet_info(uint64_t hwallet) {
- return strdup(plain_wallet::get_wallet_info(hwallet).c_str());
- }
-
- /*
- get_filename(): -> get_wallet_info(h).wi.path
- secret_view_key(): -> get_wallet_info(h).wi_extended.view_private_key
- public_view_key(): -> get_wallet_info(h).wi_extended.view_public_key
- secret_spend_key(): -> get_wallet_info(h).wi_extended.spend_private_key
- public_spend_key(): -> get_wallet_info(h).wi_extended.spend_public_key
- get_address(): -> get_wallet_info(h).wi.address
- seed(): -> get_wallet_info(h).wi_extended.seed
- get_current_height(): -> get_wallet_status(h).current_wallet_height
- get_node_height(): -> get_wallet_status(h).current_daemon_height
-
- get_syncing_height() ??? how it's different from get_current_height??=
- start_refresh() ???
- set_refresh_from_block_height ???
- set_recovering_from_seed ???
- get_node_height_or_update ???
- is_needed_to_refresh ???
- is_new_transaction_exist ???
- set_listener ???
- transactions_refresh() ???
- on_startup() ???
- rescan_blockchain() ???
- set_trusted_daemon()/trusted_daemon() ???
-
-
- asset_types_size()/asset_types() dedicated from balance
-
- update_rate()/get_rate()/size_of_rate() - need to fetch Zano price from coinmarketcap API, other assets ???
-
- subaddrress_size()/subaddrress_get_all() - no subaddresses, only one address, available via get_wallet_info(h).wi.address
-
- connect_to_node()/is_connected(): -> get_connectivity_status(): {
- "is_online": true,
- "last_daemon_is_disconnected": false,
- "is_server_busy": false,
- "last_proxy_communicate_timestamp": 12121212
- }
-
- }
-
- get_full_balance/get_unlocked_balance(): -> async_call("invoke", hwallet, "{method: 'get_recent_txs_and_info', params: {offset: 0,count: 30,update_provision_info: true}}")
- return list of last transactions + balances
-
- store(): -> async_call("invoke", hwallet, "{method: 'store', params: {}}")
-
- set_password() return "OK" if succeded
-
- transaction_create/transaction_commit () replaced with method 'transfer' that receive following argument in JSON:
- async_call("invoke", hwallet, "
- {
- "method": "transfer",
- "params": {
- "destinations": [
- {
- "amount": "0.222",
- "address": "iZ2GHyPD7g28hgBfboZeCENaYrHSYZ1bLFi5cgWvn4WJLaxfgs4kqG6cJi9ai2zrXWSCpsvRXit14gKjeijx6YPCLJEv6Fx4rVm1hdAGQFiv",
- "asset_id" "bec034f4f158f97cfc4933c3e387b098f69870e955a49061f9ce956212729534"
- }
- ],
- "fee": 10000000000,
- "mixin": 10,
- "payment_id": "",
- "comment": "haha",
- "push_payer": false,
- "hide_receiver": true
- }
- }
- ")
-
- after transaction_create() event happened you need to call API get_current_tx_fee(priority_raw), get fee from it and use it to
- show to dialog in UI, and then if confirmed when transaction_commit() need to actually call async_call(...) that do actual transfer
-
- subaddress doesn't exist in Zano so following api is not present:
- subaddress_add_row/subaddress_set_label/subaddress_refresh/account_size/account_get_all/account_add_row/account_set_label_row/account_refresh
-
- transactions_get_all() ->
- async_call("invoke", hwallet, "
- {
- "method": "get_recent_txs_and_info",
- "params": {
- "offset": 0,
- "count": 30,
- "update_provision_info": true
- }
- }
- ")
-
- transactions_count() -> invoke: get_recent_txs_and_info
-
-
-
-
- */
-
- uint64_t get_current_tx_fee(uint64_t priority)
- {
- return plain_wallet::get_current_tx_fee(priority);
- }
-
-
- char* get_wallet_status(uint64_t hwallet)
- {
- return strdup(plain_wallet::get_wallet_status(hwallet).c_str());
- }
-
- char* get_address_info(char* address)
- {
- return strdup(plain_wallet::get_address_info(address).c_str());
- }
-
-
- char* async_call(char* method_name, uint64_t instance_id, char* params)
- {
- return strdup(plain_wallet::async_call(method_name, instance_id, params).c_str());
- }
- char* try_pull_result(uint64_t job_id)
- {
- return strdup(plain_wallet::try_pull_result(job_id).c_str());
- }
-
- char* sync_call(const std::string& method_name, uint64_t instance_id, const std::string& params)
- {
- return strdup(plain_wallet::sync_call(method_name, instance_id, params).c_str());
- }
-
- char* get_connectivity_status()
- {
- return strdup(plain_wallet::get_connectivity_status().c_str());
- }
-
- bool setup_node(char *address, char *login, char *password, bool use_ssl, bool is_light_wallet, char *error)
- {
- nice(19);
- if(use_ssl)
- {
- //LOG_ERROR("SSL is not supported yet for Zano");
- return false;
- }
-
- std::string res = plain_wallet::init(address, "", 0);
- if(API_RETURN_CODE_OK != res)
- {
- //LOG_ERROR("Failed init wallet");
- return false;
- }
-
- return true;
- }
-
- //void start_refresh()
- //{
- //get_current_wallet()->refreshAsync();
- //get_current_wallet()->startRefresh();
- //}
-
- //void set_refresh_from_block_height(uint64_t height)
- //{
- //get_current_wallet()->setRefreshFromBlockHeight(height);
- //}
-
- //void set_recovering_from_seed(bool is_recovery)
- //{
- //get_current_wallet()->setRecoveringFromSeed(is_recovery);
- //}
-
- char* set_password(uint64_t hwallet, char *password, Utf8Box &error)
- {
- return strdup(plain_wallet::reset_wallet_password(hwallet, password).c_str());
- }
-
-
- /*
- bool transaction_create(char *address, char *asset_type, char *payment_id, char *amount,
- uint8_t priority_raw, uint32_t subaddr_account, Utf8Box &error, PendingTransactionRaw &pendingTransaction)
- {
- pendingTransaction.fee = plain_wallet::get_current_tx_fee(priority_raw);
- pendingTransaction.amount = strdup(amount);
- pendingTransaction.address = strdup(address);
- pendingTransaction.asset_type = strdup(asset_type);
- pendingTransaction.payment_id = strdup(payment_id);
- pendingTransaction.priority_raw = priority_raw;
- pendingTransaction.subaddr_account = 0;
- return true;
- }*/
-
- //bool transaction_create_mult_dest(char **addresses, char *asset_type, char *payment_id, char **amounts, uint32_t size,
- // uint8_t priority_raw, uint32_t subaddr_account, Utf8Box &error, PendingTransactionRaw &pendingTransaction)
- //{
- /*
- nice(19);
-
- std::vector _addresses;
- std::vector _amounts;
-
- for (int i = 0; i < size; i++) {
- _addresses.push_back(std::string(*addresses));
- _amounts.push_back(Monero::Wallet::amountFromString(std::string(*amounts)));
- addresses++;
- amounts++;
- }
-
- auto priority = static_cast(priority_raw);
- std::string _payment_id;
- Monero::PendingTransaction *transaction;
-
- if (payment_id != nullptr)
- {
- _payment_id = std::string(payment_id);
- }
-
- transaction = m_wallet->createTransactionMultDest(_addresses, _payment_id, _amounts,
- std::string(asset_type), std::string(asset_type), m_wallet->defaultMixin(), priority, subaddr_account,{});
-
- int status = transaction->status();
-
- if (status == Monero::PendingTransaction::Status::Status_Error || status == Monero::PendingTransaction::Status::Status_Critical)
- {
- error = Utf8Box(strdup(transaction->errorString().c_str()));
- return false;
- }
-
- if (m_listener != nullptr) {
- m_listener->m_new_transaction = true;
- }
-
- pendingTransaction = PendingTransactionRaw(transaction);
- return true;
- */
- // return false;
- //}
-
- //bool transaction_commit(PendingTransactionRaw *transaction, Utf8Box &error)
- //{
- /*
- bool committed = transaction->transaction->commit();
-
- if (!committed)
- {
- error = Utf8Box(strdup(transaction->transaction->errorString().c_str()));
- } else if (m_listener != nullptr) {
- m_listener->m_new_transaction = true;
- }
-
- return committed;
- */
- // return false;
- //}
-
- //uint64_t get_node_height_or_update(uint64_t base_eight)
- //{
- /*
- if (m_cached_syncing_blockchain_height < base_eight) {
- m_cached_syncing_blockchain_height = base_eight;
- }
-
- return m_cached_syncing_blockchain_height;
- */
- // return 0;
- //}
-
- //uint64_t get_syncing_height(uint64_t hwallet)
- //{
- /*
- if (m_listener == nullptr) {
- return 0;
- }
-
- uint64_t height = m_listener->height();
-
- if (height <= 1) {
- return 0;
- }
-
- if (height != m_last_known_wallet_height)
- {
- m_last_known_wallet_height = height;
- }
-
- return height;
- */
- // return 0;
- //}
-
- //uint64_t is_needed_to_refresh()
- //{
- // return 0;
- /*
- if (m_listener == nullptr) {
- return false;
- }
-
- bool should_refresh = m_listener->isNeedToRefresh();
-
- if (should_refresh) {
- m_listener->resetNeedToRefresh();
- }
-
- return should_refresh;
- */
- //}
-
- //uint8_t is_new_transaction_exist()
- //{
- /*
- if (m_listener == nullptr) {
- return false;
- }
-
- bool is_new_transaction_exist = m_listener->isNewTransactionExist();
-
- if (is_new_transaction_exist)
- {
- m_listener->resetIsNewTransactionExist();
- }
-
- return is_new_transaction_exist;
- */
- // return 0;
- //}
-
- //void set_listener()
- //{
- /*
- m_last_known_wallet_height = 0;
-
- if (m_listener != nullptr)
- {
- free(m_listener);
- }
-
- m_listener = new MoneroWalletListener();
- get_current_wallet()->setListener(m_listener);
- */
- //}
-
- //int64_t *subaddrress_get_all()
- //{
- /*
- std::vector _subaddresses = m_subaddress->getAll();
- size_t size = _subaddresses.size();
- int64_t *subaddresses = (int64_t *)malloc(size * sizeof(int64_t));
-
- for (int i = 0; i < size; i++)
- {
- Monero::SubaddressRow *row = _subaddresses[i];
- SubaddressRow *_row = new SubaddressRow(row->getRowId(), strdup(row->getAddress().c_str()), strdup(row->getLabel().c_str()));
- subaddresses[i] = reinterpret_cast(_row);
- }
-
- return subaddresses;
- */
- // return nullptr;
- //}
-
- //int32_t subaddrress_size()
- //{
- //std::vector _subaddresses = m_subaddress->getAll();
- //return _subaddresses.size();
- // return 0;
- //}
-
- //void subaddress_add_row(uint32_t accountIndex, char *label)
- //{
- //m_subaddress->addRow(accountIndex, std::string(label));
- //}
-
- //void subaddress_set_label(uint32_t accountIndex, uint32_t addressIndex, char *label)
- //{
- //m_subaddress->setLabel(accountIndex, addressIndex, std::string(label));
- //}
-
- //void subaddress_refresh(uint32_t accountIndex)
- //{
- //m_subaddress->refresh(accountIndex);
- //}
- //int32_t account_size()
- //{
- //std::vector _accocunts = m_account->getAll();
- //return _accocunts.size();
- // return 0;
- //}
-
- //int64_t *account_get_all()
- //{
- /*
- std::vector _accocunts = m_account->getAll();
- size_t size = _accocunts.size();
- int64_t *accocunts = (int64_t *)malloc(size * sizeof(int64_t));
-
- for (int i = 0; i < size; i++)
- {
- Monero::SubaddressAccountRow *row = _accocunts[i];
- AccountRow *_row = new AccountRow(row->getRowId(), strdup(row->getLabel().c_str()));
- accocunts[i] = reinterpret_cast(_row);
- }
-
- return accocunts;
- */
- // return nullptr;
- //}
-
- //void account_add_row(char *label)
- //{
- //m_account->addRow(std::string(label));
- //}
- //void account_set_label_row(uint32_t account_index, char *label)
- //{
- //m_account->setLabel(account_index, label);
- //}
-
- //void account_refresh()
- //{
- //m_account->refresh();
- //}
-
- //int64_t *transactions_get_all()
- //{
- /*
- std::vector transactions = m_transaction_history->getAll();
- size_t size = transactions.size();
- int64_t *transactionAddresses = (int64_t *)malloc(size * sizeof(int64_t));
-
- for (int i = 0; i < size; i++)
- {
- Monero::TransactionInfo *row = transactions[i];
- TransactionInfoRow *tx = new TransactionInfoRow(row);
- transactionAddresses[i] = reinterpret_cast(tx);
- }
-
- return transactionAddresses;
- */
- // return nullptr;
- //}
-
- //void transactions_refresh()
- //{
- //m_transaction_history->refresh();
- //}
-
- //int64_t transactions_count()
- //{
- //return m_transaction_history->count();
- // return 0;
- //}
-
- //int LedgerExchange(
- // unsigned char *command,
- // unsigned int cmd_len,
- // unsigned char *response,
- // unsigned int max_resp_len)
- //{
- // return -1;
- //}
-
- //int LedgerFind(char *buffer, size_t len)
- //{
- // return -1;
- //}
-
- //void on_startup()
- //{
- //Monero::Utils::onStartup();
- //Monero::WalletManagerFactory::setLogLevel(4);
- //}
-
- //void rescan_blockchain()
- //{
- //m_wallet->rescanBlockchainAsync();
- //}
-
- char * get_tx_key(char * txId)
- {
- return strdup(""); //return strdup(m_wallet->getTxKey(std::string(txId)).c_str());
- }
-
- //int32_t asset_types_size()
- //{
- // return 0; //return Monero::Assets::list().size();
- //}
-
- //char **asset_types()
- //{
- /*
- size_t size = Monero::Assets::list().size();
- std::vector assetList = Monero::Assets::list();
- char **assetTypesPts;
- assetTypesPts = (char **) malloc( size * sizeof(char*));
-
- for (int i = 0; i < size; i++)
- {
-
- std::string asset = assetList[i];
- //assetTypes[i] = (char *)malloc( 5 * sizeof(char));
- assetTypesPts[i] = strdup(asset.c_str());
- }
-
- return assetTypesPts;
- */
- // return nullptr;
- //}
-
- //std::map rates;
-
- //void update_rate()
- //{
- //rates = get_current_wallet()->oracleRates();
- //}
-
- //int64_t *get_rate()
- //{
- /*
- size_t size = rates.size();
- int64_t *havenRates = (int64_t *)malloc(size * sizeof(int64_t));
- int i = 0;
-
- for (auto const& rate : rates)
- {
- char *assetType = strdup(rate.first.c_str());
- HavenRate *havenRate = new HavenRate(assetType, rate.second);
- havenRates[i] = reinterpret_cast(havenRate);
- i++;
- }
-
- return havenRates;
- */
- // return nullptr;
- //}
-
- //int32_t size_of_rate()
- //{
- // return 0; //return static_cast(rates.size());
- //}
-
- void set_trusted_daemon(bool arg)
- {
- //m_wallet->setTrustedDaemon(arg);
- }
-
- bool trusted_daemon()
- {
- return false;
- //return m_wallet->trustedDaemon();
- }
-
- char* get_version()
- {
- return strdup(plain_wallet::get_version().c_str());
- }
-
-#ifdef __cplusplus
-}
-#endif
diff --git a/cw_zano/ios/External/CMakeLists.txt b/cw_zano/ios/External/CMakeLists.txt
deleted file mode 100644
index 420372308..000000000
--- a/cw_zano/ios/External/CMakeLists.txt
+++ /dev/null
@@ -1,168 +0,0 @@
-# Portions Copyright (c) 2017-2022, The Monero Project
-# This file is based off of the https://code.google.com/archive/p/ios-cmake/
-# It has been altered for Monero iOS development
-#
-#
-# Options:
-#
-# IOS_PLATFORM = OS (default) or SIMULATOR or SIMULATOR64
-# This decides if SDKS will be selected from the iPhoneOS.platform or iPhoneSimulator.platform folders
-# OS - the default, used to build for iPhone and iPad physical devices, which have an arm arch.
-# SIMULATOR - used to build for the Simulator platforms, which have an x86 arch.
-#
-# CMAKE_IOS_DEVELOPER_ROOT = automatic(default) or /path/to/platform/Developer folder
-# By default this location is automatcially chosen based on the IOS_PLATFORM value above.
-# If set manually, it will override the default location and force the user of a particular Developer Platform
-#
-# CMAKE_IOS_SDK_ROOT = automatic(default) or /path/to/platform/Developer/SDKs/SDK folder
-# By default this location is automatcially chosen based on the CMAKE_IOS_DEVELOPER_ROOT value.
-# In this case it will always be the most up-to-date SDK found in the CMAKE_IOS_DEVELOPER_ROOT path.
-# If set manually, this will force the use of a specific SDK version
-
-message (STATUS "Running Zano IOS setup cmake file")
-
-# Standard settings
-set (CMAKE_SYSTEM_NAME iOS)
-set (CMAKE_SYSTEM_VERSION 15)
-#set (UNIX True)
-set (APPLE True)
-set (IOS True)
-
-# Required as of cmake 2.8.10
-set (CMAKE_OSX_DEPLOYMENT_TARGET "" CACHE STRING "Force unset of the deployment target for iOS" FORCE)
-
-# Determine the cmake host system version so we know where to find the iOS SDKs
-#find_program (CMAKE_UNAME uname /bin /usr/bin /usr/local/bin)
-#if (CMAKE_UNAME)
-# exec_program(uname ARGS -r OUTPUT_VARIABLE CMAKE_HOST_SYSTEM_VERSION)
-# string (REGEX REPLACE "^([0-9]+)\\.([0-9]+).*$" "\\1" DARWIN_MAJOR_VERSION "${CMAKE_HOST_SYSTEM_VERSION}")
-#endif (CMAKE_UNAME)
-# Force the compilers to gcc for iOS
-# include (CMakeForceCompiler)
-# set (MAKE_C_COMPILER "/usr/bin/gcc Apple")
-# set (CMAKE_CXX_COMPILER "/usr/bin/g++ Apple")
-#set(CMAKE_AR ar CACHE FILEPATH "" FORCE)
-
-# Skip the platform compiler checks for cross compiling
-# set (CMAKE_CXX_COMPILER_WORKS TRUE)
-# set (CMAKE_C_COMPILER_WORKS TRUE)
-
-# All iOS/Darwin specific settings - some may be redundant
-set (CMAKE_SHARED_LIBRARY_PREFIX "lib")
-set (CMAKE_SHARED_LIBRARY_SUFFIX ".dylib")
-set (CMAKE_SHARED_MODULE_PREFIX "lib")
-set (CMAKE_SHARED_MODULE_SUFFIX ".so")
-# set (CMAKE_MODULE_EXISTS 1)
-#set (CMAKE_DL_LIBS "")
-
-#set (CMAKE_C_OSX_COMPATIBILITY_VERSION_FLAG "-compatibility_version ")
-#set (CMAKE_C_OSX_CURRENT_VERSION_FLAG "-current_version ")
-#set (CMAKE_CXX_OSX_COMPATIBILITY_VERSION_FLAG "${CMAKE_C_OSX_COMPATIBILITY_VERSION_FLAG}")
-#set (CMAKE_CXX_OSX_CURRENT_VERSION_FLAG "${CMAKE_C_OSX_CURRENT_VERSION_FLAG}")
-
-# Hidden visibilty is required for cxx on iOS
-# set (CMAKE_C_FLAGS_INIT "")
-# set (CMAKE_CXX_FLAGS_INIT "-fvisibility=hidden -fvisibility-inlines-hidden")
-
-#set (CMAKE_C_LINK_FLAGS "-Wl,-search_paths_first ${CMAKE_C_LINK_FLAGS}")
-#set (CMAKE_CXX_LINK_FLAGS "-Wl,-search_paths_first ${CMAKE_CXX_LINK_FLAGS}")
-
-#set (CMAKE_PLATFORM_HAS_INSTALLNAME 1)
-#set (CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-dynamiclib -headerpad_max_install_names")
-#set (CMAKE_SHARED_MODULE_CREATE_C_FLAGS "-bundle -headerpad_max_install_names")
-#set (CMAKE_SHARED_MODULE_LOADER_C_FLAG "-Wl,-bundle_loader,")
-#set (CMAKE_SHARED_MODULE_LOADER_CXX_FLAG "-Wl,-bundle_loader,")
-#set (CMAKE_FIND_LIBRARY_SUFFIXES ".dylib" ".so" ".a")
-
-# Setup iOS platform unless specified manually with IOS_PLATFORM
-if (NOT DEFINED IOS_PLATFORM)
- set (IOS_PLATFORM "OS")
-endif (NOT DEFINED IOS_PLATFORM)
-set (IOS_PLATFORM ${IOS_PLATFORM} CACHE STRING "Type of iOS Platform")
-
-# Setup building for arm64 or not
-if (NOT DEFINED BUILD_ARM64)
- set (BUILD_ARM64 true)
-endif (NOT DEFINED BUILD_ARM64)
-set (BUILD_ARM64 ${BUILD_ARM64} CACHE STRING "Build arm64 arch or not")
-
-# Check the platform selection and setup for developer root
-if (${IOS_PLATFORM} STREQUAL "OS")
- set (IOS_PLATFORM_LOCATION "iPhoneOS.platform")
-
- # This causes the installers to properly locate the output libraries
- set (CMAKE_XCODE_EFFECTIVE_PLATFORMS "-iphoneos")
-elseif (${IOS_PLATFORM} STREQUAL "SIMULATOR")
- set (SIMULATOR true)
- set (IOS_PLATFORM_LOCATION "iPhoneSimulator.platform")
-
- # This causes the installers to properly locate the output libraries
- set (CMAKE_XCODE_EFFECTIVE_PLATFORMS "-iphonesimulator")
-elseif (${IOS_PLATFORM} STREQUAL "SIMULATOR64")
- set (SIMULATOR true)
- set (IOS_PLATFORM_LOCATION "iPhoneSimulator.platform")
-
- # This causes the installers to properly locate the output libraries
- set (CMAKE_XCODE_EFFECTIVE_PLATFORMS "-iphonesimulator")
-else (${IOS_PLATFORM} STREQUAL "OS")
- message (FATAL_ERROR "Unsupported IOS_PLATFORM value selected. Please choose OS or SIMULATOR")
-endif (${IOS_PLATFORM} STREQUAL "OS")
-
-# Setup iOS developer location unless specified manually with CMAKE_IOS_DEVELOPER_ROOT
-# Note Xcode 4.3 changed the installation location, choose the most recent one available
-# exec_program(/usr/bin/xcode-select ARGS -print-path OUTPUT_VARIABLE CMAKE_XCODE_DEVELOPER_DIR)
-# set (XCODE_POST_43_ROOT "${CMAKE_XCODE_DEVELOPER_DIR}/Platforms/${IOS_PLATFORM_LOCATION}/Developer")
-# set (XCODE_PRE_43_ROOT "/Developer/Platforms/${IOS_PLATFORM_LOCATION}/Developer")
-#if (NOT DEFINED CMAKE_IOS_DEVELOPER_ROOT)
-# if (EXISTS ${XCODE_POST_43_ROOT})
-# set (CMAKE_IOS_DEVELOPER_ROOT ${XCODE_POST_43_ROOT})
-# elseif(EXISTS ${XCODE_PRE_43_ROOT})
-# set (CMAKE_IOS_DEVELOPER_ROOT ${XCODE_PRE_43_ROOT})
-# endif (EXISTS ${XCODE_POST_43_ROOT})
-#endif (NOT DEFINED CMAKE_IOS_DEVELOPER_ROOT)
-#set (CMAKE_IOS_DEVELOPER_ROOT ${CMAKE_IOS_DEVELOPER_ROOT} CACHE PATH "Location of iOS Platform")
-
-# Find and use the most recent iOS sdk unless specified manually with CMAKE_IOS_SDK_ROOT
-#if (NOT DEFINED CMAKE_IOS_SDK_ROOT)
-# file (GLOB _CMAKE_IOS_SDKS "${CMAKE_IOS_DEVELOPER_ROOT}/SDKs/*")
-# if (_CMAKE_IOS_SDKS)
-# list (SORT _CMAKE_IOS_SDKS)
-# list (REVERSE _CMAKE_IOS_SDKS)
-# list (GET _CMAKE_IOS_SDKS 0 CMAKE_IOS_SDK_ROOT)
-# else (_CMAKE_IOS_SDKS)
-# message (FATAL_ERROR "No iOS SDK's found in default search path ${CMAKE_IOS_DEVELOPER_ROOT}. Manually set CMAKE_IOS_SDK_ROOT or install the iOS SDK.")
-# endif (_CMAKE_IOS_SDKS)
-# message (STATUS "Toolchain using default iOS SDK: ${CMAKE_IOS_SDK_ROOT}")
-#endif (NOT DEFINED CMAKE_IOS_SDK_ROOT)
-#set (CMAKE_IOS_SDK_ROOT ${CMAKE_IOS_SDK_ROOT} CACHE PATH "Location of the selected iOS SDK")
-
-# Set the sysroot default to the most recent SDK
-#set (CMAKE_OSX_SYSROOT ${CMAKE_IOS_SDK_ROOT} CACHE PATH "Sysroot used for iOS support")
-# set (CMAKE_OSX_SYSROOT ${CMAKE_OSX_SYSROOT})
-#set(CMAKE_OSX_SYSROOT "$(xcrun --sdk ${IOS_PLATFORM_LOCATION} --show-sdk-path)")
-
-
-# set the architecture for iOS
-#if (NOT DEFINED ARCH)
-# set (ARCH armv7)
-#endif()
-set (IOS_ARCH ${ARCH})
-
-#set (CMAKE_OSX_ARCHITECTURES ${IOS_ARCH} CACHE STRING "Build architecture for iOS")
-set(CMAKE_OSX_ARCHITECTURES arm64)
-message(STATUS "ios arch: ${IOS_ARCH}")
-
-# Set the find root to the iOS developer roots and to user defined paths
-#set (CMAKE_FIND_ROOT_PATH ${CMAKE_IOS_DEVELOPER_ROOT} ${CMAKE_IOS_SDK_ROOT} ${CMAKE_PREFIX_PATH} CACHE STRING "iOS find search path root")
-
-# default to searching for frameworks first
-# set (CMAKE_FIND_FRAMEWORK FIRST)
-
-# set up the default search directories for frameworks
-# set (CMAKE_SYSTEM_FRAMEWORK_PATH
-# ${CMAKE_IOS_SDK_ROOT}/System/Library/Frameworks
-# ${CMAKE_IOS_SDK_ROOT}/System/Library/PrivateFrameworks
-# ${CMAKE_IOS_SDK_ROOT}/Developer/Library/Frameworks
-#)
-
-message(STATUS "IOS CMAKE conf finished")
\ No newline at end of file
diff --git a/cw_zano/ios/External/include/wallet2_api.h b/cw_zano/ios/External/include/wallet2_api.h
deleted file mode 100644
index 1065f8f84..000000000
--- a/cw_zano/ios/External/include/wallet2_api.h
+++ /dev/null
@@ -1,1333 +0,0 @@
-// Copyright (c) 2014-2019, The Monero Project
-//
-// All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without modification, are
-// permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this list of
-// conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice, this list
-// of conditions and the following disclaimer in the documentation and/or other
-// materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its contributors may be
-// used to endorse or promote products derived from this software without specific
-// prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
-// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
-// THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
-// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
-// THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-//
-// Parts of this file are originally copyright (c) 2012-2013 The Cryptonote developers
-
-#pragma once
-
-
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include