use litesvm::LiteSVM;
use solana_kite::{create_wallet, send_transaction_from_instructions, SolanaKiteError};
use solana_pubkey::Pubkey;
use solana_signer::Signer;
fn main() -> Result<(), SolanaKiteError> {
println!("🪁 Solana Kite Basic Usage Example");
println!("==================================");
let mut litesvm = LiteSVM::new();
println!("✅ LiteSVM initialized");
let wallet = create_wallet(&mut litesvm, 1_000_000_000)?;
println!("✅ Created wallet: {}", wallet.pubkey());
println!(" Balance: 1 SOL");
let balance = litesvm.get_balance(&wallet.pubkey()).unwrap_or(0);
println!("✅ Wallet balance verified: {} lamports", balance);
let program_id = Pubkey::new_unique();
println!("✅ Generated program ID: {}", program_id);
println!("📝 Program deployment example:");
println!(" deploy_program(&mut litesvm, &program_id, \"./target/deploy/my_program.so\")?;");
let instructions = vec![];
println!("📝 Transaction sending example:");
println!(" send_transaction_from_instructions(&mut litesvm, instructions, &[&wallet], &wallet.pubkey())?;");
send_transaction_from_instructions(&mut litesvm, instructions, &[&wallet], &wallet.pubkey())?;
println!("✅ Sent transaction successfully");
println!("🎉 Basic usage example completed successfully!");
Ok(())
}