keybase-protocol 0.1.1

Provides the Keybase types defined in the Keybase AVDL Protocol files for Rust.
Documentation
// Namespace: "stellar.1"
// Protocol: "remote"
#![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 super::common::*;
pub type ChatConversationID = String;

pub struct PaymentDirectPost {
  pub fromDeviceID: keybase1::DeviceID,
  pub to: Option<keybase1::UserVersion>,
  pub displayAmount: Option<String>,
  pub displayCurrency: Option<String>,
  pub noteB64: Option<String>,
  pub signedTransaction: Option<String>,
  pub quickReturn: bool,
  pub chatConversationID: Option<ChatConversationID>,
  pub batchID: Option<String>,
}

pub struct PaymentRelayPost {
  pub fromDeviceID: keybase1::DeviceID,
  pub to: Option<keybase1::UserVersion>,
  pub toAssertion: Option<String>,
  pub relayAccount: AccountID,
  pub teamID: keybase1::TeamID,
  pub displayAmount: Option<String>,
  pub displayCurrency: Option<String>,
  pub boxB64: Option<String>,
  pub signedTransaction: Option<String>,
  pub quickReturn: bool,
  pub chatConversationID: Option<ChatConversationID>,
  pub batchID: Option<String>,
}

pub struct RelayClaimPost {
  pub keybaseID: KeybaseTransactionID,
  pub dir: RelayDirection,
  pub signedTransaction: Option<String>,
  pub autoClaimToken: Option<String>,
}

pub struct PathPaymentPost {
  pub fromDeviceID: keybase1::DeviceID,
  pub to: Option<keybase1::UserVersion>,
  pub noteB64: Option<String>,
  pub signedTransaction: Option<String>,
  pub quickReturn: bool,
  pub chatConversationID: Option<ChatConversationID>,
}

pub struct DirectOp {
  pub noteB64: Option<String>,
}

pub struct RelayOp {
  pub toAssertion: Option<String>,
  pub relayAccount: AccountID,
  pub teamID: keybase1::TeamID,
  pub boxB64: Option<String>,
}

pub struct PaymentOp {
  pub to: Option<keybase1::UserVersion>,
  pub direct: Option<DirectOp>,
  pub relay: Option<RelayOp>,
}

pub struct PaymentMultiPost {
  pub fromDeviceID: keybase1::DeviceID,
  pub signedTransaction: Option<String>,
  pub operations: Option<Vec<PaymentOp>>,
  pub batchID: Option<String>,
}

#[derive(Serialize_repr, Deserialize_repr, Debug, Hash, PartialEq, Eq)]
#[repr(u8)]
pub enum PaymentSummaryType {
  None_0,
  Stellar_1,
  Direct_2,
  Relay_3,
}

pub enum PaymentSummary {
  Stellar {stellar: PaymentSummaryStellar},
  Direct {direct: PaymentSummaryDirect},
  Relay {relay: PaymentSummaryRelay},
}

pub struct PaymentSummaryStellar {
  pub txID: TransactionID,
  pub from: AccountID,
  pub to: AccountID,
  pub amount: Option<String>,
  pub asset: Asset,
  pub ctime: TimeMs,
  pub cursorToken: Option<String>,
  pub unread: bool,
  pub isInflation: bool,
  pub inflationSource: Option<String>,
  pub sourceAmountMax: Option<String>,
  pub sourceAmountActual: Option<String>,
  pub sourceAsset: Asset,
  pub isAdvanced: bool,
  pub summaryAdvanced: Option<String>,
  pub operations: Option<Vec<String>>,
  pub trustline: Option<PaymentTrustlineLocal>,
}

pub struct PaymentSummaryDirect {
  pub kbTxID: KeybaseTransactionID,
  pub txID: TransactionID,
  pub txStatus: TransactionStatus,
  pub txErrMsg: Option<String>,
  pub fromStellar: AccountID,
  pub from: keybase1::UserVersion,
  pub fromDeviceID: keybase1::DeviceID,
  pub toStellar: AccountID,
  pub to: Option<keybase1::UserVersion>,
  pub amount: Option<String>,
  pub asset: Asset,
  pub displayAmount: Option<String>,
  pub displayCurrency: Option<String>,
  pub noteB64: Option<String>,
  pub fromDisplayAmount: Option<String>,
  pub fromDisplayCurrency: Option<String>,
  pub toDisplayAmount: Option<String>,
  pub toDisplayCurrency: Option<String>,
  pub ctime: TimeMs,
  pub rtime: TimeMs,
  pub cursorToken: Option<String>,
  pub unread: bool,
  pub fromPrimary: bool,
  pub batchID: Option<String>,
  pub fromAirdrop: bool,
  pub sourceAmountMax: Option<String>,
  pub sourceAmountActual: Option<String>,
  pub sourceAsset: Asset,
}

pub struct PaymentSummaryRelay {
  pub kbTxID: KeybaseTransactionID,
  pub txID: TransactionID,
  pub txStatus: TransactionStatus,
  pub txErrMsg: Option<String>,
  pub fromStellar: AccountID,
  pub from: keybase1::UserVersion,
  pub fromDeviceID: keybase1::DeviceID,
  pub to: Option<keybase1::UserVersion>,
  pub toAssertion: Option<String>,
  pub relayAccount: AccountID,
  pub amount: Option<String>,
  pub displayAmount: Option<String>,
  pub displayCurrency: Option<String>,
  pub ctime: TimeMs,
  pub rtime: TimeMs,
  pub boxB64: Option<String>,
  pub teamID: keybase1::TeamID,
  pub claim: Option<ClaimSummary>,
  pub cursorToken: Option<String>,
  pub batchID: Option<String>,
  pub fromAirdrop: bool,
}

pub struct ClaimSummary {
  pub txID: TransactionID,
  pub txStatus: TransactionStatus,
  pub txErrMsg: Option<String>,
  pub dir: RelayDirection,
  pub toStellar: AccountID,
  pub to: keybase1::UserVersion,
}

pub struct PaymentDetails {
  pub summary: PaymentSummary,
  pub memo: Option<String>,
  pub memoType: Option<String>,
  // @lint("ignore")
  pub externalTxURL: Option<String>,
  pub feeCharged: Option<String>,
  pub pathIntermediate: Option<Vec<Asset>>,
}



pub struct AccountDetails {
  pub accountID: AccountID,
  pub seqno: Option<String>,
  pub balances: Option<Vec<Balance>>,
  pub subentryCount: i32,
  pub available: Option<String>,
  pub reserves: Option<Vec<AccountReserve>>,
  pub readTransactionID: Option<TransactionID>,
  pub unreadPayments: i32,
  pub displayCurrency: Option<String>,
  pub inflationDestination: Option<AccountID>,
}



pub struct PaymentsPage {
  pub payments: Option<Vec<PaymentSummary>>,
  pub cursor: Option<PageCursor>,
  pub oldestUnread: Option<TransactionID>,
}



















pub struct SubmitMultiRes {
  pub txID: TransactionID,
}







pub struct AutoClaim {
  pub kbTxID: KeybaseTransactionID,
}





pub struct RequestPost {
  pub toUser: Option<keybase1::UserVersion>,
  pub toAssertion: Option<String>,
  pub amount: Option<String>,
  pub asset: Option<Asset>,
  pub currency: Option<OutsideCurrencyCode>,
}



pub struct RequestDetails {
  pub id: KeybaseRequestID,
  pub fromUser: keybase1::UserVersion,
  pub toUser: Option<keybase1::UserVersion>,
  pub toAssertion: Option<String>,
  pub amount: Option<String>,
  pub asset: Option<Asset>,
  pub currency: Option<OutsideCurrencyCode>,
  pub fromDisplayAmount: Option<String>,
  pub fromDisplayCurrency: Option<String>,
  pub toDisplayAmount: Option<String>,
  pub toDisplayCurrency: Option<String>,
  pub fundingKbTxID: KeybaseTransactionID,
  pub status: RequestStatus,
}









pub struct TimeboundsRecommendation {
  pub timeNow: keybase1::UnixTime,
  pub timeout: i64,
}

pub struct NetworkOptions {
  pub baseFee: u64,
}



pub struct DetailsPlusPayments {
  pub details: AccountDetails,
  pub recentPayments: PaymentsPage,
  pub pendingPayments: Option<Vec<PaymentSummary>>,
}











pub struct PaymentPathQuery {
  pub source: AccountID,
  pub destination: AccountID,
  pub sourceAsset: Asset,
  pub destinationAsset: Asset,
  pub amount: Option<String>,
}