import { Hex } from "./crypto"; import { PayOrderStatus } from "./enums"; import { ParsedPayOrderMetadata, PaymentData } from "./model"; export type PayOrderCreationErrorEvent = { type: "payorder_creation_error"; errorMessage: string; }; type EventBase = { payorder_id: string; status: PayOrderStatus; metadata?: ParsedPayOrderMetadata; }; export type PayOrderCreatedEvent = EventBase & { type: "payorder_created"; }; export type PayOrderStartedEvent = EventBase & { type: "payorder_started"; payment_data: PaymentData; }; export type PayOrderConfirmingEvent = EventBase & { type: "payorder_confirming"; payment_data: PaymentData; source_tx_hash?: Hex | string; }; export type PayOrderExecutingEvent = EventBase & { type: "payorder_executing"; payment_data: PaymentData; source_tx_hash: Hex | string; }; export type PayOrderPartialPaymentEvent = EventBase & { type: "payorder_partial_payment"; payment_data: PaymentData; source_tx_hash?: Hex | string; }; export type PayOrderCompletedEvent = EventBase & { type: "payorder_completed"; payment_data: PaymentData; source_tx_hash: Hex | string; destination_tx_hash: Hex | string; }; export type PayOrderErrorEvent = EventBase & { type: "payorder_error"; payment_data: PaymentData; message: string; status: string; }; export type PayOrderRefundedEvent = EventBase & { type: "payorder_refunded"; payment_data: PaymentData; refund_tx_hash: Hex | string; refund_address: string; }; export type PayOrderEvent = PayOrderCreationErrorEvent | PayOrderCreatedEvent | PayOrderStartedEvent | PayOrderConfirmingEvent | PayOrderExecutingEvent | PayOrderPartialPaymentEvent | PayOrderCompletedEvent | PayOrderErrorEvent | PayOrderRefundedEvent; export {};