solana_faucet/
faucet_mock.rs

1use {
2    solana_sdk::{
3        hash::Hash, pubkey::Pubkey, signature::Keypair, system_transaction,
4        transaction::Transaction,
5    },
6    std::{
7        io::{Error, ErrorKind},
8        net::SocketAddr,
9    },
10};
11
12pub fn request_airdrop_transaction(
13    _faucet_addr: &SocketAddr,
14    _id: &Pubkey,
15    lamports: u64,
16    _blockhash: Hash,
17) -> Result<Transaction, Error> {
18    if lamports == 0 {
19        Err(Error::new(ErrorKind::Other, "Airdrop failed"))
20    } else {
21        let key = Keypair::new();
22        let to = solana_sdk::pubkey::new_rand();
23        let blockhash = Hash::default();
24        let tx = system_transaction::transfer(&key, &to, lamports, blockhash);
25        Ok(tx)
26    }
27}