use super::*;
use std::collections::HashMap;
pub async fn import_addresses(
api: &Factom,
addresses: Vec<&str>
)-> Result<ApiResponse<Addresses>>
{
let mut req = ApiRequest::new("import-addresses");
let mut secrets: Vec<HashMap<&str, &str>> = Vec::new();
for address in addresses{
let mut tmp = HashMap::new();
tmp.insert("secret", address);
secrets.push(tmp);
}
req.params.insert("addresses".to_string(), json!(secrets));
let response = walletd_call(api, req).await;
parse(response).await
}
pub async fn import_identity_keys(
api: &Factom,
keys: Vec<&str>
)-> Result<ApiResponse<Keys>>
{
let mut req = ApiRequest::new("import-identity-keys");
let mut secrets: Vec<HashMap<&str, &str>> = Vec::new();
for address in keys{
let mut tmp = HashMap::new();
tmp.insert("secret", address);
secrets.push(tmp);
}
req.params.insert("keys".to_string(), json!(secrets));
let response = walletd_call(api, req).await;
parse(response).await
}
pub async fn import_koinify(
api: &Factom,
phrase: &str
)-> Result<ApiResponse<Address>>{
let mut req = ApiRequest::new("import-koinify");
req.params.insert("words".to_string(), json!(phrase));
let response = walletd_call(api, req).await;
parse(response).await
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct Addresses {
pub addresses: Vec<Address>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct Address {
pub public: String,
pub secret: String,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct Keys {
pub keys: Vec<Key>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct Key {
pub public: String,
pub secret: String,
}