nifty_cli/commands/
transfer.rs1use nifty_asset::instructions::Transfer;
2
3use super::*;
4
5pub struct TransferArgs {
6 pub keypair_path: Option<PathBuf>,
7 pub rpc_url: Option<String>,
8 pub asset: Pubkey,
9 pub recipient: Pubkey,
10}
11
12pub fn handle_transfer(args: TransferArgs) -> Result<()> {
13 let config = CliConfig::new(args.keypair_path, args.rpc_url)?;
14
15 let signer_sk = config.keypair;
16
17 let signer = signer_sk.pubkey();
18 let asset = args.asset;
19 let recipient = args.recipient;
20
21 let ix = Transfer {
22 asset,
23 signer,
24 recipient,
25 group: None,
26 }
27 .instruction();
28
29 let sig = send_and_confirm_tx(&config.client, &[&signer_sk], &[ix])?;
30
31 println!("Transferring asset {asset} to {recipient} in tx: {sig}");
32
33 Ok(())
34}