99 escrowUniversalAddress ,
1010} from "hooks/contracts/generated" ;
1111import { useChainId } from "wagmi" ;
12- import { erc20Abi } from ' viem'
12+ import { erc20Abi } from " viem" ;
1313import { useNewTransactionContext } from "context/NewTransactionContext" ;
1414import {
1515 useAccount ,
@@ -62,7 +62,7 @@ const DepositPaymentButton: React.FC = () => {
6262 } , [ sellerAddress , ensResult . data ] ) ;
6363
6464 const { data : allowance , refetch : refetchAllowance } = useReadContract ( {
65- enabled : ! isNativeTransaction ,
65+ query : { enabled : ! isNativeTransaction } ,
6666 address : sendingToken ?. address ,
6767 abi : erc20Abi ,
6868 functionName : "allowance" ,
@@ -75,49 +75,46 @@ const DepositPaymentButton: React.FC = () => {
7575 }
7676 } , [ allowance , transactionValue ] ) ;
7777
78- const { config : createNativeTransactionConfig } = useSimulateEscrowUniversalCreateNativeTransaction ( {
79- enabled : isNativeTransaction && ethAddressPattern . test ( finalRecipientAddress ) ,
78+ const { data : createNativeTransactionConfig } = useSimulateEscrowUniversalCreateNativeTransaction ( {
79+ query : {
80+ enabled : isNativeTransaction && ethAddressPattern . test ( finalRecipientAddress ) ,
81+ } ,
8082 args : [ deadlineTimestamp , transactionUri , finalRecipientAddress ] ,
8183 value : transactionValue ,
8284 } ) ;
8385
84- const { config : createERC20TransactionConfig } = useSimulateEscrowUniversalCreateErc20Transaction ( {
85- enabled :
86- ! isNativeTransaction &&
87- ! isUndefined ( allowance ) &&
88- allowance >= transactionValue &&
89- ethAddressPattern . test ( finalRecipientAddress ) ,
90- args : [
91- transactionValue ,
92- sendingToken ?. address ,
93- deadlineTimestamp ,
94- transactionUri ,
95- finalRecipientAddress ,
96- ] ,
86+ const { data : createERC20TransactionConfig } = useSimulateEscrowUniversalCreateErc20Transaction ( {
87+ query : {
88+ enabled :
89+ ! isNativeTransaction &&
90+ ! isUndefined ( allowance ) &&
91+ allowance >= transactionValue &&
92+ ethAddressPattern . test ( finalRecipientAddress ) ,
93+ } ,
94+ args : [ transactionValue , sendingToken ?. address , deadlineTimestamp , transactionUri , finalRecipientAddress ] ,
9795 } ) ;
9896
99- const { writeAsync : createNativeTransaction } =
97+ const { writeContractAsync : createNativeTransaction } =
10098 useWriteEscrowUniversalCreateNativeTransaction ( createNativeTransactionConfig ) ;
101- const { writeAsync : createERC20Transaction } = useWriteEscrowUniversalCreateErc20Transaction ( createERC20TransactionConfig ) ;
10299
103- const { config : approveConfig } = useSimulateContract ( {
104- enabled : ! isNativeTransaction ,
100+ const { writeContractAsync : createERC20Transaction } =
101+ useWriteEscrowUniversalCreateErc20Transaction ( createERC20TransactionConfig ) ;
102+
103+ const { data : approveConfig } = useSimulateContract ( {
104+ query : { enabled : ! isNativeTransaction } ,
105105 address : sendingToken ?. address ,
106106 abi : erc20Abi ,
107107 functionName : "approve" ,
108108 args : [ escrowUniversalAddress ?. [ chainId ] , transactionValue ] ,
109109 } ) ;
110110
111- const { writeAsync : approve } = useWriteContract ( approveConfig ) ;
111+ const { writeContractAsync : approve } = useWriteContract ( approveConfig ) ;
112112
113113 const handleApproveToken = async ( ) => {
114114 if ( ! isUndefined ( approve ) ) {
115115 setIsSending ( true ) ;
116116 try {
117- const wrapResult = await wrapWithToast (
118- async ( ) => await approve ( ) . then ( ( response ) => response . hash ) ,
119- publicClient
120- ) ;
117+ const wrapResult = await wrapWithToast ( async ( ) => await approve ( approveConfig . request ) , publicClient ) ;
121118 setIsApproved ( wrapResult . status ) ;
122119 await refetchAllowance ( ) ;
123120 } catch ( error ) {
@@ -131,11 +128,13 @@ const DepositPaymentButton: React.FC = () => {
131128
132129 const handleCreateTransaction = async ( ) => {
133130 const createTransaction = isNativeTransaction ? createNativeTransaction : createERC20Transaction ;
134- if ( ! isUndefined ( createTransaction ) ) {
131+ const transactionConfig = isNativeTransaction ? createNativeTransactionConfig : createERC20TransactionConfig ;
132+
133+ if ( ! isUndefined ( createTransaction ) && ! isUndefined ( transactionConfig ) ) {
135134 setIsSending ( true ) ;
136135 try {
137136 const wrapResult = await wrapWithToast (
138- async ( ) => await createTransaction ( ) . then ( ( response ) => response . hash ) ,
137+ async ( ) => await createTransaction ( transactionConfig . request ) ,
139138 publicClient
140139 ) ;
141140 if ( wrapResult . status ) {
0 commit comments