use super::IcrcLedgerRequest;
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct IcrcBalanceRequest {
pub ledger: IcrcLedgerRequest,
pub account_owner: String,
pub subaccount_hex: Option<String>,
}
impl IcrcBalanceRequest {
#[must_use]
pub fn new(ledger: IcrcLedgerRequest, account_owner: impl Into<String>) -> Self {
Self {
ledger,
account_owner: account_owner.into(),
subaccount_hex: None,
}
}
}
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct IcrcAllowanceRequest {
pub ledger: IcrcLedgerRequest,
pub account_owner: String,
pub account_subaccount_hex: Option<String>,
pub spender_owner: String,
pub spender_subaccount_hex: Option<String>,
}
impl IcrcAllowanceRequest {
#[must_use]
pub fn new(
ledger: IcrcLedgerRequest,
account_owner: impl Into<String>,
spender_owner: impl Into<String>,
) -> Self {
Self {
ledger,
account_owner: account_owner.into(),
account_subaccount_hex: None,
spender_owner: spender_owner.into(),
spender_subaccount_hex: None,
}
}
}