@velora-dex/widget 0.3.3-dev.1 → 0.3.4-dev.1

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 (124) hide show
  1. package/dist/components/web3/providers.d.ts +2 -1
  2. package/dist/components/web3/providers.d.ts.map +1 -1
  3. package/dist/components/web3/providers.js +65 -10
  4. package/dist/components/web3/providers.js.map +1 -1
  5. package/dist/components/widget/AppHeader/Activities/Drawers.js.map +1 -1
  6. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/Controls.d.ts +3 -3
  7. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/Controls.d.ts.map +1 -1
  8. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/Controls.js +96 -68
  9. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/Controls.js.map +1 -1
  10. package/dist/components/widget/OtcOrderItem/OtcOrderDetails/Controls.d.ts.map +1 -1
  11. package/dist/components/widget/OtcOrderItem/OtcOrderDetails/Controls.js +94 -66
  12. package/dist/components/widget/OtcOrderItem/OtcOrderDetails/Controls.js.map +1 -1
  13. package/dist/components/widget/ReceiverAddress/state/subscriptions.d.ts.map +1 -1
  14. package/dist/components/widget/ReceiverAddress/state/subscriptions.js +8 -0
  15. package/dist/components/widget/ReceiverAddress/state/subscriptions.js.map +1 -1
  16. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcControls.d.ts +2 -2
  17. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcControls.d.ts.map +1 -1
  18. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcControls.js +115 -46
  19. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcControls.js.map +1 -1
  20. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcReviewAndConfirm.d.ts.map +1 -1
  21. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcReviewAndConfirm.js +41 -35
  22. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcReviewAndConfirm.js.map +1 -1
  23. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts +2 -2
  24. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts.map +1 -1
  25. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js +31 -25
  26. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js.map +1 -1
  27. package/dist/components/widget/TradeOverview/TradeError/utils.d.ts.map +1 -1
  28. package/dist/components/widget/TradeOverview/TradeError/utils.js +5 -0
  29. package/dist/components/widget/TradeOverview/TradeError/utils.js.map +1 -1
  30. package/dist/components/widget/TradeOverview/TradeOverview.d.ts.map +1 -1
  31. package/dist/components/widget/TradeOverview/TradeOverview.js +12 -11
  32. package/dist/components/widget/TradeOverview/TradeOverview.js.map +1 -1
  33. package/dist/components/widget/TradeOverview/TradeOverviewFooter.d.ts +3 -2
  34. package/dist/components/widget/TradeOverview/TradeOverviewFooter.d.ts.map +1 -1
  35. package/dist/components/widget/TradeOverview/TradeOverviewFooter.js +50 -42
  36. package/dist/components/widget/TradeOverview/TradeOverviewFooter.js.map +1 -1
  37. package/dist/configurator/Configurator.d.ts.map +1 -1
  38. package/dist/core/Updaters.d.ts.map +1 -1
  39. package/dist/core/Updaters.js +2 -0
  40. package/dist/core/Updaters.js.map +1 -1
  41. package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts.map +1 -1
  42. package/dist/core/button/hooks/useWidgetButtonExtraProps.js +4 -5
  43. package/dist/core/button/hooks/useWidgetButtonExtraProps.js.map +1 -1
  44. package/dist/core/index.d.ts.map +1 -1
  45. package/dist/core/index.js +38 -11
  46. package/dist/core/index.js.map +1 -1
  47. package/dist/core/screen/hooks/useInitialValue.d.ts +2 -0
  48. package/dist/core/screen/hooks/useInitialValue.d.ts.map +1 -0
  49. package/dist/core/screen/hooks/useInitialValue.js +9 -0
  50. package/dist/core/screen/hooks/useInitialValue.js.map +1 -0
  51. package/dist/core/screen/hooks/useOnClickOutside.d.ts.map +1 -1
  52. package/dist/core/screen/hooks/useOnClickOutside.js +9 -4
  53. package/dist/core/screen/hooks/useOnClickOutside.js.map +1 -1
  54. package/dist/events/hooks/useOnWalletConnect.d.ts.map +1 -1
  55. package/dist/events/hooks/useOnWalletConnect.js +4 -0
  56. package/dist/events/hooks/useOnWalletConnect.js.map +1 -1
  57. package/dist/hooks/otc/mutations/useFillOrder.js +3 -2
  58. package/dist/hooks/otc/mutations/useFillOrder.js.map +1 -1
  59. package/dist/hooks/otc/tradeFlow/useOtcOrderFlow.d.ts.map +1 -1
  60. package/dist/hooks/otc/tradeFlow/useOtcOrderFlow.js +19 -2
  61. package/dist/hooks/otc/tradeFlow/useOtcOrderFlow.js.map +1 -1
  62. package/dist/hooks/otc/tradeFlow/useOtcOrderStep.js.map +1 -1
  63. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.d.ts +28 -0
  64. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.d.ts.map +1 -0
  65. package/dist/hooks/swap/prices/delta/mutations/{useCancelLimitDeltaOrders.js → useCancelDeltaOrders.js} +5 -5
  66. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.js.map +1 -0
  67. package/dist/hooks/swap/prices/delta/orders/types.d.ts +1 -1
  68. package/dist/hooks/swap/prices/delta/orders/types.d.ts.map +1 -1
  69. package/dist/hooks/swap/prices/delta/orders/utils.d.ts +3 -0
  70. package/dist/hooks/swap/prices/delta/orders/utils.d.ts.map +1 -1
  71. package/dist/hooks/swap/prices/delta/orders/utils.js +6 -3
  72. package/dist/hooks/swap/prices/delta/orders/utils.js.map +1 -1
  73. package/dist/hooks/swap/prices/delta/queries/errors.d.ts +10 -0
  74. package/dist/hooks/swap/prices/delta/queries/errors.d.ts.map +1 -0
  75. package/dist/hooks/swap/prices/delta/queries/errors.js +21 -0
  76. package/dist/hooks/swap/prices/delta/queries/errors.js.map +1 -0
  77. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts.map +1 -1
  78. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js +7 -4
  79. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js.map +1 -1
  80. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts +10 -0
  81. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
  82. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +70 -10
  83. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
  84. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.d.ts +2 -0
  85. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.d.ts.map +1 -1
  86. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js +42 -23
  87. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js.map +1 -1
  88. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts.map +1 -1
  89. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js +22 -5
  90. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js.map +1 -1
  91. package/dist/hooks/txs/queries/useAwaitTx.d.ts.map +1 -1
  92. package/dist/hooks/txs/queries/useAwaitTx.js +75 -18
  93. package/dist/hooks/txs/queries/useAwaitTx.js.map +1 -1
  94. package/dist/hooks/useChainMatches.d.ts +7 -0
  95. package/dist/hooks/useChainMatches.d.ts.map +1 -0
  96. package/dist/hooks/useChainMatches.js +31 -0
  97. package/dist/hooks/useChainMatches.js.map +1 -0
  98. package/dist/hooks/useMinViemClient.d.ts +16 -0
  99. package/dist/hooks/useMinViemClient.d.ts.map +1 -1
  100. package/dist/hooks/useMinViemClient.js +62 -7
  101. package/dist/hooks/useMinViemClient.js.map +1 -1
  102. package/dist/hooks/useSwitchChainWithGuard.d.ts +12 -0
  103. package/dist/hooks/useSwitchChainWithGuard.d.ts.map +1 -0
  104. package/dist/hooks/useSwitchChainWithGuard.js +70 -0
  105. package/dist/hooks/useSwitchChainWithGuard.js.map +1 -0
  106. package/dist/lib/web3/privy/config.js +1 -1
  107. package/dist/lib/web3/wagmi/config.js +1 -1
  108. package/dist/lib/web3/wagmi/transports.js +1 -1
  109. package/dist/lib/web3/wagmi/transports.js.map +1 -1
  110. package/dist/styles.css +1 -1
  111. package/dist/transactions/queries/ensureTxReceipt.d.ts +2 -1
  112. package/dist/transactions/queries/ensureTxReceipt.d.ts.map +1 -1
  113. package/dist/transactions/queries/ensureTxReceipt.js +22 -26
  114. package/dist/transactions/queries/ensureTxReceipt.js.map +1 -1
  115. package/dist/transactions/state/effects/finalize.d.ts +1 -1
  116. package/dist/transactions/state/effects/finalize.js +2 -2
  117. package/dist/transactions/state/effects/finalize.js.map +1 -1
  118. package/dist/transactions/state/hooks/useActivateEffects.js +2 -2
  119. package/dist/transactions/state/hooks/useActivateEffects.js.map +1 -1
  120. package/dist/transactions/state/transactionsActionAtom.js.map +1 -1
  121. package/package.json +1 -1
  122. package/dist/hooks/swap/prices/delta/mutations/useCancelLimitDeltaOrders.d.ts +0 -28
  123. package/dist/hooks/swap/prices/delta/mutations/useCancelLimitDeltaOrders.d.ts.map +0 -1
  124. package/dist/hooks/swap/prices/delta/mutations/useCancelLimitDeltaOrders.js.map +0 -1
@@ -0,0 +1,31 @@
1
+ import { d as distExports } from '../_virtual/index.js';
2
+ import { useChainId, useAccount } from 'wagmi';
3
+
4
+ function useChainMatches(forcedChainId) {
5
+ const $ = distExports.c(4);
6
+ const appChainId = useChainId();
7
+ const {
8
+ chainId: walletChainId,
9
+ isConnected
10
+ } = useAccount();
11
+ const walletChainMatchesAppChain = isConnected && !!walletChainId && appChainId === walletChainId;
12
+ const forcedChainMatchesWalletChain = isConnected && forcedChainId !== void 0 && walletChainId !== void 0 && forcedChainId === walletChainId;
13
+ let t0;
14
+ if ($[0] !== forcedChainMatchesWalletChain || $[1] !== isConnected || $[2] !== walletChainMatchesAppChain) {
15
+ t0 = {
16
+ isConnected,
17
+ walletChainMatchesAppChain,
18
+ forcedChainMatchesWalletChain
19
+ };
20
+ $[0] = forcedChainMatchesWalletChain;
21
+ $[1] = isConnected;
22
+ $[2] = walletChainMatchesAppChain;
23
+ $[3] = t0;
24
+ } else {
25
+ t0 = $[3];
26
+ }
27
+ return t0;
28
+ }
29
+
30
+ export { useChainMatches };
31
+ //# sourceMappingURL=useChainMatches.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useChainMatches.js","sources":["../../src/hooks/useChainMatches.ts"],"sourcesContent":["import type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { useAccount, useChainId } from \"wagmi\";\n\nexport function useChainMatches(forcedChainId?: SupportedChainId) {\n const appChainId = useChainId();\n const { chainId: walletChainId, isConnected } = useAccount();\n\n const walletChainMatchesAppChain =\n isConnected && !!walletChainId && appChainId === walletChainId;\n\n const forcedChainMatchesWalletChain =\n isConnected &&\n forcedChainId !== undefined &&\n walletChainId !== undefined &&\n forcedChainId === walletChainId;\n\n return {\n isConnected,\n walletChainMatchesAppChain,\n forcedChainMatchesWalletChain,\n };\n}\n"],"names":["useChainMatches","forcedChainId","$","_c","appChainId","useChainId","chainId","walletChainId","isConnected","useAccount","walletChainMatchesAppChain","forcedChainMatchesWalletChain","undefined","t0"],"mappings":";;;AAGO,SAAAA,gBAAAC,aAAAA,EAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AACL,EAAA,MAAAC,aAAmBC,UAAAA,EAAW;AAC9B,EAAA,MAAA;AAAA,IAAAC,OAAAA,EAAAC,aAAAA;AAAAA,IAAAC;AAAAA,MAAgDC,UAAAA,EAAW;AAE3D,EAAA,MAAAC,0BAAAA,GACEF,WAAAA,IAAA,CAAgB,CAACD,iBAAiBH,UAAAA,KAAeG,aAAAA;AAEnD,EAAA,MAAAI,gCACEH,WAAAA,IACAP,aAAAA,KAAkBW,MAAAA,IAClBL,aAAAA,KAAkBK,UAClBX,aAAAA,KAAkBM,aAAAA;AAAc,EAAA,IAAAM,EAAAA;AAAA,EAAA,IAAAX,CAAAA,CAAA,CAAA,CAAA,KAAAS,6BAAAA,IAAAT,CAAAA,QAAAM,WAAAA,IAAAN,CAAAA,CAAA,CAAA,CAAA,KAAAQ,0BAAAA,EAAA;AAE3BG,IAAAA,EAAAA,GAAA;AAAA,MAAAL,WAAAA;AAAAA,MAAAE,0BAAAA;AAAAA,MAAAC;AAAAA,KAIP;AAACT,IAAAA,CAAAA,MAAAS,6BAAAA;AAAAT,IAAAA,CAAAA,MAAAM,WAAAA;AAAAN,IAAAA,CAAAA,MAAAQ,0BAAAA;AAAAR,IAAAA,CAAAA,MAAAW,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAX,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAJMW,EAAAA;AAIN;;;;"}
@@ -12,5 +12,21 @@ type UseMinViemClientResult = {
12
12
  isError: boolean;
13
13
  };
14
14
  export declare function useMinViemClient(options?: UseMinViemClientInput): UseMinViemClientResult;
15
+ /**
16
+ * Keep one subscriber to useConnectorClient query at all times
17
+ * to avoid async client creation on useMinViemClient mount
18
+ * and first useConnectorClient().data being undefined for a short time,
19
+ * which breaks Fill OTC flow which starts from Activities screen
20
+ */
21
+ export declare function useCacheMinViemClient(): void;
22
+ type UseEnsureConnectorClientResult = {
23
+ ensureViemClient: (options: UseMinViemClientInput) => Promise<MinViemClient>;
24
+ };
25
+ /**
26
+ * Returns a function that loads the connector client on demand via
27
+ * queryClient.ensureQueryData and getConnectorClientQueryOptions.
28
+ * Uses current account's chainId and connector when options are omitted.
29
+ */
30
+ export declare function useEnsureConnectorClient(): UseEnsureConnectorClientResult;
15
31
  export {};
16
32
  //# sourceMappingURL=useMinViemClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useMinViemClient.d.ts","sourceRoot":"","sources":["../../src/hooks/useMinViemClient.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,KAAK,qBAAqB,GAAG;IAC3B,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,KAAK,sBAAsB,GAAG;IAC5B,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,wBAAgB,gBAAgB,CAC9B,OAAO,CAAC,EAAE,qBAAqB,GAC9B,sBAAsB,CA4BxB"}
1
+ {"version":3,"file":"useMinViemClient.d.ts","sourceRoot":"","sources":["../../src/hooks/useMinViemClient.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAKrD,KAAK,qBAAqB,GAAG;IAC3B,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,KAAK,sBAAsB,GAAG;IAC5B,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAOF,wBAAgB,gBAAgB,CAC9B,OAAO,CAAC,EAAE,qBAAqB,GAC9B,sBAAsB,CAwBxB;AAYD;;;;;GAKG;AACH,wBAAgB,qBAAqB,SAOpC;AAOD,KAAK,8BAA8B,GAAG;IACpC,gBAAgB,EAAE,CAAC,OAAO,EAAE,qBAAqB,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;CAC9E,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,wBAAwB,IAAI,8BAA8B,CAgBzE"}
@@ -1,7 +1,9 @@
1
1
  import { d as distExports } from '../_virtual/index.js';
2
2
  import 'react';
3
- import { useConnectorClient } from 'wagmi';
3
+ import { useQueryClient } from '@tanstack/react-query';
4
+ import { useAccount, useChainId, useConnectorClient, useConfig } from 'wagmi';
4
5
  import { signTypedData, writeContract, readContract } from 'viem/actions';
6
+ import { getConnectorClientQueryOptions } from 'wagmi/query';
5
7
 
6
8
  function useMinViemClient(options) {
7
9
  const $ = distExports.c(7);
@@ -19,11 +21,7 @@ function useMinViemClient(options) {
19
21
  }
20
22
  let t12;
21
23
  if ($[0] !== connectorClient) {
22
- t12 = {
23
- readContract: (params) => readContract(connectorClient, params),
24
- writeContract: (params_0) => writeContract(connectorClient, params_0),
25
- signTypedData: (params_1) => signTypedData(connectorClient, params_1)
26
- };
24
+ t12 = constructMinViemClient(connectorClient);
27
25
  $[0] = connectorClient;
28
26
  $[1] = t12;
29
27
  } else {
@@ -50,6 +48,63 @@ function useMinViemClient(options) {
50
48
  }
51
49
  return t1;
52
50
  }
51
+ function constructMinViemClient(connectorClient) {
52
+ return {
53
+ readContract: (params) => readContract(connectorClient, params),
54
+ writeContract: (params) => writeContract(connectorClient, params),
55
+ signTypedData: (params) => signTypedData(connectorClient, params)
56
+ };
57
+ }
58
+ function useCacheMinViemClient() {
59
+ const $ = distExports.c(3);
60
+ const {
61
+ address: account
62
+ } = useAccount();
63
+ const chainId = useChainId();
64
+ let t0;
65
+ if ($[0] !== account || $[1] !== chainId) {
66
+ t0 = {
67
+ chainId,
68
+ account
69
+ };
70
+ $[0] = account;
71
+ $[1] = chainId;
72
+ $[2] = t0;
73
+ } else {
74
+ t0 = $[2];
75
+ }
76
+ useConnectorClient(t0);
77
+ }
78
+ function useEnsureConnectorClient() {
79
+ const $ = distExports.c(5);
80
+ const queryClient = useQueryClient();
81
+ const config = useConfig();
82
+ let t0;
83
+ if ($[0] !== config || $[1] !== queryClient) {
84
+ t0 = async (options) => {
85
+ const queryOptions = getConnectorClientQueryOptions(config, options);
86
+ const connectorClient = await queryClient.ensureQueryData(queryOptions);
87
+ return constructMinViemClient(connectorClient);
88
+ };
89
+ $[0] = config;
90
+ $[1] = queryClient;
91
+ $[2] = t0;
92
+ } else {
93
+ t0 = $[2];
94
+ }
95
+ const ensureViemClient = t0;
96
+ let t1;
97
+ if ($[3] !== ensureViemClient) {
98
+ t1 = {
99
+ ensureViemClient
100
+ };
101
+ $[3] = ensureViemClient;
102
+ $[4] = t1;
103
+ } else {
104
+ t1 = $[4];
105
+ }
106
+ return t1;
107
+ }
53
108
 
54
- export { useMinViemClient };
109
+ export { useCacheMinViemClient, useEnsureConnectorClient, useMinViemClient };
55
110
  //# sourceMappingURL=useMinViemClient.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useMinViemClient.js","sources":["../../src/hooks/useMinViemClient.ts"],"sourcesContent":["import { useMemo } from \"react\";\nimport { useConnectorClient } from \"wagmi\";\nimport { readContract, signTypedData, writeContract } from \"viem/actions\";\nimport type { Address } from \"viem\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport type { MinViemClient } from \"@velora-dex/sdk\";\n\ntype UseMinViemClientInput = {\n chainId?: SupportedChainId;\n account?: Address;\n};\n\ntype UseMinViemClientResult = {\n minClient?: MinViemClient;\n isLoading: boolean;\n error: Error | null;\n isError: boolean;\n};\n\nexport function useMinViemClient(\n options?: UseMinViemClientInput\n): UseMinViemClientResult {\n const {\n data: connectorClient,\n isLoading,\n error,\n isError,\n } = useConnectorClient(options);\n\n const minClient = useMemo<MinViemClient | undefined>(() => {\n if (!connectorClient) return;\n\n // walletClient(useWalletClient) has writeContract and signTypedData,\n // publicClient(usePublicClient) has readContract\n // sdk requires all of them,\n // easier to compose connectorClient + viem actions (readContract, writeContract)\n return {\n readContract: (params) => readContract(connectorClient, params),\n writeContract: (params) => writeContract(connectorClient, params),\n signTypedData: (params) => signTypedData(connectorClient, params),\n };\n }, [connectorClient]);\n\n return {\n minClient,\n isLoading,\n error,\n isError,\n };\n}\n"],"names":["useMinViemClient","options","$","_c","data","connectorClient","isLoading","error","isError","useConnectorClient","t0","bb0","undefined","t1","readContract","params","writeContract","params_0","signTypedData","params_1","minClient"],"mappings":";;;;;AAmBO,SAAAA,iBAAAC,OAAAA,EAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAGL,EAAA,MAAA;AAAA,IAAAC,IAAAA,EAAAC,eAAAA;AAAAA,IAAAC,SAAAA;AAAAA,IAAAC,KAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAKIC,mBAAmBR,OAAO,CAAA;AAAE,EAAA,IAAAS,EAAAA;AAAAC,EAAAA,GAAAA,EAAA;AAG9B,IAAA,IAAI,CAACN,eAAAA,EAAe;AAAEK,MAAAA,EAAAA,GAAAE,MAAAA;AAAA,MAAA,MAAAD,GAAAA;AAAAA,IAAO;AAAA,IAAA,IAAAE,GAAAA;AAAA,IAAA,IAAAX,CAAAA,QAAAG,eAAAA,EAAA;AAMtBQ,MAAAA,GAAAA,GAAA;AAAA,QAAAC,YAAAA,EACSC,CAAAA,MAAAA,KAAYD,YAAAA,CAAaT,eAAAA,EAAiBU,MAAM,CAAA;AAAA,QAACC,aAAAA,EAChDC,CAAAA,QAAAA,KAAYD,aAAAA,CAAcX,eAAAA,EAAiBU,QAAM,CAAA;AAAA,QAACG,aAAAA,EAClDC,CAAAA,QAAAA,KAAYD,aAAAA,CAAcb,eAAAA,EAAiBU,QAAM;AAAA,OAClE;AAACb,MAAAA,CAAAA,MAAAG,eAAAA;AAAAH,MAAAA,CAAAA,MAAAW,GAAAA;AAAAA,IAAA,CAAA,MAAA;AAAAA,MAAAA,GAAAA,GAAAX,EAAA,CAAA,CAAA;AAAA,IAAA;AAJDQ,IAAAA,EAAAA,GAAOG,GAAAA;AAAAA,EAIL;AAXJ,EAAA,MAAAO,SAAAA,GAAkBV,EAAAA;AAYI,EAAA,IAAAG,EAAAA;AAAA,EAAA,IAAAX,CAAAA,CAAA,CAAA,CAAA,KAAAK,KAAAA,IAAAL,EAAA,CAAA,CAAA,KAAAM,OAAAA,IAAAN,CAAAA,CAAA,CAAA,CAAA,KAAAI,SAAAA,IAAAJ,CAAAA,QAAAkB,SAAAA,EAAA;AAEfP,IAAAA,EAAAA,GAAA;AAAA,MAAAO,SAAAA;AAAAA,MAAAd,SAAAA;AAAAA,MAAAC,KAAAA;AAAAA,MAAAC;AAAAA,KAKP;AAACN,IAAAA,CAAAA,MAAAK,KAAAA;AAAAL,IAAAA,CAAAA,MAAAM,OAAAA;AAAAN,IAAAA,CAAAA,MAAAI,SAAAA;AAAAJ,IAAAA,CAAAA,MAAAkB,SAAAA;AAAAlB,IAAAA,CAAAA,MAAAW,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAX,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OALMW,EAAAA;AAKN;;;;"}
1
+ {"version":3,"file":"useMinViemClient.js","sources":["../../src/hooks/useMinViemClient.ts"],"sourcesContent":["import { useCallback, useMemo } from \"react\";\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport { useAccount, useChainId, useConfig, useConnectorClient } from \"wagmi\";\nimport { readContract, signTypedData, writeContract } from \"viem/actions\";\nimport type { Address } from \"viem\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport type { MinViemClient } from \"@velora-dex/sdk\";\nimport { getConnectorClientQueryOptions } from \"wagmi/query\";\nimport type { GetConnectorClientReturnType } from \"@wagmi/core\";\nimport type { wagmiConfig } from \"@/lib/web3/wagmi/config\";\n\ntype UseMinViemClientInput = {\n chainId?: SupportedChainId;\n account?: Address;\n};\n\ntype UseMinViemClientResult = {\n minClient?: MinViemClient;\n isLoading: boolean;\n error: Error | null;\n isError: boolean;\n};\n\ntype ConnectorClient = GetConnectorClientReturnType<\n typeof wagmiConfig,\n SupportedChainId\n>;\n\nexport function useMinViemClient(\n options?: UseMinViemClientInput\n): UseMinViemClientResult {\n const {\n data: connectorClient,\n isLoading,\n error,\n isError,\n } = useConnectorClient(options);\n\n const minClient = useMemo<MinViemClient | undefined>(() => {\n if (!connectorClient) return;\n\n // walletClient(useWalletClient) has writeContract and signTypedData,\n // publicClient(usePublicClient) has readContract\n // sdk requires all of them,\n // easier to compose connectorClient + viem actions (readContract, writeContract)\n return constructMinViemClient(connectorClient);\n }, [connectorClient]);\n\n return {\n minClient,\n isLoading,\n error,\n isError,\n };\n}\n\nfunction constructMinViemClient(\n connectorClient: ConnectorClient\n): MinViemClient {\n return {\n readContract: (params) => readContract(connectorClient, params),\n writeContract: (params) => writeContract(connectorClient, params),\n signTypedData: (params) => signTypedData(connectorClient, params),\n };\n}\n\n/**\n * Keep one subscriber to useConnectorClient query at all times\n * to avoid async client creation on useMinViemClient mount\n * and first useConnectorClient().data being undefined for a short time,\n * which breaks Fill OTC flow which starts from Activities screen\n */\nexport function useCacheMinViemClient() {\n const { address: account } = useAccount();\n const chainId = useChainId();\n useConnectorClient({\n chainId,\n account,\n });\n}\n\ntype EnsureMinViemClientOptions = {\n chainId?: SupportedChainId;\n connector?: ReturnType<typeof useAccount>[\"connector\"];\n};\n\ntype UseEnsureConnectorClientResult = {\n ensureViemClient: (options: UseMinViemClientInput) => Promise<MinViemClient>;\n};\n\n/**\n * Returns a function that loads the connector client on demand via\n * queryClient.ensureQueryData and getConnectorClientQueryOptions.\n * Uses current account's chainId and connector when options are omitted.\n */\nexport function useEnsureConnectorClient(): UseEnsureConnectorClientResult {\n const queryClient = useQueryClient();\n const config = useConfig();\n\n const ensureViemClient = useCallback(\n async (options: EnsureMinViemClientOptions): Promise<MinViemClient> => {\n const queryOptions = getConnectorClientQueryOptions(config, options);\n\n const connectorClient = await queryClient.ensureQueryData(queryOptions);\n\n return constructMinViemClient(connectorClient);\n },\n [queryClient, config]\n );\n\n return { ensureViemClient };\n}\n"],"names":["useMinViemClient","options","$","_c","data","connectorClient","isLoading","error","isError","useConnectorClient","t0","bb0","undefined","t1","constructMinViemClient","minClient","readContract","params","writeContract","signTypedData","useCacheMinViemClient","address","account","useAccount","chainId","useChainId","useEnsureConnectorClient","queryClient","useQueryClient","config","useConfig","queryOptions","getConnectorClientQueryOptions","ensureQueryData","ensureViemClient"],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { SupportedChainId } from '../lib/web3/wagmi/types';
2
+ import { UseMutationOptions } from '@tanstack/react-query';
3
+ type SwitchChainWithGuardInput = {
4
+ chainId: SupportedChainId;
5
+ };
6
+ type UseSwitchChainWithGuardMutationOption = Omit<UseMutationOptions<void, Error, SwitchChainWithGuardInput, void>, "mutationFn" | "mutationKey">;
7
+ type UseSwitchChainWithGuardInput = {
8
+ mutationOptions?: UseSwitchChainWithGuardMutationOption;
9
+ };
10
+ export declare function useSwitchChainWithGuard({ mutationOptions, }?: UseSwitchChainWithGuardInput): import('@tanstack/react-query').UseMutationResult<void, Error, SwitchChainWithGuardInput, void>;
11
+ export {};
12
+ //# sourceMappingURL=useSwitchChainWithGuard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSwitchChainWithGuard.d.ts","sourceRoot":"","sources":["../../src/hooks/useSwitchChainWithGuard.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG/D,OAAO,EAAe,KAAK,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE7E,KAAK,yBAAyB,GAAG;IAC/B,OAAO,EAAE,gBAAgB,CAAC;CAC3B,CAAC;AAEF,KAAK,qCAAqC,GAAG,IAAI,CAC/C,kBAAkB,CAAC,IAAI,EAAE,KAAK,EAAE,yBAAyB,EAAE,IAAI,CAAC,EAChE,YAAY,GAAG,aAAa,CAC7B,CAAC;AAEF,KAAK,4BAA4B,GAAG;IAClC,eAAe,CAAC,EAAE,qCAAqC,CAAC;CACzD,CAAC;AAEF,wBAAgB,uBAAuB,CAAC,EACtC,eAAe,GAChB,GAAE,4BAAiC,mGAkBnC"}
@@ -0,0 +1,70 @@
1
+ import { d as distExports } from '../_virtual/index.js';
2
+ import { switchChain } from '../lib/web3/wagmi/switchChain.js';
3
+ import { useEnsureConnectorClient } from './useMinViemClient.js';
4
+ import { useAccount } from 'wagmi';
5
+ import { useMutation } from '@tanstack/react-query';
6
+
7
+ function useSwitchChainWithGuard(t0) {
8
+ const $ = distExports.c(9);
9
+ let t1;
10
+ if ($[0] !== t0) {
11
+ t1 = {} ;
12
+ $[0] = t0;
13
+ $[1] = t1;
14
+ } else {
15
+ t1 = $[1];
16
+ }
17
+ const {
18
+ mutationOptions
19
+ } = t1;
20
+ const {
21
+ address: account
22
+ } = useAccount();
23
+ const {
24
+ ensureViemClient
25
+ } = useEnsureConnectorClient();
26
+ let t2;
27
+ if ($[2] === Symbol.for("react.memo_cache_sentinel")) {
28
+ t2 = ["switchChainWithGuard"];
29
+ $[2] = t2;
30
+ } else {
31
+ t2 = $[2];
32
+ }
33
+ let t3;
34
+ if ($[3] !== account || $[4] !== ensureViemClient) {
35
+ t3 = async (t42) => {
36
+ const {
37
+ chainId
38
+ } = t42;
39
+ await switchChain({
40
+ chainId
41
+ });
42
+ await ensureViemClient({
43
+ chainId,
44
+ account
45
+ });
46
+ };
47
+ $[3] = account;
48
+ $[4] = ensureViemClient;
49
+ $[5] = t3;
50
+ } else {
51
+ t3 = $[5];
52
+ }
53
+ let t4;
54
+ if ($[6] !== mutationOptions || $[7] !== t3) {
55
+ t4 = {
56
+ mutationKey: t2,
57
+ mutationFn: t3,
58
+ ...mutationOptions
59
+ };
60
+ $[6] = mutationOptions;
61
+ $[7] = t3;
62
+ $[8] = t4;
63
+ } else {
64
+ t4 = $[8];
65
+ }
66
+ return useMutation(t4);
67
+ }
68
+
69
+ export { useSwitchChainWithGuard };
70
+ //# sourceMappingURL=useSwitchChainWithGuard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSwitchChainWithGuard.js","sources":["../../src/hooks/useSwitchChainWithGuard.ts"],"sourcesContent":["import { switchChain as switchChainUtil } from \"@/lib/web3/wagmi/switchChain\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { useEnsureConnectorClient } from \"./useMinViemClient\";\nimport { useAccount } from \"wagmi\";\nimport { useMutation, type UseMutationOptions } from \"@tanstack/react-query\";\n\ntype SwitchChainWithGuardInput = {\n chainId: SupportedChainId;\n};\n\ntype UseSwitchChainWithGuardMutationOption = Omit<\n UseMutationOptions<void, Error, SwitchChainWithGuardInput, void>,\n \"mutationFn\" | \"mutationKey\"\n>;\n\ntype UseSwitchChainWithGuardInput = {\n mutationOptions?: UseSwitchChainWithGuardMutationOption;\n};\n\nexport function useSwitchChainWithGuard({\n mutationOptions,\n}: UseSwitchChainWithGuardInput = {}) {\n const { address: account } = useAccount();\n const { ensureViemClient } = useEnsureConnectorClient();\n\n return useMutation<void, Error, SwitchChainWithGuardInput, void>({\n mutationKey: [\"switchChainWithGuard\"],\n mutationFn: async ({ chainId }) => {\n await switchChainUtil({\n chainId,\n });\n // guard against using minClient with wrong chainId\n await ensureViemClient({\n chainId,\n account,\n });\n },\n ...mutationOptions,\n });\n}\n"],"names":["useSwitchChainWithGuard","t0","$","_c","t1","mutationOptions","address","account","useAccount","ensureViemClient","useEnsureConnectorClient","t2","Symbol","for","t3","t4","chainId","switchChainUtil","mutationKey","mutationFn","useMutation"],"mappings":";;;;;;AAmBO,SAAAA,wBAAAC,EAAAA,EAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAAA,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAF,CAAAA,QAAAD,EAAAA,EAAA;AAAiCG,IAAAA,EAAAA,GAAA,EAEL,CAFKH;AAEJC,IAAAA,CAAAA,MAAAD,EAAAA;AAAAC,IAAAA,CAAAA,MAAAE,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAF,EAAA,CAAA,CAAA;AAAA,EAAA;AAFI,EAAA,MAAA;AAAA,IAAAG;AAAAA,GAAA,GAAAD,EAAAA;AAGtC,EAAA,MAAA;AAAA,IAAAE,OAAAA,EAAAC;AAAAA,MAA6BC,UAAAA,EAAW;AACxC,EAAA,MAAA;AAAA,IAAAC;AAAAA,MAA6BC,wBAAAA,EAAyB;AAAE,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAT,EAAA,CAAA,CAAA,KAAAU,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AAGzCF,IAAAA,EAAAA,GAAA,CAAC,sBAAsB,CAAA;AAACT,IAAAA,CAAAA,MAAAS,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAT,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAY,EAAAA;AAAA,EAAA,IAAAZ,EAAA,CAAA,CAAA,KAAAK,WAAAL,CAAAA,QAAAO,gBAAAA,EAAA;AACzBK,IAAAA,EAAAA,UAAAC,GAAAA,KAAA;AAAO,MAAA,MAAA;AAAA,QAAAC;AAAAA,OAAA,GAAAD,GAAAA;AACjB,MAAA,MAAME,WAAAA,CAAgB;AAAA,QAAAD;AAAAA,OAErB,CAAA;AAED,MAAA,MAAMP,gBAAAA,CAAiB;AAAA,QAAAO,OAAAA;AAAAA,QAAAT;AAAAA,OAGtB,CAAA;AAAA,IAAC,CAAA;AACHL,IAAAA,CAAAA,MAAAK,OAAAA;AAAAL,IAAAA,CAAAA,MAAAO,gBAAAA;AAAAP,IAAAA,CAAAA,MAAAY,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAZ,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAa,EAAAA;AAAA,EAAA,IAAAb,EAAA,CAAA,CAAA,KAAAG,mBAAAH,CAAAA,QAAAY,EAAAA,EAAA;AAX8DC,IAAAA,EAAAA,GAAA;AAAA,MAAAG,WAAAA,EAClDP,EAAAA;AAAAA,MAAwBQ,UAAAA,EACzBL,EAAAA;AAAAA,MASX,GACET;AAAAA,KACL;AAACH,IAAAA,CAAAA,MAAAG,eAAAA;AAAAH,IAAAA,CAAAA,MAAAY,EAAAA;AAAAZ,IAAAA,CAAAA,MAAAa,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAb,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAbMkB,YAA0DL,EAahE,CAAA;AAAC;;;;"}
@@ -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: "9796e40630a6bea7605ac281b0deb939",
31
+ walletConnectCloudProjectId: "7535ce67d223b89670980f2442899904",
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: "9796e40630a6bea7605ac281b0deb939"
9
+ projectId: "7535ce67d223b89670980f2442899904"
10
10
  }),
11
11
  injected(),
12
12
  // metaMask() as CreateConnectorFn, // injected() detects metamask already
@@ -5,7 +5,7 @@ import { unichain, sonic, bsc, gnosis, avalanche, arbitrum, base, polygon, optim
5
5
  const rpcMap = {
6
6
  [mainnet.id]: "https://ethereum-rpc.publicnode.com",
7
7
  [optimism.id]: "https://optimism.drpc.org",
8
- [polygon.id]: "https://polygon-rpc.com",
8
+ [polygon.id]: "https://1rpc.io/matic",
9
9
  [base.id]: "https://base.publicnode.com",
10
10
  [arbitrum.id]: "https://arb1.arbitrum.io/rpc",
11
11
  [avalanche.id]: "https://api.avax.network/ext/bc/C/rpc",
@@ -1 +1 @@
1
- {"version":3,"file":"transports.js","sources":["../../../../src/lib/web3/wagmi/transports.ts"],"sourcesContent":["import { fallback, http } from \"wagmi\";\n\nimport {\n mainnet,\n optimism,\n polygon,\n base,\n arbitrum,\n avalanche,\n gnosis,\n bsc,\n sonic,\n unichain,\n} from \"./supportedChains\";\nimport { supportedChainIds } from \"./constants\";\nimport type { SupportedChainId } from \"./types\";\nimport type { FallbackTransport, Transport } from \"viem\";\n\nconst rpcMap: Record<SupportedChainId, string> = {\n [mainnet.id]: \"https://ethereum-rpc.publicnode.com\",\n [optimism.id]: \"https://optimism.drpc.org\",\n [polygon.id]: \"https://polygon-rpc.com\",\n [base.id]: \"https://base.publicnode.com\",\n [arbitrum.id]: \"https://arb1.arbitrum.io/rpc\",\n [avalanche.id]: \"https://api.avax.network/ext/bc/C/rpc\",\n [gnosis.id]: \"https://rpc.gnosischain.com\",\n [bsc.id]: \"https://binance.llamarpc.com\",\n [sonic.id]: \"https://rpc.soniclabs.com\",\n [unichain.id]: \"https://unichain.drpc.org\",\n};\n\nconst veloraRpcUrl = \"https://rpc.paraswap.io\";\n\nconst fallbackRpcMap = Object.fromEntries(\n supportedChainIds.map((chainId) => [chainId, `${veloraRpcUrl}/${chainId}`])\n) as Record<SupportedChainId, string>;\n\nexport const transports = Object.fromEntries(\n supportedChainIds.map((chainId) => [\n chainId,\n fallback([http(rpcMap[chainId]), http(fallbackRpcMap[chainId])]),\n ])\n) as Record<SupportedChainId, FallbackTransport<Transport[]>>;\n"],"names":["rpcMap","mainnet","id","optimism","polygon","base","arbitrum","avalanche","gnosis","bsc","sonic","unichain","veloraRpcUrl","fallbackRpcMap","Object","fromEntries","supportedChainIds","map","chainId","transports","fallback","http"],"mappings":";;;;AAkBA,MAAMA,MAAAA,GAA2C;AAAA,EAC/C,CAACC,OAAAA,CAAQC,EAAE,GAAG,qCAAA;AAAA,EACd,CAACC,QAAAA,CAASD,EAAE,GAAG,2BAAA;AAAA,EACf,CAACE,OAAAA,CAAQF,EAAE,GAAG,yBAAA;AAAA,EACd,CAACG,IAAAA,CAAKH,EAAE,GAAG,6BAAA;AAAA,EACX,CAACI,QAAAA,CAASJ,EAAE,GAAG,8BAAA;AAAA,EACf,CAACK,SAAAA,CAAUL,EAAE,GAAG,uCAAA;AAAA,EAChB,CAACM,MAAAA,CAAON,EAAE,GAAG,6BAAA;AAAA,EACb,CAACO,GAAAA,CAAIP,EAAE,GAAG,8BAAA;AAAA,EACV,CAACQ,KAAAA,CAAMR,EAAE,GAAG,2BAAA;AAAA,EACZ,CAACS,QAAAA,CAAST,EAAE,GAAG;AACjB,CAAA;AAEA,MAAMU,YAAAA,GAAe,yBAAA;AAErB,MAAMC,cAAAA,GAAiBC,MAAAA,CAAOC,WAAAA,CAC5BC,iBAAAA,CAAkBC,IAAKC,CAAAA,OAAAA,KAAY,CAACA,OAAAA,EAAS,CAAA,EAAGN,YAAY,CAAA,CAAA,EAAIM,OAAO,CAAA,CAAE,CAAC,CAC5E,CAAA;AAEO,MAAMC,UAAAA,GAAaL,OAAOC,WAAAA,CAC/BC,iBAAAA,CAAkBC,IAAKC,CAAAA,OAAAA,KAAY,CACjCA,OAAAA,EACAE,QAAAA,CAAS,CAACC,IAAAA,CAAKrB,OAAOkB,OAAO,CAAC,CAAA,EAAGG,IAAAA,CAAKR,cAAAA,CAAeK,OAAO,CAAC,CAAC,CAAC,CAAC,CACjE,CACH;;;;"}
1
+ {"version":3,"file":"transports.js","sources":["../../../../src/lib/web3/wagmi/transports.ts"],"sourcesContent":["import { fallback, http } from \"wagmi\";\n\nimport {\n mainnet,\n optimism,\n polygon,\n base,\n arbitrum,\n avalanche,\n gnosis,\n bsc,\n sonic,\n unichain,\n} from \"./supportedChains\";\nimport { supportedChainIds } from \"./constants\";\nimport type { SupportedChainId } from \"./types\";\nimport type { FallbackTransport, Transport } from \"viem\";\n\nconst rpcMap: Record<SupportedChainId, string> = {\n [mainnet.id]: \"https://ethereum-rpc.publicnode.com\",\n [optimism.id]: \"https://optimism.drpc.org\",\n [polygon.id]: \"https://1rpc.io/matic\",\n [base.id]: \"https://base.publicnode.com\",\n [arbitrum.id]: \"https://arb1.arbitrum.io/rpc\",\n [avalanche.id]: \"https://api.avax.network/ext/bc/C/rpc\",\n [gnosis.id]: \"https://rpc.gnosischain.com\",\n [bsc.id]: \"https://binance.llamarpc.com\",\n [sonic.id]: \"https://rpc.soniclabs.com\",\n [unichain.id]: \"https://unichain.drpc.org\",\n};\n\nconst veloraRpcUrl = \"https://rpc.paraswap.io\";\n\nconst fallbackRpcMap = Object.fromEntries(\n supportedChainIds.map((chainId) => [chainId, `${veloraRpcUrl}/${chainId}`])\n) as Record<SupportedChainId, string>;\n\nexport const transports = Object.fromEntries(\n supportedChainIds.map((chainId) => [\n chainId,\n fallback([http(rpcMap[chainId]), http(fallbackRpcMap[chainId])]),\n ])\n) as Record<SupportedChainId, FallbackTransport<Transport[]>>;\n"],"names":["rpcMap","mainnet","id","optimism","polygon","base","arbitrum","avalanche","gnosis","bsc","sonic","unichain","veloraRpcUrl","fallbackRpcMap","Object","fromEntries","supportedChainIds","map","chainId","transports","fallback","http"],"mappings":";;;;AAkBA,MAAMA,MAAAA,GAA2C;AAAA,EAC/C,CAACC,OAAAA,CAAQC,EAAE,GAAG,qCAAA;AAAA,EACd,CAACC,QAAAA,CAASD,EAAE,GAAG,2BAAA;AAAA,EACf,CAACE,OAAAA,CAAQF,EAAE,GAAG,uBAAA;AAAA,EACd,CAACG,IAAAA,CAAKH,EAAE,GAAG,6BAAA;AAAA,EACX,CAACI,QAAAA,CAASJ,EAAE,GAAG,8BAAA;AAAA,EACf,CAACK,SAAAA,CAAUL,EAAE,GAAG,uCAAA;AAAA,EAChB,CAACM,MAAAA,CAAON,EAAE,GAAG,6BAAA;AAAA,EACb,CAACO,GAAAA,CAAIP,EAAE,GAAG,8BAAA;AAAA,EACV,CAACQ,KAAAA,CAAMR,EAAE,GAAG,2BAAA;AAAA,EACZ,CAACS,QAAAA,CAAST,EAAE,GAAG;AACjB,CAAA;AAEA,MAAMU,YAAAA,GAAe,yBAAA;AAErB,MAAMC,cAAAA,GAAiBC,MAAAA,CAAOC,WAAAA,CAC5BC,iBAAAA,CAAkBC,IAAKC,CAAAA,OAAAA,KAAY,CAACA,OAAAA,EAAS,CAAA,EAAGN,YAAY,CAAA,CAAA,EAAIM,OAAO,CAAA,CAAE,CAAC,CAC5E,CAAA;AAEO,MAAMC,UAAAA,GAAaL,OAAOC,WAAAA,CAC/BC,iBAAAA,CAAkBC,IAAKC,CAAAA,OAAAA,KAAY,CACjCA,OAAAA,EACAE,QAAAA,CAAS,CAACC,IAAAA,CAAKrB,OAAOkB,OAAO,CAAC,CAAA,EAAGG,IAAAA,CAAKR,cAAAA,CAAeK,OAAO,CAAC,CAAC,CAAC,CAAC,CACjE,CACH;;;;"}
package/dist/styles.css CHANGED
@@ -70,7 +70,7 @@
70
70
  }
71
71
  }
72
72
  }
73
- :root, :host {
73
+ .velora-widget {
74
74
  --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
75
75
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
76
76
  --color-red-800: oklch(44.4% .177 26.899);
@@ -3,7 +3,8 @@ import { wagmiConfig as _wagmiConfig } from '../../lib/web3/wagmi/config';
3
3
  import { QueryClient } from '@tanstack/react-query';
4
4
  import { MarkRequired } from 'ts-essentials';
5
5
  import { ReplacementReturnType, TransactionReceipt } from 'viem';
6
- type OnReplacedCb = (data: ReplacementReturnType) => void;
6
+ import { Chain } from 'wagmi/chains';
7
+ type OnReplacedCb = (data: ReplacementReturnType<Chain>) => void;
7
8
  export type EnsureTxReceiptFn = (options: MarkRequired<Pick<UseAwaitTxParameters, "hash" | "chainId" | "confirmations">, "hash" | "chainId"> & {
8
9
  onReplaced?: OnReplacedCb;
9
10
  }) => Promise<TransactionReceipt>;
@@ -1 +1 @@
1
- {"version":3,"file":"ensureTxReceipt.d.ts","sourceRoot":"","sources":["../../../src/transactions/queries/ensureTxReceipt.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAE3E,OAAO,EAAE,WAAW,IAAI,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAU,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,MAAM,CAAC;AAK9E,KAAK,YAAY,GAAG,CAAC,IAAI,EAAE,qBAAqB,KAAK,IAAI,CAAC;AAE1D,MAAM,MAAM,iBAAiB,GAAG,CAC9B,OAAO,EAAE,YAAY,CACnB,IAAI,CAAC,oBAAoB,EAAE,MAAM,GAAG,SAAS,GAAG,eAAe,CAAC,EAChE,MAAM,GAAG,SAAS,CACnB,GAAG;IACF,UAAU,CAAC,EAAE,YAAY,CAAC;CAC3B,KACE,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAEjC,KAAK,sBAAsB,GAAG,CAAC,MAAM,CAAC,EAAE;IACtC,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,YAAY,CAAC;IAClC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,KAAK,iBAAiB,CAAC;AAExB,eAAO,MAAM,sBAAsB,EAAE,sBAmClC,CAAC"}
1
+ {"version":3,"file":"ensureTxReceipt.d.ts","sourceRoot":"","sources":["../../../src/transactions/queries/ensureTxReceipt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAE3E,OAAO,EAAE,WAAW,IAAI,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EAAU,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,KAAK,qBAAqB,EAAE,KAAK,kBAAkB,EAAE,MAAM,MAAM,CAAC;AAI3E,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,cAAc,CAAC;AAI1C,KAAK,YAAY,GAAG,CAAC,IAAI,EAAE,qBAAqB,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC;AAEjE,MAAM,MAAM,iBAAiB,GAAG,CAC9B,OAAO,EAAE,YAAY,CACnB,IAAI,CAAC,oBAAoB,EAAE,MAAM,GAAG,SAAS,GAAG,eAAe,CAAC,EAChE,MAAM,GAAG,SAAS,CACnB,GAAG;IACF,UAAU,CAAC,EAAE,YAAY,CAAC;CAC3B,KACE,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAEjC,KAAK,sBAAsB,GAAG,CAAC,MAAM,CAAC,EAAE;IACtC,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,YAAY,CAAC;IAClC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,KAAK,iBAAiB,CAAC;AAExB,eAAO,MAAM,sBAAsB,EAAE,sBAsClC,CAAC"}
@@ -1,10 +1,12 @@
1
- import { isSafeConnector } from '../../hooks/connectors/useIsGnosisSafeConnector.js';
2
1
  import { queryClient } from '../../lib/queryClient.js';
3
2
  import { wagmiConfig } from '../../lib/web3/wagmi/config.js';
4
- import { getAccount, getConnectorClient } from '@wagmi/core';
5
- import { waitForTransactionReceipt } from 'viem/actions';
6
- import { waitForTransactionReceiptQueryKey } from 'wagmi/query';
3
+ import { assert } from 'ts-essentials';
4
+ import 'viem';
5
+ import { waitForTransactionReceiptQueryOptions } from 'wagmi/query';
7
6
  import { SAFE_CALLS_WAIT_TIMEOUT } from '../../lib/constants/index.js';
7
+ import 'wagmi/chains';
8
+ import { getAccount, getConnectorClient } from '@wagmi/core';
9
+ import { isSafeConnector } from '../../hooks/connectors/useIsGnosisSafeConnector.js';
8
10
 
9
11
  const ensureTxReceiptFactory = ({
10
12
  queryClient: queryClient$1 = queryClient,
@@ -17,37 +19,31 @@ const ensureTxReceiptFactory = ({
17
19
  onReplaced
18
20
  }) => {
19
21
  const timeout = isSafe ? SAFE_CALLS_WAIT_TIMEOUT : void 0;
20
- const queryKey = waitForTransactionReceiptQueryKey({
21
- hash,
22
- chainId,
23
- confirmations,
24
- timeout
25
- });
26
- let client;
22
+ let config = wagmiConfig$1;
27
23
  const {
28
24
  connector
29
25
  } = getAccount(wagmiConfig$1);
30
26
  if (connector && isSafeConnector(connector)) {
31
- client = await getConnectorClient(wagmiConfig$1, {
27
+ const safeClient = await getConnectorClient(wagmiConfig$1, {
32
28
  chainId,
33
29
  connector
34
30
  });
35
- } else {
36
- client = wagmiConfig$1.getClient({
37
- chainId
38
- });
31
+ config = {
32
+ ...wagmiConfig$1,
33
+ getClient: (options) => {
34
+ assert(!options || options.chainId === chainId, "chainId mismatch");
35
+ return safeClient;
36
+ }
37
+ };
39
38
  }
40
- const receipt = await queryClient$1.ensureQueryData({
41
- queryKey,
42
- queryFn: () => {
43
- return waitForTransactionReceipt(client, {
44
- hash,
45
- confirmations,
46
- onReplaced,
47
- timeout
48
- });
49
- }
39
+ const queryOptions = waitForTransactionReceiptQueryOptions(config, {
40
+ hash,
41
+ chainId,
42
+ confirmations,
43
+ timeout,
44
+ onReplaced
50
45
  });
46
+ const receipt = await queryClient$1.ensureQueryData(queryOptions);
51
47
  return receipt;
52
48
  };
53
49
 
@@ -1 +1 @@
1
- {"version":3,"file":"ensureTxReceipt.js","sources":["../../../src/transactions/queries/ensureTxReceipt.ts"],"sourcesContent":["import { isSafeConnector } from \"@/hooks/connectors/useIsGnosisSafeConnector\";\nimport type { UseAwaitTxParameters } from \"@/hooks/txs/queries/useAwaitTx\";\nimport { queryClient as _queryClient } from \"@/lib/queryClient\";\nimport { wagmiConfig as _wagmiConfig } from \"@/lib/web3/wagmi/config\";\nimport type { QueryClient } from \"@tanstack/react-query\";\nimport { getAccount, getConnectorClient } from \"@wagmi/core\";\nimport { waitForTransactionReceipt } from \"viem/actions\";\nimport type { MarkRequired } from \"ts-essentials\";\nimport type { Client, ReplacementReturnType, TransactionReceipt } from \"viem\";\n\nimport { waitForTransactionReceiptQueryKey } from \"wagmi/query\";\nimport { SAFE_CALLS_WAIT_TIMEOUT } from \"@/lib/constants\";\n\ntype OnReplacedCb = (data: ReplacementReturnType) => void;\n\nexport type EnsureTxReceiptFn = (\n options: MarkRequired<\n Pick<UseAwaitTxParameters, \"hash\" | \"chainId\" | \"confirmations\">,\n \"hash\" | \"chainId\"\n > & {\n onReplaced?: OnReplacedCb;\n }\n) => Promise<TransactionReceipt>;\n\ntype EnsureTxReceiptFactory = (params?: {\n queryClient?: QueryClient;\n wagmiConfig?: typeof _wagmiConfig;\n isSafe?: boolean;\n}) => EnsureTxReceiptFn;\n\nexport const ensureTxReceiptFactory: EnsureTxReceiptFactory =\n ({ queryClient = _queryClient, wagmiConfig = _wagmiConfig, isSafe } = {}) =>\n async ({ hash, chainId, confirmations, onReplaced }) => {\n const timeout = isSafe ? SAFE_CALLS_WAIT_TIMEOUT : undefined;\n const queryKey = waitForTransactionReceiptQueryKey({\n hash,\n chainId,\n confirmations,\n timeout,\n });\n\n let client: Client;\n const { connector } = getAccount(wagmiConfig);\n // always use connector client if connected through native safe connector.\n // safe provider returns a safeTxHash that is different from a real tx hash.\n // if connected to safe through WalletConnect - publicClient returns a real tx hash.\n if (connector && isSafeConnector(connector)) {\n client = await getConnectorClient(wagmiConfig, { chainId, connector });\n } else {\n client = wagmiConfig.getClient({ chainId });\n }\n\n const receipt = await queryClient.ensureQueryData({\n queryKey,\n queryFn: () => {\n return waitForTransactionReceipt(client, {\n hash,\n confirmations,\n onReplaced,\n timeout,\n });\n },\n });\n\n return receipt;\n };\n"],"names":["ensureTxReceiptFactory","queryClient","_queryClient","wagmiConfig","_wagmiConfig","isSafe","hash","chainId","confirmations","onReplaced","timeout","SAFE_CALLS_WAIT_TIMEOUT","undefined","queryKey","waitForTransactionReceiptQueryKey","client","connector","getAccount","isSafeConnector","getConnectorClient","getClient","receipt","ensureQueryData","queryFn","waitForTransactionReceipt"],"mappings":";;;;;;;;AA8BO,MAAMA,yBACXA,CAAC;AAAA,eAAEC,aAAAA,GAAcC,WAAAA;AAAAA,eAAcC,aAAAA,GAAcC,WAAAA;AAAAA,EAAcC;AAAO,CAAA,GAAI,OACtE,OAAO;AAAA,EAAEC,IAAAA;AAAAA,EAAMC,OAAAA;AAAAA,EAASC,aAAAA;AAAAA,EAAeC;AAAW,CAAA,KAAM;AACtD,EAAA,MAAMC,OAAAA,GAAUL,SAASM,uBAAAA,GAA0BC,MAAAA;AACnD,EAAA,MAAMC,WAAWC,iCAAAA,CAAkC;AAAA,IACjDR,IAAAA;AAAAA,IACAC,OAAAA;AAAAA,IACAC,aAAAA;AAAAA,IACAE;AAAAA,GACD,CAAA;AAED,EAAA,IAAIK,MAAAA;AACJ,EAAA,MAAM;AAAA,IAAEC;AAAAA,GAAU,GAAIC,WAAWd,aAAW,CAAA;AAI5C,EAAA,IAAIa,SAAAA,IAAaE,eAAAA,CAAgBF,SAAS,CAAA,EAAG;AAC3CD,IAAAA,MAAAA,GAAS,MAAMI,mBAAmBhB,aAAAA,EAAa;AAAA,MAAEI,OAAAA;AAAAA,MAASS;AAAAA,KAAW,CAAA;AAAA,EACvE,CAAA,MAAO;AACLD,IAAAA,MAAAA,GAASZ,cAAYiB,SAAAA,CAAU;AAAA,MAAEb;AAAAA,KAAS,CAAA;AAAA,EAC5C;AAEA,EAAA,MAAMc,OAAAA,GAAU,MAAMpB,aAAAA,CAAYqB,eAAAA,CAAgB;AAAA,IAChDT,QAAAA;AAAAA,IACAU,SAASA,MAAM;AACb,MAAA,OAAOC,0BAA0BT,MAAAA,EAAQ;AAAA,QACvCT,IAAAA;AAAAA,QACAE,aAAAA;AAAAA,QACAC,UAAAA;AAAAA,QACAC;AAAAA,OACD,CAAA;AAAA,IACH;AAAA,GACD,CAAA;AAED,EAAA,OAAOW,OAAAA;AACT;;;;"}
1
+ {"version":3,"file":"ensureTxReceipt.js","sources":["../../../src/transactions/queries/ensureTxReceipt.ts"],"sourcesContent":["import type { UseAwaitTxParameters } from \"@/hooks/txs/queries/useAwaitTx\";\nimport { queryClient as _queryClient } from \"@/lib/queryClient\";\nimport { wagmiConfig as _wagmiConfig } from \"@/lib/web3/wagmi/config\";\nimport type { QueryClient } from \"@tanstack/react-query\";\n\nimport { assert, type MarkRequired } from \"ts-essentials\";\nimport { type ReplacementReturnType, type TransactionReceipt } from \"viem\";\n\nimport { waitForTransactionReceiptQueryOptions } from \"wagmi/query\";\nimport { SAFE_CALLS_WAIT_TIMEOUT } from \"@/lib/constants\";\nimport { type Chain } from \"wagmi/chains\";\nimport { getAccount, getConnectorClient } from \"@wagmi/core\";\nimport { isSafeConnector } from \"@/hooks/connectors/useIsGnosisSafeConnector\";\n\ntype OnReplacedCb = (data: ReplacementReturnType<Chain>) => void;\n\nexport type EnsureTxReceiptFn = (\n options: MarkRequired<\n Pick<UseAwaitTxParameters, \"hash\" | \"chainId\" | \"confirmations\">,\n \"hash\" | \"chainId\"\n > & {\n onReplaced?: OnReplacedCb;\n }\n) => Promise<TransactionReceipt>;\n\ntype EnsureTxReceiptFactory = (params?: {\n queryClient?: QueryClient;\n wagmiConfig?: typeof _wagmiConfig;\n isSafe?: boolean;\n}) => EnsureTxReceiptFn;\n\nexport const ensureTxReceiptFactory: EnsureTxReceiptFactory =\n ({ queryClient = _queryClient, wagmiConfig = _wagmiConfig, isSafe } = {}) =>\n async ({ hash, chainId, confirmations, onReplaced }) => {\n const timeout = isSafe ? SAFE_CALLS_WAIT_TIMEOUT : undefined;\n\n let config = wagmiConfig;\n const { connector } = getAccount(wagmiConfig);\n // always use connector client if connected through native safe connector.\n // safe provider returns a safeTxHash that is different from a real tx hash.\n // if connected to safe through WalletConnect - publicClient returns a real tx hash.\n if (connector && isSafeConnector(connector)) {\n const safeClient = await getConnectorClient(wagmiConfig, {\n chainId,\n connector,\n });\n // force waitForTransactionReceiptQueryOptions to use SafeClient internally\n config = {\n ...wagmiConfig,\n getClient: (options) => {\n assert(!options || options.chainId === chainId, \"chainId mismatch\");\n return safeClient;\n },\n } as typeof wagmiConfig;\n }\n\n // wagmi/core waitForTransactionReceipt throws on receipt.status==\"reverted\",\n // unlike viem waitForTransactionReceipt which returns the receipt as is\n const queryOptions = waitForTransactionReceiptQueryOptions(config, {\n hash,\n chainId,\n confirmations,\n timeout,\n onReplaced,\n });\n\n const receipt = await queryClient.ensureQueryData(queryOptions);\n\n return receipt;\n };\n"],"names":["ensureTxReceiptFactory","queryClient","_queryClient","wagmiConfig","_wagmiConfig","isSafe","hash","chainId","confirmations","onReplaced","timeout","SAFE_CALLS_WAIT_TIMEOUT","undefined","config","connector","getAccount","isSafeConnector","safeClient","getConnectorClient","getClient","options","assert","queryOptions","waitForTransactionReceiptQueryOptions","receipt","ensureQueryData"],"mappings":";;;;;;;;;;AA+BO,MAAMA,yBACXA,CAAC;AAAA,eAAEC,aAAAA,GAAcC,WAAAA;AAAAA,eAAcC,aAAAA,GAAcC,WAAAA;AAAAA,EAAcC;AAAO,CAAA,GAAI,OACtE,OAAO;AAAA,EAAEC,IAAAA;AAAAA,EAAMC,OAAAA;AAAAA,EAASC,aAAAA;AAAAA,EAAeC;AAAW,CAAA,KAAM;AACtD,EAAA,MAAMC,OAAAA,GAAUL,SAASM,uBAAAA,GAA0BC,MAAAA;AAEnD,EAAA,IAAIC,MAAAA,GAASV,aAAAA;AACb,EAAA,MAAM;AAAA,IAAEW;AAAAA,GAAU,GAAIC,WAAWZ,aAAW,CAAA;AAI5C,EAAA,IAAIW,SAAAA,IAAaE,eAAAA,CAAgBF,SAAS,CAAA,EAAG;AAC3C,IAAA,MAAMG,UAAAA,GAAa,MAAMC,kBAAAA,CAAmBf,aAAAA,EAAa;AAAA,MACvDI,OAAAA;AAAAA,MACAO;AAAAA,KACD,CAAA;AAEDD,IAAAA,MAAAA,GAAS;AAAA,MACP,GAAGV,aAAAA;AAAAA,MACHgB,WAAYC,CAAAA,OAAAA,KAAY;AACtBC,QAAAA,MAAAA,CAAO,CAACD,OAAAA,IAAWA,OAAAA,CAAQb,OAAAA,KAAYA,SAAS,kBAAkB,CAAA;AAClE,QAAA,OAAOU,UAAAA;AAAAA,MACT;AAAA,KACF;AAAA,EACF;AAIA,EAAA,MAAMK,YAAAA,GAAeC,sCAAsCV,MAAAA,EAAQ;AAAA,IACjEP,IAAAA;AAAAA,IACAC,OAAAA;AAAAA,IACAC,aAAAA;AAAAA,IACAE,OAAAA;AAAAA,IACAD;AAAAA,GACD,CAAA;AAED,EAAA,MAAMe,OAAAA,GAAU,MAAMvB,aAAAA,CAAYwB,eAAAA,CAAgBH,YAAY,CAAA;AAE9D,EAAA,OAAOE,OAAAA;AACT;;;;"}
@@ -1,4 +1,4 @@
1
- export declare const finalizeStandoloneTxsEffect: import('jotai').Atom<void> & {
1
+ export declare const finalizeStandaloneTxsEffect: import('jotai').Atom<void> & {
2
2
  effect: import('jotai-effect').Effect;
3
3
  };
4
4
  export declare const finalizeBatchTxsEffect: import('jotai').Atom<void> & {
@@ -5,7 +5,7 @@ import { transactionLogger } from '../../logger.js';
5
5
  import { accountAtom } from '../../../lib/web3/wagmi/external.js';
6
6
 
7
7
  let hasRunStandaloneEffect = false;
8
- const finalizeStandoloneTxsEffect = atomEffect((get, set) => {
8
+ const finalizeStandaloneTxsEffect = atomEffect((get, set) => {
9
9
  if (hasRunStandaloneEffect) return;
10
10
  hasRunStandaloneEffect = true;
11
11
  const pendingStandaloneTxs = get(allPendingStandaloneTransactionItemsAtom);
@@ -24,5 +24,5 @@ const finalizeBatchTxsEffect = atomEffect((get, set) => {
24
24
  }
25
25
  });
26
26
 
27
- export { finalizeBatchTxsEffect, finalizeStandoloneTxsEffect };
27
+ export { finalizeBatchTxsEffect, finalizeStandaloneTxsEffect };
28
28
  //# sourceMappingURL=finalize.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"finalize.js","sources":["../../../../src/transactions/state/effects/finalize.ts"],"sourcesContent":["import { atomEffect } from \"jotai-effect\";\nimport {\n allPendingBatchTransactionItemsAtom,\n allPendingStandaloneTransactionItemsAtom,\n} from \"../transactionsAtom\";\nimport {\n finalizeBatchTxAtom,\n finalizeStandaloneTxAtom,\n} from \"../transactionsActionAtom\";\n\nimport { transactionLogger } from \"../../logger\";\nimport { accountAtom } from \"@/lib/web3/wagmi/external\";\n\n// run only once on app load\nlet hasRunStandaloneEffect = false;\nexport const finalizeStandoloneTxsEffect = atomEffect((get, set) => {\n if (hasRunStandaloneEffect) return;\n hasRunStandaloneEffect = true;\n\n const pendingStandaloneTxs = get(allPendingStandaloneTransactionItemsAtom);\n transactionLogger.log(\"Effect::pendingStandaloneTxs\", pendingStandaloneTxs);\n pendingStandaloneTxs.forEach((tx) => set(finalizeStandaloneTxAtom, tx));\n});\n\n// run only once after account is connected and available in atom\n// because waitForCallsStatus requires wallet to be connected\nlet hasRunBatchEffect = false;\nexport const finalizeBatchTxsEffect = atomEffect((get, set) => {\n if (hasRunBatchEffect) return;\n\n const account = get(accountAtom);\n if (account) {\n hasRunBatchEffect = true;\n\n const pendingBatchTxs = get(allPendingBatchTransactionItemsAtom);\n transactionLogger.log(\"Effect::pendingBatchTxs\", pendingBatchTxs);\n pendingBatchTxs.forEach((tx) => set(finalizeBatchTxAtom, tx));\n }\n});\n"],"names":["hasRunStandaloneEffect","finalizeStandoloneTxsEffect","atomEffect","get","set","pendingStandaloneTxs","allPendingStandaloneTransactionItemsAtom","transactionLogger","log","forEach","tx","finalizeStandaloneTxAtom","hasRunBatchEffect","finalizeBatchTxsEffect","account","accountAtom","pendingBatchTxs","allPendingBatchTransactionItemsAtom","finalizeBatchTxAtom"],"mappings":";;;;;;AAcA,IAAIA,sBAAAA,GAAyB,KAAA;AACtB,MAAMC,2BAAAA,GAA8BC,UAAAA,CAAW,CAACC,GAAAA,EAAKC,GAAAA,KAAQ;AAClE,EAAA,IAAIJ,sBAAAA,EAAwB;AAC5BA,EAAAA,sBAAAA,GAAyB,IAAA;AAEzB,EAAA,MAAMK,oBAAAA,GAAuBF,IAAIG,wCAAwC,CAAA;AACzEC,EAAAA,iBAAAA,CAAkBC,GAAAA,CAAI,gCAAgCH,oBAAoB,CAAA;AAC1EA,EAAAA,oBAAAA,CAAqBI,OAAAA,CAASC,CAAAA,EAAAA,KAAON,GAAAA,CAAIO,wBAAAA,EAA0BD,EAAE,CAAC,CAAA;AACxE,CAAC;AAID,IAAIE,iBAAAA,GAAoB,KAAA;AACjB,MAAMC,sBAAAA,GAAyBX,UAAAA,CAAW,CAACC,GAAAA,EAAKC,GAAAA,KAAQ;AAC7D,EAAA,IAAIQ,iBAAAA,EAAmB;AAEvB,EAAA,MAAME,OAAAA,GAAUX,IAAIY,WAAW,CAAA;AAC/B,EAAA,IAAID,OAAAA,EAAS;AACXF,IAAAA,iBAAAA,GAAoB,IAAA;AAEpB,IAAA,MAAMI,eAAAA,GAAkBb,IAAIc,mCAAmC,CAAA;AAC/DV,IAAAA,iBAAAA,CAAkBC,GAAAA,CAAI,2BAA2BQ,eAAe,CAAA;AAChEA,IAAAA,eAAAA,CAAgBP,OAAAA,CAASC,CAAAA,EAAAA,KAAON,GAAAA,CAAIc,mBAAAA,EAAqBR,EAAE,CAAC,CAAA;AAAA,EAC9D;AACF,CAAC;;;;"}
1
+ {"version":3,"file":"finalize.js","sources":["../../../../src/transactions/state/effects/finalize.ts"],"sourcesContent":["import { atomEffect } from \"jotai-effect\";\nimport {\n allPendingBatchTransactionItemsAtom,\n allPendingStandaloneTransactionItemsAtom,\n} from \"../transactionsAtom\";\nimport {\n finalizeBatchTxAtom,\n finalizeStandaloneTxAtom,\n} from \"../transactionsActionAtom\";\n\nimport { transactionLogger } from \"../../logger\";\nimport { accountAtom } from \"@/lib/web3/wagmi/external\";\n\n// run only once on app load\nlet hasRunStandaloneEffect = false;\nexport const finalizeStandaloneTxsEffect = atomEffect((get, set) => {\n if (hasRunStandaloneEffect) return;\n hasRunStandaloneEffect = true;\n\n const pendingStandaloneTxs = get(allPendingStandaloneTransactionItemsAtom);\n transactionLogger.log(\"Effect::pendingStandaloneTxs\", pendingStandaloneTxs);\n pendingStandaloneTxs.forEach((tx) => set(finalizeStandaloneTxAtom, tx));\n});\n\n// run only once after account is connected and available in atom\n// because waitForCallsStatus requires wallet to be connected\nlet hasRunBatchEffect = false;\nexport const finalizeBatchTxsEffect = atomEffect((get, set) => {\n if (hasRunBatchEffect) return;\n\n const account = get(accountAtom);\n if (account) {\n hasRunBatchEffect = true;\n\n const pendingBatchTxs = get(allPendingBatchTransactionItemsAtom);\n transactionLogger.log(\"Effect::pendingBatchTxs\", pendingBatchTxs);\n pendingBatchTxs.forEach((tx) => set(finalizeBatchTxAtom, tx));\n }\n});\n"],"names":["hasRunStandaloneEffect","finalizeStandaloneTxsEffect","atomEffect","get","set","pendingStandaloneTxs","allPendingStandaloneTransactionItemsAtom","transactionLogger","log","forEach","tx","finalizeStandaloneTxAtom","hasRunBatchEffect","finalizeBatchTxsEffect","account","accountAtom","pendingBatchTxs","allPendingBatchTransactionItemsAtom","finalizeBatchTxAtom"],"mappings":";;;;;;AAcA,IAAIA,sBAAAA,GAAyB,KAAA;AACtB,MAAMC,2BAAAA,GAA8BC,UAAAA,CAAW,CAACC,GAAAA,EAAKC,GAAAA,KAAQ;AAClE,EAAA,IAAIJ,sBAAAA,EAAwB;AAC5BA,EAAAA,sBAAAA,GAAyB,IAAA;AAEzB,EAAA,MAAMK,oBAAAA,GAAuBF,IAAIG,wCAAwC,CAAA;AACzEC,EAAAA,iBAAAA,CAAkBC,GAAAA,CAAI,gCAAgCH,oBAAoB,CAAA;AAC1EA,EAAAA,oBAAAA,CAAqBI,OAAAA,CAASC,CAAAA,EAAAA,KAAON,GAAAA,CAAIO,wBAAAA,EAA0BD,EAAE,CAAC,CAAA;AACxE,CAAC;AAID,IAAIE,iBAAAA,GAAoB,KAAA;AACjB,MAAMC,sBAAAA,GAAyBX,UAAAA,CAAW,CAACC,GAAAA,EAAKC,GAAAA,KAAQ;AAC7D,EAAA,IAAIQ,iBAAAA,EAAmB;AAEvB,EAAA,MAAME,OAAAA,GAAUX,IAAIY,WAAW,CAAA;AAC/B,EAAA,IAAID,OAAAA,EAAS;AACXF,IAAAA,iBAAAA,GAAoB,IAAA;AAEpB,IAAA,MAAMI,eAAAA,GAAkBb,IAAIc,mCAAmC,CAAA;AAC/DV,IAAAA,iBAAAA,CAAkBC,GAAAA,CAAI,2BAA2BQ,eAAe,CAAA;AAChEA,IAAAA,eAAAA,CAAgBP,OAAAA,CAASC,CAAAA,EAAAA,KAAON,GAAAA,CAAIc,mBAAAA,EAAqBR,EAAE,CAAC,CAAA;AAAA,EAC9D;AACF,CAAC;;;;"}
@@ -1,8 +1,8 @@
1
1
  import { useAtom } from '../../../core/store.js';
2
- import { finalizeStandoloneTxsEffect, finalizeBatchTxsEffect } from '../effects/finalize.js';
2
+ import { finalizeStandaloneTxsEffect, finalizeBatchTxsEffect } from '../effects/finalize.js';
3
3
 
4
4
  function useActivateEffects() {
5
- useAtom(finalizeStandoloneTxsEffect);
5
+ useAtom(finalizeStandaloneTxsEffect);
6
6
  useAtom(finalizeBatchTxsEffect);
7
7
  }
8
8
 
@@ -1 +1 @@
1
- {"version":3,"file":"useActivateEffects.js","sources":["../../../../src/transactions/state/hooks/useActivateEffects.ts"],"sourcesContent":["import { useAtom } from \"@/core/store\";\nimport {\n finalizeBatchTxsEffect,\n finalizeStandoloneTxsEffect,\n} from \"@/transactions/state/effects/finalize\";\n\nexport function useActivateEffects() {\n // atomEffects must be rendered for subscriptions to activate\n useAtom(finalizeStandoloneTxsEffect);\n useAtom(finalizeBatchTxsEffect);\n}\n"],"names":["useActivateEffects","useAtom","finalizeStandoloneTxsEffect","finalizeBatchTxsEffect"],"mappings":";;;AAMO,SAAAA,kBAAAA,GAAA;AAELC,EAAAA,OAAAA,CAAQC,2BAA2B,CAAA;AACnCD,EAAAA,OAAAA,CAAQE,sBAAsB,CAAA;AAAC;;;;"}
1
+ {"version":3,"file":"useActivateEffects.js","sources":["../../../../src/transactions/state/hooks/useActivateEffects.ts"],"sourcesContent":["import { useAtom } from \"@/core/store\";\nimport {\n finalizeBatchTxsEffect,\n finalizeStandaloneTxsEffect,\n} from \"@/transactions/state/effects/finalize\";\n\nexport function useActivateEffects() {\n // atomEffects must be rendered for subscriptions to activate\n useAtom(finalizeStandaloneTxsEffect);\n useAtom(finalizeBatchTxsEffect);\n}\n"],"names":["useActivateEffects","useAtom","finalizeStandaloneTxsEffect","finalizeBatchTxsEffect"],"mappings":";;;AAMO,SAAAA,kBAAAA,GAAA;AAELC,EAAAA,OAAAA,CAAQC,2BAA2B,CAAA;AACnCD,EAAAA,OAAAA,CAAQE,sBAAsB,CAAA;AAAC;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"transactionsActionAtom.js","sources":["../../../src/transactions/state/transactionsActionAtom.ts"],"sourcesContent":["import type {\n TransactionItem,\n StandaloneTransactionItem,\n BatchTransactionItem,\n MinTransactionItem,\n} from \"../types\";\nimport { atom } from \"jotai\";\nimport { jotaiStore } from \"@/core/store\";\n\nimport { ensureCallsStatusFactory } from \"../queries/ensureCallsStatus\";\nimport { ensureTxReceiptFactory } from \"../queries/ensureTxReceipt\";\nimport {\n WaitForCallsStatusTimeoutError,\n TransactionReceiptNotFoundError,\n WaitForTransactionReceiptTimeoutError,\n MethodNotSupportedRpcError,\n} from \"viem\";\nimport { transactionLogger } from \"../logger\";\nimport {\n transactionsAtom,\n type TransactionsMap,\n type TransactionsState,\n} from \"./transactionsAtom\";\nimport { isBatchTransactionItem, isStandaloneTransactionItem } from \"../utils\";\nimport { accountAtom } from \"@/lib/web3/wagmi/external\";\nimport { assert } from \"ts-essentials\";\n\nexport const addTxAtom = atom<null, [transaction: MinTransactionItem], void>(\n null,\n async (get, set, transaction) => {\n const account = get(accountAtom);\n assert(account, \"addTxAtom: account is required\");\n\n const txWithMeta = {\n ...transaction,\n account,\n timestamp: Date.now(),\n dropped: false,\n };\n set(transactionsAtom, (current) => assignTx(current, txWithMeta));\n\n if (isStandaloneTransactionItem(txWithMeta)) {\n await set(finalizeStandaloneTxAtom, txWithMeta);\n } else {\n await set(finalizeBatchTxAtom, txWithMeta);\n }\n }\n);\n\nexport const finalizeStandaloneTxAtom = atom<\n null,\n [StandaloneTransactionItem],\n Promise<void>\n>(null, async (_, set, transaction) => {\n const finalizedTx: StandaloneTransactionItem = { ...transaction };\n const ensureTxReceipt = ensureTxReceiptFactory();\n\n try {\n finalizedTx.receipt = await ensureTxReceipt({\n hash: transaction.transactionHash,\n chainId: transaction.chainId,\n });\n } catch (error) {\n if (\n error instanceof WaitForTransactionReceiptTimeoutError ||\n error instanceof TransactionReceiptNotFoundError\n ) {\n finalizedTx.dropped = true;\n transactionLogger.error(\n `finalizeStandaloneTxAtom::Transaction ${transaction.transactionHash} dropped with error: ${error.message}`\n );\n } else throw error;\n } finally {\n set(transactionsAtom, (current) => assignTx(current, finalizedTx));\n }\n});\n\nexport const finalizeBatchTxAtom = atom<\n null,\n [BatchTransactionItem],\n Promise<void>\n>(null, async (_, set, transaction) => {\n const finalizedTx: BatchTransactionItem = { ...transaction };\n const ensureCallsStatus = ensureCallsStatusFactory();\n\n try {\n const { receipts, status } = await ensureCallsStatus({\n id: transaction.callsId,\n });\n finalizedTx.callsStatus = status;\n finalizedTx.receipt = receipts?.[receipts.length - 1];\n } catch (error) {\n if (\n error instanceof WaitForCallsStatusTimeoutError ||\n error instanceof MethodNotSupportedRpcError\n ) {\n finalizedTx.dropped = true;\n transactionLogger.error(\n `finalizeBatchTxAtom::Batch transaction ${transaction.callsId} dropped with error: ${error.message}`\n );\n } else {\n finalizedTx.callsStatus = \"failure\";\n throw error;\n }\n } finally {\n set(transactionsAtom, (current) => assignTx(current, finalizedTx));\n }\n});\n\nexport const addTx = async (transaction: MinTransactionItem) => {\n return jotaiStore.set(addTxAtom, transaction);\n};\n\nfunction sanitizeTx(tx: TransactionItem): TransactionItem {\n if (isBatchTransactionItem(tx)) {\n return {\n action: tx.action,\n account: tx.account,\n chainId: tx.chainId,\n callsId: tx.callsId,\n callsStatus: tx.callsStatus,\n timestamp: tx.timestamp,\n dropped: tx.dropped,\n receipt: tx.receipt,\n transactionSpecificData: tx.transactionSpecificData,\n } as BatchTransactionItem;\n }\n\n return {\n action: tx.action,\n chainId: tx.chainId,\n account: tx.account,\n transactionHash: tx.transactionHash,\n timestamp: tx.timestamp,\n dropped: tx.dropped,\n receipt: tx.receipt,\n transactionSpecificData: tx.transactionSpecificData,\n } as StandaloneTransactionItem;\n}\n\nfunction assignTx(\n currentTransactions: TransactionsState,\n transaction: TransactionItem\n): TransactionsState {\n transactionLogger.log(\"assignTx\", {\n account: transaction.account,\n transaction,\n });\n\n const accountTransactions = currentTransactions[transaction.account] || {};\n const identifier = isStandaloneTransactionItem(transaction)\n ? transaction.transactionHash\n : transaction.callsId;\n\n const updatedAccountTransactions: TransactionsMap = {\n ...accountTransactions,\n [identifier]: sanitizeTx({\n ...accountTransactions[identifier],\n ...transaction,\n }),\n };\n\n return {\n ...currentTransactions,\n [transaction.account]: updatedAccountTransactions,\n };\n}\n"],"names":["addTxAtom","atom","get","set","transaction","account","accountAtom","assert","txWithMeta","timestamp","Date","now","dropped","transactionsAtom","current","assignTx","isStandaloneTransactionItem","finalizeStandaloneTxAtom","finalizeBatchTxAtom","_","finalizedTx","ensureTxReceipt","ensureTxReceiptFactory","receipt","hash","transactionHash","chainId","error","WaitForTransactionReceiptTimeoutError","TransactionReceiptNotFoundError","transactionLogger","message","ensureCallsStatus","ensureCallsStatusFactory","receipts","status","id","callsId","callsStatus","length","WaitForCallsStatusTimeoutError","MethodNotSupportedRpcError","addTx","jotaiStore","sanitizeTx","tx","isBatchTransactionItem","action","transactionSpecificData","currentTransactions","log","accountTransactions","identifier","updatedAccountTransactions"],"mappings":";;;;;;;;;;;AA2BO,MAAMA,YAAYC,IAAAA,CACvB,IAAA,EACA,OAAOC,GAAAA,EAAKC,KAAKC,WAAAA,KAAgB;AAC/B,EAAA,MAAMC,OAAAA,GAAUH,IAAII,WAAW,CAAA;AAC/BC,EAAAA,MAAAA,CAAOF,SAAS,gCAAgC,CAAA;AAEhD,EAAA,MAAMG,UAAAA,GAAa;AAAA,IACjB,GAAGJ,WAAAA;AAAAA,IACHC,OAAAA;AAAAA,IACAI,SAAAA,EAAWC,KAAKC,GAAAA,EAAI;AAAA,IACpBC,OAAAA,EAAS;AAAA,GACX;AACAT,EAAAA,GAAAA,CAAIU,gBAAAA,EAAmBC,CAAAA,OAAAA,KAAYC,QAAAA,CAASD,OAAAA,EAASN,UAAU,CAAC,CAAA;AAEhE,EAAA,IAAIQ,2BAAAA,CAA4BR,UAAU,CAAA,EAAG;AAC3C,IAAA,MAAML,GAAAA,CAAIc,0BAA0BT,UAAU,CAAA;AAAA,EAChD,CAAA,MAAO;AACL,IAAA,MAAML,GAAAA,CAAIe,qBAAqBV,UAAU,CAAA;AAAA,EAC3C;AACF,CACF;AAEO,MAAMS,2BAA2BhB,IAAAA,CAItC,IAAA,EAAM,OAAOkB,CAAAA,EAAGhB,KAAKC,WAAAA,KAAgB;AACrC,EAAA,MAAMgB,WAAAA,GAAyC;AAAA,IAAE,GAAGhB;AAAAA,GAAY;AAChE,EAAA,MAAMiB,kBAAkBC,sBAAAA,EAAuB;AAE/C,EAAA,IAAI;AACFF,IAAAA,WAAAA,CAAYG,OAAAA,GAAU,MAAMF,eAAAA,CAAgB;AAAA,MAC1CG,MAAMpB,WAAAA,CAAYqB,eAAAA;AAAAA,MAClBC,SAAStB,WAAAA,CAAYsB;AAAAA,KACtB,CAAA;AAAA,EACH,SAASC,KAAAA,EAAO;AACd,IAAA,IACEA,KAAAA,YAAiBC,qCAAAA,IACjBD,KAAAA,YAAiBE,+BAAAA,EACjB;AACAT,MAAAA,WAAAA,CAAYR,OAAAA,GAAU,IAAA;AACtBkB,MAAAA,iBAAAA,CAAkBH,MAChB,CAAA,sCAAA,EAAyCvB,WAAAA,CAAYqB,eAAe,CAAA,qBAAA,EAAwBE,KAAAA,CAAMI,OAAO,CAAA,CAC3G,CAAA;AAAA,IACF,OAAO,MAAMJ,KAAAA;AAAAA,EACf,CAAA,SAAC;AACCxB,IAAAA,GAAAA,CAAIU,gBAAAA,EAAmBC,CAAAA,OAAAA,KAAYC,QAAAA,CAASD,OAAAA,EAASM,WAAW,CAAC,CAAA;AAAA,EACnE;AACF,CAAC;AAEM,MAAMF,sBAAsBjB,IAAAA,CAIjC,IAAA,EAAM,OAAOkB,CAAAA,EAAGhB,KAAKC,WAAAA,KAAgB;AACrC,EAAA,MAAMgB,WAAAA,GAAoC;AAAA,IAAE,GAAGhB;AAAAA,GAAY;AAC3D,EAAA,MAAM4B,oBAAoBC,wBAAAA,EAAyB;AAEnD,EAAA,IAAI;AACF,IAAA,MAAM;AAAA,MAAEC,QAAAA;AAAAA,MAAUC;AAAAA,KAAO,GAAI,MAAMH,iBAAAA,CAAkB;AAAA,MACnDI,IAAIhC,WAAAA,CAAYiC;AAAAA,KACjB,CAAA;AACDjB,IAAAA,WAAAA,CAAYkB,WAAAA,GAAcH,MAAAA;AAC1Bf,IAAAA,WAAAA,CAAYG,OAAAA,GAAUW,QAAAA,GAAWA,QAAAA,CAASK,MAAAA,GAAS,CAAC,CAAA;AAAA,EACtD,SAASZ,KAAAA,EAAO;AACd,IAAA,IACEA,KAAAA,YAAiBa,8BAAAA,IACjBb,KAAAA,YAAiBc,0BAAAA,EACjB;AACArB,MAAAA,WAAAA,CAAYR,OAAAA,GAAU,IAAA;AACtBkB,MAAAA,iBAAAA,CAAkBH,MAChB,CAAA,uCAAA,EAA0CvB,WAAAA,CAAYiC,OAAO,CAAA,qBAAA,EAAwBV,KAAAA,CAAMI,OAAO,CAAA,CACpG,CAAA;AAAA,IACF,CAAA,MAAO;AACLX,MAAAA,WAAAA,CAAYkB,WAAAA,GAAc,SAAA;AAC1B,MAAA,MAAMX,KAAAA;AAAAA,IACR;AAAA,EACF,CAAA,SAAC;AACCxB,IAAAA,GAAAA,CAAIU,gBAAAA,EAAmBC,CAAAA,OAAAA,KAAYC,QAAAA,CAASD,OAAAA,EAASM,WAAW,CAAC,CAAA;AAAA,EACnE;AACF,CAAC;AAEM,MAAMsB,KAAAA,GAAQ,OAAOtC,WAAAA,KAAoC;AAC9D,EAAA,OAAOuC,UAAAA,CAAWxC,GAAAA,CAAIH,SAAAA,EAAWI,WAAW,CAAA;AAC9C;AAEA,SAASwC,WAAWC,EAAAA,EAAsC;AACxD,EAAA,IAAIC,sBAAAA,CAAuBD,EAAE,CAAA,EAAG;AAC9B,IAAA,OAAO;AAAA,MACLE,QAAQF,EAAAA,CAAGE,MAAAA;AAAAA,MACX1C,SAASwC,EAAAA,CAAGxC,OAAAA;AAAAA,MACZqB,SAASmB,EAAAA,CAAGnB,OAAAA;AAAAA,MACZW,SAASQ,EAAAA,CAAGR,OAAAA;AAAAA,MACZC,aAAaO,EAAAA,CAAGP,WAAAA;AAAAA,MAChB7B,WAAWoC,EAAAA,CAAGpC,SAAAA;AAAAA,MACdG,SAASiC,EAAAA,CAAGjC,OAAAA;AAAAA,MACZW,SAASsB,EAAAA,CAAGtB,OAAAA;AAAAA,MACZyB,yBAAyBH,EAAAA,CAAGG;AAAAA,KAC9B;AAAA,EACF;AAEA,EAAA,OAAO;AAAA,IACLD,QAAQF,EAAAA,CAAGE,MAAAA;AAAAA,IACXrB,SAASmB,EAAAA,CAAGnB,OAAAA;AAAAA,IACZrB,SAASwC,EAAAA,CAAGxC,OAAAA;AAAAA,IACZoB,iBAAiBoB,EAAAA,CAAGpB,eAAAA;AAAAA,IACpBhB,WAAWoC,EAAAA,CAAGpC,SAAAA;AAAAA,IACdG,SAASiC,EAAAA,CAAGjC,OAAAA;AAAAA,IACZW,SAASsB,EAAAA,CAAGtB,OAAAA;AAAAA,IACZyB,yBAAyBH,EAAAA,CAAGG;AAAAA,GAC9B;AACF;AAEA,SAASjC,QAAAA,CACPkC,qBACA7C,WAAAA,EACmB;AACnB0B,EAAAA,iBAAAA,CAAkBoB,IAAI,UAAA,EAAY;AAAA,IAChC7C,SAASD,WAAAA,CAAYC,OAAAA;AAAAA,IACrBD;AAAAA,GACD,CAAA;AAED,EAAA,MAAM+C,mBAAAA,GAAsBF,mBAAAA,CAAoB7C,WAAAA,CAAYC,OAAO,KAAK,EAAC;AACzE,EAAA,MAAM+C,aAAapC,2BAAAA,CAA4BZ,WAAW,CAAA,GACtDA,WAAAA,CAAYqB,kBACZrB,WAAAA,CAAYiC,OAAAA;AAEhB,EAAA,MAAMgB,0BAAAA,GAA8C;AAAA,IAClD,GAAGF,mBAAAA;AAAAA,IACH,CAACC,UAAU,GAAGR,UAAAA,CAAW;AAAA,MACvB,GAAGO,oBAAoBC,UAAU,CAAA;AAAA,MACjC,GAAGhD;AAAAA,KACJ;AAAA,GACH;AAEA,EAAA,OAAO;AAAA,IACL,GAAG6C,mBAAAA;AAAAA,IACH,CAAC7C,WAAAA,CAAYC,OAAO,GAAGgD;AAAAA,GACzB;AACF;;;;"}
1
+ {"version":3,"file":"transactionsActionAtom.js","sources":["../../../src/transactions/state/transactionsActionAtom.ts"],"sourcesContent":["import type {\n TransactionItem,\n StandaloneTransactionItem,\n BatchTransactionItem,\n MinTransactionItem,\n} from \"../types\";\nimport { atom } from \"jotai\";\nimport { jotaiStore } from \"@/core/store\";\n\nimport { ensureCallsStatusFactory } from \"../queries/ensureCallsStatus\";\nimport { ensureTxReceiptFactory } from \"../queries/ensureTxReceipt\";\nimport {\n WaitForCallsStatusTimeoutError,\n TransactionReceiptNotFoundError,\n WaitForTransactionReceiptTimeoutError,\n MethodNotSupportedRpcError,\n} from \"viem\";\nimport { transactionLogger } from \"../logger\";\nimport {\n transactionsAtom,\n type TransactionsMap,\n type TransactionsState,\n} from \"./transactionsAtom\";\nimport { isBatchTransactionItem, isStandaloneTransactionItem } from \"../utils\";\nimport { accountAtom } from \"@/lib/web3/wagmi/external\";\nimport { assert } from \"ts-essentials\";\n\nexport const addTxAtom = atom<null, [transaction: MinTransactionItem], void>(\n null,\n async (get, set, transaction) => {\n const account = get(accountAtom);\n assert(account, \"addTxAtom: account is required\");\n\n const txWithMeta = {\n ...transaction,\n account,\n timestamp: Date.now(),\n dropped: false,\n };\n set(transactionsAtom, (current) => assignTx(current, txWithMeta));\n\n if (isStandaloneTransactionItem(txWithMeta)) {\n await set(finalizeStandaloneTxAtom, txWithMeta);\n } else {\n await set(finalizeBatchTxAtom, txWithMeta);\n }\n }\n);\n\nexport const finalizeStandaloneTxAtom = atom<\n null,\n [StandaloneTransactionItem],\n Promise<void>\n>(null, async (_, set, transaction) => {\n const finalizedTx: StandaloneTransactionItem = { ...transaction };\n const ensureTxReceipt = ensureTxReceiptFactory(); // @TODO detect isSafe for timeout\n\n try {\n finalizedTx.receipt = await ensureTxReceipt({\n hash: transaction.transactionHash,\n chainId: transaction.chainId,\n });\n } catch (error) {\n if (\n error instanceof WaitForTransactionReceiptTimeoutError ||\n error instanceof TransactionReceiptNotFoundError\n ) {\n finalizedTx.dropped = true;\n transactionLogger.error(\n `finalizeStandaloneTxAtom::Transaction ${transaction.transactionHash} dropped with error: ${error.message}`\n );\n } else throw error;\n } finally {\n set(transactionsAtom, (current) => assignTx(current, finalizedTx));\n }\n});\n\nexport const finalizeBatchTxAtom = atom<\n null,\n [BatchTransactionItem],\n Promise<void>\n>(null, async (_, set, transaction) => {\n const finalizedTx: BatchTransactionItem = { ...transaction };\n const ensureCallsStatus = ensureCallsStatusFactory();\n\n try {\n const { receipts, status } = await ensureCallsStatus({\n id: transaction.callsId,\n });\n finalizedTx.callsStatus = status;\n finalizedTx.receipt = receipts?.[receipts.length - 1];\n } catch (error) {\n if (\n error instanceof WaitForCallsStatusTimeoutError ||\n error instanceof MethodNotSupportedRpcError\n ) {\n finalizedTx.dropped = true;\n transactionLogger.error(\n `finalizeBatchTxAtom::Batch transaction ${transaction.callsId} dropped with error: ${error.message}`\n );\n } else {\n finalizedTx.callsStatus = \"failure\";\n throw error;\n }\n } finally {\n set(transactionsAtom, (current) => assignTx(current, finalizedTx));\n }\n});\n\nexport const addTx = async (transaction: MinTransactionItem) => {\n return jotaiStore.set(addTxAtom, transaction);\n};\n\nfunction sanitizeTx(tx: TransactionItem): TransactionItem {\n if (isBatchTransactionItem(tx)) {\n return {\n action: tx.action,\n account: tx.account,\n chainId: tx.chainId,\n callsId: tx.callsId,\n callsStatus: tx.callsStatus,\n timestamp: tx.timestamp,\n dropped: tx.dropped,\n receipt: tx.receipt,\n transactionSpecificData: tx.transactionSpecificData,\n } as BatchTransactionItem;\n }\n\n return {\n action: tx.action,\n chainId: tx.chainId,\n account: tx.account,\n transactionHash: tx.transactionHash,\n timestamp: tx.timestamp,\n dropped: tx.dropped,\n receipt: tx.receipt,\n transactionSpecificData: tx.transactionSpecificData,\n } as StandaloneTransactionItem;\n}\n\nfunction assignTx(\n currentTransactions: TransactionsState,\n transaction: TransactionItem\n): TransactionsState {\n transactionLogger.log(\"assignTx\", {\n account: transaction.account,\n transaction,\n });\n\n const accountTransactions = currentTransactions[transaction.account] || {};\n const identifier = isStandaloneTransactionItem(transaction)\n ? transaction.transactionHash\n : transaction.callsId;\n\n const updatedAccountTransactions: TransactionsMap = {\n ...accountTransactions,\n [identifier]: sanitizeTx({\n ...accountTransactions[identifier],\n ...transaction,\n }),\n };\n\n return {\n ...currentTransactions,\n [transaction.account]: updatedAccountTransactions,\n };\n}\n"],"names":["addTxAtom","atom","get","set","transaction","account","accountAtom","assert","txWithMeta","timestamp","Date","now","dropped","transactionsAtom","current","assignTx","isStandaloneTransactionItem","finalizeStandaloneTxAtom","finalizeBatchTxAtom","_","finalizedTx","ensureTxReceipt","ensureTxReceiptFactory","receipt","hash","transactionHash","chainId","error","WaitForTransactionReceiptTimeoutError","TransactionReceiptNotFoundError","transactionLogger","message","ensureCallsStatus","ensureCallsStatusFactory","receipts","status","id","callsId","callsStatus","length","WaitForCallsStatusTimeoutError","MethodNotSupportedRpcError","addTx","jotaiStore","sanitizeTx","tx","isBatchTransactionItem","action","transactionSpecificData","currentTransactions","log","accountTransactions","identifier","updatedAccountTransactions"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@velora-dex/widget",
3
- "version": "0.3.3-dev.1",
3
+ "version": "0.3.4-dev.1",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "files": [
@@ -1,28 +0,0 @@
1
- import { UseMutationOptions, UseMutationResult } from '@tanstack/react-query';
2
- import { DeltaAuction, MinViemClient } from '@velora-dex/sdk';
3
- import { Address } from 'viem';
4
- import { SupportedChainId } from '../../../../../lib/web3/wagmi/types';
5
- type CancelLimitDeltaOrdersParams = {
6
- orderIds: string[];
7
- };
8
- export type CancelLimitDeltaOrdersReturn = {
9
- success: boolean;
10
- };
11
- type CancelLimitDeltaOrdersInput = CancelLimitDeltaOrdersParams;
12
- export type CancelLimitDeltaOrdersMutationOptions = Omit<UseMutationOptions<CancelLimitDeltaOrdersReturn, Error, CancelLimitDeltaOrdersInput, void>, "mutationFn">;
13
- type CancelLimitDeltaOrdersMutInput = {
14
- mutationOptions?: CancelLimitDeltaOrdersMutationOptions;
15
- chainId: SupportedChainId;
16
- account?: Address;
17
- client?: MinViemClient;
18
- };
19
- export declare const CANCEL_LIMIT_DELTA_ORDERS_MUTATION_KEY = "cancelLimitDeltaOrders";
20
- export declare function useCancelLimitDeltaOrders({ mutationOptions, chainId, account, client, }: CancelLimitDeltaOrdersMutInput): UseMutationResult<CancelLimitDeltaOrdersReturn, Error, CancelLimitDeltaOrdersInput, void>;
21
- type CancelOrderEventCallbacks = {
22
- onMutate?: (variables: CancelLimitDeltaOrdersInput) => void;
23
- onSuccess?: (_data: unknown, variables: CancelLimitDeltaOrdersInput) => void;
24
- onError?: (error: Error, variables: CancelLimitDeltaOrdersInput) => void;
25
- };
26
- export declare function useCancelDeltaOrderEventCallbacks(order?: Pick<DeltaAuction, "id" | "type">): CancelOrderEventCallbacks;
27
- export {};
28
- //# sourceMappingURL=useCancelLimitDeltaOrders.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useCancelLimitDeltaOrders.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/delta/mutations/useCancelLimitDeltaOrders.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEnE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAIpC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,KAAK,4BAA4B,GAAG;IAClC,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC;AACF,MAAM,MAAM,4BAA4B,GAAG;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC;AAEhE,KAAK,2BAA2B,GAAG,4BAA4B,CAAC;AAEhE,MAAM,MAAM,qCAAqC,GAAG,IAAI,CACtD,kBAAkB,CAChB,4BAA4B,EAC5B,KAAK,EACL,2BAA2B,EAC3B,IAAI,CACL,EACD,YAAY,CACb,CAAC;AAEF,KAAK,8BAA8B,GAAG;IACpC,eAAe,CAAC,EAAE,qCAAqC,CAAC;IACxD,OAAO,EAAE,gBAAgB,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB,CAAC;AAEF,eAAO,MAAM,sCAAsC,2BAA2B,CAAC;AAG/E,wBAAgB,yBAAyB,CAAC,EACxC,eAAe,EACf,OAAO,EACP,OAAO,EACP,MAAM,GACP,EAAE,8BAA8B,GAAG,iBAAiB,CACnD,4BAA4B,EAC5B,KAAK,EACL,2BAA2B,EAC3B,IAAI,CACL,CAsCA;AAED,KAAK,yBAAyB,GAAG;IAC/B,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,2BAA2B,KAAK,IAAI,CAAC;IAC5D,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,2BAA2B,KAAK,IAAI,CAAC;IAC7E,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,2BAA2B,KAAK,IAAI,CAAC;CAC1E,CAAC;AASF,wBAAgB,iCAAiC,CAC/C,KAAK,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,GAAG,MAAM,CAAC,GACxC,yBAAyB,CA+C3B"}