icrc_ledger_types/icrc21/
requests.rs1use candid::{CandidType, Deserialize};
2use serde::Serialize;
3
4#[derive(Debug, CandidType, Clone, Serialize, Deserialize, PartialEq, Eq)]
5pub struct ConsentMessageMetadata {
6 pub language: String,
7 pub utc_offset_minutes: Option<i16>,
8}
9
10#[derive(Debug, CandidType, Clone, Serialize, Deserialize, PartialEq, Eq)]
11pub enum DisplayMessageType {
12 GenericDisplay,
13 FieldsDisplay,
14}
15
16#[derive(Debug, CandidType, Clone, Serialize, Deserialize, PartialEq, Eq)]
17pub struct ConsentMessageSpec {
18 pub metadata: ConsentMessageMetadata,
19 pub device_spec: Option<DisplayMessageType>,
20}
21
22#[derive(Debug, CandidType, Clone, Serialize, Deserialize, PartialEq, Eq)]
23pub struct ConsentMessageRequest {
24 pub method: String,
25 pub arg: Vec<u8>,
26 pub user_preferences: ConsentMessageSpec,
27}