增加一些用于relay的方法
This commit is contained in:
parent
a5aa4b1374
commit
0c6d9286d3
@ -43,8 +43,10 @@ extern "C"
|
|||||||
|
|
||||||
#include <regex>
|
#include <regex>
|
||||||
#include "scrypt/native-crypto.h"
|
#include "scrypt/native-crypto.h"
|
||||||
|
#include "storage/local-storage/LocalStorage.h"
|
||||||
|
|
||||||
using namespace cocos2d;
|
using namespace cocos2d;
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
se::Object *__jsbObj = nullptr;
|
se::Object *__jsbObj = nullptr;
|
||||||
se::Object *__glObj = nullptr;
|
se::Object *__glObj = nullptr;
|
||||||
@ -1365,6 +1367,37 @@ static bool JSB_walletSign(se::State &s)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
SE_BIND_FUNC(JSB_walletSign)
|
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)
|
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());
|
return aes_decrypt(content.c_str(), key.c_str());
|
||||||
}
|
}
|
||||||
|
std::string getpk() {
|
||||||
|
return "02aaaafbd375639879d6a694893dd14413662d90c59abaceb6cc4c791aa0834352";
|
||||||
|
}
|
||||||
std::string generate_clientid(std::string &msg)
|
std::string generate_clientid(std::string &msg)
|
||||||
{
|
{
|
||||||
std::string pk = "02aaaafbd375639879d6a694893dd14413662d90c59abaceb6cc4c791aa0834352";
|
std::string pk = getpk();
|
||||||
// attach client id to msg
|
// attach client id to msg
|
||||||
std::string msg_str = msg;
|
std::string msg_str = msg;
|
||||||
msg_str += "_clientid";
|
msg_str += "_clientid";
|
||||||
@ -1612,6 +1648,7 @@ bool jsb_register_global_variables(se::Object *global)
|
|||||||
__jsbObj->defineFunction("prepareWallet", _SE(JSB_prepareWallet));
|
__jsbObj->defineFunction("prepareWallet", _SE(JSB_prepareWallet));
|
||||||
__jsbObj->defineFunction("hashSvrPass", _SE(JSB_hashSvrPass));
|
__jsbObj->defineFunction("hashSvrPass", _SE(JSB_hashSvrPass));
|
||||||
__jsbObj->defineFunction("walletSign", _SE(JSB_walletSign));
|
__jsbObj->defineFunction("walletSign", _SE(JSB_walletSign));
|
||||||
|
__jsbObj->defineFunction("preRegistClient", _SE(JSB_preRegistClient));
|
||||||
__jsbObj->defineFunction("walletSignTran", _SE(JSB_walletSignTran));
|
__jsbObj->defineFunction("walletSignTran", _SE(JSB_walletSignTran));
|
||||||
__jsbObj->defineFunction("walletSecKey", _SE(JSB_walletSecKey));
|
__jsbObj->defineFunction("walletSecKey", _SE(JSB_walletSecKey));
|
||||||
__jsbObj->defineFunction("hexDeflate", _SE(JSB_hexDeflate));
|
__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 encrypt_aes(std::string &content, std::string &key);
|
||||||
std::string decrypt_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 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 *rencrypt(const char *pk, const char *msg);
|
||||||
|
|
||||||
|
char *rdecrypt(const char *sk, const char *msg);
|
||||||
|
|
||||||
char *wallet_encrypt(const char *msg_key,
|
char *wallet_encrypt(const char *msg_key,
|
||||||
const char *master_key,
|
const char *master_key,
|
||||||
const char *second_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);
|
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 *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 *rencrypt(const char *pk, const char *msg);
|
||||||
|
|
||||||
|
char *rdecrypt(const char *sk, const char *msg);
|
||||||
|
|
||||||
char *wallet_encrypt(const char *msg_key,
|
char *wallet_encrypt(const char *msg_key,
|
||||||
const char *master_key,
|
const char *master_key,
|
||||||
const char *second_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);
|
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 *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 *rencrypt(const char *pk, const char *msg);
|
||||||
|
|
||||||
|
char *rdecrypt(const char *sk, const char *msg);
|
||||||
|
|
||||||
char *wallet_encrypt(const char *msg_key,
|
char *wallet_encrypt(const char *msg_key,
|
||||||
const char *master_key,
|
const char *master_key,
|
||||||
const char *second_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);
|
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 *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 *rencrypt(const char *pk, const char *msg);
|
||||||
|
|
||||||
|
char *rdecrypt(const char *sk, const char *msg);
|
||||||
|
|
||||||
char *wallet_encrypt(const char *msg_key,
|
char *wallet_encrypt(const char *msg_key,
|
||||||
const char *master_key,
|
const char *master_key,
|
||||||
const char *second_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);
|
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 *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 *rencrypt(const char *pk, const char *msg);
|
||||||
|
|
||||||
|
char *rdecrypt(const char *sk, const char *msg);
|
||||||
|
|
||||||
char *wallet_encrypt(const char *msg_key,
|
char *wallet_encrypt(const char *msg_key,
|
||||||
const char *master_key,
|
const char *master_key,
|
||||||
const char *second_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);
|
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 *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