@velora-dex/widget 0.3.11-dev.8 → 0.3.12

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 (153) hide show
  1. package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.d.ts.map +1 -1
  2. package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.js +65 -92
  3. package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.js.map +1 -1
  4. package/dist/components/web3/ConnectWallets/walletIcons.d.ts +1 -4
  5. package/dist/components/web3/ConnectWallets/walletIcons.d.ts.map +1 -1
  6. package/dist/components/web3/ConnectWallets/walletIcons.js +7 -18
  7. package/dist/components/web3/ConnectWallets/walletIcons.js.map +1 -1
  8. package/dist/components/widget/ReceiverAddress/state/subscriptions.d.ts.map +1 -1
  9. package/dist/components/widget/ReceiverAddress/state/subscriptions.js +5 -11
  10. package/dist/components/widget/ReceiverAddress/state/subscriptions.js.map +1 -1
  11. package/dist/components/widget/TransactionDetails/LimitOrderDetails/Controls.d.ts +2 -2
  12. package/dist/components/widget/TransactionDetails/LimitOrderDetails/Controls.d.ts.map +1 -1
  13. package/dist/components/widget/TransactionDetails/LimitOrderDetails/Controls.js +23 -22
  14. package/dist/components/widget/TransactionDetails/LimitOrderDetails/Controls.js.map +1 -1
  15. package/dist/components/widget/TransactionDetails/LimitOrderDetails/TransactionDetails.js +1 -1
  16. package/dist/components/widget/TransactionDetails/LimitOrderDetails/TransactionDetails.js.map +1 -1
  17. package/dist/configurator/Configurator.d.ts.map +1 -1
  18. package/dist/core/index.d.ts +1 -1
  19. package/dist/core/index.d.ts.map +1 -1
  20. package/dist/core/index.js +183 -133
  21. package/dist/core/index.js.map +1 -1
  22. package/dist/core/state/apiConfigAtom.d.ts +14 -0
  23. package/dist/core/state/apiConfigAtom.d.ts.map +1 -0
  24. package/dist/core/state/apiConfigAtom.js +20 -0
  25. package/dist/core/state/apiConfigAtom.js.map +1 -0
  26. package/dist/core/state/configAtom.d.ts.map +1 -1
  27. package/dist/core/state/configAtom.js +1 -5
  28. package/dist/core/state/configAtom.js.map +1 -1
  29. package/dist/core/state/externalProviderAtom.d.ts +0 -6
  30. package/dist/core/state/externalProviderAtom.d.ts.map +1 -1
  31. package/dist/core/state/externalProviderAtom.js +1 -4
  32. package/dist/core/state/externalProviderAtom.js.map +1 -1
  33. package/dist/core/types.d.ts +2 -0
  34. package/dist/core/types.d.ts.map +1 -1
  35. package/dist/events/getters/swap.d.ts.map +1 -1
  36. package/dist/events/getters/swap.js +1 -2
  37. package/dist/events/getters/swap.js.map +1 -1
  38. package/dist/events/hooks/useOnWalletConnect.d.ts.map +1 -1
  39. package/dist/events/hooks/useOnWalletConnect.js +1 -17
  40. package/dist/events/hooks/useOnWalletConnect.js.map +1 -1
  41. package/dist/events/types/connectWallet.d.ts +3 -4
  42. package/dist/events/types/connectWallet.d.ts.map +1 -1
  43. package/dist/hooks/batch/useAwaitCalls.d.ts.map +1 -1
  44. package/dist/hooks/batch/useAwaitCalls.js.map +1 -1
  45. package/dist/hooks/connectors/useIsConnectedSafe.d.ts +0 -1
  46. package/dist/hooks/connectors/useIsConnectedSafe.d.ts.map +1 -1
  47. package/dist/hooks/connectors/useIsConnectedSafe.js +2 -9
  48. package/dist/hooks/connectors/useIsConnectedSafe.js.map +1 -1
  49. package/dist/hooks/connectors/useIsGnosisSafeConnector.d.ts +1 -4
  50. package/dist/hooks/connectors/useIsGnosisSafeConnector.d.ts.map +1 -1
  51. package/dist/hooks/connectors/useIsGnosisSafeConnector.js +4 -3
  52. package/dist/hooks/connectors/useIsGnosisSafeConnector.js.map +1 -1
  53. package/dist/hooks/connectors/useIsSafeThroughWalletConnect.d.ts +1 -1
  54. package/dist/hooks/connectors/useIsSafeThroughWalletConnect.d.ts.map +1 -1
  55. package/dist/hooks/connectors/useIsSafeThroughWalletConnect.js +2 -16
  56. package/dist/hooks/connectors/useIsSafeThroughWalletConnect.js.map +1 -1
  57. package/dist/hooks/otc/mutations/useFillOrder.js +2 -3
  58. package/dist/hooks/otc/mutations/useFillOrder.js.map +1 -1
  59. package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.js +0 -1
  60. package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.js.map +1 -1
  61. package/dist/hooks/otc/tradeFlow/useFillOtcOrderStep.d.ts.map +1 -1
  62. package/dist/hooks/otc/tradeFlow/useFillOtcOrderStep.js +4 -7
  63. package/dist/hooks/otc/tradeFlow/useFillOtcOrderStep.js.map +1 -1
  64. package/dist/hooks/swap/prices/useSwapPrices.d.ts.map +1 -1
  65. package/dist/hooks/swap/prices/useSwapPrices.js +69 -65
  66. package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
  67. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.d.ts.map +1 -1
  68. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js +1 -2
  69. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js.map +1 -1
  70. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
  71. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
  72. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.d.ts.map +1 -1
  73. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js +4 -7
  74. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js.map +1 -1
  75. package/dist/hooks/txs/queries/useAwaitTx.d.ts.map +1 -1
  76. package/dist/hooks/txs/queries/useAwaitTx.js +20 -71
  77. package/dist/hooks/txs/queries/useAwaitTx.js.map +1 -1
  78. package/dist/hooks/useSDK.d.ts.map +1 -1
  79. package/dist/hooks/useSDK.js +32 -19
  80. package/dist/hooks/useSDK.js.map +1 -1
  81. package/dist/lib/constants/storage.d.ts +1 -1
  82. package/dist/lib/constants/storage.d.ts.map +1 -1
  83. package/dist/lib/constants/storage.js +1 -3
  84. package/dist/lib/constants/storage.js.map +1 -1
  85. package/dist/lib/utils/index.d.ts +1 -0
  86. package/dist/lib/utils/index.d.ts.map +1 -1
  87. package/dist/lib/utils/index.js +18 -1
  88. package/dist/lib/utils/index.js.map +1 -1
  89. package/dist/lib/utils/toasts.d.ts +1 -1
  90. package/dist/lib/utils/toasts.d.ts.map +1 -1
  91. package/dist/lib/utils/toasts.js +1 -5
  92. package/dist/lib/utils/toasts.js.map +1 -1
  93. package/dist/lib/web3/privy/config.js +1 -1
  94. package/dist/lib/web3/wagmi/config.d.ts.map +1 -1
  95. package/dist/lib/web3/wagmi/config.js +2 -2
  96. package/dist/lib/web3/wagmi/config.js.map +1 -1
  97. package/dist/lib/web3/wagmi/external.d.ts +3 -10
  98. package/dist/lib/web3/wagmi/external.d.ts.map +1 -1
  99. package/dist/lib/web3/wagmi/external.js +2 -17
  100. package/dist/lib/web3/wagmi/external.js.map +1 -1
  101. package/dist/lib/web3/wagmi/isInsideSafeIframe.d.ts +1 -0
  102. package/dist/lib/web3/wagmi/isInsideSafeIframe.d.ts.map +1 -1
  103. package/dist/lib/web3/wagmi/isInsideSafeIframe.js +2 -2
  104. package/dist/lib/web3/wagmi/isInsideSafeIframe.js.map +1 -1
  105. package/dist/lib/web3/wagmi/switchChain.d.ts.map +1 -1
  106. package/dist/lib/web3/wagmi/switchChain.js +1 -5
  107. package/dist/lib/web3/wagmi/switchChain.js.map +1 -1
  108. package/dist/styles.css +1 -1
  109. package/dist/transactions/queries/ensureCallsStatus.d.ts.map +1 -1
  110. package/dist/transactions/queries/ensureCallsStatus.js +3 -11
  111. package/dist/transactions/queries/ensureCallsStatus.js.map +1 -1
  112. package/dist/transactions/queries/ensureTxReceipt.d.ts.map +1 -1
  113. package/dist/transactions/queries/ensureTxReceipt.js +4 -7
  114. package/dist/transactions/queries/ensureTxReceipt.js.map +1 -1
  115. package/dist/transactions/state/effects/finalize.d.ts +1 -7
  116. package/dist/transactions/state/effects/finalize.d.ts.map +1 -1
  117. package/dist/transactions/state/effects/finalize.js +7 -41
  118. package/dist/transactions/state/effects/finalize.js.map +1 -1
  119. package/dist/transactions/state/hooks/useActivateEffects.d.ts.map +1 -1
  120. package/dist/transactions/state/hooks/useActivateEffects.js +2 -4
  121. package/dist/transactions/state/hooks/useActivateEffects.js.map +1 -1
  122. package/dist/transactions/state/transactionsActionAtom.d.ts.map +1 -1
  123. package/dist/transactions/state/transactionsActionAtom.js +15 -58
  124. package/dist/transactions/state/transactionsActionAtom.js.map +1 -1
  125. package/dist/transactions/state/transactionsAtom.js +2 -2
  126. package/dist/transactions/state/transactionsAtom.js.map +1 -1
  127. package/dist/transactions/types.d.ts +1 -18
  128. package/dist/transactions/types.d.ts.map +1 -1
  129. package/dist/transactions/utils.d.ts +1 -2
  130. package/dist/transactions/utils.d.ts.map +1 -1
  131. package/dist/transactions/utils.js +1 -7
  132. package/dist/transactions/utils.js.map +1 -1
  133. package/package.json +1 -3
  134. package/dist/components/web3/ConnectExternalProvider/constants.d.ts +0 -3
  135. package/dist/components/web3/ConnectExternalProvider/constants.d.ts.map +0 -1
  136. package/dist/components/web3/ConnectExternalProvider/constants.js +0 -5
  137. package/dist/components/web3/ConnectExternalProvider/constants.js.map +0 -1
  138. package/dist/components/web3/ConnectExternalProvider/utils.d.ts +0 -13
  139. package/dist/components/web3/ConnectExternalProvider/utils.d.ts.map +0 -1
  140. package/dist/components/web3/ConnectExternalProvider/utils.js +0 -32
  141. package/dist/components/web3/ConnectExternalProvider/utils.js.map +0 -1
  142. package/dist/configurator/Safe/SafeConnector.d.ts +0 -23
  143. package/dist/configurator/Safe/SafeConnector.d.ts.map +0 -1
  144. package/dist/configurator/Safe/useSafeConnector.d.ts +0 -8
  145. package/dist/configurator/Safe/useSafeConnector.d.ts.map +0 -1
  146. package/dist/lib/web3/wagmi/isInIframe.d.ts +0 -2
  147. package/dist/lib/web3/wagmi/isInIframe.d.ts.map +0 -1
  148. package/dist/lib/web3/wagmi/isInIframe.js +0 -4
  149. package/dist/lib/web3/wagmi/isInIframe.js.map +0 -1
  150. package/dist/transactions/hash.d.ts +0 -7
  151. package/dist/transactions/hash.d.ts.map +0 -1
  152. package/dist/transactions/hash.js +0 -34
  153. package/dist/transactions/hash.js.map +0 -1
@@ -1,16 +1,35 @@
1
1
  import axios from 'axios';
2
2
  import { useMemo } from 'react';
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';
3
+ import { constructPartialSDK, constructGetDeltaOrders, constructGetDeltaPrice, constructBuildDeltaOrder, constructPostDeltaOrder, constructGetBridgeInfo, constructIsTokenSupportedInDelta, constructViemContractCaller, constructCancelDeltaOrder, constructSignDeltaOrder, constructGetRate, constructGetSpender, constructBuildTx, constructAxiosFetcher, constructFillOrderDirectly, constructPreSignDeltaOrder, constructGetLimitOrders, constructBuildLimitOrder, constructPostLimitOrder, constructAllLimitOrdersHandlers, constructFetchFetcher } from '@velora-dex/sdk';
4
4
  import { encodeFunctionData } from 'viem';
5
5
  import { getLogger } from '../core/logger.js';
6
6
  import { getApiURL } from '../lib/constants/urls.js';
7
+ import { useApiConfig } from '../core/state/apiConfigAtom.js';
7
8
 
8
- const fetcher = constructAxiosFetcher(axios);
9
+ function useSDKFetcher() {
10
+ "use no memo";
11
+ const apiConfig = useApiConfig();
12
+ return useMemo(() => {
13
+ return constructAxiosFetcher(axios, apiConfig);
14
+ }, [apiConfig]);
15
+ }
16
+ function useKeepAliveSDKFetcher() {
17
+ "use no memo";
18
+ const apiConfig = useApiConfig();
19
+ return useMemo(() => {
20
+ if (typeof window === "undefined") return;
21
+ return constructFetchFetcher(window.fetch, {
22
+ ...apiConfig,
23
+ keepalive: true
24
+ });
25
+ }, [apiConfig]);
26
+ }
9
27
  function useMarketSwapSDK({
10
28
  chainId,
11
29
  apiURL
12
30
  }) {
13
31
  "use no memo";
32
+ const fetcher = useSDKFetcher();
14
33
  const sdk = useMemo(() => {
15
34
  const SDKconfig = {
16
35
  apiURL: apiURL ?? getApiURL(),
@@ -18,7 +37,7 @@ function useMarketSwapSDK({
18
37
  fetcher
19
38
  };
20
39
  return constructPartialSDK(SDKconfig, constructGetRate, constructGetSpender, constructBuildTx);
21
- }, [apiURL, chainId]);
40
+ }, [apiURL, chainId, fetcher]);
22
41
  return {
23
42
  appVersion: sdk.version,
24
43
  chainId: sdk.chainId,
@@ -34,6 +53,7 @@ function useLimitOrdersSDK({
34
53
  client
35
54
  }) {
36
55
  "use no memo";
56
+ const fetcher = useSDKFetcher();
37
57
  const sdk = useMemo(() => {
38
58
  limitSDKLogger.once.log("init sdk");
39
59
  const SDKconfig = {
@@ -49,7 +69,7 @@ function useLimitOrdersSDK({
49
69
  ...SDKconfig,
50
70
  contractCaller
51
71
  }, constructAllLimitOrdersHandlers);
52
- }, [client, account, apiURL, chainId]);
72
+ }, [client, account, apiURL, chainId, fetcher]);
53
73
  return {
54
74
  appVersion: sdk.version,
55
75
  chainId: sdk.chainId,
@@ -85,24 +105,15 @@ const useFetchOnlySDK = ({
85
105
  apiURL
86
106
  }) => {
87
107
  "use no memo";
108
+ const fetcher = useKeepAliveSDKFetcher();
88
109
  const sdk = useMemo(() => {
89
- if (typeof window === "undefined") return;
90
- const _fetcher = constructFetchFetcher(window.fetch);
91
- const fetcher2 = (params) => {
92
- return _fetcher({
93
- ...params,
94
- requestParams: {
95
- ...params.requestParams,
96
- keepalive: true
97
- }
98
- });
99
- };
110
+ if (!fetcher) return;
100
111
  return constructPartialSDK({
101
112
  apiURL: apiURL ?? getApiURL(),
102
113
  chainId,
103
- fetcher: fetcher2
114
+ fetcher
104
115
  }, constructPostDeltaOrder);
105
- }, [apiURL, chainId]);
116
+ }, [apiURL, chainId, fetcher]);
106
117
  return {
107
118
  appVersion: sdk?.version,
108
119
  chainId: sdk?.chainId,
@@ -117,6 +128,7 @@ const useCalldataSDK = ({
117
128
  client
118
129
  }) => {
119
130
  "use no memo";
131
+ const fetcher = useSDKFetcher();
120
132
  const sdk = useMemo(() => {
121
133
  if (!client) return;
122
134
  calldataSDKLogger.once.log("init sdk");
@@ -128,7 +140,7 @@ const useCalldataSDK = ({
128
140
  contractCaller
129
141
  };
130
142
  return constructPartialSDK(SDKconfig, constructFillOrderDirectly, constructPreSignDeltaOrder, constructBuildDeltaOrder);
131
- }, [apiURL, chainId, client]);
143
+ }, [apiURL, chainId, client, fetcher]);
132
144
  return {
133
145
  appVersion: sdk?.version,
134
146
  chainId: sdk?.chainId,
@@ -144,6 +156,7 @@ function useDeltaSDK({
144
156
  client
145
157
  }) {
146
158
  "use no memo";
159
+ const fetcher = useSDKFetcher();
147
160
  const sdk = useMemo(() => {
148
161
  deltaSDKLogger.once.log("init sdk");
149
162
  const SDKconfig = {
@@ -159,7 +172,7 @@ function useDeltaSDK({
159
172
  ...SDKconfig,
160
173
  contractCaller
161
174
  }, constructGetDeltaOrders, constructGetDeltaPrice, constructBuildDeltaOrder, constructPostDeltaOrder, constructCancelDeltaOrder, constructGetBridgeInfo, constructIsTokenSupportedInDelta, constructSignDeltaOrder);
162
- }, [apiURL, chainId, client, account]);
175
+ }, [apiURL, chainId, client, account, fetcher]);
163
176
  return {
164
177
  appVersion: sdk.version,
165
178
  chainId: sdk.chainId,
@@ -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 { getLogger } 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\nconst limitSDKLogger = getLogger(\"LimitOrdersSDK\");\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 sdk = useMemo(() => {\n limitSDKLogger.once.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]);\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\nconst calldataSDKLogger = getLogger(\"CalldataSDK\");\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 sdk = useMemo(() => {\n if (!client) return;\n calldataSDKLogger.once.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 }, [apiURL, chainId, client]);\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\nconst deltaSDKLogger = getLogger(\"DeltaSDK\");\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 sdk = useMemo(() => {\n deltaSDKLogger.once.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 }, [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","limitSDKLogger","getLogger","useLimitOrdersSDK","account","client","once","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","calldataSDKLogger","useCalldataSDK","constructFillOrderDirectly","constructPreSignDeltaOrder","constructBuildDeltaOrder","deltaSDKLogger","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 { getLogger } from \"@/core/logger\";\nimport { getApiURL } from \"@/lib/constants/urls\";\nimport { useApiConfig } from \"@/core/state/apiConfigAtom\";\n\nfunction useSDKFetcher() {\n \"use no memo\";\n\n const apiConfig = useApiConfig();\n\n return useMemo(() => {\n return constructAxiosFetcher(axios, apiConfig);\n }, [apiConfig]);\n}\n\nfunction useKeepAliveSDKFetcher() {\n \"use no memo\";\n\n const apiConfig = useApiConfig();\n\n return useMemo(() => {\n if (typeof window === \"undefined\") return;\n return constructFetchFetcher(window.fetch, {\n ...apiConfig,\n keepalive: true,\n });\n }, [apiConfig]);\n}\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 fetcher = useSDKFetcher();\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, fetcher]);\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\nconst limitSDKLogger = getLogger(\"LimitOrdersSDK\");\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 fetcher = useSDKFetcher();\n\n const sdk = useMemo(() => {\n limitSDKLogger.once.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, fetcher]);\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 // 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 const fetcher = useKeepAliveSDKFetcher();\n\n const sdk = useMemo(() => {\n if (!fetcher) return;\n\n return constructPartialSDK(\n {\n apiURL: apiURL ?? getApiURL(),\n chainId,\n fetcher,\n },\n constructPostDeltaOrder\n );\n }, [apiURL, chainId, fetcher]);\n\n return {\n appVersion: sdk?.version,\n chainId: sdk?.chainId,\n apiURL: sdk?.apiURL,\n sdk,\n };\n};\n\nconst calldataSDKLogger = getLogger(\"CalldataSDK\");\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 fetcher = useSDKFetcher();\n\n const sdk = useMemo(() => {\n if (!client) return;\n calldataSDKLogger.once.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 }, [apiURL, chainId, client, fetcher]);\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\nconst deltaSDKLogger = getLogger(\"DeltaSDK\");\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 fetcher = useSDKFetcher();\n\n const sdk = useMemo(() => {\n deltaSDKLogger.once.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 }, [apiURL, chainId, client, account, fetcher]);\n\n return {\n appVersion: sdk.version,\n chainId: sdk.chainId,\n apiURL: sdk.apiURL,\n sdk,\n };\n}\n"],"names":["useSDKFetcher","apiConfig","useApiConfig","useMemo","constructAxiosFetcher","axios","useKeepAliveSDKFetcher","window","constructFetchFetcher","fetch","keepalive","useMarketSwapSDK","chainId","apiURL","fetcher","sdk","SDKconfig","getApiURL","constructPartialSDK","constructGetRate","constructGetSpender","constructBuildTx","appVersion","version","limitSDKLogger","getLogger","useLimitOrdersSDK","account","client","once","log","constructGetLimitOrders","constructBuildLimitOrder","constructPostLimitOrder","contractCaller","constructViemContractCaller","constructAllLimitOrdersHandlers","constructCalldataContractCaller","transactCall","params","abi","contractMethod","functionName","args","calldata","encodeFunctionData","staticCall","Error","signTypedDataCall","useFetchOnlySDK","constructPostDeltaOrder","calldataSDKLogger","useCalldataSDK","constructFillOrderDirectly","constructPreSignDeltaOrder","constructBuildDeltaOrder","deltaSDKLogger","useDeltaSDK","constructGetDeltaOrders","constructGetDeltaPrice","constructGetBridgeInfo","constructIsTokenSupportedInDelta","constructCancelDeltaOrder","constructSignDeltaOrder"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export declare const LOCAL_STORAGE_PREFIX: string;
1
+ export declare const LOCAL_STORAGE_PREFIX = "velora_widget";
2
2
  //# sourceMappingURL=storage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/lib/constants/storage.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,oBAAoB,QAEd,CAAC"}
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/lib/constants/storage.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,kBAAkB,CAAC"}
@@ -1,6 +1,4 @@
1
- import { isInIframe } from '../web3/wagmi/isInIframe.js';
2
-
3
- const LOCAL_STORAGE_PREFIX = isInIframe ? "embedded_velora_widget" : "velora_widget";
1
+ const LOCAL_STORAGE_PREFIX = "velora_widget";
4
2
 
5
3
  export { LOCAL_STORAGE_PREFIX };
6
4
  //# sourceMappingURL=storage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"storage.js","sources":["../../../src/lib/constants/storage.ts"],"sourcesContent":["import { isInIframe } from \"../web3/wagmi/isInIframe\";\n\nexport const LOCAL_STORAGE_PREFIX = isInIframe\n ? \"embedded_velora_widget\"\n : \"velora_widget\";\n"],"names":["LOCAL_STORAGE_PREFIX","isInIframe"],"mappings":";;AAEO,MAAMA,oBAAAA,GAAuBC,aAChC,wBAAA,GACA;;;;"}
1
+ {"version":3,"file":"storage.js","sources":["../../../src/lib/constants/storage.ts"],"sourcesContent":["export const LOCAL_STORAGE_PREFIX = \"velora_widget\";\n"],"names":["LOCAL_STORAGE_PREFIX"],"mappings":"AAAO,MAAMA,oBAAAA,GAAuB;;;;"}
@@ -27,5 +27,6 @@ export declare function replaceUnderscoresWithSpaces(str: string): string;
27
27
  export declare function isValidUrl(url: string): boolean;
28
28
  export declare function unorderedShallowEqual<T>(a: T[], b: T[]): boolean;
29
29
  export declare function constructPropertiesEqual<K extends string>(properties: readonly K[]): (a: Partial<Record<K, unknown>>, b: Partial<Record<K, unknown>>) => boolean;
30
+ export declare function shallowEqual<T>(a: T, b: T): boolean;
30
31
  export {};
31
32
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/index.ts"],"names":[],"mappings":"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"}
@@ -74,6 +74,23 @@ function constructPropertiesEqual(properties) {
74
74
  return properties.every((key) => a[key] === b[key]);
75
75
  };
76
76
  }
77
+ function shallowEqual(a, b) {
78
+ if (a === b) {
79
+ return true;
80
+ }
81
+ if (typeof a !== "object" || typeof b !== "object" || !a || !b) {
82
+ return false;
83
+ }
84
+ const aKeys = Object.keys(a);
85
+ const bKeys = Object.keys(b);
86
+ if (aKeys.length !== bKeys.length) {
87
+ return false;
88
+ }
89
+ return aKeys.every((key) => (
90
+ // b[key] exists, and not a[key] === undefined && b[key] doesn't exist
91
+ Object.prototype.hasOwnProperty.call(b, key) && a[key] === b[key]
92
+ ));
93
+ }
77
94
 
78
- export { assertProp, cn, constructPropertiesEqual, filterInvalidTokenAddress, filterUnique, gatherObjectsByProp, hasCorrectAddressLength, isNonNullableEntry, isTruthy, isValidUrl, replaceUnderscoresWithSpaces, shortenAddress, shortenText, stringIncludes, unorderedShallowEqual };
95
+ export { assertProp, cn, constructPropertiesEqual, filterInvalidTokenAddress, filterUnique, gatherObjectsByProp, hasCorrectAddressLength, isNonNullableEntry, isTruthy, isValidUrl, replaceUnderscoresWithSpaces, shallowEqual, shortenAddress, shortenText, stringIncludes, unorderedShallowEqual };
79
96
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/lib/utils/index.ts"],"sourcesContent":["import type { Token } from \"@/tokens/state/types\";\nimport { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\nimport { assert } from \"ts-essentials\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n\n// reduce element[] to Object{key: prop, val?: element}\n// for example\n// gatherObjectsByProp(Token[], token => token.address) => Record<address, Token|undefined>\nexport function gatherObjectsByProp<T>(\n elements: T[],\n pickProp: (elem: T) => string\n): Record<string, T>;\nexport function gatherObjectsByProp<T, U>(\n elements: T[],\n pickProp: (elem: T) => string,\n transform: (elem: T, accumElem?: U) => U\n): Record<string, U>;\nexport function gatherObjectsByProp<T, U>(\n elements: T[],\n pickProp: (elem: T) => string,\n transform?: (elem: T, accumElem?: U) => U\n): Record<string, T> | Record<string, U> {\n return elements.reduce<Record<string, T> | Record<string, U>>(\n (accum, element) => {\n const key = pickProp(element);\n\n const accumElem: T | U | undefined = accum[key];\n const transformedElement = transform\n ? // if transform is available, can only be U | undefined\n transform(element, accumElem as U | undefined)\n : element;\n\n accum[key] = transformedElement;\n\n return accum;\n },\n {}\n );\n}\n\nexport function filterUnique<T, U>(\n elements: T[],\n // supports multikey filtering, if only one key required return [U]\n constructUniqueKeys: (element: T) => U[]\n): T[] {\n if (elements.length <= 1) return elements;\n const hasSeen = new Set<U>();\n\n return elements.filter((element) => {\n const keys = constructUniqueKeys(element);\n if (keys.some((key) => hasSeen.has(key))) return false;\n\n keys.forEach((key) => hasSeen.add(key));\n return true;\n });\n}\n\nexport const isTruthy = <T>(\n x: T | false | 0 | 0n | \"\" | null | undefined\n): x is T => !!x;\n\nexport function isNonNullableEntry<T>(\n entry: [key: string, value: T | null | undefined]\n): entry is [string, T] {\n return entry[1] !== null && entry[1] !== undefined;\n}\n\ntype ReturnIfTruthy<T> = typeof isTruthy<T>;\n\nexport function assertProp<\n T extends Record<string, unknown>,\n K extends keyof T,\n>(obj: T, prop: K): asserts obj is T & { [P in K]-?: ReturnIfTruthy<T[P]> } {\n assert(isTruthy(obj[prop]), `${String(prop)} is required`);\n}\n\nexport function hasCorrectAddressLength(maybeAddress: string): boolean {\n return maybeAddress.length === 42;\n}\n\nexport const filterInvalidTokenAddress = ({\n address,\n}: Pick<Token, \"address\">) => hasCorrectAddressLength(address);\n\nexport const stringIncludes = (a: string, b: string): boolean => {\n return a.toLowerCase().includes(b.toLowerCase());\n};\n\n/**\n * Shorten any string with more than 6 characters (included) by inserting ellipsis placeholder in between\n *\n * @param {string} str the string to shorten\n * @param {number} start how much to leave off the start\n * @param {number} [end=0] how much to leave off the end\n * @returns {string} shortened text\n */\nexport const shortenText = (\n str: string,\n start: number,\n end: number = 0\n): string => {\n const regexp = new RegExp(`(.{${start}}).{3,}(.{${end}})`);\n return str.replace(regexp, \"$1...$2\");\n};\n\nexport function shortenAddress(\n address: string,\n slashIndex = 6,\n rightCutLength = 4\n): string {\n // An ethereum address has 42 characters\n return shortenText(address, slashIndex, rightCutLength);\n}\n\nexport function replaceUnderscoresWithSpaces(str: string): string {\n return str.replace(/_/g, \" \");\n}\n\nexport function isValidUrl(url: string): boolean {\n try {\n new URL(url);\n return true;\n } catch {\n return false;\n }\n}\n\nexport function unorderedShallowEqual<T>(a: T[], b: T[]): boolean {\n if (a.length !== b.length) return false;\n const setA = new Set(a);\n for (const item of b) {\n if (!setA.has(item)) return false;\n }\n return true;\n}\n\nexport function constructPropertiesEqual<K extends string>(\n properties: readonly K[]\n): (a: Partial<Record<K, unknown>>, b: Partial<Record<K, unknown>>) => boolean {\n return (a, b) => {\n return properties.every((key) => a[key] === b[key]);\n };\n}\n"],"names":["cn","inputs","twMerge","clsx","gatherObjectsByProp","elements","pickProp","transform","reduce","accum","element","key","accumElem","transformedElement","filterUnique","constructUniqueKeys","length","hasSeen","Set","filter","keys","some","has","forEach","add","isTruthy","x","isNonNullableEntry","entry","undefined","assertProp","obj","prop","assert","String","hasCorrectAddressLength","maybeAddress","filterInvalidTokenAddress","address","stringIncludes","a","b","toLowerCase","includes","shortenText","str","start","end","regexp","RegExp","replace","shortenAddress","slashIndex","rightCutLength","replaceUnderscoresWithSpaces","isValidUrl","url","URL","unorderedShallowEqual","setA","item","constructPropertiesEqual","properties","every"],"mappings":";;;;AAKO,SAASA,MAAMC,MAAAA,EAAsB;AAC1C,EAAA,OAAOC,OAAAA,CAAQC,IAAAA,CAAKF,MAAM,CAAC,CAAA;AAC7B;AAcO,SAASG,mBAAAA,CACdC,QAAAA,EACAC,QAAAA,EACAC,SAAAA,EACuC;AACvC,EAAA,OAAOF,QAAAA,CAASG,MAAAA,CACd,CAACC,KAAAA,EAAOC,OAAAA,KAAY;AAClB,IAAA,MAAMC,GAAAA,GAAML,SAASI,OAAO,CAAA;AAE5B,IAAA,MAAME,SAAAA,GAA+BH,MAAME,GAAG,CAAA;AAC9C,IAAA,MAAME,kBAAAA,GAAqBN,SAAAA;AAAAA;AAAAA,MAEvBA,SAAAA,CAAUG,SAASE,SAA0B;AAAA,QAC7CF,OAAAA;AAEJD,IAAAA,KAAAA,CAAME,GAAG,CAAA,GAAIE,kBAAAA;AAEb,IAAA,OAAOJ,KAAAA;AAAAA,EACT,CAAA,EACA,EACF,CAAA;AACF;AAEO,SAASK,YAAAA,CACdT,UAEAU,mBAAAA,EACK;AACL,EAAA,IAAIV,QAAAA,CAASW,MAAAA,IAAU,CAAA,EAAG,OAAOX,QAAAA;AACjC,EAAA,MAAMY,OAAAA,uBAAcC,GAAAA,EAAO;AAE3B,EAAA,OAAOb,QAAAA,CAASc,OAAQT,CAAAA,OAAAA,KAAY;AAClC,IAAA,MAAMU,IAAAA,GAAOL,oBAAoBL,OAAO,CAAA;AACxC,IAAA,IAAIU,IAAAA,CAAKC,KAAMV,CAAAA,GAAAA,KAAQM,OAAAA,CAAQK,IAAIX,GAAG,CAAC,GAAG,OAAO,KAAA;AAEjDS,IAAAA,IAAAA,CAAKG,OAAAA,CAASZ,CAAAA,GAAAA,KAAQM,OAAAA,CAAQO,GAAAA,CAAIb,GAAG,CAAC,CAAA;AACtC,IAAA,OAAO,IAAA;AAAA,EACT,CAAC,CAAA;AACH;AAEO,MAAMc,QAAAA,GAAW,CACtBC,CAAAA,KACW,CAAC,CAACA;AAER,SAASC,mBACdC,KAAAA,EACsB;AACtB,EAAA,OAAOA,MAAM,CAAC,CAAA,KAAM,IAAA,IAAQA,KAAAA,CAAM,CAAC,CAAA,KAAMC,MAAAA;AAC3C;AAIO,SAASC,UAAAA,CAGdC,KAAQC,IAAAA,EAAkE;AAC1EC,EAAAA,MAAAA,CAAOR,QAAAA,CAASM,IAAIC,IAAI,CAAC,GAAG,CAAA,EAAGE,MAAAA,CAAOF,IAAI,CAAC,CAAA,YAAA,CAAc,CAAA;AAC3D;AAEO,SAASG,wBAAwBC,YAAAA,EAA+B;AACrE,EAAA,OAAOA,aAAapB,MAAAA,KAAW,EAAA;AACjC;AAEO,MAAMqB,4BAA4BA,CAAC;AAAA,EACxCC;AACsB,CAAA,KAAMH,wBAAwBG,OAAO;AAEtD,MAAMC,cAAAA,GAAiBA,CAACC,CAAAA,EAAWC,CAAAA,KAAuB;AAC/D,EAAA,OAAOD,EAAEE,WAAAA,EAAY,CAAEC,QAAAA,CAASF,CAAAA,CAAEC,aAAa,CAAA;AACjD;AAUO,MAAME,WAAAA,GAAcA,CACzBC,GAAAA,EACAC,KAAAA,EACAC,MAAc,CAAA,KACH;AACX,EAAA,MAAMC,SAAS,IAAIC,MAAAA,CAAO,MAAMH,KAAK,CAAA,UAAA,EAAaC,GAAG,CAAA,EAAA,CAAI,CAAA;AACzD,EAAA,OAAOF,GAAAA,CAAIK,OAAAA,CAAQF,MAAAA,EAAQ,SAAS,CAAA;AACtC;AAEO,SAASG,cAAAA,CACdb,OAAAA,EACAc,UAAAA,GAAa,CAAA,EACbC,iBAAiB,CAAA,EACT;AAER,EAAA,OAAOT,WAAAA,CAAYN,OAAAA,EAASc,UAAAA,EAAYC,cAAc,CAAA;AACxD;AAEO,SAASC,6BAA6BT,GAAAA,EAAqB;AAChE,EAAA,OAAOA,GAAAA,CAAIK,OAAAA,CAAQ,IAAA,EAAM,GAAG,CAAA;AAC9B;AAEO,SAASK,WAAWC,GAAAA,EAAsB;AAC/C,EAAA,IAAI;AACF,IAAA,IAAIC,IAAID,GAAG,CAAA;AACX,IAAA,OAAO,IAAA;AAAA,EACT,CAAA,CAAA,MAAQ;AACN,IAAA,OAAO,KAAA;AAAA,EACT;AACF;AAEO,SAASE,qBAAAA,CAAyBlB,GAAQC,CAAAA,EAAiB;AAChE,EAAA,IAAID,CAAAA,CAAExB,MAAAA,KAAWyB,CAAAA,CAAEzB,MAAAA,EAAQ,OAAO,KAAA;AAClC,EAAA,MAAM2C,IAAAA,GAAO,IAAIzC,GAAAA,CAAIsB,CAAC,CAAA;AACtB,EAAA,KAAA,MAAWoB,QAAQnB,CAAAA,EAAG;AACpB,IAAA,IAAI,CAACkB,IAAAA,CAAKrC,GAAAA,CAAIsC,IAAI,GAAG,OAAO,KAAA;AAAA,EAC9B;AACA,EAAA,OAAO,IAAA;AACT;AAEO,SAASC,yBACdC,UAAAA,EAC6E;AAC7E,EAAA,OAAO,CAACtB,GAAGC,CAAAA,KAAM;AACf,IAAA,OAAOqB,UAAAA,CAAWC,MAAOpD,CAAAA,GAAAA,KAAQ6B,CAAAA,CAAE7B,GAAG,CAAA,KAAM8B,CAAAA,CAAE9B,GAAG,CAAC,CAAA;AAAA,EACpD,CAAA;AACF;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/lib/utils/index.ts"],"sourcesContent":["import type { Token } from \"@/tokens/state/types\";\nimport { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\nimport { assert } from \"ts-essentials\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n\n// reduce element[] to Object{key: prop, val?: element}\n// for example\n// gatherObjectsByProp(Token[], token => token.address) => Record<address, Token|undefined>\nexport function gatherObjectsByProp<T>(\n elements: T[],\n pickProp: (elem: T) => string\n): Record<string, T>;\nexport function gatherObjectsByProp<T, U>(\n elements: T[],\n pickProp: (elem: T) => string,\n transform: (elem: T, accumElem?: U) => U\n): Record<string, U>;\nexport function gatherObjectsByProp<T, U>(\n elements: T[],\n pickProp: (elem: T) => string,\n transform?: (elem: T, accumElem?: U) => U\n): Record<string, T> | Record<string, U> {\n return elements.reduce<Record<string, T> | Record<string, U>>(\n (accum, element) => {\n const key = pickProp(element);\n\n const accumElem: T | U | undefined = accum[key];\n const transformedElement = transform\n ? // if transform is available, can only be U | undefined\n transform(element, accumElem as U | undefined)\n : element;\n\n accum[key] = transformedElement;\n\n return accum;\n },\n {}\n );\n}\n\nexport function filterUnique<T, U>(\n elements: T[],\n // supports multikey filtering, if only one key required return [U]\n constructUniqueKeys: (element: T) => U[]\n): T[] {\n if (elements.length <= 1) return elements;\n const hasSeen = new Set<U>();\n\n return elements.filter((element) => {\n const keys = constructUniqueKeys(element);\n if (keys.some((key) => hasSeen.has(key))) return false;\n\n keys.forEach((key) => hasSeen.add(key));\n return true;\n });\n}\n\nexport const isTruthy = <T>(\n x: T | false | 0 | 0n | \"\" | null | undefined\n): x is T => !!x;\n\nexport function isNonNullableEntry<T>(\n entry: [key: string, value: T | null | undefined]\n): entry is [string, T] {\n return entry[1] !== null && entry[1] !== undefined;\n}\n\ntype ReturnIfTruthy<T> = typeof isTruthy<T>;\n\nexport function assertProp<\n T extends Record<string, unknown>,\n K extends keyof T,\n>(obj: T, prop: K): asserts obj is T & { [P in K]-?: ReturnIfTruthy<T[P]> } {\n assert(isTruthy(obj[prop]), `${String(prop)} is required`);\n}\n\nexport function hasCorrectAddressLength(maybeAddress: string): boolean {\n return maybeAddress.length === 42;\n}\n\nexport const filterInvalidTokenAddress = ({\n address,\n}: Pick<Token, \"address\">) => hasCorrectAddressLength(address);\n\nexport const stringIncludes = (a: string, b: string): boolean => {\n return a.toLowerCase().includes(b.toLowerCase());\n};\n\n/**\n * Shorten any string with more than 6 characters (included) by inserting ellipsis placeholder in between\n *\n * @param {string} str the string to shorten\n * @param {number} start how much to leave off the start\n * @param {number} [end=0] how much to leave off the end\n * @returns {string} shortened text\n */\nexport const shortenText = (\n str: string,\n start: number,\n end: number = 0\n): string => {\n const regexp = new RegExp(`(.{${start}}).{3,}(.{${end}})`);\n return str.replace(regexp, \"$1...$2\");\n};\n\nexport function shortenAddress(\n address: string,\n slashIndex = 6,\n rightCutLength = 4\n): string {\n // An ethereum address has 42 characters\n return shortenText(address, slashIndex, rightCutLength);\n}\n\nexport function replaceUnderscoresWithSpaces(str: string): string {\n return str.replace(/_/g, \" \");\n}\n\nexport function isValidUrl(url: string) {\n try {\n new URL(url);\n return true;\n } catch {\n return false;\n }\n}\n\nexport function unorderedShallowEqual<T>(a: T[], b: T[]) {\n if (a.length !== b.length) return false;\n const setA = new Set(a);\n for (const item of b) {\n if (!setA.has(item)) return false;\n }\n return true;\n}\n\nexport function constructPropertiesEqual<K extends string>(\n properties: readonly K[]\n): (a: Partial<Record<K, unknown>>, b: Partial<Record<K, unknown>>) => boolean {\n return (a, b) => {\n return properties.every((key) => a[key] === b[key]);\n };\n}\n\nexport function shallowEqual<T>(a: T, b: T): boolean {\n // both the same value, check would pass for primitive values\n if (a === b) {\n return true;\n }\n\n // not an object, and checks for primitive have already been made\n if (typeof a !== \"object\" || typeof b !== \"object\" || !a || !b) {\n return false;\n }\n // both objects, check if they have the same keys\n const aKeys = Object.keys(a);\n const bKeys = Object.keys(b);\n // different number of keys\n if (aKeys.length !== bKeys.length) {\n return false;\n }\n return aKeys.every(\n (key) =>\n // b[key] exists, and not a[key] === undefined && b[key] doesn't exist\n Object.prototype.hasOwnProperty.call(b, key) &&\n a[key as keyof typeof a] === b[key as keyof typeof b]\n );\n}\n"],"names":["cn","inputs","twMerge","clsx","gatherObjectsByProp","elements","pickProp","transform","reduce","accum","element","key","accumElem","transformedElement","filterUnique","constructUniqueKeys","length","hasSeen","Set","filter","keys","some","has","forEach","add","isTruthy","x","isNonNullableEntry","entry","undefined","assertProp","obj","prop","assert","String","hasCorrectAddressLength","maybeAddress","filterInvalidTokenAddress","address","stringIncludes","a","b","toLowerCase","includes","shortenText","str","start","end","regexp","RegExp","replace","shortenAddress","slashIndex","rightCutLength","replaceUnderscoresWithSpaces","isValidUrl","url","URL","unorderedShallowEqual","setA","item","constructPropertiesEqual","properties","every","shallowEqual","aKeys","Object","bKeys","prototype","hasOwnProperty","call"],"mappings":"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"}
@@ -7,7 +7,7 @@ export type OrderSentObject = {
7
7
  order: SubmittedDeltaOrderFromAPI;
8
8
  lastOrderState: Promise<MaybeVeloraDeltaAuction>;
9
9
  };
10
- export declare function addTxToast({ transactionHash: _transactionHash, receiptPromise, chainId, }: {
10
+ export declare function addTxToast({ transactionHash, receiptPromise, chainId, }: {
11
11
  chainId: SupportedChainId;
12
12
  receiptPromise: Promise<TransactionReceipt | CallsReceipt | undefined>;
13
13
  transactionHash?: Hash;
@@ -1 +1 @@
1
- {"version":3,"file":"toasts.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/toasts.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,kDAAkD,CAAC;AACnG,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sDAAsD,CAAC;AAIpG,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,kBAAkB,EAAE,MAAM,MAAM,CAAC;AAK1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAK5D,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,0BAA0B,CAAC;IAClC,cAAc,EAAE,OAAO,CAAC,uBAAuB,CAAC,CAAC;CAClD,CAAC;AAEF,wBAAgB,UAAU,CAAC,EACzB,eAAe,EAAE,gBAAgB,EACjC,cAAc,EACd,OAAO,GACR,EAAE;IACD,OAAO,EAAE,gBAAgB,CAAC;IAC1B,cAAc,EAAE,OAAO,CAAC,kBAAkB,GAAG,YAAY,GAAG,SAAS,CAAC,CAAC;IACvE,eAAe,CAAC,EAAE,IAAI,CAAC;CACxB,QAmDA;AAED,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,eAAe,QA4B5D"}
1
+ {"version":3,"file":"toasts.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/toasts.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,kDAAkD,CAAC;AACnG,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sDAAsD,CAAC;AAIpG,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,kBAAkB,EAAE,MAAM,MAAM,CAAC;AAK1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAI5D,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,0BAA0B,CAAC;IAClC,cAAc,EAAE,OAAO,CAAC,uBAAuB,CAAC,CAAC;CAClD,CAAC;AAEF,wBAAgB,UAAU,CAAC,EACzB,eAAe,EACf,cAAc,EACd,OAAO,GACR,EAAE;IACD,OAAO,EAAE,gBAAgB,CAAC;IAC1B,cAAc,EAAE,OAAO,CAAC,kBAAkB,GAAG,YAAY,GAAG,SAAS,CAAC,CAAC;IACvE,eAAe,CAAC,EAAE,IAAI,CAAC;CACxB,QAgDA;AAED,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,eAAe,QA4B5D"}
@@ -3,17 +3,13 @@ import { CustomToast } from '../../components/widget/Toasts/CustomToast.js';
3
3
  import { toast } from 'sonner';
4
4
  import 'viem';
5
5
  import { constructTxLinkForChain, constructExplorerOrderDetailsLink } from './explorer.js';
6
- import { getStandaloneTxHash } from '../../transactions/hash.js';
7
6
 
8
7
  function addTxToast({
9
- transactionHash: _transactionHash,
8
+ transactionHash,
10
9
  receiptPromise,
11
10
  chainId
12
11
  }) {
13
12
  const toastId = crypto.randomUUID();
14
- const transactionHash = getStandaloneTxHash({
15
- transactionHash: _transactionHash
16
- });
17
13
  const _detailsLink = transactionHash ? constructTxLinkForChain({
18
14
  chainId,
19
15
  txHash: transactionHash
@@ -1 +1 @@
1
- {"version":3,"file":"toasts.js","sources":["../../../src/lib/utils/toasts.tsx"],"sourcesContent":["import type { SubmittedDeltaOrderFromAPI } from \"@/hooks/swap/prices/delta/queries/useDeltaOrders\";\nimport type { MaybeVeloraDeltaAuction } from \"@/hooks/swap/prices/delta/queries/useWatchDeltaOrder\";\n\nimport { CustomToast } from \"@/components/widget/Toasts/CustomToast\";\nimport { toast } from \"sonner\";\nimport { type Hash, type TransactionReceipt } from \"viem\";\nimport {\n constructExplorerOrderDetailsLink,\n constructTxLinkForChain,\n} from \"./explorer\";\nimport type { CallsReceipt } from \"@/hooks/batch/useAwaitCalls\";\nimport type { SupportedChainId } from \"../web3/wagmi/types\";\nimport { getStandaloneTxHash } from \"@/transactions/hash\";\n\ntype ToastPromiseData<T> = NonNullable<Parameters<typeof toast.promise<T>>[1]>;\n\nexport type OrderSentObject = {\n order: SubmittedDeltaOrderFromAPI;\n lastOrderState: Promise<MaybeVeloraDeltaAuction>;\n};\n\nexport function addTxToast({\n transactionHash: _transactionHash,\n receiptPromise,\n chainId,\n}: {\n chainId: SupportedChainId;\n receiptPromise: Promise<TransactionReceipt | CallsReceipt | undefined>;\n transactionHash?: Hash;\n}) {\n const toastId = crypto.randomUUID();\n\n const transactionHash = getStandaloneTxHash({\n transactionHash: _transactionHash,\n });\n const _detailsLink = transactionHash\n ? constructTxLinkForChain({ chainId, txHash: transactionHash })\n : undefined;\n\n const toastOptions: ToastPromiseData<\n TransactionReceipt | CallsReceipt | undefined\n > = {\n id: toastId,\n loading: (\n <CustomToast\n variant=\"loading\"\n label=\"Pending Transaction\"\n toastId={toastId}\n detailsLink={_detailsLink}\n />\n ),\n success: (receipt) => {\n let detailsLink = _detailsLink;\n if (!detailsLink && receipt) {\n detailsLink = constructTxLinkForChain({\n chainId,\n txHash: receipt.transactionHash,\n });\n }\n\n return (\n <CustomToast\n variant=\"success\"\n label=\"Transaction Confirmed\"\n toastId={toastId}\n detailsLink={detailsLink}\n />\n );\n },\n error: (\n <CustomToast\n variant=\"error\"\n label=\"Transaction Failed\"\n toastId={toastId}\n detailsLink={_detailsLink}\n />\n ),\n };\n\n toast.promise(receiptPromise, toastOptions);\n}\n\nexport function addDeltaOrderToast(orderSent: OrderSentObject) {\n const customToastProps = {\n toastId: crypto.randomUUID(),\n detailsLink: constructExplorerOrderDetailsLink(orderSent.order.id),\n };\n\n const toastOptions = {\n id: customToastProps.toastId,\n loading: (\n <CustomToast\n variant=\"loading\"\n label=\"Pending Order\"\n {...customToastProps}\n />\n ),\n success: (\n <CustomToast\n variant=\"success\"\n label=\"Order Confirmed\"\n {...customToastProps}\n />\n ),\n error: (\n <CustomToast variant=\"error\" label=\"Order Failed\" {...customToastProps} />\n ),\n };\n\n toast.promise(orderSent.lastOrderState, toastOptions);\n}\n"],"names":["addTxToast","transactionHash","_transactionHash","receiptPromise","chainId","toastId","crypto","randomUUID","getStandaloneTxHash","_detailsLink","constructTxLinkForChain","txHash","undefined","toastOptions","id","loading","success","receipt","detailsLink","error","toast","promise","addDeltaOrderToast","orderSent","customToastProps","constructExplorerOrderDetailsLink","order","lastOrderState"],"mappings":";;;;;;;AAqBO,SAASA,UAAAA,CAAW;AAAA,EACzBC,eAAAA,EAAiBC,gBAAAA;AAAAA,EACjBC,cAAAA;AAAAA,EACAC;AAKF,CAAA,EAAG;AACD,EAAA,MAAMC,OAAAA,GAAUC,OAAOC,UAAAA,EAAW;AAElC,EAAA,MAAMN,kBAAkBO,mBAAAA,CAAoB;AAAA,IAC1CP,eAAAA,EAAiBC;AAAAA,GAClB,CAAA;AACD,EAAA,MAAMO,YAAAA,GAAeR,kBACjBS,uBAAAA,CAAwB;AAAA,IAAEN,OAAAA;AAAAA,IAASO,MAAAA,EAAQV;AAAAA,GAAiB,CAAA,GAC5DW,MAAAA;AAEJ,EAAA,MAAMC,YAAAA,GAEF;AAAA,IACFC,EAAAA,EAAIT,OAAAA;AAAAA,IACJU,OAAAA,sBACG,WAAA,EAAA,EACC,OAAA,EAAQ,WACR,KAAA,EAAM,qBAAA,EACN,OAAA,EACA,WAAA,EAAaN,YAAAA,EAAa,CAAA;AAAA,IAG9BO,SAAUC,CAAAA,OAAAA,KAAY;AACpB,MAAA,IAAIC,WAAAA,GAAcT,YAAAA;AAClB,MAAA,IAAI,CAACS,eAAeD,OAAAA,EAAS;AAC3BC,QAAAA,WAAAA,GAAcR,uBAAAA,CAAwB;AAAA,UACpCN,OAAAA;AAAAA,UACAO,QAAQM,OAAAA,CAAQhB;AAAAA,SACjB,CAAA;AAAA,MACH;AAEA,MAAA,2BACG,WAAA,EAAA,EACC,OAAA,EAAQ,WACR,KAAA,EAAM,uBAAA,EACN,SACA,WAAA,EAAyB,CAAA;AAAA,IAG/B,CAAA;AAAA,IACAkB,KAAAA,sBACG,WAAA,EAAA,EACC,OAAA,EAAQ,SACR,KAAA,EAAM,oBAAA,EACN,OAAA,EACA,WAAA,EAAaV,YAAAA,EAAa;AAAA,GAGhC;AAEAW,EAAAA,KAAAA,CAAMC,OAAAA,CAAQlB,gBAAgBU,YAAY,CAAA;AAC5C;AAEO,SAASS,mBAAmBC,SAAAA,EAA4B;AAC7D,EAAA,MAAMC,gBAAAA,GAAmB;AAAA,IACvBnB,OAAAA,EAASC,OAAOC,UAAAA,EAAW;AAAA,IAC3BW,WAAAA,EAAaO,iCAAAA,CAAkCF,SAAAA,CAAUG,KAAAA,CAAMZ,EAAE;AAAA,GACnE;AAEA,EAAA,MAAMD,YAAAA,GAAe;AAAA,IACnBC,IAAIU,gBAAAA,CAAiBnB,OAAAA;AAAAA,IACrBU,OAAAA,sBACG,WAAA,EAAA,EACC,OAAA,EAAQ,WACR,KAAA,EAAM,eAAA,EACN,GAAIS,gBAAAA,EAAiB,CAAA;AAAA,IAGzBR,OAAAA,sBACG,WAAA,EAAA,EACC,OAAA,EAAQ,WACR,KAAA,EAAM,iBAAA,EACN,GAAIQ,gBAAAA,EAAiB,CAAA;AAAA,IAGzBL,KAAAA,sBACG,WAAA,EAAA,EAAY,OAAA,EAAQ,SAAQ,KAAA,EAAM,cAAA,EAAe,GAAIK,gBAAAA,EAAiB;AAAA,GAE3E;AAEAJ,EAAAA,KAAAA,CAAMC,OAAAA,CAAQE,SAAAA,CAAUI,cAAAA,EAAgBd,YAAY,CAAA;AACtD;;;;"}
1
+ {"version":3,"file":"toasts.js","sources":["../../../src/lib/utils/toasts.tsx"],"sourcesContent":["import type { SubmittedDeltaOrderFromAPI } from \"@/hooks/swap/prices/delta/queries/useDeltaOrders\";\nimport type { MaybeVeloraDeltaAuction } from \"@/hooks/swap/prices/delta/queries/useWatchDeltaOrder\";\n\nimport { CustomToast } from \"@/components/widget/Toasts/CustomToast\";\nimport { toast } from \"sonner\";\nimport { type Hash, type TransactionReceipt } from \"viem\";\nimport {\n constructExplorerOrderDetailsLink,\n constructTxLinkForChain,\n} from \"./explorer\";\nimport type { CallsReceipt } from \"@/hooks/batch/useAwaitCalls\";\nimport type { SupportedChainId } from \"../web3/wagmi/types\";\n\ntype ToastPromiseData<T> = NonNullable<Parameters<typeof toast.promise<T>>[1]>;\n\nexport type OrderSentObject = {\n order: SubmittedDeltaOrderFromAPI;\n lastOrderState: Promise<MaybeVeloraDeltaAuction>;\n};\n\nexport function addTxToast({\n transactionHash,\n receiptPromise,\n chainId,\n}: {\n chainId: SupportedChainId;\n receiptPromise: Promise<TransactionReceipt | CallsReceipt | undefined>;\n transactionHash?: Hash;\n}) {\n const toastId = crypto.randomUUID();\n\n const _detailsLink = transactionHash\n ? constructTxLinkForChain({ chainId, txHash: transactionHash })\n : undefined;\n\n const toastOptions: ToastPromiseData<\n TransactionReceipt | CallsReceipt | undefined\n > = {\n id: toastId,\n loading: (\n <CustomToast\n variant=\"loading\"\n label=\"Pending Transaction\"\n toastId={toastId}\n detailsLink={_detailsLink}\n />\n ),\n success: (receipt) => {\n let detailsLink = _detailsLink;\n if (!detailsLink && receipt) {\n detailsLink = constructTxLinkForChain({\n chainId,\n txHash: receipt.transactionHash,\n });\n }\n\n return (\n <CustomToast\n variant=\"success\"\n label=\"Transaction Confirmed\"\n toastId={toastId}\n detailsLink={detailsLink}\n />\n );\n },\n error: (\n <CustomToast\n variant=\"error\"\n label=\"Transaction Failed\"\n toastId={toastId}\n detailsLink={_detailsLink}\n />\n ),\n };\n\n toast.promise(receiptPromise, toastOptions);\n}\n\nexport function addDeltaOrderToast(orderSent: OrderSentObject) {\n const customToastProps = {\n toastId: crypto.randomUUID(),\n detailsLink: constructExplorerOrderDetailsLink(orderSent.order.id),\n };\n\n const toastOptions = {\n id: customToastProps.toastId,\n loading: (\n <CustomToast\n variant=\"loading\"\n label=\"Pending Order\"\n {...customToastProps}\n />\n ),\n success: (\n <CustomToast\n variant=\"success\"\n label=\"Order Confirmed\"\n {...customToastProps}\n />\n ),\n error: (\n <CustomToast variant=\"error\" label=\"Order Failed\" {...customToastProps} />\n ),\n };\n\n toast.promise(orderSent.lastOrderState, toastOptions);\n}\n"],"names":["addTxToast","transactionHash","receiptPromise","chainId","toastId","crypto","randomUUID","_detailsLink","constructTxLinkForChain","txHash","undefined","toastOptions","id","loading","success","receipt","detailsLink","error","toast","promise","addDeltaOrderToast","orderSent","customToastProps","constructExplorerOrderDetailsLink","order","lastOrderState"],"mappings":";;;;;;AAoBO,SAASA,UAAAA,CAAW;AAAA,EACzBC,eAAAA;AAAAA,EACAC,cAAAA;AAAAA,EACAC;AAKF,CAAA,EAAG;AACD,EAAA,MAAMC,OAAAA,GAAUC,OAAOC,UAAAA,EAAW;AAElC,EAAA,MAAMC,YAAAA,GAAeN,kBACjBO,uBAAAA,CAAwB;AAAA,IAAEL,OAAAA;AAAAA,IAASM,MAAAA,EAAQR;AAAAA,GAAiB,CAAA,GAC5DS,MAAAA;AAEJ,EAAA,MAAMC,YAAAA,GAEF;AAAA,IACFC,EAAAA,EAAIR,OAAAA;AAAAA,IACJS,OAAAA,sBACG,WAAA,EAAA,EACC,OAAA,EAAQ,WACR,KAAA,EAAM,qBAAA,EACN,OAAA,EACA,WAAA,EAAaN,YAAAA,EAAa,CAAA;AAAA,IAG9BO,SAAUC,CAAAA,OAAAA,KAAY;AACpB,MAAA,IAAIC,WAAAA,GAAcT,YAAAA;AAClB,MAAA,IAAI,CAACS,eAAeD,OAAAA,EAAS;AAC3BC,QAAAA,WAAAA,GAAcR,uBAAAA,CAAwB;AAAA,UACpCL,OAAAA;AAAAA,UACAM,QAAQM,OAAAA,CAAQd;AAAAA,SACjB,CAAA;AAAA,MACH;AAEA,MAAA,2BACG,WAAA,EAAA,EACC,OAAA,EAAQ,WACR,KAAA,EAAM,uBAAA,EACN,SACA,WAAA,EAAyB,CAAA;AAAA,IAG/B,CAAA;AAAA,IACAgB,KAAAA,sBACG,WAAA,EAAA,EACC,OAAA,EAAQ,SACR,KAAA,EAAM,oBAAA,EACN,OAAA,EACA,WAAA,EAAaV,YAAAA,EAAa;AAAA,GAGhC;AAEAW,EAAAA,KAAAA,CAAMC,OAAAA,CAAQjB,gBAAgBS,YAAY,CAAA;AAC5C;AAEO,SAASS,mBAAmBC,SAAAA,EAA4B;AAC7D,EAAA,MAAMC,gBAAAA,GAAmB;AAAA,IACvBlB,OAAAA,EAASC,OAAOC,UAAAA,EAAW;AAAA,IAC3BU,WAAAA,EAAaO,iCAAAA,CAAkCF,SAAAA,CAAUG,KAAAA,CAAMZ,EAAE;AAAA,GACnE;AAEA,EAAA,MAAMD,YAAAA,GAAe;AAAA,IACnBC,IAAIU,gBAAAA,CAAiBlB,OAAAA;AAAAA,IACrBS,OAAAA,sBACG,WAAA,EAAA,EACC,OAAA,EAAQ,WACR,KAAA,EAAM,eAAA,EACN,GAAIS,gBAAAA,EAAiB,CAAA;AAAA,IAGzBR,OAAAA,sBACG,WAAA,EAAA,EACC,OAAA,EAAQ,WACR,KAAA,EAAM,iBAAA,EACN,GAAIQ,gBAAAA,EAAiB,CAAA;AAAA,IAGzBL,KAAAA,sBACG,WAAA,EAAA,EAAY,OAAA,EAAQ,SAAQ,KAAA,EAAM,cAAA,EAAe,GAAIK,gBAAAA,EAAiB;AAAA,GAE3E;AAEAJ,EAAAA,KAAAA,CAAMC,OAAAA,CAAQE,SAAAA,CAAUI,cAAAA,EAAgBd,YAAY,CAAA;AACtD;;;;"}
@@ -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: "7535ce67d223b89670980f2442899904",
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
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../src/lib/web3/wagmi/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../src/lib/web3/wagmi/config.ts"],"names":[],"mappings":"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"}
@@ -2,12 +2,12 @@ import { createConfig, createStorage } from 'wagmi';
2
2
  import { walletConnect, injected, coinbaseWallet, safe } from 'wagmi/connectors';
3
3
  import { chains } from './constants.js';
4
4
  import { transports } from './transports.js';
5
- import { isInIframe } from './isInIframe.js';
5
+ import { isInIframe } from './isInsideSafeIframe.js';
6
6
  import { LOCAL_STORAGE_PREFIX } from '../../constants/storage.js';
7
7
 
8
8
  const connectors = [
9
9
  walletConnect({
10
- projectId: "7535ce67d223b89670980f2442899904"
10
+ projectId: "9796e40630a6bea7605ac281b0deb939"
11
11
  }),
12
12
  injected(),
13
13
  // metaMask() as CreateConnectorFn, // injected() detects metamask already
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sources":["../../../../src/lib/web3/wagmi/config.ts"],"sourcesContent":["import { createConfig, createStorage, type CreateConnectorFn } from \"wagmi\";\nimport {\n injected,\n // metaMask,\n safe,\n walletConnect,\n coinbaseWallet,\n} from \"wagmi/connectors\";\nimport { chains } from \"./constants\";\nimport { transports } from \"./transports\";\nimport { isInIframe } from \"./isInIframe\";\nimport { LOCAL_STORAGE_PREFIX } from \"@/lib/constants/storage\";\n\n// can add more connectors to cover wallets Privy doesn't support, but need to change UI to allow connection\nconst connectors = [\n walletConnect({\n projectId: import.meta.env.VITE_WALLET_CONNECT_ID,\n }) as CreateConnectorFn,\n injected() as CreateConnectorFn,\n // metaMask() as CreateConnectorFn, // injected() detects metamask already\n coinbaseWallet() as CreateConnectorFn,\n // raw returned types result in\n // The inferred type of 'config' cannot be named without a reference to '.pnpm/@safe-global+safe-apps-provider@0.18.6_typescript@5.8.3/node_modules/@safe-global/safe-apps-provider'. This is likely not portable. A type annotation is necessary.\n\n // getPrivyWalletConnector(), // only CorssApp Privy connector is available, not our use case\n];\n// @TODO see how we can implement Ledger connector, borrow it from rainbowkit?\n\nif (isInIframe) {\n // when widget is in an App inside iframe, chances are we are in Safe web app,\n // allow Safe connector to be used.\n // we can't know if we are inside specifically Safe iframe until we try to connect, though.\n // A check for that is in isInsideSafeIframe.ts\n connectors.unshift(safe());\n}\n\nexport const wagmiConfig = createConfig({\n storage: createStorage({\n storage: typeof window !== \"undefined\" ? window.localStorage : undefined,\n key: `${LOCAL_STORAGE_PREFIX}_wagmi`,\n }),\n chains,\n connectors,\n transports,\n syncConnectedChain: false,\n batch: {\n multicall: {\n wait: 20,\n },\n },\n});\n\ndeclare module \"wagmi\" {\n interface Register {\n config: typeof wagmiConfig;\n }\n}\n"],"names":["connectors","walletConnect","projectId","import","injected","coinbaseWallet","isInIframe","unshift","safe","wagmiConfig","createConfig","storage","createStorage","window","localStorage","undefined","key","LOCAL_STORAGE_PREFIX","chains","transports","syncConnectedChain","batch","multicall","wait"],"mappings":";;;;;;;AAcA,MAAMA,UAAAA,GAAa;AAAA,EACjBC,aAAAA,CAAc;AAAA,IACZC,SAAAA,EAAWC;AAAAA,GACZ,CAAA;AAAA,EACDC,QAAAA,EAAS;AAAA;AAAA,EAETC,cAAAA;AAAe;AAAA;AAAA;AAIf,CAAA;AAIF,IAAIC,UAAAA,EAAY;AAKdN,EAAAA,UAAAA,CAAWO,OAAAA,CAAQC,MAAM,CAAA;AAC3B;AAEO,MAAMC,cAAcC,YAAAA,CAAa;AAAA,EACtCC,SAASC,aAAAA,CAAc;AAAA,IACrBD,OAAAA,EAAS,OAAOE,MAAAA,KAAW,WAAA,GAAcA,OAAOC,YAAAA,GAAeC,MAAAA;AAAAA,IAC/DC,GAAAA,EAAK,GAAGC,oBAAoB,CAAA,MAAA;AAAA,GAC7B,CAAA;AAAA,EACDC,MAAAA;AAAAA,EACAlB,UAAAA;AAAAA,EACAmB,UAAAA;AAAAA,EACAC,kBAAAA,EAAoB,KAAA;AAAA,EACpBC,KAAAA,EAAO;AAAA,IACLC,SAAAA,EAAW;AAAA,MACTC,IAAAA,EAAM;AAAA;AACR;AAEJ,CAAC;;;;"}
1
+ {"version":3,"file":"config.js","sources":["../../../../src/lib/web3/wagmi/config.ts"],"sourcesContent":["import { createConfig, createStorage, type CreateConnectorFn } from \"wagmi\";\nimport {\n injected,\n // metaMask,\n safe,\n walletConnect,\n coinbaseWallet,\n} from \"wagmi/connectors\";\nimport { chains } from \"./constants\";\nimport { transports } from \"./transports\";\nimport { isInIframe } from \"./isInsideSafeIframe\";\nimport { LOCAL_STORAGE_PREFIX } from \"@/lib/constants/storage\";\n\n// can add more connectors to cover wallets Privy doesn't support, but need to change UI to allow connection\nconst connectors = [\n walletConnect({\n projectId: import.meta.env.VITE_WALLET_CONNECT_ID,\n }) as CreateConnectorFn,\n injected() as CreateConnectorFn,\n // metaMask() as CreateConnectorFn, // injected() detects metamask already\n coinbaseWallet() as CreateConnectorFn,\n // raw returned types result in\n // The inferred type of 'config' cannot be named without a reference to '.pnpm/@safe-global+safe-apps-provider@0.18.6_typescript@5.8.3/node_modules/@safe-global/safe-apps-provider'. This is likely not portable. A type annotation is necessary.\n\n // getPrivyWalletConnector(), // only CorssApp Privy connector is available, not our use case\n];\n// @TODO see how we can implement Ledger connector, borrow it from rainbowkit?\n\nif (isInIframe) {\n // when widget is in an App inside iframe, chances are we are in Safe web app,\n // allow Safe connector to be used.\n // we can't know if we are inside specifically Safe iframe until we try to connect, though.\n // A check for that is in isInsideSafeIframe.ts\n connectors.unshift(safe());\n}\n\nexport const wagmiConfig = createConfig({\n storage: createStorage({\n storage: typeof window !== \"undefined\" ? window.localStorage : undefined,\n key: `${LOCAL_STORAGE_PREFIX}_wagmi`,\n }),\n chains,\n connectors,\n transports,\n syncConnectedChain: false,\n batch: {\n multicall: {\n wait: 20,\n },\n },\n});\n\ndeclare module \"wagmi\" {\n interface Register {\n config: typeof wagmiConfig;\n }\n}\n"],"names":["connectors","walletConnect","projectId","import","injected","coinbaseWallet","isInIframe","unshift","safe","wagmiConfig","createConfig","storage","createStorage","window","localStorage","undefined","key","LOCAL_STORAGE_PREFIX","chains","transports","syncConnectedChain","batch","multicall","wait"],"mappings":";;;;;;;AAcA,MAAMA,UAAAA,GAAa;AAAA,EACjBC,aAAAA,CAAc;AAAA,IACZC,SAAAA,EAAWC;AAAAA,GACZ,CAAA;AAAA,EACDC,QAAAA,EAAS;AAAA;AAAA,EAETC,cAAAA;AAAe;AAAA;AAAA;AAIf,CAAA;AAIF,IAAIC,UAAAA,EAAY;AAKdN,EAAAA,UAAAA,CAAWO,OAAAA,CAAQC,MAAM,CAAA;AAC3B;AAEO,MAAMC,cAAcC,YAAAA,CAAa;AAAA,EACtCC,SAASC,aAAAA,CAAc;AAAA,IACrBD,OAAAA,EAAS,OAAOE,MAAAA,KAAW,WAAA,GAAcA,OAAOC,YAAAA,GAAeC,MAAAA;AAAAA,IAC/DC,GAAAA,EAAK,GAAGC,oBAAoB,CAAA,MAAA;AAAA,GAC7B,CAAA;AAAA,EACDC,MAAAA;AAAAA,EACAlB,UAAAA;AAAAA,EACAmB,UAAAA;AAAAA,EACAC,kBAAAA,EAAoB,KAAA;AAAA,EACpBC,KAAAA,EAAO;AAAA,IACLC,SAAAA,EAAW;AAAA,MACTC,IAAAA,EAAM;AAAA;AACR;AAEJ,CAAC;;;;"}
@@ -1,11 +1,4 @@
1
- export declare const accountAtom: import('jotai').WritableAtom<{
2
- address: `0x${string}` | undefined;
3
- chainId: number | undefined;
4
- connector: import('wagmi').Connector | undefined;
5
- }, [{
6
- address: `0x${string}` | undefined;
7
- chainId: number | undefined;
8
- connector: import('wagmi').Connector | undefined;
9
- }], void>;
10
- export declare const addressAtom: import('jotai').Atom<`0x${string}` | undefined>;
1
+ export declare const accountAtom: import('jotai').PrimitiveAtom<`0x${string}` | undefined> & {
2
+ init: `0x${string}` | undefined;
3
+ };
11
4
  //# sourceMappingURL=external.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"external.d.ts","sourceRoot":"","sources":["../../../../src/lib/web3/wagmi/external.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,WAAW;;;;;;;;SAGvB,CAAC;AAEF,eAAO,MAAM,WAAW,iDAA0C,CAAC"}
1
+ {"version":3,"file":"external.d.ts","sourceRoot":"","sources":["../../../../src/lib/web3/wagmi/external.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,WAAW;;CAAwC,CAAC"}
@@ -1,23 +1,8 @@
1
1
  import { getAccount } from '@wagmi/core';
2
2
  import { wagmiConfig } from './config.js';
3
3
  import { atom } from 'jotai';
4
- import { atomWithCompare } from '../../utils/atomWithCompare.js';
5
- import { constructPropertiesEqual } from '../../utils/index.js';
6
4
 
7
- function getMinAccount() {
8
- const {
9
- address,
10
- chainId,
11
- connector
12
- } = getAccount(wagmiConfig);
13
- return {
14
- address,
15
- chainId,
16
- connector
17
- };
18
- }
19
- const accountAtom = atomWithCompare(getMinAccount(), constructPropertiesEqual(["address", "chainId", "connector"]));
20
- const addressAtom = atom((get) => get(accountAtom).address);
5
+ const accountAtom = atom(getAccount(wagmiConfig).address);
21
6
 
22
- export { accountAtom, addressAtom };
7
+ export { accountAtom };
23
8
  //# sourceMappingURL=external.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"external.js","sources":["../../../../src/lib/web3/wagmi/external.ts"],"sourcesContent":["import { getAccount } from \"@wagmi/core\";\nimport { wagmiConfig } from \"./config\";\nimport { atom } from \"jotai\";\nimport { atomWithCompare } from \"@/lib/utils/atomWithCompare\";\nimport { constructPropertiesEqual } from \"@/lib/utils\";\n\nfunction getMinAccount() {\n const { address, chainId, connector } = getAccount(wagmiConfig);\n return { address, chainId, connector };\n}\n\nexport const accountAtom = atomWithCompare(\n getMinAccount(),\n constructPropertiesEqual([\"address\", \"chainId\", \"connector\"])\n);\n\nexport const addressAtom = atom((get) => get(accountAtom).address);\n"],"names":["getMinAccount","address","chainId","connector","getAccount","wagmiConfig","accountAtom","atomWithCompare","constructPropertiesEqual","addressAtom","atom","get"],"mappings":";;;;;;AAMA,SAASA,aAAAA,GAAgB;AACvB,EAAA,MAAM;AAAA,IAAEC,OAAAA;AAAAA,IAASC,OAAAA;AAAAA,IAASC;AAAAA,GAAU,GAAIC,WAAWC,WAAW,CAAA;AAC9D,EAAA,OAAO;AAAA,IAAEJ,OAAAA;AAAAA,IAASC,OAAAA;AAAAA,IAASC;AAAAA,GAAU;AACvC;AAEO,MAAMG,WAAAA,GAAcC,eAAAA,CACzBP,aAAAA,EAAc,EACdQ,wBAAAA,CAAyB,CAAC,SAAA,EAAW,SAAA,EAAW,WAAW,CAAC,CAC9D;AAEO,MAAMC,cAAcC,IAAAA,CAAMC,CAAAA,GAAAA,KAAQA,GAAAA,CAAIL,WAAW,EAAEL,OAAO;;;;"}
1
+ {"version":3,"file":"external.js","sources":["../../../../src/lib/web3/wagmi/external.ts"],"sourcesContent":["import { getAccount } from \"@wagmi/core\";\nimport { wagmiConfig } from \"./config\";\nimport { atom } from \"jotai\";\n\nexport const accountAtom = atom(getAccount(wagmiConfig).address);\n"],"names":["accountAtom","atom","getAccount","wagmiConfig","address"],"mappings":";;;;AAIO,MAAMA,WAAAA,GAAcC,IAAAA,CAAKC,UAAAA,CAAWC,WAAW,EAAEC,OAAO;;;;"}
@@ -1,3 +1,4 @@
1
+ export declare const isInIframe: boolean;
1
2
  type SafeInfo = {
2
3
  safeAddress: string;
3
4
  chainId: number;
@@ -1 +1 @@
1
- {"version":3,"file":"isInsideSafeIframe.d.ts","sourceRoot":"","sources":["../../../../src/lib/web3/wagmi/isInsideSafeIframe.ts"],"names":[],"mappings":"AAKA,KAAK,QAAQ,GAAG;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,KAAK,gBAAgB,GAAG,QAAQ,GAAG;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACzB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB,CAAC;AAqBF,wBAAgB,WAAW,IAAI;IAC7B,IAAI,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC/B,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB,CAqCA"}
1
+ {"version":3,"file":"isInsideSafeIframe.d.ts","sourceRoot":"","sources":["../../../../src/lib/web3/wagmi/isInsideSafeIframe.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,UAAU,SACqC,CAAC;AAE7D,KAAK,QAAQ,GAAG;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,KAAK,gBAAgB,GAAG,QAAQ,GAAG;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACzB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB,CAAC;AAqBF,wBAAgB,WAAW,IAAI;IAC7B,IAAI,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC/B,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB,CAqCA"}
@@ -2,8 +2,8 @@ import { d as distExports } from '../../../_virtual/index.js';
2
2
  import { createLogger } from '../../utils/logger.js';
3
3
  import { useQuery } from '@tanstack/react-query';
4
4
  import { withTimeout } from 'viem';
5
- import { isInIframe } from './isInIframe.js';
6
5
 
6
+ const isInIframe = typeof window !== "undefined" && window?.parent !== window;
7
7
  const logger = createLogger("SafeWallet");
8
8
  function useSafeInfo() {
9
9
  const $ = distExports.c(8);
@@ -109,5 +109,5 @@ function requestSafeInfo({
109
109
  });
110
110
  }
111
111
 
112
- export { useSafeInfo };
112
+ export { isInIframe, useSafeInfo };
113
113
  //# sourceMappingURL=isInsideSafeIframe.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"isInsideSafeIframe.js","sources":["../../../../src/lib/web3/wagmi/isInsideSafeIframe.ts"],"sourcesContent":["import { createLogger } from \"@/lib/utils/logger\";\nimport { useQuery } from \"@tanstack/react-query\";\nimport { withTimeout } from \"viem\";\nimport { isInIframe } from \"./isInIframe\";\n\ntype SafeInfo = {\n safeAddress: string;\n chainId: number;\n threshold: number;\n owners: string[];\n isReadOnly: boolean;\n};\n\ntype SafeInfoExtended = SafeInfo & {\n nonce: number;\n implementation: string;\n modules: string[] | null;\n fallbackHandler: string | null;\n guard: string | null;\n version: string | null;\n};\n\ntype SafeMessageEvent<T = unknown> = {\n id: string;\n data: T;\n version?: string;\n success: boolean;\n error?: string;\n};\n\ntype SafeRequest = {\n id: string;\n method: string;\n params: undefined;\n env: {\n sdkVersion: string;\n };\n};\n\nconst logger = createLogger(\"SafeWallet\");\n\nexport function useSafeInfo(): {\n data?: SafeInfoExtended | null;\n isLoading: boolean;\n isSuccess: boolean;\n isError: boolean;\n error: Error | null;\n} {\n const { data, isLoading, isSuccess, isError, error } = useQuery({\n queryKey: [\"safeInfo\"],\n queryFn: async () => {\n if (isInIframe) {\n const errorInstance = new Error(\"Safe info request timed out\");\n try {\n const safeInfo = await withTimeout(requestSafeInfo, {\n timeout: 200,\n signal: true,\n // non-safe iframe will never answer the request, so we need to timeout\n errorInstance,\n });\n\n logger.info(\"Safe info request successful\", safeInfo);\n\n return safeInfo;\n } catch (error) {\n if (error === errorInstance) {\n logger.info(\"Safe Wallet not detected\");\n return null;\n }\n\n logger.error(\"Safe info request failed\", error);\n throw error;\n }\n }\n\n return null;\n },\n staleTime: Infinity,\n gcTime: Infinity,\n // shortcut when we are not in iframe\n initialData: isInIframe ? undefined : null,\n });\n\n return { data, isLoading, isSuccess, isError, error };\n}\n\nfunction requestSafeInfo({\n signal,\n}: {\n signal: AbortSignal | null;\n}): Promise<SafeInfoExtended> {\n const request: SafeRequest = {\n id: new Date().getTime().toString(36),\n method: \"getSafeInfo\",\n params: undefined,\n env: {\n sdkVersion: \"9.1.0\", // latest version of Safe SDK\n },\n };\n\n return new Promise((resolve, reject) => {\n const listener = (\n event: MessageEvent<SafeMessageEvent<SafeInfoExtended>>\n ) => {\n if (event.data?.id === request.id) {\n window.removeEventListener(\"message\", listener);\n if (event.data.success) {\n resolve(event.data.data);\n } else {\n reject(new Error(event.data.error));\n }\n }\n };\n\n signal?.addEventListener(\"abort\", () => {\n window.removeEventListener(\"message\", listener);\n reject(signal.reason);\n });\n\n window.addEventListener(\"message\", listener);\n\n // If inside Safe iframe, Safe web app will respond to the request\n window.parent.postMessage(request, \"*\");\n });\n}\n"],"names":["logger","createLogger","useSafeInfo","$","_c","t0","Symbol","for","t1","queryKey","queryFn","_temp","staleTime","Infinity","gcTime","initialData","isInIframe","undefined","data","isLoading","isSuccess","isError","error","error_0","useQuery","t2","errorInstance","Error","safeInfo","withTimeout","requestSafeInfo","timeout","signal","info","request","id","Date","getTime","toString","method","params","env","sdkVersion","Promise","resolve","reject","listener","event","window","removeEventListener","success","addEventListener","reason","parent","postMessage"],"mappings":"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"}
1
+ {"version":3,"file":"isInsideSafeIframe.js","sources":["../../../../src/lib/web3/wagmi/isInsideSafeIframe.ts"],"sourcesContent":["import { createLogger } from \"@/lib/utils/logger\";\nimport { useQuery } from \"@tanstack/react-query\";\nimport { withTimeout } from \"viem\";\n\nexport const isInIframe =\n typeof window !== \"undefined\" && window?.parent !== window;\n\ntype SafeInfo = {\n safeAddress: string;\n chainId: number;\n threshold: number;\n owners: string[];\n isReadOnly: boolean;\n};\n\ntype SafeInfoExtended = SafeInfo & {\n nonce: number;\n implementation: string;\n modules: string[] | null;\n fallbackHandler: string | null;\n guard: string | null;\n version: string | null;\n};\n\ntype SafeMessageEvent<T = unknown> = {\n id: string;\n data: T;\n version?: string;\n success: boolean;\n error?: string;\n};\n\ntype SafeRequest = {\n id: string;\n method: string;\n params: undefined;\n env: {\n sdkVersion: string;\n };\n};\n\nconst logger = createLogger(\"SafeWallet\");\n\nexport function useSafeInfo(): {\n data?: SafeInfoExtended | null;\n isLoading: boolean;\n isSuccess: boolean;\n isError: boolean;\n error: Error | null;\n} {\n const { data, isLoading, isSuccess, isError, error } = useQuery({\n queryKey: [\"safeInfo\"],\n queryFn: async () => {\n if (isInIframe) {\n const errorInstance = new Error(\"Safe info request timed out\");\n try {\n const safeInfo = await withTimeout(requestSafeInfo, {\n timeout: 200,\n signal: true,\n // non-safe iframe will never answer the request, so we need to timeout\n errorInstance,\n });\n\n logger.info(\"Safe info request successful\", safeInfo);\n\n return safeInfo;\n } catch (error) {\n if (error === errorInstance) {\n logger.info(\"Safe Wallet not detected\");\n return null;\n }\n\n logger.error(\"Safe info request failed\", error);\n throw error;\n }\n }\n\n return null;\n },\n staleTime: Infinity,\n gcTime: Infinity,\n // shortcut when we are not in iframe\n initialData: isInIframe ? undefined : null,\n });\n\n return { data, isLoading, isSuccess, isError, error };\n}\n\nfunction requestSafeInfo({\n signal,\n}: {\n signal: AbortSignal | null;\n}): Promise<SafeInfoExtended> {\n const request: SafeRequest = {\n id: new Date().getTime().toString(36),\n method: \"getSafeInfo\",\n params: undefined,\n env: {\n sdkVersion: \"9.1.0\", // latest version of Safe SDK\n },\n };\n\n return new Promise((resolve, reject) => {\n const listener = (\n event: MessageEvent<SafeMessageEvent<SafeInfoExtended>>\n ) => {\n if (event.data?.id === request.id) {\n window.removeEventListener(\"message\", listener);\n if (event.data.success) {\n resolve(event.data.data);\n } else {\n reject(new Error(event.data.error));\n }\n }\n };\n\n signal?.addEventListener(\"abort\", () => {\n window.removeEventListener(\"message\", listener);\n reject(signal.reason);\n });\n\n window.addEventListener(\"message\", listener);\n\n // If inside Safe iframe, Safe web app will respond to the request\n window.parent.postMessage(request, \"*\");\n });\n}\n"],"names":["isInIframe","window","parent","logger","createLogger","useSafeInfo","$","_c","t0","Symbol","for","t1","queryKey","queryFn","_temp","staleTime","Infinity","gcTime","initialData","undefined","data","isLoading","isSuccess","isError","error","error_0","useQuery","t2","errorInstance","Error","safeInfo","withTimeout","requestSafeInfo","timeout","signal","info","request","id","Date","getTime","toString","method","params","env","sdkVersion","Promise","resolve","reject","listener","event","removeEventListener","success","addEventListener","reason","postMessage"],"mappings":"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"}