update test

This commit is contained in:
zhl 2023-03-01 17:27:22 +08:00
parent 0f04d88732
commit 551a9d2b5f

View File

@ -4,50 +4,44 @@
// 测试钱包在C侧调用接口存储和重新读出钱包密钥 // 测试钱包在C侧调用接口存储和重新读出钱包密钥
// //
use rustwallet::{
free_cwallet, generate_sec_key, get_address, new_wallet, sign, sign_for_tran, CWallet,
};
use std::ffi::{CStr, CString}; use std::ffi::{CStr, CString};
use std::os::raw::c_char; use std::os::raw::c_char;
use rustwallet::{new_wallet, get_address, free_cwallet, sign, sign_for_tran, CWallet, generate_sec_key};
macro_rules! print_cchar{ macro_rules! print_cchar {
($p1:expr) => ( ($p1:expr) => {
let s = CStr::from_ptr($p1); let s = CStr::from_ptr($p1);
let ps = s.to_str().unwrap(); let ps = s.to_str().unwrap();
println!("{}=> {}", println!("{}=> {}", stringify!($p1), ps)
stringify!($p1), };
ps) ($p1:expr, $p2:expr) => {
);
($p1:expr, $p2:expr) => (
let s = CStr::from_ptr($p2); let s = CStr::from_ptr($p2);
let ps = s.to_str().unwrap(); let ps = s.to_str().unwrap();
println!("{}{}", println!("{}{}", $p1, ps)
$p1, };
ps)
)
} }
macro_rules! cchar_to_str{ macro_rules! cchar_to_str {
($p1:expr) => { ($p1:expr) => {{
{ let s = CStr::from_ptr($p1);
let s = CStr::from_ptr($p1); let ps = s.to_str().unwrap();
let ps = s.to_str().unwrap(); ps
ps }};
}
}
} }
macro_rules! str_to_cchar { macro_rules! str_to_cchar {
($p1:expr) => { ($p1:expr) => {{
{ let msgkey = CString::new($p1).unwrap();
let msgkey = CString::new($p1).unwrap(); let c_msgkey: *mut c_char = msgkey.into_raw();
let c_msgkey: *mut c_char = msgkey.into_raw(); c_msgkey
c_msgkey }};
}
};
} }
fn main() { fn main() {
unsafe { unsafe {
let msg = "a0f2022d15fd8072f12c76cc1596c4f1"; let msg_key = "a0f2022d15fd8072f12c76cc1596c4f1";
// let wallet: CWallet = new_wallet(str_to_cchar!(msg)); // let wallet: CWallet = new_wallet(str_to_cchar!(msg));
// println!("---- generated a wallet to be used on C-side ----"); // println!("---- generated a wallet to be used on C-side ----");
// print_wallet(&wallet); // print_wallet(&wallet);
@ -60,25 +54,30 @@ fn main() {
// let s_key = generate_sec_key(&wallet); // let s_key = generate_sec_key(&wallet);
// print_cchar!(s_key); // print_cchar!(s_key);
let key0 = "3f26e586111b5c4cab6a5dd5e0d13c3b13184ba74410ba064a3b485be4f9a2cd"; let key0 = "3f26e586111b5c4cab6a5dd5e0d13c3b13184ba74410ba064a3b485be4f9a2cd";
let key1 = ""; let key1 = "";
let key2 = "cd00eb0126aeed39762579ce94c90a04695ad17fbd5e79aa4e9fc4a34ba32a5"; let key2 = "cd00eb0126aeed39762579ce94c90a04695ad17fbd5e79aa4e9fc4a34ba32a5";
let tmp_cwallet = CWallet{
msg_key: str_to_cchar!(msg),
master_key: str_to_cchar!(key0),
second_key: str_to_cchar!(key1),
backup_key: str_to_cchar!(key2)
};
let address2 = get_address( let address2 = get_address(
str_to_cchar!(msg), str_to_cchar!(msg_key),
str_to_cchar!(key0), str_to_cchar!(key0),
str_to_cchar!(key1), str_to_cchar!(key1),
str_to_cchar!(key2) str_to_cchar!(key2),
); );
print_cchar!(address2); print_cchar!(address2);
// let s_key2 = generate_sec_key(&tmp_cwallet); let key__public = generate_sec_key(
// print_cchar!(s_key2); str_to_cchar!(msg_key),
str_to_cchar!(key0),
str_to_cchar!(key1),
str_to_cchar!(key2),
);
print_cchar!(key_private);
let key_private = generate_sec_key(
str_to_cchar!(msg_key),
str_to_cchar!(key0),
str_to_cchar!(key1),
str_to_cchar!(key2),
);
print_cchar!(key_private);
// let tmp_cwallet2 = restore_wallet(&tmp_cwallet); // let tmp_cwallet2 = restore_wallet(&tmp_cwallet);
// let address3 = get_address(&tmp_cwallet2); // let address3 = get_address(&tmp_cwallet2);
// print_cchar!(address3); // print_cchar!(address3);