casper_client/rpcs/v2_0_0/
query_balance.rs1use serde::{Deserialize, Serialize};
2
3use casper_types::{account::AccountHash, EntityAddr, PublicKey, URef};
4
5use crate::rpcs::common::GlobalStateIdentifier;
6
7pub use crate::rpcs::v1_5_0::query_balance::QueryBalanceResult;
8pub(crate) use crate::rpcs::v1_5_0::query_balance::QUERY_BALANCE_METHOD;
9
10#[derive(Serialize, Deserialize, Debug, Clone)]
12#[serde(deny_unknown_fields, rename_all = "snake_case")]
13pub enum PurseIdentifier {
14 MainPurseUnderPublicKey(PublicKey),
16 MainPurseUnderAccountHash(AccountHash),
18 MainPurseUnderEntityAddr(EntityAddr),
20 PurseUref(URef),
22}
23
24#[derive(Serialize, Deserialize, Debug)]
26pub struct QueryBalanceParams {
27 pub state_identifier: Option<GlobalStateIdentifier>,
29 pub purse_identifier: PurseIdentifier,
31}
32
33impl QueryBalanceParams {
34 pub(crate) fn new(
35 state_identifier: Option<GlobalStateIdentifier>,
36 purse_identifier: PurseIdentifier,
37 ) -> Self {
38 QueryBalanceParams {
39 state_identifier,
40 purse_identifier,
41 }
42 }
43}