1use iota_types::base_types::IotaAddress;
6use serde::{Deserialize, Serialize};
7
8#[derive(Serialize, Deserialize, Debug, Clone)]
9pub enum FaucetRequest {
10 FixedAmountRequest(FixedAmountRequest),
11 GetBatchSendStatusRequest(GetBatchSendStatusRequest),
12}
13
14#[derive(Serialize, Deserialize, Debug, Clone)]
15pub struct FixedAmountRequest {
16 pub recipient: IotaAddress,
17}
18
19#[derive(Serialize, Deserialize, Debug, Clone)]
20pub struct GetBatchSendStatusRequest {
21 pub task_id: String,
22}
23
24impl FaucetRequest {
25 pub fn new_fixed_amount_request(recipient: impl Into<IotaAddress>) -> Self {
26 Self::FixedAmountRequest(FixedAmountRequest {
27 recipient: recipient.into(),
28 })
29 }
30
31 pub fn new_get_batch_send_status_request(task_id: impl Into<String>) -> Self {
32 Self::GetBatchSendStatusRequest(GetBatchSendStatusRequest {
33 task_id: task_id.into(),
34 })
35 }
36}