dpp/tokens/contract_info/v0/
mod.rs1use crate::data_contract::TokenContractPosition;
2use bincode::{Decode, Encode};
3use derive_more::From;
4use platform_value::Identifier;
5
6#[derive(Debug, Clone, Encode, Decode, From, PartialEq)]
7#[cfg_attr(
8 any(feature = "fixtures-and-mocks", feature = "serde-conversion"),
9 derive(serde::Serialize, serde::Deserialize),
10 serde(rename_all = "camelCase")
11)]
12pub struct TokenContractInfoV0 {
14 pub contract_id: Identifier,
16 pub token_contract_position: TokenContractPosition,
18}
19
20pub trait TokenContractInfoV0Accessors {
22 fn contract_id(&self) -> Identifier;
24
25 fn set_contract_id(&mut self, contract_id: Identifier);
27
28 fn token_contract_position(&self) -> TokenContractPosition;
30
31 fn set_token_contract_position(&mut self, position: TokenContractPosition);
33}
34
35impl TokenContractInfoV0Accessors for TokenContractInfoV0 {
36 fn contract_id(&self) -> Identifier {
37 self.contract_id
38 }
39
40 fn set_contract_id(&mut self, contract_id: Identifier) {
41 self.contract_id = contract_id;
42 }
43
44 fn token_contract_position(&self) -> TokenContractPosition {
45 self.token_contract_position
46 }
47
48 fn set_token_contract_position(&mut self, position: TokenContractPosition) {
49 self.token_contract_position = position;
50 }
51}