@@ -66,6 +66,17 @@ const CrossChainTransferForm = (): JSX.Element => {
6666 }
6767 } ;
6868
69+ const handleGetTokens = async ( ) => {
70+ if ( ! accountId ) return ;
71+
72+ return await getAvailableTokens (
73+ form . values [ CROSS_CHAIN_TRANSFER_FROM_FIELD ] as ChainName ,
74+ destinationChains [ 0 ] . id as ChainName ,
75+ accountId ?. toString ( ) ,
76+ form . values [ CROSS_CHAIN_TRANSFER_TO_ACCOUNT_FIELD ] as string
77+ ) ;
78+ } ;
79+
6980 const handleSubmit = ( formData : CrossChainTransferFormData ) => {
7081 xcmTransferMutation . mutate ( formData ) ;
7182 } ;
@@ -90,7 +101,7 @@ const CrossChainTransferForm = (): JSX.Element => {
90101
91102 const valueUSD = convertMonetaryAmountToValueInUSD (
92103 transferMonetaryAmount ,
93- getTokenPrice ( prices , currentToken ?. value as string ) ?. usd
104+ getTokenPrice ( prices , currentToken ?. value ) ?. usd
94105 ) ;
95106
96107 const isCTADisabled = isFormDisabled ( form ) ;
@@ -108,6 +119,7 @@ const CrossChainTransferForm = (): JSX.Element => {
108119 const transferAmountString = transferMonetaryAmount . toString ( true ) ;
109120 const transferAmountDecimals = transferMonetaryAmount . currency . decimals ;
110121
122+ // TODO: resolve tupe mismatch
111123 const tx : any = adapter . createTx ( {
112124 amount : FixedPointNumber . fromInner ( transferAmountString , transferAmountDecimals ) ,
113125 to : formData [ CROSS_CHAIN_TRANSFER_TO_FIELD ] ,
@@ -147,12 +159,7 @@ const CrossChainTransferForm = (): JSX.Element => {
147159
148160 form . setFieldValue ( CROSS_CHAIN_TRANSFER_TO_FIELD , e . target . value , true ) ;
149161
150- const tokens = await getAvailableTokens (
151- form . values [ CROSS_CHAIN_TRANSFER_FROM_FIELD ] as ChainName ,
152- e . target . value as ChainName ,
153- accountId . toString ( ) ,
154- form . values [ CROSS_CHAIN_TRANSFER_TO_ACCOUNT_FIELD ] as string
155- ) ;
162+ const tokens = await handleGetTokens ( ) ;
156163
157164 setTransferableTokens ( tokens ) ;
158165 setCurrentToken ( tokens [ 0 ] ) ;
@@ -196,12 +203,7 @@ const CrossChainTransferForm = (): JSX.Element => {
196203 if ( ! accountId ) return ;
197204
198205 const getTokensForNewChain = async ( ) => {
199- const tokens = await getAvailableTokens (
200- form . values [ CROSS_CHAIN_TRANSFER_FROM_FIELD ] as ChainName ,
201- destinationChains [ 0 ] . id as ChainName ,
202- accountId . toString ( ) ,
203- form . values [ CROSS_CHAIN_TRANSFER_TO_ACCOUNT_FIELD ] as string
204- ) ;
206+ const tokens = await handleGetTokens ( ) ;
205207
206208 setTransferableTokens ( tokens ) ;
207209 setCurrentToken ( tokens [ 0 ] ) ;
0 commit comments