dpp/tokens/token_payment_info/v0/
v0_accessors.rs1use crate::balances::credits::TokenAmount;
2use crate::data_contract::TokenContractPosition;
3use crate::tokens::gas_fees_paid_by::GasFeesPaidBy;
4use platform_value::Identifier;
5
6pub trait TokenPaymentInfoAccessorsV0 {
8 fn payment_token_contract_id(&self) -> Option<Identifier>;
10
11 fn payment_token_contract_id_ref(&self) -> &Option<Identifier>;
15
16 fn token_contract_position(&self) -> TokenContractPosition;
18
19 fn minimum_token_cost(&self) -> Option<TokenAmount>;
21
22 fn maximum_token_cost(&self) -> Option<TokenAmount>;
24
25 fn set_payment_token_contract_id(&mut self, id: Option<Identifier>);
27
28 fn set_token_contract_position(&mut self, position: TokenContractPosition);
30
31 fn set_minimum_token_cost(&mut self, cost: Option<TokenAmount>);
33
34 fn set_maximum_token_cost(&mut self, cost: Option<TokenAmount>);
36
37 fn gas_fees_paid_by(&self) -> GasFeesPaidBy;
39
40 fn set_gas_fees_paid_by(&mut self, payer: GasFeesPaidBy);
42}