From e19c6b5b10b7c19ba0efaaaa7e413352ea2c0bac Mon Sep 17 00:00:00 2001 From: jackstar12 Date: Thu, 9 Jan 2025 13:29:46 +0100 Subject: [PATCH] refactor: proper resource implementation for lockupTransaction --- src/components/RefundButton.tsx | 38 +++++++++++++-------------------- 1 file changed, 15 insertions(+), 23 deletions(-) diff --git a/src/components/RefundButton.tsx b/src/components/RefundButton.tsx index a2c0da0f4..6f148e678 100644 --- a/src/components/RefundButton.tsx +++ b/src/components/RefundButton.tsx @@ -9,7 +9,6 @@ import { Setter, Show, Switch, - createEffect, createResource, createSignal, } from "solid-js"; @@ -215,31 +214,24 @@ const RefundButton = (props: { setRefundRunning(false); }; - const [lockupTransaction, { refetch: refetchLockup }] = createResource( - async () => { - if (!props.swap()) { - return undefined; - } - - const transactionToRefund = await getLockupTransaction( - props.swap().id, - props.swap().type, - ); - - // show refund ETA for legacy swaps - if (props.swap().version !== OutputType.Taproot) { - setTimeoutEta(transactionToRefund.timeoutEta); - setTimeoutBlockheight(transactionToRefund.timeoutBlockHeight); - } + // eslint-disable-next-line solid/reactivity + const [lockupTransaction] = createResource(props.swap, async (swap) => { + if (!swap) { + return undefined; + } - return transactionToRefund; - }, - ); + const transactionToRefund = await getLockupTransaction( + swap.id, + swap.type, + ); - createEffect(() => { - if (props.swap() !== undefined) { - refetchLockup(null); + // show refund ETA for legacy swaps + if (swap.version !== OutputType.Taproot) { + setTimeoutEta(transactionToRefund.timeoutEta); + setTimeoutBlockheight(transactionToRefund.timeoutBlockHeight); } + + return transactionToRefund; }); const [preimageHash] = createResource(async () => {