40 lines
945 B
TypeScript
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;
|
|
}
|