update test
This commit is contained in:
parent
0f04d88732
commit
551a9d2b5f
@ -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);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user