@velora-dex/widget 0.0.18 → 0.0.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/dist/components/widget/SwapModeSwitcher/state/swapModeAtom.d.ts.map +1 -1
  2. package/dist/components/widget/SwapModeSwitcher/state/swapModeAtom.js.map +1 -1
  3. package/dist/components/widget/WrapEth/hooks/useWrapEthProps.d.ts.map +1 -1
  4. package/dist/components/widget/WrapEth/hooks/useWrapEthProps.js +40 -24
  5. package/dist/components/widget/WrapEth/hooks/useWrapEthProps.js.map +1 -1
  6. package/dist/hooks/gas/useGasPrices.js +2 -2
  7. package/dist/hooks/gas/useGasPrices.js.map +1 -1
  8. package/dist/hooks/swap/prices/delta/queries/useIsTokenSupportedInDelta.d.ts.map +1 -1
  9. package/dist/hooks/swap/prices/delta/queries/useIsTokenSupportedInDelta.js +5 -1
  10. package/dist/hooks/swap/prices/delta/queries/useIsTokenSupportedInDelta.js.map +1 -1
  11. package/dist/hooks/tokens/balances/queries.d.ts.map +1 -1
  12. package/dist/hooks/tokens/balances/queries.js +2 -2
  13. package/dist/hooks/tokens/balances/queries.js.map +1 -1
  14. package/dist/hooks/tokens/prices/queries.js +2 -2
  15. package/dist/hooks/tokens/prices/queries.js.map +1 -1
  16. package/dist/hooks/tokens/useTokenTaxFee.js +2 -2
  17. package/dist/hooks/tokens/useTokenTaxFee.js.map +1 -1
  18. package/dist/hooks/useSDK.d.ts.map +1 -1
  19. package/dist/hooks/useSDK.js +3 -2
  20. package/dist/hooks/useSDK.js.map +1 -1
  21. package/dist/lib/constants/index.d.ts +1 -1
  22. package/dist/lib/constants/index.d.ts.map +1 -1
  23. package/dist/lib/constants/index.js +2 -2
  24. package/dist/lib/constants/index.js.map +1 -1
  25. package/dist/lib/web3/privy/config.js +1 -1
  26. package/dist/lib/web3/wagmi/config.js +1 -1
  27. package/dist/styles.css +1 -1
  28. package/dist/test/Configurator.d.ts.map +1 -1
  29. package/dist/widget/inputs/state/selectedTokenActionsAtom.d.ts.map +1 -1
  30. package/dist/widget/inputs/state/selectedTokenActionsAtom.js +12 -1
  31. package/dist/widget/inputs/state/selectedTokenActionsAtom.js.map +1 -1
  32. package/dist/widget/state/configActionsAtom.d.ts.map +1 -1
  33. package/dist/widget/state/configActionsAtom.js +2 -0
  34. package/dist/widget/state/configActionsAtom.js.map +1 -1
  35. package/dist/widget/types.d.ts +2 -11
  36. package/dist/widget/types.d.ts.map +1 -1
  37. package/package.json +1 -1
  38. package/dist/test/TestButton.d.ts +0 -2
  39. package/dist/test/TestButton.d.ts.map +0 -1
  40. package/dist/test/logger-demo.d.ts +0 -5
  41. package/dist/test/logger-demo.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"swapModeAtom.d.ts","sourceRoot":"","sources":["../../../../../src/components/widget/SwapModeSwitcher/state/swapModeAtom.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAKxC,eAAO,MAAM,gBAAgB;;CAA0B,CAAC;AAGxD,eAAO,MAAM,YAAY,gCAEvB,CAAC"}
1
+ {"version":3,"file":"swapModeAtom.d.ts","sourceRoot":"","sources":["../../../../../src/components/widget/SwapModeSwitcher/state/swapModeAtom.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAKxC,eAAO,MAAM,gBAAgB;;CAA0B,CAAC;AAIxD,eAAO,MAAM,YAAY,gCAEvB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"swapModeAtom.js","sources":["../../../../../src/components/widget/SwapModeSwitcher/state/swapModeAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport type { SwapMode } from \"./types\";\n\nimport { widgetConfigAtom } from \"@/widget/state/configAtom\";\n\n// internal atom to track user preference\nexport const userSwapModeAtom = atom<SwapMode>(\"delta\");\n\n// derived atom to determine the current swap mode\nexport const swapModeAtom = atom((get) => {\n return !get(widgetConfigAtom).enableDelta ? \"market\" : get(userSwapModeAtom);\n});\n"],"names":["userSwapModeAtom","atom","swapModeAtom","get","widgetConfigAtom","enableDelta"],"mappings":";;;AAMO,MAAMA,gBAAAA,GAAmBC,KAAe,OAAO;AAG/C,MAAMC,YAAAA,GAAeD,KAAME,CAAAA,GAAAA,KAAQ;AACxC,EAAA,OAAO,CAACA,GAAAA,CAAIC,gBAAgB,EAAEC,WAAAA,GAAc,QAAA,GAAWF,IAAIH,gBAAgB,CAAA;AAC7E,CAAC;;;;"}
1
+ {"version":3,"file":"swapModeAtom.js","sources":["../../../../../src/components/widget/SwapModeSwitcher/state/swapModeAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport type { SwapMode } from \"./types\";\n\nimport { widgetConfigAtom } from \"@/widget/state/configAtom\";\n\n// internal atom to track user preference\nexport const userSwapModeAtom = atom<SwapMode>(\"delta\");\n\n// derived atom to determine the current swap mode.\n// not always equal to priceMode, use carefully\nexport const swapModeAtom = atom((get) => {\n return !get(widgetConfigAtom).enableDelta ? \"market\" : get(userSwapModeAtom);\n});\n"],"names":["userSwapModeAtom","atom","swapModeAtom","get","widgetConfigAtom","enableDelta"],"mappings":";;;AAMO,MAAMA,gBAAAA,GAAmBC,KAAe,OAAO;AAI/C,MAAMC,YAAAA,GAAeD,KAAME,CAAAA,GAAAA,KAAQ;AACxC,EAAA,OAAO,CAACA,GAAAA,CAAIC,gBAAgB,EAAEC,WAAAA,GAAc,QAAA,GAAWF,IAAIH,gBAAgB,CAAA;AAC7E,CAAC;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useWrapEthProps.d.ts","sourceRoot":"","sources":["../../../../../src/components/widget/WrapEth/hooks/useWrapEthProps.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAO5C,wBAAgB,eAAe,IAAI,YAAY,CA4C9C"}
1
+ {"version":3,"file":"useWrapEthProps.d.ts","sourceRoot":"","sources":["../../../../../src/components/widget/WrapEth/hooks/useWrapEthProps.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAQ5C,wBAAgB,eAAe,IAAI,YAAY,CAoD9C"}
@@ -3,14 +3,15 @@ import { isETH, isWETH } from '../../../../tokens/utils/eth.js';
3
3
  import { payInputAmountAtom, payInputAmountWeiAtom } from '../../../../widget/inputs/state/inputAmountAtom.js';
4
4
  import { useWidgetTokens } from '../../../../widget/inputs/state/selectedTokenAtom.js';
5
5
  import { useAtomValue } from 'jotai';
6
- import { swapModeAtom } from '../../SwapModeSwitcher/state/swapModeAtom.js';
7
6
  import { useAccount } from 'wagmi';
8
7
  import { useNativeBalance } from '../../../../hooks/tokens/balances/useTokenBalance.js';
9
8
  import { useIsCrossChain } from '../../../../widget/state/isCrosschainAtom.js';
10
9
  import { useSwapSide } from '../../SwapModeSwitcher/state/swapSideAtom.js';
10
+ import { useGlobalDeltaEnabled } from '../../../../hooks/useGlobalDeltaEnabled.js';
11
+ import { useCurrentSwapPrice } from '../../../../hooks/swap/prices/useSwapPrices.js';
11
12
 
12
13
  function useWrapEthProps() {
13
- const $ = distExports.c(13);
14
+ const $ = distExports.c(14);
14
15
  const {
15
16
  address: account
16
17
  } = useAccount();
@@ -46,43 +47,58 @@ function useWrapEthProps() {
46
47
  } = useNativeBalance(t1);
47
48
  const payInputAmount = useAtomValue(payInputAmountAtom);
48
49
  const payInputAmountWei = useAtomValue(payInputAmountWeiAtom);
49
- const isDelta = useAtomValue(swapModeAtom) === "delta";
50
+ const {
51
+ isDeltaMode,
52
+ enabledOnCurrentChain: deltaEnabledOnCurrentChain
53
+ } = useGlobalDeltaEnabled();
50
54
  const isBuy = useSwapSide() === "BUY";
51
55
  const isCrossChain = useIsCrossChain();
52
- const isEthToWethSameChain = tokenFromIsETH && tokenToIsWETH && !isCrossChain;
53
- const shouldWrap = !!account && isDelta && tokenFromIsETH && !isBuy && !!tokenTo && !isEthToWethSameChain;
54
- const canWrap = !!account && !!balance?.value && balance.value > BigInt(payInputAmountWei);
55
56
  let t2;
56
- if ($[4] !== payInputAmount || $[5] !== payInputAmountWei || $[6] !== tokenFromIsETH) {
57
- t2 = tokenFromIsETH ? {
57
+ if ($[4] === Symbol.for("react.memo_cache_sentinel")) {
58
+ t2 = {
59
+ enabled: false
60
+ };
61
+ $[4] = t2;
62
+ } else {
63
+ t2 = $[4];
64
+ }
65
+ const {
66
+ price
67
+ } = useCurrentSwapPrice(t2);
68
+ const isEthToWethSameChain = tokenFromIsETH && tokenToIsWETH && !isCrossChain;
69
+ const shouldWrap = !!account && !!price && isDeltaMode && deltaEnabledOnCurrentChain && tokenFromIsETH && !isBuy && !!tokenTo && !isEthToWethSameChain;
70
+ const canWrap = !!account && !!balance?.value && balance.value > BigInt(payInputAmountWei) && !!price;
71
+ let t3;
72
+ if ($[5] !== payInputAmount || $[6] !== payInputAmountWei || $[7] !== tokenFromIsETH) {
73
+ t3 = tokenFromIsETH ? {
58
74
  ethAmountWei: payInputAmountWei,
59
75
  ethAmountUnit: payInputAmount
60
76
  } : void 0;
61
- $[4] = payInputAmount;
62
- $[5] = payInputAmountWei;
63
- $[6] = tokenFromIsETH;
64
- $[7] = t2;
77
+ $[5] = payInputAmount;
78
+ $[6] = payInputAmountWei;
79
+ $[7] = tokenFromIsETH;
80
+ $[8] = t3;
65
81
  } else {
66
- t2 = $[7];
82
+ t3 = $[8];
67
83
  }
68
- const amounts = t2;
69
- let t3;
70
- if ($[8] !== amounts || $[9] !== canWrap || $[10] !== isLoading || $[11] !== shouldWrap) {
71
- t3 = {
84
+ const amounts = t3;
85
+ let t4;
86
+ if ($[9] !== amounts || $[10] !== canWrap || $[11] !== isLoading || $[12] !== shouldWrap) {
87
+ t4 = {
72
88
  shouldWrap,
73
89
  canWrap,
74
90
  isLoading,
75
91
  ...amounts
76
92
  };
77
- $[8] = amounts;
78
- $[9] = canWrap;
79
- $[10] = isLoading;
80
- $[11] = shouldWrap;
81
- $[12] = t3;
93
+ $[9] = amounts;
94
+ $[10] = canWrap;
95
+ $[11] = isLoading;
96
+ $[12] = shouldWrap;
97
+ $[13] = t4;
82
98
  } else {
83
- t3 = $[12];
99
+ t4 = $[13];
84
100
  }
85
- return t3;
101
+ return t4;
86
102
  }
87
103
 
88
104
  export { useWrapEthProps };
@@ -1 +1 @@
1
- {"version":3,"file":"useWrapEthProps.js","sources":["../../../../../src/components/widget/WrapEth/hooks/useWrapEthProps.ts"],"sourcesContent":["import { isETH, isWETH } from \"@/tokens/utils/eth\";\nimport {\n payInputAmountAtom,\n payInputAmountWeiAtom,\n} from \"@/widget/inputs/state/inputAmountAtom\";\nimport { useWidgetTokens } from \"@/widget/inputs/state/selectedTokenAtom\";\nimport { useAtomValue } from \"jotai\";\nimport type { WrapEthProps } from \"./types\";\nimport { swapModeAtom } from \"../../SwapModeSwitcher/state/swapModeAtom\";\nimport { useAccount } from \"wagmi\";\nimport { useNativeBalance } from \"@/hooks/tokens/balances/useTokenBalance\";\nimport { useIsCrossChain } from \"@/widget/state/isCrosschainAtom\";\nimport { useSwapSide } from \"../../SwapModeSwitcher/state/swapSideAtom\";\n\nexport function useWrapEthProps(): WrapEthProps {\n const { address: account } = useAccount();\n const { tokenFrom, tokenTo } = useWidgetTokens();\n\n const tokenFromIsETH = isETH(tokenFrom);\n const tokenToIsWETH = !!tokenTo && isWETH(tokenTo, tokenTo.network);\n\n const { data: balance, isLoading } = useNativeBalance({\n queryOptions: {\n enabled: tokenFromIsETH,\n },\n });\n const payInputAmount = useAtomValue(payInputAmountAtom);\n const payInputAmountWei = useAtomValue(payInputAmountWeiAtom);\n const isDelta = useAtomValue(swapModeAtom) === \"delta\";\n const isBuy = useSwapSide() === \"BUY\";\n const isCrossChain = useIsCrossChain();\n\n const isEthToWethSameChain = tokenFromIsETH && tokenToIsWETH && !isCrossChain;\n\n const shouldWrap =\n !!account &&\n // maybe here we'll also want to check if there is price for WETH-tokenTo,\n // for the whole flow to be meaningful and don't have the cases when we wrapped but then can't swap\n isDelta &&\n tokenFromIsETH &&\n !isBuy &&\n !!tokenTo &&\n // user want to explicitly swap ETH-WETH, we should stick to market priceMode\n !isEthToWethSameChain;\n\n const canWrap =\n !!account && !!balance?.value && balance.value > BigInt(payInputAmountWei);\n\n const amounts = tokenFromIsETH\n ? { ethAmountWei: payInputAmountWei, ethAmountUnit: payInputAmount }\n : undefined;\n\n return {\n shouldWrap,\n canWrap,\n isLoading,\n ...amounts,\n };\n}\n"],"names":["useWrapEthProps","$","_c","address","account","useAccount","tokenFrom","tokenTo","useWidgetTokens","t0","isETH","tokenFromIsETH","tokenToIsWETH","isWETH","network","t1","queryOptions","enabled","data","balance","isLoading","useNativeBalance","payInputAmount","useAtomValue","payInputAmountAtom","payInputAmountWei","payInputAmountWeiAtom","isDelta","swapModeAtom","isBuy","useSwapSide","isCrossChain","useIsCrossChain","isEthToWethSameChain","shouldWrap","canWrap","value","BigInt","t2","ethAmountWei","ethAmountUnit","undefined","amounts","t3"],"mappings":"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"}
1
+ {"version":3,"file":"useWrapEthProps.js","sources":["../../../../../src/components/widget/WrapEth/hooks/useWrapEthProps.ts"],"sourcesContent":["import { isETH, isWETH } from \"@/tokens/utils/eth\";\nimport {\n payInputAmountAtom,\n payInputAmountWeiAtom,\n} from \"@/widget/inputs/state/inputAmountAtom\";\nimport { useWidgetTokens } from \"@/widget/inputs/state/selectedTokenAtom\";\nimport { useAtomValue } from \"jotai\";\nimport type { WrapEthProps } from \"./types\";\nimport { useAccount } from \"wagmi\";\nimport { useNativeBalance } from \"@/hooks/tokens/balances/useTokenBalance\";\nimport { useIsCrossChain } from \"@/widget/state/isCrosschainAtom\";\nimport { useSwapSide } from \"../../SwapModeSwitcher/state/swapSideAtom\";\nimport { useGlobalDeltaEnabled } from \"@/hooks/useGlobalDeltaEnabled\";\nimport { useCurrentSwapPrice } from \"@/hooks/swap/prices/useSwapPrices\";\n\nexport function useWrapEthProps(): WrapEthProps {\n const { address: account } = useAccount();\n const { tokenFrom, tokenTo } = useWidgetTokens();\n\n const tokenFromIsETH = isETH(tokenFrom);\n const tokenToIsWETH = !!tokenTo && isWETH(tokenTo, tokenTo.network);\n\n const { data: balance, isLoading } = useNativeBalance({\n queryOptions: {\n enabled: tokenFromIsETH,\n },\n });\n const payInputAmount = useAtomValue(payInputAmountAtom);\n const payInputAmountWei = useAtomValue(payInputAmountWeiAtom);\n const { isDeltaMode, enabledOnCurrentChain: deltaEnabledOnCurrentChain } =\n useGlobalDeltaEnabled();\n const isBuy = useSwapSide() === \"BUY\";\n const isCrossChain = useIsCrossChain();\n // useSwapPrice will fetch Delta price for WETH-tokenTo, if tokenFrom=ETH\n const { price } = useCurrentSwapPrice({ enabled: false });\n\n const isEthToWethSameChain = tokenFromIsETH && tokenToIsWETH && !isCrossChain;\n\n const shouldWrap =\n !!account &&\n // check if there is price for WETH-tokenTo,\n // for the whole flow to be meaningful and don't have the cases when we wrapped but then can't swap\n !!price &&\n isDeltaMode &&\n deltaEnabledOnCurrentChain &&\n tokenFromIsETH &&\n !isBuy &&\n !!tokenTo &&\n // user want to explicitly swap ETH-WETH, we should stick to market priceMode\n !isEthToWethSameChain;\n\n const canWrap =\n !!account &&\n !!balance?.value &&\n balance.value > BigInt(payInputAmountWei) &&\n !!price;\n\n const amounts = tokenFromIsETH\n ? { ethAmountWei: payInputAmountWei, ethAmountUnit: payInputAmount }\n : undefined;\n\n return {\n shouldWrap,\n canWrap,\n isLoading,\n ...amounts,\n };\n}\n"],"names":["useWrapEthProps","$","_c","address","account","useAccount","tokenFrom","tokenTo","useWidgetTokens","t0","isETH","tokenFromIsETH","tokenToIsWETH","isWETH","network","t1","queryOptions","enabled","data","balance","isLoading","useNativeBalance","payInputAmount","useAtomValue","payInputAmountAtom","payInputAmountWei","payInputAmountWeiAtom","isDeltaMode","enabledOnCurrentChain","deltaEnabledOnCurrentChain","useGlobalDeltaEnabled","isBuy","useSwapSide","isCrossChain","useIsCrossChain","t2","Symbol","for","price","useCurrentSwapPrice","isEthToWethSameChain","shouldWrap","canWrap","value","BigInt","t3","ethAmountWei","ethAmountUnit","undefined","amounts","t4"],"mappings":"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"}
@@ -2,7 +2,7 @@ import { d as distExports } from '../../_virtual/index.js';
2
2
  import axios from 'axios';
3
3
  import { useQuery } from '@tanstack/react-query';
4
4
  import { useChainId } from 'wagmi';
5
- import { apiUrl } from '../../lib/constants/index.js';
5
+ import { API_URL } from '../../lib/constants/index.js';
6
6
  import { isLegacyPriceResponse, weiToGwei } from './utils.js';
7
7
  import { gasPricesConfig } from './config.js';
8
8
 
@@ -44,7 +44,7 @@ function useGasPrices(t0) {
44
44
  const allowEip1559 = config.eip1559;
45
45
  const {
46
46
  data
47
- } = await axios.get(`${apiUrl}/prices/gas/${chainId}`, {
47
+ } = await axios.get(`${API_URL}/prices/gas/${chainId}`, {
48
48
  signal,
49
49
  params: {
50
50
  eip1559: allowEip1559
@@ -1 +1 @@
1
- {"version":3,"file":"useGasPrices.js","sources":["../../../src/hooks/gas/useGasPrices.ts"],"sourcesContent":["import axios from \"axios\";\nimport { useQuery, type UseQueryResult } from \"@tanstack/react-query\";\nimport { useChainId } from \"wagmi\";\nimport { apiUrl } from \"@/lib/constants\";\nimport type { ConsolidatedGasPrices, GasPricesAPIResponse } from \"./types\";\nimport { isLegacyPriceResponse, weiToGwei } from \"./utils\";\nimport { gasPricesConfig } from \"./config\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\n\nconst GAS_PRICES_BASE_QUERY_KEY = \"gas-prices\";\n\ntype GasPricesQueryKey = [\n typeof GAS_PRICES_BASE_QUERY_KEY,\n chainId: SupportedChainId,\n eip1559Enabled: boolean,\n];\n\nexport function constructGasParamsQueryKey(\n chainId: SupportedChainId,\n eop1559Enabled: boolean\n): GasPricesQueryKey {\n return [GAS_PRICES_BASE_QUERY_KEY, chainId, eop1559Enabled];\n}\n\nexport function useGasPrices({\n chainId: _chainId,\n}: {\n chainId?: SupportedChainId;\n} = {}): UseQueryResult<ConsolidatedGasPrices, Error> {\n const appChainId = useChainId();\n const chainId = _chainId ?? appChainId;\n\n const config = gasPricesConfig[chainId];\n\n return useQuery<\n ConsolidatedGasPrices,\n Error,\n ConsolidatedGasPrices,\n GasPricesQueryKey\n >({\n queryKey: constructGasParamsQueryKey(chainId, config.eip1559),\n queryFn: async ({ signal }) => {\n const allowEip1559 = config.eip1559;\n\n const { data } = await axios.get<GasPricesAPIResponse>(\n `${apiUrl}/prices/gas/${chainId}`,\n { signal, params: { eip1559: allowEip1559 } }\n );\n\n const legacyPrices = isLegacyPriceResponse(!allowEip1559, data)\n ? {\n slow: weiToGwei(data.safeLow),\n standard: weiToGwei(data.average),\n fast: weiToGwei(data.fast),\n instant: weiToGwei(data.fastest),\n }\n : {\n slow: weiToGwei(data.safeLow.legacyGasPrice),\n standard: weiToGwei(data.average.legacyGasPrice),\n fast: weiToGwei(data.fast.legacyGasPrice),\n instant: weiToGwei(data.fastest.legacyGasPrice),\n };\n\n const eip1559Prices = !isLegacyPriceResponse(!allowEip1559, data)\n ? {\n slow: {\n maxFeePerGas: weiToGwei(data.safeLow.maxFeePerGas),\n maxPriorityFeePerGas: weiToGwei(\n data.safeLow.maxPriorityFeePerGas\n ),\n },\n standard: {\n maxFeePerGas: weiToGwei(data.average.maxFeePerGas),\n maxPriorityFeePerGas: weiToGwei(\n data.average.maxPriorityFeePerGas\n ),\n },\n fast: {\n maxFeePerGas: weiToGwei(data.fast.maxFeePerGas),\n maxPriorityFeePerGas: weiToGwei(data.fast.maxPriorityFeePerGas),\n },\n instant: {\n maxFeePerGas: weiToGwei(data.fastest.maxFeePerGas),\n maxPriorityFeePerGas: weiToGwei(\n data.fastest.maxPriorityFeePerGas\n ),\n },\n }\n : undefined;\n\n return {\n legacyPrices,\n eip1559Prices,\n blockData: data.blockData,\n optimisticGasOracleData:\n data.optimismGasOracleData || data.baseGasOracleData,\n };\n },\n\n enabled: !!chainId,\n refetchInterval: import.meta.env.DEV\n ? config.refetchInterval * 2 // avoid rate limiting in dev\n : config.refetchInterval,\n });\n}\n"],"names":["GAS_PRICES_BASE_QUERY_KEY","constructGasParamsQueryKey","chainId","eop1559Enabled","useGasPrices","t0","$","_c","t1","_chainId","appChainId","useChainId","config","gasPricesConfig","t2","eip1559","t3","t4","signal","allowEip1559","data","axios","get","apiUrl","params","legacyPrices","isLegacyPriceResponse","slow","weiToGwei","safeLow","standard","average","fast","instant","fastest","legacyGasPrice","eip1559Prices","maxFeePerGas","maxPriorityFeePerGas","undefined","blockData","optimisticGasOracleData","optimismGasOracleData","baseGasOracleData","t5","refetchInterval","t6","queryKey","queryFn","enabled","useQuery"],"mappings":"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"}
1
+ {"version":3,"file":"useGasPrices.js","sources":["../../../src/hooks/gas/useGasPrices.ts"],"sourcesContent":["import axios from \"axios\";\nimport { useQuery, type UseQueryResult } from \"@tanstack/react-query\";\nimport { useChainId } from \"wagmi\";\nimport { API_URL } from \"@/lib/constants\";\nimport type { ConsolidatedGasPrices, GasPricesAPIResponse } from \"./types\";\nimport { isLegacyPriceResponse, weiToGwei } from \"./utils\";\nimport { gasPricesConfig } from \"./config\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\n\nconst GAS_PRICES_BASE_QUERY_KEY = \"gas-prices\";\n\ntype GasPricesQueryKey = [\n typeof GAS_PRICES_BASE_QUERY_KEY,\n chainId: SupportedChainId,\n eip1559Enabled: boolean,\n];\n\nexport function constructGasParamsQueryKey(\n chainId: SupportedChainId,\n eop1559Enabled: boolean\n): GasPricesQueryKey {\n return [GAS_PRICES_BASE_QUERY_KEY, chainId, eop1559Enabled];\n}\n\nexport function useGasPrices({\n chainId: _chainId,\n}: {\n chainId?: SupportedChainId;\n} = {}): UseQueryResult<ConsolidatedGasPrices, Error> {\n const appChainId = useChainId();\n const chainId = _chainId ?? appChainId;\n\n const config = gasPricesConfig[chainId];\n\n return useQuery<\n ConsolidatedGasPrices,\n Error,\n ConsolidatedGasPrices,\n GasPricesQueryKey\n >({\n queryKey: constructGasParamsQueryKey(chainId, config.eip1559),\n queryFn: async ({ signal }) => {\n const allowEip1559 = config.eip1559;\n\n const { data } = await axios.get<GasPricesAPIResponse>(\n `${API_URL}/prices/gas/${chainId}`,\n { signal, params: { eip1559: allowEip1559 } }\n );\n\n const legacyPrices = isLegacyPriceResponse(!allowEip1559, data)\n ? {\n slow: weiToGwei(data.safeLow),\n standard: weiToGwei(data.average),\n fast: weiToGwei(data.fast),\n instant: weiToGwei(data.fastest),\n }\n : {\n slow: weiToGwei(data.safeLow.legacyGasPrice),\n standard: weiToGwei(data.average.legacyGasPrice),\n fast: weiToGwei(data.fast.legacyGasPrice),\n instant: weiToGwei(data.fastest.legacyGasPrice),\n };\n\n const eip1559Prices = !isLegacyPriceResponse(!allowEip1559, data)\n ? {\n slow: {\n maxFeePerGas: weiToGwei(data.safeLow.maxFeePerGas),\n maxPriorityFeePerGas: weiToGwei(\n data.safeLow.maxPriorityFeePerGas\n ),\n },\n standard: {\n maxFeePerGas: weiToGwei(data.average.maxFeePerGas),\n maxPriorityFeePerGas: weiToGwei(\n data.average.maxPriorityFeePerGas\n ),\n },\n fast: {\n maxFeePerGas: weiToGwei(data.fast.maxFeePerGas),\n maxPriorityFeePerGas: weiToGwei(data.fast.maxPriorityFeePerGas),\n },\n instant: {\n maxFeePerGas: weiToGwei(data.fastest.maxFeePerGas),\n maxPriorityFeePerGas: weiToGwei(\n data.fastest.maxPriorityFeePerGas\n ),\n },\n }\n : undefined;\n\n return {\n legacyPrices,\n eip1559Prices,\n blockData: data.blockData,\n optimisticGasOracleData:\n data.optimismGasOracleData || data.baseGasOracleData,\n };\n },\n\n enabled: !!chainId,\n refetchInterval: import.meta.env.DEV\n ? config.refetchInterval * 2 // avoid rate limiting in dev\n : config.refetchInterval,\n });\n}\n"],"names":["GAS_PRICES_BASE_QUERY_KEY","constructGasParamsQueryKey","chainId","eop1559Enabled","useGasPrices","t0","$","_c","t1","_chainId","appChainId","useChainId","config","gasPricesConfig","t2","eip1559","t3","t4","signal","allowEip1559","data","axios","get","API_URL","params","legacyPrices","isLegacyPriceResponse","slow","weiToGwei","safeLow","standard","average","fast","instant","fastest","legacyGasPrice","eip1559Prices","maxFeePerGas","maxPriorityFeePerGas","undefined","blockData","optimisticGasOracleData","optimismGasOracleData","baseGasOracleData","t5","refetchInterval","t6","queryKey","queryFn","enabled","useQuery"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useIsTokenSupportedInDelta.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/delta/queries/useIsTokenSupportedInDelta.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,cAAc,EACpB,MAAM,uBAAuB,CAAC;AAG/B,KAAK,6BAA6B,GAAG,MAAM,GAAG,SAAS,CAAC;AACxD,KAAK,6BAA6B,GAAG,OAAO,CAAC;AAE7C,KAAK,kCAAkC,CAAC,KAAK,GAAG,6BAA6B,IAC3E,IAAI,CACF,eAAe,CACb,6BAA6B,EAC7B,KAAK,EACL,KAAK,EACL,+BAA+B,CAChC,EACD,UAAU,GAAG,SAAS,CACvB,CAAC;AACJ,KAAK,kCAAkC,CAAC,KAAK,GAAG,6BAA6B,IAC3E,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAE/B,KAAK,iCAAiC,CAAC,KAAK,GAAG,6BAA6B,IAC1E;IACE,KAAK,EAAE,6BAA6B,CAAC;IACrC,KAAK,CAAC,EAAE,kCAAkC,CAAC,KAAK,CAAC,CAAC;IAClD,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEJ,KAAK,+BAA+B,GAAG;IACrC,IAAI,EAAE,+BAA+B;IACrC,OAAO,EAAE,MAAM;IACf,KAAK,EAAE,6BAA6B;CACrC,CAAC;AAEF,wBAAgB,+BAA+B,CAC7C,KAAK,GAAG,6BAA6B,EACrC,EACA,KAAK,EACL,KAAK,EACL,OAAO,GACR,EAAE,iCAAiC,CAAC,KAAK,CAAC,GAAG,kCAAkC,CAAC,KAAK,CAAC,CAqBtF"}
1
+ {"version":3,"file":"useIsTokenSupportedInDelta.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/delta/queries/useIsTokenSupportedInDelta.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,cAAc,EACpB,MAAM,uBAAuB,CAAC;AAG/B,KAAK,6BAA6B,GAAG,MAAM,GAAG,SAAS,CAAC;AACxD,KAAK,6BAA6B,GAAG,OAAO,CAAC;AAE7C,KAAK,kCAAkC,CAAC,KAAK,GAAG,6BAA6B,IAC3E,IAAI,CACF,eAAe,CACb,6BAA6B,EAC7B,KAAK,EACL,KAAK,EACL,+BAA+B,CAChC,EACD,UAAU,GAAG,SAAS,CACvB,CAAC;AACJ,KAAK,kCAAkC,CAAC,KAAK,GAAG,6BAA6B,IAC3E,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAE/B,KAAK,iCAAiC,CAAC,KAAK,GAAG,6BAA6B,IAC1E;IACE,KAAK,EAAE,6BAA6B,CAAC;IACrC,KAAK,CAAC,EAAE,kCAAkC,CAAC,KAAK,CAAC,CAAC;IAClD,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEJ,KAAK,+BAA+B,GAAG;IACrC,IAAI,EAAE,+BAA+B;IACrC,OAAO,EAAE,MAAM;IACf,KAAK,EAAE,6BAA6B;CACrC,CAAC;AAEF,wBAAgB,+BAA+B,CAC7C,KAAK,GAAG,6BAA6B,EACrC,EACA,KAAK,EACL,KAAK,EACL,OAAO,GACR,EAAE,iCAAiC,CAAC,KAAK,CAAC,GAAG,kCAAkC,CAAC,KAAK,CAAC,CAsBtF"}
@@ -1,4 +1,5 @@
1
1
  import { d as distExports } from '../../../../../_virtual/index.js';
2
+ import { useGlobalDeltaEnabled } from '../../../../useGlobalDeltaEnabled.js';
2
3
  import { useDeltaSDK } from '../../../../useSDK.js';
3
4
  import { useQuery } from '@tanstack/react-query';
4
5
  import { assert } from 'ts-essentials';
@@ -23,6 +24,9 @@ function useIsTokenSupportedInDeltaQuery(t0) {
23
24
  const {
24
25
  sdk
25
26
  } = useDeltaSDK(t1);
27
+ const {
28
+ enabledOnCurrentChain
29
+ } = useGlobalDeltaEnabled();
26
30
  let t2;
27
31
  if ($[2] !== token) {
28
32
  t2 = token?.toLowerCase();
@@ -58,7 +62,7 @@ function useIsTokenSupportedInDeltaQuery(t0) {
58
62
  } else {
59
63
  t4 = $[9];
60
64
  }
61
- const t5 = !!token && (query?.enabled ?? true);
65
+ const t5 = !!token && enabledOnCurrentChain && (query?.enabled ?? true);
62
66
  let t6;
63
67
  if ($[10] !== query || $[11] !== t3 || $[12] !== t4 || $[13] !== t5) {
64
68
  t6 = {
@@ -1 +1 @@
1
- {"version":3,"file":"useIsTokenSupportedInDelta.js","sources":["../../../../../../src/hooks/swap/prices/delta/queries/useIsTokenSupportedInDelta.ts"],"sourcesContent":["import { useDeltaSDK } from \"@/hooks/useSDK\";\nimport {\n useQuery,\n type UseQueryOptions,\n type UseQueryResult,\n} from \"@tanstack/react-query\";\nimport { assert } from \"ts-essentials\";\n\ntype IsTokenSupportedInDeltaParams = string | undefined; // token address\ntype IsTokenSupportedInDeltaReturn = boolean;\n\ntype IsTokenSupportedInDeltaQueryParams<TData = IsTokenSupportedInDeltaReturn> =\n Omit<\n UseQueryOptions<\n IsTokenSupportedInDeltaReturn,\n Error,\n TData,\n IsTokenSupportedInDeltaQueryKey\n >,\n \"queryKey\" | \"queryFn\"\n >;\ntype IsTokenSupportedInDeltaQueryResult<TData = IsTokenSupportedInDeltaReturn> =\n UseQueryResult<TData, Error>;\n\ntype IsTokenSupportedInDeltaQueryInput<TData = IsTokenSupportedInDeltaReturn> =\n {\n token: IsTokenSupportedInDeltaParams;\n query?: IsTokenSupportedInDeltaQueryParams<TData>;\n chainId: number;\n };\n\ntype IsTokenSupportedInDeltaQueryKey = [\n base: \"swap/delta/is-token-supported\",\n chainId: number,\n token: IsTokenSupportedInDeltaParams,\n];\n\nexport function useIsTokenSupportedInDeltaQuery<\n TData = IsTokenSupportedInDeltaReturn,\n>({\n token,\n query,\n chainId,\n}: IsTokenSupportedInDeltaQueryInput<TData>): IsTokenSupportedInDeltaQueryResult<TData> {\n const { sdk } = useDeltaSDK({ chainId });\n\n return useQuery<\n IsTokenSupportedInDeltaReturn,\n Error,\n TData,\n IsTokenSupportedInDeltaQueryKey\n >({\n queryKey: [\"swap/delta/is-token-supported\", chainId, token?.toLowerCase()],\n queryFn: ({ signal }) => {\n assert(token, \"token is required\");\n const isSupported = sdk.isTokenSupportedInDelta(token, { signal });\n return isSupported;\n },\n // never changes during App session\n staleTime: Infinity,\n gcTime: Infinity,\n ...query,\n enabled: !!token && (query?.enabled ?? true),\n });\n}\n"],"names":["useIsTokenSupportedInDeltaQuery","t0","$","_c","token","query","chainId","t1","sdk","useDeltaSDK","t2","toLowerCase","t3","t4","t5","signal","assert","isSupported","isTokenSupportedInDelta","enabled","t6","queryKey","queryFn","staleTime","Infinity","gcTime","useQuery"],"mappings":"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"}
1
+ {"version":3,"file":"useIsTokenSupportedInDelta.js","sources":["../../../../../../src/hooks/swap/prices/delta/queries/useIsTokenSupportedInDelta.ts"],"sourcesContent":["import { useGlobalDeltaEnabled } from \"@/hooks/useGlobalDeltaEnabled\";\nimport { useDeltaSDK } from \"@/hooks/useSDK\";\nimport {\n useQuery,\n type UseQueryOptions,\n type UseQueryResult,\n} from \"@tanstack/react-query\";\nimport { assert } from \"ts-essentials\";\n\ntype IsTokenSupportedInDeltaParams = string | undefined; // token address\ntype IsTokenSupportedInDeltaReturn = boolean;\n\ntype IsTokenSupportedInDeltaQueryParams<TData = IsTokenSupportedInDeltaReturn> =\n Omit<\n UseQueryOptions<\n IsTokenSupportedInDeltaReturn,\n Error,\n TData,\n IsTokenSupportedInDeltaQueryKey\n >,\n \"queryKey\" | \"queryFn\"\n >;\ntype IsTokenSupportedInDeltaQueryResult<TData = IsTokenSupportedInDeltaReturn> =\n UseQueryResult<TData, Error>;\n\ntype IsTokenSupportedInDeltaQueryInput<TData = IsTokenSupportedInDeltaReturn> =\n {\n token: IsTokenSupportedInDeltaParams;\n query?: IsTokenSupportedInDeltaQueryParams<TData>;\n chainId: number;\n };\n\ntype IsTokenSupportedInDeltaQueryKey = [\n base: \"swap/delta/is-token-supported\",\n chainId: number,\n token: IsTokenSupportedInDeltaParams,\n];\n\nexport function useIsTokenSupportedInDeltaQuery<\n TData = IsTokenSupportedInDeltaReturn,\n>({\n token,\n query,\n chainId,\n}: IsTokenSupportedInDeltaQueryInput<TData>): IsTokenSupportedInDeltaQueryResult<TData> {\n const { sdk } = useDeltaSDK({ chainId });\n const { enabledOnCurrentChain } = useGlobalDeltaEnabled();\n\n return useQuery<\n IsTokenSupportedInDeltaReturn,\n Error,\n TData,\n IsTokenSupportedInDeltaQueryKey\n >({\n queryKey: [\"swap/delta/is-token-supported\", chainId, token?.toLowerCase()],\n queryFn: ({ signal }) => {\n assert(token, \"token is required\");\n const isSupported = sdk.isTokenSupportedInDelta(token, { signal });\n return isSupported;\n },\n // never changes during App session\n staleTime: Infinity,\n gcTime: Infinity,\n ...query,\n enabled: !!token && enabledOnCurrentChain && (query?.enabled ?? true),\n });\n}\n"],"names":["useIsTokenSupportedInDeltaQuery","t0","$","_c","token","query","chainId","t1","sdk","useDeltaSDK","enabledOnCurrentChain","useGlobalDeltaEnabled","t2","toLowerCase","t3","t4","t5","signal","assert","isSupported","isTokenSupportedInDelta","enabled","t6","queryKey","queryFn","staleTime","Infinity","gcTime","useQuery"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../../../src/hooks/tokens/balances/queries.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAI7D,OAAO,KAAK,EAEV,wBAAwB,EACxB,qBAAqB,EACrB,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAajB,wBAAgB,kCAAkC,CAAC,KAAK,EAAE,EACxD,uBAAuB,EACvB,OAAO,EACP,OAAO,GACR,EAAE,wBAAwB,CAAC,KAAK,CAAC,GAAG,eAAe,CAClD,iBAAiB,EACjB,KAAK,EACL,KAAK,EACL,qBAAqB,CACtB,CAkEA"}
1
+ {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../../../src/hooks/tokens/balances/queries.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAI7D,OAAO,KAAK,EAEV,wBAAwB,EACxB,qBAAqB,EACrB,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAgBjB,wBAAgB,kCAAkC,CAAC,KAAK,EAAE,EACxD,uBAAuB,EACvB,OAAO,EACP,OAAO,GACR,EAAE,wBAAwB,CAAC,KAAK,CAAC,GAAG,eAAe,CAClD,iBAAiB,EACjB,KAAK,EACL,KAAK,EACL,qBAAqB,CACtB,CAkEA"}
@@ -12,6 +12,7 @@ function constructTokenBalancesQueryKey({
12
12
  }) {
13
13
  return ["token-balances", chainId, tokenAddressesLowercase, account];
14
14
  }
15
+ const BATCH_SIZE = 1024 * 5;
15
16
  function constructTokenBalancesQueryOptions({
16
17
  tokenAddressesLowercase,
17
18
  chainId,
@@ -49,8 +50,7 @@ function constructTokenBalancesQueryOptions({
49
50
  });
50
51
  const multicallPromise = multicall(client, {
51
52
  contracts,
52
- batchSize: 1024 * 2
53
- // arbitrary, don't know what is the best value to use
53
+ batchSize: BATCH_SIZE
54
54
  });
55
55
  let addressBalanceMap = {};
56
56
  if (isRequestedEthBalance) {
@@ -1 +1 @@
1
- {"version":3,"file":"queries.js","sources":["../../../../src/hooks/tokens/balances/queries.ts"],"sourcesContent":["import { wagmiConfig } from \"@/lib/web3/wagmi/config\";\nimport { ETH_ADDRESS_LOWERCASE } from \"@/tokens/constants\";\nimport { isETH } from \"@/tokens/utils/eth\";\nimport type { UseQueryOptions } from \"@tanstack/react-query\";\nimport { assert } from \"ts-essentials\";\nimport { erc20Abi } from \"viem\";\nimport { getBalance, multicall } from \"viem/actions\";\nimport type {\n BalanceOfResult,\n ProduceQueryOptionsInput,\n TokenBalancesQueryKey,\n AddressBalanceMap,\n} from \"./types\";\n\nfunction constructTokenBalancesQueryKey({\n chainId,\n tokenAddressesLowercase,\n account,\n}: Pick<\n ProduceQueryOptionsInput,\n \"chainId\" | \"tokenAddressesLowercase\" | \"account\"\n>): TokenBalancesQueryKey {\n return [\"token-balances\", chainId, tokenAddressesLowercase, account];\n}\n\nexport function constructTokenBalancesQueryOptions<TData>({\n tokenAddressesLowercase,\n chainId,\n account,\n}: ProduceQueryOptionsInput<TData>): UseQueryOptions<\n AddressBalanceMap,\n Error,\n TData,\n TokenBalancesQueryKey\n> {\n const addressesWithoutEth = tokenAddressesLowercase.filter(\n (address) => !isETH({ address })\n );\n\n const isRequestedEthBalance =\n addressesWithoutEth.length < tokenAddressesLowercase.length;\n\n const queryKey = constructTokenBalancesQueryKey({\n chainId,\n tokenAddressesLowercase: tokenAddressesLowercase,\n account,\n });\n\n return {\n queryKey,\n queryFn: async () => {\n assert(account, \"account is required\");\n\n function constructAddressBalanceMap(results: BalanceOfResult[]) {\n return results.reduce<AddressBalanceMap>((acc, result, index) => {\n const tokenAddress = addressesWithoutEth[index];\n if (tokenAddress) acc[tokenAddress] = result;\n return acc;\n }, {});\n }\n\n const contracts = addressesWithoutEth.map((address) => ({\n address,\n abi: erc20Abi,\n functionName: \"balanceOf\" as const,\n args: [account],\n chainId,\n }));\n\n const client = wagmiConfig.getClient({ chainId });\n\n const multicallPromise = multicall(client, {\n contracts,\n batchSize: 1024 * 2, // arbitrary, don't know what is the best value to use\n });\n\n let addressBalanceMap: AddressBalanceMap = {};\n\n if (isRequestedEthBalance) {\n const ethBalance = await getBalance(client, {\n address: account,\n });\n const multiBalances = await multicallPromise;\n\n addressBalanceMap = constructAddressBalanceMap(multiBalances);\n\n addressBalanceMap[ETH_ADDRESS_LOWERCASE] = {\n result: ethBalance,\n status: \"success\",\n };\n } else {\n const multiBalances = await multicallPromise;\n addressBalanceMap = constructAddressBalanceMap(multiBalances);\n }\n\n return addressBalanceMap;\n },\n enabled: !!account && tokenAddressesLowercase.length > 0,\n staleTime: 25_000,\n };\n}\n"],"names":["constructTokenBalancesQueryKey","chainId","tokenAddressesLowercase","account","constructTokenBalancesQueryOptions","addressesWithoutEth","filter","address","isETH","isRequestedEthBalance","length","queryKey","queryFn","assert","constructAddressBalanceMap","results","reduce","acc","result","index","tokenAddress","contracts","map","abi","erc20Abi","functionName","args","client","wagmiConfig","getClient","multicallPromise","multicall","batchSize","addressBalanceMap","ethBalance","getBalance","multiBalances","ETH_ADDRESS_LOWERCASE","status","enabled","staleTime"],"mappings":";;;;;;;AAcA,SAASA,8BAAAA,CAA+B;AAAA,EACtCC,OAAAA;AAAAA,EACAC,uBAAAA;AAAAA,EACAC;AAIF,CAAA,EAA0B;AACxB,EAAA,OAAO,CAAC,gBAAA,EAAkBF,OAAAA,EAASC,uBAAAA,EAAyBC,OAAO,CAAA;AACrE;AAEO,SAASC,kCAAAA,CAA0C;AAAA,EACxDF,uBAAAA;AAAAA,EACAD,OAAAA;AAAAA,EACAE;AAC+B,CAAA,EAK/B;AACA,EAAA,MAAME,mBAAAA,GAAsBH,uBAAAA,CAAwBI,MAAAA,CACjDC,CAAAA,OAAAA,KAAY,CAACC,KAAAA,CAAM;AAAA,IAAED;AAAAA,GAAS,CACjC,CAAA;AAEA,EAAA,MAAME,qBAAAA,GACJJ,mBAAAA,CAAoBK,MAAAA,GAASR,uBAAAA,CAAwBQ,MAAAA;AAEvD,EAAA,MAAMC,WAAWX,8BAAAA,CAA+B;AAAA,IAC9CC,OAAAA;AAAAA,IACAC,uBAAAA;AAAAA,IACAC;AAAAA,GACD,CAAA;AAED,EAAA,OAAO;AAAA,IACLQ,QAAAA;AAAAA,IACAC,SAAS,YAAY;AACnBC,MAAAA,MAAAA,CAAOV,SAAS,qBAAqB,CAAA;AAErC,MAAA,SAASW,2BAA2BC,OAAAA,EAA4B;AAC9D,QAAA,OAAOA,OAAAA,CAAQC,MAAAA,CAA0B,CAACC,GAAAA,EAAKC,QAAQC,KAAAA,KAAU;AAC/D,UAAA,MAAMC,YAAAA,GAAef,oBAAoBc,KAAK,CAAA;AAC9C,UAAA,IAAIC,YAAAA,EAAcH,GAAAA,CAAIG,YAAY,CAAA,GAAIF,MAAAA;AACtC,UAAA,OAAOD,GAAAA;AAAAA,SACT,EAAG,EAAE,CAAA;AAAA;AAGP,MAAA,MAAMI,SAAAA,GAAYhB,mBAAAA,CAAoBiB,GAAAA,CAAKf,CAAAA,OAAAA,MAAa;AAAA,QACtDA,OAAAA;AAAAA,QACAgB,GAAAA,EAAKC,QAAAA;AAAAA,QACLC,YAAAA,EAAc,WAAA;AAAA,QACdC,IAAAA,EAAM,CAACvB,OAAO,CAAA;AAAA,QACdF;AAAAA,OACF,CAAE,CAAA;AAEF,MAAA,MAAM0B,MAAAA,GAASC,YAAYC,SAAAA,CAAU;AAAA,QAAE5B;AAAAA,OAAS,CAAA;AAEhD,MAAA,MAAM6B,gBAAAA,GAAmBC,UAAUJ,MAAAA,EAAQ;AAAA,QACzCN,SAAAA;AAAAA,QACAW,WAAW,IAAA,GAAO;AAAA;AAAA,OACnB,CAAA;AAED,MAAA,IAAIC,oBAAuC,EAAC;AAE5C,MAAA,IAAIxB,qBAAAA,EAAuB;AACzB,QAAA,MAAMyB,UAAAA,GAAa,MAAMC,UAAAA,CAAWR,MAAAA,EAAQ;AAAA,UAC1CpB,OAAAA,EAASJ;AAAAA,SACV,CAAA;AACD,QAAA,MAAMiC,gBAAgB,MAAMN,gBAAAA;AAE5BG,QAAAA,iBAAAA,GAAoBnB,2BAA2BsB,aAAa,CAAA;AAE5DH,QAAAA,iBAAAA,CAAkBI,qBAAqB,CAAA,GAAI;AAAA,UACzCnB,MAAAA,EAAQgB,UAAAA;AAAAA,UACRI,MAAAA,EAAQ;AAAA,SACV;AAAA,OACF,MAAO;AACL,QAAA,MAAMF,gBAAgB,MAAMN,gBAAAA;AAC5BG,QAAAA,iBAAAA,GAAoBnB,2BAA2BsB,aAAa,CAAA;AAAA;AAG9D,MAAA,OAAOH,iBAAAA;AAAAA,KACT;AAAA,IACAM,OAAAA,EAAS,CAAC,CAACpC,OAAAA,IAAWD,wBAAwBQ,MAAAA,GAAS,CAAA;AAAA,IACvD8B,SAAAA,EAAW;AAAA,GACb;AACF;;;;"}
1
+ {"version":3,"file":"queries.js","sources":["../../../../src/hooks/tokens/balances/queries.ts"],"sourcesContent":["import { wagmiConfig } from \"@/lib/web3/wagmi/config\";\nimport { ETH_ADDRESS_LOWERCASE } from \"@/tokens/constants\";\nimport { isETH } from \"@/tokens/utils/eth\";\nimport type { UseQueryOptions } from \"@tanstack/react-query\";\nimport { assert } from \"ts-essentials\";\nimport { erc20Abi } from \"viem\";\nimport { getBalance, multicall } from \"viem/actions\";\nimport type {\n BalanceOfResult,\n ProduceQueryOptionsInput,\n TokenBalancesQueryKey,\n AddressBalanceMap,\n} from \"./types\";\n\nfunction constructTokenBalancesQueryKey({\n chainId,\n tokenAddressesLowercase,\n account,\n}: Pick<\n ProduceQueryOptionsInput,\n \"chainId\" | \"tokenAddressesLowercase\" | \"account\"\n>): TokenBalancesQueryKey {\n return [\"token-balances\", chainId, tokenAddressesLowercase, account];\n}\n\n// arbitrary, don't know what is the best value to use\nconst BATCH_SIZE = 1024 * 5; // 5 KB\n\nexport function constructTokenBalancesQueryOptions<TData>({\n tokenAddressesLowercase,\n chainId,\n account,\n}: ProduceQueryOptionsInput<TData>): UseQueryOptions<\n AddressBalanceMap,\n Error,\n TData,\n TokenBalancesQueryKey\n> {\n const addressesWithoutEth = tokenAddressesLowercase.filter(\n (address) => !isETH({ address })\n );\n\n const isRequestedEthBalance =\n addressesWithoutEth.length < tokenAddressesLowercase.length;\n\n const queryKey = constructTokenBalancesQueryKey({\n chainId,\n tokenAddressesLowercase: tokenAddressesLowercase,\n account,\n });\n\n return {\n queryKey,\n queryFn: async () => {\n assert(account, \"account is required\");\n\n function constructAddressBalanceMap(results: BalanceOfResult[]) {\n return results.reduce<AddressBalanceMap>((acc, result, index) => {\n const tokenAddress = addressesWithoutEth[index];\n if (tokenAddress) acc[tokenAddress] = result;\n return acc;\n }, {});\n }\n\n const contracts = addressesWithoutEth.map((address) => ({\n address,\n abi: erc20Abi,\n functionName: \"balanceOf\" as const,\n args: [account],\n chainId,\n }));\n\n const client = wagmiConfig.getClient({ chainId });\n\n const multicallPromise = multicall(client, {\n contracts,\n batchSize: BATCH_SIZE,\n });\n\n let addressBalanceMap: AddressBalanceMap = {};\n\n if (isRequestedEthBalance) {\n const ethBalance = await getBalance(client, {\n address: account,\n });\n const multiBalances = await multicallPromise;\n\n addressBalanceMap = constructAddressBalanceMap(multiBalances);\n\n addressBalanceMap[ETH_ADDRESS_LOWERCASE] = {\n result: ethBalance,\n status: \"success\",\n };\n } else {\n const multiBalances = await multicallPromise;\n addressBalanceMap = constructAddressBalanceMap(multiBalances);\n }\n\n return addressBalanceMap;\n },\n enabled: !!account && tokenAddressesLowercase.length > 0,\n staleTime: 25_000,\n };\n}\n"],"names":["constructTokenBalancesQueryKey","chainId","tokenAddressesLowercase","account","BATCH_SIZE","constructTokenBalancesQueryOptions","addressesWithoutEth","filter","address","isETH","isRequestedEthBalance","length","queryKey","queryFn","assert","constructAddressBalanceMap","results","reduce","acc","result","index","tokenAddress","contracts","map","abi","erc20Abi","functionName","args","client","wagmiConfig","getClient","multicallPromise","multicall","batchSize","addressBalanceMap","ethBalance","getBalance","multiBalances","ETH_ADDRESS_LOWERCASE","status","enabled","staleTime"],"mappings":";;;;;;;AAcA,SAASA,8BAAAA,CAA+B;AAAA,EACtCC,OAAAA;AAAAA,EACAC,uBAAAA;AAAAA,EACAC;AAIF,CAAA,EAA0B;AACxB,EAAA,OAAO,CAAC,gBAAA,EAAkBF,OAAAA,EAASC,uBAAAA,EAAyBC,OAAO,CAAA;AACrE;AAGA,MAAMC,aAAa,IAAA,GAAO,CAAA;AAEnB,SAASC,kCAAAA,CAA0C;AAAA,EACxDH,uBAAAA;AAAAA,EACAD,OAAAA;AAAAA,EACAE;AAC+B,CAAA,EAK/B;AACA,EAAA,MAAMG,mBAAAA,GAAsBJ,uBAAAA,CAAwBK,MAAAA,CACjDC,CAAAA,OAAAA,KAAY,CAACC,KAAAA,CAAM;AAAA,IAAED;AAAAA,GAAS,CACjC,CAAA;AAEA,EAAA,MAAME,qBAAAA,GACJJ,mBAAAA,CAAoBK,MAAAA,GAAST,uBAAAA,CAAwBS,MAAAA;AAEvD,EAAA,MAAMC,WAAWZ,8BAAAA,CAA+B;AAAA,IAC9CC,OAAAA;AAAAA,IACAC,uBAAAA;AAAAA,IACAC;AAAAA,GACD,CAAA;AAED,EAAA,OAAO;AAAA,IACLS,QAAAA;AAAAA,IACAC,SAAS,YAAY;AACnBC,MAAAA,MAAAA,CAAOX,SAAS,qBAAqB,CAAA;AAErC,MAAA,SAASY,2BAA2BC,OAAAA,EAA4B;AAC9D,QAAA,OAAOA,OAAAA,CAAQC,MAAAA,CAA0B,CAACC,GAAAA,EAAKC,QAAQC,KAAAA,KAAU;AAC/D,UAAA,MAAMC,YAAAA,GAAef,oBAAoBc,KAAK,CAAA;AAC9C,UAAA,IAAIC,YAAAA,EAAcH,GAAAA,CAAIG,YAAY,CAAA,GAAIF,MAAAA;AACtC,UAAA,OAAOD,GAAAA;AAAAA,SACT,EAAG,EAAE,CAAA;AAAA;AAGP,MAAA,MAAMI,SAAAA,GAAYhB,mBAAAA,CAAoBiB,GAAAA,CAAKf,CAAAA,OAAAA,MAAa;AAAA,QACtDA,OAAAA;AAAAA,QACAgB,GAAAA,EAAKC,QAAAA;AAAAA,QACLC,YAAAA,EAAc,WAAA;AAAA,QACdC,IAAAA,EAAM,CAACxB,OAAO,CAAA;AAAA,QACdF;AAAAA,OACF,CAAE,CAAA;AAEF,MAAA,MAAM2B,MAAAA,GAASC,YAAYC,SAAAA,CAAU;AAAA,QAAE7B;AAAAA,OAAS,CAAA;AAEhD,MAAA,MAAM8B,gBAAAA,GAAmBC,UAAUJ,MAAAA,EAAQ;AAAA,QACzCN,SAAAA;AAAAA,QACAW,SAAAA,EAAW7B;AAAAA,OACZ,CAAA;AAED,MAAA,IAAI8B,oBAAuC,EAAC;AAE5C,MAAA,IAAIxB,qBAAAA,EAAuB;AACzB,QAAA,MAAMyB,UAAAA,GAAa,MAAMC,UAAAA,CAAWR,MAAAA,EAAQ;AAAA,UAC1CpB,OAAAA,EAASL;AAAAA,SACV,CAAA;AACD,QAAA,MAAMkC,gBAAgB,MAAMN,gBAAAA;AAE5BG,QAAAA,iBAAAA,GAAoBnB,2BAA2BsB,aAAa,CAAA;AAE5DH,QAAAA,iBAAAA,CAAkBI,qBAAqB,CAAA,GAAI;AAAA,UACzCnB,MAAAA,EAAQgB,UAAAA;AAAAA,UACRI,MAAAA,EAAQ;AAAA,SACV;AAAA,OACF,MAAO;AACL,QAAA,MAAMF,gBAAgB,MAAMN,gBAAAA;AAC5BG,QAAAA,iBAAAA,GAAoBnB,2BAA2BsB,aAAa,CAAA;AAAA;AAG9D,MAAA,OAAOH,iBAAAA;AAAAA,KACT;AAAA,IACAM,OAAAA,EAAS,CAAC,CAACrC,OAAAA,IAAWD,wBAAwBS,MAAAA,GAAS,CAAA;AAAA,IACvD8B,SAAAA,EAAW;AAAA,GACb;AACF;;;;"}
@@ -1,5 +1,5 @@
1
1
  import { queryClient } from '../../../lib/queryClient.js';
2
- import { apiUrl } from '../../../lib/constants/index.js';
2
+ import { API_URL } from '../../../lib/constants/index.js';
3
3
  import { ONE_MINUTE_MS, LONG_STALE_TIME_FOR_REACTIVENESS } from '../../../lib/constants/time.js';
4
4
  import axios from 'axios';
5
5
  import { isAddress } from 'viem';
@@ -17,7 +17,7 @@ async function fetchTokenPricesWithFallback({
17
17
  data: {
18
18
  prices
19
19
  }
20
- } = await axios.get(`${apiUrl}/fiat/prices/${chainId}`, {
20
+ } = await axios.get(`${API_URL}/fiat/prices/${chainId}`, {
21
21
  signal
22
22
  });
23
23
  if (!fallbackToCachedPrices) return prices;
@@ -1 +1 @@
1
- {"version":3,"file":"queries.js","sources":["../../../../src/hooks/tokens/prices/queries.ts"],"sourcesContent":["import { queryClient } from \"@/lib/queryClient\";\nimport { apiUrl } from \"@/lib/constants\";\nimport {\n LONG_STALE_TIME_FOR_REACTIVENESS,\n ONE_MINUTE_MS,\n} from \"@/lib/constants/time\";\n\nimport axios from \"axios\";\nimport { isAddress } from \"viem\";\n\nimport type { UseQueryOptions } from \"@tanstack/react-query\";\nimport type {\n FiatPriceFromApi,\n FiatPriceMap,\n TokenPricesQueryKey,\n} from \"./types\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\n\nconst keysToSkip: (keyof FiatPriceFromApi)[] = [\n \"source\",\n \"address\",\n \"updatedAt\",\n];\n\nfunction shouldTryOverride(key: string): boolean {\n return !keysToSkip.includes(key as keyof FiatPriceFromApi);\n}\n\nexport async function fetchTokenPricesWithFallback({\n chainId,\n fallbackToCachedPrices,\n signal,\n}: {\n chainId: SupportedChainId;\n fallbackToCachedPrices?: boolean;\n signal?: AbortSignal;\n}) {\n const {\n data: { prices },\n } = await axios.get<{ prices: FiatPriceMap }>(\n `${apiUrl}/fiat/prices/${chainId}`,\n { signal }\n );\n\n if (!fallbackToCachedPrices) return prices;\n\n // fiat-fetcher gives the prices either from coingecko or chainlink,\n // and in case of chainlink there are some missing values in price object\n\n const lastPrices = queryClient.getQueryData<FiatPriceMap>(\n constructTokenPricesQueryKey(chainId)\n );\n\n if (!lastPrices) return prices;\n\n const combined = Object.entries(prices).reduce<FiatPriceMap>(\n (acc, [address, price]) => {\n // skip if address is not valid\n if (!isAddress(address)) return acc;\n\n const lastPrice = lastPrices[address];\n // no previous price, do nothing\n if (!lastPrice) return acc;\n\n // assume that coinGecko prices have more data\n // and we don't want to change them\n if (price.source === \"coinGecko\") return acc;\n\n // no need to override the price when from the same source\n if (price.source === lastPrice.source) return acc;\n\n // make sure we have all the keys\n // not just the ones that are in the new price object\n const mergedPrice = { ...lastPrice, ...price };\n\n let changed = false;\n\n for (const key of Object.keys(mergedPrice)) {\n if (shouldTryOverride(key)) {\n const val =\n price[key as keyof typeof price] ??\n ((changed = true), lastPrice[key as keyof typeof lastPrice]);\n\n (mergedPrice[\n key as keyof typeof mergedPrice\n ] as FiatPriceFromApi[keyof FiatPriceFromApi]) = val;\n }\n }\n\n // we updated the price\n if (changed) {\n // let's keep updatedAt, source from the last price\n mergedPrice.updatedAt = lastPrice.updatedAt;\n mergedPrice.source = lastPrice.source;\n }\n\n acc[address] = mergedPrice;\n return acc;\n },\n prices\n );\n\n return combined;\n}\n\nexport function constructTokenPricesQueryKey(\n chainId: number\n): TokenPricesQueryKey {\n return [\"token-prices\", chainId];\n}\n\nexport function constructTokenPricesQueryOptions({\n chainId,\n fallbackToCachedPrices,\n enabled,\n}: {\n chainId: SupportedChainId;\n fallbackToCachedPrices?: boolean;\n enabled?: boolean;\n}): UseQueryOptions<FiatPriceMap, Error, FiatPriceMap, TokenPricesQueryKey> {\n {\n return {\n queryKey: constructTokenPricesQueryKey(chainId),\n queryFn: ({ signal }) =>\n fetchTokenPricesWithFallback({\n chainId,\n fallbackToCachedPrices,\n signal,\n }),\n enabled,\n notifyOnChangeProps: [\"data\", \"isLoading\", \"isError\"],\n staleTime: LONG_STALE_TIME_FOR_REACTIVENESS,\n refetchInterval: ONE_MINUTE_MS,\n };\n }\n}\n"],"names":["keysToSkip","shouldTryOverride","key","includes","fetchTokenPricesWithFallback","chainId","fallbackToCachedPrices","signal","data","prices","axios","get","apiUrl","lastPrices","queryClient","getQueryData","constructTokenPricesQueryKey","combined","Object","entries","reduce","acc","address","price","isAddress","lastPrice","source","mergedPrice","changed","keys","val","updatedAt","constructTokenPricesQueryOptions","enabled","queryKey","queryFn","notifyOnChangeProps","staleTime","LONG_STALE_TIME_FOR_REACTIVENESS","refetchInterval","ONE_MINUTE_MS"],"mappings":"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"}
1
+ {"version":3,"file":"queries.js","sources":["../../../../src/hooks/tokens/prices/queries.ts"],"sourcesContent":["import { queryClient } from \"@/lib/queryClient\";\nimport { API_URL } from \"@/lib/constants\";\nimport {\n LONG_STALE_TIME_FOR_REACTIVENESS,\n ONE_MINUTE_MS,\n} from \"@/lib/constants/time\";\n\nimport axios from \"axios\";\nimport { isAddress } from \"viem\";\n\nimport type { UseQueryOptions } from \"@tanstack/react-query\";\nimport type {\n FiatPriceFromApi,\n FiatPriceMap,\n TokenPricesQueryKey,\n} from \"./types\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\n\nconst keysToSkip: (keyof FiatPriceFromApi)[] = [\n \"source\",\n \"address\",\n \"updatedAt\",\n];\n\nfunction shouldTryOverride(key: string): boolean {\n return !keysToSkip.includes(key as keyof FiatPriceFromApi);\n}\n\nexport async function fetchTokenPricesWithFallback({\n chainId,\n fallbackToCachedPrices,\n signal,\n}: {\n chainId: SupportedChainId;\n fallbackToCachedPrices?: boolean;\n signal?: AbortSignal;\n}) {\n const {\n data: { prices },\n } = await axios.get<{ prices: FiatPriceMap }>(\n `${API_URL}/fiat/prices/${chainId}`,\n { signal }\n );\n\n if (!fallbackToCachedPrices) return prices;\n\n // fiat-fetcher gives the prices either from coingecko or chainlink,\n // and in case of chainlink there are some missing values in price object\n\n const lastPrices = queryClient.getQueryData<FiatPriceMap>(\n constructTokenPricesQueryKey(chainId)\n );\n\n if (!lastPrices) return prices;\n\n const combined = Object.entries(prices).reduce<FiatPriceMap>(\n (acc, [address, price]) => {\n // skip if address is not valid\n if (!isAddress(address)) return acc;\n\n const lastPrice = lastPrices[address];\n // no previous price, do nothing\n if (!lastPrice) return acc;\n\n // assume that coinGecko prices have more data\n // and we don't want to change them\n if (price.source === \"coinGecko\") return acc;\n\n // no need to override the price when from the same source\n if (price.source === lastPrice.source) return acc;\n\n // make sure we have all the keys\n // not just the ones that are in the new price object\n const mergedPrice = { ...lastPrice, ...price };\n\n let changed = false;\n\n for (const key of Object.keys(mergedPrice)) {\n if (shouldTryOverride(key)) {\n const val =\n price[key as keyof typeof price] ??\n ((changed = true), lastPrice[key as keyof typeof lastPrice]);\n\n (mergedPrice[\n key as keyof typeof mergedPrice\n ] as FiatPriceFromApi[keyof FiatPriceFromApi]) = val;\n }\n }\n\n // we updated the price\n if (changed) {\n // let's keep updatedAt, source from the last price\n mergedPrice.updatedAt = lastPrice.updatedAt;\n mergedPrice.source = lastPrice.source;\n }\n\n acc[address] = mergedPrice;\n return acc;\n },\n prices\n );\n\n return combined;\n}\n\nexport function constructTokenPricesQueryKey(\n chainId: number\n): TokenPricesQueryKey {\n return [\"token-prices\", chainId];\n}\n\nexport function constructTokenPricesQueryOptions({\n chainId,\n fallbackToCachedPrices,\n enabled,\n}: {\n chainId: SupportedChainId;\n fallbackToCachedPrices?: boolean;\n enabled?: boolean;\n}): UseQueryOptions<FiatPriceMap, Error, FiatPriceMap, TokenPricesQueryKey> {\n {\n return {\n queryKey: constructTokenPricesQueryKey(chainId),\n queryFn: ({ signal }) =>\n fetchTokenPricesWithFallback({\n chainId,\n fallbackToCachedPrices,\n signal,\n }),\n enabled,\n notifyOnChangeProps: [\"data\", \"isLoading\", \"isError\"],\n staleTime: LONG_STALE_TIME_FOR_REACTIVENESS,\n refetchInterval: ONE_MINUTE_MS,\n };\n }\n}\n"],"names":["keysToSkip","shouldTryOverride","key","includes","fetchTokenPricesWithFallback","chainId","fallbackToCachedPrices","signal","data","prices","axios","get","API_URL","lastPrices","queryClient","getQueryData","constructTokenPricesQueryKey","combined","Object","entries","reduce","acc","address","price","isAddress","lastPrice","source","mergedPrice","changed","keys","val","updatedAt","constructTokenPricesQueryOptions","enabled","queryKey","queryFn","notifyOnChangeProps","staleTime","LONG_STALE_TIME_FOR_REACTIVENESS","refetchInterval","ONE_MINUTE_MS"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { d as distExports } from '../../_virtual/index.js';
2
- import { apiUrl } from '../../lib/constants/index.js';
2
+ import { API_URL } from '../../lib/constants/index.js';
3
3
  import { LONG_STALE_TIME_FOR_REACTIVENESS } from '../../lib/constants/time.js';
4
4
  import { useQuery } from '@tanstack/react-query';
5
5
  import axios from 'axios';
@@ -20,7 +20,7 @@ function useTokenTaxFee(t0) {
20
20
  assert(chainId, "chainId is required");
21
21
  const {
22
22
  data
23
- } = await axios.get(`${apiUrl}/delta/tokens/${chainId}/${tokenAddress}`);
23
+ } = await axios.get(`${API_URL}/delta/tokens/${chainId}/${tokenAddress}`);
24
24
  return data;
25
25
  };
26
26
  $[0] = chainId;
@@ -1 +1 @@
1
- {"version":3,"file":"useTokenTaxFee.js","sources":["../../../src/hooks/tokens/useTokenTaxFee.ts"],"sourcesContent":["import { apiUrl } from \"@/lib/constants\";\nimport { LONG_STALE_TIME_FOR_REACTIVENESS } from \"@/lib/constants/time\";\nimport { useQuery, type UseQueryResult } from \"@tanstack/react-query\";\nimport axios from \"axios\";\nimport { assert } from \"ts-essentials\";\n\ntype UseTokenTaxFeeInput = {\n tokenAddress?: string;\n chainId?: number;\n};\n\ntype TokenTaxFeeResponse = {\n // empty object when not a tax Token\n sellTax?: number; // used as srcTokenDexTransferFee in GET /prices\n buyTax?: number; // used as destTokenDexTransferFee in GET /prices\n // for Delta no support for tax Tokens so far\n};\n\nexport function useTokenTaxFee({\n tokenAddress,\n chainId,\n}: UseTokenTaxFeeInput): UseQueryResult<TokenTaxFeeResponse, Error> {\n return useQuery<\n TokenTaxFeeResponse,\n Error,\n TokenTaxFeeResponse,\n [\"token-tax-fee\", string?, number?]\n >({\n queryKey: [\"token-tax-fee\", tokenAddress, chainId],\n queryFn: async () => {\n assert(tokenAddress, \"tokenAddress is required\");\n assert(chainId, \"chainId is required\");\n\n const { data } = await axios.get<TokenTaxFeeResponse>(\n `${apiUrl}/delta/tokens/${chainId}/${tokenAddress}`\n );\n return data;\n },\n staleTime: LONG_STALE_TIME_FOR_REACTIVENESS,\n enabled: !!tokenAddress && !!chainId,\n });\n}\n"],"names":["useTokenTaxFee","t0","$","_c","tokenAddress","chainId","t1","t2","assert","data","axios","get","apiUrl","t3","t4","queryKey","queryFn","staleTime","LONG_STALE_TIME_FOR_REACTIVENESS","enabled","useQuery"],"mappings":";;;;;;;AAkBO,SAAAA,eAAAC,EAAAA,EAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAAwB,EAAA,MAAA;AAAA,IAAAC,YAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAAAJ,EAAAA;AAGT,EAAA,IAAAK,EAAAA;AAAA,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAL,EAAA,CAAA,CAAA,KAAAG,WAAAH,CAAAA,QAAAE,YAAAA,EAAA;AAORE,IAAAA,EAAAA,GAAA,CAAC,eAAA,EAAiBF,YAAAA,EAAcC,OAAO,CAAA;AACxCE,IAAAA,EAAAA,eAAA;AACPC,MAAAA,MAAAA,CAAOJ,cAAc,0BAA0B,CAAA;AAC/CI,MAAAA,MAAAA,CAAOH,SAAS,qBAAqB,CAAA;AAErC,MAAA,MAAA;AAAA,QAAAI;AAAAA,OAAA,GAAA,MAAuBC,KAAAA,CAAAC,GAAAA,CACrB,CAAA,EAAAC,MAAA,CAAA,cAAA,EAA0BP,OAAO,CAAA,CAAA,EAAID,YAAY,CAAA,CACnD,CAAA;AAAE,MAAA,OACKK,IAAAA;AAAAA,KAAI;AACZP,IAAAA,CAAAA,MAAAG,OAAAA;AAAAH,IAAAA,CAAAA,MAAAE,YAAAA;AAAAF,IAAAA,CAAAA,MAAAI,EAAAA;AAAAJ,IAAAA,CAAAA,MAAAK,EAAAA;AAAAA,GAAA,MAAA;AAAAD,IAAAA,EAAAA,GAAAJ,EAAA,CAAA,CAAA;AAAAK,IAAAA,EAAAA,GAAAL,EAAA,CAAA,CAAA;AAAA;AAEQ,EAAA,MAAAW,EAAAA,GAAA,CAAA,CAAET,YAAAA,IAAY,CAAA,CAAMC,OAAAA;AAAO,EAAA,IAAAS,EAAAA;AAAA,EAAA,IAAAZ,CAAAA,CAAA,CAAA,CAAA,KAAAI,EAAAA,IAAAJ,CAAAA,QAAAK,EAAAA,IAAAL,CAAAA,CAAA,CAAA,CAAA,KAAAW,EAAAA,EAAA;AAZpCC,IAAAA,EAAAA,GAAA;AAAA,MAAAC,QAAAA,EACUT,EAAAA;AAAAA,MAAwCU,OAAAA,EACzCT,EAAAA;AAAAA,MAQRU,SAAAA,EAAAC,gCAAAA;AAAAA,MAAAC,OAAAA,EAEQN;AAAAA,KAA2B;AACrCX,IAAAA,CAAAA,MAAAI,EAAAA;AAAAJ,IAAAA,CAAAA,MAAAK,EAAAA;AAAAL,IAAAA,CAAAA,MAAAW,EAAAA;AAAAX,IAAAA,CAAAA,MAAAY,EAAAA;AAAAA,GAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAZ,EAAA,CAAA,CAAA;AAAA;AAAA,EAAA,OAlBMkB,SAKLN,EAaD,CAAA;AAAC;;;;"}
1
+ {"version":3,"file":"useTokenTaxFee.js","sources":["../../../src/hooks/tokens/useTokenTaxFee.ts"],"sourcesContent":["import { API_URL } from \"@/lib/constants\";\nimport { LONG_STALE_TIME_FOR_REACTIVENESS } from \"@/lib/constants/time\";\nimport { useQuery, type UseQueryResult } from \"@tanstack/react-query\";\nimport axios from \"axios\";\nimport { assert } from \"ts-essentials\";\n\ntype UseTokenTaxFeeInput = {\n tokenAddress?: string;\n chainId?: number;\n};\n\ntype TokenTaxFeeResponse = {\n // empty object when not a tax Token\n sellTax?: number; // used as srcTokenDexTransferFee in GET /prices\n buyTax?: number; // used as destTokenDexTransferFee in GET /prices\n // for Delta no support for tax Tokens so far\n};\n\nexport function useTokenTaxFee({\n tokenAddress,\n chainId,\n}: UseTokenTaxFeeInput): UseQueryResult<TokenTaxFeeResponse, Error> {\n return useQuery<\n TokenTaxFeeResponse,\n Error,\n TokenTaxFeeResponse,\n [\"token-tax-fee\", string?, number?]\n >({\n queryKey: [\"token-tax-fee\", tokenAddress, chainId],\n queryFn: async () => {\n assert(tokenAddress, \"tokenAddress is required\");\n assert(chainId, \"chainId is required\");\n\n const { data } = await axios.get<TokenTaxFeeResponse>(\n `${API_URL}/delta/tokens/${chainId}/${tokenAddress}`\n );\n return data;\n },\n staleTime: LONG_STALE_TIME_FOR_REACTIVENESS,\n enabled: !!tokenAddress && !!chainId,\n });\n}\n"],"names":["useTokenTaxFee","t0","$","_c","tokenAddress","chainId","t1","t2","assert","data","axios","get","API_URL","t3","t4","queryKey","queryFn","staleTime","LONG_STALE_TIME_FOR_REACTIVENESS","enabled","useQuery"],"mappings":";;;;;;;AAkBO,SAAAA,eAAAC,EAAAA,EAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAAwB,EAAA,MAAA;AAAA,IAAAC,YAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAAAJ,EAAAA;AAGT,EAAA,IAAAK,EAAAA;AAAA,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAL,EAAA,CAAA,CAAA,KAAAG,WAAAH,CAAAA,QAAAE,YAAAA,EAAA;AAORE,IAAAA,EAAAA,GAAA,CAAC,eAAA,EAAiBF,YAAAA,EAAcC,OAAO,CAAA;AACxCE,IAAAA,EAAAA,eAAA;AACPC,MAAAA,MAAAA,CAAOJ,cAAc,0BAA0B,CAAA;AAC/CI,MAAAA,MAAAA,CAAOH,SAAS,qBAAqB,CAAA;AAErC,MAAA,MAAA;AAAA,QAAAI;AAAAA,OAAA,GAAA,MAAuBC,KAAAA,CAAAC,GAAAA,CACrB,CAAA,EAAAC,OAAA,CAAA,cAAA,EAA2BP,OAAO,CAAA,CAAA,EAAID,YAAY,CAAA,CACpD,CAAA;AAAE,MAAA,OACKK,IAAAA;AAAAA,KAAI;AACZP,IAAAA,CAAAA,MAAAG,OAAAA;AAAAH,IAAAA,CAAAA,MAAAE,YAAAA;AAAAF,IAAAA,CAAAA,MAAAI,EAAAA;AAAAJ,IAAAA,CAAAA,MAAAK,EAAAA;AAAAA,GAAA,MAAA;AAAAD,IAAAA,EAAAA,GAAAJ,EAAA,CAAA,CAAA;AAAAK,IAAAA,EAAAA,GAAAL,EAAA,CAAA,CAAA;AAAA;AAEQ,EAAA,MAAAW,EAAAA,GAAA,CAAA,CAAET,YAAAA,IAAY,CAAA,CAAMC,OAAAA;AAAO,EAAA,IAAAS,EAAAA;AAAA,EAAA,IAAAZ,CAAAA,CAAA,CAAA,CAAA,KAAAI,EAAAA,IAAAJ,CAAAA,QAAAK,EAAAA,IAAAL,CAAAA,CAAA,CAAA,CAAA,KAAAW,EAAAA,EAAA;AAZpCC,IAAAA,EAAAA,GAAA;AAAA,MAAAC,QAAAA,EACUT,EAAAA;AAAAA,MAAwCU,OAAAA,EACzCT,EAAAA;AAAAA,MAQRU,SAAAA,EAAAC,gCAAAA;AAAAA,MAAAC,OAAAA,EAEQN;AAAAA,KAA2B;AACrCX,IAAAA,CAAAA,MAAAI,EAAAA;AAAAJ,IAAAA,CAAAA,MAAAK,EAAAA;AAAAL,IAAAA,CAAAA,MAAAW,EAAAA;AAAAX,IAAAA,CAAAA,MAAAY,EAAAA;AAAAA,GAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAZ,EAAA,CAAA,CAAA;AAAA;AAAA,EAAA,OAlBMkB,SAKLN,EAaD,CAAA;AAAC;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useSDK.d.ts","sourceRoot":"","sources":["../../src/hooks/useSDK.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useSDK.d.ts","sourceRoot":"","sources":["../../src/hooks/useSDK.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,13 @@
1
1
  import axios from 'axios';
2
2
  import { useMemo } from 'react';
3
3
  import { constructPartialSDK, constructAxiosFetcher, constructGetDeltaOrders, constructGetDeltaPrice, constructBuildDeltaOrder, constructBuildCrosschainOrderBridge, constructPostDeltaOrder, constructGetBridgeInfo, constructGetMulticallHandlers, constructIsTokenSupportedInDelta, constructViemContractCaller, constructSignDeltaOrder, constructGetRate, constructGetSpender, constructBuildTx } from '@velora-dex/sdk';
4
+ import { API_URL } from '../lib/constants/index.js';
4
5
  import { useLogger } from '../widget/logger.js';
5
6
 
6
7
  const fetcher = constructAxiosFetcher(axios);
7
8
  function useMarketSwapSDK({
8
9
  chainId,
9
- apiURL
10
+ apiURL = API_URL
10
11
  }) {
11
12
  "use no memo";
12
13
  const sdk = useMemo(() => {
@@ -26,7 +27,7 @@ function useMarketSwapSDK({
26
27
  }
27
28
  function useDeltaSDK({
28
29
  chainId,
29
- apiURL,
30
+ apiURL = API_URL,
30
31
  account,
31
32
  client
32
33
  }) {
@@ -1 +1 @@
1
- {"version":3,"file":"useSDK.js","sources":["../../src/hooks/useSDK.ts"],"sourcesContent":["import axios from \"axios\";\nimport { useMemo } from \"react\";\n\nimport {\n constructAxiosFetcher,\n constructPartialSDK,\n constructGetSpender,\n constructBuildTx,\n constructAllLimitOrdersHandlers,\n constructGetRate,\n constructGetDeltaPrice,\n constructGetDeltaOrders,\n constructBuildDeltaOrder,\n constructSignDeltaOrder,\n constructPostDeltaOrder,\n constructGetBridgeInfo,\n constructGetMulticallHandlers,\n constructIsTokenSupportedInDelta,\n constructBuildCrosschainOrderBridge,\n constructViemContractCaller,\n type LimitOrderHandlers,\n type GetRateFunctions,\n type APIVersion,\n type GetDeltaOrdersFunctions,\n type GetDeltaPriceFunctions,\n type PostDeltaOrderFunctions,\n type BuildDeltaOrderFunctions,\n type SignDeltaOrderFunctions,\n type GetBridgeInfoFunctions,\n type GetMulticallHandlersFunctions,\n type IsTokenSupportedInDeltaFunctions,\n type BuildCrosschainOrderBridgeFunctions,\n type BuildTxFunctions,\n type GetSpenderFunctions,\n type MinViemClient,\n} from \"@velora-dex/sdk\";\nimport type { Address, Hash } from \"viem\";\nimport type { Prettify } from \"ts-essentials\";\nimport { useLogger } from \"@/widget/logger\";\n\nconst fetcher = constructAxiosFetcher(axios);\n\ntype SDKCreateParams = {\n chainId: number;\n apiURL?: string;\n account?: Address;\n};\n\nexport type MarketSwapSDK = Prettify<\n GetSpenderFunctions & BuildTxFunctions & GetRateFunctions\n>;\n\ntype ConstructedSDKOutput<T> = {\n sdk: T;\n appVersion: APIVersion;\n chainId: number;\n apiURL: string;\n};\n\nexport function useMarketSwapSDK({\n chainId,\n apiURL,\n}: SDKCreateParams): ConstructedSDKOutput<MarketSwapSDK> {\n \"use no memo\";\n\n const sdk = useMemo(() => {\n const SDKconfig = {\n apiURL,\n chainId,\n fetcher,\n };\n\n return constructPartialSDK(\n SDKconfig,\n constructGetRate,\n constructGetSpender,\n constructBuildTx\n );\n }, [apiURL, chainId]);\n\n return {\n appVersion: sdk.version,\n chainId: sdk.chainId,\n apiURL: sdk.apiURL,\n sdk,\n };\n}\ntype LimitOrdersSDKCreateParams = SDKCreateParams & {\n account?: Address;\n client?: MinViemClient;\n};\n\nexport type LimitOrdersSDK = Prettify<LimitOrderHandlers<Hash>>;\n// can paraswap.fillOrder from a taker address to simulate happy path\n// @TODO check that we always use correct SDK version\nexport function useLimitOrdersSDK({\n chainId,\n apiURL,\n account,\n client,\n}: LimitOrdersSDKCreateParams & {\n account?: undefined;\n client?: undefined;\n}): Record<keyof ConstructedSDKOutput<unknown>, undefined>; // keyof allows for autocomplete in destructuring\nexport function useLimitOrdersSDK({\n chainId,\n apiURL,\n account,\n client,\n}: LimitOrdersSDKCreateParams & {\n account: Address;\n client: MinViemClient;\n}): ConstructedSDKOutput<LimitOrdersSDK>;\nexport function useLimitOrdersSDK({\n chainId,\n apiURL,\n account,\n client,\n}: LimitOrdersSDKCreateParams):\n | ConstructedSDKOutput<LimitOrdersSDK>\n | Record<keyof ConstructedSDKOutput<unknown>, undefined>;\nexport function useLimitOrdersSDK({\n chainId,\n apiURL,\n account,\n client,\n}: LimitOrdersSDKCreateParams):\n | ConstructedSDKOutput<LimitOrdersSDK>\n | Partial<Record<keyof ConstructedSDKOutput<unknown>, undefined>> {\n \"use no memo\";\n\n const sdk = useMemo(() => {\n if (!client || !account) return;\n\n const contractCaller = constructViemContractCaller(client, account);\n\n const SDKconfig = {\n apiURL,\n chainId,\n fetcher,\n contractCaller,\n };\n\n return constructPartialSDK(SDKconfig, constructAllLimitOrdersHandlers);\n }, [account, apiURL, client, chainId]);\n\n if (!sdk) return {};\n\n return {\n appVersion: sdk.version,\n chainId: sdk.chainId,\n apiURL: sdk.apiURL,\n sdk,\n };\n}\n\ntype ReadOnlyDeltaSDK = Prettify<\n GetDeltaOrdersFunctions &\n GetDeltaPriceFunctions &\n BuildDeltaOrderFunctions &\n BuildCrosschainOrderBridgeFunctions &\n PostDeltaOrderFunctions &\n GetBridgeInfoFunctions &\n GetMulticallHandlersFunctions &\n IsTokenSupportedInDeltaFunctions & { chainId: number }\n>;\n\nexport type DeltaSDK = Prettify<ReadOnlyDeltaSDK & SignDeltaOrderFunctions>;\n\ntype DeltaSDKCreateParams = SDKCreateParams & {\n client?: MinViemClient;\n};\n\nexport function useDeltaSDK({\n chainId,\n apiURL,\n account,\n client,\n}: DeltaSDKCreateParams & {\n account?: undefined;\n client?: undefined;\n}): ConstructedSDKOutput<ReadOnlyDeltaSDK>;\nexport function useDeltaSDK({\n chainId,\n apiURL,\n account,\n client,\n}: DeltaSDKCreateParams & {\n account: Address;\n client: MinViemClient;\n}): ConstructedSDKOutput<DeltaSDK>;\nexport function useDeltaSDK({\n chainId,\n apiURL,\n account,\n client,\n}: DeltaSDKCreateParams): ConstructedSDKOutput<DeltaSDK | ReadOnlyDeltaSDK>;\nexport function useDeltaSDK({\n chainId,\n apiURL,\n account,\n client,\n}: DeltaSDKCreateParams): ConstructedSDKOutput<DeltaSDK | ReadOnlyDeltaSDK> {\n \"use no memo\";\n // react-compiler fails here and sdk is created anew\n\n const logger = useLogger(\"DeltaSDK\");\n\n const sdk = useMemo(() => {\n logger.log(\"init sdk\");\n const SDKconfig = {\n apiURL,\n chainId,\n fetcher,\n };\n\n if (!client || !account) {\n return constructPartialSDK(\n SDKconfig,\n constructGetDeltaOrders,\n constructGetDeltaPrice,\n constructBuildDeltaOrder,\n constructBuildCrosschainOrderBridge,\n constructPostDeltaOrder,\n constructGetBridgeInfo,\n constructGetMulticallHandlers,\n constructIsTokenSupportedInDelta\n );\n }\n\n const contractCaller = constructViemContractCaller(client, account);\n\n return constructPartialSDK(\n { ...SDKconfig, contractCaller },\n constructGetDeltaOrders,\n constructGetDeltaPrice,\n constructBuildDeltaOrder,\n constructBuildCrosschainOrderBridge,\n constructPostDeltaOrder,\n constructGetBridgeInfo,\n constructGetMulticallHandlers,\n constructIsTokenSupportedInDelta,\n constructSignDeltaOrder\n );\n }, [logger, apiURL, chainId, client, account]);\n\n return {\n appVersion: sdk.version,\n chainId: sdk.chainId,\n apiURL: sdk.apiURL,\n sdk,\n };\n}\n"],"names":["fetcher","constructAxiosFetcher","axios","useMarketSwapSDK","chainId","apiURL","sdk","useMemo","SDKconfig","constructPartialSDK","constructGetRate","constructGetSpender","constructBuildTx","appVersion","version","useDeltaSDK","account","client","logger","useLogger","log","constructGetDeltaOrders","constructGetDeltaPrice","constructBuildDeltaOrder","constructBuildCrosschainOrderBridge","constructPostDeltaOrder","constructGetBridgeInfo","constructGetMulticallHandlers","constructIsTokenSupportedInDelta","contractCaller","constructViemContractCaller","constructSignDeltaOrder"],"mappings":";;;;;AAwCA,MAAMA,OAAAA,GAAUC,sBAAsBC,KAAK,CAAA;AAmBpC,SAASC,gBAAAA,CAAiB;AAAA,EAC/BC,OAAAA;AAAAA,EACAC;AACe,CAAA,EAAwC;AACvD,EAAA,aAAA;AAEA,EAAA,MAAMC,GAAAA,GAAMC,QAAQ,MAAM;AACxB,IAAA,MAAMC,SAAAA,GAAY;AAAA,MAChBH,MAAAA;AAAAA,MACAD,OAAAA;AAAAA,MACAJ;AAAAA,KACF;AAEA,IAAA,OAAOS,mBAAAA,CACLD,SAAAA,EACAE,gBAAAA,EACAC,mBAAAA,EACAC,gBACF,CAAA;AAAA,GACF,EAAG,CAACP,MAAAA,EAAQD,OAAO,CAAC,CAAA;AAEpB,EAAA,OAAO;AAAA,IACLS,YAAYP,GAAAA,CAAIQ,OAAAA;AAAAA,IAChBV,SAASE,GAAAA,CAAIF,OAAAA;AAAAA,IACbC,QAAQC,GAAAA,CAAID,MAAAA;AAAAA,IACZC;AAAAA,GACF;AACF;AA+GO,SAASS,WAAAA,CAAY;AAAA,EAC1BX,OAAAA;AAAAA,EACAC,MAAAA;AAAAA,EACAW,OAAAA;AAAAA,EACAC;AACoB,CAAA,EAAsD;AAC1E,EAAA,aAAA;AAGA,EAAA,MAAMC,MAAAA,GAASC,UAAU,UAAU,CAAA;AAEnC,EAAA,MAAMb,GAAAA,GAAMC,QAAQ,MAAM;AACxBW,IAAAA,MAAAA,CAAOE,IAAI,UAAU,CAAA;AACrB,IAAA,MAAMZ,SAAAA,GAAY;AAAA,MAChBH,MAAAA;AAAAA,MACAD,OAAAA;AAAAA,MACAJ;AAAAA,KACF;AAEA,IAAA,IAAI,CAACiB,MAAAA,IAAU,CAACD,OAAAA,EAAS;AACvB,MAAA,OAAOP,mBAAAA,CACLD,WACAa,uBAAAA,EACAC,sBAAAA,EACAC,0BACAC,mCAAAA,EACAC,uBAAAA,EACAC,sBAAAA,EACAC,6BAAAA,EACAC,gCACF,CAAA;AAAA;AAGF,IAAA,MAAMC,cAAAA,GAAiBC,2BAAAA,CAA4Bb,MAAAA,EAAQD,OAAO,CAAA;AAElE,IAAA,OAAOP,mBAAAA,CACL;AAAA,MAAE,GAAGD,SAAAA;AAAAA,MAAWqB;AAAAA,KAAe,EAC/BR,yBACAC,sBAAAA,EACAC,wBAAAA,EACAC,qCACAC,uBAAAA,EACAC,sBAAAA,EACAC,6BAAAA,EACAC,gCAAAA,EACAG,uBACF,CAAA;AAAA,KACC,CAACb,MAAAA,EAAQb,QAAQD,OAAAA,EAASa,MAAAA,EAAQD,OAAO,CAAC,CAAA;AAE7C,EAAA,OAAO;AAAA,IACLH,YAAYP,GAAAA,CAAIQ,OAAAA;AAAAA,IAChBV,SAASE,GAAAA,CAAIF,OAAAA;AAAAA,IACbC,QAAQC,GAAAA,CAAID,MAAAA;AAAAA,IACZC;AAAAA,GACF;AACF;;;;"}
1
+ {"version":3,"file":"useSDK.js","sources":["../../src/hooks/useSDK.ts"],"sourcesContent":["import axios from \"axios\";\nimport { useMemo } from \"react\";\n\nimport {\n constructAxiosFetcher,\n constructPartialSDK,\n constructGetSpender,\n constructBuildTx,\n constructAllLimitOrdersHandlers,\n constructGetRate,\n constructGetDeltaPrice,\n constructGetDeltaOrders,\n constructBuildDeltaOrder,\n constructSignDeltaOrder,\n constructPostDeltaOrder,\n constructGetBridgeInfo,\n constructGetMulticallHandlers,\n constructIsTokenSupportedInDelta,\n constructBuildCrosschainOrderBridge,\n constructViemContractCaller,\n type LimitOrderHandlers,\n type GetRateFunctions,\n type APIVersion,\n type GetDeltaOrdersFunctions,\n type GetDeltaPriceFunctions,\n type PostDeltaOrderFunctions,\n type BuildDeltaOrderFunctions,\n type SignDeltaOrderFunctions,\n type GetBridgeInfoFunctions,\n type GetMulticallHandlersFunctions,\n type IsTokenSupportedInDeltaFunctions,\n type BuildCrosschainOrderBridgeFunctions,\n type BuildTxFunctions,\n type GetSpenderFunctions,\n type MinViemClient,\n} from \"@velora-dex/sdk\";\nimport type { Address, Hash } from \"viem\";\nimport type { Prettify } from \"ts-essentials\";\nimport { API_URL } from \"@/lib/constants\";\nimport { useLogger } from \"@/widget/logger\";\n\nconst fetcher = constructAxiosFetcher(axios);\n\ntype SDKCreateParams = {\n chainId: number;\n apiURL?: string;\n account?: Address;\n};\n\nexport type MarketSwapSDK = Prettify<\n GetSpenderFunctions & BuildTxFunctions & GetRateFunctions\n>;\n\ntype ConstructedSDKOutput<T> = {\n sdk: T;\n appVersion: APIVersion;\n chainId: number;\n apiURL: string;\n};\n\nexport function useMarketSwapSDK({\n chainId,\n apiURL = API_URL,\n}: SDKCreateParams): ConstructedSDKOutput<MarketSwapSDK> {\n \"use no memo\";\n\n const sdk = useMemo(() => {\n const SDKconfig = {\n apiURL,\n chainId,\n fetcher,\n };\n\n return constructPartialSDK(\n SDKconfig,\n constructGetRate,\n constructGetSpender,\n constructBuildTx\n );\n }, [apiURL, chainId]);\n\n return {\n appVersion: sdk.version,\n chainId: sdk.chainId,\n apiURL: sdk.apiURL,\n sdk,\n };\n}\ntype LimitOrdersSDKCreateParams = SDKCreateParams & {\n account?: Address;\n client?: MinViemClient;\n};\n\nexport type LimitOrdersSDK = Prettify<LimitOrderHandlers<Hash>>;\n// can paraswap.fillOrder from a taker address to simulate happy path\n// @TODO check that we always use correct SDK version\nexport function useLimitOrdersSDK({\n chainId,\n apiURL,\n account,\n client,\n}: LimitOrdersSDKCreateParams & {\n account?: undefined;\n client?: undefined;\n}): Record<keyof ConstructedSDKOutput<unknown>, undefined>; // keyof allows for autocomplete in destructuring\nexport function useLimitOrdersSDK({\n chainId,\n apiURL,\n account,\n client,\n}: LimitOrdersSDKCreateParams & {\n account: Address;\n client: MinViemClient;\n}): ConstructedSDKOutput<LimitOrdersSDK>;\nexport function useLimitOrdersSDK({\n chainId,\n apiURL,\n account,\n client,\n}: LimitOrdersSDKCreateParams):\n | ConstructedSDKOutput<LimitOrdersSDK>\n | Record<keyof ConstructedSDKOutput<unknown>, undefined>;\nexport function useLimitOrdersSDK({\n chainId,\n apiURL = API_URL,\n account,\n client,\n}: LimitOrdersSDKCreateParams):\n | ConstructedSDKOutput<LimitOrdersSDK>\n | Partial<Record<keyof ConstructedSDKOutput<unknown>, undefined>> {\n \"use no memo\";\n\n const sdk = useMemo(() => {\n if (!client || !account) return;\n\n const contractCaller = constructViemContractCaller(client, account);\n\n const SDKconfig = {\n apiURL,\n chainId,\n fetcher,\n contractCaller,\n };\n\n return constructPartialSDK(SDKconfig, constructAllLimitOrdersHandlers);\n }, [account, apiURL, client, chainId]);\n\n if (!sdk) return {};\n\n return {\n appVersion: sdk.version,\n chainId: sdk.chainId,\n apiURL: sdk.apiURL,\n sdk,\n };\n}\n\ntype ReadOnlyDeltaSDK = Prettify<\n GetDeltaOrdersFunctions &\n GetDeltaPriceFunctions &\n BuildDeltaOrderFunctions &\n BuildCrosschainOrderBridgeFunctions &\n PostDeltaOrderFunctions &\n GetBridgeInfoFunctions &\n GetMulticallHandlersFunctions &\n IsTokenSupportedInDeltaFunctions & { chainId: number }\n>;\n\nexport type DeltaSDK = Prettify<ReadOnlyDeltaSDK & SignDeltaOrderFunctions>;\n\ntype DeltaSDKCreateParams = SDKCreateParams & {\n client?: MinViemClient;\n};\n\nexport function useDeltaSDK({\n chainId,\n apiURL,\n account,\n client,\n}: DeltaSDKCreateParams & {\n account?: undefined;\n client?: undefined;\n}): ConstructedSDKOutput<ReadOnlyDeltaSDK>;\nexport function useDeltaSDK({\n chainId,\n apiURL,\n account,\n client,\n}: DeltaSDKCreateParams & {\n account: Address;\n client: MinViemClient;\n}): ConstructedSDKOutput<DeltaSDK>;\nexport function useDeltaSDK({\n chainId,\n apiURL,\n account,\n client,\n}: DeltaSDKCreateParams): ConstructedSDKOutput<DeltaSDK | ReadOnlyDeltaSDK>;\nexport function useDeltaSDK({\n chainId,\n apiURL = API_URL,\n account,\n client,\n}: DeltaSDKCreateParams): ConstructedSDKOutput<DeltaSDK | ReadOnlyDeltaSDK> {\n \"use no memo\";\n // react-compiler fails here and sdk is created anew\n\n const logger = useLogger(\"DeltaSDK\");\n\n const sdk = useMemo(() => {\n logger.log(\"init sdk\");\n const SDKconfig = {\n apiURL,\n chainId,\n fetcher,\n };\n\n if (!client || !account) {\n return constructPartialSDK(\n SDKconfig,\n constructGetDeltaOrders,\n constructGetDeltaPrice,\n constructBuildDeltaOrder,\n constructBuildCrosschainOrderBridge,\n constructPostDeltaOrder,\n constructGetBridgeInfo,\n constructGetMulticallHandlers,\n constructIsTokenSupportedInDelta\n );\n }\n\n const contractCaller = constructViemContractCaller(client, account);\n\n return constructPartialSDK(\n { ...SDKconfig, contractCaller },\n constructGetDeltaOrders,\n constructGetDeltaPrice,\n constructBuildDeltaOrder,\n constructBuildCrosschainOrderBridge,\n constructPostDeltaOrder,\n constructGetBridgeInfo,\n constructGetMulticallHandlers,\n constructIsTokenSupportedInDelta,\n constructSignDeltaOrder\n );\n }, [logger, apiURL, chainId, client, account]);\n\n return {\n appVersion: sdk.version,\n chainId: sdk.chainId,\n apiURL: sdk.apiURL,\n sdk,\n };\n}\n"],"names":["fetcher","constructAxiosFetcher","axios","useMarketSwapSDK","chainId","apiURL","API_URL","sdk","useMemo","SDKconfig","constructPartialSDK","constructGetRate","constructGetSpender","constructBuildTx","appVersion","version","useDeltaSDK","account","client","logger","useLogger","log","constructGetDeltaOrders","constructGetDeltaPrice","constructBuildDeltaOrder","constructBuildCrosschainOrderBridge","constructPostDeltaOrder","constructGetBridgeInfo","constructGetMulticallHandlers","constructIsTokenSupportedInDelta","contractCaller","constructViemContractCaller","constructSignDeltaOrder"],"mappings":";;;;;;AAyCA,MAAMA,OAAAA,GAAUC,sBAAsBC,KAAK,CAAA;AAmBpC,SAASC,gBAAAA,CAAiB;AAAA,EAC/BC,OAAAA;AAAAA,EACAC,MAAAA,GAASC;AACM,CAAA,EAAwC;AACvD,EAAA,aAAA;AAEA,EAAA,MAAMC,GAAAA,GAAMC,QAAQ,MAAM;AACxB,IAAA,MAAMC,SAAAA,GAAY;AAAA,MAChBJ,MAAAA;AAAAA,MACAD,OAAAA;AAAAA,MACAJ;AAAAA,KACF;AAEA,IAAA,OAAOU,mBAAAA,CACLD,SAAAA,EACAE,gBAAAA,EACAC,mBAAAA,EACAC,gBACF,CAAA;AAAA,GACF,EAAG,CAACR,MAAAA,EAAQD,OAAO,CAAC,CAAA;AAEpB,EAAA,OAAO;AAAA,IACLU,YAAYP,GAAAA,CAAIQ,OAAAA;AAAAA,IAChBX,SAASG,GAAAA,CAAIH,OAAAA;AAAAA,IACbC,QAAQE,GAAAA,CAAIF,MAAAA;AAAAA,IACZE;AAAAA,GACF;AACF;AA+GO,SAASS,WAAAA,CAAY;AAAA,EAC1BZ,OAAAA;AAAAA,EACAC,MAAAA,GAASC,OAAAA;AAAAA,EACTW,OAAAA;AAAAA,EACAC;AACoB,CAAA,EAAsD;AAC1E,EAAA,aAAA;AAGA,EAAA,MAAMC,MAAAA,GAASC,UAAU,UAAU,CAAA;AAEnC,EAAA,MAAMb,GAAAA,GAAMC,QAAQ,MAAM;AACxBW,IAAAA,MAAAA,CAAOE,IAAI,UAAU,CAAA;AACrB,IAAA,MAAMZ,SAAAA,GAAY;AAAA,MAChBJ,MAAAA;AAAAA,MACAD,OAAAA;AAAAA,MACAJ;AAAAA,KACF;AAEA,IAAA,IAAI,CAACkB,MAAAA,IAAU,CAACD,OAAAA,EAAS;AACvB,MAAA,OAAOP,mBAAAA,CACLD,WACAa,uBAAAA,EACAC,sBAAAA,EACAC,0BACAC,mCAAAA,EACAC,uBAAAA,EACAC,sBAAAA,EACAC,6BAAAA,EACAC,gCACF,CAAA;AAAA;AAGF,IAAA,MAAMC,cAAAA,GAAiBC,2BAAAA,CAA4Bb,MAAAA,EAAQD,OAAO,CAAA;AAElE,IAAA,OAAOP,mBAAAA,CACL;AAAA,MAAE,GAAGD,SAAAA;AAAAA,MAAWqB;AAAAA,KAAe,EAC/BR,yBACAC,sBAAAA,EACAC,wBAAAA,EACAC,qCACAC,uBAAAA,EACAC,sBAAAA,EACAC,6BAAAA,EACAC,gCAAAA,EACAG,uBACF,CAAA;AAAA,KACC,CAACb,MAAAA,EAAQd,QAAQD,OAAAA,EAASc,MAAAA,EAAQD,OAAO,CAAC,CAAA;AAE7C,EAAA,OAAO;AAAA,IACLH,YAAYP,GAAAA,CAAIQ,OAAAA;AAAAA,IAChBX,SAASG,GAAAA,CAAIH,OAAAA;AAAAA,IACbC,QAAQE,GAAAA,CAAIF,MAAAA;AAAAA,IACZE;AAAAA,GACF;AACF;;;;"}
@@ -1,3 +1,3 @@
1
- export declare const apiUrl = "https://api.paraswap.io";
1
+ export declare const API_URL = "https://api.paraswap.io";
2
2
  export declare const emptyArray: never[];
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/constants/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM,4BAA4B,CAAC;AAEhD,eAAO,MAAM,UAAU,EAAE,KAAK,EAAO,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/constants/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,4BAA4B,CAAC;AAEjD,eAAO,MAAM,UAAU,EAAE,KAAK,EAAO,CAAC"}
@@ -1,5 +1,5 @@
1
- const apiUrl = "https://api.paraswap.io";
1
+ const API_URL = "https://api.paraswap.io";
2
2
  const emptyArray = [];
3
3
 
4
- export { apiUrl, emptyArray };
4
+ export { API_URL, emptyArray };
5
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/lib/constants/index.ts"],"sourcesContent":["export const apiUrl = \"https://api.paraswap.io\";\n\nexport const emptyArray: never[] = [];\n"],"names":["apiUrl","emptyArray"],"mappings":"AAAO,MAAMA,MAAAA,GAAS;AAEf,MAAMC,aAAsB;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/lib/constants/index.ts"],"sourcesContent":["export const API_URL = \"https://api.paraswap.io\";\n\nexport const emptyArray: never[] = [];\n"],"names":["API_URL","emptyArray"],"mappings":"AAAO,MAAMA,OAAAA,GAAU;AAEhB,MAAMC,aAAsB;;;;"}
@@ -28,7 +28,7 @@ const privyConfig = {
28
28
  },
29
29
  // another option is to give an invalid ID,
30
30
  // but then it retries indefinitely
31
- walletConnectCloudProjectId: "c8f04a733607c84d1028e2823a66c17c",
31
+ walletConnectCloudProjectId: "9796e40630a6bea7605ac281b0deb939",
32
32
  // Privy doesn't accept const Chain[]
33
33
  supportedChains: chains
34
34
  // defaultChain: chains[0], @TODO set to App's selected chain
@@ -11,7 +11,7 @@ const connectors = [
11
11
  // safe() as CreateConnectorFn, // I don't know how this one works, maybe only inside Safe iframes?
12
12
  coinbaseWallet(),
13
13
  walletConnect({
14
- projectId: "c8f04a733607c84d1028e2823a66c17c"
14
+ projectId: "9796e40630a6bea7605ac281b0deb939"
15
15
  })
16
16
  // getPrivyWalletConnector(), // only CorssApp Privy connector is available, not our use case
17
17
  ];
package/dist/styles.css CHANGED
@@ -66,7 +66,7 @@
66
66
  }
67
67
  }
68
68
  }
69
- .velora-widget {
69
+ :root, :host {
70
70
  --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
71
71
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
72
72
  --color-red-800: oklch(44.4% .177 26.899);
@@ -1 +1 @@
1
- {"version":3,"file":"Configurator.d.ts","sourceRoot":"","sources":["../../src/test/Configurator.tsx"],"names":[],"mappings":"AAEA,OAAO,YAAY,CAAC;AA+NpB,eAAO,MAAM,YAAY,+CAiGxB,CAAC"}
1
+ {"version":3,"file":"Configurator.d.ts","sourceRoot":"","sources":["../../src/test/Configurator.tsx"],"names":[],"mappings":"AAEA,OAAO,YAAY,CAAC;AA2NpB,eAAO,MAAM,YAAY,+CA4FxB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"selectedTokenActionsAtom.d.ts","sourceRoot":"","sources":["../../../../src/widget/inputs/state/selectedTokenActionsAtom.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAQlD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAK/D,eAAO,MAAM,gBAAgB;;CAqE3B,CAAC;AAEH,eAAO,MAAM,mBAAmB;;CAoE/B,CAAC;AAEF,eAAO,MAAM,iBAAiB;;CAqB5B,CAAC;AAEH,eAAO,MAAM,0BAA0B,GAAI,SAAS,gBAAgB,SA8DnE,CAAC"}
1
+ {"version":3,"file":"selectedTokenActionsAtom.d.ts","sourceRoot":"","sources":["../../../../src/widget/inputs/state/selectedTokenActionsAtom.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAQlD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAK/D,eAAO,MAAM,gBAAgB;;CAqE3B,CAAC;AAEH,eAAO,MAAM,mBAAmB;;CAoE/B,CAAC;AAEF,eAAO,MAAM,iBAAiB;;CAkC5B,CAAC;AAEH,eAAO,MAAM,0BAA0B,GAAI,SAAS,gBAAgB,SA8DnE,CAAC"}
@@ -95,9 +95,20 @@ const selectTokenFromAtom = atom(null, async (get, set, newTokenFrom) => {
95
95
  const selectTokenToAtom = atom(null, (get, set, newTokenTo) => {
96
96
  const newTokenToNetwork = newTokenTo.network;
97
97
  const tokenFrom = get(tokenFromAtom);
98
+ const tokenTo = get(tokenToAtom);
98
99
  if (areTokensSame(newTokenTo, tokenFrom)) {
99
100
  const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(newTokenToNetwork);
100
- const newTokenFrom = areTokensSame(tokenFrom, defaultTokenFrom) ? defaultTokenTo : defaultTokenFrom;
101
+ const fromDefaults = areTokensSame(tokenFrom, defaultTokenFrom) ? defaultTokenTo : defaultTokenFrom;
102
+ const wasCrosschain = tokenTo && tokenFrom.network !== tokenTo?.network;
103
+ const newTokenFrom = wasCrosschain ? (
104
+ // We cannot flip the tokens if switching from the crosschain, because if we do, we will end up with tokenFrom network different from app chainId.
105
+ // Switching app chainId when selecting tokenTo is not what we want, because we cannot dictate the main network when selecting tokenTo.
106
+ // Maybe user wants to trade singlechain but we are forcing crosschain.
107
+ fromDefaults
108
+ ) : (
109
+ // Otherwise, we can flip the tokens, or pick from defaults
110
+ tokenTo ?? fromDefaults
111
+ );
101
112
  set(tokenFromAtom, newTokenFrom);
102
113
  }
103
114
  if (tokenFrom.network !== newTokenToNetwork) {
@@ -1 +1 @@
1
- {"version":3,"file":"selectedTokenActionsAtom.js","sources":["../../../../src/widget/inputs/state/selectedTokenActionsAtom.ts"],"sourcesContent":["import { atom, getDefaultStore } from \"jotai\";\nimport { switchChain } from \"@wagmi/core\";\n\nimport { tokenToAtom, tokenFromAtom } from \"./selectedTokenAtom\";\nimport { wagmiConfig } from \"@/lib/web3/wagmi/config\";\n\nimport type { Token } from \"@/tokens/state/types\";\nimport { areTokensSame } from \"@/tokens/utils/areTokensSame\";\nimport { pickDefaultTokenPair } from \"@/tokens/defaultTokens\";\nimport {\n findFirstTokenFromAcross,\n isAcrossAvailable,\n isTokenFromAcross,\n} from \"@/widget/across/utils\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { deltaParamAtom } from \"@/components/widget/TradeParameters/state/deltaParamAtom\";\nimport { widgetConfigAtom } from \"@/widget/state/configAtom\";\nimport { setSwapModeAtom } from \"@/components/widget/SwapModeSwitcher/state/swapModeActionsAtom\";\n\nexport const switchTokensAtom = atom(null, async (get, set) => {\n const tokenTo = get(tokenToAtom);\n\n if (!tokenTo) return;\n\n const tokenFrom = get(tokenFromAtom);\n\n // switch a token from a different chain?\n if (tokenFrom.network !== tokenTo.network) {\n // await for chain switch first\n await switchChain(wagmiConfig, {\n chainId: tokenTo.network,\n });\n }\n\n // then set the tokenFrom\n set(tokenFromAtom, tokenTo);\n\n const deltaEnabledInSettings = get(deltaParamAtom);\n const deltaEnabledInConfig = get(widgetConfigAtom).enableDelta;\n\n const crosschainPossible =\n deltaEnabledInSettings &&\n deltaEnabledInConfig &&\n isAcrossAvailable({\n chainIdFrom: tokenTo.network,\n chainIdTo: tokenFrom.network,\n });\n\n if (crosschainPossible) {\n const tokenFromIsFromAcross = isTokenFromAcross({\n token: tokenFrom,\n fromChainId: tokenFrom.network,\n toChainId: tokenTo.network,\n });\n\n if (tokenFromIsFromAcross && !areTokensSame(tokenFrom, tokenTo)) {\n // can use tokenFrom as tokenTo because it's an Across token\n set(tokenToAtom, tokenFrom);\n } else {\n // otherwise, we either set tokenTo to the first Across token,\n // or reset tokenTo\n const maybeAcrossToken = findFirstTokenFromAcross({\n fromChainId: tokenTo.network,\n toChainId: tokenFrom.network,\n });\n set(tokenToAtom, maybeAcrossToken);\n }\n } else {\n const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(\n tokenTo.network\n );\n\n if (tokenTo.network !== tokenFrom.network) {\n // if cross-chain, then we can't use tokenFrom as tokenTo, so pick from defaults\n const newTokenTo = areTokensSame(tokenFrom, defaultTokenTo)\n ? defaultTokenFrom\n : defaultTokenTo;\n\n set(tokenToAtom, newTokenTo);\n } else {\n // otherwise, we set either tokenFrom or defaultTokenTo\n const newTokenTo = areTokensSame(tokenFrom, defaultTokenTo)\n ? defaultTokenTo\n : tokenFrom;\n\n set(tokenToAtom, newTokenTo);\n }\n }\n});\n\nexport const selectTokenFromAtom = atom(\n null,\n async (get, set, newTokenFrom: Token) => {\n const tokenFrom = get(tokenFromAtom);\n const tokenTo = get(tokenToAtom);\n\n // selecting a token from a different chain?\n if (newTokenFrom.network !== wagmiConfig.state.chainId) {\n // await for chain switch first\n await switchChain(wagmiConfig, {\n chainId: newTokenFrom.network,\n });\n }\n\n // then set the tokenFrom\n set(tokenFromAtom, newTokenFrom);\n\n if (!tokenTo) return;\n\n const deltaEnabledInSettings = get(deltaParamAtom);\n const deltaEnabledInConfig = get(widgetConfigAtom).enableDelta;\n\n const crosschainPossible =\n deltaEnabledInSettings &&\n deltaEnabledInConfig &&\n isAcrossAvailable({\n chainIdFrom: tokenTo.network,\n chainIdTo: newTokenFrom.network,\n });\n\n if (crosschainPossible) {\n const isTokenToFromAcross = isTokenFromAcross({\n token: tokenTo,\n fromChainId: newTokenFrom.network,\n toChainId: tokenTo.network,\n });\n\n if (!isTokenToFromAcross) {\n // set the token from across as tokenTo,\n // or reset tokenTo if token not found\n const maybeAcrossToken = findFirstTokenFromAcross({\n fromChainId: newTokenFrom.network,\n toChainId: tokenTo.network,\n });\n\n set(tokenToAtom, maybeAcrossToken);\n }\n } else {\n const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(\n newTokenFrom.network\n );\n\n // cross-chain not possible between new chainFrom and chainTo,\n // so need to reset tokenTo to default\n if (newTokenFrom.network !== tokenTo.network) {\n const newTokenTo = areTokensSame(newTokenFrom, defaultTokenTo)\n ? defaultTokenFrom\n : defaultTokenTo;\n set(tokenToAtom, newTokenTo);\n } else {\n // or simply flip the tokens if they are from the same chain\n if (areTokensSame(newTokenFrom, tokenTo)) {\n set(tokenToAtom, tokenFrom);\n }\n // otherwise do nothing, tokenTo is already on the same chain and different from newTokenFrom\n }\n }\n }\n);\n\nexport const selectTokenToAtom = atom(null, (get, set, newTokenTo: Token) => {\n const newTokenToNetwork = newTokenTo.network;\n\n const tokenFrom = get(tokenFromAtom);\n\n if (areTokensSame(newTokenTo, tokenFrom)) {\n const [defaultTokenFrom, defaultTokenTo] =\n pickDefaultTokenPair(newTokenToNetwork);\n\n const newTokenFrom = areTokensSame(tokenFrom, defaultTokenFrom)\n ? defaultTokenTo\n : defaultTokenFrom;\n set(tokenFromAtom, newTokenFrom);\n }\n\n // crosschain? set SwapMode to Delta\n if (tokenFrom.network !== newTokenToNetwork) {\n set(setSwapModeAtom, \"delta\");\n }\n\n set(tokenToAtom, newTokenTo);\n});\n\nexport const syncTokensAfterChainSwitch = (chainId: SupportedChainId) => {\n const jotaiStore = getDefaultStore();\n\n const tokenFrom = jotaiStore.get(tokenFromAtom);\n const tokenTo = jotaiStore.get(tokenToAtom);\n\n // chains are the same? do nothing\n if (tokenFrom.network === chainId) return;\n\n // get default tokens for the new chain\n const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(chainId);\n\n // reassignment for clarity\n const newTokenFrom = defaultTokenFrom;\n\n // update tokenFrom\n jotaiStore.set(tokenFromAtom, newTokenFrom);\n\n // toChainId derives from tokenTo.network, if no tokenTo - do nothing\n if (!tokenTo) return;\n\n const deltaEnabledInSettings = jotaiStore.get(deltaParamAtom);\n const deltaEnabledInConfig = jotaiStore.get(widgetConfigAtom).enableDelta;\n\n const crosschainPossible =\n deltaEnabledInSettings &&\n deltaEnabledInConfig &&\n isAcrossAvailable({\n chainIdFrom: chainId,\n chainIdTo: tokenTo.network,\n });\n\n if (crosschainPossible) {\n const isTokenToFromAcross = isTokenFromAcross({\n token: tokenTo,\n fromChainId: chainId,\n toChainId: tokenTo.network,\n });\n\n if (!isTokenToFromAcross) {\n // set the token from across as tokenTo,\n // or reset tokenTo if token not found\n const maybeAcrossToken = findFirstTokenFromAcross({\n fromChainId: chainId,\n toChainId: tokenTo.network,\n });\n\n jotaiStore.set(tokenToAtom, maybeAcrossToken);\n }\n\n jotaiStore.set(setSwapModeAtom, \"delta\");\n } else {\n if (\n // if tokenFrom that we just set is the same as tokenTo,\n areTokensSame(newTokenFrom, tokenTo) ||\n // or if chains are different,\n newTokenFrom.network !== tokenTo.network\n ) {\n // then set defaultTokenTo for the new chain\n jotaiStore.set(tokenToAtom, defaultTokenTo);\n }\n }\n};\n"],"names":["switchTokensAtom","atom","get","set","tokenTo","tokenToAtom","tokenFrom","tokenFromAtom","network","switchChain","wagmiConfig","chainId","deltaEnabledInSettings","deltaParamAtom","deltaEnabledInConfig","widgetConfigAtom","enableDelta","crosschainPossible","isAcrossAvailable","chainIdFrom","chainIdTo","tokenFromIsFromAcross","isTokenFromAcross","token","fromChainId","toChainId","areTokensSame","maybeAcrossToken","findFirstTokenFromAcross","defaultTokenFrom","defaultTokenTo","pickDefaultTokenPair","newTokenTo","selectTokenFromAtom","newTokenFrom","state","isTokenToFromAcross","selectTokenToAtom","newTokenToNetwork","setSwapModeAtom","syncTokensAfterChainSwitch","jotaiStore","getDefaultStore"],"mappings":"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"}
1
+ {"version":3,"file":"selectedTokenActionsAtom.js","sources":["../../../../src/widget/inputs/state/selectedTokenActionsAtom.ts"],"sourcesContent":["import { atom, getDefaultStore } from \"jotai\";\nimport { switchChain } from \"@wagmi/core\";\n\nimport { tokenToAtom, tokenFromAtom } from \"./selectedTokenAtom\";\nimport { wagmiConfig } from \"@/lib/web3/wagmi/config\";\n\nimport type { Token } from \"@/tokens/state/types\";\nimport { areTokensSame } from \"@/tokens/utils/areTokensSame\";\nimport { pickDefaultTokenPair } from \"@/tokens/defaultTokens\";\nimport {\n findFirstTokenFromAcross,\n isAcrossAvailable,\n isTokenFromAcross,\n} from \"@/widget/across/utils\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { deltaParamAtom } from \"@/components/widget/TradeParameters/state/deltaParamAtom\";\nimport { widgetConfigAtom } from \"@/widget/state/configAtom\";\nimport { setSwapModeAtom } from \"@/components/widget/SwapModeSwitcher/state/swapModeActionsAtom\";\n\nexport const switchTokensAtom = atom(null, async (get, set) => {\n const tokenTo = get(tokenToAtom);\n\n if (!tokenTo) return;\n\n const tokenFrom = get(tokenFromAtom);\n\n // switch a token from a different chain?\n if (tokenFrom.network !== tokenTo.network) {\n // await for chain switch first\n await switchChain(wagmiConfig, {\n chainId: tokenTo.network,\n });\n }\n\n // then set the tokenFrom\n set(tokenFromAtom, tokenTo);\n\n const deltaEnabledInSettings = get(deltaParamAtom);\n const deltaEnabledInConfig = get(widgetConfigAtom).enableDelta;\n\n const crosschainPossible =\n deltaEnabledInSettings &&\n deltaEnabledInConfig &&\n isAcrossAvailable({\n chainIdFrom: tokenTo.network,\n chainIdTo: tokenFrom.network,\n });\n\n if (crosschainPossible) {\n const tokenFromIsFromAcross = isTokenFromAcross({\n token: tokenFrom,\n fromChainId: tokenFrom.network,\n toChainId: tokenTo.network,\n });\n\n if (tokenFromIsFromAcross && !areTokensSame(tokenFrom, tokenTo)) {\n // can use tokenFrom as tokenTo because it's an Across token\n set(tokenToAtom, tokenFrom);\n } else {\n // otherwise, we either set tokenTo to the first Across token,\n // or reset tokenTo\n const maybeAcrossToken = findFirstTokenFromAcross({\n fromChainId: tokenTo.network,\n toChainId: tokenFrom.network,\n });\n set(tokenToAtom, maybeAcrossToken);\n }\n } else {\n const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(\n tokenTo.network\n );\n\n if (tokenTo.network !== tokenFrom.network) {\n // if cross-chain, then we can't use tokenFrom as tokenTo, so pick from defaults\n const newTokenTo = areTokensSame(tokenFrom, defaultTokenTo)\n ? defaultTokenFrom\n : defaultTokenTo;\n\n set(tokenToAtom, newTokenTo);\n } else {\n // otherwise, we set either tokenFrom or defaultTokenTo\n const newTokenTo = areTokensSame(tokenFrom, defaultTokenTo)\n ? defaultTokenTo\n : tokenFrom;\n\n set(tokenToAtom, newTokenTo);\n }\n }\n});\n\nexport const selectTokenFromAtom = atom(\n null,\n async (get, set, newTokenFrom: Token) => {\n const tokenFrom = get(tokenFromAtom);\n const tokenTo = get(tokenToAtom);\n\n // selecting a token from a different chain?\n if (newTokenFrom.network !== wagmiConfig.state.chainId) {\n // await for chain switch first\n await switchChain(wagmiConfig, {\n chainId: newTokenFrom.network,\n });\n }\n\n // then set the tokenFrom\n set(tokenFromAtom, newTokenFrom);\n\n if (!tokenTo) return;\n\n const deltaEnabledInSettings = get(deltaParamAtom);\n const deltaEnabledInConfig = get(widgetConfigAtom).enableDelta;\n\n const crosschainPossible =\n deltaEnabledInSettings &&\n deltaEnabledInConfig &&\n isAcrossAvailable({\n chainIdFrom: tokenTo.network,\n chainIdTo: newTokenFrom.network,\n });\n\n if (crosschainPossible) {\n const isTokenToFromAcross = isTokenFromAcross({\n token: tokenTo,\n fromChainId: newTokenFrom.network,\n toChainId: tokenTo.network,\n });\n\n if (!isTokenToFromAcross) {\n // set the token from across as tokenTo,\n // or reset tokenTo if token not found\n const maybeAcrossToken = findFirstTokenFromAcross({\n fromChainId: newTokenFrom.network,\n toChainId: tokenTo.network,\n });\n\n set(tokenToAtom, maybeAcrossToken);\n }\n } else {\n const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(\n newTokenFrom.network\n );\n\n // cross-chain not possible between new chainFrom and chainTo,\n // so need to reset tokenTo to default\n if (newTokenFrom.network !== tokenTo.network) {\n const newTokenTo = areTokensSame(newTokenFrom, defaultTokenTo)\n ? defaultTokenFrom\n : defaultTokenTo;\n set(tokenToAtom, newTokenTo);\n } else {\n // or simply flip the tokens if they are from the same chain\n if (areTokensSame(newTokenFrom, tokenTo)) {\n set(tokenToAtom, tokenFrom);\n }\n // otherwise do nothing, tokenTo is already on the same chain and different from newTokenFrom\n }\n }\n }\n);\n\nexport const selectTokenToAtom = atom(null, (get, set, newTokenTo: Token) => {\n const newTokenToNetwork = newTokenTo.network;\n\n const tokenFrom = get(tokenFromAtom);\n const tokenTo = get(tokenToAtom);\n\n if (areTokensSame(newTokenTo, tokenFrom)) {\n const [defaultTokenFrom, defaultTokenTo] =\n pickDefaultTokenPair(newTokenToNetwork);\n\n const fromDefaults = areTokensSame(tokenFrom, defaultTokenFrom)\n ? defaultTokenTo\n : defaultTokenFrom;\n\n // Will be true if crosschain tokens were selected\n const wasCrosschain = tokenTo && tokenFrom.network !== tokenTo?.network;\n\n const newTokenFrom = wasCrosschain\n ? // We cannot flip the tokens if switching from the crosschain, because if we do, we will end up with tokenFrom network different from app chainId.\n // Switching app chainId when selecting tokenTo is not what we want, because we cannot dictate the main network when selecting tokenTo.\n // Maybe user wants to trade singlechain but we are forcing crosschain.\n fromDefaults\n : // Otherwise, we can flip the tokens, or pick from defaults\n (tokenTo ?? fromDefaults);\n\n set(tokenFromAtom, newTokenFrom);\n }\n\n // crosschain? set SwapMode to Delta\n if (tokenFrom.network !== newTokenToNetwork) {\n set(setSwapModeAtom, \"delta\");\n }\n\n set(tokenToAtom, newTokenTo);\n});\n\nexport const syncTokensAfterChainSwitch = (chainId: SupportedChainId) => {\n const jotaiStore = getDefaultStore();\n\n const tokenFrom = jotaiStore.get(tokenFromAtom);\n const tokenTo = jotaiStore.get(tokenToAtom);\n\n // chains are the same? do nothing\n if (tokenFrom.network === chainId) return;\n\n // get default tokens for the new chain\n const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(chainId);\n\n // reassignment for clarity\n const newTokenFrom = defaultTokenFrom;\n\n // update tokenFrom\n jotaiStore.set(tokenFromAtom, newTokenFrom);\n\n // toChainId derives from tokenTo.network, if no tokenTo - do nothing\n if (!tokenTo) return;\n\n const deltaEnabledInSettings = jotaiStore.get(deltaParamAtom);\n const deltaEnabledInConfig = jotaiStore.get(widgetConfigAtom).enableDelta;\n\n const crosschainPossible =\n deltaEnabledInSettings &&\n deltaEnabledInConfig &&\n isAcrossAvailable({\n chainIdFrom: chainId,\n chainIdTo: tokenTo.network,\n });\n\n if (crosschainPossible) {\n const isTokenToFromAcross = isTokenFromAcross({\n token: tokenTo,\n fromChainId: chainId,\n toChainId: tokenTo.network,\n });\n\n if (!isTokenToFromAcross) {\n // set the token from across as tokenTo,\n // or reset tokenTo if token not found\n const maybeAcrossToken = findFirstTokenFromAcross({\n fromChainId: chainId,\n toChainId: tokenTo.network,\n });\n\n jotaiStore.set(tokenToAtom, maybeAcrossToken);\n }\n\n jotaiStore.set(setSwapModeAtom, \"delta\");\n } else {\n if (\n // if tokenFrom that we just set is the same as tokenTo,\n areTokensSame(newTokenFrom, tokenTo) ||\n // or if chains are different,\n newTokenFrom.network !== tokenTo.network\n ) {\n // then set defaultTokenTo for the new chain\n jotaiStore.set(tokenToAtom, defaultTokenTo);\n }\n }\n};\n"],"names":["switchTokensAtom","atom","get","set","tokenTo","tokenToAtom","tokenFrom","tokenFromAtom","network","switchChain","wagmiConfig","chainId","deltaEnabledInSettings","deltaParamAtom","deltaEnabledInConfig","widgetConfigAtom","enableDelta","crosschainPossible","isAcrossAvailable","chainIdFrom","chainIdTo","tokenFromIsFromAcross","isTokenFromAcross","token","fromChainId","toChainId","areTokensSame","maybeAcrossToken","findFirstTokenFromAcross","defaultTokenFrom","defaultTokenTo","pickDefaultTokenPair","newTokenTo","selectTokenFromAtom","newTokenFrom","state","isTokenToFromAcross","selectTokenToAtom","newTokenToNetwork","fromDefaults","wasCrosschain","setSwapModeAtom","syncTokensAfterChainSwitch","jotaiStore","getDefaultStore"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"configActionsAtom.d.ts","sourceRoot":"","sources":["../../../src/widget/state/configActionsAtom.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAG7C,eAAO,MAAM,mBAAmB;;CAuB/B,CAAC"}
1
+ {"version":3,"file":"configActionsAtom.d.ts","sourceRoot":"","sources":["../../../src/widget/state/configActionsAtom.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAI7C,eAAO,MAAM,mBAAmB;;CAyB/B,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { atom } from 'jotai';
2
2
  import { widgetConfigAtom } from './configAtom.js';
3
+ import { setSwapModeAtom } from '../../components/widget/SwapModeSwitcher/state/swapModeActionsAtom.js';
3
4
 
4
5
  const setWidgetConfigAtom = atom(null, (get, set, config) => {
5
6
  const currentConfig = get(widgetConfigAtom);
@@ -18,6 +19,7 @@ const setWidgetConfigAtom = atom(null, (get, set, config) => {
18
19
  debug,
19
20
  widgetMode
20
21
  });
22
+ set(setSwapModeAtom, enableDelta ? "delta" : "market");
21
23
  });
22
24
 
23
25
  export { setWidgetConfigAtom };
@@ -1 +1 @@
1
- {"version":3,"file":"configActionsAtom.js","sources":["../../../src/widget/state/configActionsAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport type { WidgetConfig } from \"../types\";\nimport { widgetConfigAtom } from \"./configAtom\";\n\nexport const setWidgetConfigAtom = atom(\n null,\n (get, set, config?: WidgetConfig) => {\n const currentConfig = get(widgetConfigAtom);\n\n // set either new value or stick with the current one\n const enableDelta = config?.enableDelta ?? currentConfig.enableDelta;\n const theme = config?.theme ?? currentConfig.theme;\n const privyAppId = config?.privyAppId ?? currentConfig.privyAppId;\n const privyClientId = config?.privyClientId ?? currentConfig.privyClientId;\n const debug = config?.debug ?? currentConfig.debug;\n const widgetMode = config?.widgetMode ?? currentConfig.widgetMode;\n\n set(widgetConfigAtom, {\n theme,\n enableDelta,\n partner: config?.partner,\n privyAppId,\n privyClientId,\n debug,\n widgetMode,\n });\n }\n);\n"],"names":["setWidgetConfigAtom","atom","get","set","config","currentConfig","widgetConfigAtom","enableDelta","theme","privyAppId","privyClientId","debug","widgetMode","partner"],"mappings":";;;AAIO,MAAMA,sBAAsBC,IAAAA,CACjC,IAAA,EACA,CAACC,GAAAA,EAAKC,KAAKC,MAAAA,KAA0B;AACnC,EAAA,MAAMC,aAAAA,GAAgBH,IAAII,gBAAgB,CAAA;AAG1C,EAAA,MAAMC,WAAAA,GAAcH,MAAAA,EAAQG,WAAAA,IAAeF,aAAAA,CAAcE,WAAAA;AACzD,EAAA,MAAMC,KAAAA,GAAQJ,MAAAA,EAAQI,KAAAA,IAASH,aAAAA,CAAcG,KAAAA;AAC7C,EAAA,MAAMC,UAAAA,GAAaL,MAAAA,EAAQK,UAAAA,IAAcJ,aAAAA,CAAcI,UAAAA;AACvD,EAAA,MAAMC,aAAAA,GAAgBN,MAAAA,EAAQM,aAAAA,IAAiBL,aAAAA,CAAcK,aAAAA;AAC7D,EAAA,MAAMC,KAAAA,GAAQP,MAAAA,EAAQO,KAAAA,IAASN,aAAAA,CAAcM,KAAAA;AAC7C,EAAA,MAAMC,UAAAA,GAAaR,MAAAA,EAAQQ,UAAAA,IAAcP,aAAAA,CAAcO,UAAAA;AAEvDT,EAAAA,GAAAA,CAAIG,gBAAAA,EAAkB;AAAA,IACpBE,KAAAA;AAAAA,IACAD,WAAAA;AAAAA,IACAM,SAAST,MAAAA,EAAQS,OAAAA;AAAAA,IACjBJ,UAAAA;AAAAA,IACAC,aAAAA;AAAAA,IACAC,KAAAA;AAAAA,IACAC;AAAAA,GACD,CAAA;AACH,CACF;;;;"}
1
+ {"version":3,"file":"configActionsAtom.js","sources":["../../../src/widget/state/configActionsAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport type { WidgetConfig } from \"../types\";\nimport { widgetConfigAtom } from \"./configAtom\";\nimport { setSwapModeAtom } from \"@/components/widget/SwapModeSwitcher/state/swapModeActionsAtom\";\n\nexport const setWidgetConfigAtom = atom(\n null,\n (get, set, config?: WidgetConfig) => {\n const currentConfig = get(widgetConfigAtom);\n\n // set either new value or stick with the current one\n const enableDelta = config?.enableDelta ?? currentConfig.enableDelta;\n const theme = config?.theme ?? currentConfig.theme;\n const privyAppId = config?.privyAppId ?? currentConfig.privyAppId;\n const privyClientId = config?.privyClientId ?? currentConfig.privyClientId;\n const debug = config?.debug ?? currentConfig.debug;\n const widgetMode = config?.widgetMode ?? currentConfig.widgetMode;\n\n set(widgetConfigAtom, {\n theme,\n enableDelta,\n partner: config?.partner,\n privyAppId,\n privyClientId,\n debug,\n widgetMode,\n });\n\n set(setSwapModeAtom, enableDelta ? \"delta\" : \"market\");\n }\n);\n"],"names":["setWidgetConfigAtom","atom","get","set","config","currentConfig","widgetConfigAtom","enableDelta","theme","privyAppId","privyClientId","debug","widgetMode","partner","setSwapModeAtom"],"mappings":";;;;AAKO,MAAMA,sBAAsBC,IAAAA,CACjC,IAAA,EACA,CAACC,GAAAA,EAAKC,KAAKC,MAAAA,KAA0B;AACnC,EAAA,MAAMC,aAAAA,GAAgBH,IAAII,gBAAgB,CAAA;AAG1C,EAAA,MAAMC,WAAAA,GAAcH,MAAAA,EAAQG,WAAAA,IAAeF,aAAAA,CAAcE,WAAAA;AACzD,EAAA,MAAMC,KAAAA,GAAQJ,MAAAA,EAAQI,KAAAA,IAASH,aAAAA,CAAcG,KAAAA;AAC7C,EAAA,MAAMC,UAAAA,GAAaL,MAAAA,EAAQK,UAAAA,IAAcJ,aAAAA,CAAcI,UAAAA;AACvD,EAAA,MAAMC,aAAAA,GAAgBN,MAAAA,EAAQM,aAAAA,IAAiBL,aAAAA,CAAcK,aAAAA;AAC7D,EAAA,MAAMC,KAAAA,GAAQP,MAAAA,EAAQO,KAAAA,IAASN,aAAAA,CAAcM,KAAAA;AAC7C,EAAA,MAAMC,UAAAA,GAAaR,MAAAA,EAAQQ,UAAAA,IAAcP,aAAAA,CAAcO,UAAAA;AAEvDT,EAAAA,GAAAA,CAAIG,gBAAAA,EAAkB;AAAA,IACpBE,KAAAA;AAAAA,IACAD,WAAAA;AAAAA,IACAM,SAAST,MAAAA,EAAQS,OAAAA;AAAAA,IACjBJ,UAAAA;AAAAA,IACAC,aAAAA;AAAAA,IACAC,KAAAA;AAAAA,IACAC;AAAAA,GACD,CAAA;AAEDT,EAAAA,GAAAA,CAAIW,eAAAA,EAAiBP,WAAAA,GAAc,OAAA,GAAU,QAAQ,CAAA;AACvD,CACF;;;;"}
@@ -1,7 +1,8 @@
1
+ import { EIP1193Provider } from 'viem';
1
2
  export type WidgetTheme = "light" | "dark";
2
3
  export interface WidgetProps {
3
4
  config?: WidgetConfig;
4
- provider?: EIP1193ProviderLax;
5
+ provider?: EIP1193Provider;
5
6
  }
6
7
  /** Configuration for the widget. */
7
8
  export interface WidgetConfig {
@@ -20,14 +21,4 @@ export interface WidgetConfig {
20
21
  /** Widget mode - "dapp" for embedded in dapp, "standalone" for standalone widget. */
21
22
  widgetMode?: "dapp" | "standalone";
22
23
  }
23
- interface RequestArguments {
24
- readonly method: any;
25
- readonly params?: any;
26
- }
27
- export type EIP1193ProviderLax = {
28
- request: (args: RequestArguments) => Promise<any>;
29
- on: (event: any, callback: (arg: unknown) => void) => void;
30
- removeListener: (event: any, callback: (arg: unknown) => void) => void;
31
- };
32
- export {};
33
24
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/widget/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,MAAM,CAAC;AAE3C,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,QAAQ,CAAC,EAAE,kBAAkB,CAAC;CAC/B;AAED,qCAAqC;AACrC,MAAM,WAAW,YAAY;IAC3B,mDAAmD;IACnD,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,wEAAwE;IACxE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iCAAiC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oDAAoD;IACpD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0EAA0E;IAC1E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kEAAkE;IAClE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,qFAAqF;IACrF,UAAU,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC;CACpC;AAGD,UAAU,gBAAgB;IACxB,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC;IACrB,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC;CACvB;AAOD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAClD,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,KAAK,IAAI,CAAC;IAC3D,cAAc,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,KAAK,IAAI,CAAC;CACxE,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/widget/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAE5C,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,MAAM,CAAC;AAE3C,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC5B;AAED,qCAAqC;AACrC,MAAM,WAAW,YAAY;IAC3B,mDAAmD;IACnD,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,wEAAwE;IACxE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iCAAiC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oDAAoD;IACpD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0EAA0E;IAC1E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kEAAkE;IAClE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,qFAAqF;IACrF,UAAU,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC;CACpC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@velora-dex/widget",
3
- "version": "0.0.18",
3
+ "version": "0.0.19",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "files": [
@@ -1,2 +0,0 @@
1
- export declare function TestButton(): import("react/jsx-runtime").JSX.Element;
2
- //# sourceMappingURL=TestButton.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TestButton.d.ts","sourceRoot":"","sources":["../../src/test/TestButton.tsx"],"names":[],"mappings":"AAGA,wBAAgB,UAAU,4CAQzB"}
@@ -1,5 +0,0 @@
1
- /**
2
- * Demo file to showcase the enhanced logger with semantic coloring
3
- */
4
- export {};
5
- //# sourceMappingURL=logger-demo.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logger-demo.d.ts","sourceRoot":"","sources":["../../src/test/logger-demo.ts"],"names":[],"mappings":"AAAA;;GAEG"}