@velora-dex/widget 0.2.3 → 0.2.5-dev.0
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.
- package/dist/components/web3/ConnectedWallet/ConnectedWallet.js +7 -7
- package/dist/components/web3/ConnectedWallet/ConnectedWallet.js.map +1 -1
- package/dist/components/widget/DexesList/DexItem.d.ts.map +1 -1
- package/dist/components/widget/DexesList/DexItem.js +57 -62
- package/dist/components/widget/DexesList/DexItem.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/tokens.js +6 -6
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/tokens.js.map +1 -1
- package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.d.ts.map +1 -1
- package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.js +0 -5
- package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/utils.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/utils.js +4 -2
- package/dist/components/widget/TradeOverview/TradeComplete/utils.js.map +1 -1
- package/dist/components/widget/WrapEth/hooks/useWrapEthProps.d.ts.map +1 -1
- package/dist/components/widget/WrapEth/hooks/useWrapEthProps.js +46 -34
- package/dist/components/widget/WrapEth/hooks/useWrapEthProps.js.map +1 -1
- package/dist/configurator/Configurator.d.ts.map +1 -1
- package/dist/core/Updaters.d.ts.map +1 -1
- package/dist/core/Updaters.js +2 -0
- package/dist/core/Updaters.js.map +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +101 -93
- package/dist/core/index.js.map +1 -1
- package/dist/core/inputs/hooks/useTokenFromInputProps.d.ts.map +1 -1
- package/dist/core/inputs/hooks/useTokenFromInputProps.js +25 -16
- package/dist/core/inputs/hooks/useTokenFromInputProps.js.map +1 -1
- package/dist/core/inputs/hooks/useTokenToInputProps.d.ts.map +1 -1
- package/dist/core/inputs/hooks/useTokenToInputProps.js +9 -12
- package/dist/core/inputs/hooks/useTokenToInputProps.js.map +1 -1
- package/dist/core/inputs/state/common.d.ts +2 -2
- package/dist/core/inputs/state/selectedTokenActionsAtom.d.ts.map +1 -1
- package/dist/core/inputs/state/selectedTokenActionsAtom.js +34 -25
- package/dist/core/inputs/state/selectedTokenActionsAtom.js.map +1 -1
- package/dist/core/inputs/state/selectedTokenAtom.d.ts +2 -2
- package/dist/core/inputs/state/selectedTokenAtom.d.ts.map +1 -1
- package/dist/core/inputs/state/selectedTokenAtom.js +9 -2
- package/dist/core/inputs/state/selectedTokenAtom.js.map +1 -1
- package/dist/core/inputs/state/types.d.ts.map +1 -1
- package/dist/core/limit/useLimitRate.js +3 -1
- package/dist/core/limit/useLimitRate.js.map +1 -1
- package/dist/core/state/configActionsAtom.d.ts.map +1 -1
- package/dist/core/state/configActionsAtom.js +3 -1
- package/dist/core/state/configActionsAtom.js.map +1 -1
- package/dist/core/state/configAtom.d.ts +4 -2
- package/dist/core/state/configAtom.d.ts.map +1 -1
- package/dist/core/state/configAtom.js +7 -3
- package/dist/core/state/configAtom.js.map +1 -1
- package/dist/core/state/widgetEventsAtom.d.ts.map +1 -1
- package/dist/core/state/widgetEventsAtom.js +4 -4
- package/dist/core/state/widgetEventsAtom.js.map +1 -1
- package/dist/core/swapDetails/maxToPay.d.ts +11 -0
- package/dist/core/swapDetails/maxToPay.d.ts.map +1 -0
- package/dist/core/swapDetails/maxToPay.js +41 -0
- package/dist/core/swapDetails/maxToPay.js.map +1 -0
- package/dist/core/swapDetails/useSwapDetailsListProps.d.ts.map +1 -1
- package/dist/core/swapDetails/useSwapDetailsListProps.js +9 -2
- package/dist/core/swapDetails/useSwapDetailsListProps.js.map +1 -1
- package/dist/core/swapDetails/youGet.d.ts.map +1 -1
- package/dist/core/swapDetails/youGet.js.map +1 -1
- package/dist/core/types.d.ts +6 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/events/effects/price.js +3 -3
- package/dist/events/effects/price.js.map +1 -1
- package/dist/events/effects/swapMode.js +2 -2
- package/dist/events/effects/swapMode.js.map +1 -1
- package/dist/events/hooks/useOnPriceUpdates.d.ts +2 -0
- package/dist/events/hooks/useOnPriceUpdates.d.ts.map +1 -0
- package/dist/events/hooks/useOnPriceUpdates.js +104 -0
- package/dist/events/hooks/useOnPriceUpdates.js.map +1 -0
- package/dist/events/types/priceChange.d.ts +12 -4
- package/dist/events/types/priceChange.d.ts.map +1 -1
- package/dist/hooks/gas/useGasPrices.d.ts.map +1 -1
- package/dist/hooks/gas/useGasPrices.js +2 -2
- package/dist/hooks/gas/useGasPrices.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts +33 -4
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js +98 -29
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/utils.d.ts +3 -0
- package/dist/hooks/swap/prices/delta/queries/utils.d.ts.map +1 -0
- package/dist/hooks/swap/prices/delta/queries/utils.js +9 -0
- package/dist/hooks/swap/prices/delta/queries/utils.js.map +1 -0
- package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.d.ts +35 -2
- package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.d.ts.map +1 -1
- package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js +102 -98
- package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js.map +1 -1
- package/dist/hooks/swap/prices/useSwapPrices.d.ts +8 -0
- package/dist/hooks/swap/prices/useSwapPrices.d.ts.map +1 -1
- package/dist/hooks/swap/prices/useSwapPrices.js +234 -99
- package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +13 -20
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useMarketFlow.js +1 -1
- package/dist/hooks/swap/tradeFlow/useMarketFlow.js.map +1 -1
- package/dist/hooks/tokens/prices/queries.d.ts.map +1 -1
- package/dist/hooks/tokens/prices/queries.js +2 -2
- package/dist/hooks/tokens/prices/queries.js.map +1 -1
- package/dist/hooks/tokens/useTokenTaxFee.js +2 -2
- package/dist/hooks/tokens/useTokenTaxFee.js.map +1 -1
- package/dist/hooks/txs/queries/useTxHistory.d.ts.map +1 -1
- package/dist/hooks/txs/queries/useTxHistory.js +2 -2
- package/dist/hooks/txs/queries/useTxHistory.js.map +1 -1
- package/dist/hooks/useCachedQueryError.d.ts +3 -0
- package/dist/hooks/useCachedQueryError.d.ts.map +1 -0
- package/dist/hooks/useCachedQueryError.js +11 -0
- package/dist/hooks/useCachedQueryError.js.map +1 -0
- package/dist/hooks/useSDK.d.ts.map +1 -1
- package/dist/hooks/useSDK.js +11 -11
- package/dist/hooks/useSDK.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/lib/constants/index.d.ts +0 -2
- package/dist/lib/constants/index.d.ts.map +1 -1
- package/dist/lib/constants/index.js +1 -4
- package/dist/lib/constants/index.js.map +1 -1
- package/dist/lib/constants/urls.d.ts +4 -0
- package/dist/lib/constants/urls.d.ts.map +1 -0
- package/dist/lib/constants/urls.js +30 -0
- package/dist/lib/constants/urls.js.map +1 -0
- package/dist/lib/utils/explorer.d.ts.map +1 -1
- package/dist/lib/utils/explorer.js +3 -3
- package/dist/lib/utils/explorer.js.map +1 -1
- package/dist/lib/web3/privy/config.js +1 -1
- package/dist/lib/web3/wagmi/config.js +1 -1
- package/dist/styles.css +1 -1
- package/dist/tokens/overrides.d.ts +13 -2
- package/dist/tokens/overrides.d.ts.map +1 -1
- package/dist/tokens/overrides.js +71 -3
- package/dist/tokens/overrides.js.map +1 -1
- package/dist/tokens/types.d.ts +4 -0
- package/dist/tokens/types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTxHistory.js","sources":["../../../../src/hooks/txs/queries/useTxHistory.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"useTxHistory.js","sources":["../../../../src/hooks/txs/queries/useTxHistory.ts"],"sourcesContent":["import { assertProp } from \"@/lib/utils\";\nimport {\n useQuery,\n useQueryClient,\n type UseQueryOptions,\n type UseQueryResult,\n} from \"@tanstack/react-query\";\nimport axios from \"axios\";\n\nimport {\n constructMetaParams,\n type MetabaseResponse,\n} from \"@/lib/utils/metabase\";\nimport type { MarkOptional } from \"ts-essentials\";\nimport type { TransactionItemSwap } from \"@/transactions/types\";\nimport { isAddress, isHash, type Address } from \"viem\";\nimport { isSupportedChainId } from \"@/lib/web3/wagmi/utils\";\nimport { getLogger } from \"@/core/logger\";\nimport Big from \"big.js\";\nimport { getApiProxyURL } from \"@/lib/constants/urls\";\n\ntype SwapTxParams = {\n account: Address;\n chainId?: number;\n limit?: number;\n offset?: number;\n};\n\ntype SwapTxRow = [\n txhash: string,\n chainId: number,\n srctoken: string,\n srcamount: number,\n srcamountusd: number,\n desttoken: string,\n destamount: number,\n destamountusd: number,\n txorigin: string,\n initiator: string,\n entrytimestamp: string,\n txgasused: number, // can falsely return 0, also this is not gasUsed, this is gasLimit; better rely on gas data from GRP table if available\n txgasprice: number,\n side: string, // \"true\" = BUY, \"false\" = SELL\n];\n\ntype SwapTxsResponse = MetabaseResponse<SwapTxRow>;\n\nconst logger = getLogger(\"SwapTxHistory\");\n\nfunction formatSwapTxsData(\n { data }: SwapTxsResponse,\n { account }: SwapTxParams\n): TransactionItemSwap[] {\n const transactionItems: TransactionItemSwap[] = [];\n\n for (const row of data.rows) {\n const [\n txhash,\n chainId,\n srctoken,\n srcamount,\n srcamountusd,\n desttoken,\n destamount,\n destamountusd,\n ,\n ,\n entrytimestamp,\n txgasused,\n txgasprice,\n ,\n ] = row;\n\n if (\n !isSupportedChainId(chainId) ||\n !isHash(txhash) ||\n !isAddress(srctoken) ||\n !isAddress(desttoken)\n ) {\n logger.warn(\"Invalid swap tx data row, skipping\", row);\n continue;\n }\n\n transactionItems.push({\n account,\n transactionHash: txhash,\n chainId,\n dropped: false,\n timestamp: new Date(entrytimestamp).getTime(),\n action: \"swap\",\n transactionSpecificData: {\n action: \"swap\",\n source: \"metabase\",\n srcTokenAddress: srctoken,\n srcAmount: Big(srcamount).toFixed(),\n srcAmountUSD: Big(srcamountusd).toFixed(),\n destTokenAddress: desttoken,\n destAmount: Big(destamount).toFixed(),\n destAmountUSD: Big(destamountusd).toFixed(),\n gasCost: Big(txgasused).mul(txgasprice).toFixed(),\n },\n });\n }\n\n return transactionItems;\n}\n\nasync function fetchSwapTxs(\n params: SwapTxParams,\n signal?: AbortSignal\n): Promise<TransactionItemSwap[]> {\n const metaParams = constructMetaParams(params);\n\n const url = `${getApiProxyURL()}/swap/txs?parameters=${JSON.stringify(metaParams)}`;\n\n const { data } = await axios.get<SwapTxsResponse>(url, { signal });\n\n return formatSwapTxsData(data, params);\n}\n\ntype SwapParams = MarkOptional<SwapTxParams, \"account\">;\n\nconst SWAP_TX_HISTORY_QUERY_KEY_BASE = \"swap/tx-history\";\ntype SwapTxHistoryQueryKey = [\n base: typeof SWAP_TX_HISTORY_QUERY_KEY_BASE,\n params: SwapParams,\n];\n\ntype SwapTxHistoryQueryParams<TData = TransactionItemSwap[]> = Omit<\n UseQueryOptions<TransactionItemSwap[], Error, TData, SwapTxHistoryQueryKey>,\n \"queryKey\" | \"queryFn\"\n>;\n\nexport function useSwapTxHistory<TData = TransactionItemSwap[]>({\n params,\n query,\n}: {\n params: SwapParams;\n query?: SwapTxHistoryQueryParams<TData>;\n}): UseQueryResult<TData, Error> {\n const queryClient = useQueryClient();\n\n return useQuery<TransactionItemSwap[], Error, TData, SwapTxHistoryQueryKey>({\n queryKey: [SWAP_TX_HISTORY_QUERY_KEY_BASE, params],\n queryFn: ({ signal }) => {\n assertProp(params, \"account\");\n if (params.chainId) {\n // don't bother with picking past data for different limit & offset, it's too hard to get right data slice given different chainIds\n const { chainId, ...queryParamsWithoutChainId } = params;\n const queryKeyWithoutChainId: SwapTxHistoryQueryKey = [\n SWAP_TX_HISTORY_QUERY_KEY_BASE,\n queryParamsWithoutChainId,\n ];\n\n const query = queryClient.getQueryCache().find<TransactionItemSwap[]>({\n queryKey: queryKeyWithoutChainId,\n stale: false, // get only non-stale data\n });\n\n const dataForAllChains = query?.state.data;\n\n if (dataForAllChains) {\n return dataForAllChains.filter((tx) => tx.chainId === chainId);\n }\n }\n\n return fetchSwapTxs(params, signal);\n },\n ...query,\n enabled: !!params.account && (query?.enabled ?? true),\n });\n}\n"],"names":["logger","getLogger","formatSwapTxsData","data","account","transactionItems","row","rows","txhash","chainId","srctoken","srcamount","srcamountusd","desttoken","destamount","destamountusd","entrytimestamp","txgasused","txgasprice","isSupportedChainId","isHash","isAddress","warn","push","transactionHash","dropped","timestamp","Date","getTime","action","transactionSpecificData","source","srcTokenAddress","srcAmount","Big","toFixed","srcAmountUSD","destTokenAddress","destAmount","destAmountUSD","gasCost","mul","fetchSwapTxs","params","signal","metaParams","constructMetaParams","url","getApiProxyURL","JSON","stringify","axios","get","SWAP_TX_HISTORY_QUERY_KEY_BASE","useSwapTxHistory","t0","$","_c","query","queryClient","useQueryClient","t1","t2","t3","assertProp","queryParamsWithoutChainId","queryKeyWithoutChainId","query_0","getQueryCache","find","queryKey","stale","dataForAllChains","state","filter","tx","enabled","t4","queryFn","useQuery"],"mappings":";;;;;;;;;;;AA+CA,MAAMA,MAAAA,GAASC,UAAU,eAAe,CAAA;AAExC,SAASC,iBAAAA,CACP;AAAA,EAAEC;AAAsB,CAAA,EACxB;AAAA,EAAEC;AAAsB,CAAA,EACD;AACvB,EAAA,MAAMC,mBAA0C,EAAA;AAEhD,EAAA,KAAA,MAAWC,GAAAA,IAAOH,KAAKI,IAAAA,EAAM;AAC3B,IAAA,MAAM,CACJC,MAAAA,EACAC,OAAAA,EACAC,QAAAA,EACAC,WACAC,YAAAA,EACAC,SAAAA,EACAC,UAAAA,EACAC,aAAAA,MAGAC,cAAAA,EACAC,SAAAA,EACAC,UAAAA,IAAU,GAERZ,GAAAA;AAEJ,IAAA,IACE,CAACa,kBAAAA,CAAmBV,OAAO,CAAA,IAC3B,CAACW,MAAAA,CAAOZ,MAAM,CAAA,IACd,CAACa,UAAUX,QAAQ,CAAA,IACnB,CAACW,SAAAA,CAAUR,SAAS,CAAA,EACpB;AACAb,MAAAA,MAAAA,CAAOsB,IAAAA,CAAK,sCAAsChB,GAAG,CAAA;AACrD,MAAA;AAAA,IACF;AAEAD,IAAAA,gBAAAA,CAAiBkB,IAAAA,CAAK;AAAA,MACpBnB,OAAAA;AAAAA,MACAoB,eAAAA,EAAiBhB,MAAAA;AAAAA,MACjBC,OAAAA;AAAAA,MACAgB,OAAAA,EAAS,KAAA;AAAA,MACTC,SAAAA,EAAW,IAAIC,IAAAA,CAAKX,cAAc,EAAEY,OAAAA,EAAQ;AAAA,MAC5CC,MAAAA,EAAQ,MAAA;AAAA,MACRC,uBAAAA,EAAyB;AAAA,QACvBD,MAAAA,EAAQ,MAAA;AAAA,QACRE,MAAAA,EAAQ,UAAA;AAAA,QACRC,eAAAA,EAAiBtB,QAAAA;AAAAA,QACjBuB,SAAAA,EAAWC,GAAAA,CAAIvB,SAAS,CAAA,CAAEwB,OAAAA,EAAQ;AAAA,QAClCC,YAAAA,EAAcF,GAAAA,CAAItB,YAAY,CAAA,CAAEuB,OAAAA,EAAQ;AAAA,QACxCE,gBAAAA,EAAkBxB,SAAAA;AAAAA,QAClByB,UAAAA,EAAYJ,GAAAA,CAAIpB,UAAU,CAAA,CAAEqB,OAAAA,EAAQ;AAAA,QACpCI,aAAAA,EAAeL,GAAAA,CAAInB,aAAa,CAAA,CAAEoB,OAAAA,EAAQ;AAAA,QAC1CK,SAASN,GAAAA,CAAIjB,SAAS,EAAEwB,GAAAA,CAAIvB,UAAU,EAAEiB,OAAAA;AAAQ;AAClD,KACD,CAAA;AAAA,EACH;AAEA,EAAA,OAAO9B,gBAAAA;AACT;AAEA,eAAeqC,YAAAA,CACbC,QACAC,MAAAA,EACgC;AAChC,EAAA,MAAMC,UAAAA,GAAaC,oBAAoBH,MAAM,CAAA;AAE7C,EAAA,MAAMI,GAAAA,GAAM,GAAGC,cAAAA,EAAgB,wBAAwBC,IAAAA,CAAKC,SAAAA,CAAUL,UAAU,CAAC,CAAA,CAAA;AAEjF,EAAA,MAAM;AAAA,IAAE1C;AAAAA,GAAK,GAAI,MAAMgD,KAAAA,CAAMC,GAAAA,CAAqBL,GAAAA,EAAK;AAAA,IAAEH;AAAAA,GAAQ,CAAA;AAEjE,EAAA,OAAO1C,iBAAAA,CAAkBC,MAAMwC,MAAM,CAAA;AACvC;AAIA,MAAMU,8BAAAA,GAAiC,iBAAA;AAWhC,SAAAC,iBAAAC,EAAAA,EAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,EAAA,CAAA;AAAyD,EAAA,MAAA;AAAA,IAAAd,MAAAA;AAAAA,IAAAe;AAAAA,GAAA,GAAAH,EAAAA;AAO9D,EAAA,MAAAI,cAAoBC,cAAAA,EAAe;AAAE,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAL,CAAAA,QAAAb,MAAAA,EAAA;AAGzBkB,IAAAA,EAAAA,GAAA,CAACR,gCAAgCV,MAAM,CAAA;AAACa,IAAAA,CAAAA,MAAAb,MAAAA;AAAAa,IAAAA,CAAAA,MAAAK,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAL,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAM,EAAAA;AAAA,EAAA,IAAAN,EAAA,CAAA,CAAA,KAAAb,UAAAa,CAAAA,QAAAG,WAAAA,EAAA;AACzCG,IAAAA,EAAAA,GAAAC,CAAAA,GAAAA,KAAA;AAAC,MAAA,MAAA;AAAA,QAAAnB;AAAAA,OAAA,GAAAmB,GAAAA;AACRC,MAAAA,UAAAA,CAAWrB,QAAQ,SAAS,CAAA;AAC5B,MAAA,IAAIA,OAAMlC,OAAAA,EAAQ;AAEhB,QAAA,MAAA;AAAA,UAAAA,OAAAA;AAAAA,UAAA,GAAAwD;AAAAA,SAAA,GAAkDtB,MAAAA;AAClD,QAAA,MAAAuB,sBAAAA,GAAsD,CACpDb,8BAAAA,EACAY,yBAAyB,CAAA;AAG3B,QAAA,MAAAE,OAAAA,GAAcR,WAAAA,CAAWS,aAAAA,EAAe,CAACC,IAAAA,CAA6B;AAAA,UAAAC,QAAAA,EAC1DJ,sBAAAA;AAAAA,UAAsBK,KAAAA,EACzB;AAAA,SACR,CAAA;AAED,QAAA,MAAAC,gBAAAA,GAAyBd,SAAKe,KAAAA,CAAYtE,IAAAA;AAE1C,QAAA,IAAIqE,gBAAAA,EAAgB;AAAA,UAAA,OACXA,gBAAAA,CAAgBE,MAAAA,CAAQC,CAAAA,EAAAA,KAAQA,EAAAA,CAAElE,YAAaA,OAAO,CAAA;AAAA,QAAC;AAAA,MAC/D;AACF,MAAA,OAEMiC,YAAAA,CAAaC,QAAQC,MAAM,CAAA;AAAA,IAAC,CAAA;AACpCY,IAAAA,CAAAA,MAAAb,MAAAA;AAAAa,IAAAA,CAAAA,MAAAG,WAAAA;AAAAH,IAAAA,CAAAA,MAAAM,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAN,EAAA,CAAA,CAAA;AAAA,EAAA;AAEQ,EAAA,MAAAO,KAAA,CAAC,CAACpB,MAAAA,CAAMvC,OAAAA,KAAasD,OAAKkB,OAAAA,IAAL,IAAA,CAAA;AAAuB,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAArB,CAAAA,CAAA,CAAA,CAAA,KAAAE,KAAAA,IAAAF,EAAA,CAAA,CAAA,KAAAK,EAAAA,IAAAL,CAAAA,CAAA,CAAA,CAAA,KAAAM,EAAAA,IAAAN,CAAAA,QAAAO,EAAAA,EAAA;AA3BqBc,IAAAA,EAAAA,GAAA;AAAA,MAAAP,QAAAA,EAChET,EAAAA;AAAAA,MAAwCiB,OAAAA,EACzChB,EAAAA;AAAAA,MAuBR,GACEJ,KAAAA;AAAAA,MAAKkB,OAAAA,EACCb;AAAAA,KACX;AAACP,IAAAA,CAAAA,MAAAE,KAAAA;AAAAF,IAAAA,CAAAA,MAAAK,EAAAA;AAAAL,IAAAA,CAAAA,MAAAM,EAAAA;AAAAN,IAAAA,CAAAA,MAAAO,EAAAA;AAAAP,IAAAA,CAAAA,MAAAqB,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAArB,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OA5BMuB,SAAqEF,EA4B3E,CAAA;AAAC;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCachedQueryError.d.ts","sourceRoot":"","sources":["../../src/hooks/useCachedQueryError.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAG1E,wBAAgB,mBAAmB,CAAC,KAAK,GAAG,OAAO,EAAE,MAAM,GAAG,YAAY,EACxE,KAAK,EAAE,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,GACnC,MAAM,GAAG,IAAI,CAYf"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { useRef } from 'react';
|
|
2
|
+
|
|
3
|
+
function useCachedQueryError(query) {
|
|
4
|
+
const errorRef = useRef(query.error);
|
|
5
|
+
if (query.error) errorRef.current = query.error;
|
|
6
|
+
if (query.isSuccess) errorRef.current = null;
|
|
7
|
+
return errorRef.current;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export { useCachedQueryError };
|
|
11
|
+
//# sourceMappingURL=useCachedQueryError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCachedQueryError.js","sources":["../../src/hooks/useCachedQueryError.ts"],"sourcesContent":["import type { DefaultError, UseQueryResult } from \"@tanstack/react-query\";\nimport { useRef } from \"react\";\n\nexport function useCachedQueryError<TData = unknown, TError = DefaultError>(\n query: UseQueryResult<TData, TError>\n): TError | null {\n // keep track if last result was error\n const errorRef = useRef(query.error);\n // by itself isError resets when fetching\n\n /* eslint-disable react-hooks/refs */\n if (query.error) errorRef.current = query.error;\n // keep errorRef until delta succeeds\n if (query.isSuccess) errorRef.current = null;\n /* eslint-disable react-hooks/refs */\n\n return errorRef.current;\n}\n"],"names":["useCachedQueryError","query","errorRef","useRef","error","current","isSuccess"],"mappings":";;AAGO,SAASA,oBACdC,KAAAA,EACe;AAEf,EAAA,MAAMC,QAAAA,GAAWC,MAAAA,CAAOF,KAAAA,CAAMG,KAAK,CAAA;AAInC,EAAA,IAAIH,KAAAA,CAAMG,KAAAA,EAAOF,QAAAA,CAASG,OAAAA,GAAUJ,KAAAA,CAAMG,KAAAA;AAE1C,EAAA,IAAIH,KAAAA,CAAMK,SAAAA,EAAWJ,QAAAA,CAASG,OAAAA,GAAU,IAAA;AAGxC,EAAA,OAAOH,QAAAA,CAASG,OAAAA;AAClB;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSDK.d.ts","sourceRoot":"","sources":["../../src/hooks/useSDK.ts"],"names":[],"mappings":"AAGA,OAAO,EAkBL,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,UAAU,EACf,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC5B,KAAK,0BAA0B,EAC/B,KAAK,yBAAyB,EAC9B,KAAK,sBAAsB,EAC3B,KAAK,gCAAgC,EACrC,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAKlB,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC5B,KAAK,0BAA0B,EAEhC,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAsB,KAAK,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,GAAG,EAAE,MAAM,MAAM,CAAC;AAC7E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAM9C,KAAK,eAAe,GAAG;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,QAAQ,CAClC,mBAAmB,GAAG,gBAAgB,GAAG,gBAAgB,CAC1D,CAAC;AAEF,KAAK,oBAAoB,CAAC,CAAC,IAAI;IAC7B,GAAG,EAAE,CAAC,CAAC;IACP,UAAU,EAAE,UAAU,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,EAC/B,OAAO,EACP,
|
|
1
|
+
{"version":3,"file":"useSDK.d.ts","sourceRoot":"","sources":["../../src/hooks/useSDK.ts"],"names":[],"mappings":"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"}
|
package/dist/hooks/useSDK.js
CHANGED
|
@@ -2,18 +2,18 @@ import axios from 'axios';
|
|
|
2
2
|
import { useMemo } from 'react';
|
|
3
3
|
import { constructAxiosFetcher, constructPartialSDK, constructGetDeltaOrders, constructGetDeltaPrice, constructBuildDeltaOrder, constructPostDeltaOrder, constructGetBridgeInfo, constructIsTokenSupportedInDelta, constructViemContractCaller, constructCancelDeltaOrder, constructSignDeltaOrder, constructGetRate, constructGetSpender, constructBuildTx, constructFillOrderDirectly, constructPreSignDeltaOrder, constructGetLimitOrders, constructBuildLimitOrder, constructPostLimitOrder, constructAllLimitOrdersHandlers, constructFetchFetcher } from '@velora-dex/sdk';
|
|
4
4
|
import { encodeFunctionData } from 'viem';
|
|
5
|
-
import { API_URL } from '../lib/constants/index.js';
|
|
6
5
|
import { useLogger } from '../core/logger.js';
|
|
6
|
+
import { getApiURL } from '../lib/constants/urls.js';
|
|
7
7
|
|
|
8
8
|
const fetcher = constructAxiosFetcher(axios);
|
|
9
9
|
function useMarketSwapSDK({
|
|
10
10
|
chainId,
|
|
11
|
-
apiURL
|
|
11
|
+
apiURL
|
|
12
12
|
}) {
|
|
13
13
|
"use no memo";
|
|
14
14
|
const sdk = useMemo(() => {
|
|
15
15
|
const SDKconfig = {
|
|
16
|
-
apiURL,
|
|
16
|
+
apiURL: apiURL ?? getApiURL(),
|
|
17
17
|
chainId,
|
|
18
18
|
fetcher
|
|
19
19
|
};
|
|
@@ -28,7 +28,7 @@ function useMarketSwapSDK({
|
|
|
28
28
|
}
|
|
29
29
|
function useLimitOrdersSDK({
|
|
30
30
|
chainId,
|
|
31
|
-
apiURL
|
|
31
|
+
apiURL,
|
|
32
32
|
account,
|
|
33
33
|
client
|
|
34
34
|
}) {
|
|
@@ -37,7 +37,7 @@ function useLimitOrdersSDK({
|
|
|
37
37
|
const sdk = useMemo(() => {
|
|
38
38
|
logger.log("init sdk");
|
|
39
39
|
const SDKconfig = {
|
|
40
|
-
apiURL,
|
|
40
|
+
apiURL: apiURL ?? getApiURL(),
|
|
41
41
|
chainId,
|
|
42
42
|
fetcher
|
|
43
43
|
};
|
|
@@ -82,7 +82,7 @@ const constructCalldataContractCaller = () => {
|
|
|
82
82
|
};
|
|
83
83
|
const useFetchOnlySDK = ({
|
|
84
84
|
chainId,
|
|
85
|
-
apiURL
|
|
85
|
+
apiURL
|
|
86
86
|
}) => {
|
|
87
87
|
"use no memo";
|
|
88
88
|
const sdk = useMemo(() => {
|
|
@@ -98,7 +98,7 @@ const useFetchOnlySDK = ({
|
|
|
98
98
|
});
|
|
99
99
|
};
|
|
100
100
|
return constructPartialSDK({
|
|
101
|
-
apiURL,
|
|
101
|
+
apiURL: apiURL ?? getApiURL(),
|
|
102
102
|
chainId,
|
|
103
103
|
fetcher: fetcher2
|
|
104
104
|
}, constructPostDeltaOrder);
|
|
@@ -112,7 +112,7 @@ const useFetchOnlySDK = ({
|
|
|
112
112
|
};
|
|
113
113
|
const useCalldataSDK = ({
|
|
114
114
|
chainId,
|
|
115
|
-
apiURL
|
|
115
|
+
apiURL,
|
|
116
116
|
client
|
|
117
117
|
}) => {
|
|
118
118
|
"use no memo";
|
|
@@ -122,7 +122,7 @@ const useCalldataSDK = ({
|
|
|
122
122
|
logger.log("init sdk");
|
|
123
123
|
const contractCaller = constructCalldataContractCaller();
|
|
124
124
|
const SDKconfig = {
|
|
125
|
-
apiURL,
|
|
125
|
+
apiURL: apiURL ?? getApiURL(),
|
|
126
126
|
chainId,
|
|
127
127
|
fetcher,
|
|
128
128
|
contractCaller
|
|
@@ -138,7 +138,7 @@ const useCalldataSDK = ({
|
|
|
138
138
|
};
|
|
139
139
|
function useDeltaSDK({
|
|
140
140
|
chainId,
|
|
141
|
-
apiURL
|
|
141
|
+
apiURL,
|
|
142
142
|
account,
|
|
143
143
|
client
|
|
144
144
|
}) {
|
|
@@ -147,7 +147,7 @@ function useDeltaSDK({
|
|
|
147
147
|
const sdk = useMemo(() => {
|
|
148
148
|
logger.log("init sdk");
|
|
149
149
|
const SDKconfig = {
|
|
150
|
-
apiURL,
|
|
150
|
+
apiURL: apiURL ?? getApiURL(),
|
|
151
151
|
chainId,
|
|
152
152
|
fetcher
|
|
153
153
|
};
|
package/dist/hooks/useSDK.js.map
CHANGED
|
@@ -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 constructFetchFetcher,\n constructPartialSDK,\n constructGetSpender,\n constructBuildTx,\n constructAllLimitOrdersHandlers,\n constructGetRate,\n constructGetDeltaPrice,\n constructGetDeltaOrders,\n constructBuildDeltaOrder,\n constructSignDeltaOrder,\n constructPreSignDeltaOrder,\n constructPostDeltaOrder,\n constructCancelDeltaOrder,\n constructGetBridgeInfo,\n constructIsTokenSupportedInDelta,\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 PreSignDeltaOrderFunctions,\n type CancelDeltaOrderFunctions,\n type GetBridgeInfoFunctions,\n type IsTokenSupportedInDeltaFunctions,\n type BuildTxFunctions,\n type GetSpenderFunctions,\n type MinViemClient,\n constructGetLimitOrders,\n constructBuildLimitOrder,\n constructPostLimitOrder,\n constructFillOrderDirectly,\n type GetLimitOrdersFunctions,\n type BuildLimitOrderFunctions,\n type PostLimitOrderFunctions,\n type FillOrderDirectlyFunctions,\n type ContractCallerFunctions,\n} from \"@velora-dex/sdk\";\nimport { encodeFunctionData, type Address, type Hash, type Hex } from \"viem\";\nimport type { Prettify } from \"ts-essentials\";\nimport { API_URL } from \"@/lib/constants\";\nimport { useLogger } from \"@/core/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 client?: MinViemClient;\n};\n\ntype ReadOnlyLimitOrdersSDK = Prettify<\n GetLimitOrdersFunctions & BuildLimitOrderFunctions & PostLimitOrderFunctions\n>;\n\nexport type LimitOrdersSDK = Prettify<LimitOrderHandlers<Hash>>;\n\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}): ConstructedSDKOutput<ReadOnlyLimitOrdersSDK>;\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): ConstructedSDKOutput<\n LimitOrdersSDK | ReadOnlyLimitOrdersSDK\n>;\nexport function useLimitOrdersSDK({\n chainId,\n apiURL = API_URL,\n account,\n client,\n}: LimitOrdersSDKCreateParams): ConstructedSDKOutput<\n LimitOrdersSDK | ReadOnlyLimitOrdersSDK\n> {\n \"use no memo\";\n\n const logger = useLogger(\"LimitOrdersSDK\");\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 constructGetLimitOrders,\n constructBuildLimitOrder,\n constructPostLimitOrder\n );\n }\n\n const contractCaller = constructViemContractCaller(client, account);\n\n return constructPartialSDK(\n { ...SDKconfig, contractCaller },\n constructAllLimitOrdersHandlers\n );\n }, [client, account, apiURL, chainId, logger]);\n\n return {\n appVersion: sdk.version,\n chainId: sdk.chainId,\n apiURL: sdk.apiURL,\n sdk,\n };\n}\n\n// ContractCaller that returns Contract[method](args) calldata instead of sending out a transaction\ntype CalldataContractCaller = ContractCallerFunctions<Hex>;\n\nconst constructCalldataContractCaller = (): CalldataContractCaller => {\n const transactCall: CalldataContractCaller[\"transactCall\"] = async (\n params\n ) => {\n const { abi, contractMethod: functionName, args } = params;\n const calldata = encodeFunctionData<typeof abi, string>({\n abi,\n functionName,\n args,\n });\n return calldata;\n };\n\n // won't be used, but needed for types\n const staticCall = () => {\n throw new Error(\"Not implemented\");\n };\n\n return {\n transactCall,\n staticCall,\n signTypedDataCall: staticCall,\n };\n};\n\n// can be used to POST final data before page is closed\nexport const useFetchOnlySDK = ({\n chainId,\n apiURL = API_URL,\n}: SDKCreateParams): Partial<ConstructedSDKOutput<PostDeltaOrderFunctions>> => {\n \"use no memo\";\n\n const sdk = useMemo(() => {\n if (typeof window === \"undefined\") return;\n const _fetcher = constructFetchFetcher(window.fetch);\n const fetcher: typeof _fetcher = (params) => {\n return _fetcher({\n ...params,\n requestParams: {\n ...params.requestParams,\n keepalive: true,\n },\n });\n };\n // fetch, unlike axios allows for `keepalive` parameter,\n // so we can use it to keep the request alive a bit after the page is closed.\n // the alternative of using navigator.sendBeacon doesn't work with API because it includes credentials always\n // which is incompatible with API CORS settings\n return constructPartialSDK(\n { apiURL, chainId, fetcher },\n constructPostDeltaOrder\n );\n }, [apiURL, chainId]);\n\n return {\n appVersion: sdk?.version,\n chainId: sdk?.chainId,\n apiURL: sdk?.apiURL,\n sdk,\n };\n};\n\nexport const useCalldataSDK = ({\n chainId,\n apiURL = API_URL,\n client,\n}: Omit<LimitOrdersSDKCreateParams, \"account\">): Partial<\n ConstructedSDKOutput<\n FillOrderDirectlyFunctions<Hex> &\n PreSignDeltaOrderFunctions<Hex> &\n BuildDeltaOrderFunctions\n >\n> => {\n \"use no memo\";\n\n const logger = useLogger(\"CalldataSDK\");\n\n const sdk = useMemo(() => {\n if (!client) return;\n logger.log(\"init sdk\");\n\n const contractCaller = constructCalldataContractCaller();\n\n const SDKconfig = {\n apiURL,\n chainId,\n fetcher,\n contractCaller,\n };\n\n return constructPartialSDK(\n SDKconfig,\n constructFillOrderDirectly,\n constructPreSignDeltaOrder,\n constructBuildDeltaOrder\n );\n }, [client, logger, apiURL, chainId]);\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 PostDeltaOrderFunctions &\n GetBridgeInfoFunctions &\n IsTokenSupportedInDeltaFunctions & { chainId: number }\n>;\n\nexport type DeltaSDK = Prettify<\n ReadOnlyDeltaSDK & SignDeltaOrderFunctions & CancelDeltaOrderFunctions\n>;\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 constructPostDeltaOrder,\n constructGetBridgeInfo,\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 constructPostDeltaOrder,\n constructCancelDeltaOrder,\n constructGetBridgeInfo,\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","useLimitOrdersSDK","account","client","logger","useLogger","log","constructGetLimitOrders","constructBuildLimitOrder","constructPostLimitOrder","contractCaller","constructViemContractCaller","constructAllLimitOrdersHandlers","constructCalldataContractCaller","transactCall","params","abi","contractMethod","functionName","args","calldata","encodeFunctionData","staticCall","Error","signTypedDataCall","useFetchOnlySDK","window","_fetcher","constructFetchFetcher","fetch","requestParams","keepalive","constructPostDeltaOrder","useCalldataSDK","constructFillOrderDirectly","constructPreSignDeltaOrder","constructBuildDeltaOrder","useDeltaSDK","constructGetDeltaOrders","constructGetDeltaPrice","constructGetBridgeInfo","constructIsTokenSupportedInDelta","constructCancelDeltaOrder","constructSignDeltaOrder"],"mappings":"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"}
|
|
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 constructFetchFetcher,\n constructPartialSDK,\n constructGetSpender,\n constructBuildTx,\n constructAllLimitOrdersHandlers,\n constructGetRate,\n constructGetDeltaPrice,\n constructGetDeltaOrders,\n constructBuildDeltaOrder,\n constructSignDeltaOrder,\n constructPreSignDeltaOrder,\n constructPostDeltaOrder,\n constructCancelDeltaOrder,\n constructGetBridgeInfo,\n constructIsTokenSupportedInDelta,\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 PreSignDeltaOrderFunctions,\n type CancelDeltaOrderFunctions,\n type GetBridgeInfoFunctions,\n type IsTokenSupportedInDeltaFunctions,\n type BuildTxFunctions,\n type GetSpenderFunctions,\n type MinViemClient,\n constructGetLimitOrders,\n constructBuildLimitOrder,\n constructPostLimitOrder,\n constructFillOrderDirectly,\n type GetLimitOrdersFunctions,\n type BuildLimitOrderFunctions,\n type PostLimitOrderFunctions,\n type FillOrderDirectlyFunctions,\n type ContractCallerFunctions,\n} from \"@velora-dex/sdk\";\nimport { encodeFunctionData, type Address, type Hash, type Hex } from \"viem\";\nimport type { Prettify } from \"ts-essentials\";\nimport { useLogger } from \"@/core/logger\";\nimport { getApiURL } from \"@/lib/constants/urls\";\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: apiURL ?? getApiURL(),\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 client?: MinViemClient;\n};\n\ntype ReadOnlyLimitOrdersSDK = Prettify<\n GetLimitOrdersFunctions & BuildLimitOrderFunctions & PostLimitOrderFunctions\n>;\n\nexport type LimitOrdersSDK = Prettify<LimitOrderHandlers<Hash>>;\n\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}): ConstructedSDKOutput<ReadOnlyLimitOrdersSDK>;\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): ConstructedSDKOutput<\n LimitOrdersSDK | ReadOnlyLimitOrdersSDK\n>;\nexport function useLimitOrdersSDK({\n chainId,\n apiURL,\n account,\n client,\n}: LimitOrdersSDKCreateParams): ConstructedSDKOutput<\n LimitOrdersSDK | ReadOnlyLimitOrdersSDK\n> {\n \"use no memo\";\n\n const logger = useLogger(\"LimitOrdersSDK\");\n\n const sdk = useMemo(() => {\n logger.log(\"init sdk\");\n const SDKconfig = {\n apiURL: apiURL ?? getApiURL(),\n chainId,\n fetcher,\n };\n\n if (!client || !account) {\n return constructPartialSDK(\n SDKconfig,\n constructGetLimitOrders,\n constructBuildLimitOrder,\n constructPostLimitOrder\n );\n }\n\n const contractCaller = constructViemContractCaller(client, account);\n\n return constructPartialSDK(\n { ...SDKconfig, contractCaller },\n constructAllLimitOrdersHandlers\n );\n }, [client, account, apiURL, chainId, logger]);\n\n return {\n appVersion: sdk.version,\n chainId: sdk.chainId,\n apiURL: sdk.apiURL,\n sdk,\n };\n}\n\n// ContractCaller that returns Contract[method](args) calldata instead of sending out a transaction\ntype CalldataContractCaller = ContractCallerFunctions<Hex>;\n\nconst constructCalldataContractCaller = (): CalldataContractCaller => {\n const transactCall: CalldataContractCaller[\"transactCall\"] = async (\n params\n ) => {\n const { abi, contractMethod: functionName, args } = params;\n const calldata = encodeFunctionData<typeof abi, string>({\n abi,\n functionName,\n args,\n });\n return calldata;\n };\n\n // won't be used, but needed for types\n const staticCall = () => {\n throw new Error(\"Not implemented\");\n };\n\n return {\n transactCall,\n staticCall,\n signTypedDataCall: staticCall,\n };\n};\n\n// can be used to POST final data before page is closed\nexport const useFetchOnlySDK = ({\n chainId,\n apiURL,\n}: SDKCreateParams): Partial<ConstructedSDKOutput<PostDeltaOrderFunctions>> => {\n \"use no memo\";\n\n const sdk = useMemo(() => {\n if (typeof window === \"undefined\") return;\n const _fetcher = constructFetchFetcher(window.fetch);\n const fetcher: typeof _fetcher = (params) => {\n return _fetcher({\n ...params,\n requestParams: {\n ...params.requestParams,\n keepalive: true,\n },\n });\n };\n // fetch, unlike axios allows for `keepalive` parameter,\n // so we can use it to keep the request alive a bit after the page is closed.\n // the alternative of using navigator.sendBeacon doesn't work with API because it includes credentials always\n // which is incompatible with API CORS settings\n return constructPartialSDK(\n {\n apiURL: apiURL ?? getApiURL(),\n chainId,\n fetcher,\n },\n constructPostDeltaOrder\n );\n }, [apiURL, chainId]);\n\n return {\n appVersion: sdk?.version,\n chainId: sdk?.chainId,\n apiURL: sdk?.apiURL,\n sdk,\n };\n};\n\nexport const useCalldataSDK = ({\n chainId,\n apiURL,\n client,\n}: Omit<LimitOrdersSDKCreateParams, \"account\">): Partial<\n ConstructedSDKOutput<\n FillOrderDirectlyFunctions<Hex> &\n PreSignDeltaOrderFunctions<Hex> &\n BuildDeltaOrderFunctions\n >\n> => {\n \"use no memo\";\n\n const logger = useLogger(\"CalldataSDK\");\n\n const sdk = useMemo(() => {\n if (!client) return;\n logger.log(\"init sdk\");\n\n const contractCaller = constructCalldataContractCaller();\n\n const SDKconfig = {\n apiURL: apiURL ?? getApiURL(),\n chainId,\n fetcher,\n contractCaller,\n };\n\n return constructPartialSDK(\n SDKconfig,\n constructFillOrderDirectly,\n constructPreSignDeltaOrder,\n constructBuildDeltaOrder\n );\n }, [client, logger, apiURL, chainId]);\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 PostDeltaOrderFunctions &\n GetBridgeInfoFunctions &\n IsTokenSupportedInDeltaFunctions & { chainId: number }\n>;\n\nexport type DeltaSDK = Prettify<\n ReadOnlyDeltaSDK & SignDeltaOrderFunctions & CancelDeltaOrderFunctions\n>;\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: apiURL ?? getApiURL(),\n chainId,\n fetcher,\n };\n\n if (!client || !account) {\n return constructPartialSDK(\n SDKconfig,\n constructGetDeltaOrders,\n constructGetDeltaPrice,\n constructBuildDeltaOrder,\n constructPostDeltaOrder,\n constructGetBridgeInfo,\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 constructPostDeltaOrder,\n constructCancelDeltaOrder,\n constructGetBridgeInfo,\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","getApiURL","constructPartialSDK","constructGetRate","constructGetSpender","constructBuildTx","appVersion","version","useLimitOrdersSDK","account","client","logger","useLogger","log","constructGetLimitOrders","constructBuildLimitOrder","constructPostLimitOrder","contractCaller","constructViemContractCaller","constructAllLimitOrdersHandlers","constructCalldataContractCaller","transactCall","params","abi","contractMethod","functionName","args","calldata","encodeFunctionData","staticCall","Error","signTypedDataCall","useFetchOnlySDK","window","_fetcher","constructFetchFetcher","fetch","requestParams","keepalive","constructPostDeltaOrder","useCalldataSDK","constructFillOrderDirectly","constructPreSignDeltaOrder","constructBuildDeltaOrder","useDeltaSDK","constructGetDeltaOrders","constructGetDeltaPrice","constructGetBridgeInfo","constructIsTokenSupportedInDelta","constructCancelDeltaOrder","constructSignDeltaOrder"],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
export { Widget } from './core';
|
|
2
2
|
export type { WidgetProps, WidgetConfig, WidgetTheme, WidgetElements, EIP1193ProviderLax, } from './core/types';
|
|
3
3
|
export type { SupportedChainId } from './lib/web3/wagmi/types';
|
|
4
|
-
export type {
|
|
4
|
+
export type { SwapMode } from './components/widget/SwapModeSwitcher/state/types';
|
|
5
|
+
export type { MinTradeFlowToken } from './components/widget/TradeOverview';
|
|
5
6
|
export type { LimitOrderFormState, OTCOrderFormState, SwapFormState, SettingsState, TokenFormState, WidgetState, } from './events/types/common';
|
|
6
7
|
export type { WidgetEventCallbacks, OnConnectWallet, OnAllowToken, OnWrapETH, OnSwap, OnLimitOrder, OnOTCOrder, OnSettingsChange, OnCancelOrder, OnFillOTCOrder, OnFormInputChange, OnPriceChange, } from './events/types';
|
|
7
8
|
export type { FormInputProps } from './core/inputs/state/types';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,YAAY,EACV,WAAW,EACX,YAAY,EACZ,WAAW,EACX,cAAc,EACd,kBAAkB,GACnB,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,YAAY,EACV,WAAW,EACX,YAAY,EACZ,WAAW,EACX,cAAc,EACd,kBAAkB,GACnB,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,YAAY,EAAE,QAAQ,EAAE,MAAM,kDAAkD,CAAC;AACjF,YAAY,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,YAAY,EACV,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,cAAc,EACd,WAAW,GACZ,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,oBAAoB,EACpB,eAAe,EACf,YAAY,EACZ,SAAS,EACT,MAAM,EACN,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,aAAa,GACd,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAGhE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/constants/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/constants/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,EAAE,KAAK,EAAO,CAAC;AACtC,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAM,CAAC;AAErD,eAAO,MAAM,6BAA6B,QAAS,CAAC;AACpD,eAAO,MAAM,+BAA+B,SAAU,CAAC;AAEvD,eAAO,MAAM,uBAAuB,QAAc,CAAC"}
|
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
const __vite_import_meta_env__ = {};
|
|
2
|
-
const API_URL = "https://api.paraswap.io";
|
|
3
|
-
const API_PROXY_URL = __vite_import_meta_env__["VITE_API_PROXY_URL"] ?? "https://proxy.paraswap.io";
|
|
4
1
|
const emptyArray = [];
|
|
5
2
|
const emptyObject = {};
|
|
6
3
|
const WRAP_ETH_GAS_LIMIT_INACCURATE = 3e4;
|
|
7
4
|
const FILL_ORDER_GAS_LIMIT_INACCURATE = 2e5;
|
|
8
5
|
const SAFE_CALLS_WAIT_TIMEOUT = 10 * 6e4;
|
|
9
6
|
|
|
10
|
-
export {
|
|
7
|
+
export { FILL_ORDER_GAS_LIMIT_INACCURATE, SAFE_CALLS_WAIT_TIMEOUT, WRAP_ETH_GAS_LIMIT_INACCURATE, emptyArray, emptyObject };
|
|
11
8
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/lib/constants/index.ts"],"sourcesContent":["export const
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/lib/constants/index.ts"],"sourcesContent":["export const emptyArray: never[] = [];\nexport const emptyObject: Record<string, never> = {};\n\nexport const WRAP_ETH_GAS_LIMIT_INACCURATE = 30_000;\nexport const FILL_ORDER_GAS_LIMIT_INACCURATE = 200_000;\n\nexport const SAFE_CALLS_WAIT_TIMEOUT = 10 * 60_000; // 10 min\n// Safe returns callsId right away on inital tx creation,\n// the default wait is 1 min for at least `pending` status,\n// but Safe doesn't return any status until all signers are done and the actual tx is sent,\n// so the timeout may expire even before the call is sent onchain\n"],"names":["emptyArray","emptyObject","WRAP_ETH_GAS_LIMIT_INACCURATE","FILL_ORDER_GAS_LIMIT_INACCURATE","SAFE_CALLS_WAIT_TIMEOUT"],"mappings":"AAAO,MAAMA,aAAsB;AAC5B,MAAMC,cAAqC;AAE3C,MAAMC,6BAAAA,GAAgC;AACtC,MAAMC,+BAAAA,GAAkC;AAExC,MAAMC,0BAA0B,EAAA,GAAK;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"urls.d.ts","sourceRoot":"","sources":["../../../src/lib/constants/urls.ts"],"names":[],"mappings":"AAOA,wBAAgB,SAAS,IAAI,MAAM,CAQlC;AAED,wBAAgB,cAAc,IAAI,MAAM,CAQvC;AAED,wBAAgB,cAAc,IAAI,MAAM,CAOvC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { jotaiStore } from '../../core/inputs/state/store.js';
|
|
2
|
+
import { devURLsAtom } from '../../core/state/configAtom.js';
|
|
3
|
+
|
|
4
|
+
const PROD_API_URL = "https://api.paraswap.io";
|
|
5
|
+
const PROD_PROXY_API_URL = "https://proxy.paraswap.io";
|
|
6
|
+
const PROD_EXPLORER_URL = "https://explorer.velora.xyz";
|
|
7
|
+
function getApiURL() {
|
|
8
|
+
const {
|
|
9
|
+
apiURL
|
|
10
|
+
} = jotaiStore.get(devURLsAtom);
|
|
11
|
+
if (apiURL) return apiURL;
|
|
12
|
+
return PROD_API_URL;
|
|
13
|
+
}
|
|
14
|
+
function getApiProxyURL() {
|
|
15
|
+
const {
|
|
16
|
+
apiProxyURL
|
|
17
|
+
} = jotaiStore.get(devURLsAtom);
|
|
18
|
+
if (apiProxyURL) return apiProxyURL;
|
|
19
|
+
return PROD_PROXY_API_URL;
|
|
20
|
+
}
|
|
21
|
+
function getExplorerURL() {
|
|
22
|
+
const {
|
|
23
|
+
explorerURL
|
|
24
|
+
} = jotaiStore.get(devURLsAtom);
|
|
25
|
+
if (explorerURL) return explorerURL;
|
|
26
|
+
return PROD_EXPLORER_URL;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export { getApiProxyURL, getApiURL, getExplorerURL };
|
|
30
|
+
//# sourceMappingURL=urls.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"urls.js","sources":["../../../src/lib/constants/urls.ts"],"sourcesContent":["import { jotaiStore } from \"@/core/inputs/state/store\";\nimport { devURLsAtom } from \"@/core/state/configAtom\";\n\nconst PROD_API_URL = \"https://api.paraswap.io\";\nconst PROD_PROXY_API_URL = \"https://proxy.paraswap.io\";\nconst PROD_EXPLORER_URL = \"https://explorer.velora.xyz\";\n\nexport function getApiURL(): string {\n const fromEnv = import.meta.env.VITE_API_URL;\n if (fromEnv) return fromEnv;\n\n const { apiURL } = jotaiStore.get(devURLsAtom);\n if (apiURL) return apiURL;\n\n return PROD_API_URL;\n}\n\nexport function getApiProxyURL(): string {\n const fromEnv = import.meta.env.VITE_API_PROXY_URL;\n if (fromEnv) return fromEnv;\n\n const { apiProxyURL } = jotaiStore.get(devURLsAtom);\n if (apiProxyURL) return apiProxyURL;\n\n return PROD_PROXY_API_URL;\n}\n\nexport function getExplorerURL(): string {\n const fromEnv = import.meta.env.VITE_EXPLORER_URL;\n if (fromEnv) return fromEnv;\n\n const { explorerURL } = jotaiStore.get(devURLsAtom);\n if (explorerURL) return explorerURL;\n return PROD_EXPLORER_URL;\n}\n"],"names":["PROD_API_URL","PROD_PROXY_API_URL","PROD_EXPLORER_URL","getApiURL","apiURL","jotaiStore","get","devURLsAtom","getApiProxyURL","apiProxyURL","getExplorerURL","explorerURL"],"mappings":";;;AAGA,MAAMA,YAAAA,GAAe,yBAAA;AACrB,MAAMC,kBAAAA,GAAqB,2BAAA;AAC3B,MAAMC,iBAAAA,GAAoB,6BAAA;AAEnB,SAASC,SAAAA,GAAoB;AAIlC,EAAA,MAAM;AAAA,IAAEC;AAAAA,GAAO,GAAIC,UAAAA,CAAWC,GAAAA,CAAIC,WAAW,CAAA;AAC7C,EAAA,IAAIH,QAAQ,OAAOA,MAAAA;AAEnB,EAAA,OAAOJ,YAAAA;AACT;AAEO,SAASQ,cAAAA,GAAyB;AAIvC,EAAA,MAAM;AAAA,IAAEC;AAAAA,GAAY,GAAIJ,UAAAA,CAAWC,GAAAA,CAAIC,WAAW,CAAA;AAClD,EAAA,IAAIE,aAAa,OAAOA,WAAAA;AAExB,EAAA,OAAOR,kBAAAA;AACT;AAEO,SAASS,cAAAA,GAAyB;AAIvC,EAAA,MAAM;AAAA,IAAEC;AAAAA,GAAY,GAAIN,UAAAA,CAAWC,GAAAA,CAAIC,WAAW,CAAA;AAClD,EAAA,IAAII,aAAa,OAAOA,WAAAA;AACxB,EAAA,OAAOT,iBAAAA;AACT;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"explorer.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/explorer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"explorer.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/explorer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAGpC,eAAO,MAAM,oBAAoB,GAC/B,UAAU,MAAM,EAChB,SAAS,MAAM,KACd,MAEF,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC7B,UAAU,MAAM,EAChB,SAAS,MAAM,KACd,MAEF,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,UAAU,MAAM,EAAE,SAAS,MAAM,KAAG,MAEnE,CAAC;AAEF,wBAAgB,iCAAiC,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEzE;AAED,wBAAgB,gCAAgC,CAAC,WAAW,EAAE,OAAO,GAAG,MAAM,CAE7E;AAED,KAAK,iCAAiC,GAAG;IACvC,OAAO,EAAE,gBAAgB,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,4BAA4B,GAAI,uBAG1C,iCAAiC,KAAG,MAAM,GAAG,SAK/C,CAAC;AAEF,eAAO,MAAM,0BAA0B,GAAI,uBAGxC,iCAAiC,KAAG,MAAM,GAAG,SAK/C,CAAC;AAEF,KAAK,4BAA4B,GAAG;IAClC,OAAO,EAAE,gBAAgB,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,sBAGrC,4BAA4B,KAAG,MAAM,GAAG,SAK1C,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { chainConfigMap } from '../web3/wagmi/constants.js';
|
|
2
|
+
import { getExplorerURL } from '../constants/urls.js';
|
|
2
3
|
|
|
3
4
|
const constructAddressLink = (explorer, address) => {
|
|
4
5
|
return `${explorer}/address/${address}`;
|
|
@@ -9,12 +10,11 @@ const constructTokenLink = (explorer, address) => {
|
|
|
9
10
|
const constructTxLink = (explorer, address) => {
|
|
10
11
|
return `${explorer}/tx/${address}`;
|
|
11
12
|
};
|
|
12
|
-
const VELORA_EXPLORER_URL = "https://explorer.velora.xyz";
|
|
13
13
|
function constructExplorerOrderDetailsLink(orderId) {
|
|
14
|
-
return `${
|
|
14
|
+
return `${getExplorerURL()}/order/${orderId}`;
|
|
15
15
|
}
|
|
16
16
|
function constructExplorerUserDetailsLink(userAddress) {
|
|
17
|
-
return `${
|
|
17
|
+
return `${getExplorerURL()}/address/${userAddress}`;
|
|
18
18
|
}
|
|
19
19
|
const constructAddressLinkForChain = ({
|
|
20
20
|
chainId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"explorer.js","sources":["../../../src/lib/utils/explorer.ts"],"sourcesContent":["import type { SupportedChainId } from \"../web3/wagmi/types\";\nimport { chainConfigMap } from \"../web3/wagmi/constants\";\nimport type { Address } from \"viem\";\n\nexport const constructAddressLink = (\n explorer: string,\n address: string\n): string => {\n return `${explorer}/address/${address}`;\n};\n\nexport const constructTokenLink = (\n explorer: string,\n address: string\n): string => {\n return `${explorer}/token/${address}`;\n};\n\nexport const constructTxLink = (explorer: string, address: string): string => {\n return `${explorer}/tx/${address}`;\n};\n\
|
|
1
|
+
{"version":3,"file":"explorer.js","sources":["../../../src/lib/utils/explorer.ts"],"sourcesContent":["import type { SupportedChainId } from \"../web3/wagmi/types\";\nimport { chainConfigMap } from \"../web3/wagmi/constants\";\nimport type { Address } from \"viem\";\nimport { getExplorerURL } from \"../constants/urls\";\n\nexport const constructAddressLink = (\n explorer: string,\n address: string\n): string => {\n return `${explorer}/address/${address}`;\n};\n\nexport const constructTokenLink = (\n explorer: string,\n address: string\n): string => {\n return `${explorer}/token/${address}`;\n};\n\nexport const constructTxLink = (explorer: string, address: string): string => {\n return `${explorer}/tx/${address}`;\n};\n\nexport function constructExplorerOrderDetailsLink(orderId: string): string {\n return `${getExplorerURL()}/order/${orderId}`;\n}\n\nexport function constructExplorerUserDetailsLink(userAddress: Address): string {\n return `${getExplorerURL()}/address/${userAddress}`;\n}\n\ntype ConstructAddressLinkForChainInput = {\n chainId: SupportedChainId;\n address: string;\n};\n\nexport const constructAddressLinkForChain = ({\n chainId,\n address,\n}: ConstructAddressLinkForChainInput): string | undefined => {\n const explorer = chainConfigMap[chainId].blockExplorers?.default.url;\n if (!explorer) return;\n\n return constructAddressLink(explorer, address);\n};\n\nexport const constructTokenLinkForChain = ({\n chainId,\n address,\n}: ConstructAddressLinkForChainInput): string | undefined => {\n const explorer = chainConfigMap[chainId].blockExplorers?.default.url;\n if (!explorer) return;\n\n return constructTokenLink(explorer, address);\n};\n\ntype ConstructTxLinkForChainInput = {\n chainId: SupportedChainId;\n txHash: string;\n};\n\nexport const constructTxLinkForChain = ({\n chainId,\n txHash,\n}: ConstructTxLinkForChainInput): string | undefined => {\n const explorer = chainConfigMap[chainId].blockExplorers?.default.url;\n if (!explorer) return;\n\n return constructTxLink(explorer, txHash);\n};\n"],"names":["constructAddressLink","explorer","address","constructTokenLink","constructTxLink","constructExplorerOrderDetailsLink","orderId","getExplorerURL","constructExplorerUserDetailsLink","userAddress","constructAddressLinkForChain","chainId","chainConfigMap","blockExplorers","default","url","constructTokenLinkForChain","constructTxLinkForChain","txHash"],"mappings":";;;AAKO,MAAMA,oBAAAA,GAAuBA,CAClCC,QAAAA,EACAC,OAAAA,KACW;AACX,EAAA,OAAO,CAAA,EAAGD,QAAQ,CAAA,SAAA,EAAYC,OAAO,CAAA,CAAA;AACvC;AAEO,MAAMC,kBAAAA,GAAqBA,CAChCF,QAAAA,EACAC,OAAAA,KACW;AACX,EAAA,OAAO,CAAA,EAAGD,QAAQ,CAAA,OAAA,EAAUC,OAAO,CAAA,CAAA;AACrC;AAEO,MAAME,eAAAA,GAAkBA,CAACH,QAAAA,EAAkBC,OAAAA,KAA4B;AAC5E,EAAA,OAAO,CAAA,EAAGD,QAAQ,CAAA,IAAA,EAAOC,OAAO,CAAA,CAAA;AAClC;AAEO,SAASG,kCAAkCC,OAAAA,EAAyB;AACzE,EAAA,OAAO,CAAA,EAAGC,cAAAA,EAAgB,CAAA,OAAA,EAAUD,OAAO,CAAA,CAAA;AAC7C;AAEO,SAASE,iCAAiCC,WAAAA,EAA8B;AAC7E,EAAA,OAAO,CAAA,EAAGF,cAAAA,EAAgB,CAAA,SAAA,EAAYE,WAAW,CAAA,CAAA;AACnD;AAOO,MAAMC,+BAA+BA,CAAC;AAAA,EAC3CC,OAAAA;AAAAA,EACAT;AACiC,CAAA,KAA0B;AAC3D,EAAA,MAAMD,QAAAA,GAAWW,cAAAA,CAAeD,OAAO,CAAA,CAAEE,gBAAgBC,OAAAA,CAAQC,GAAAA;AACjE,EAAA,IAAI,CAACd,QAAAA,EAAU;AAEf,EAAA,OAAOD,oBAAAA,CAAqBC,UAAUC,OAAO,CAAA;AAC/C;AAEO,MAAMc,6BAA6BA,CAAC;AAAA,EACzCL,OAAAA;AAAAA,EACAT;AACiC,CAAA,KAA0B;AAC3D,EAAA,MAAMD,QAAAA,GAAWW,cAAAA,CAAeD,OAAO,CAAA,CAAEE,gBAAgBC,OAAAA,CAAQC,GAAAA;AACjE,EAAA,IAAI,CAACd,QAAAA,EAAU;AAEf,EAAA,OAAOE,kBAAAA,CAAmBF,UAAUC,OAAO,CAAA;AAC7C;AAOO,MAAMe,0BAA0BA,CAAC;AAAA,EACtCN,OAAAA;AAAAA,EACAO;AAC4B,CAAA,KAA0B;AACtD,EAAA,MAAMjB,QAAAA,GAAWW,cAAAA,CAAeD,OAAO,CAAA,CAAEE,gBAAgBC,OAAAA,CAAQC,GAAAA;AACjE,EAAA,IAAI,CAACd,QAAAA,EAAU;AAEf,EAAA,OAAOG,eAAAA,CAAgBH,UAAUiB,MAAM,CAAA;AACzC;;;;"}
|
|
@@ -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: "
|
|
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
|
|
@@ -6,7 +6,7 @@ import { isInIframe } from './isInsideSafeIframe.js';
|
|
|
6
6
|
|
|
7
7
|
const connectors = [
|
|
8
8
|
walletConnect({
|
|
9
|
-
projectId: "
|
|
9
|
+
projectId: "9796e40630a6bea7605ac281b0deb939"
|
|
10
10
|
}),
|
|
11
11
|
injected(),
|
|
12
12
|
// metaMask() as CreateConnectorFn, // injected() detects metamask already
|
package/dist/styles.css
CHANGED
|
@@ -67,7 +67,7 @@
|
|
|
67
67
|
}
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
|
-
|
|
70
|
+
:root, :host {
|
|
71
71
|
--font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
|
72
72
|
--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
|
|
73
73
|
--color-red-800: oklch(44.4% .177 26.899);
|
|
@@ -1,3 +1,14 @@
|
|
|
1
|
-
import { TokenList } from '@uniswap/token-lists';
|
|
2
|
-
export declare function overrideTokenList(tokenList: TokenList, listURL: string):
|
|
1
|
+
import { TokenInfo, TokenList } from '@uniswap/token-lists';
|
|
2
|
+
export declare function overrideTokenList(tokenList: TokenList, listURL: string): {
|
|
3
|
+
tokens: TokenInfo[];
|
|
4
|
+
name: string;
|
|
5
|
+
timestamp: string;
|
|
6
|
+
version: import('@uniswap/token-lists').Version;
|
|
7
|
+
tokenMap?: {
|
|
8
|
+
readonly [key: string]: TokenInfo;
|
|
9
|
+
};
|
|
10
|
+
keywords?: string[];
|
|
11
|
+
tags?: import('@uniswap/token-lists').Tags;
|
|
12
|
+
logoURI?: string;
|
|
13
|
+
};
|
|
3
14
|
//# sourceMappingURL=overrides.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"overrides.d.ts","sourceRoot":"","sources":["../../src/tokens/overrides.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"overrides.d.ts","sourceRoot":"","sources":["../../src/tokens/overrides.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AA2JjE,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM;;;;;;;;;;;EA+CtE"}
|
package/dist/tokens/overrides.js
CHANGED
|
@@ -81,13 +81,81 @@ const TokenListsOverrides = {
|
|
|
81
81
|
}
|
|
82
82
|
}
|
|
83
83
|
};
|
|
84
|
+
const USDT0Icon = "https://static.optimism.io/data/USD%E2%82%AE0/logo.png";
|
|
85
|
+
const IndividualTokensOverrides = {
|
|
86
|
+
// USDT on Ethereum stays USDT
|
|
87
|
+
"0xdac17f958d2ee523a2206206994597c13d831ec7@1": {
|
|
88
|
+
merge: {
|
|
89
|
+
symbol: "USDT",
|
|
90
|
+
name: "Tether USD",
|
|
91
|
+
logoURI: "https://etherscan.io/token/images/tethernew_32.svg"
|
|
92
|
+
}
|
|
93
|
+
},
|
|
94
|
+
// USDT on other chains is USDT0 but tokenLists may have it under USDT,
|
|
95
|
+
// basically USDT on Ethereum bridged through LayerZero = USDT0.
|
|
96
|
+
// overriding their symbol from USD₮0 to USDT0 to make it consistent with other chains and searchable
|
|
97
|
+
"0xc2132d05d31c914a87c6611c10748aeb04b58e8f@137": {
|
|
98
|
+
merge: {
|
|
99
|
+
symbol: "USDT0",
|
|
100
|
+
name: "USD₮0",
|
|
101
|
+
logoURI: USDT0Icon
|
|
102
|
+
}
|
|
103
|
+
},
|
|
104
|
+
"0x01bff41798a0bcf287b996046ca68b395dbc1071@10": {
|
|
105
|
+
merge: {
|
|
106
|
+
symbol: "USDT0",
|
|
107
|
+
name: "USD₮0",
|
|
108
|
+
logoURI: USDT0Icon
|
|
109
|
+
}
|
|
110
|
+
},
|
|
111
|
+
"0xfd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9@42161": {
|
|
112
|
+
merge: {
|
|
113
|
+
symbol: "USDT0",
|
|
114
|
+
name: "USD₮0",
|
|
115
|
+
logoURI: USDT0Icon
|
|
116
|
+
}
|
|
117
|
+
},
|
|
118
|
+
"0x9151434b16b9763660705744891fa906f660ecc5@130": {
|
|
119
|
+
merge: {
|
|
120
|
+
symbol: "USDT0",
|
|
121
|
+
name: "USD₮0",
|
|
122
|
+
logoURI: USDT0Icon
|
|
123
|
+
}
|
|
124
|
+
},
|
|
125
|
+
// separate USDT0 on Base through Stargate bridge,
|
|
126
|
+
// included to make the symbol consistent with other chains and searchable
|
|
127
|
+
"0x102d758f688a4c1c5a80b116bd945d4455460282@8453": {
|
|
128
|
+
merge: {
|
|
129
|
+
symbol: "USDT0",
|
|
130
|
+
name: "Stargate USD₮0 (Bridged)",
|
|
131
|
+
logoURI: USDT0Icon
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
};
|
|
84
135
|
function overrideTokenList(tokenList, listURL) {
|
|
85
136
|
const overrides = TokenListsOverrides[listURL];
|
|
86
|
-
if (!overrides) return tokenList;
|
|
87
137
|
const overriddenTokens = tokenList.tokens.reduce((accum, tokenInfo) => {
|
|
138
|
+
const individualOverride = IndividualTokensOverrides[`${tokenInfo.address.toLowerCase()}@${tokenInfo.chainId}`];
|
|
139
|
+
if (individualOverride) {
|
|
140
|
+
if (individualOverride.remove) {
|
|
141
|
+
return accum;
|
|
142
|
+
}
|
|
143
|
+
if (individualOverride.merge) {
|
|
144
|
+
const override2 = {
|
|
145
|
+
...tokenInfo,
|
|
146
|
+
...individualOverride.merge
|
|
147
|
+
};
|
|
148
|
+
accum.push(override2);
|
|
149
|
+
return accum;
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
if (!overrides) {
|
|
153
|
+
accum.push(tokenInfo);
|
|
154
|
+
return accum;
|
|
155
|
+
}
|
|
88
156
|
const remove = overrides.remove?.has(tokenInfo.address.toLowerCase());
|
|
89
157
|
if (remove) return accum;
|
|
90
|
-
const override = overrides
|
|
158
|
+
const override = overrides.merge?.[tokenInfo.address.toLowerCase()];
|
|
91
159
|
const token = override ? {
|
|
92
160
|
...tokenInfo,
|
|
93
161
|
...override
|
|
@@ -95,7 +163,7 @@ function overrideTokenList(tokenList, listURL) {
|
|
|
95
163
|
accum.push(token);
|
|
96
164
|
return accum;
|
|
97
165
|
}, []);
|
|
98
|
-
if (overrides
|
|
166
|
+
if (overrides?.add) {
|
|
99
167
|
overriddenTokens.push(...overrides.add);
|
|
100
168
|
}
|
|
101
169
|
return {
|