@velora-dex/widget 0.3.11-dev.3 → 0.3.11-dev.5

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 (151) hide show
  1. package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.d.ts.map +1 -1
  2. package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.js +84 -65
  3. package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.js.map +1 -1
  4. package/dist/components/web3/ConnectExternalProvider/constants.d.ts +2 -0
  5. package/dist/components/web3/ConnectExternalProvider/constants.d.ts.map +1 -0
  6. package/dist/components/web3/ConnectExternalProvider/constants.js +4 -0
  7. package/dist/components/web3/ConnectExternalProvider/constants.js.map +1 -0
  8. package/dist/components/web3/ConnectExternalProvider/utils.d.ts +8 -0
  9. package/dist/components/web3/ConnectExternalProvider/utils.d.ts.map +1 -0
  10. package/dist/components/web3/ConnectExternalProvider/utils.js +9 -0
  11. package/dist/components/web3/ConnectExternalProvider/utils.js.map +1 -0
  12. package/dist/components/web3/ConnectWallets/walletIcons.d.ts +4 -1
  13. package/dist/components/web3/ConnectWallets/walletIcons.d.ts.map +1 -1
  14. package/dist/components/web3/ConnectWallets/walletIcons.js +18 -7
  15. package/dist/components/web3/ConnectWallets/walletIcons.js.map +1 -1
  16. package/dist/components/widget/ReceiverAddress/state/subscriptions.d.ts.map +1 -1
  17. package/dist/components/widget/ReceiverAddress/state/subscriptions.js +11 -5
  18. package/dist/components/widget/ReceiverAddress/state/subscriptions.js.map +1 -1
  19. package/dist/components/widget/TransactionDetails/LimitOrderDetails/Controls.d.ts +2 -2
  20. package/dist/components/widget/TransactionDetails/LimitOrderDetails/Controls.d.ts.map +1 -1
  21. package/dist/components/widget/TransactionDetails/LimitOrderDetails/Controls.js +22 -23
  22. package/dist/components/widget/TransactionDetails/LimitOrderDetails/Controls.js.map +1 -1
  23. package/dist/components/widget/TransactionDetails/LimitOrderDetails/TransactionDetails.js +1 -1
  24. package/dist/components/widget/TransactionDetails/LimitOrderDetails/TransactionDetails.js.map +1 -1
  25. package/dist/configurator/Configurator.d.ts.map +1 -1
  26. package/dist/configurator/Safe/SafeConnector.d.ts +23 -0
  27. package/dist/configurator/Safe/SafeConnector.d.ts.map +1 -0
  28. package/dist/configurator/Safe/useSafeConnector.d.ts +7 -0
  29. package/dist/configurator/Safe/useSafeConnector.d.ts.map +1 -0
  30. package/dist/core/limit/useLimitTokenFromInputProps.d.ts.map +1 -1
  31. package/dist/core/limit/useLimitTokenFromInputProps.js +15 -2
  32. package/dist/core/limit/useLimitTokenFromInputProps.js.map +1 -1
  33. package/dist/core/otc/useOtcTokenFromInputProps.d.ts.map +1 -1
  34. package/dist/core/otc/useOtcTokenFromInputProps.js +15 -2
  35. package/dist/core/otc/useOtcTokenFromInputProps.js.map +1 -1
  36. package/dist/core/state/configAtom.d.ts.map +1 -1
  37. package/dist/core/state/configAtom.js +5 -1
  38. package/dist/core/state/configAtom.js.map +1 -1
  39. package/dist/core/state/externalProviderAtom.d.ts +9 -0
  40. package/dist/core/state/externalProviderAtom.d.ts.map +1 -1
  41. package/dist/core/state/externalProviderAtom.js +28 -1
  42. package/dist/core/state/externalProviderAtom.js.map +1 -1
  43. package/dist/events/getters/swap.d.ts.map +1 -1
  44. package/dist/events/getters/swap.js +2 -1
  45. package/dist/events/getters/swap.js.map +1 -1
  46. package/dist/events/hooks/useOnWalletConnect.d.ts.map +1 -1
  47. package/dist/events/hooks/useOnWalletConnect.js +17 -1
  48. package/dist/events/hooks/useOnWalletConnect.js.map +1 -1
  49. package/dist/events/types/connectWallet.d.ts +4 -3
  50. package/dist/events/types/connectWallet.d.ts.map +1 -1
  51. package/dist/hooks/batch/useAwaitCalls.d.ts.map +1 -1
  52. package/dist/hooks/batch/useAwaitCalls.js.map +1 -1
  53. package/dist/hooks/connectors/useIsConnectedSafe.d.ts +1 -0
  54. package/dist/hooks/connectors/useIsConnectedSafe.d.ts.map +1 -1
  55. package/dist/hooks/connectors/useIsConnectedSafe.js +9 -2
  56. package/dist/hooks/connectors/useIsConnectedSafe.js.map +1 -1
  57. package/dist/hooks/connectors/useIsGnosisSafeConnector.d.ts +4 -1
  58. package/dist/hooks/connectors/useIsGnosisSafeConnector.d.ts.map +1 -1
  59. package/dist/hooks/connectors/useIsGnosisSafeConnector.js +3 -4
  60. package/dist/hooks/connectors/useIsGnosisSafeConnector.js.map +1 -1
  61. package/dist/hooks/connectors/useIsSafeThroughWalletConnect.d.ts +1 -1
  62. package/dist/hooks/connectors/useIsSafeThroughWalletConnect.d.ts.map +1 -1
  63. package/dist/hooks/connectors/useIsSafeThroughWalletConnect.js +16 -2
  64. package/dist/hooks/connectors/useIsSafeThroughWalletConnect.js.map +1 -1
  65. package/dist/hooks/otc/mutations/useFillOrder.js +3 -14
  66. package/dist/hooks/otc/mutations/useFillOrder.js.map +1 -1
  67. package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.js +0 -12
  68. package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.js.map +1 -1
  69. package/dist/hooks/otc/tradeFlow/useFillOtcOrderStep.d.ts.map +1 -1
  70. package/dist/hooks/otc/tradeFlow/useFillOtcOrderStep.js +7 -4
  71. package/dist/hooks/otc/tradeFlow/useFillOtcOrderStep.js.map +1 -1
  72. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts +2 -4
  73. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts.map +1 -1
  74. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
  75. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.d.ts +1 -3
  76. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.d.ts.map +1 -1
  77. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js.map +1 -1
  78. package/dist/hooks/swap/prices/usePricesParams.d.ts +1 -3
  79. package/dist/hooks/swap/prices/usePricesParams.d.ts.map +1 -1
  80. package/dist/hooks/swap/prices/usePricesParams.js +0 -5
  81. package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
  82. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.d.ts.map +1 -1
  83. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js +2 -1
  84. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js.map +1 -1
  85. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
  86. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
  87. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.d.ts.map +1 -1
  88. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js +7 -4
  89. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js.map +1 -1
  90. package/dist/hooks/txs/queries/useAwaitTx.d.ts.map +1 -1
  91. package/dist/hooks/txs/queries/useAwaitTx.js +71 -20
  92. package/dist/hooks/txs/queries/useAwaitTx.js.map +1 -1
  93. package/dist/lib/constants/storage.d.ts +1 -1
  94. package/dist/lib/constants/storage.d.ts.map +1 -1
  95. package/dist/lib/constants/storage.js +3 -1
  96. package/dist/lib/constants/storage.js.map +1 -1
  97. package/dist/lib/utils/index.d.ts.map +1 -1
  98. package/dist/lib/utils/index.js.map +1 -1
  99. package/dist/lib/utils/toasts.d.ts +1 -1
  100. package/dist/lib/utils/toasts.d.ts.map +1 -1
  101. package/dist/lib/utils/toasts.js +5 -1
  102. package/dist/lib/utils/toasts.js.map +1 -1
  103. package/dist/lib/web3/privy/config.js +1 -1
  104. package/dist/lib/web3/wagmi/config.d.ts.map +1 -1
  105. package/dist/lib/web3/wagmi/config.js +2 -2
  106. package/dist/lib/web3/wagmi/config.js.map +1 -1
  107. package/dist/lib/web3/wagmi/external.d.ts +10 -3
  108. package/dist/lib/web3/wagmi/external.d.ts.map +1 -1
  109. package/dist/lib/web3/wagmi/external.js +17 -2
  110. package/dist/lib/web3/wagmi/external.js.map +1 -1
  111. package/dist/lib/web3/wagmi/isInIframe.d.ts +2 -0
  112. package/dist/lib/web3/wagmi/isInIframe.d.ts.map +1 -0
  113. package/dist/lib/web3/wagmi/isInIframe.js +4 -0
  114. package/dist/lib/web3/wagmi/isInIframe.js.map +1 -0
  115. package/dist/lib/web3/wagmi/isInsideSafeIframe.d.ts +0 -1
  116. package/dist/lib/web3/wagmi/isInsideSafeIframe.d.ts.map +1 -1
  117. package/dist/lib/web3/wagmi/isInsideSafeIframe.js +2 -2
  118. package/dist/lib/web3/wagmi/isInsideSafeIframe.js.map +1 -1
  119. package/dist/lib/web3/wagmi/switchChain.d.ts.map +1 -1
  120. package/dist/lib/web3/wagmi/switchChain.js +5 -1
  121. package/dist/lib/web3/wagmi/switchChain.js.map +1 -1
  122. package/dist/styles.css +1 -1
  123. package/dist/transactions/hash.d.ts +7 -0
  124. package/dist/transactions/hash.d.ts.map +1 -0
  125. package/dist/transactions/hash.js +35 -0
  126. package/dist/transactions/hash.js.map +1 -0
  127. package/dist/transactions/queries/ensureCallsStatus.d.ts.map +1 -1
  128. package/dist/transactions/queries/ensureCallsStatus.js +11 -3
  129. package/dist/transactions/queries/ensureCallsStatus.js.map +1 -1
  130. package/dist/transactions/queries/ensureTxReceipt.d.ts.map +1 -1
  131. package/dist/transactions/queries/ensureTxReceipt.js +7 -4
  132. package/dist/transactions/queries/ensureTxReceipt.js.map +1 -1
  133. package/dist/transactions/state/effects/finalize.d.ts +7 -1
  134. package/dist/transactions/state/effects/finalize.d.ts.map +1 -1
  135. package/dist/transactions/state/effects/finalize.js +41 -7
  136. package/dist/transactions/state/effects/finalize.js.map +1 -1
  137. package/dist/transactions/state/hooks/useActivateEffects.d.ts.map +1 -1
  138. package/dist/transactions/state/hooks/useActivateEffects.js +4 -2
  139. package/dist/transactions/state/hooks/useActivateEffects.js.map +1 -1
  140. package/dist/transactions/state/transactionsActionAtom.d.ts.map +1 -1
  141. package/dist/transactions/state/transactionsActionAtom.js +66 -17
  142. package/dist/transactions/state/transactionsActionAtom.js.map +1 -1
  143. package/dist/transactions/state/transactionsAtom.js +2 -2
  144. package/dist/transactions/state/transactionsAtom.js.map +1 -1
  145. package/dist/transactions/types.d.ts +11 -1
  146. package/dist/transactions/types.d.ts.map +1 -1
  147. package/dist/transactions/utils.d.ts +2 -1
  148. package/dist/transactions/utils.d.ts.map +1 -1
  149. package/dist/transactions/utils.js +6 -1
  150. package/dist/transactions/utils.js.map +1 -1
  151. package/package.json +4 -2
@@ -1 +1 @@
1
- {"version":3,"file":"AutoconnectExternal.d.ts","sourceRoot":"","sources":["../../../../src/components/web3/ConnectExternalProvider/AutoconnectExternal.tsx"],"names":[],"mappings":"AAMA,wBAAgB,2BAA2B,SA0C1C"}
1
+ {"version":3,"file":"AutoconnectExternal.d.ts","sourceRoot":"","sources":["../../../../src/components/web3/ConnectExternalProvider/AutoconnectExternal.tsx"],"names":[],"mappings":"AAeA,wBAAgB,2BAA2B,SAkB1C"}
@@ -1,85 +1,104 @@
1
1
  import { d as distExports } from '../../../_virtual/index.js';
2
- import { useExternalProvider } from '../../../core/state/externalProviderAtom.js';
3
- import { useConnect, useDisconnect, useAccount, injected } from 'wagmi';
4
- import { useRef, useLayoutEffect, useEffect } from 'react';
2
+ import { useExternalProvider, isSafeIframeProvider } from '../../../core/state/externalProviderAtom.js';
3
+ import { useConnect, useDisconnect } from 'wagmi';
4
+ import { injected } from 'wagmi/connectors';
5
+ import { useEffect } from 'react';
6
+ import { EXTERNAL_CONNECTOR_ID } from './constants.js';
7
+ import { getConnections } from '@wagmi/core';
8
+ import { wagmiConfig } from '../../../lib/web3/wagmi/config.js';
9
+ import { useLogger } from '../../../core/logger.js';
5
10
 
6
- const EXTERNAL_CONNECTOR_ID = "external_provider_from_App";
7
11
  function AutoconnectExternalProvider() {
8
- const $ = distExports.c(11);
12
+ const $ = distExports.c(6);
9
13
  const externalProvider = useExternalProvider();
10
14
  const {
11
- connect
15
+ connectAsync
12
16
  } = useConnect();
13
17
  const {
14
- disconnect
18
+ disconnectAsync
15
19
  } = useDisconnect();
16
- const {
17
- connector: currentConnector
18
- } = useAccount();
19
- const connectorIsExternal = currentConnector?.id === EXTERNAL_CONNECTOR_ID;
20
+ const logger = useLogger("AutoconnectExternalProvider");
20
21
  let t0;
21
- if ($[0] !== connectorIsExternal || $[1] !== disconnect) {
22
- t0 = () => {
23
- if (connectorIsExternal) {
24
- disconnect();
25
- }
26
- };
27
- $[0] = connectorIsExternal;
28
- $[1] = disconnect;
29
- $[2] = t0;
30
- } else {
31
- t0 = $[2];
32
- }
33
- const disconnectExternalRef = useRef(t0);
34
22
  let t1;
35
- let t2;
36
- if ($[3] !== connectorIsExternal || $[4] !== disconnect) {
37
- t1 = () => {
38
- disconnectExternalRef.current = () => {
39
- if (connectorIsExternal) {
40
- disconnect();
41
- }
42
- };
23
+ if ($[0] !== connectAsync || $[1] !== disconnectAsync || $[2] !== externalProvider || $[3] !== logger) {
24
+ t0 = () => {
25
+ connectDisconnect({
26
+ externalProvider,
27
+ logger,
28
+ disconnectAsync,
29
+ connectAsync
30
+ });
43
31
  };
44
- t2 = [connectorIsExternal, disconnect];
45
- $[3] = connectorIsExternal;
46
- $[4] = disconnect;
32
+ t1 = [externalProvider, connectAsync, disconnectAsync, logger];
33
+ $[0] = connectAsync;
34
+ $[1] = disconnectAsync;
35
+ $[2] = externalProvider;
36
+ $[3] = logger;
37
+ $[4] = t0;
47
38
  $[5] = t1;
48
- $[6] = t2;
49
39
  } else {
40
+ t0 = $[4];
50
41
  t1 = $[5];
51
- t2 = $[6];
52
42
  }
53
- useLayoutEffect(t1, t2);
54
- let t3;
55
- let t4;
56
- if ($[7] !== connect || $[8] !== externalProvider) {
57
- t3 = () => {
58
- if (externalProvider === null) {
59
- disconnectExternalRef.current();
60
- return;
61
- }
62
- connect({
63
- connector: injected({
64
- target: {
65
- id: EXTERNAL_CONNECTOR_ID,
66
- name: "External",
67
- provider: externalProvider
68
- }
69
- })
43
+ useEffect(t0, t1);
44
+ return null;
45
+ }
46
+ function wrapExternalProvider(provider) {
47
+ if (!isSafeIframeProvider(provider)) return provider;
48
+ const request = async (args) => {
49
+ if (args.method === "eth_requestAccounts") {
50
+ return provider.request({
51
+ method: "eth_accounts"
70
52
  });
71
- };
72
- t4 = [externalProvider, connect];
73
- $[7] = connect;
74
- $[8] = externalProvider;
75
- $[9] = t3;
76
- $[10] = t4;
77
- } else {
78
- t3 = $[9];
79
- t4 = $[10];
53
+ }
54
+ const result = await provider.request(args);
55
+ return result;
56
+ };
57
+ const on = provider.on?.bind(provider);
58
+ const removeListener = provider.removeListener?.bind(provider);
59
+ return {
60
+ ...provider,
61
+ request,
62
+ on,
63
+ removeListener
64
+ };
65
+ }
66
+ async function connectDisconnect({
67
+ externalProvider,
68
+ logger,
69
+ disconnectAsync,
70
+ connectAsync
71
+ }) {
72
+ const connections = getConnections(wagmiConfig);
73
+ try {
74
+ for (const connection of connections) {
75
+ await disconnectAsync({
76
+ connector: connection.connector
77
+ });
78
+ }
79
+ } catch (error) {
80
+ logger.error("Failed to disconnect from active connections", error);
81
+ }
82
+ if (externalProvider === null) return;
83
+ try {
84
+ const connector = injected({
85
+ target: {
86
+ id: EXTERNAL_CONNECTOR_ID,
87
+ name: "External",
88
+ provider: wrapExternalProvider(externalProvider)
89
+ }
90
+ });
91
+ const result = await connectAsync({
92
+ connector
93
+ });
94
+ logger.info("Connected to external provider", {
95
+ connector,
96
+ provider: externalProvider
97
+ });
98
+ return result;
99
+ } catch (error) {
100
+ logger.error("Failed to connect to external provider", error);
80
101
  }
81
- useEffect(t3, t4);
82
- return null;
83
102
  }
84
103
 
85
104
  export { AutoconnectExternalProvider };
@@ -1 +1 @@
1
- {"version":3,"file":"AutoconnectExternal.js","sources":["../../../../src/components/web3/ConnectExternalProvider/AutoconnectExternal.tsx"],"sourcesContent":["import { useExternalProvider } from \"@/core/state/externalProviderAtom\";\nimport { injected, useAccount, useConnect, useDisconnect } from \"wagmi\";\nimport { useEffect, useLayoutEffect, useRef } from \"react\";\n\nconst EXTERNAL_CONNECTOR_ID = \"external_provider_from_App\";\n\nexport function AutoconnectExternalProvider() {\n const externalProvider = useExternalProvider();\n\n const { connect } = useConnect();\n const { disconnect } = useDisconnect();\n const { connector: currentConnector } = useAccount();\n\n const connectorIsExternal = currentConnector?.id === EXTERNAL_CONNECTOR_ID;\n const disconnectExternalRef = useRef(() => {\n // take care not to just disconnect a potentially not-external provider,\n // just because external provider=null now\n if (connectorIsExternal) {\n disconnect();\n }\n });\n\n useLayoutEffect(() => {\n disconnectExternalRef.current = () => {\n if (connectorIsExternal) {\n disconnect();\n }\n };\n }, [connectorIsExternal, disconnect]);\n\n useEffect(() => {\n // disconnect previous external provider if provider=null now\n if (externalProvider === null) {\n disconnectExternalRef.current();\n return;\n }\n connect({\n connector: injected({\n target: {\n id: EXTERNAL_CONNECTOR_ID,\n name: \"External\",\n provider: externalProvider,\n },\n }),\n });\n }, [externalProvider, connect]);\n\n return null;\n}\n"],"names":["EXTERNAL_CONNECTOR_ID","AutoconnectExternalProvider","$","_c","externalProvider","useExternalProvider","connect","useConnect","disconnect","useDisconnect","connector","currentConnector","useAccount","connectorIsExternal","id","t0","disconnectExternalRef","useRef","t1","t2","current","useLayoutEffect","t3","t4","injected","target","name","provider","useEffect"],"mappings":";;;;;AAIA,MAAMA,qBAAAA,GAAwB,4BAAA;AAEvB,SAAAC,2BAAAA,GAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,EAAA,CAAA;AACL,EAAA,MAAAC,mBAAyBC,mBAAAA,EAAoB;AAE7C,EAAA,MAAA;AAAA,IAAAC;AAAAA,MAAoBC,UAAAA,EAAW;AAC/B,EAAA,MAAA;AAAA,IAAAC;AAAAA,MAAuBC,aAAAA,EAAc;AACrC,EAAA,MAAA;AAAA,IAAAC,SAAAA,EAAAC;AAAAA,MAAwCC,UAAAA,EAAW;AAEnD,EAAA,MAAAC,mBAAAA,GAA4BF,kBAAgBG,EAAAA,KAASd,qBAAAA;AAAsB,EAAA,IAAAe,EAAAA;AAAA,EAAA,IAAAb,EAAA,CAAA,CAAA,KAAAW,uBAAAX,CAAAA,QAAAM,UAAAA,EAAA;AACtCO,IAAAA,EAAAA,GAAAA,MAAA;AAGnC,MAAA,IAAIF,mBAAAA,EAAmB;AACrBL,QAAAA,UAAAA,EAAW;AAAA,MAAC;AAAA,IACb,CAAA;AACFN,IAAAA,CAAAA,MAAAW,mBAAAA;AAAAX,IAAAA,CAAAA,MAAAM,UAAAA;AAAAN,IAAAA,CAAAA,MAAAa,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAb,EAAA,CAAA,CAAA;AAAA,EAAA;AAND,EAAA,MAAAc,qBAAAA,GAA8BC,OAAOF,EAMpC,CAAA;AAAE,EAAA,IAAAG,EAAAA;AAAA,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAjB,EAAA,CAAA,CAAA,KAAAW,uBAAAX,CAAAA,QAAAM,UAAAA,EAAA;AAEaU,IAAAA,EAAAA,GAAAA,MAAA;AACdF,MAAAA,qBAAAA,CAAqBI,UAAW,MAAA;AAC9B,QAAA,IAAIP,mBAAAA,EAAmB;AACrBL,UAAAA,UAAAA,EAAW;AAAA,QAAC;AAAA,MACb,CAAA;AAAA,IAH0B,CAAA;AAK5BW,IAAAA,EAAAA,GAAA,CAACN,qBAAqBL,UAAU,CAAA;AAACN,IAAAA,CAAAA,MAAAW,mBAAAA;AAAAX,IAAAA,CAAAA,MAAAM,UAAAA;AAAAN,IAAAA,CAAAA,MAAAgB,EAAAA;AAAAhB,IAAAA,CAAAA,MAAAiB,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAD,IAAAA,EAAAA,GAAAhB,EAAA,CAAA,CAAA;AAAAiB,IAAAA,EAAAA,GAAAjB,EAAA,CAAA,CAAA;AAAA,EAAA;AANpCmB,EAAAA,eAAAA,CAAgBH,IAMbC,EAAiC,CAAA;AAAC,EAAA,IAAAG,EAAAA;AAAA,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAArB,EAAA,CAAA,CAAA,KAAAI,WAAAJ,CAAAA,QAAAE,gBAAAA,EAAA;AAE3BkB,IAAAA,EAAAA,GAAAA,MAAA;AAER,MAAA,IAAIlB,qBAAqB,IAAA,EAAI;AAC3BY,QAAAA,qBAAAA,CAAqBI,OAAAA,EAAS;AAAC,QAAA;AAAA,MAAA;AAGjCd,MAAAA,OAAAA,CAAQ;AAAA,QAAAI,WACKc,QAAAA,CAAS;AAAA,UAAAC,MAAAA,EACV;AAAA,YAAAX,EAAAA,EACFd,qBAAAA;AAAAA,YAAqB0B,IAAAA,EACnB,UAAA;AAAA,YAAUC,QAAAA,EACNvB;AAAAA;AACZ,SACD;AAAA,OACF,CAAA;AAAA,IAAC,CAAA;AACDmB,IAAAA,EAAAA,GAAA,CAACnB,kBAAkBE,OAAO,CAAA;AAACJ,IAAAA,CAAAA,MAAAI,OAAAA;AAAAJ,IAAAA,CAAAA,MAAAE,gBAAAA;AAAAF,IAAAA,CAAAA,MAAAoB,EAAAA;AAAApB,IAAAA,CAAAA,OAAAqB,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAD,IAAAA,EAAAA,GAAApB,EAAA,CAAA,CAAA;AAAAqB,IAAAA,EAAAA,GAAArB,EAAA,EAAA,CAAA;AAAA,EAAA;AAf9B0B,EAAAA,SAAAA,CAAUN,IAePC,EAA2B,CAAA;AAAC,EAAA,OAExB,IAAA;AAAI;;;;"}
1
+ {"version":3,"file":"AutoconnectExternal.js","sources":["../../../../src/components/web3/ConnectExternalProvider/AutoconnectExternal.tsx"],"sourcesContent":["import {\n isSafeIframeProvider,\n useExternalProvider,\n} from \"@/core/state/externalProviderAtom\";\nimport { useConnect, useDisconnect } from \"wagmi\";\nimport { injected } from \"wagmi/connectors\";\nimport { useEffect } from \"react\";\nimport { EXTERNAL_CONNECTOR_ID } from \"./constants\";\nimport type { EIP1193Provider } from \"viem\";\nimport { getConnections } from \"@wagmi/core\";\nimport { wagmiConfig } from \"@/lib/web3/wagmi/config\";\nimport { useLogger } from \"@/core/logger\";\nimport type { LoggerInstance } from \"@/lib/utils/logger\";\nimport type { ConnectMutateAsync, DisconnectMutateAsync } from \"wagmi/query\";\n\nexport function AutoconnectExternalProvider() {\n const externalProvider = useExternalProvider();\n\n const { connectAsync } = useConnect();\n const { disconnectAsync } = useDisconnect();\n\n const logger = useLogger(\"AutoconnectExternalProvider\");\n\n useEffect(() => {\n connectDisconnect({\n externalProvider,\n logger,\n disconnectAsync,\n connectAsync,\n });\n }, [externalProvider, connectAsync, disconnectAsync, logger]);\n\n return null;\n}\n\nfunction wrapExternalProvider(provider: EIP1193Provider): EIP1193Provider {\n if (!isSafeIframeProvider(provider)) return provider;\n // Safe iframe provider doesn't support eth_requestAccounts;\n // this isn't a problem with safe() connector (skips eth_requestAccounts), but external provider fails on connect()\n const request = (async (args) => {\n if (args.method === \"eth_requestAccounts\") {\n return provider.request({ method: \"eth_accounts\" });\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const result = await provider.request(args as any);\n return result;\n }) as typeof provider.request;\n\n const on = provider.on?.bind(provider);\n const removeListener = provider.removeListener?.bind(provider);\n return {\n ...provider,\n request,\n on,\n removeListener,\n };\n}\n\ntype ConnectDisconnectProps = {\n externalProvider: EIP1193Provider | null;\n logger: LoggerInstance;\n disconnectAsync: DisconnectMutateAsync;\n connectAsync: ConnectMutateAsync<typeof wagmiConfig>;\n};\n\nasync function connectDisconnect({\n externalProvider,\n logger,\n disconnectAsync,\n connectAsync,\n}: ConnectDisconnectProps) {\n // disconnect any of the current connectors belonging to active connections\n const connections = getConnections(wagmiConfig); // actual connections made, can be multiple active\n\n try {\n for (const connection of connections) {\n // connection.connector.disconnect(); does not work, starts disconnect sync\n\n // make sure to wait for proper disconnection,\n // otherwise if disconnecting injected connector,\n // and then below we connect injected but with a different provider,\n // it doesn't connect, only disconnects\n await disconnectAsync({ connector: connection.connector });\n }\n } catch (error) {\n logger.error(\"Failed to disconnect from active connections\", error);\n }\n\n if (externalProvider === null) return;\n try {\n const connector = injected({\n target: {\n id: EXTERNAL_CONNECTOR_ID,\n name: \"External\",\n provider: wrapExternalProvider(externalProvider),\n },\n });\n // not necessary to await, but for uniformity\n const result = await connectAsync({ connector });\n logger.info(\"Connected to external provider\", {\n connector,\n provider: externalProvider,\n });\n\n return result;\n } catch (error) {\n logger.error(\"Failed to connect to external provider\", error);\n }\n}\n"],"names":["AutoconnectExternalProvider","$","_c","externalProvider","useExternalProvider","connectAsync","useConnect","disconnectAsync","useDisconnect","logger","useLogger","t0","t1","connectDisconnect","useEffect","wrapExternalProvider","provider","isSafeIframeProvider","request","args","method","result","on","bind","removeListener","connections","getConnections","wagmiConfig","connection","connector","error","injected","target","id","EXTERNAL_CONNECTOR_ID","name","info"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare const EXTERNAL_CONNECTOR_ID = "external_provider_from_App";
2
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/components/web3/ConnectExternalProvider/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB,+BAA+B,CAAC"}
@@ -0,0 +1,4 @@
1
+ const EXTERNAL_CONNECTOR_ID = "external_provider_from_App";
2
+
3
+ export { EXTERNAL_CONNECTOR_ID };
4
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sources":["../../../../src/components/web3/ConnectExternalProvider/constants.ts"],"sourcesContent":["export const EXTERNAL_CONNECTOR_ID = \"external_provider_from_App\";\n"],"names":["EXTERNAL_CONNECTOR_ID"],"mappings":"AAAO,MAAMA,qBAAAA,GAAwB;;;;"}
@@ -0,0 +1,8 @@
1
+ import { Connector } from '@wagmi/core';
2
+ import { injected } from 'wagmi/connectors';
3
+ import { EXTERNAL_CONNECTOR_ID } from './constants';
4
+ export declare function isExternalConnector<T extends Pick<Connector, "type" | "id">>(connector: T): connector is T & {
5
+ id: typeof EXTERNAL_CONNECTOR_ID;
6
+ type: typeof injected.type;
7
+ };
8
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/components/web3/ConnectExternalProvider/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEpD,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC,EAC1E,SAAS,EAAE,CAAC,GACX,SAAS,IAAI,CAAC,GAAG;IAClB,EAAE,EAAE,OAAO,qBAAqB,CAAC;IACjC,IAAI,EAAE,OAAO,QAAQ,CAAC,IAAI,CAAC;CAC5B,CAIA"}
@@ -0,0 +1,9 @@
1
+ import { injected } from 'wagmi/connectors';
2
+ import { EXTERNAL_CONNECTOR_ID } from './constants.js';
3
+
4
+ function isExternalConnector(connector) {
5
+ return connector.type === injected.type && connector.id === EXTERNAL_CONNECTOR_ID;
6
+ }
7
+
8
+ export { isExternalConnector };
9
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sources":["../../../../src/components/web3/ConnectExternalProvider/utils.ts"],"sourcesContent":["import type { Connector } from \"@wagmi/core\";\nimport { injected } from \"wagmi/connectors\";\nimport { EXTERNAL_CONNECTOR_ID } from \"./constants\";\n\nexport function isExternalConnector<T extends Pick<Connector, \"type\" | \"id\">>(\n connector: T\n): connector is T & {\n id: typeof EXTERNAL_CONNECTOR_ID;\n type: typeof injected.type;\n} {\n return (\n connector.type === injected.type && connector.id === EXTERNAL_CONNECTOR_ID\n );\n}\n"],"names":["isExternalConnector","connector","type","injected","id","EXTERNAL_CONNECTOR_ID"],"mappings":";;;AAIO,SAASA,oBACdC,SAAAA,EAIA;AACA,EAAA,OACEA,SAAAA,CAAUC,IAAAA,KAASC,QAAAA,CAASD,IAAAA,IAAQD,UAAUG,EAAAA,KAAOC,qBAAAA;AAEzD;;;;"}
@@ -34,11 +34,14 @@ export type WalletMeta = {
34
34
  icon: string | null;
35
35
  name: string | null;
36
36
  connectorId: string;
37
+ connectorUid: string;
37
38
  connectorName: string;
38
39
  connectorType: string;
40
+ isWalletConnect: boolean;
41
+ isExternal: boolean;
39
42
  };
40
43
  export declare function useWalletMetadata(connector?: Connector): WalletMeta | undefined;
41
- export declare function walletMetadataQueryKey(connectorId?: string): readonly ["wallet-metadata", string | undefined];
44
+ export declare function walletMetadataQueryKey(connectorUid?: string): readonly ["wallet-metadata", string | undefined];
42
45
  export declare function getWalletMetadata(connector: Connector): Promise<WalletMeta>;
43
46
  export {};
44
47
  //# sourceMappingURL=walletIcons.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"walletIcons.d.ts","sourceRoot":"","sources":["../../../../src/components/web3/ConnectWallets/walletIcons.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AA8BvC,KAAK,kBAAkB,GAAG;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,wBAAgB,aAAa,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,kBAAkB,iBAE7D;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,kBAAkB,iBAE7D;AAED,wBAAgB,wBAAwB,CACtC,gBAAgB,EAAE,OAAO,GACxB,QAAQ,GAAG,IAAI,CAKjB;AAED,UAAU,QAAQ;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE;QACT,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,CAAC;CACH;AAED,UAAU,UAAU;IAClB,IAAI,EAAE;QACJ,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,QAAQ,CAAC;KACpB,CAAC;CACH;AAED,KAAK,mBAAmB,GAAG;IACzB,eAAe,EAAE,IAAI,CAAC;IACtB,OAAO,EAAE,UAAU,CAAC;CACrB,CAAC;AAEF,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,OAAO,GAChB,QAAQ,IAAI,mBAAmB,CAOjC;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,wBAAgB,iBAAiB,CAC/B,SAAS,CAAC,EAAE,SAAS,GACpB,UAAU,GAAG,SAAS,CAexB;AAED,wBAAgB,sBAAsB,CAAC,WAAW,CAAC,EAAE,MAAM,oDAE1D;AAED,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,SAAS,GACnB,OAAO,CAAC,UAAU,CAAC,CA2CrB"}
1
+ {"version":3,"file":"walletIcons.d.ts","sourceRoot":"","sources":["../../../../src/components/web3/ConnectWallets/walletIcons.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AA+BvC,KAAK,kBAAkB,GAAG;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,wBAAgB,aAAa,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,kBAAkB,iBAE7D;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,kBAAkB,iBAE7D;AAED,wBAAgB,wBAAwB,CACtC,gBAAgB,EAAE,OAAO,GACxB,QAAQ,GAAG,IAAI,CAKjB;AAED,UAAU,QAAQ;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE;QACT,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,CAAC;CACH;AAED,UAAU,UAAU;IAClB,IAAI,EAAE;QACJ,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,QAAQ,CAAC;KACpB,CAAC;CACH;AAED,KAAK,mBAAmB,GAAG;IACzB,eAAe,EAAE,IAAI,CAAC;IACtB,OAAO,EAAE,UAAU,CAAC;CACrB,CAAC;AAEF,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,OAAO,GAChB,QAAQ,IAAI,mBAAmB,CAOjC;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,OAAO,CAAC;IACzB,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,wBAAgB,iBAAiB,CAC/B,SAAS,CAAC,EAAE,SAAS,GACpB,UAAU,GAAG,SAAS,CAexB;AAED,wBAAgB,sBAAsB,CAAC,YAAY,CAAC,EAAE,MAAM,oDAE3D;AAED,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,SAAS,GACnB,OAAO,CAAC,UAAU,CAAC,CAyDrB"}
@@ -12,6 +12,7 @@ import SafeSVG from './assets/safe.svg.js';
12
12
  import { useQuery } from '@tanstack/react-query';
13
13
  import { assert } from 'ts-essentials';
14
14
  import { walletConnect } from 'wagmi/connectors';
15
+ import { isExternalConnector } from '../ConnectExternalProvider/utils.js';
15
16
 
16
17
  const connectorId2Icon = {
17
18
  privy: EmailSVG,
@@ -62,7 +63,7 @@ function isWConnectProvider(provider) {
62
63
  }
63
64
  function useWalletMetadata(connector) {
64
65
  const $ = distExports.c(8);
65
- const t0 = connector?.id;
66
+ const t0 = connector?.uid;
66
67
  let t1;
67
68
  if ($[0] !== t0) {
68
69
  t1 = walletMetadataQueryKey(t0);
@@ -103,8 +104,8 @@ function useWalletMetadata(connector) {
103
104
  } = useQuery(t4);
104
105
  return walletMetadata;
105
106
  }
106
- function walletMetadataQueryKey(connectorId) {
107
- return ["wallet-metadata", connectorId];
107
+ function walletMetadataQueryKey(connectorUid) {
108
+ return ["wallet-metadata", connectorUid];
108
109
  }
109
110
  async function getWalletMetadata(connector) {
110
111
  const connectorIsWConnect = connector.type === walletConnect.type;
@@ -116,13 +117,17 @@ async function getWalletMetadata(connector) {
116
117
  id: connector.id,
117
118
  name: connector.name
118
119
  });
119
- if (!connectorIsWConnect) {
120
+ const connectorIsExternal = isExternalConnector(connector);
121
+ if (!connectorIsWConnect && !connectorIsExternal) {
120
122
  return {
121
123
  icon: fallbackIcon,
122
124
  name: fallbackName,
123
125
  connectorId: connector.id,
126
+ connectorUid: connector.uid,
124
127
  connectorType: connector.type,
125
- connectorName: connector.name
128
+ connectorName: connector.name,
129
+ isWalletConnect: false,
130
+ isExternal: false
126
131
  };
127
132
  }
128
133
  const provider = await connector.getProvider();
@@ -133,16 +138,22 @@ async function getWalletMetadata(connector) {
133
138
  icon: metadata?.icons?.[0] ?? fallbackIcon,
134
139
  name: metadata?.name ?? fallbackName,
135
140
  connectorId: connector.id,
141
+ connectorUid: connector.uid,
136
142
  connectorType: connector.type,
137
- connectorName: connector.name
143
+ connectorName: connector.name,
144
+ isWalletConnect: true,
145
+ isExternal: connectorIsExternal
138
146
  };
139
147
  }
140
148
  return {
141
149
  icon: fallbackIcon,
142
150
  name: fallbackName,
143
151
  connectorId: connector.id,
152
+ connectorUid: connector.uid,
144
153
  connectorType: connector.type,
145
- connectorName: connector.name
154
+ connectorName: connector.name,
155
+ isWalletConnect: false,
156
+ isExternal: connectorIsExternal
146
157
  };
147
158
  }
148
159
 
@@ -1 +1 @@
1
- {"version":3,"file":"walletIcons.js","sources":["../../../../src/components/web3/ConnectWallets/walletIcons.ts"],"sourcesContent":["// import PrivySVG from \"./assets/privy.svg?url\";\nimport TrezorSVG from \"./assets/trezor.svg?url\";\nimport WalletConnectSVG from \"./assets/walletconnect.svg?url\";\nimport LedgerSVG from \"./assets/ledger.svg?url\";\nimport MetamaskSVG from \"./assets/metamask.svg?url\";\nimport ParaswapSVG from \"./assets/paraswap.svg?url\";\nimport BrowserWalletSVG from \"./assets/browser-wallet.svg?url\";\nimport BscWalletSVG from \"./assets/bscwallet.svg?url\";\nimport CoinbaseWalletSVG from \"./assets/coinbasewallet.svg?url\";\nimport EmailSVG from \"./assets/email.svg?url\";\nimport SafeSVG from \"./assets/safe.svg?url\";\nimport { useQuery } from \"@tanstack/react-query\";\nimport { assert } from \"ts-essentials\";\nimport { walletConnect } from \"wagmi/connectors\";\nimport type { Connector } from \"wagmi\";\n\nconst connectorId2Icon: Record<string, string> = {\n privy: EmailSVG,\n \"io.privy.wallet\": EmailSVG,\n trezor: TrezorSVG,\n walletconnect: WalletConnectSVG,\n walletConnect: WalletConnectSVG,\n ledger: LedgerSVG,\n metamask: MetamaskSVG,\n metaMaskSDK: MetamaskSVG,\n paraswap: ParaswapSVG,\n injected: BrowserWalletSVG,\n bscwallet: BscWalletSVG,\n coinbasewallet: CoinbaseWalletSVG,\n coinbaseWalletSDK: CoinbaseWalletSVG,\n safe: SafeSVG,\n};\n\nconst connectorId2Name: Record<string, string> = {\n privy: \"Connect with Email\",\n \"io.privy.wallet\": \"Connect with Email\",\n walletconnect: \"Wallet Connect\",\n walletConnect: \"Wallet Connect\",\n ledger: \"Ledger\",\n metamask: \"MetaMask\",\n injected: \"Browser Wallet\",\n safe: \"Safe Wallet\",\n};\n\ntype GetWalletIconProps = {\n id: string;\n icon?: string;\n name?: string;\n};\n\nexport function getWalletIcon({ id, icon }: GetWalletIconProps) {\n return connectorId2Icon[id] || icon || null;\n}\n\nexport function getWalletName({ id, name }: GetWalletIconProps) {\n return connectorId2Name[id] || name || null;\n}\n\nexport function getWalletConnectMetadata(\n wconnectProvider: unknown\n): Metadata | null {\n if (!isWConnectProvider(wconnectProvider)) {\n return null;\n }\n return wconnectProvider?.session?.peer?.metadata || null;\n}\n\ninterface Metadata {\n name: string;\n description: string;\n url: string;\n icons: string[];\n verifyUrl?: string;\n redirect?: {\n native?: string;\n universal?: string;\n linkMode?: boolean;\n };\n}\n\ninterface MinSession {\n peer: {\n publicKey: string;\n metadata: Metadata;\n };\n}\n\ntype MinWConnectProvider = {\n isWalletConnect: true;\n session: MinSession;\n};\n\nexport function isWConnectProvider(\n provider: unknown\n): provider is MinWConnectProvider {\n return (\n !!provider &&\n typeof provider === \"object\" &&\n \"isWalletConnect\" in provider &&\n !!provider.isWalletConnect\n );\n}\n\nexport type WalletMeta = {\n icon: string | null;\n name: string | null;\n connectorId: string;\n connectorName: string;\n connectorType: string;\n};\n\nexport function useWalletMetadata(\n connector?: Connector\n): WalletMeta | undefined {\n const { data: walletMetadata } = useQuery<WalletMeta>({\n queryKey: walletMetadataQueryKey(connector?.id),\n queryFn: async () => {\n assert(connector, \"Connector must be provided to fetch wallet metadata\");\n\n return getWalletMetadata(connector);\n },\n enabled: !!connector,\n gcTime: Infinity,\n // without staleTime, because WalletConnect connector keeps same id even if underlying wallet is changed,\n // safer to retry\n });\n\n return walletMetadata;\n}\n\nexport function walletMetadataQueryKey(connectorId?: string) {\n return [\"wallet-metadata\", connectorId] as const;\n}\n\nexport async function getWalletMetadata(\n connector: Connector\n): Promise<WalletMeta> {\n const connectorIsWConnect = connector.type === walletConnect.type;\n const fallbackIcon = getWalletIcon({\n id: connector.id,\n icon: connector.icon,\n });\n const fallbackName = getWalletName({\n id: connector.id,\n name: connector.name,\n });\n\n if (!connectorIsWConnect) {\n // non-WalletConnect connectors use their own icon and name, when available\n return {\n icon: fallbackIcon,\n name: fallbackName,\n connectorId: connector.id,\n connectorType: connector.type,\n connectorName: connector.name,\n };\n }\n\n const provider = await connector.getProvider();\n\n // WalletConnect connectors have icon and name in their metadata\n if (isWConnectProvider(provider)) {\n const metadata = getWalletConnectMetadata(provider);\n return {\n // Wallet-specific WalletConnect icon, or default WalletConnect icon\n icon: metadata?.icons?.[0] ?? fallbackIcon,\n name: metadata?.name ?? fallbackName,\n connectorId: connector.id,\n connectorType: connector.type,\n connectorName: connector.name,\n };\n }\n return {\n icon: fallbackIcon,\n name: fallbackName,\n connectorId: connector.id,\n connectorType: connector.type,\n connectorName: connector.name,\n };\n}\n"],"names":["connectorId2Icon","privy","EmailSVG","trezor","TrezorSVG","walletconnect","WalletConnectSVG","walletConnect","ledger","LedgerSVG","metamask","MetamaskSVG","metaMaskSDK","paraswap","ParaswapSVG","injected","BrowserWalletSVG","bscwallet","BscWalletSVG","coinbasewallet","CoinbaseWalletSVG","coinbaseWalletSDK","safe","SafeSVG","connectorId2Name","getWalletIcon","id","icon","getWalletName","name","getWalletConnectMetadata","wconnectProvider","isWConnectProvider","session","peer","metadata","provider","isWalletConnect","useWalletMetadata","connector","$","_c","t0","t1","walletMetadataQueryKey","t2","assert","getWalletMetadata","t3","t4","queryKey","queryFn","enabled","gcTime","Infinity","data","walletMetadata","useQuery","connectorId","connectorIsWConnect","type","fallbackIcon","fallbackName","connectorType","connectorName","getProvider","icons"],"mappings":"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"}
1
+ {"version":3,"file":"walletIcons.js","sources":["../../../../src/components/web3/ConnectWallets/walletIcons.ts"],"sourcesContent":["// import PrivySVG from \"./assets/privy.svg?url\";\nimport TrezorSVG from \"./assets/trezor.svg?url\";\nimport WalletConnectSVG from \"./assets/walletconnect.svg?url\";\nimport LedgerSVG from \"./assets/ledger.svg?url\";\nimport MetamaskSVG from \"./assets/metamask.svg?url\";\nimport ParaswapSVG from \"./assets/paraswap.svg?url\";\nimport BrowserWalletSVG from \"./assets/browser-wallet.svg?url\";\nimport BscWalletSVG from \"./assets/bscwallet.svg?url\";\nimport CoinbaseWalletSVG from \"./assets/coinbasewallet.svg?url\";\nimport EmailSVG from \"./assets/email.svg?url\";\nimport SafeSVG from \"./assets/safe.svg?url\";\nimport { useQuery } from \"@tanstack/react-query\";\nimport { assert } from \"ts-essentials\";\nimport { walletConnect } from \"wagmi/connectors\";\nimport type { Connector } from \"wagmi\";\nimport { isExternalConnector } from \"../ConnectExternalProvider/utils\";\n\nconst connectorId2Icon: Record<string, string> = {\n privy: EmailSVG,\n \"io.privy.wallet\": EmailSVG,\n trezor: TrezorSVG,\n walletconnect: WalletConnectSVG,\n walletConnect: WalletConnectSVG,\n ledger: LedgerSVG,\n metamask: MetamaskSVG,\n metaMaskSDK: MetamaskSVG,\n paraswap: ParaswapSVG,\n injected: BrowserWalletSVG,\n bscwallet: BscWalletSVG,\n coinbasewallet: CoinbaseWalletSVG,\n coinbaseWalletSDK: CoinbaseWalletSVG,\n safe: SafeSVG,\n};\n\nconst connectorId2Name: Record<string, string> = {\n privy: \"Connect with Email\",\n \"io.privy.wallet\": \"Connect with Email\",\n walletconnect: \"Wallet Connect\",\n walletConnect: \"Wallet Connect\",\n ledger: \"Ledger\",\n metamask: \"MetaMask\",\n injected: \"Browser Wallet\",\n safe: \"Safe Wallet\",\n};\n\ntype GetWalletIconProps = {\n id: string;\n icon?: string;\n name?: string;\n};\n\nexport function getWalletIcon({ id, icon }: GetWalletIconProps) {\n return connectorId2Icon[id] || icon || null;\n}\n\nexport function getWalletName({ id, name }: GetWalletIconProps) {\n return connectorId2Name[id] || name || null;\n}\n\nexport function getWalletConnectMetadata(\n wconnectProvider: unknown\n): Metadata | null {\n if (!isWConnectProvider(wconnectProvider)) {\n return null;\n }\n return wconnectProvider?.session?.peer?.metadata || null;\n}\n\ninterface Metadata {\n name: string;\n description: string;\n url: string;\n icons: string[];\n verifyUrl?: string;\n redirect?: {\n native?: string;\n universal?: string;\n linkMode?: boolean;\n };\n}\n\ninterface MinSession {\n peer: {\n publicKey: string;\n metadata: Metadata;\n };\n}\n\ntype MinWConnectProvider = {\n isWalletConnect: true;\n session: MinSession;\n};\n\nexport function isWConnectProvider(\n provider: unknown\n): provider is MinWConnectProvider {\n return (\n !!provider &&\n typeof provider === \"object\" &&\n \"isWalletConnect\" in provider &&\n !!provider.isWalletConnect\n );\n}\n\nexport type WalletMeta = {\n icon: string | null;\n name: string | null;\n connectorId: string;\n connectorUid: string;\n connectorName: string;\n connectorType: string;\n isWalletConnect: boolean;\n isExternal: boolean;\n};\n\nexport function useWalletMetadata(\n connector?: Connector\n): WalletMeta | undefined {\n const { data: walletMetadata } = useQuery<WalletMeta>({\n queryKey: walletMetadataQueryKey(connector?.uid),\n queryFn: async () => {\n assert(connector, \"Connector must be provided to fetch wallet metadata\");\n\n return getWalletMetadata(connector);\n },\n enabled: !!connector,\n gcTime: Infinity,\n // without staleTime, because WalletConnect connector keeps same id even if underlying wallet is changed,\n // safer to retry\n });\n\n return walletMetadata;\n}\n\nexport function walletMetadataQueryKey(connectorUid?: string) {\n return [\"wallet-metadata\", connectorUid] as const;\n}\n\nexport async function getWalletMetadata(\n connector: Connector\n): Promise<WalletMeta> {\n const connectorIsWConnect = connector.type === walletConnect.type;\n const fallbackIcon = getWalletIcon({\n id: connector.id,\n icon: connector.icon,\n });\n const fallbackName = getWalletName({\n id: connector.id,\n name: connector.name,\n });\n\n const connectorIsExternal = isExternalConnector(connector);\n\n if (!connectorIsWConnect && !connectorIsExternal) {\n // non-WalletConnect connectors use their own icon and name, when available,\n // except for external provider that may also be a WalletConnect provider\n return {\n icon: fallbackIcon,\n name: fallbackName,\n connectorId: connector.id,\n connectorUid: connector.uid,\n connectorType: connector.type,\n connectorName: connector.name,\n isWalletConnect: false,\n isExternal: false,\n };\n }\n\n // connector here is either a WalletConnect connector or an external connector (injected connector with external provider)\n const provider = await connector.getProvider();\n // provider is either WalletConnect provider or external provider (may or may not be a WalletConnect provider)\n\n // WalletConnect provider has icon and name in their metadata\n if (isWConnectProvider(provider)) {\n const metadata = getWalletConnectMetadata(provider);\n return {\n // Wallet-specific WalletConnect icon, or default WalletConnect icon\n icon: metadata?.icons?.[0] ?? fallbackIcon,\n name: metadata?.name ?? fallbackName,\n connectorId: connector.id,\n connectorUid: connector.uid,\n connectorType: connector.type,\n connectorName: connector.name,\n isWalletConnect: true,\n isExternal: connectorIsExternal,\n };\n }\n return {\n icon: fallbackIcon,\n name: fallbackName,\n connectorId: connector.id,\n connectorUid: connector.uid,\n connectorType: connector.type,\n connectorName: connector.name,\n isWalletConnect: false,\n isExternal: connectorIsExternal,\n };\n}\n"],"names":["connectorId2Icon","privy","EmailSVG","trezor","TrezorSVG","walletconnect","WalletConnectSVG","walletConnect","ledger","LedgerSVG","metamask","MetamaskSVG","metaMaskSDK","paraswap","ParaswapSVG","injected","BrowserWalletSVG","bscwallet","BscWalletSVG","coinbasewallet","CoinbaseWalletSVG","coinbaseWalletSDK","safe","SafeSVG","connectorId2Name","getWalletIcon","id","icon","getWalletName","name","getWalletConnectMetadata","wconnectProvider","isWConnectProvider","session","peer","metadata","provider","isWalletConnect","useWalletMetadata","connector","$","_c","t0","uid","t1","walletMetadataQueryKey","t2","assert","getWalletMetadata","t3","t4","queryKey","queryFn","enabled","gcTime","Infinity","data","walletMetadata","useQuery","connectorUid","connectorIsWConnect","type","fallbackIcon","fallbackName","connectorIsExternal","isExternalConnector","connectorId","connectorType","connectorName","isExternal","getProvider","icons"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"subscriptions.d.ts","sourceRoot":"","sources":["../../../../../src/components/widget/ReceiverAddress/state/subscriptions.ts"],"names":[],"mappings":"AAmBA,wBAAgB,yBAAyB,iDAsDxC"}
1
+ {"version":3,"file":"subscriptions.d.ts","sourceRoot":"","sources":["../../../../../src/components/widget/ReceiverAddress/state/subscriptions.ts"],"names":[],"mappings":"AAmBA,wBAAgB,yBAAyB,iDA4DxC"}
@@ -14,23 +14,29 @@ import { screenAtom } from '../../../../core/screen/state/screenAtom.js';
14
14
 
15
15
  function subscribeToAccountChanges() {
16
16
  return watchAccount(wagmiConfig, {
17
- onChange: async ({
18
- address,
19
- chainId
20
- }, {
17
+ onChange: async (account, {
21
18
  address: prevAddress
22
19
  }) => {
20
+ const {
21
+ address,
22
+ chainId,
23
+ connector
24
+ } = account;
23
25
  const enabledSrcChains = jotaiStore.get(enabledSrcChainsAtom);
24
26
  if (address !== prevAddress) {
25
27
  jotaiStore.set(openDrawerAtom, null);
26
28
  jotaiStore.set(screenAtom, null);
27
29
  }
30
+ jotaiStore.set(accountAtom, {
31
+ address,
32
+ chainId,
33
+ connector
34
+ });
28
35
  if (!address || chainId === void 0 || !isSupportedChainId(chainId) || !enabledSrcChains.includes(chainId)) {
29
36
  jotaiStore.set(receiverAddressAtom, void 0);
30
37
  jotaiStore.set(limitReceiverAddressAtom, void 0);
31
38
  return;
32
39
  }
33
- jotaiStore.set(accountAtom, address);
34
40
  jotaiStore.set(resetOrdersCountAtom);
35
41
  if (chainId !== wagmiConfig.state.chainId)
36
42
  wagmiConfig.setState((prev) => ({
@@ -1 +1 @@
1
- {"version":3,"file":"subscriptions.js","sources":["../../../../../src/components/widget/ReceiverAddress/state/subscriptions.ts"],"sourcesContent":["import { wagmiConfig } from \"@/lib/web3/wagmi/config\";\nimport { watchAccount } from \"@wagmi/core\";\nimport { receiverAddressAtom } from \"./receiverAddressAtom\";\n\nimport { queryClient } from \"@/lib/queryClient\";\n\nimport { isSupportedChainId } from \"@/lib/web3/wagmi/utils\";\nimport {\n constructIsContractAtAddressQueryKey,\n getIsContractAtAddress,\n} from \"@/hooks/getCode/query\";\nimport { jotaiStore } from \"@/core/store\";\nimport { accountAtom } from \"@/lib/web3/wagmi/external\";\nimport { resetOrdersCountAtom } from \"../../AppHeader/state/showMoreAtom\";\nimport { enabledSrcChainsAtom } from \"@/core/state/enabledChainsAtom\";\nimport { limitReceiverAddressAtom } from \"@/core/limit/state/receiverAddressAtom\";\nimport { openDrawerAtom } from \"../../Drawer/state/useDrawerControls\";\nimport { screenAtom } from \"@/core/screen/state/screenAtom\";\n\nexport function subscribeToAccountChanges() {\n // subscribes to wallet account changes\n // config.subscribe(() => getAccount(config), onChange)\n return watchAccount(wagmiConfig, {\n onChange: async ({ address, chainId }, { address: prevAddress }) => {\n const enabledSrcChains = jotaiStore.get(enabledSrcChainsAtom);\n\n // close any open drawer and screen on account change\n // enforce account specific Widget state\n if (address !== prevAddress) {\n jotaiStore.set(openDrawerAtom, null);\n jotaiStore.set(screenAtom, null);\n }\n\n // reset the receiver address if the address is not valid or chainId is not supported\n if (\n !address ||\n chainId === undefined ||\n !isSupportedChainId(chainId) ||\n !enabledSrcChains.includes(chainId)\n ) {\n jotaiStore.set(receiverAddressAtom, undefined);\n jotaiStore.set(limitReceiverAddressAtom, undefined);\n return;\n }\n\n // internal account atom to trigger atomEffects\n jotaiStore.set(accountAtom, address);\n // reset activities pagination\n jotaiStore.set(resetOrdersCountAtom);\n\n if (chainId !== wagmiConfig.state.chainId)\n // wallet chainId takes precedence\n wagmiConfig.setState((prev) => ({ ...prev, chainId }));\n\n const queryKey = constructIsContractAtAddressQueryKey({\n chainId,\n address,\n });\n\n const { isEOA } = await queryClient.ensureQueryData({\n queryKey,\n queryFn: () =>\n getIsContractAtAddress({\n address,\n chainId,\n }),\n });\n\n // save if address is EOA, otherwise reset\n jotaiStore.set(receiverAddressAtom, isEOA ? address : undefined);\n jotaiStore.set(limitReceiverAddressAtom, isEOA ? address : undefined);\n },\n });\n}\n"],"names":["subscribeToAccountChanges","watchAccount","wagmiConfig","onChange","address","chainId","prevAddress","enabledSrcChains","jotaiStore","get","enabledSrcChainsAtom","set","openDrawerAtom","screenAtom","undefined","isSupportedChainId","includes","receiverAddressAtom","limitReceiverAddressAtom","accountAtom","resetOrdersCountAtom","state","setState","prev","queryKey","constructIsContractAtAddressQueryKey","isEOA","queryClient","ensureQueryData","queryFn","getIsContractAtAddress"],"mappings":";;;;;;;;;;;;;;AAmBO,SAASA,yBAAAA,GAA4B;AAG1C,EAAA,OAAOC,aAAaC,WAAAA,EAAa;AAAA,IAC/BC,UAAU,OAAO;AAAA,MAAEC,OAAAA;AAAAA,MAASC;AAAAA,KAAQ,EAAG;AAAA,MAAED,OAAAA,EAASE;AAAAA,KAAY,KAAM;AAClE,MAAA,MAAMC,gBAAAA,GAAmBC,UAAAA,CAAWC,GAAAA,CAAIC,oBAAoB,CAAA;AAI5D,MAAA,IAAIN,YAAYE,WAAAA,EAAa;AAC3BE,QAAAA,UAAAA,CAAWG,GAAAA,CAAIC,gBAAgB,IAAI,CAAA;AACnCJ,QAAAA,UAAAA,CAAWG,GAAAA,CAAIE,YAAY,IAAI,CAAA;AAAA,MACjC;AAGA,MAAA,IACE,CAACT,OAAAA,IACDC,OAAAA,KAAYS,MAAAA,IACZ,CAACC,kBAAAA,CAAmBV,OAAO,CAAA,IAC3B,CAACE,gBAAAA,CAAiBS,QAAAA,CAASX,OAAO,CAAA,EAClC;AACAG,QAAAA,UAAAA,CAAWG,GAAAA,CAAIM,qBAAqBH,MAAS,CAAA;AAC7CN,QAAAA,UAAAA,CAAWG,GAAAA,CAAIO,0BAA0BJ,MAAS,CAAA;AAClD,QAAA;AAAA,MACF;AAGAN,MAAAA,UAAAA,CAAWG,GAAAA,CAAIQ,aAAaf,OAAO,CAAA;AAEnCI,MAAAA,UAAAA,CAAWG,IAAIS,oBAAoB,CAAA;AAEnC,MAAA,IAAIf,OAAAA,KAAYH,YAAYmB,KAAAA,CAAMhB,OAAAA;AAEhCH,QAAAA,WAAAA,CAAYoB,SAAUC,CAAAA,IAAAA,MAAU;AAAA,UAAE,GAAGA,IAAAA;AAAAA,UAAMlB;AAAAA,SAAQ,CAAE,CAAA;AAEvD,MAAA,MAAMmB,WAAWC,oCAAAA,CAAqC;AAAA,QACpDpB,OAAAA;AAAAA,QACAD;AAAAA,OACD,CAAA;AAED,MAAA,MAAM;AAAA,QAAEsB;AAAAA,OAAM,GAAI,MAAMC,WAAAA,CAAYC,eAAAA,CAAgB;AAAA,QAClDJ,QAAAA;AAAAA,QACAK,OAAAA,EAASA,MACPC,sBAAAA,CAAuB;AAAA,UACrB1B,OAAAA;AAAAA,UACAC;AAAAA,SACD;AAAA,OACJ,CAAA;AAGDG,MAAAA,UAAAA,CAAWG,GAAAA,CAAIM,mBAAAA,EAAqBS,KAAAA,GAAQtB,OAAAA,GAAUU,MAAS,CAAA;AAC/DN,MAAAA,UAAAA,CAAWG,GAAAA,CAAIO,wBAAAA,EAA0BQ,KAAAA,GAAQtB,OAAAA,GAAUU,MAAS,CAAA;AAAA,IACtE;AAAA,GACD,CAAA;AACH;;;;"}
1
+ {"version":3,"file":"subscriptions.js","sources":["../../../../../src/components/widget/ReceiverAddress/state/subscriptions.ts"],"sourcesContent":["import { wagmiConfig } from \"@/lib/web3/wagmi/config\";\nimport { watchAccount } from \"@wagmi/core\";\nimport { receiverAddressAtom } from \"./receiverAddressAtom\";\n\nimport { queryClient } from \"@/lib/queryClient\";\n\nimport { isSupportedChainId } from \"@/lib/web3/wagmi/utils\";\nimport {\n constructIsContractAtAddressQueryKey,\n getIsContractAtAddress,\n} from \"@/hooks/getCode/query\";\nimport { jotaiStore } from \"@/core/store\";\nimport { accountAtom } from \"@/lib/web3/wagmi/external\";\nimport { resetOrdersCountAtom } from \"../../AppHeader/state/showMoreAtom\";\nimport { enabledSrcChainsAtom } from \"@/core/state/enabledChainsAtom\";\nimport { limitReceiverAddressAtom } from \"@/core/limit/state/receiverAddressAtom\";\nimport { openDrawerAtom } from \"../../Drawer/state/useDrawerControls\";\nimport { screenAtom } from \"@/core/screen/state/screenAtom\";\n\nexport function subscribeToAccountChanges() {\n // subscribes to wallet account changes\n // config.subscribe(() => getAccount(config), onChange)\n return watchAccount(wagmiConfig, {\n onChange: async (account, { address: prevAddress }) => {\n const { address, chainId, connector } = account;\n const enabledSrcChains = jotaiStore.get(enabledSrcChainsAtom);\n\n // close any open drawer and screen on account change\n // enforce account specific Widget state\n if (address !== prevAddress) {\n jotaiStore.set(openDrawerAtom, null);\n jotaiStore.set(screenAtom, null);\n }\n\n // internal account atom to trigger atomEffects\n jotaiStore.set(accountAtom, {\n address,\n chainId,\n connector,\n });\n\n // reset the receiver address if the address is not valid or chainId is not supported\n if (\n !address ||\n chainId === undefined ||\n !isSupportedChainId(chainId) ||\n !enabledSrcChains.includes(chainId)\n ) {\n jotaiStore.set(receiverAddressAtom, undefined);\n jotaiStore.set(limitReceiverAddressAtom, undefined);\n return;\n }\n\n // reset activities pagination\n jotaiStore.set(resetOrdersCountAtom);\n\n if (chainId !== wagmiConfig.state.chainId)\n // wallet chainId takes precedence\n wagmiConfig.setState((prev) => ({ ...prev, chainId }));\n\n const queryKey = constructIsContractAtAddressQueryKey({\n chainId,\n address,\n });\n\n const { isEOA } = await queryClient.ensureQueryData({\n queryKey,\n queryFn: () =>\n getIsContractAtAddress({\n address,\n chainId,\n }),\n });\n\n // save if address is EOA, otherwise reset\n jotaiStore.set(receiverAddressAtom, isEOA ? address : undefined);\n jotaiStore.set(limitReceiverAddressAtom, isEOA ? address : undefined);\n },\n });\n}\n"],"names":["subscribeToAccountChanges","watchAccount","wagmiConfig","onChange","account","address","prevAddress","chainId","connector","enabledSrcChains","jotaiStore","get","enabledSrcChainsAtom","set","openDrawerAtom","screenAtom","accountAtom","undefined","isSupportedChainId","includes","receiverAddressAtom","limitReceiverAddressAtom","resetOrdersCountAtom","state","setState","prev","queryKey","constructIsContractAtAddressQueryKey","isEOA","queryClient","ensureQueryData","queryFn","getIsContractAtAddress"],"mappings":";;;;;;;;;;;;;;AAmBO,SAASA,yBAAAA,GAA4B;AAG1C,EAAA,OAAOC,aAAaC,WAAAA,EAAa;AAAA,IAC/BC,QAAAA,EAAU,OAAOC,OAAAA,EAAS;AAAA,MAAEC,OAAAA,EAASC;AAAAA,KAAY,KAAM;AACrD,MAAA,MAAM;AAAA,QAAED,OAAAA;AAAAA,QAASE,OAAAA;AAAAA,QAASC;AAAAA,OAAU,GAAIJ,OAAAA;AACxC,MAAA,MAAMK,gBAAAA,GAAmBC,UAAAA,CAAWC,GAAAA,CAAIC,oBAAoB,CAAA;AAI5D,MAAA,IAAIP,YAAYC,WAAAA,EAAa;AAC3BI,QAAAA,UAAAA,CAAWG,GAAAA,CAAIC,gBAAgB,IAAI,CAAA;AACnCJ,QAAAA,UAAAA,CAAWG,GAAAA,CAAIE,YAAY,IAAI,CAAA;AAAA,MACjC;AAGAL,MAAAA,UAAAA,CAAWG,IAAIG,WAAAA,EAAa;AAAA,QAC1BX,OAAAA;AAAAA,QACAE,OAAAA;AAAAA,QACAC;AAAAA,OACD,CAAA;AAGD,MAAA,IACE,CAACH,OAAAA,IACDE,OAAAA,KAAYU,MAAAA,IACZ,CAACC,kBAAAA,CAAmBX,OAAO,CAAA,IAC3B,CAACE,gBAAAA,CAAiBU,QAAAA,CAASZ,OAAO,CAAA,EAClC;AACAG,QAAAA,UAAAA,CAAWG,GAAAA,CAAIO,qBAAqBH,MAAS,CAAA;AAC7CP,QAAAA,UAAAA,CAAWG,GAAAA,CAAIQ,0BAA0BJ,MAAS,CAAA;AAClD,QAAA;AAAA,MACF;AAGAP,MAAAA,UAAAA,CAAWG,IAAIS,oBAAoB,CAAA;AAEnC,MAAA,IAAIf,OAAAA,KAAYL,YAAYqB,KAAAA,CAAMhB,OAAAA;AAEhCL,QAAAA,WAAAA,CAAYsB,SAAUC,CAAAA,IAAAA,MAAU;AAAA,UAAE,GAAGA,IAAAA;AAAAA,UAAMlB;AAAAA,SAAQ,CAAE,CAAA;AAEvD,MAAA,MAAMmB,WAAWC,oCAAAA,CAAqC;AAAA,QACpDpB,OAAAA;AAAAA,QACAF;AAAAA,OACD,CAAA;AAED,MAAA,MAAM;AAAA,QAAEuB;AAAAA,OAAM,GAAI,MAAMC,WAAAA,CAAYC,eAAAA,CAAgB;AAAA,QAClDJ,QAAAA;AAAAA,QACAK,OAAAA,EAASA,MACPC,sBAAAA,CAAuB;AAAA,UACrB3B,OAAAA;AAAAA,UACAE;AAAAA,SACD;AAAA,OACJ,CAAA;AAGDG,MAAAA,UAAAA,CAAWG,GAAAA,CAAIO,mBAAAA,EAAqBQ,KAAAA,GAAQvB,OAAAA,GAAUY,MAAS,CAAA;AAC/DP,MAAAA,UAAAA,CAAWG,GAAAA,CAAIQ,wBAAAA,EAA0BO,KAAAA,GAAQvB,OAAAA,GAAUY,MAAS,CAAA;AAAA,IACtE;AAAA,GACD,CAAA;AACH;;;;"}
@@ -1,7 +1,7 @@
1
1
  import { TransactionListItem } from '../types';
2
2
  export type TransactionItemControlsProps = {
3
- order: TransactionListItem;
3
+ txItem: TransactionListItem;
4
4
  onDismiss: () => void;
5
5
  };
6
- export declare const Controls: ({ order, onDismiss, }: TransactionItemControlsProps) => import("react/jsx-runtime").JSX.Element;
6
+ export declare const Controls: ({ txItem, onDismiss, }: TransactionItemControlsProps) => import("react/jsx-runtime").JSX.Element;
7
7
  //# sourceMappingURL=Controls.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Controls.d.ts","sourceRoot":"","sources":["../../../../../src/components/widget/TransactionDetails/LimitOrderDetails/Controls.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAGpD,MAAM,MAAM,4BAA4B,GAAG;IACzC,KAAK,EAAE,mBAAmB,CAAC;IAC3B,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,uBAGtB,4BAA4B,4CAyC9B,CAAC"}
1
+ {"version":3,"file":"Controls.d.ts","sourceRoot":"","sources":["../../../../../src/components/widget/TransactionDetails/LimitOrderDetails/Controls.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAGpD,MAAM,MAAM,4BAA4B,GAAG;IACzC,MAAM,EAAE,mBAAmB,CAAC;IAC5B,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,wBAGtB,4BAA4B,4CAuC9B,CAAC"}
@@ -2,57 +2,56 @@ import { jsx, jsxs } from 'react/jsx-runtime';
2
2
  import { d as distExports } from '../../../../_virtual/index.js';
3
3
  import { Button } from '../../../ui/button.js';
4
4
  import { constructTxLinkForChain } from '../../../../lib/utils/explorer.js';
5
- import { isStandaloneTransactionItem } from '../../../../transactions/utils.js';
5
+ import { getTxHash } from '../../../../transactions/hash.js';
6
6
 
7
7
  const Controls = (t0) => {
8
- const $ = distExports.c(10);
8
+ const $ = distExports.c(9);
9
9
  const {
10
- order,
10
+ txItem,
11
11
  onDismiss
12
12
  } = t0;
13
- const txHash = isStandaloneTransactionItem(order) ? order.transactionHash : order.receipt?.transactionHash;
14
13
  let t1;
15
- if ($[0] !== order.chainId || $[1] !== txHash) {
14
+ if ($[0] !== txItem) {
15
+ const txHash = getTxHash(txItem);
16
16
  t1 = txHash ? constructTxLinkForChain({
17
- chainId: order.chainId,
17
+ chainId: txItem.chainId,
18
18
  txHash
19
19
  }) : void 0;
20
- $[0] = order.chainId;
21
- $[1] = txHash;
22
- $[2] = t1;
20
+ $[0] = txItem;
21
+ $[1] = t1;
23
22
  } else {
24
- t1 = $[2];
23
+ t1 = $[1];
25
24
  }
26
25
  const explorerLink = t1;
27
26
  let t2;
28
- if ($[3] !== onDismiss) {
27
+ if ($[2] !== onDismiss) {
29
28
  t2 = /* @__PURE__ */ jsx(Button, { variant: "default", size: "xl", radius: "sm", className: "w-full text-sm", onClick: onDismiss, children: "Make Another Trade" });
30
- $[3] = onDismiss;
31
- $[4] = t2;
29
+ $[2] = onDismiss;
30
+ $[3] = t2;
32
31
  } else {
33
- t2 = $[4];
32
+ t2 = $[3];
34
33
  }
35
34
  const makeAnotherTradeButton = t2;
36
35
  let t3;
37
- if ($[5] !== explorerLink) {
36
+ if ($[4] !== explorerLink) {
38
37
  t3 = explorerLink ? /* @__PURE__ */ jsx(Button, { variant: "secondary", size: "xl", radius: "sm", className: "w-full text-sm", asChild: true, children: /* @__PURE__ */ jsx("a", { href: explorerLink, rel: "noopener noreferrer", target: "_blank", children: "View On Explorer" }) }) : null;
39
- $[5] = explorerLink;
40
- $[6] = t3;
38
+ $[4] = explorerLink;
39
+ $[5] = t3;
41
40
  } else {
42
- t3 = $[6];
41
+ t3 = $[5];
43
42
  }
44
43
  const explorerButton = t3;
45
44
  let t4;
46
- if ($[7] !== explorerButton || $[8] !== makeAnotherTradeButton) {
45
+ if ($[6] !== explorerButton || $[7] !== makeAnotherTradeButton) {
47
46
  t4 = /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-4 mt-auto", children: [
48
47
  makeAnotherTradeButton,
49
48
  explorerButton
50
49
  ] });
51
- $[7] = explorerButton;
52
- $[8] = makeAnotherTradeButton;
53
- $[9] = t4;
50
+ $[6] = explorerButton;
51
+ $[7] = makeAnotherTradeButton;
52
+ $[8] = t4;
54
53
  } else {
55
- t4 = $[9];
54
+ t4 = $[8];
56
55
  }
57
56
  return t4;
58
57
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Controls.js","sources":["../../../../../src/components/widget/TransactionDetails/LimitOrderDetails/Controls.tsx"],"sourcesContent":["import { Button } from \"@/components/ui/button\";\n\nimport { constructTxLinkForChain } from \"@/lib/utils/explorer\";\nimport type { TransactionListItem } from \"../types\";\nimport { isStandaloneTransactionItem } from \"@/transactions/utils\";\n\nexport type TransactionItemControlsProps = {\n order: TransactionListItem;\n onDismiss: () => void;\n};\n\nexport const Controls = ({\n order,\n onDismiss,\n}: TransactionItemControlsProps) => {\n const txHash = isStandaloneTransactionItem(order)\n ? order.transactionHash\n : order.receipt?.transactionHash;\n\n const explorerLink = txHash\n ? constructTxLinkForChain({ chainId: order.chainId, txHash })\n : undefined;\n\n const makeAnotherTradeButton = (\n <Button\n variant=\"default\"\n size=\"xl\"\n radius=\"sm\"\n className=\"w-full text-sm\"\n onClick={onDismiss}\n >\n Make Another Trade\n </Button>\n );\n\n const explorerButton = explorerLink ? (\n <Button\n variant=\"secondary\"\n size=\"xl\"\n radius=\"sm\"\n className=\"w-full text-sm\"\n asChild\n >\n <a href={explorerLink} rel=\"noopener noreferrer\" target=\"_blank\">\n View On Explorer\n </a>\n </Button>\n ) : null;\n\n return (\n <div className=\"flex flex-col gap-4 mt-auto\">\n {makeAnotherTradeButton}\n {explorerButton}\n </div>\n );\n};\n"],"names":["Controls","t0","$","_c","order","onDismiss","txHash","isStandaloneTransactionItem","transactionHash","receipt","t1","chainId","constructTxLinkForChain","undefined","explorerLink","t2","makeAnotherTradeButton","t3","explorerButton","t4"],"mappings":"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"}
1
+ {"version":3,"file":"Controls.js","sources":["../../../../../src/components/widget/TransactionDetails/LimitOrderDetails/Controls.tsx"],"sourcesContent":["import { Button } from \"@/components/ui/button\";\n\nimport { constructTxLinkForChain } from \"@/lib/utils/explorer\";\nimport type { TransactionListItem } from \"../types\";\nimport { getTxHash } from \"@/transactions/hash\";\n\nexport type TransactionItemControlsProps = {\n txItem: TransactionListItem;\n onDismiss: () => void;\n};\n\nexport const Controls = ({\n txItem,\n onDismiss,\n}: TransactionItemControlsProps) => {\n const txHash = getTxHash(txItem);\n\n const explorerLink = txHash\n ? constructTxLinkForChain({ chainId: txItem.chainId, txHash })\n : undefined;\n\n const makeAnotherTradeButton = (\n <Button\n variant=\"default\"\n size=\"xl\"\n radius=\"sm\"\n className=\"w-full text-sm\"\n onClick={onDismiss}\n >\n Make Another Trade\n </Button>\n );\n\n const explorerButton = explorerLink ? (\n <Button\n variant=\"secondary\"\n size=\"xl\"\n radius=\"sm\"\n className=\"w-full text-sm\"\n asChild\n >\n <a href={explorerLink} rel=\"noopener noreferrer\" target=\"_blank\">\n View On Explorer\n </a>\n </Button>\n ) : null;\n\n return (\n <div className=\"flex flex-col gap-4 mt-auto\">\n {makeAnotherTradeButton}\n {explorerButton}\n </div>\n );\n};\n"],"names":["Controls","t0","$","_c","txItem","onDismiss","t1","txHash","getTxHash","constructTxLinkForChain","chainId","undefined","explorerLink","t2","makeAnotherTradeButton","t3","explorerButton","t4"],"mappings":";;;;;;AAWO,MAAMA,WAAWC,CAAAA,EAAAA,KAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAAC,EAAA,MAAA;AAAA,IAAAC,MAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAAAJ,EAAAA;AAGM,EAAA,IAAAK,EAAAA;AAAA,EAAA,IAAAJ,CAAAA,QAAAE,MAAAA,EAAA;AAC7B,IAAA,MAAAG,MAAAA,GAAeC,UAAUJ,MAAM,CAAA;AAEVE,IAAAA,EAAAA,GAAAC,SACjBE,uBAAAA,CAAwB;AAAA,MAAAC,SAAWN,MAAAA,CAAMM,OAAAA;AAAAA,MAAQH;AAAAA,KACzC,CAAA,GAFSI,MAAAA;AAERT,IAAAA,CAAAA,MAAAE,MAAAA;AAAAF,IAAAA,CAAAA,MAAAI,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAJ,EAAA,CAAA,CAAA;AAAA,EAAA;AAFb,EAAA,MAAAU,YAAAA,GAAqBN,EAAAA;AAEP,EAAA,IAAAO,EAAAA;AAAA,EAAA,IAAAX,CAAAA,QAAAG,SAAAA,EAAA;AAGZQ,IAAAA,EAAAA,mBAAA,GAAA,CAAC,MAAA,EAAA,EACS,OAAA,EAAA,SAAA,EACH,IAAA,EAAA,IAAA,EACE,MAAA,EAAA,IAAA,EACG,SAAA,EAAA,gBAAA,EACDR,OAAAA,EAAAA,SAAAA,EACV,QAAA,EAAA,oBAAA,EAED,CAAA;AAASH,IAAAA,CAAAA,MAAAG,SAAAA;AAAAH,IAAAA,CAAAA,MAAAW,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAX,EAAA,CAAA,CAAA;AAAA,EAAA;AATX,EAAA,MAAAY,sBAAAA,GACED,EAAAA;AASA,EAAA,IAAAE,EAAAA;AAAA,EAAA,IAAAb,CAAAA,QAAAU,YAAAA,EAAA;AAEqBG,IAAAA,EAAAA,GAAAH,YAAAA,uBACpB,MAAA,EAAA,EACS,OAAA,EAAA,aACH,IAAA,EAAA,IAAA,EACE,MAAA,EAAA,IAAA,EACG,SAAA,EAAA,gBAAA,EACV,SAAA,IAAA,EAEA,QAAA,kBAAA,GAAA,CAAA,GAAA,EAAA,EAASA,IAAAA,gBAAkB,GAAA,EAAA,uBAA6B,MAAA,EAAA,QAAA,EAAS,QAAA,EAAA,kBAAA,EAEjE,CAAA,EACF,CAAA,GAXqB,IAAA;AAYfV,IAAAA,CAAAA,MAAAU,YAAAA;AAAAV,IAAAA,CAAAA,MAAAa,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAb,EAAA,CAAA,CAAA;AAAA,EAAA;AAZR,EAAA,MAAAc,cAAAA,GAAuBD,EAAAA;AAYd,EAAA,IAAAE,EAAAA;AAAA,EAAA,IAAAf,EAAA,CAAA,CAAA,KAAAc,kBAAAd,CAAAA,QAAAY,sBAAAA,EAAA;AAGPG,IAAAA,EAAAA,mBAAA,IAAA,CAAA,KAAA,EAAA,EAAe,SAAA,EAAA,6BAAA,EACZH,QAAAA,EAAAA;AAAAA,MAAAA,sBAAAA;AAAAA,MACAE;AAAAA,KAAAA,EACH,CAAA;AAAMd,IAAAA,CAAAA,MAAAc,cAAAA;AAAAd,IAAAA,CAAAA,MAAAY,sBAAAA;AAAAZ,IAAAA,CAAAA,MAAAe,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAf,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAHNe,EAAAA;AAGM;;;;"}