Signal-Desktop/ts/types/Payment.ts

40 lines
945 B
TypeScript

// Copyright 2022 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
export enum PaymentEventKind {
Notification = 1,
ActivationRequest = 2,
Activation = 3,
// Request = 4, -- disabled
// Cancellation = 5, -- disabled
}
export type PaymentNotificationEvent = Readonly<{
kind: PaymentEventKind.Notification;
note: string | null;
// Backup related data
transactionDetailsBase64?: string;
amountMob?: string;
feeMob?: string;
}>;
export type PaymentActivationRequestEvent = Readonly<{
kind: PaymentEventKind.ActivationRequest;
}>;
export type PaymentActivatedEvent = Readonly<{
kind: PaymentEventKind.Activation;
}>;
export type AnyPaymentEvent =
| PaymentNotificationEvent
| PaymentActivationRequestEvent
| PaymentActivatedEvent;
export function isPaymentNotificationEvent(
event: AnyPaymentEvent
): event is PaymentNotificationEvent {
return event.kind === PaymentEventKind.Notification;
}