#![allow(dead_code)]
#![allow(non_snake_case)]
#![allow(non_camel_case_types)]
#![allow(unused_imports)]
use serde::{Serialize, Deserialize};
use serde_repr::{Deserialize_repr, Serialize_repr};use super::*;
use crate::protocol::keybase1;
use crate::protocol::gregor1;
use crate::protocol::stellar1;
use super::common::*;
use super::unfurl::*;
use super::commands::*;
#[derive(Serialize, Deserialize, Debug)]
pub struct UIPagination {
#[serde(default)]
pub next: Option<String>,
#[serde(default)]
pub previous: Option<String>,
pub num: Option<i32>,
#[serde(default)]
pub last: Option<bool>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct UnverifiedInboxUIItemMetadata {
#[serde(default)]
pub channelName: Option<String>,
#[serde(default)]
pub headline: Option<String>,
#[serde(default)]
pub headlineDecorated: Option<String>,
#[serde(default)]
pub snippet: Option<String>,
#[serde(default)]
pub snippetDecoration: Option<String>,
#[serde(default)]
pub writerNames: Option<Vec<String>>,
#[serde(default)]
pub resetParticipants: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct UnverifiedInboxUIItem {
#[serde(default)]
pub convID: Option<String>,
pub topicType: Option<TopicType>,
#[serde(default)]
pub isPublic: Option<bool>,
#[serde(default)]
pub name: Option<String>,
pub visibility: Option<keybase1::TLFVisibility>,
pub status: Option<ConversationStatus>,
pub membersType: Option<ConversationMembersType>,
pub memberStatus: Option<ConversationMemberStatus>,
pub teamType: Option<TeamType>,
pub notifications: Option<ConversationNotificationInfo>,
pub time: Option<gregor1::Time>,
pub version: Option<ConversationVers>,
pub localVersion: Option<LocalConversationVers>,
pub convRetention: Option<RetentionPolicy>,
pub teamRetention: Option<RetentionPolicy>,
pub maxMsgID: Option<MessageID>,
pub maxVisibleMsgID: Option<MessageID>,
pub readMsgID: Option<MessageID>,
pub localMetadata: Option<UnverifiedInboxUIItemMetadata>,
pub draft: Option<String>,
pub finalizeInfo: Option<ConversationFinalizeInfo>,
#[serde(default)]
pub supersedes: Option<Vec<ConversationMetadata>>,
#[serde(default)]
pub supersededBy: Option<Vec<ConversationMetadata>>,
pub commands: Option<ConversationCommandGroups>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct UnverifiedInboxUIItems {
#[serde(default)]
pub items: Option<Vec<UnverifiedInboxUIItem>>,
pub pagination: Option<UIPagination>,
#[serde(default)]
pub offline: Option<bool>,
}
#[derive(Serialize_repr, Deserialize_repr, Debug, Hash, PartialEq, Eq)]
#[repr(u8)]
pub enum UIParticipantType {
None_0,
User_1,
Phoneno_2,
Email_3,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct UIParticipant {
#[serde(rename = "type")]
pub ty: Option<UIParticipantType>,
#[serde(default)]
pub assertion: Option<String>,
pub fullName: Option<String>,
pub contactName: Option<String>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct InboxUIItem {
#[serde(default)]
pub convID: Option<String>,
pub topicType: Option<TopicType>,
#[serde(default)]
pub isPublic: Option<bool>,
#[serde(default)]
pub isEmpty: Option<bool>,
#[serde(default)]
pub name: Option<String>,
#[serde(default)]
pub snippet: Option<String>,
#[serde(default)]
pub snippetDecoration: Option<String>,
#[serde(default)]
pub channel: Option<String>,
#[serde(default)]
pub headline: Option<String>,
#[serde(default)]
pub headlineDecorated: Option<String>,
pub draft: Option<String>,
pub visibility: Option<keybase1::TLFVisibility>,
#[serde(default)]
pub participants: Option<Vec<UIParticipant>>,
#[serde(default)]
pub resetParticipants: Option<Vec<String>>,
pub status: Option<ConversationStatus>,
pub membersType: Option<ConversationMembersType>,
pub memberStatus: Option<ConversationMemberStatus>,
pub teamType: Option<TeamType>,
pub time: Option<gregor1::Time>,
pub notifications: Option<ConversationNotificationInfo>,
pub creatorInfo: Option<ConversationCreatorInfoLocal>,
pub version: Option<ConversationVers>,
pub localVersion: Option<LocalConversationVers>,
pub maxMsgID: Option<MessageID>,
pub maxVisibleMsgID: Option<MessageID>,
pub readMsgID: Option<MessageID>,
pub convRetention: Option<RetentionPolicy>,
pub teamRetention: Option<RetentionPolicy>,
pub convSettings: Option<ConversationSettingsLocal>,
pub finalizeInfo: Option<ConversationFinalizeInfo>,
#[serde(default)]
pub supersedes: Option<Vec<ConversationMetadata>>,
#[serde(default)]
pub supersededBy: Option<Vec<ConversationMetadata>>,
pub commands: Option<ConversationCommandGroups>,
pub botCommands: Option<ConversationCommandGroups>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct InboxUIItemError {
pub typ: Option<ConversationErrorType>,
#[serde(default)]
pub message: Option<String>,
#[serde(default)]
pub unverifiedTLFName: Option<String>,
pub rekeyInfo: Option<ConversationErrorRekey>,
pub remoteConv: Option<UnverifiedInboxUIItem>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct InboxUIItems {
#[serde(default)]
pub items: Option<Vec<InboxUIItem>>,
pub pagination: Option<UIPagination>,
#[serde(default)]
pub offline: Option<bool>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct UIChannelNameMention {
#[serde(default)]
pub name: Option<String>,
#[serde(default)]
pub convID: Option<String>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct UIAssetUrlInfo {
#[serde(default)]
pub previewUrl: Option<String>,
#[serde(default)]
pub fullUrl: Option<String>,
#[serde(default)]
pub fullUrlCached: Option<bool>,
#[serde(default)]
pub mimeType: Option<String>,
pub videoDuration: Option<String>,
#[serde(default)]
pub inlineVideoPlayable: Option<bool>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct UIPaymentInfo {
pub accountID: Option<stellar1::AccountID>,
#[serde(default)]
pub amountDescription: Option<String>,
#[serde(default)]
pub worth: Option<String>,
#[serde(default)]
pub worthAtSendTime: Option<String>,
pub delta: Option<stellar1::BalanceDelta>,
#[serde(default)]
pub note: Option<String>,
pub paymentID: Option<stellar1::PaymentID>,
pub status: Option<stellar1::PaymentStatus>,
#[serde(default)]
pub statusDescription: Option<String>,
#[serde(default)]
pub statusDetail: Option<String>,
#[serde(default)]
pub showCancel: Option<bool>,
#[serde(default)]
pub fromUsername: Option<String>,
#[serde(default)]
pub toUsername: Option<String>,
#[serde(default)]
pub sourceAmount: Option<String>,
pub sourceAsset: Option<stellar1::Asset>,
#[serde(default)]
pub issuerDescription: Option<String>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct UIRequestInfo {
#[serde(default)]
pub amount: Option<String>,
#[serde(default)]
pub amountDescription: Option<String>,
pub asset: Option<stellar1::Asset>,
pub currency: Option<stellar1::OutsideCurrencyCode>,
#[serde(default)]
pub worthAtRequestTime: Option<String>,
pub status: Option<stellar1::RequestStatus>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct UIMessageUnfurlInfo {
pub unfurlMessageID: Option<MessageID>,
#[serde(default)]
pub url: Option<String>,
pub unfurl: Option<UnfurlDisplay>,
#[serde(default)]
pub isCollapsed: Option<bool>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct UIMessageValid {
pub messageID: Option<MessageID>,
pub ctime: Option<gregor1::Time>,
pub outboxID: Option<String>,
pub messageBody: Option<MessageBody>,
pub decoratedTextBody: Option<String>,
#[serde(default)]
pub bodySummary: Option<String>,
#[serde(default)]
pub senderUsername: Option<String>,
#[serde(default)]
pub senderDeviceName: Option<String>,
#[serde(default)]
pub senderDeviceType: Option<String>,
pub senderUID: Option<gregor1::UID>,
pub senderDeviceID: Option<gregor1::DeviceID>,
#[serde(default)]
pub superseded: Option<bool>,
pub assetUrlInfo: Option<UIAssetUrlInfo>,
pub senderDeviceRevokedAt: Option<gregor1::Time>,
#[serde(default)]
pub atMentions: Option<Vec<String>>,
pub channelMention: Option<ChannelMention>,
#[serde(default)]
pub channelNameMentions: Option<Vec<UIChannelNameMention>>,
#[serde(default)]
pub isEphemeral: Option<bool>,
#[serde(default)]
pub isEphemeralExpired: Option<bool>,
pub explodedBy: Option<String>,
pub etime: Option<gregor1::Time>,
pub reactions: Option<ReactionMap>,
#[serde(default)]
pub hasPairwiseMacs: Option<bool>,
#[serde(default)]
pub paymentInfos: Option<Vec<UIPaymentInfo>>,
pub requestInfo: Option<UIRequestInfo>,
#[serde(default)]
pub unfurls: Option<Vec<UIMessageUnfurlInfo>>,
#[serde(default)]
pub isCollapsed: Option<bool>,
pub flipGameID: Option<String>,
#[serde(default)]
pub isDeleteable: Option<bool>,
#[serde(default)]
pub isEditable: Option<bool>,
pub replyTo: Option<Box<UIMessage>>,
pub botUID: Option<gregor1::UID>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct UIMessageOutbox {
pub state: Option<OutboxState>,
#[serde(default)]
pub outboxID: Option<String>,
pub messageType: Option<MessageType>,
#[serde(default)]
pub body: Option<String>,
pub decoratedTextBody: Option<String>,
pub ctime: Option<gregor1::Time>,
pub ordinal: Option<f64>,
#[serde(default)]
pub isEphemeral: Option<bool>,
pub flipGameID: Option<String>,
pub replyTo: Option<Box<UIMessage>>,
#[serde(default)]
pub filename: Option<String>,
#[serde(default)]
pub title: Option<String>,
pub preview: Option<MakePreviewRes>,
}
#[derive(Serialize_repr, Deserialize_repr, Debug, Hash, PartialEq, Eq)]
#[repr(u8)]
pub enum MessageUnboxedState {
Valid_1,
Error_2,
Outbox_3,
Placeholder_4,
}
#[derive(Serialize, Deserialize, Debug)]
#[serde(untagged)]
pub enum UIMessage {
Valid {valid: UIMessageValid},
Error {error: MessageUnboxedError},
Outbox {outbox: UIMessageOutbox},
Placeholder {placeholder: MessageUnboxedPlaceholder},
}
#[derive(Serialize, Deserialize, Debug)]
pub struct UIMessages {
#[serde(default)]
pub messages: Option<Vec<Box<UIMessage>>>,
pub pagination: Option<UIPagination>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct UITeamMention {
#[serde(default)]
pub inTeam: Option<bool>,
#[serde(default)]
pub open: Option<bool>,
pub description: Option<String>,
pub numMembers: Option<i32>,
#[serde(default)]
pub publicAdmins: Option<Vec<String>>,
pub convID: Option<String>,
}
#[derive(Serialize_repr, Deserialize_repr, Debug, Hash, PartialEq, Eq)]
#[repr(u8)]
pub enum UITextDecorationTyp {
Payment_0,
Atmention_1,
Channelnamemention_2,
Maybemention_3,
Link_4,
Mailto_5,
}
#[derive(Serialize_repr, Deserialize_repr, Debug, Hash, PartialEq, Eq)]
#[repr(u8)]
pub enum UIMaybeMentionStatus {
Unknown_0,
User_1,
Team_2,
Nothing_3,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct UILinkDecoration {
#[serde(default)]
pub display: Option<String>,
#[serde(default)]
pub url: Option<String>,
}
#[derive(Serialize, Deserialize, Debug)]
#[serde(untagged)]
pub enum UIMaybeMentionInfo {
Unknown {unknown: ()},
User {user: ()},
Team {team: UITeamMention},
Nothing {nothing: ()},
}
#[derive(Serialize, Deserialize, Debug)]
#[serde(untagged)]
pub enum UITextDecoration {
Payment {payment: TextPayment},
Atmention {atmention: String},
Channelnamemention {channelnamemention: UIChannelNameMention},
Maybemention {maybemention: MaybeMention},
Link {link: UILinkDecoration},
Mailto {mailto: UILinkDecoration},
}
#[derive(Serialize_repr, Deserialize_repr, Debug, Hash, PartialEq, Eq)]
#[repr(u8)]
pub enum UIChatThreadStatusTyp {
None_0,
Server_1,
Validating_2,
Validated_3,
}
#[derive(Serialize, Deserialize, Debug)]
#[serde(untagged)]
pub enum UIChatThreadStatus {
None {none: ()},
Server {server: ()},
Validating {validating: i32},
Validated {validated: ()},
}
#[derive(Serialize, Deserialize, Debug)]
pub struct UIChatSearchConvHit {
#[serde(default)]
pub convID: Option<String>,
pub teamType: Option<TeamType>,
#[serde(default)]
pub name: Option<String>,
pub mtime: Option<gregor1::Time>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct UIChatSearchConvHits {
#[serde(default)]
pub hits: Option<Vec<UIChatSearchConvHit>>,
#[serde(default)]
pub unreadMatches: Option<bool>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct UIChatPayment {
#[serde(default)]
pub username: Option<String>,
#[serde(default)]
pub fullName: Option<String>,
#[serde(default)]
pub xlmAmount: Option<String>,
pub error: Option<String>,
pub displayAmount: Option<String>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct UIChatPaymentSummary {
#[serde(default)]
pub xlmTotal: Option<String>,
#[serde(default)]
pub displayTotal: Option<String>,
#[serde(default)]
pub payments: Option<Vec<UIChatPayment>>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct GiphySearchResult {
#[serde(default)]
pub targetUrl: Option<String>,
#[serde(default)]
pub previewUrl: Option<String>,
pub previewWidth: Option<i32>,
pub previewHeight: Option<i32>,
#[serde(default)]
pub previewIsVideo: Option<bool>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct GiphySearchResults {
#[serde(default)]
pub results: Option<Vec<GiphySearchResult>>,
#[serde(default)]
pub galleryUrl: Option<String>,
}
#[derive(Serialize_repr, Deserialize_repr, Debug, Hash, PartialEq, Eq)]
#[repr(u8)]
pub enum UICoinFlipPhase {
Commitment_0,
Reveals_1,
Complete_2,
Error_3,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct UICoinFlipErrorParticipant {
#[serde(default)]
pub user: Option<String>,
#[serde(default)]
pub device: Option<String>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct UICoinFlipAbsenteeError {
#[serde(default)]
pub absentees: Option<Vec<UICoinFlipErrorParticipant>>,
}
#[derive(Serialize_repr, Deserialize_repr, Debug, Hash, PartialEq, Eq)]
#[repr(u8)]
pub enum UICoinFlipErrorTyp {
Generic_0,
Absentee_1,
Timeout_2,
Aborted_3,
Dupreg_4,
Dupcommitcomplete_5,
Dupreveal_6,
Commitmismatch_7,
}
#[derive(Serialize, Deserialize, Debug)]
#[serde(untagged)]
pub enum UICoinFlipError {
Generic {generic: String},
Absentee {absentee: UICoinFlipAbsenteeError},
Timeout {timeout: ()},
Aborted {aborted: ()},
Dupreg {dupreg: UICoinFlipErrorParticipant},
Dupcommitcomplete {dupcommitcomplete: UICoinFlipErrorParticipant},
Dupreveal {dupreveal: UICoinFlipErrorParticipant},
Commitmismatch {commitmismatch: UICoinFlipErrorParticipant},
}
#[derive(Serialize_repr, Deserialize_repr, Debug, Hash, PartialEq, Eq)]
#[repr(u8)]
pub enum UICoinFlipResultTyp {
Number_0,
Shuffle_1,
Deck_2,
Hands_3,
Coin_4,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct UICoinFlipHand {
#[serde(default)]
pub target: Option<String>,
#[serde(default)]
pub hand: Option<Vec<i32>>,
}
#[derive(Serialize, Deserialize, Debug)]
#[serde(untagged)]
pub enum UICoinFlipResult {
Number {number: String},
Shuffle {shuffle: Vec<String>},
Deck {deck: Vec<i32>},
Hands {hands: Vec<UICoinFlipHand>},
Coin {coin: bool},
}
#[derive(Serialize, Deserialize, Debug)]
pub struct UICoinFlipParticipant {
#[serde(default)]
pub uid: Option<String>,
#[serde(default)]
pub deviceID: Option<String>,
#[serde(default)]
pub username: Option<String>,
#[serde(default)]
pub deviceName: Option<String>,
#[serde(default)]
pub commitment: Option<String>,
pub reveal: Option<String>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct UICoinFlipStatus {
#[serde(default)]
pub gameID: Option<String>,
pub phase: Option<UICoinFlipPhase>,
#[serde(default)]
pub progressText: Option<String>,
#[serde(default)]
pub resultText: Option<String>,
#[serde(default)]
pub commitmentVisualization: Option<String>,
#[serde(default)]
pub revealVisualization: Option<String>,
#[serde(default)]
pub participants: Option<Vec<UICoinFlipParticipant>>,
pub errorInfo: Option<UICoinFlipError>,
pub resultInfo: Option<UICoinFlipResult>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct UICommandMarkdown {
#[serde(default)]
pub body: Option<String>,
pub title: Option<String>,
}
pub type LocationWatchID = u64;
#[derive(Serialize_repr, Deserialize_repr, Debug, Hash, PartialEq, Eq)]
#[repr(u8)]
pub enum UICommandStatusDisplayTyp {
Status_0,
Warning_1,
Error_2,
}
#[derive(Serialize_repr, Deserialize_repr, Debug, Hash, PartialEq, Eq)]
#[repr(u8)]
pub enum UICommandStatusActionTyp {
Appsettings_0,
}
#[derive(Serialize_repr, Deserialize_repr, Debug, Hash, PartialEq, Eq)]
#[repr(u8)]
pub enum UIBotCommandsUpdateStatus {
Uptodate_0,
Updating_1,
Failed_2,
Blank_3,
}