Skip to content

Commit 65697a8

Browse files
committed
cleanup
1 parent 51ad02e commit 65697a8

File tree

2 files changed

+42
-91
lines changed

2 files changed

+42
-91
lines changed

app/page.tsx

Lines changed: 4 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
'use client'
22

3-
import React, { useState, useEffect, useCallback, useRef } from 'react'
3+
import React, { useState, useEffect, useCallback } from 'react'
44
import { useAccount } from 'wagmi'
55
import { useForm } from 'react-hook-form'
66

@@ -29,12 +29,7 @@ export default function Home() {
2929
})
3030

3131
const { bridgeToEthereum, getBridgeTxParams } = useBridgeToEthereum()
32-
const {
33-
tariAccount,
34-
isOngoingBridgeTx,
35-
ongoingBridgeTx,
36-
setOngoingTransaction,
37-
} = useTariAccount()
32+
const { tariAccount, isOngoingBridgeTx, ongoingBridgeTx } = useTariAccount()
3833
const { getUserTransactions } = useBridgeTransaction()
3934

4035
const {
@@ -50,12 +45,6 @@ export default function Home() {
5045
const amount = watch('amount')
5146
const feesData = useBridgeToEthereumFees(amount)
5247

53-
const pendingBridgeTxRef = useRef(ongoingBridgeTx)
54-
55-
useEffect(() => {
56-
pendingBridgeTxRef.current = ongoingBridgeTx
57-
}, [ongoingBridgeTx])
58-
5948
// Fetch bridge transaction parameters once on mount or when tariAccount changes
6049
useEffect(() => {
6150
if (!tariAccount) return
@@ -80,18 +69,7 @@ export default function Home() {
8069

8170
const fetchUserTransactions = async () => {
8271
try {
83-
const updatedPendingTx = await getUserTransactions(
84-
pendingBridgeTxRef.current,
85-
)
86-
87-
const currentTxStatus = pendingBridgeTxRef.current?.status
88-
if (
89-
updatedPendingTx &&
90-
currentTxStatus !== updatedPendingTx?.status &&
91-
updatedPendingTx.status === UserTransactionDTO.status.PENDING
92-
) {
93-
setOngoingTransaction(updatedPendingTx)
94-
}
72+
await getUserTransactions()
9573
} catch (error) {
9674
console.error(
9775
'[ TAPPLET-BRIDGE ] Failed to get user transactions:',
@@ -102,7 +80,7 @@ export default function Home() {
10280

10381
fetchUserTransactions()
10482
// Poll every 1 min
105-
const intervalId = setInterval(fetchUserTransactions, 10000)
83+
const intervalId = setInterval(fetchUserTransactions, 60000)
10684

10785
return () => {
10886
clearInterval(intervalId)
@@ -115,7 +93,6 @@ export default function Home() {
11593
setModalOpen(false)
11694
setModalStep(1)
11795
} else if (isOngoingBridgeTx && ongoingBridgeTx) {
118-
console.error('[ TAPPLET-BRIDGE ] set step 2')
11996
setModalStep(2)
12097
setModalOpen(true)
12198
}
@@ -144,17 +121,6 @@ export default function Home() {
144121
})
145122
.then(() => {
146123
getUserTransactions()
147-
// .then(() => {
148-
// console.error('[ TAPPLET-BRIDGE ] set step 2 after bridgeToEth')
149-
150-
// setModalStep(2)
151-
// })
152-
// .catch((error) => {
153-
// console.error(
154-
// '[ TAPPLET-BRIDGE ] failed to get user transactions:',
155-
// error,
156-
// )
157-
// })
158124
})
159125
.catch((error) => {
160126
console.error('[ TAPPLET-BRIDGE ] Bridge operation failed:', error)

hooks/use-bridge-transaction.ts

Lines changed: 38 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -16,65 +16,50 @@ export const useBridgeTransaction = () => {
1616
const { setOngoingTransaction, removeOngoingTransaction } = useTariAccount()
1717

1818
/**
19-
* Fetch user transactions and update the store's `in progress` transaction state.
20-
* Returns the updated transaction or null if none.
19+
* Fetch user transactions and update the store's ongoing transaction state.
20+
* Returns the updated ongoing transaction or null if none.
2121
*/
22-
const getUserTransactions = async (
23-
currentPendingTx?: PendingUserTransaction,
24-
): Promise<PendingUserTransaction | null> => {
25-
const ongoingBridgeTx = useTariAccount.getState().ongoingBridgeTx
26-
const tariAccount = useTariAccount.getState().tariAccount
27-
console.warn('[ TAPPLET-BRIDGE ] GET USER TX state', ongoingBridgeTx)
28-
console.warn('[ TAPPLET-BRIDGE ] GET USER arg func', currentPendingTx)
22+
const getUserTransactions =
23+
async (): Promise<PendingUserTransaction | null> => {
24+
const ongoingBridgeTx = useTariAccount.getState().ongoingBridgeTx
25+
const tariAccount = useTariAccount.getState().tariAccount
2926

30-
if (!tariAccount) return null
31-
const walletAddress = tariAccount.address
32-
const { transactions } = await getUserTxs.mutateAsync(walletAddress)
33-
console.error('[ TAPPLET-BRIDGE ] fetche backend tx', transactions)
34-
if (Array.isArray(transactions) && transactions.length > 0) {
35-
// Find a pending transaction
36-
const ongoing = transactions.find(
37-
(tx) =>
38-
tx.status === UserTransactionDTO.status.PENDING ||
39-
tx.status === UserTransactionDTO.status.PROCESSING ||
40-
tx.status === UserTransactionDTO.status.TOKENS_RECEIVED,
41-
)
42-
console.error(
43-
'[ TAPPLET-BRIDGE ] same id? ',
44-
ongoingBridgeTx?.paymentId === ongoing?.paymentId,
45-
)
27+
if (!tariAccount) return null
28+
const walletAddress = tariAccount.address
29+
const { transactions } = await getUserTxs.mutateAsync(walletAddress)
4630

47-
if (ongoing) {
48-
setOngoingTransaction(ongoing)
49-
return ongoing
50-
}
51-
console.error('[ TAPPLET-BRIDGE ] FOUND ONGOING ', ongoing)
52-
// If no pending tx found, but previously had one, check if it succeeded/failed
53-
const ongoingCompleted = transactions.find(
54-
(tx) =>
55-
(tx.status === UserTransactionDTO.status.SUCCESS ||
56-
tx.status === UserTransactionDTO.status.TIMEOUT) &&
57-
tx.paymentId === ongoingBridgeTx?.paymentId,
58-
)
31+
if (Array.isArray(transactions) && transactions.length > 0) {
32+
// Find a pending transaction
33+
const ongoing = transactions.find(
34+
(tx) =>
35+
tx.status === UserTransactionDTO.status.PENDING ||
36+
tx.status === UserTransactionDTO.status.PROCESSING ||
37+
tx.status === UserTransactionDTO.status.TOKENS_RECEIVED,
38+
)
39+
if (ongoing) {
40+
setOngoingTransaction(ongoing)
41+
return ongoing
42+
}
43+
44+
// If no pending tx found, but previously had one, check if it succeeded/failed
45+
const ongoingCompleted = transactions.find(
46+
(tx) =>
47+
(tx.status === UserTransactionDTO.status.SUCCESS ||
48+
tx.status === UserTransactionDTO.status.TIMEOUT) &&
49+
tx.paymentId === ongoingBridgeTx?.paymentId,
50+
)
5951

60-
console.error(
61-
'[ TAPPLET-BRIDGE ] same ongoingCompleted id? ',
62-
ongoingBridgeTx?.paymentId === ongoingCompleted?.paymentId,
63-
)
64-
console.error('[ TAPPLET-BRIDGE ] FOUND COMPLETED ', ongoingCompleted)
65-
if (ongoingCompleted) {
66-
console.error('[ TAPPLET-BRIDGE ] SET COMPLETED ', ongoingCompleted)
67-
setOngoingTransaction(ongoingCompleted)
68-
return ongoingCompleted
52+
if (ongoingCompleted) {
53+
setOngoingTransaction(ongoingCompleted)
54+
return ongoingCompleted
55+
}
56+
} else {
57+
// No transactions found, clear any pending transaction
58+
removeOngoingTransaction()
6959
}
70-
} else {
71-
// No transactions found, clear any pending transaction
72-
console.error('[ TAPPLET-BRIDGE ] REMOVE ONGOING', ongoingBridgeTx)
73-
removeOngoingTransaction()
74-
}
7560

76-
return null
77-
}
61+
return null
62+
}
7863

7964
return {
8065
getUserTransactions,

0 commit comments

Comments
 (0)