From fb76ef5dddd4403e7feca268680b86d331bb6957 Mon Sep 17 00:00:00 2001 From: Czarek Nakamoto Date: Wed, 27 Dec 2023 22:04:19 +0100 Subject: ci update, cpp update --- libbridge/CMakeLists.txt | 2 +- libbridge/src/main/cpp/wallet2_api_c.cpp | 44 +++++++++----------- libbridge/src/main/cpp/wallet2_api_c.h | 69 +++----------------------------- 3 files changed, 25 insertions(+), 90 deletions(-) (limited to 'libbridge') diff --git a/libbridge/CMakeLists.txt b/libbridge/CMakeLists.txt index 8c5160f..df2e7f7 100644 --- a/libbridge/CMakeLists.txt +++ b/libbridge/CMakeLists.txt @@ -173,7 +173,7 @@ set_target_properties(rpc_base PROPERTIES IMPORTED_LOCATION # TODO(mrcyjanek): fix (x86_64 maybe?) add_library(wallet-crypto STATIC IMPORTED) set_target_properties(wallet-crypto PROPERTIES IMPORTED_LOCATION - ${EXTERNAL_LIBS_DIR}/monero/libwallet-crypto.a) + ${EXTERNAL_LIBS_DIR}/monero/build/release/src/crypto/wallet/libwallet-crypto.a) add_library(cryptonote_format_utils_basic STATIC IMPORTED) set_target_properties(cryptonote_format_utils_basic PROPERTIES IMPORTED_LOCATION diff --git a/libbridge/src/main/cpp/wallet2_api_c.cpp b/libbridge/src/main/cpp/wallet2_api_c.cpp index 1147031..4818e1d 100644 --- a/libbridge/src/main/cpp/wallet2_api_c.cpp +++ b/libbridge/src/main/cpp/wallet2_api_c.cpp @@ -1,22 +1,7 @@ -/** - * Copyright (c) 2017 m2049r - *

- * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - *

- * http://www.apache.org/licenses/LICENSE-2.0 - *

- * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - #include #include "wallet2_api_c.h" #include "wallet2_api.h" +#include #ifdef __cplusplus extern "C" @@ -40,12 +25,10 @@ extern "C" { #endif -// void* MONERO_createWalletJ(const char* path, const char* password, const char* language, int networkType); -void* MONERO_createWalletJ(const char* path, const char* password, const char* language, int networkType) { +// void* MONERO_WalletManager_createWallet(const char* path, const char* password, const char* language, int networkType) +void* MONERO_WalletManager_createWallet(const char* path, const char* password, const char* language, int networkType) { Monero::NetworkType _networkType = static_cast(networkType); - std::cout << "WE GOT OUT\n"; - std::string _path(path); std::string _password(password); std::string _language(language); @@ -60,13 +43,24 @@ void* MONERO_createWalletJ(const char* path, const char* password, const char* l _language, _networkType); - int status; - std::string errorString; - wallet->statusWithErrorString(status, errorString); + return reinterpret_cast(wallet); +} + +// virtual Wallet * recoveryWallet(const std::string &path, const std::string &mnemonic, NetworkType nettype, uint64_t restoreHeight = 0) = 0; - std::cout << status << " - " << errorString << "\n"; +const char* MONERO_Wallet_errorString(void* wallet_ptr) { + Monero::Wallet *wallet = reinterpret_cast(wallet_ptr); + return wallet->errorString().c_str(); +} - return reinterpret_cast(wallet); +int MONERO_Wallet_status(void* wallet_ptr) { + Monero::Wallet *wallet = reinterpret_cast(wallet_ptr); + return wallet->status(); +} + +int MONERO_DEBUG_sleep(int time) { + sleep(time); + return time-1; } #ifdef __cplusplus diff --git a/libbridge/src/main/cpp/wallet2_api_c.h b/libbridge/src/main/cpp/wallet2_api_c.h index b0b3502..a812016 100644 --- a/libbridge/src/main/cpp/wallet2_api_c.h +++ b/libbridge/src/main/cpp/wallet2_api_c.h @@ -1,24 +1,3 @@ -/** - * Copyright (c) 2017 m2049r - *

- * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - *

- * http://www.apache.org/licenses/LICENSE-2.0 - *

- * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef XMRWALLET_WALLET_LIB_H -#define XMRWALLET_WALLET_LIB_H - -#include - /* #include @@ -28,54 +7,16 @@ #define LOGE(...) __android_log_print(ANDROID_LOG_ERROR,LOG_TAG,__VA_ARGS__) */ -jfieldID getHandleField(JNIEnv *env, jobject obj, const char *fieldName = "handle") { - jclass c = env->GetObjectClass(obj); - return env->GetFieldID(c, fieldName, "J"); // of type long -} - -template -T *getHandle(JNIEnv *env, jobject obj, const char *fieldName = "handle") { - jlong handle = env->GetLongField(obj, getHandleField(env, obj, fieldName)); - return reinterpret_cast(handle); -} - -void setHandleFromLong(JNIEnv *env, jobject obj, jlong handle) { - env->SetLongField(obj, getHandleField(env, obj), handle); -} - -template -void setHandle(JNIEnv *env, jobject obj, T *t) { - jlong handle = reinterpret_cast(t); - setHandleFromLong(env, obj, handle); -} - #ifdef __cplusplus extern "C" { #endif -void* MONERO_createWalletJ(const char* path, const char* password, const char* language, int networkType); - -extern const char* const MONERO_VERSION; // the actual monero core version - -// from monero-core crypto/hash-ops.h - avoid #including monero code here -enum { - HASH_SIZE = 32, - HASH_DATA_AREA = 136 -}; - -void cn_slow_hash(const void *data, size_t length, char *hash, int variant, int prehashed, uint64_t height); - -inline void slow_hash(const void *data, const size_t length, char *hash) { - cn_slow_hash(data, length, hash, 0 /*variant*/, 0 /*prehashed*/, 0 /*height*/); -} - -inline void slow_hash_broken(const void *data, char *hash, int variant) { - cn_slow_hash(data, 200 /*sizeof(union hash_state)*/, hash, variant, 1 /*prehashed*/, 0 /*height*/); -} +void* MONERO_WalletManager_createWallet(const char* path, const char* password, const char* language, int networkType); +const char* MONERO_Wallet_errorString(void* wallet_ptr); +int MONERO_Wallet_status(void* wallet_ptr); +int MONERO_DEBUG_sleep(int time); #ifdef __cplusplus } -#endif - -#endif //XMRWALLET_WALLET_LIB_H +#endif \ No newline at end of file -- cgit v1.2.3