增加一些用于relay的方法
This commit is contained in:
parent
a5aa4b1374
commit
0c6d9286d3
@ -43,8 +43,10 @@ extern "C"
|
||||
|
||||
#include <regex>
|
||||
#include "scrypt/native-crypto.h"
|
||||
#include "storage/local-storage/LocalStorage.h"
|
||||
|
||||
using namespace cocos2d;
|
||||
using namespace std;
|
||||
|
||||
se::Object *__jsbObj = nullptr;
|
||||
se::Object *__glObj = nullptr;
|
||||
@ -1365,6 +1367,37 @@ static bool JSB_walletSign(se::State &s)
|
||||
return false;
|
||||
}
|
||||
SE_BIND_FUNC(JSB_walletSign)
|
||||
// for relay, generate tmp address and signature
|
||||
static bool JSB_preRegistClient(se::State &s)
|
||||
{
|
||||
const auto &args = s.args();
|
||||
size_t argc = args.size();
|
||||
CC_UNUSED bool ok = true;
|
||||
if (argc > 0)
|
||||
{
|
||||
string msg;
|
||||
ok = seval_to_std_string(args[0], &msg);
|
||||
SE_PRECONDITION2(ok, false, "Error processing msg");
|
||||
string key = "tmp_client_info";
|
||||
string value;
|
||||
ok = localStorageGetItem(key, &value);
|
||||
string pk = getpk();
|
||||
if (!ok) {
|
||||
value = ramdonKey();
|
||||
string str_encrypt = aes_encrypt(value.c_str(), pk.c_str());
|
||||
localStorageSetItem(key, str_encrypt);
|
||||
} else {
|
||||
value = aes_decrypt(value.c_str(), pk.c_str());
|
||||
}
|
||||
string result = simple_sign(msg.c_str(), value.c_str());
|
||||
s.rval().setString(result);
|
||||
return true;
|
||||
}
|
||||
|
||||
SE_REPORT_ERROR("wrong number of arguments: %d, was expecting %d", (int)argc, 1);
|
||||
return false;
|
||||
}
|
||||
SE_BIND_FUNC(JSB_preRegistClient)
|
||||
|
||||
static bool JSB_saveLocalStorage(se::State &s)
|
||||
{
|
||||
@ -1555,9 +1588,12 @@ std::string decrypt_aes(std::string &content, std::string &key)
|
||||
{
|
||||
return aes_decrypt(content.c_str(), key.c_str());
|
||||
}
|
||||
std::string getpk() {
|
||||
return "02aaaafbd375639879d6a694893dd14413662d90c59abaceb6cc4c791aa0834352";
|
||||
}
|
||||
std::string generate_clientid(std::string &msg)
|
||||
{
|
||||
std::string pk = "02aaaafbd375639879d6a694893dd14413662d90c59abaceb6cc4c791aa0834352";
|
||||
std::string pk = getpk();
|
||||
// attach client id to msg
|
||||
std::string msg_str = msg;
|
||||
msg_str += "_clientid";
|
||||
@ -1612,6 +1648,7 @@ bool jsb_register_global_variables(se::Object *global)
|
||||
__jsbObj->defineFunction("prepareWallet", _SE(JSB_prepareWallet));
|
||||
__jsbObj->defineFunction("hashSvrPass", _SE(JSB_hashSvrPass));
|
||||
__jsbObj->defineFunction("walletSign", _SE(JSB_walletSign));
|
||||
__jsbObj->defineFunction("preRegistClient", _SE(JSB_preRegistClient));
|
||||
__jsbObj->defineFunction("walletSignTran", _SE(JSB_walletSignTran));
|
||||
__jsbObj->defineFunction("walletSecKey", _SE(JSB_walletSecKey));
|
||||
__jsbObj->defineFunction("hexDeflate", _SE(JSB_hexDeflate));
|
||||
|
@ -53,3 +53,4 @@ bool jsb_global_load_image(const std::string &path, const se::Value &callbackVal
|
||||
std::string encrypt_aes(std::string &content, std::string &key);
|
||||
std::string decrypt_aes(std::string &content, std::string &key);
|
||||
std::string generate_clientid(std::string &content);
|
||||
std::string getpk();
|
||||
|
@ -18,6 +18,8 @@ char *sign_for_tran(const char *msg_key,
|
||||
|
||||
char *rencrypt(const char *pk, const char *msg);
|
||||
|
||||
char *rdecrypt(const char *sk, const char *msg);
|
||||
|
||||
char *wallet_encrypt(const char *msg_key,
|
||||
const char *master_key,
|
||||
const char *second_key,
|
||||
@ -45,3 +47,7 @@ char *local_pass_hasher(const char *password);
|
||||
bool verify_local_pass(const char *password, const char *pass_hash);
|
||||
|
||||
char *generate_client_key(const char *password, const char *openid, const char *salt);
|
||||
|
||||
char *simple_sign(const char *content, const char *key);
|
||||
|
||||
char *ramdonKey(void);
|
||||
|
BIN
external/android/arm64-v8a/librustwallet.a
vendored
BIN
external/android/arm64-v8a/librustwallet.a
vendored
Binary file not shown.
@ -18,6 +18,8 @@ char *sign_for_tran(const char *msg_key,
|
||||
|
||||
char *rencrypt(const char *pk, const char *msg);
|
||||
|
||||
char *rdecrypt(const char *sk, const char *msg);
|
||||
|
||||
char *wallet_encrypt(const char *msg_key,
|
||||
const char *master_key,
|
||||
const char *second_key,
|
||||
@ -45,3 +47,7 @@ char *local_pass_hasher(const char *password);
|
||||
bool verify_local_pass(const char *password, const char *pass_hash);
|
||||
|
||||
char *generate_client_key(const char *password, const char *openid, const char *salt);
|
||||
|
||||
char *simple_sign(const char *content, const char *key);
|
||||
|
||||
char *ramdonKey(void);
|
||||
|
BIN
external/android/armeabi-v7a/librustwallet.a
vendored
BIN
external/android/armeabi-v7a/librustwallet.a
vendored
Binary file not shown.
@ -18,6 +18,8 @@ char *sign_for_tran(const char *msg_key,
|
||||
|
||||
char *rencrypt(const char *pk, const char *msg);
|
||||
|
||||
char *rdecrypt(const char *sk, const char *msg);
|
||||
|
||||
char *wallet_encrypt(const char *msg_key,
|
||||
const char *master_key,
|
||||
const char *second_key,
|
||||
@ -45,3 +47,7 @@ char *local_pass_hasher(const char *password);
|
||||
bool verify_local_pass(const char *password, const char *pass_hash);
|
||||
|
||||
char *generate_client_key(const char *password, const char *openid, const char *salt);
|
||||
|
||||
char *simple_sign(const char *content, const char *key);
|
||||
|
||||
char *ramdonKey(void);
|
||||
|
BIN
external/android/x86/librustwallet.a
vendored
BIN
external/android/x86/librustwallet.a
vendored
Binary file not shown.
@ -18,6 +18,8 @@ char *sign_for_tran(const char *msg_key,
|
||||
|
||||
char *rencrypt(const char *pk, const char *msg);
|
||||
|
||||
char *rdecrypt(const char *sk, const char *msg);
|
||||
|
||||
char *wallet_encrypt(const char *msg_key,
|
||||
const char *master_key,
|
||||
const char *second_key,
|
||||
@ -45,3 +47,7 @@ char *local_pass_hasher(const char *password);
|
||||
bool verify_local_pass(const char *password, const char *pass_hash);
|
||||
|
||||
char *generate_client_key(const char *password, const char *openid, const char *salt);
|
||||
|
||||
char *simple_sign(const char *content, const char *key);
|
||||
|
||||
char *ramdonKey(void);
|
||||
|
BIN
external/android/x86_64/librustwallet.a
vendored
BIN
external/android/x86_64/librustwallet.a
vendored
Binary file not shown.
6
external/ios/include/rustwallet/rustwallet.h
vendored
6
external/ios/include/rustwallet/rustwallet.h
vendored
@ -18,6 +18,8 @@ char *sign_for_tran(const char *msg_key,
|
||||
|
||||
char *rencrypt(const char *pk, const char *msg);
|
||||
|
||||
char *rdecrypt(const char *sk, const char *msg);
|
||||
|
||||
char *wallet_encrypt(const char *msg_key,
|
||||
const char *master_key,
|
||||
const char *second_key,
|
||||
@ -45,3 +47,7 @@ char *local_pass_hasher(const char *password);
|
||||
bool verify_local_pass(const char *password, const char *pass_hash);
|
||||
|
||||
char *generate_client_key(const char *password, const char *openid, const char *salt);
|
||||
|
||||
char *simple_sign(const char *content, const char *key);
|
||||
|
||||
char *ramdonKey(void);
|
||||
|
BIN
external/ios/libs/librustwallet.a
vendored
BIN
external/ios/libs/librustwallet.a
vendored
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user