|
11 | 11 | Types, |
12 | 12 | type RequestNetwork, |
13 | 13 | } from "@requestnetwork/request-client.js"; |
| 14 | + import { CurrencyTypes } from "@requestnetwork/types"; |
14 | 15 | import { toast } from "svelte-sonner"; |
15 | 16 | // Components |
16 | 17 | import Accordion from "@requestnetwork/shared-components/accordion.svelte"; |
|
38 | 39 | export let currencyManager: any; |
39 | 40 | export let isRequestPayed: boolean; |
40 | 41 |
|
41 | | - let network = request?.currencyInfo?.network || "mainnet"; |
| 42 | + let network: string | undefined = request?.currencyInfo?.network || "mainnet"; |
42 | 43 | // FIXME: Use a non deprecated function |
43 | | - let currency = getCurrencyFromManager(request.currencyInfo, currencyManager); |
44 | | - let paymentCurrencies: any = []; |
| 44 | + let currency: CurrencyTypes.CurrencyDefinition | undefined = getCurrencyFromManager(request.currencyInfo, currencyManager); |
| 45 | + let paymentCurrencies: (CurrencyTypes.CurrencyDefinition | undefined)[] = []; |
45 | 46 | let statuses: any = []; |
46 | 47 | let isPaid = false; |
47 | 48 | let loading = false; |
|
118 | 119 | paymentNetworkExtension = getPaymentNetworkExtension(requestData); |
119 | 120 |
|
120 | 121 | if (paymentNetworkExtension?.id === Types.Extension.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY) { |
121 | | - paymentCurrencies = paymentNetworkExtension?.values?.acceptedTokens.map( |
| 122 | + paymentCurrencies = paymentNetworkExtension?.values?.acceptedTokens?.map( |
122 | 123 | (token: any) => currencyManager.fromAddress(token, paymentNetworkExtension?.values?.network) |
123 | 124 | ); |
124 | 125 | } else if( paymentNetworkExtension?.id === Types.Extension.PAYMENT_NETWORK_ID.ANY_TO_ETH_PROXY) { |
|
132 | 133 |
|
133 | 134 | network = paymentCurrencies[0]?.network || "mainnet"; |
134 | 135 |
|
135 | | - if (paymentCurrencies[0].type === Types.RequestLogic.CURRENCY.ERC20) { |
| 136 | + if (paymentCurrencies[0]?.type === Types.RequestLogic.CURRENCY.ERC20) { |
136 | 137 | approved = await checkApproval(requestData, paymentCurrencies, signer); |
137 | 138 | } else { |
138 | 139 | approved = true; |
|
204 | 205 | return await hasErc20Approval(requestData!, address!, signer) |
205 | 206 | } else if(paymentNetworkExtension?.id === |
206 | 207 | Types.Extension.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY) { |
207 | | - return await hasErc20ApprovalForProxyConversion(requestData!, address!, paymentCurrencies[0].address, signer, requestData.expectedAmount); |
| 208 | + return await hasErc20ApprovalForProxyConversion(requestData!, address!, paymentCurrencies[0]?.address, signer, requestData.expectedAmount); |
208 | 209 | } |
209 | 210 | |
210 | 211 | return false; |
|
223 | 224 | approved = true; |
224 | 225 | } else if(paymentNetworkExtension?.id === |
225 | 226 | Types.Extension.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY) { |
226 | | - const approvalTx = await approveErc20ForProxyConversion(requestData!, paymentCurrencies[0].address, signer); |
| 227 | + const approvalTx = await approveErc20ForProxyConversion(requestData!, paymentCurrencies[0]?.address, signer); |
227 | 228 | await approvalTx.wait(2); |
228 | 229 | approved = true; |
229 | 230 | } |
|
499 | 500 | type="button" |
500 | 501 | text="Switch Network" |
501 | 502 | padding="px-[12px] py-[6px]" |
502 | | - onClick={() => switchNetworkIfNeeded(network)} |
| 503 | + onClick={() => switchNetworkIfNeeded(network || "mainnet")} |
503 | 504 | /> |
504 | 505 | {:else if !approved && !isPaid && !isPayee && !unsupportedNetwork} |
505 | 506 | <Button |
|
0 commit comments