mirror of
https://github.com/darkrenaissance/darkfi.git
synced 2026-01-09 14:48:08 -05:00
drk: get all addresses from darkfid
This commit is contained in:
@@ -74,6 +74,7 @@ impl RequestHandler for Darkfid {
|
||||
Some("create_wallet") => return self.create_wallet(req.id, req.params).await,
|
||||
Some("key_gen") => return self.key_gen(req.id, req.params).await,
|
||||
Some("get_key") => return self.get_key(req.id, req.params).await,
|
||||
Some("get_keys") => return self.get_keys(req.id, req.params).await,
|
||||
Some("get_balances") => return self.get_balances(req.id, req.params).await,
|
||||
Some("get_token_id") => return self.get_token_id(req.id, req.params).await,
|
||||
Some("features") => return self.features(req.id, req.params).await,
|
||||
|
||||
@@ -99,6 +99,14 @@ impl Drk {
|
||||
Ok(self.request(req).await?)
|
||||
}
|
||||
|
||||
// --> {"jsonrpc": "2.0", "method": "get_keys", "params": [], "id": 42}
|
||||
// <-- {"jsonrpc": "2.0", "result": "[vdNS7oBj7KvsMWWmo9r96SV4SqATLrGsH2a3PGpCfJC, ...]", "id":
|
||||
// 42}
|
||||
async fn get_keys(&self) -> Result<Value> {
|
||||
let req = jsonrpc::request(json!("get_keys"), json!([]));
|
||||
Ok(self.request(req).await?)
|
||||
}
|
||||
|
||||
// --> {"jsonrpc": "2.0", "method": "get_key", "params": ["solana", "usdc"], "id": 42}
|
||||
// <-- {"jsonrpc": "2.0", "result": "vdNS7oBj7KvsMWWmo9r96SV4SqATLrGsH2a3PGpCfJC", "id": 42}
|
||||
async fn get_token_id(&self, network: &str, token: &str) -> Result<Value> {
|
||||
@@ -170,7 +178,7 @@ async fn start(config: &DrkConfig, options: CliDrk) -> Result<()> {
|
||||
println!("Features: {}", &reply.to_string());
|
||||
return Ok(())
|
||||
}
|
||||
Some(CliDrkSubCommands::Wallet { create, keygen, address, balances }) => {
|
||||
Some(CliDrkSubCommands::Wallet { create, keygen, address, balances, addresses }) => {
|
||||
if create {
|
||||
let reply = client.create_wallet().await?;
|
||||
if reply.as_bool().unwrap() {
|
||||
@@ -197,6 +205,19 @@ async fn start(config: &DrkConfig, options: CliDrk) -> Result<()> {
|
||||
return Ok(())
|
||||
}
|
||||
|
||||
if addresses {
|
||||
let reply = client.get_keys().await?;
|
||||
println!("Wallet addresses: ");
|
||||
if reply.as_array().is_some() {
|
||||
for address in reply.as_array().unwrap() {
|
||||
println!("- {}", address);
|
||||
}
|
||||
} else {
|
||||
println!("Empty!!",);
|
||||
}
|
||||
return Ok(())
|
||||
}
|
||||
|
||||
if balances {
|
||||
let reply = client.get_balances().await?;
|
||||
|
||||
|
||||
@@ -14,9 +14,12 @@ pub enum CliDrkSubCommands {
|
||||
/// Generate wallet keypair
|
||||
#[clap(long)]
|
||||
keygen: bool,
|
||||
/// Get wallet address
|
||||
/// Get default wallet address
|
||||
#[clap(long)]
|
||||
address: bool,
|
||||
/// Get wallet addresses
|
||||
#[clap(long)]
|
||||
addresses: bool,
|
||||
/// Get wallet balances
|
||||
#[clap(long)]
|
||||
balances: bool,
|
||||
|
||||
Reference in New Issue
Block a user