tonlib_core/message/common/
excesses.rs1use super::EXCESSES;
2use crate::cell::{Cell, CellBuilder};
3use crate::message::{HasOpcode, TonMessage, TonMessageError};
4
5#[derive(Clone, Debug, PartialEq)]
13pub struct NftExcessesMessage {
14 pub query_id: u64,
16}
17
18#[allow(clippy::new_without_default)]
19impl NftExcessesMessage {
20 pub fn new() -> Self {
21 NftExcessesMessage { query_id: 0 }
22 }
23}
24
25impl TonMessage for NftExcessesMessage {
26 fn build(&self) -> Result<Cell, TonMessageError> {
27 let mut builder = CellBuilder::new();
28 builder.store_u32(32, Self::opcode())?;
29 builder.store_u64(64, self.query_id)?;
30
31 Ok(builder.build()?)
32 }
33
34 fn parse(cell: &Cell) -> Result<Self, TonMessageError> {
35 let mut parser = cell.parser();
36
37 let opcode: u32 = parser.load_u32(32)?;
38 let query_id = parser.load_u64(64)?;
39 parser.ensure_empty()?;
40
41 let result = NftExcessesMessage { query_id };
42 result.verify_opcode(opcode)?;
43 Ok(result)
44 }
45}
46
47impl HasOpcode for NftExcessesMessage {
48 fn set_query_id(&mut self, query_id: u64) {
49 self.query_id = query_id;
50 }
51
52 fn query_id(&self) -> u64 {
53 self.query_id
54 }
55
56 fn opcode() -> u32 {
57 EXCESSES
58 }
59}