@rozoai/intent-pay 0.1.4 → 0.1.5-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,34 @@
1
+ import { RozoPayHydratedOrderWithOrg, RozoPayOrder, RozoPayOrderWithOrg } from "@rozoai/intent-common";
2
+ import { PayLogFn } from "../provider/PayContext";
3
+ export interface UsePayoutPollingOptions {
4
+ /** Whether polling is enabled */
5
+ enabled: boolean | undefined;
6
+ /** The Rozo payment ID to poll for */
7
+ rozoPaymentId: string | undefined;
8
+ /** The order object (for logging purposes) */
9
+ order: RozoPayOrder | RozoPayOrderWithOrg | RozoPayHydratedOrderWithOrg | null | undefined;
10
+ /** Whether the payment is done */
11
+ done: boolean | undefined;
12
+ /** Whether to show processing payout */
13
+ showProcessingPayout: boolean | undefined;
14
+ /** Logging function */
15
+ log: PayLogFn;
16
+ /** Function to trigger resize */
17
+ triggerResize: () => void;
18
+ }
19
+ export interface UsePayoutPollingResult {
20
+ /** Whether payout is currently loading */
21
+ payoutLoading: boolean;
22
+ /** The payout transaction hash */
23
+ payoutTxHash: string | undefined;
24
+ /** The URL to view the payout transaction */
25
+ payoutTxHashUrl: string | undefined;
26
+ }
27
+ /**
28
+ * Hook to poll for payout transaction hash.
29
+ * Polls the payment API until a payout transaction hash is found.
30
+ *
31
+ * @param options - Configuration options for payout polling
32
+ * @returns Payout polling state and results
33
+ */
34
+ export declare const usePayoutPolling: (options: UsePayoutPollingOptions) => UsePayoutPollingResult;
@@ -0,0 +1,33 @@
1
+ import { PaymentStatus } from "@rozoai/intent-common";
2
+ import { PayLogFn } from "../provider/PayContext";
3
+ interface PusherStatusUpdatePayload {
4
+ payment_id: string;
5
+ status: PaymentStatus.PaymentPayoutCompleted;
6
+ source_txhash?: string;
7
+ destination_txhash?: string;
8
+ }
9
+ export interface UsePusherPayoutOptions {
10
+ /** Whether Pusher integration is enabled */
11
+ enabled: boolean | undefined;
12
+ /** The Rozo payment ID to subscribe to */
13
+ rozoPaymentId: string | undefined;
14
+ /** Callback when payout completed status is received */
15
+ onPayoutCompleted?: (payload: PusherStatusUpdatePayload) => void;
16
+ /** Logging function */
17
+ log: PayLogFn;
18
+ }
19
+ export interface UsePusherPayoutResult {
20
+ /** Whether Pusher is connected */
21
+ isConnected: boolean;
22
+ /** Last received status update */
23
+ lastStatusUpdate: PusherStatusUpdatePayload | null;
24
+ }
25
+ /**
26
+ * Hook to subscribe to Pusher real-time payment status updates.
27
+ * Listens for payment_payout_completed status updates.
28
+ *
29
+ * @param options - Configuration options for Pusher integration
30
+ * @returns Pusher connection state and last status update
31
+ */
32
+ export declare const usePusherPayout: (options: UsePusherPayoutOptions) => UsePusherPayoutResult;
33
+ export {};
@@ -1,5 +1,5 @@
1
1
  var name = "@rozoai/intent-pay";
2
- var version = "0.1.4";
2
+ var version = "0.1.5-beta.2";
3
3
  var author = "RozoAI";
4
4
  var homepage = "https://github.com/RozoAI/intent-pay";
5
5
  var license = "BSD-2-Clause";
@@ -10,10 +10,6 @@ var exports = {
10
10
  ".": {
11
11
  "import": "./build/src/index.js",
12
12
  types: "./build/index.d.ts"
13
- },
14
- "./world": {
15
- "import": "./build/src/world.js",
16
- types: "./build/world.d.ts"
17
13
  }
18
14
  };
19
15
  var types = "./build/index.d.ts";
@@ -49,7 +45,7 @@ var dependencies = {
49
45
  "@albedo-link/intent": "^0.13.0",
50
46
  "@reown/appkit": "^1.7.0",
51
47
  "@rollup/plugin-typescript": "^12.1.2",
52
- "@rozoai/intent-common": "0.1.5",
48
+ "@rozoai/intent-common": "0.1.6-beta.1",
53
49
  "@solana/spl-token": "^0.4.14",
54
50
  "@solana/wallet-adapter-base": "^0.9.27",
55
51
  "@solana/wallet-adapter-react": "^0.15.39",
@@ -67,7 +63,8 @@ var dependencies = {
67
63
  "react-use-measure": "^2.1.1",
68
64
  "resize-observer-polyfill": "^1.5.1",
69
65
  "styled-components": "^5.3.5",
70
- "pino-pretty": "^10.0.0"
66
+ "pino-pretty": "^10.0.0",
67
+ "pusher-js": "^8.4.0"
71
68
  };
72
69
  var peerDependencies = {
73
70
  "@creit.tech/stellar-wallets-kit": "^1.9.5",
@@ -99,7 +96,11 @@ var devDependencies = {
99
96
  "@types/react-dom": "^18.2.18",
100
97
  "@types/rollup-plugin-peer-deps-external": "^2.2.5",
101
98
  "@types/styled-components": "^5.1.25",
99
+ "@typescript-eslint/eslint-plugin": "^6.21.0",
100
+ "@typescript-eslint/parser": "^6.21.0",
102
101
  "@walletconnect/types": "^2.22.3",
102
+ eslint: "^8.57.0",
103
+ "eslint-plugin-react": "^7.37.0",
103
104
  "eslint-plugin-react-hooks": "^5.2.0",
104
105
  rollup: "^3.29.5",
105
106
  "rollup-plugin-dts": "^6.1.1",
@@ -1 +1 @@
1
- {"version":3,"file":"package.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"package.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -2,28 +2,29 @@ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
2
  import React, { useState, useMemo, useEffect } from 'react';
3
3
  import { usePayContext } from '../../../hooks/usePayContext.js';
4
4
  import { ModalBody, PageContent, ModalContent, ModalH1, Link } from '../../Common/Modal/styles.js';
5
- import { rozoStellar, rozoSolana, getChainExplorerTxUrl, getOrderDestChainId, assert, getAddressContraction, getPayment } from '@rozoai/intent-common';
5
+ import { rozoStellar, rozoSolana, getChainExplorerTxUrl, getOrderDestChainId, assert, updatePaymentPayInTxHash, getAddressContraction } from '@rozoai/intent-common';
6
6
  import { motion } from 'framer-motion';
7
7
  import { TickIcon, LoadingCircleIcon, ExternalLinkIcon } from '../../../assets/icons.js';
8
8
  import defaultTheme from '../../../constants/defaultTheme.js';
9
9
  import { DEFAULT_ROZO_APP_ID, ROZO_INVOICE_URL } from '../../../constants/rozoConfig.js';
10
10
  import { useRozoPay } from '../../../hooks/useDaimoPay.js';
11
+ import { usePayoutPolling } from '../../../hooks/usePayoutPolling.js';
12
+ import { usePusherPayout } from '../../../hooks/usePusherPayout.js';
11
13
  import { useSupportedChains } from '../../../hooks/useSupportedChains.js';
12
14
  import styled from '../../../styles/styled/index.js';
13
15
  import Button from '../../Common/Button/index.js';
14
16
  import PoweredByFooter from '../../Common/PoweredByFooter/index.js';
15
17
 
16
- const poolDelay = 1000;
17
18
  const Confirmation = () => {
18
19
  const { confirmationMessage, onSuccess, debugMode, paymentState: paymentStateContext, triggerResize, ...context } = usePayContext();
19
20
  const { order, paymentState, setPaymentCompleted, setPaymentPayoutCompleted, } = useRozoPay();
20
21
  const [isConfirming, setIsConfirming] = useState(true);
21
- const [payoutLoading, setPayoutLoading] = useState(false);
22
- const [payoutTxHashUrl, setPayoutTxHashUrl] = useState(undefined);
23
- const [payoutTxHash, setPayoutTxHash] = useState(undefined);
24
22
  // Track if completion events have been sent to prevent duplicate calls
25
23
  const paymentCompletedSent = React.useRef(null);
26
24
  const payoutCompletedSent = React.useRef(null);
25
+ // Local state for Pusher payout transaction hash
26
+ const [pusherPayoutTxHash, setPusherPayoutTxHash] = useState(undefined);
27
+ const [pusherPayoutTxHashUrl, setPusherPayoutTxHashUrl] = useState(undefined);
27
28
  const showProcessingPayout = useMemo(() => {
28
29
  const { payParams, tokenMode } = paymentStateContext;
29
30
  if (payParams &&
@@ -100,54 +101,48 @@ const Confirmation = () => {
100
101
  }
101
102
  return undefined;
102
103
  }, [rozoPaymentId, receiptUrl]);
103
- useEffect(() => {
104
- if (order && done && rozoPaymentId && showProcessingPayout) {
105
- triggerResize();
106
- context.log("[CONFIRMATION] Starting payout polling for order:", order.externalId);
107
- setPayoutLoading(true);
108
- let isActive = true;
109
- let timeoutId;
110
- const pollPayout = async () => {
111
- if (!isActive || !rozoPaymentId)
112
- return;
113
- try {
114
- context.log("[CONFIRMATION] Polling for payout transaction:", rozoPaymentId);
115
- const response = await getPayment(rozoPaymentId, "v2");
116
- context.log("[CONFIRMATION] Payout polling response:", response.data);
117
- if (isActive &&
118
- response.data &&
119
- response.data.destination.txHash &&
120
- typeof response.data.destination.txHash === "string") {
121
- const url = getChainExplorerTxUrl(Number(response.data.destination.chainId), response.data.destination.txHash);
122
- context.log("[CONFIRMATION] Found payout transaction:", response.data.destination.txHash, "URL:", url);
123
- setPayoutTxHash(response.data.destination.txHash);
124
- setPayoutTxHashUrl(url);
125
- setPayoutLoading(false);
126
- triggerResize();
127
- return;
128
- }
129
- // Schedule next poll
130
- if (isActive) {
131
- timeoutId = setTimeout(pollPayout, poolDelay);
132
- }
133
- }
134
- catch (error) {
135
- console.error("[CONFIRMATION] Payout polling error:", error);
136
- if (isActive) {
137
- timeoutId = setTimeout(pollPayout, poolDelay);
104
+ // Use payout polling hook
105
+ const { payoutLoading, payoutTxHash, payoutTxHashUrl } = usePayoutPolling({
106
+ enabled: false,
107
+ rozoPaymentId,
108
+ order,
109
+ done,
110
+ showProcessingPayout,
111
+ log: context.log,
112
+ triggerResize,
113
+ });
114
+ // Use Pusher hook for real-time status updates
115
+ usePusherPayout({
116
+ enabled: true,
117
+ rozoPaymentId,
118
+ onPayoutCompleted: (payload) => {
119
+ context.log("[CONFIRMATION] Pusher payout completed:", payload);
120
+ // If we receive payout completed from Pusher and have the destination txhash,
121
+ // we can use it to update the payout state
122
+ if (payload.destination_txhash && rozoPaymentId) {
123
+ const payoutKey = `${payload.destination_txhash}-${rozoPaymentId}`;
124
+ if (payoutCompletedSent.current !== payoutKey) {
125
+ payoutCompletedSent.current = payoutKey;
126
+ // Update local state for UI display
127
+ setPusherPayoutTxHash(payload.destination_txhash);
128
+ // Generate transaction URL if we have the order
129
+ if (order) {
130
+ const destChainId = getOrderDestChainId(order);
131
+ const txUrl = getChainExplorerTxUrl(destChainId, payload.destination_txhash);
132
+ setPusherPayoutTxHashUrl(txUrl);
138
133
  }
134
+ // Update payment state
135
+ setPaymentPayoutCompleted(payload.destination_txhash, rozoPaymentId);
136
+ triggerResize();
139
137
  }
140
- };
141
- // Start polling
142
- timeoutId = setTimeout(pollPayout, 0);
143
- return () => {
144
- isActive = false;
145
- if (timeoutId) {
146
- clearTimeout(timeoutId);
147
- }
148
- };
149
- }
150
- }, [txURL, order, done, rozoPaymentId, showProcessingPayout]);
138
+ }
139
+ },
140
+ log: context.log,
141
+ });
142
+ /**
143
+ * Sets the payment completed state.
144
+ * This is called when the payment is confirmed and the transaction hash is available.
145
+ */
151
146
  useEffect(() => {
152
147
  if (done && rawPayInHash && rozoPaymentId) {
153
148
  // Only call once per unique payment hash to prevent duplicate state updates
@@ -160,10 +155,18 @@ const Confirmation = () => {
160
155
  rozoPaymentId,
161
156
  });
162
157
  paymentCompletedSent.current = paymentKey;
158
+ // Update payment pay-in transaction hash on the server
159
+ updatePaymentPayInTxHash(rozoPaymentId, rawPayInHash, "v2").catch((error) => {
160
+ context.log("[CONFIRMATION] Failed to update payment pay-in tx hash:", error);
161
+ });
163
162
  setPaymentCompleted(rawPayInHash, rozoPaymentId);
164
163
  onSuccess();
165
164
  }
166
- }, [done, onSuccess, paymentStateContext, rawPayInHash, rozoPaymentId]);
165
+ }, [done, paymentStateContext, rawPayInHash, rozoPaymentId]);
166
+ /**
167
+ * Sets the payout completed state.
168
+ * This is called when the payout is confirmed and the transaction hash is available.
169
+ */
167
170
  useEffect(() => {
168
171
  if (done && payoutTxHash && rozoPaymentId) {
169
172
  // Only call once per unique payout hash to prevent duplicate state updates
@@ -198,7 +201,8 @@ const Confirmation = () => {
198
201
  alignItems: "center",
199
202
  gap: 3,
200
203
  flexDirection: "column",
201
- }, children: "Payment Completed" }), txURL && (jsxs(ListContainer, { children: [jsxs(ListItem, { children: [jsx(ModalBody, { children: "Transfer Hash" }), jsx(ModalBody, { children: jsxs(Link, { href: txURL, target: "_blank", rel: "noopener noreferrer", style: { fontSize: 14, fontWeight: 400 }, children: [getAddressContraction(rawPayInHash), jsx(ExternalIcon, {})] }) })] }), showProcessingPayout && (jsxs(ListItem, { children: [jsx(ModalBody, { children: "Receiver Hash" }), jsx(ModalBody, { children: payoutLoading ? (jsx(LoadingText, { children: "Processing payout..." })) : payoutTxHashUrl && payoutTxHash ? (jsxs(Link, { href: payoutTxHashUrl, target: "_blank", rel: "noopener noreferrer", style: { fontSize: 14, fontWeight: 400 }, children: [getAddressContraction(payoutTxHash), jsx(ExternalIcon, {})] })) : (jsx(PlaceholderText, { children: "Pending..." })) })] }))] })), confirmationMessage && (jsx(ModalBody, { children: confirmationMessage }))] })), done && generateReceiptUrl && (jsx(Button, { iconPosition: "right", href: generateReceiptUrl, style: { width: "100%" }, children: "See Receipt" })), jsx(PoweredByFooter, { showSupport: !done, preFilledMessage: `Transaction: ${txURL}` })] }) }));
204
+ }, children: "Payment Completed" }), txURL && (jsxs(ListContainer, { children: [jsxs(ListItem, { children: [jsx(ModalBody, { children: "Transfer Hash" }), jsx(ModalBody, { children: jsxs(Link, { href: txURL, target: "_blank", rel: "noopener noreferrer", style: { fontSize: 14, fontWeight: 400 }, children: [getAddressContraction(rawPayInHash), jsx(ExternalIcon, {})] }) })] }), showProcessingPayout && (jsxs(ListItem, { children: [jsx(ModalBody, { children: "Receiver Hash" }), jsx(ModalBody, { children: payoutLoading ? (jsx(LoadingText, { children: "Processing payout..." })) : (pusherPayoutTxHashUrl && pusherPayoutTxHash) ||
205
+ (payoutTxHashUrl && payoutTxHash) ? (jsxs(Link, { href: pusherPayoutTxHashUrl || payoutTxHashUrl || "#", target: "_blank", rel: "noopener noreferrer", style: { fontSize: 14, fontWeight: 400 }, children: [getAddressContraction(pusherPayoutTxHash || payoutTxHash || ""), jsx(ExternalIcon, {})] })) : (jsx(PlaceholderText, { children: "Pending..." })) })] }))] })), confirmationMessage && (jsx(ModalBody, { children: confirmationMessage }))] })), done && generateReceiptUrl && (jsx(Button, { iconPosition: "right", href: generateReceiptUrl, style: { width: "100%" }, children: "See Receipt" })), jsx(PoweredByFooter, { showSupport: !done, preFilledMessage: `Transaction: ${txURL}` })] }) }));
202
206
  };
203
207
  const AnimationContainer = styled(motion.div) `
204
208
  position: relative;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/components/Pages/Confirmation/index.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs","_Fragment"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/components/Pages/Confirmation/index.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs","_Fragment"],"mappings":";;;;;;;;;;;;;;;;;AAuCM,MAAA,YAAY,GAAa,MAAK;AAClC,IAAA,MAAM,EACJ,mBAAmB,EACnB,SAAS,EACT,SAAS,EACT,YAAY,EAAE,mBAAmB,EACjC,aAAa,EACb,GAAG,OAAO,EACX,GAAG,aAAa,EAAE,CAAC;AACpB,IAAA,MAAM,EACJ,KAAK,EACL,YAAY,EACZ,mBAAmB,EACnB,yBAAyB,GAC1B,GAAG,UAAU,EAAE,CAAC;IAEjB,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAU,IAAI,CAAC,CAAC;;IAGhE,MAAM,oBAAoB,GAAG,KAAK,CAAC,MAAM,CAAgB,IAAI,CAAC,CAAC;IAC/D,MAAM,mBAAmB,GAAG,KAAK,CAAC,MAAM,CAAgB,IAAI,CAAC,CAAC;;IAG9D,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,QAAQ,CAE1D,SAAS,CAAC,CAAC;IACb,MAAM,CAAC,qBAAqB,EAAE,wBAAwB,CAAC,GAAG,QAAQ,CAEhE,SAAS,CAAC,CAAC;AAEb,IAAA,MAAM,oBAAoB,GAAG,OAAO,CAAC,MAAK;AACxC,QAAA,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,mBAAmB,CAAC;AAErD,QAAA,IACE,SAAS;AACT,aAAC,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,KAAK,CAAC,EAC1E;YACA,OAAO,SAAS,CAAC,oBAAoB,CAAC;SACvC;AAED,QAAA,OAAO,KAAK,CAAC;AACf,KAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC;AAE1B,IAAA,MAAM,aAAa,GAAG,OAAO,CAAC,MAAK;AACjC,QAAA,OAAO,KAAK,EAAE,UAAU,IAAI,mBAAmB,CAAC,aAAa,CAAC;AAChE,KAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAEjC,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,GAAG,kBAAkB,CACpD,mBAAmB,CAAC,SAAS,EAAE,KAAK,IAAI,mBAAmB,EAC3D,mBAAmB,CAAC,SAAS,EAAE,eAAe,CAC/C,CAAC;IAEF,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,MAAK;AACjD,QAAA,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,mBAAmB,CAAC;AAElD,QAAA,MAAM,aAAa,GACjB,SAAS,KAAK,SAAS;AACvB,YAAA,SAAS,KAAK,QAAQ;aACrB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;gBACjC,KAAK;gBACL,eAAe,CAAC,IAAI,CAClB,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,KAAK,CACvE,CAAC,CAAC;AAEP,QAAA,IAAI,aAAa,IAAI,MAAM,EAAE;;YAE3B,IAAI,YAAY,EAAE;;AAEhB,gBAAA,mBAAmB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;gBAC3C,eAAe,CAAC,KAAK,CAAC,CAAC;;gBAEvB,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;aAC1C;;AAGD,YAAA,IAAI,OAAe,CAAC;AACpB,YAAA,IAAI,SAAS,KAAK,SAAS,EAAE;AAC3B,gBAAA,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC;aAC/B;AAAM,iBAAA,IAAI,SAAS,KAAK,QAAQ,EAAE;AACjC,gBAAA,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;aAC9B;iBAAM;AACL,gBAAA,OAAO,GAAG,MAAM,CACd,mBAAmB,CAAC,mBAAmB,EAAE,QAAQ,CAAC,KAAK,CAAC,OAAO,CAChE,CAAC;aACH;YAED,MAAM,KAAK,GAAG,qBAAqB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACrD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;SACpD;aAAM;YACL,IACE,YAAY,KAAK,mBAAmB;gBACpC,YAAY,KAAK,iBAAiB,EAClC;gBACA,MAAM,MAAM,GAAG,KAAK,CAAC,oBAAoB,IAAI,KAAK,CAAC,eAAe,CAAC;AACnE,gBAAA,MAAM,WAAW,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;gBAC/C,MAAM,CACJ,MAAM,IAAI,IAAI,EACd,CAAgC,6BAAA,EAAA,YAAY,CAAsB,oBAAA,CAAA,CACnE,CAAC;gBACF,MAAM,KAAK,GAAG,qBAAqB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;gBAEzD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;aACpD;SACF;AAED,QAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC;AACpE,KAAC,EAAE,CAAC,YAAY,EAAE,KAAK,EAAE,mBAAmB,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC,CAAC;AAE5E,IAAA,MAAM,UAAU,GAAG,OAAO,CAAC,MAAK;AAC9B,QAAA,IACE,KAAK;AACL,YAAA,UAAU,IAAI,KAAK;YACnB,YAAY,IAAI,KAAK,CAAC,QAAQ;YAC9B,OAAO,KAAK,CAAC,QAAQ,CAAC,UAAU,KAAK,QAAQ,EAC7C;YACA,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAoB,CAAC,CAAC;AACzD,YAAA,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;SACvB;AACD,QAAA,OAAO,SAAS,CAAC;AACnB,KAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AAEZ,IAAA,MAAM,kBAAkB,GAAG,OAAO,CAAC,MAAK;;QAEtC,IAAI,UAAU,EAAE;AACd,YAAA,OAAO,UAAU,CAAC;SACnB;QAED,IAAI,aAAa,EAAE;YACjB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,CAAG,EAAA,gBAAgB,CAAU,QAAA,CAAA,CAAC,CAAC;YACnD,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;AAC1C,YAAA,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;SACvB;AACD,QAAA,OAAO,SAAS,CAAC;AACnB,KAAC,EAAE,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC;;IAGhC,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,GAAG,gBAAgB,CAAC;AACxE,QAAA,OAAO,EAAE,KAAK;QACd,aAAa;QACb,KAAK;QACL,IAAI;QACJ,oBAAoB;QACpB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,aAAa;AACd,KAAA,CAAC,CAAC;;AAGH,IAAA,eAAe,CAAC;AACd,QAAA,OAAO,EAAE,IAAI;QACb,aAAa;AACb,QAAA,iBAAiB,EAAE,CAAC,OAAO,KAAI;AAC7B,YAAA,OAAO,CAAC,GAAG,CAAC,yCAAyC,EAAE,OAAO,CAAC,CAAC;;;AAGhE,YAAA,IAAI,OAAO,CAAC,kBAAkB,IAAI,aAAa,EAAE;gBAC/C,MAAM,SAAS,GAAG,CAAG,EAAA,OAAO,CAAC,kBAAkB,CAAA,CAAA,EAAI,aAAa,CAAA,CAAE,CAAC;AACnE,gBAAA,IAAI,mBAAmB,CAAC,OAAO,KAAK,SAAS,EAAE;AAC7C,oBAAA,mBAAmB,CAAC,OAAO,GAAG,SAAS,CAAC;;AAGxC,oBAAA,qBAAqB,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;;oBAGlD,IAAI,KAAK,EAAE;AACT,wBAAA,MAAM,WAAW,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;wBAC/C,MAAM,KAAK,GAAG,qBAAqB,CACjC,WAAW,EACX,OAAO,CAAC,kBAAkB,CAC3B,CAAC;wBACF,wBAAwB,CAAC,KAAK,CAAC,CAAC;qBACjC;;AAGD,oBAAA,yBAAyB,CAAC,OAAO,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC;AACrE,oBAAA,aAAa,EAAE,CAAC;iBACjB;aACF;SACF;QACD,GAAG,EAAE,OAAO,CAAC,GAAG;AACjB,KAAA,CAAC,CAAC;AAEH;;;AAGG;IACH,SAAS,CAAC,MAAK;AACb,QAAA,IAAI,IAAI,IAAI,YAAY,IAAI,aAAa,EAAE;;AAEzC,YAAA,MAAM,UAAU,GAAG,CAAA,EAAG,YAAY,CAAI,CAAA,EAAA,aAAa,EAAE,CAAC;AACtD,YAAA,IAAI,oBAAoB,CAAC,OAAO,KAAK,UAAU,EAAE;gBAC/C,OAAO;aACR;AAED,YAAA,OAAO,CAAC,GAAG,CAAC,2CAA2C,EAAE;gBACvD,YAAY;gBACZ,aAAa;AACd,aAAA,CAAC,CAAC;AAEH,YAAA,oBAAoB,CAAC,OAAO,GAAG,UAAU,CAAC;;AAG1C,YAAA,wBAAwB,CAAC,aAAa,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC,KAAK,CAC/D,CAAC,KAAK,KAAI;AACR,gBAAA,OAAO,CAAC,GAAG,CACT,yDAAyD,EACzD,KAAK,CACN,CAAC;AACJ,aAAC,CACF,CAAC;AAEF,YAAA,mBAAmB,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;AACjD,YAAA,SAAS,EAAE,CAAC;SACb;KACF,EAAE,CAAC,IAAI,EAAE,mBAAmB,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC,CAAC;AAE7D;;;AAGG;IACH,SAAS,CAAC,MAAK;AACb,QAAA,IAAI,IAAI,IAAI,YAAY,IAAI,aAAa,EAAE;;AAEzC,YAAA,MAAM,SAAS,GAAG,CAAA,EAAG,YAAY,CAAI,CAAA,EAAA,aAAa,EAAE,CAAC;AACrD,YAAA,IAAI,mBAAmB,CAAC,OAAO,KAAK,SAAS,EAAE;gBAC7C,OAAO;aACR;AAED,YAAA,OAAO,CAAC,GAAG,CAAC,0CAA0C,EAAE;gBACtD,YAAY;gBACZ,aAAa;AACd,aAAA,CAAC,CAAC;AAEH,YAAA,mBAAmB,CAAC,OAAO,GAAG,SAAS,CAAC;AACxC,YAAA,yBAAyB,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;SACxD;KACF,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC,CAAC;IAExC,SAAS,CAAC,MAAK;QACb,IAAI,SAAS,EAAE;AACb,YAAA,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;SACvC;AACH,KAAC,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;AAEvB,IAAA,QACEA,GAAA,CAAC,WAAW,EAAA,EACV,KAAK,EAAE;AACL,YAAA,OAAO,EAAE,MAAM;AACf,YAAA,cAAc,EAAE,QAAQ;AACxB,YAAA,UAAU,EAAE,QAAQ;AACrB,SAAA,EAAA,QAAA,EAEDC,IAAC,CAAA,YAAY,EACX,EAAA,KAAK,EAAE;AACL,gBAAA,OAAO,EAAE,MAAM;AACf,gBAAA,cAAc,EAAE,QAAQ;AACxB,gBAAA,UAAU,EAAE,QAAQ;AACpB,gBAAA,aAAa,EAAE,CAAC;AACjB,aAAA,EAAA,QAAA,EAAA,CAEDD,IAAC,kBAAkB,EAAA,EAAA,QAAA,EACjBC,IAAC,CAAA,cAAc,eACbD,GAAC,CAAA,OAAO,EAAU,EAAA,SAAA,EAAA,IAAI,GAAI,EAC1BA,GAAA,CAAC,WAAW,EAAU,EAAA,SAAA,EAAA,IAAI,GAAI,CACf,EAAA,CAAA,EAAA,CACE,EAEpB,CAAC,IAAI,IACJA,GAAA,CAAC,OAAO,EAAwB,EAAA,QAAA,EAAA,eAAA,EAAA,CAAA,KAEhCC,IAAA,CAAAC,QAAA,EAAA,EAAA,QAAA,EAAA,CACEF,IAAC,OAAO,EAAA,EACN,KAAK,EAAE;AACL,gCAAA,OAAO,EAAE,MAAM;AACf,gCAAA,UAAU,EAAE,QAAQ;AACpB,gCAAA,GAAG,EAAE,CAAC;AACN,gCAAA,aAAa,EAAE,QAAQ;AACxB,6BAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,CAGO,EAET,KAAK,KACJC,IAAC,CAAA,aAAa,eACZA,IAAC,CAAA,QAAQ,EACP,EAAA,QAAA,EAAA,CAAAD,GAAA,CAAC,SAAS,EAA0B,EAAA,QAAA,EAAA,eAAA,EAAA,CAAA,EACpCA,IAAC,SAAS,EAAA,EAAA,QAAA,EACRC,KAAC,IAAI,EAAA,EACH,IAAI,EAAE,KAAK,EACX,MAAM,EAAC,QAAQ,EACf,GAAG,EAAC,qBAAqB,EACzB,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,EAAA,QAAA,EAAA,CAEvC,qBAAqB,CAAC,YAAY,CAAC,EACpCD,GAAA,CAAC,YAAY,EAAG,EAAA,CAAA,CAAA,EAAA,CACX,EACG,CAAA,CAAA,EAAA,CACH,EAEV,oBAAoB,KACnBC,IAAC,CAAA,QAAQ,eACPD,GAAC,CAAA,SAAS,EAA0B,EAAA,QAAA,EAAA,eAAA,EAAA,CAAA,EACpCA,IAAC,SAAS,EAAA,EAAA,QAAA,EACP,aAAa,IACZA,GAAA,CAAC,WAAW,EAAmC,EAAA,QAAA,EAAA,sBAAA,EAAA,CAAA,IAC7C,CAAC,qBAAqB,IAAI,kBAAkB;iDAC7C,eAAe,IAAI,YAAY,CAAC,IACjCC,IAAA,CAAC,IAAI,EAAA,EACH,IAAI,EAAE,qBAAqB,IAAI,eAAe,IAAI,GAAG,EACrD,MAAM,EAAC,QAAQ,EACf,GAAG,EAAC,qBAAqB,EACzB,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,EAAA,QAAA,EAAA,CAEvC,qBAAqB,CACpB,kBAAkB,IAAI,YAAY,IAAI,EAAE,CACzC,EACDD,GAAA,CAAC,YAAY,EAAA,EAAA,CAAG,CACX,EAAA,CAAA,KAEPA,GAAC,CAAA,eAAe,EAA6B,EAAA,QAAA,EAAA,YAAA,EAAA,CAAA,CAC9C,GACS,CACH,EAAA,CAAA,CACZ,CACa,EAAA,CAAA,CACjB,EAEA,mBAAmB,KAClBA,GAAC,CAAA,SAAS,EAAE,EAAA,QAAA,EAAA,mBAAmB,EAAa,CAAA,CAC7C,CACA,EAAA,CAAA,CACJ,EAEA,IAAI,IAAI,kBAAkB,KACzBA,GAAC,CAAA,MAAM,EACL,EAAA,YAAY,EAAC,OAAO,EACpB,IAAI,EAAE,kBAAkB,EACxB,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAGjB,QAAA,EAAA,aAAA,EAAA,CAAA,CACV,EACDA,GAAA,CAAC,eAAe,EAAA,EACd,WAAW,EAAE,CAAC,IAAI,EAClB,gBAAgB,EAAE,CAAA,aAAA,EAAgB,KAAK,CAAA,CAAE,EACzC,CAAA,CAAA,EAAA,CACW,EACH,CAAA,EACd;AACJ,EAAE;AAEF,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA,CAAA;;;;;;CAM5C,CAAC;AAEF,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA,CAAA;;;;;;;;;;;;;;CAcxC,CAAC;AAEF,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAsB,CAAA;;;;AAI7C,WAAA,EAAA,CAAC,KAAK,MAAM,KAAK,CAAC,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;AAChC,aAAA,EAAA,CAAC,KAAK,MAAM,KAAK,CAAC,OAAO,GAAG,UAAU,GAAG,YAAY,CAAC,CAAA;CACpE,CAAC;AAEF,MAAM,OAAO,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAsB,CAAA;;;;AAIlD,WAAA,EAAA,CAAC,KAAK,MAAM,KAAK,CAAC,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;;;;;;;;;;;CAW9C,CAAC;AAEF,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAA,CAAA;;;;;;;;AAQO,qCAAA,EAAA,YAAY,CAAC,WAAW,CAAA;QACvD,SAAS,CAAA;;;;;;CAMhB,CAAC;AAEF,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAA,CAAA;;;;;;;;;AASY,qCAAA,EAAA,YAAY,CAAC,WAAW,CAAA;;;;;;;CAO9D,CAAC;AAEF,MAAM,YAAY,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAA,CAAA;;;;;;;;;;CAU5C,CAAC;AAEF,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAA,CAAA;;;;;;;AAOI,qCAAA,EAAA,YAAY,CAAC,WAAW,CAAA;;;CAG9D,CAAC;AAEF,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;CAsB9B;;;;"}
@@ -0,0 +1,88 @@
1
+ import { getPayment, getChainExplorerTxUrl } from '@rozoai/intent-common';
2
+ import { useState, useEffect } from 'react';
3
+
4
+ const POLL_DELAY = 1000;
5
+ /**
6
+ * Hook to poll for payout transaction hash.
7
+ * Polls the payment API until a payout transaction hash is found.
8
+ *
9
+ * @param options - Configuration options for payout polling
10
+ * @returns Payout polling state and results
11
+ */
12
+ const usePayoutPolling = (options) => {
13
+ const { enabled, rozoPaymentId, order, done, showProcessingPayout, log, triggerResize, } = options;
14
+ const [payoutLoading, setPayoutLoading] = useState(false);
15
+ const [payoutTxHash, setPayoutTxHash] = useState(undefined);
16
+ const [payoutTxHashUrl, setPayoutTxHashUrl] = useState(undefined);
17
+ useEffect(() => {
18
+ // Only start polling if all conditions are met and polling is enabled
19
+ if (!enabled ||
20
+ !order ||
21
+ !done ||
22
+ !rozoPaymentId ||
23
+ !showProcessingPayout ||
24
+ !("externalId" in order)) {
25
+ return;
26
+ }
27
+ triggerResize();
28
+ log("[CONFIRMATION] Starting payout polling for order:", order.externalId);
29
+ setPayoutLoading(true);
30
+ let isActive = true;
31
+ let timeoutId;
32
+ const pollPayout = async () => {
33
+ if (!isActive || !rozoPaymentId)
34
+ return;
35
+ try {
36
+ log("[CONFIRMATION] Polling for payout transaction:", rozoPaymentId);
37
+ const response = await getPayment(rozoPaymentId, "v2");
38
+ log("[CONFIRMATION] Payout polling response:", response.data);
39
+ if (isActive &&
40
+ response.data &&
41
+ response.data.destination.txHash &&
42
+ typeof response.data.destination.txHash === "string") {
43
+ const url = getChainExplorerTxUrl(Number(response.data.destination.chainId), response.data.destination.txHash);
44
+ log("[CONFIRMATION] Found payout transaction:", response.data.destination.txHash, "URL:", url);
45
+ setPayoutTxHash(response.data.destination.txHash);
46
+ setPayoutTxHashUrl(url);
47
+ setPayoutLoading(false);
48
+ triggerResize();
49
+ return;
50
+ }
51
+ // Schedule next poll
52
+ if (isActive) {
53
+ timeoutId = setTimeout(pollPayout, POLL_DELAY);
54
+ }
55
+ }
56
+ catch (error) {
57
+ console.error("[CONFIRMATION] Payout polling error:", error);
58
+ if (isActive) {
59
+ timeoutId = setTimeout(pollPayout, POLL_DELAY);
60
+ }
61
+ }
62
+ };
63
+ // Start polling
64
+ timeoutId = setTimeout(pollPayout, 0);
65
+ return () => {
66
+ isActive = false;
67
+ if (timeoutId) {
68
+ clearTimeout(timeoutId);
69
+ }
70
+ };
71
+ }, [
72
+ enabled,
73
+ order,
74
+ done,
75
+ rozoPaymentId,
76
+ showProcessingPayout,
77
+ log,
78
+ triggerResize,
79
+ ]);
80
+ return {
81
+ payoutLoading,
82
+ payoutTxHash,
83
+ payoutTxHashUrl,
84
+ };
85
+ };
86
+
87
+ export { usePayoutPolling };
88
+ //# sourceMappingURL=usePayoutPolling.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePayoutPolling.js","sources":["../../../src/hooks/usePayoutPolling.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,183 @@
1
+ import { PaymentStatus } from '@rozoai/intent-common';
2
+ import { useState, useRef, useEffect } from 'react';
3
+
4
+ /**
5
+ * Pusher configuration constants
6
+ */
7
+ const PUSHER_CONFIG = {
8
+ appId: "2090164",
9
+ key: "22273733a3d287ae4279",
10
+ cluster: "us2",
11
+ };
12
+ /**
13
+ * Hook to subscribe to Pusher real-time payment status updates.
14
+ * Listens for payment_payout_completed status updates.
15
+ *
16
+ * @param options - Configuration options for Pusher integration
17
+ * @returns Pusher connection state and last status update
18
+ */
19
+ const usePusherPayout = (options) => {
20
+ const { enabled, rozoPaymentId, onPayoutCompleted, log } = options;
21
+ const [isConnected, setIsConnected] = useState(false);
22
+ const [lastStatusUpdate, setLastStatusUpdate] = useState(null);
23
+ const pusherRef = useRef(null);
24
+ const channelRef = useRef(null);
25
+ const statusUpdateHandlerRef = useRef(null);
26
+ // Store callbacks in refs to prevent infinite loops
27
+ const onPayoutCompletedRef = useRef(onPayoutCompleted);
28
+ const logRef = useRef(log);
29
+ // Update refs when callbacks change (without triggering re-renders)
30
+ useEffect(() => {
31
+ onPayoutCompletedRef.current = onPayoutCompleted;
32
+ logRef.current = log;
33
+ });
34
+ useEffect(() => {
35
+ // Early return if disabled or missing payment ID
36
+ if (!enabled || !rozoPaymentId) {
37
+ // Clean up if we have an active connection
38
+ if (channelRef.current) {
39
+ channelRef.current.unbind("status-update", statusUpdateHandlerRef.current ?? undefined);
40
+ channelRef.current.unsubscribe();
41
+ channelRef.current = null;
42
+ }
43
+ if (pusherRef.current) {
44
+ pusherRef.current.unsubscribe(`payments-${rozoPaymentId}`);
45
+ pusherRef.current.disconnect();
46
+ pusherRef.current = null;
47
+ }
48
+ setIsConnected(false);
49
+ return;
50
+ }
51
+ // Dynamically import pusher-js to make it optional
52
+ let isActive = true;
53
+ const initializePusher = async () => {
54
+ try {
55
+ // Dynamic import to handle optional dependency
56
+ const PusherModule = await import('pusher-js');
57
+ const Pusher = PusherModule.default || PusherModule;
58
+ // Initialize Pusher client
59
+ const pusher = new Pusher(PUSHER_CONFIG.key, {
60
+ cluster: PUSHER_CONFIG.cluster,
61
+ // enabledTransports: ["ws", "wss"],
62
+ });
63
+ if (!isActive) {
64
+ pusher.disconnect();
65
+ return;
66
+ }
67
+ pusherRef.current = pusher;
68
+ // Subscribe to payment channel
69
+ const channelName = `payments-${rozoPaymentId}`;
70
+ const channel = pusher.subscribe(channelName);
71
+ if (!isActive) {
72
+ channel.unsubscribe();
73
+ pusher.disconnect();
74
+ return;
75
+ }
76
+ channelRef.current = channel;
77
+ // Handle connection state
78
+ pusher.connection.bind("connected", () => {
79
+ if (isActive) {
80
+ logRef.current("[PUSHER] Connected to Pusher");
81
+ setIsConnected(true);
82
+ }
83
+ });
84
+ pusher.connection.bind("disconnected", () => {
85
+ if (isActive) {
86
+ logRef.current("[PUSHER] Disconnected from Pusher");
87
+ setIsConnected(false);
88
+ }
89
+ });
90
+ pusher.connection.bind("error", (err) => {
91
+ if (isActive) {
92
+ logRef.current("[PUSHER] Connection error:", err);
93
+ setIsConnected(false);
94
+ }
95
+ });
96
+ // Handle subscription success
97
+ channel.bind("pusher:subscription_succeeded", () => {
98
+ if (isActive) {
99
+ logRef.current(`[PUSHER] Subscribed to channel: ${channelName}`);
100
+ }
101
+ });
102
+ channel.bind("pusher:subscription_error", (err) => {
103
+ if (isActive) {
104
+ logRef.current(`[PUSHER] Subscription error for channel ${channelName}:`, err);
105
+ }
106
+ });
107
+ // Create status update handler
108
+ const handleStatusUpdate = (data) => {
109
+ if (!isActive)
110
+ return;
111
+ logRef.current("[PUSHER] Received status update:", data);
112
+ // Validate payload
113
+ if (!data.payment_id || !data.status) {
114
+ logRef.current("[PUSHER] Invalid status update payload:", data);
115
+ return;
116
+ }
117
+ // Only process payout completed status
118
+ if (data.status === PaymentStatus.PaymentPayoutCompleted) {
119
+ setLastStatusUpdate(data);
120
+ // Trigger callback using ref
121
+ if (onPayoutCompletedRef.current) {
122
+ onPayoutCompletedRef.current(data);
123
+ }
124
+ }
125
+ else {
126
+ logRef.current(`[PUSHER] Ignoring status update (not payout completed):`, data.status);
127
+ }
128
+ };
129
+ statusUpdateHandlerRef.current = handleStatusUpdate;
130
+ // Bind to status-update event
131
+ channel.bind("status-update", handleStatusUpdate);
132
+ logRef.current(`[PUSHER] Listening for status updates on channel: ${channelName}`);
133
+ }
134
+ catch (error) {
135
+ if (isActive) {
136
+ // Handle case where pusher-js is not installed
137
+ if (error instanceof Error &&
138
+ (error.message.includes("Cannot find module") ||
139
+ error.message.includes("Failed to resolve"))) {
140
+ logRef.current("[PUSHER] pusher-js not installed. Install it as a peer dependency to enable Pusher integration.");
141
+ }
142
+ else {
143
+ logRef.current("[PUSHER] Failed to initialize:", error);
144
+ }
145
+ setIsConnected(false);
146
+ }
147
+ }
148
+ };
149
+ initializePusher();
150
+ // Cleanup function
151
+ return () => {
152
+ isActive = false;
153
+ if (channelRef.current && statusUpdateHandlerRef.current) {
154
+ try {
155
+ channelRef.current.unbind("status-update", statusUpdateHandlerRef.current);
156
+ channelRef.current.unsubscribe();
157
+ }
158
+ catch (error) {
159
+ logRef.current("[PUSHER] Error during channel cleanup:", error);
160
+ }
161
+ channelRef.current = null;
162
+ statusUpdateHandlerRef.current = null;
163
+ }
164
+ if (pusherRef.current) {
165
+ try {
166
+ pusherRef.current.disconnect();
167
+ }
168
+ catch (error) {
169
+ logRef.current("[PUSHER] Error during Pusher disconnect:", error);
170
+ }
171
+ pusherRef.current = null;
172
+ }
173
+ setIsConnected(false);
174
+ };
175
+ }, [enabled, rozoPaymentId]);
176
+ return {
177
+ isConnected,
178
+ lastStatusUpdate,
179
+ };
180
+ };
181
+
182
+ export { usePusherPayout };
183
+ //# sourceMappingURL=usePusherPayout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePusherPayout.js","sources":["../../../src/hooks/usePusherPayout.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@rozoai/intent-pay",
3
3
  "private": false,
4
- "version": "0.1.4",
4
+ "version": "0.1.5-beta.2",
5
5
  "author": "RozoAI",
6
6
  "homepage": "https://github.com/RozoAI/intent-pay",
7
7
  "license": "BSD-2-Clause",
@@ -12,10 +12,6 @@
12
12
  ".": {
13
13
  "import": "./build/src/index.js",
14
14
  "types": "./build/index.d.ts"
15
- },
16
- "./world": {
17
- "import": "./build/src/world.js",
18
- "types": "./build/world.d.ts"
19
15
  }
20
16
  },
21
17
  "types": "./build/index.d.ts",
@@ -43,7 +39,7 @@
43
39
  "@albedo-link/intent": "^0.13.0",
44
40
  "@reown/appkit": "^1.7.0",
45
41
  "@rollup/plugin-typescript": "^12.1.2",
46
- "@rozoai/intent-common": "0.1.5",
42
+ "@rozoai/intent-common": "0.1.6-beta.1",
47
43
  "@solana/spl-token": "^0.4.14",
48
44
  "@solana/wallet-adapter-base": "^0.9.27",
49
45
  "@solana/wallet-adapter-react": "^0.15.39",
@@ -61,7 +57,8 @@
61
57
  "react-use-measure": "^2.1.1",
62
58
  "resize-observer-polyfill": "^1.5.1",
63
59
  "styled-components": "^5.3.5",
64
- "pino-pretty": "^10.0.0"
60
+ "pino-pretty": "^10.0.0",
61
+ "pusher-js": "^8.4.0"
65
62
  },
66
63
  "peerDependencies": {
67
64
  "@creit.tech/stellar-wallets-kit": "^1.9.5",
@@ -93,7 +90,11 @@
93
90
  "@types/react-dom": "^18.2.18",
94
91
  "@types/rollup-plugin-peer-deps-external": "^2.2.5",
95
92
  "@types/styled-components": "^5.1.25",
93
+ "@typescript-eslint/eslint-plugin": "^6.21.0",
94
+ "@typescript-eslint/parser": "^6.21.0",
96
95
  "@walletconnect/types": "^2.22.3",
96
+ "eslint": "^8.57.0",
97
+ "eslint-plugin-react": "^7.37.0",
97
98
  "eslint-plugin-react-hooks": "^5.2.0",
98
99
  "rollup": "^3.29.5",
99
100
  "rollup-plugin-dts": "^6.1.1",