@velora-dex/widget 0.3.12 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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 +75 -63
  3. package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.js.map +1 -1
  4. package/dist/components/web3/ConnectExternalProvider/constants.d.ts +14 -0
  5. package/dist/components/web3/ConnectExternalProvider/constants.d.ts.map +1 -0
  6. package/dist/components/web3/ConnectExternalProvider/constants.js +6 -0
  7. package/dist/components/web3/ConnectExternalProvider/constants.js.map +1 -0
  8. package/dist/components/web3/ConnectExternalProvider/metamaskProviderWrapper.d.ts +15 -0
  9. package/dist/components/web3/ConnectExternalProvider/metamaskProviderWrapper.d.ts.map +1 -0
  10. package/dist/components/web3/ConnectExternalProvider/metamaskProviderWrapper.js +56 -0
  11. package/dist/components/web3/ConnectExternalProvider/metamaskProviderWrapper.js.map +1 -0
  12. package/dist/components/web3/ConnectExternalProvider/safeProviderWrapper.d.ts +6 -0
  13. package/dist/components/web3/ConnectExternalProvider/safeProviderWrapper.d.ts.map +1 -0
  14. package/dist/components/web3/ConnectExternalProvider/safeProviderWrapper.js +76 -0
  15. package/dist/components/web3/ConnectExternalProvider/safeProviderWrapper.js.map +1 -0
  16. package/dist/components/web3/ConnectExternalProvider/utils.d.ts +23 -0
  17. package/dist/components/web3/ConnectExternalProvider/utils.d.ts.map +1 -0
  18. package/dist/components/web3/ConnectExternalProvider/utils.js +42 -0
  19. package/dist/components/web3/ConnectExternalProvider/utils.js.map +1 -0
  20. package/dist/components/web3/ConnectWallets/index.js.map +1 -1
  21. package/dist/components/web3/ConnectWallets/walletIcons.d.ts +8 -1
  22. package/dist/components/web3/ConnectWallets/walletIcons.d.ts.map +1 -1
  23. package/dist/components/web3/ConnectWallets/walletIcons.js +23 -9
  24. package/dist/components/web3/ConnectWallets/walletIcons.js.map +1 -1
  25. package/dist/components/widget/ReceiverAddress/state/subscriptions.d.ts.map +1 -1
  26. package/dist/components/widget/ReceiverAddress/state/subscriptions.js +11 -5
  27. package/dist/components/widget/ReceiverAddress/state/subscriptions.js.map +1 -1
  28. package/dist/components/widget/TransactionDetails/LimitOrderDetails/Controls.d.ts +2 -2
  29. package/dist/components/widget/TransactionDetails/LimitOrderDetails/Controls.d.ts.map +1 -1
  30. package/dist/components/widget/TransactionDetails/LimitOrderDetails/Controls.js +22 -23
  31. package/dist/components/widget/TransactionDetails/LimitOrderDetails/Controls.js.map +1 -1
  32. package/dist/components/widget/TransactionDetails/LimitOrderDetails/TransactionDetails.js +1 -1
  33. package/dist/components/widget/TransactionDetails/LimitOrderDetails/TransactionDetails.js.map +1 -1
  34. package/dist/configurator/Configurator.d.ts.map +1 -1
  35. package/dist/configurator/Safe/SafeConnector.d.ts +23 -0
  36. package/dist/configurator/Safe/SafeConnector.d.ts.map +1 -0
  37. package/dist/configurator/Safe/useSafeConnector.d.ts +8 -0
  38. package/dist/configurator/Safe/useSafeConnector.d.ts.map +1 -0
  39. package/dist/core/state/configAtom.d.ts.map +1 -1
  40. package/dist/core/state/configAtom.js +5 -1
  41. package/dist/core/state/configAtom.js.map +1 -1
  42. package/dist/core/state/externalProviderAtom.d.ts +6 -0
  43. package/dist/core/state/externalProviderAtom.d.ts.map +1 -1
  44. package/dist/core/state/externalProviderAtom.js +4 -1
  45. package/dist/core/state/externalProviderAtom.js.map +1 -1
  46. package/dist/events/getters/swap.d.ts.map +1 -1
  47. package/dist/events/getters/swap.js +2 -1
  48. package/dist/events/getters/swap.js.map +1 -1
  49. package/dist/events/getters/widgetState.d.ts.map +1 -1
  50. package/dist/events/getters/widgetState.js +22 -1
  51. package/dist/events/getters/widgetState.js.map +1 -1
  52. package/dist/events/hooks/useOnWalletConnect.d.ts.map +1 -1
  53. package/dist/events/hooks/useOnWalletConnect.js +17 -1
  54. package/dist/events/hooks/useOnWalletConnect.js.map +1 -1
  55. package/dist/events/types/common.d.ts +7 -0
  56. package/dist/events/types/common.d.ts.map +1 -1
  57. package/dist/events/types/connectWallet.d.ts +4 -3
  58. package/dist/events/types/connectWallet.d.ts.map +1 -1
  59. package/dist/hooks/batch/useAwaitCalls.d.ts.map +1 -1
  60. package/dist/hooks/batch/useAwaitCalls.js.map +1 -1
  61. package/dist/hooks/connectors/useIsConnectedSafe.d.ts +1 -0
  62. package/dist/hooks/connectors/useIsConnectedSafe.d.ts.map +1 -1
  63. package/dist/hooks/connectors/useIsConnectedSafe.js +10 -3
  64. package/dist/hooks/connectors/useIsConnectedSafe.js.map +1 -1
  65. package/dist/hooks/connectors/useIsGnosisSafeConnector.d.ts +5 -1
  66. package/dist/hooks/connectors/useIsGnosisSafeConnector.d.ts.map +1 -1
  67. package/dist/hooks/connectors/useIsGnosisSafeConnector.js +3 -4
  68. package/dist/hooks/connectors/useIsGnosisSafeConnector.js.map +1 -1
  69. package/dist/hooks/connectors/useIsSafeThroughWalletConnect.d.ts +3 -1
  70. package/dist/hooks/connectors/useIsSafeThroughWalletConnect.d.ts.map +1 -1
  71. package/dist/hooks/connectors/useIsSafeThroughWalletConnect.js +55 -11
  72. package/dist/hooks/connectors/useIsSafeThroughWalletConnect.js.map +1 -1
  73. package/dist/hooks/otc/mutations/useFillOrder.js +2 -1
  74. package/dist/hooks/otc/mutations/useFillOrder.js.map +1 -1
  75. package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.js +1 -0
  76. package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.js.map +1 -1
  77. package/dist/hooks/otc/tradeFlow/useFillOtcOrderStep.d.ts.map +1 -1
  78. package/dist/hooks/otc/tradeFlow/useFillOtcOrderStep.js +7 -4
  79. package/dist/hooks/otc/tradeFlow/useFillOtcOrderStep.js.map +1 -1
  80. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.d.ts.map +1 -1
  81. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js +2 -1
  82. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js.map +1 -1
  83. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
  84. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
  85. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.d.ts.map +1 -1
  86. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js +7 -4
  87. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js.map +1 -1
  88. package/dist/hooks/txs/queries/useAwaitTx.d.ts.map +1 -1
  89. package/dist/hooks/txs/queries/useAwaitTx.js +114 -20
  90. package/dist/hooks/txs/queries/useAwaitTx.js.map +1 -1
  91. package/dist/index.d.ts +1 -1
  92. package/dist/index.d.ts.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 +11 -3
  108. package/dist/lib/web3/wagmi/external.d.ts.map +1 -1
  109. package/dist/lib/web3/wagmi/external.js +28 -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 +3 -3
  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 +34 -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 +14 -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 +48 -12
  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 +53 -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 +74 -18
  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 +32 -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 +7 -1
  150. package/dist/transactions/utils.js.map +1 -1
  151. package/package.json +3 -1
@@ -1,3 +1,4 @@
1
+ import { walletConnect } from 'wagmi/connectors';
1
2
  import { Connector } from 'wagmi';
2
3
  type GetWalletIconProps = {
3
4
  id: string;
@@ -34,11 +35,17 @@ export type WalletMeta = {
34
35
  icon: string | null;
35
36
  name: string | null;
36
37
  connectorId: string;
38
+ connectorUid: string;
37
39
  connectorName: string;
38
40
  connectorType: string;
41
+ isWalletConnect: boolean;
42
+ isExternal: boolean;
39
43
  };
40
44
  export declare function useWalletMetadata(connector?: Connector): WalletMeta | undefined;
41
- export declare function walletMetadataQueryKey(connectorId?: string): readonly ["wallet-metadata", string | undefined];
45
+ export declare function walletMetadataQueryKey(connectorUid?: string): readonly ["wallet-metadata", string | undefined];
42
46
  export declare function getWalletMetadata(connector: Connector): Promise<WalletMeta>;
47
+ export declare function isWalletConnectConnector<T extends Pick<Connector, "type">>(connector: T): connector is T & {
48
+ type: typeof walletConnect.type;
49
+ };
43
50
  export {};
44
51
  //# 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":"AAaA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,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;AAED,wBAAgB,wBAAwB,CAAC,CAAC,SAAS,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,EACxE,SAAS,EAAE,CAAC,GACX,SAAS,IAAI,CAAC,GAAG;IAAE,IAAI,EAAE,OAAO,aAAa,CAAC,IAAI,CAAA;CAAE,CAEtD"}
@@ -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,11 +104,11 @@ 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
- const connectorIsWConnect = connector.type === walletConnect.type;
111
+ const connectorIsWConnect = isWalletConnectConnector(connector);
111
112
  const fallbackIcon = getWalletIcon({
112
113
  id: connector.id,
113
114
  icon: connector.icon
@@ -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,18 +138,27 @@ 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
  }
159
+ function isWalletConnectConnector(connector) {
160
+ return connector.type === walletConnect.type;
161
+ }
148
162
 
149
- export { getWalletConnectMetadata, getWalletIcon, getWalletMetadata, getWalletName, isWConnectProvider, useWalletMetadata, walletMetadataQueryKey };
163
+ export { getWalletConnectMetadata, getWalletIcon, getWalletMetadata, getWalletName, isWConnectProvider, isWalletConnectConnector, useWalletMetadata, walletMetadataQueryKey };
150
164
  //# sourceMappingURL=walletIcons.js.map
@@ -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 = isWalletConnectConnector(connector);\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\nexport function isWalletConnectConnector<T extends Pick<Connector, \"type\">>(\n connector: T\n): connector is T & { type: typeof walletConnect.type } {\n return connector.type === walletConnect.type;\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","isWalletConnectConnector","fallbackIcon","fallbackName","connectorIsExternal","isExternalConnector","connectorId","connectorType","type","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;;;;"}
@@ -54,7 +54,7 @@ const TransactionDetails = (t0) => {
54
54
  }
55
55
  let t5;
56
56
  if ($[8] !== onDismiss || $[9] !== txItem) {
57
- t5 = /* @__PURE__ */ jsx(Controls, { order: txItem, onDismiss });
57
+ t5 = /* @__PURE__ */ jsx(Controls, { txItem, onDismiss });
58
58
  $[8] = onDismiss;
59
59
  $[9] = txItem;
60
60
  $[10] = t5;
@@ -1 +1 @@
1
- {"version":3,"file":"TransactionDetails.js","sources":["../../../../../src/components/widget/TransactionDetails/LimitOrderDetails/TransactionDetails.tsx"],"sourcesContent":["import type { TransactionListItem } from \"../types\";\nimport { DetailWithValueList } from \"../../Details/DetailWithValueList\";\nimport { isTruthy } from \"@/lib/utils\";\nimport type { DetailWithValue } from \"../../Details/types\";\nimport { PayReceiveInfo } from \"../../PayReceiveInfo/PayReceiveInfo\";\nimport {\n constructTxRateDetail,\n constructTxStatusDetail,\n constructOrderTypeDetail,\n constructPayReceiveInfoProps,\n constructSubmitDateDetail,\n} from \"./utils\";\n\nimport { Controls } from \"./Controls\";\nimport { isTransactionItemSwapWithExtra } from \"../utils\";\n\nconst detailsClasses = {\n root: \"pt-4 gap-4\",\n title: \"text-contrast-5 dark:text-contrast-6\",\n value: \"text-contrast-4 dark:text-contrast-6\",\n};\n\nexport const TransactionDetails = ({\n txItem,\n onDismiss,\n}: {\n txItem: TransactionListItem;\n onDismiss: () => void;\n}) => {\n const payReceiveInfoProps =\n isTransactionItemSwapWithExtra(txItem) &&\n constructPayReceiveInfoProps(txItem);\n\n const details: DetailWithValue[] = [\n constructSubmitDateDetail(txItem),\n constructTxRateDetail(txItem),\n constructTxStatusDetail(txItem),\n constructOrderTypeDetail(),\n ].filter(isTruthy);\n\n return (\n <div className=\"px-6 pb-8 h-[470px] flex flex-col\">\n {payReceiveInfoProps && <PayReceiveInfo {...payReceiveInfoProps} />}\n <DetailWithValueList details={details} classes={detailsClasses} />\n <Controls order={txItem} onDismiss={onDismiss} />\n </div>\n );\n};\n"],"names":["detailsClasses","root","title","value","TransactionDetails","t0","$","_c","txItem","onDismiss","t1","isTransactionItemSwapWithExtra","constructPayReceiveInfoProps","payReceiveInfoProps","t2","constructSubmitDateDetail","constructTxRateDetail","constructTxStatusDetail","constructOrderTypeDetail","filter","isTruthy","details","t3","t4","t5","t6"],"mappings":"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"}
1
+ {"version":3,"file":"TransactionDetails.js","sources":["../../../../../src/components/widget/TransactionDetails/LimitOrderDetails/TransactionDetails.tsx"],"sourcesContent":["import type { TransactionListItem } from \"../types\";\nimport { DetailWithValueList } from \"../../Details/DetailWithValueList\";\nimport { isTruthy } from \"@/lib/utils\";\nimport type { DetailWithValue } from \"../../Details/types\";\nimport { PayReceiveInfo } from \"../../PayReceiveInfo/PayReceiveInfo\";\nimport {\n constructTxRateDetail,\n constructTxStatusDetail,\n constructOrderTypeDetail,\n constructPayReceiveInfoProps,\n constructSubmitDateDetail,\n} from \"./utils\";\n\nimport { Controls } from \"./Controls\";\nimport { isTransactionItemSwapWithExtra } from \"../utils\";\n\nconst detailsClasses = {\n root: \"pt-4 gap-4\",\n title: \"text-contrast-5 dark:text-contrast-6\",\n value: \"text-contrast-4 dark:text-contrast-6\",\n};\n\nexport const TransactionDetails = ({\n txItem,\n onDismiss,\n}: {\n txItem: TransactionListItem;\n onDismiss: () => void;\n}) => {\n const payReceiveInfoProps =\n isTransactionItemSwapWithExtra(txItem) &&\n constructPayReceiveInfoProps(txItem);\n\n const details: DetailWithValue[] = [\n constructSubmitDateDetail(txItem),\n constructTxRateDetail(txItem),\n constructTxStatusDetail(txItem),\n constructOrderTypeDetail(),\n ].filter(isTruthy);\n\n return (\n <div className=\"px-6 pb-8 h-[470px] flex flex-col\">\n {payReceiveInfoProps && <PayReceiveInfo {...payReceiveInfoProps} />}\n <DetailWithValueList details={details} classes={detailsClasses} />\n <Controls txItem={txItem} onDismiss={onDismiss} />\n </div>\n );\n};\n"],"names":["detailsClasses","root","title","value","TransactionDetails","t0","$","_c","txItem","onDismiss","t1","isTransactionItemSwapWithExtra","constructPayReceiveInfoProps","payReceiveInfoProps","t2","constructSubmitDateDetail","constructTxRateDetail","constructTxStatusDetail","constructOrderTypeDetail","filter","isTruthy","details","t3","t4","t5","t6"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Configurator.d.ts","sourceRoot":"","sources":["../../src/configurator/Configurator.tsx"],"names":[],"mappings":"AAwPA,eAAO,MAAM,YAAY,+CA2TxB,CAAC"}
1
+ {"version":3,"file":"Configurator.d.ts","sourceRoot":"","sources":["../../src/configurator/Configurator.tsx"],"names":[],"mappings":"AA0PA,eAAO,MAAM,YAAY,+CAiUxB,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { SafeAppProvider } from '@safe-global/safe-apps-provider';
2
+ import { Opts, SafeInfo } from '@safe-global/safe-apps-sdk';
3
+ type ConnectorUpdate = {
4
+ provider: SafeAppProvider;
5
+ chainId: number;
6
+ account: string;
7
+ };
8
+ declare class SafeAppConnector {
9
+ private readonly sdk;
10
+ private safe?;
11
+ private provider?;
12
+ constructor(opts?: Opts);
13
+ emit(event: string, ...args: unknown[]): void;
14
+ activate(): Promise<ConnectorUpdate>;
15
+ getSafeInfo(): Promise<SafeInfo>;
16
+ getProvider(): Promise<SafeAppProvider>;
17
+ getChainId(): Promise<number>;
18
+ getAccount(): Promise<string>;
19
+ deactivate(): void;
20
+ isSafeApp(): Promise<boolean>;
21
+ }
22
+ export { SafeAppConnector };
23
+ //# sourceMappingURL=SafeConnector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SafeConnector.d.ts","sourceRoot":"","sources":["../../../src/configurator/Safe/SafeConnector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAoB,EAClB,KAAK,IAAI,EACT,KAAK,QAAQ,EACd,MAAM,4BAA4B,CAAC;AAEpC,KAAK,eAAe,GAAG;IACrB,QAAQ,EAAE,eAAe,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAGF,cAAM,gBAAgB;IACpB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAc;IAClC,OAAO,CAAC,IAAI,CAAC,CAAW;IACxB,OAAO,CAAC,QAAQ,CAAC,CAAkB;gBAEvB,IAAI,CAAC,EAAE,IAAI;IAIvB,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAIvC,QAAQ,IAAI,OAAO,CAAC,eAAe,CAAC;IAoB7B,WAAW,IAAI,OAAO,CAAC,QAAQ,CAAC;IAOhC,WAAW,IAAI,OAAO,CAAC,eAAe,CAAC;IAQvC,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAK7B,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAKnC,UAAU,IAAI,IAAI;IAIZ,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;CAa3C;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { SafeAppConnector } from './SafeConnector';
2
+ import { SafeAppProvider } from '@safe-global/safe-apps-provider';
3
+ export declare function useSafeConnector(): {
4
+ connector: SafeAppConnector | null;
5
+ provider: SafeAppProvider | null;
6
+ isLoading: boolean;
7
+ };
8
+ //# sourceMappingURL=useSafeConnector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSafeConnector.d.ts","sourceRoot":"","sources":["../../../src/configurator/Safe/useSafeConnector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAGvE,wBAAgB,gBAAgB,IAAI;IAClC,SAAS,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACnC,QAAQ,EAAE,eAAe,GAAG,IAAI,CAAC;IACjC,SAAS,EAAE,OAAO,CAAC;CACpB,CA6BA"}
@@ -1 +1 @@
1
- {"version":3,"file":"configAtom.d.ts","sourceRoot":"","sources":["../../../src/core/state/configAtom.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,OAAO,EACP,aAAa,EACd,MAAM,UAAU,CAAC;AAMlB,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAGjD,MAAM,MAAM,eAAe,GAAG,IAAI,CAChC,YAAY,EACV,OAAO,GACP,aAAa,GACb,kBAAkB,GAClB,YAAY,GACZ,eAAe,GACf,OAAO,GACP,YAAY,GACZ,mBAAmB,CACtB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,IAAI,CAC/B,YAAY,EACV,WAAW,GACX,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,WAAW,GACX,SAAS,GACT,eAAe,CAClB,CAAC;AAcF,eAAO,MAAM,mBAAmB;;;;;;;;;CASI,CAAC;AAErC,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;CAAkD,CAAC;AAEhF,eAAO,MAAM,eAAe;;;;;;;;;CAE3B,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;;;;;;CAQM,CAAC;AAIpC,eAAO,MAAM,cAAc,0DAG1B,CAAC;AACF,eAAO,MAAM,aAAa,sKAGzB,CAAC;AACF,eAAO,MAAM,cAAc,sKAG1B,CAAC;AAEF,eAAO,MAAM,cAAc,gEAG1B,CAAC;AAEF,eAAO,MAAM,aAAa,0EAGzB,CAAC;AAEF,eAAO,MAAM,WAAW,wDAGvB,CAAC;AAEF,eAAO,MAAM,iBAAiB,oEAQ7B,CAAC"}
1
+ {"version":3,"file":"configAtom.d.ts","sourceRoot":"","sources":["../../../src/core/state/configAtom.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,OAAO,EACP,aAAa,EACd,MAAM,UAAU,CAAC;AAMlB,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAGjD,MAAM,MAAM,eAAe,GAAG,IAAI,CAChC,YAAY,EACV,OAAO,GACP,aAAa,GACb,kBAAkB,GAClB,YAAY,GACZ,eAAe,GACf,OAAO,GACP,YAAY,GACZ,mBAAmB,CACtB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,IAAI,CAC/B,YAAY,EACV,WAAW,GACX,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,WAAW,GACX,SAAS,GACT,eAAe,CAClB,CAAC;AAcF,eAAO,MAAM,mBAAmB;;;;;;;;;CASI,CAAC;AAErC,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;CAAkD,CAAC;AAEhF,eAAO,MAAM,eAAe;;;;;;;;;CAE3B,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;;;;;;CAQM,CAAC;AAIpC,eAAO,MAAM,cAAc,0DAG1B,CAAC;AACF,eAAO,MAAM,aAAa,sKAGzB,CAAC;AACF,eAAO,MAAM,cAAc,sKAG1B,CAAC;AAEF,eAAO,MAAM,cAAc,gEAG1B,CAAC;AAEF,eAAO,MAAM,aAAa,0EAGzB,CAAC;AAEF,eAAO,MAAM,WAAW,wDAIvB,CAAC;AAEF,eAAO,MAAM,iBAAiB,oEAQ7B,CAAC"}
@@ -33,7 +33,11 @@ const srcChainsAtom = atomWithCompare(defaultSubConfig.srcChains, unorderedShall
33
33
  const destChainsAtom = atomWithCompare(defaultSubConfig.destChains, unorderedShallowEqual);
34
34
  const tradeModesAtom = atomWithCompare(defaultSubConfig.tradeModes, unorderedShallowEqual);
35
35
  const excludeUIAtom = atomWithCompare(defaultSubConfig.excludeUI, unorderedShallowEqual);
36
- const devURLsAtom = atomWithCompare(defaultSubConfig.devURLs, constructPropertiesEqual(["apiProxyURL", "apiURL", "explorerURL"]));
36
+ const devURLsAtom = atomWithCompare(
37
+ defaultSubConfig.devURLs,
38
+ // known properties only comparison
39
+ constructPropertiesEqual(["apiProxyURL", "apiURL", "explorerURL"])
40
+ );
37
41
  const partnerConfigAtom = atomWithCompare(defaultSubConfig.partnerConfig, constructPropertiesEqual(["partner", "partnerAddress", "partnerFeeBps", "partnerTakesSurplus"]));
38
42
  partnerConfigAtom.debugLabel = "partnerConfigAtom";
39
43
 
@@ -1 +1 @@
1
- {"version":3,"file":"configAtom.js","sources":["../../../src/core/state/configAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport { useAtomValue } from \"@/core/store\";\nimport type {\n WidgetElements,\n WidgetConfig,\n DevURLs,\n PartnerConfig,\n} from \"../types\";\nimport type { MarkRequired } from \"ts-essentials\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { emptyArray, emptyObject } from \"@/lib/constants\";\nimport { atomWithCompare } from \"@/lib/utils/atomWithCompare\";\nimport { constructPropertiesEqual, unorderedShallowEqual } from \"@/lib/utils\";\nimport { type TradeMode } from \"./tradeModeAtom\";\nimport { getDefaultTheme } from \"@/lib/utils/theme\";\n\nexport type PrimitiveConfig = Pick<\n WidgetConfig,\n | \"theme\"\n | \"enableDelta\"\n | \"enableCrossChain\"\n | \"privyAppId\"\n | \"privyClientId\"\n | \"debug\"\n | \"widgetMode\"\n | \"ignoreBadUsdPrice\"\n>;\n\nexport type IterableConfig = Pick<\n WidgetConfig,\n | \"srcChains\"\n | \"destChains\"\n | \"tokenLists\"\n | \"tradeModes\"\n | \"excludeUI\"\n | \"devURLs\"\n | \"partnerConfig\"\n>;\n\ntype PrimitiveConfigState = MarkRequired<\n PrimitiveConfig,\n | \"theme\"\n | \"enableDelta\"\n | \"enableCrossChain\"\n | \"privyAppId\"\n | \"privyClientId\"\n | \"debug\"\n | \"widgetMode\"\n | \"ignoreBadUsdPrice\"\n>;\n\nexport const defaultWidgetConfig = {\n theme: getDefaultTheme(),\n enableDelta: true,\n enableCrossChain: true,\n privyAppId: import.meta.env.VITE_PRIVY_APP_ID,\n privyClientId: import.meta.env.VITE_PRIVY_CLIENT_ID,\n debug: false,\n widgetMode: \"standalone\",\n ignoreBadUsdPrice: true,\n} as const satisfies PrimitiveConfig;\n\nexport const widgetConfigAtom = atom<PrimitiveConfigState>(defaultWidgetConfig);\n\nexport const useWidgetConfig = () => {\n return useAtomValue(widgetConfigAtom);\n};\n\nexport const defaultSubConfig = {\n tokenLists: emptyArray,\n srcChains: emptyArray,\n destChains: emptyArray,\n tradeModes: emptyArray,\n excludeUI: emptyArray,\n devURLs: emptyObject,\n partnerConfig: emptyObject,\n} as const satisfies IterableConfig;\n\n// independent atoms for each iterable config property\n// with comparison to avoid unnecessary re-renders\nexport const tokenListsAtom = atomWithCompare<string[]>(\n defaultSubConfig.tokenLists,\n unorderedShallowEqual\n);\nexport const srcChainsAtom = atomWithCompare<SupportedChainId[]>(\n defaultSubConfig.srcChains,\n unorderedShallowEqual\n);\nexport const destChainsAtom = atomWithCompare<SupportedChainId[]>(\n defaultSubConfig.destChains,\n unorderedShallowEqual\n);\n\nexport const tradeModesAtom = atomWithCompare<TradeMode[]>(\n defaultSubConfig.tradeModes,\n unorderedShallowEqual\n);\n\nexport const excludeUIAtom = atomWithCompare<WidgetElements[]>(\n defaultSubConfig.excludeUI,\n unorderedShallowEqual\n);\n\nexport const devURLsAtom = atomWithCompare<DevURLs>(\n defaultSubConfig.devURLs,\n constructPropertiesEqual([\"apiProxyURL\", \"apiURL\", \"explorerURL\"])\n);\n\nexport const partnerConfigAtom = atomWithCompare<PartnerConfig>(\n defaultSubConfig.partnerConfig,\n constructPropertiesEqual([\n \"partner\",\n \"partnerAddress\",\n \"partnerFeeBps\",\n \"partnerTakesSurplus\",\n ])\n);\n\npartnerConfigAtom.debugLabel = \"partnerConfigAtom\";\n"],"names":["defaultWidgetConfig","theme","getDefaultTheme","enableDelta","enableCrossChain","privyAppId","import","privyClientId","debug","widgetMode","ignoreBadUsdPrice","widgetConfigAtom","atom","useWidgetConfig","useAtomValue","defaultSubConfig","tokenLists","emptyArray","srcChains","destChains","tradeModes","excludeUI","devURLs","emptyObject","partnerConfig","tokenListsAtom","atomWithCompare","unorderedShallowEqual","srcChainsAtom","destChainsAtom","tradeModesAtom","excludeUIAtom","devURLsAtom","constructPropertiesEqual","partnerConfigAtom","debugLabel"],"mappings":";;;;;;;AAmDO,MAAMA,mBAAAA,GAAsB;AAAA,EACjCC,OAAOC,eAAAA,EAAgB;AAAA,EACvBC,WAAAA,EAAa,IAAA;AAAA,EACbC,gBAAAA,EAAkB,IAAA;AAAA,EAClBC,UAAAA,EAAYC,2BAAAA;AAAAA,EACZC,aAAAA,EAAeD,sDAAAA;AAAAA,EACfE,KAAAA,EAAO,KAAA;AAAA,EACPC,UAAAA,EAAY,YAAA;AAAA,EACZC,iBAAAA,EAAmB;AACrB;AAEO,MAAMC,gBAAAA,GAAmBC,KAA2BZ,mBAAmB;AAEvE,MAAMa,kBAAkBA,MAAA;AAAA,EAAA,OACtBC,aAAaH,gBAAgB,CAAA;AAAC;AAGhC,MAAMI,gBAAAA,GAAmB;AAAA,EAC9BC,UAAAA,EAAYC,UAAAA;AAAAA,EACZC,SAAAA,EAAWD,UAAAA;AAAAA,EACXE,UAAAA,EAAYF,UAAAA;AAAAA,EACZG,UAAAA,EAAYH,UAAAA;AAAAA,EACZI,SAAAA,EAAWJ,UAAAA;AAAAA,EACXK,OAAAA,EAASC,WAAAA;AAAAA,EACTC,aAAAA,EAAeD;AACjB;AAIO,MAAME,cAAAA,GAAiBC,eAAAA,CAC5BX,gBAAAA,CAAiBC,UAAAA,EACjBW,qBACF;AACO,MAAMC,aAAAA,GAAgBF,eAAAA,CAC3BX,gBAAAA,CAAiBG,SAAAA,EACjBS,qBACF;AACO,MAAME,cAAAA,GAAiBH,eAAAA,CAC5BX,gBAAAA,CAAiBI,UAAAA,EACjBQ,qBACF;AAEO,MAAMG,cAAAA,GAAiBJ,eAAAA,CAC5BX,gBAAAA,CAAiBK,UAAAA,EACjBO,qBACF;AAEO,MAAMI,aAAAA,GAAgBL,eAAAA,CAC3BX,gBAAAA,CAAiBM,SAAAA,EACjBM,qBACF;AAEO,MAAMK,WAAAA,GAAcN,eAAAA,CACzBX,gBAAAA,CAAiBO,OAAAA,EACjBW,wBAAAA,CAAyB,CAAC,aAAA,EAAe,QAAA,EAAU,aAAa,CAAC,CACnE;AAEO,MAAMC,iBAAAA,GAAoBR,eAAAA,CAC/BX,gBAAAA,CAAiBS,aAAAA,EACjBS,wBAAAA,CAAyB,CACvB,SAAA,EACA,gBAAA,EACA,eAAA,EACA,qBAAqB,CACtB,CACH;AAEAC,iBAAAA,CAAkBC,UAAAA,GAAa,mBAAA;;;;"}
1
+ {"version":3,"file":"configAtom.js","sources":["../../../src/core/state/configAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport { useAtomValue } from \"@/core/store\";\nimport type {\n WidgetElements,\n WidgetConfig,\n DevURLs,\n PartnerConfig,\n} from \"../types\";\nimport type { MarkRequired } from \"ts-essentials\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { emptyArray, emptyObject } from \"@/lib/constants\";\nimport { atomWithCompare } from \"@/lib/utils/atomWithCompare\";\nimport { constructPropertiesEqual, unorderedShallowEqual } from \"@/lib/utils\";\nimport { type TradeMode } from \"./tradeModeAtom\";\nimport { getDefaultTheme } from \"@/lib/utils/theme\";\n\nexport type PrimitiveConfig = Pick<\n WidgetConfig,\n | \"theme\"\n | \"enableDelta\"\n | \"enableCrossChain\"\n | \"privyAppId\"\n | \"privyClientId\"\n | \"debug\"\n | \"widgetMode\"\n | \"ignoreBadUsdPrice\"\n>;\n\nexport type IterableConfig = Pick<\n WidgetConfig,\n | \"srcChains\"\n | \"destChains\"\n | \"tokenLists\"\n | \"tradeModes\"\n | \"excludeUI\"\n | \"devURLs\"\n | \"partnerConfig\"\n>;\n\ntype PrimitiveConfigState = MarkRequired<\n PrimitiveConfig,\n | \"theme\"\n | \"enableDelta\"\n | \"enableCrossChain\"\n | \"privyAppId\"\n | \"privyClientId\"\n | \"debug\"\n | \"widgetMode\"\n | \"ignoreBadUsdPrice\"\n>;\n\nexport const defaultWidgetConfig = {\n theme: getDefaultTheme(),\n enableDelta: true,\n enableCrossChain: true,\n privyAppId: import.meta.env.VITE_PRIVY_APP_ID,\n privyClientId: import.meta.env.VITE_PRIVY_CLIENT_ID,\n debug: false,\n widgetMode: \"standalone\",\n ignoreBadUsdPrice: true,\n} as const satisfies PrimitiveConfig;\n\nexport const widgetConfigAtom = atom<PrimitiveConfigState>(defaultWidgetConfig);\n\nexport const useWidgetConfig = () => {\n return useAtomValue(widgetConfigAtom);\n};\n\nexport const defaultSubConfig = {\n tokenLists: emptyArray,\n srcChains: emptyArray,\n destChains: emptyArray,\n tradeModes: emptyArray,\n excludeUI: emptyArray,\n devURLs: emptyObject,\n partnerConfig: emptyObject,\n} as const satisfies IterableConfig;\n\n// independent atoms for each iterable config property\n// with comparison to avoid unnecessary re-renders\nexport const tokenListsAtom = atomWithCompare<string[]>(\n defaultSubConfig.tokenLists,\n unorderedShallowEqual\n);\nexport const srcChainsAtom = atomWithCompare<SupportedChainId[]>(\n defaultSubConfig.srcChains,\n unorderedShallowEqual\n);\nexport const destChainsAtom = atomWithCompare<SupportedChainId[]>(\n defaultSubConfig.destChains,\n unorderedShallowEqual\n);\n\nexport const tradeModesAtom = atomWithCompare<TradeMode[]>(\n defaultSubConfig.tradeModes,\n unorderedShallowEqual\n);\n\nexport const excludeUIAtom = atomWithCompare<WidgetElements[]>(\n defaultSubConfig.excludeUI,\n unorderedShallowEqual\n);\n\nexport const devURLsAtom = atomWithCompare<DevURLs>(\n defaultSubConfig.devURLs,\n // known properties only comparison\n constructPropertiesEqual([\"apiProxyURL\", \"apiURL\", \"explorerURL\"])\n);\n\nexport const partnerConfigAtom = atomWithCompare<PartnerConfig>(\n defaultSubConfig.partnerConfig,\n constructPropertiesEqual([\n \"partner\",\n \"partnerAddress\",\n \"partnerFeeBps\",\n \"partnerTakesSurplus\",\n ])\n);\n\npartnerConfigAtom.debugLabel = \"partnerConfigAtom\";\n"],"names":["defaultWidgetConfig","theme","getDefaultTheme","enableDelta","enableCrossChain","privyAppId","import","privyClientId","debug","widgetMode","ignoreBadUsdPrice","widgetConfigAtom","atom","useWidgetConfig","useAtomValue","defaultSubConfig","tokenLists","emptyArray","srcChains","destChains","tradeModes","excludeUI","devURLs","emptyObject","partnerConfig","tokenListsAtom","atomWithCompare","unorderedShallowEqual","srcChainsAtom","destChainsAtom","tradeModesAtom","excludeUIAtom","devURLsAtom","constructPropertiesEqual","partnerConfigAtom","debugLabel"],"mappings":";;;;;;;AAmDO,MAAMA,mBAAAA,GAAsB;AAAA,EACjCC,OAAOC,eAAAA,EAAgB;AAAA,EACvBC,WAAAA,EAAa,IAAA;AAAA,EACbC,gBAAAA,EAAkB,IAAA;AAAA,EAClBC,UAAAA,EAAYC,2BAAAA;AAAAA,EACZC,aAAAA,EAAeD,sDAAAA;AAAAA,EACfE,KAAAA,EAAO,KAAA;AAAA,EACPC,UAAAA,EAAY,YAAA;AAAA,EACZC,iBAAAA,EAAmB;AACrB;AAEO,MAAMC,gBAAAA,GAAmBC,KAA2BZ,mBAAmB;AAEvE,MAAMa,kBAAkBA,MAAA;AAAA,EAAA,OACtBC,aAAaH,gBAAgB,CAAA;AAAC;AAGhC,MAAMI,gBAAAA,GAAmB;AAAA,EAC9BC,UAAAA,EAAYC,UAAAA;AAAAA,EACZC,SAAAA,EAAWD,UAAAA;AAAAA,EACXE,UAAAA,EAAYF,UAAAA;AAAAA,EACZG,UAAAA,EAAYH,UAAAA;AAAAA,EACZI,SAAAA,EAAWJ,UAAAA;AAAAA,EACXK,OAAAA,EAASC,WAAAA;AAAAA,EACTC,aAAAA,EAAeD;AACjB;AAIO,MAAME,cAAAA,GAAiBC,eAAAA,CAC5BX,gBAAAA,CAAiBC,UAAAA,EACjBW,qBACF;AACO,MAAMC,aAAAA,GAAgBF,eAAAA,CAC3BX,gBAAAA,CAAiBG,SAAAA,EACjBS,qBACF;AACO,MAAME,cAAAA,GAAiBH,eAAAA,CAC5BX,gBAAAA,CAAiBI,UAAAA,EACjBQ,qBACF;AAEO,MAAMG,cAAAA,GAAiBJ,eAAAA,CAC5BX,gBAAAA,CAAiBK,UAAAA,EACjBO,qBACF;AAEO,MAAMI,aAAAA,GAAgBL,eAAAA,CAC3BX,gBAAAA,CAAiBM,SAAAA,EACjBM,qBACF;AAEO,MAAMK,WAAAA,GAAcN,eAAAA;AAAAA,EACzBX,gBAAAA,CAAiBO,OAAAA;AAAAA;AAAAA,EAEjBW,wBAAAA,CAAyB,CAAC,aAAA,EAAe,QAAA,EAAU,aAAa,CAAC;AACnE;AAEO,MAAMC,iBAAAA,GAAoBR,eAAAA,CAC/BX,gBAAAA,CAAiBS,aAAAA,EACjBS,wBAAAA,CAAyB,CACvB,SAAA,EACA,gBAAA,EACA,eAAA,EACA,qBAAqB,CACtB,CACH;AAEAC,iBAAAA,CAAkBC,UAAAA,GAAa,mBAAA;;;;"}
@@ -1,3 +1,4 @@
1
+ import { EIP1193Provider } from 'viem';
1
2
  export declare const externalProviderAtom: import('jotai').PrimitiveAtom<{
2
3
  on: <event extends keyof import('viem').EIP1193EventMap>(event: event, listener: import('viem').EIP1193EventMap[event]) => void;
3
4
  removeListener: <event extends keyof import('viem').EIP1193EventMap>(event: event, listener: import('viem').EIP1193EventMap[event]) => void;
@@ -20,4 +21,9 @@ export declare const useExternalProvider: () => {
20
21
  request: import('viem').EIP1193RequestFn<import('viem').EIP1474Methods>;
21
22
  } | null;
22
23
  export declare const useIsDappMode: () => boolean;
24
+ export declare function isSafeIframeProvider(provider: EIP1193Provider & {
25
+ safe?: {
26
+ safeAddress: string;
27
+ };
28
+ }): boolean;
23
29
  //# sourceMappingURL=externalProviderAtom.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"externalProviderAtom.d.ts","sourceRoot":"","sources":["../../../src/core/state/externalProviderAtom.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,oBAAoB;;;;;;;;;;CAAqC,CAAC;AAEvE,eAAO,MAAM,yBAAyB;;;;SAQpC,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;QAE/B,CAAC;AAEF,eAAO,MAAM,aAAa,eAEzB,CAAC"}
1
+ {"version":3,"file":"externalProviderAtom.d.ts","sourceRoot":"","sources":["../../../src/core/state/externalProviderAtom.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAG5C,eAAO,MAAM,oBAAoB;;;;;;;;;;CAAqC,CAAC;AAEvE,eAAO,MAAM,yBAAyB;;;;SAQpC,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;QAE/B,CAAC;AAEF,eAAO,MAAM,aAAa,eAEzB,CAAC;AAEF,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,eAAe,GAAG;IAAE,IAAI,CAAC,EAAE;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GAC7D,OAAO,CAET"}
@@ -16,6 +16,9 @@ const useExternalProvider = () => {
16
16
  const useIsDappMode = () => {
17
17
  return useAtomValue(widgetConfigAtom).widgetMode === "dapp";
18
18
  };
19
+ function isSafeIframeProvider(provider) {
20
+ return !!provider.safe?.safeAddress;
21
+ }
19
22
 
20
- export { externalProviderAtom, externalProviderToUseAtom, useExternalProvider, useIsDappMode };
23
+ export { externalProviderAtom, externalProviderToUseAtom, isSafeIframeProvider, useExternalProvider, useIsDappMode };
21
24
  //# sourceMappingURL=externalProviderAtom.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"externalProviderAtom.js","sources":["../../../src/core/state/externalProviderAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport { useAtomValue } from \"@/core/store\";\nimport type { EIP1193Provider } from \"viem\";\nimport { widgetConfigAtom } from \"./configAtom\";\n\nexport const externalProviderAtom = atom<EIP1193Provider | null>(null);\n\nexport const externalProviderToUseAtom = atom<EIP1193Provider | null>((get) => {\n const widgetConfig = get(widgetConfigAtom);\n\n if (widgetConfig.widgetMode !== \"dapp\") {\n return null;\n }\n\n return get(externalProviderAtom);\n});\n\nexport const useExternalProvider = () => {\n return useAtomValue(externalProviderToUseAtom);\n};\n\nexport const useIsDappMode = () => {\n return useAtomValue(widgetConfigAtom).widgetMode === \"dapp\";\n};\n"],"names":["externalProviderAtom","atom","externalProviderToUseAtom","get","widgetConfig","widgetConfigAtom","widgetMode","useExternalProvider","useAtomValue","useIsDappMode"],"mappings":";;;;AAKO,MAAMA,oBAAAA,GAAuBC,KAA6B,IAAI;AAE9D,MAAMC,yBAAAA,GAA4BD,KAA8BE,CAAAA,GAAAA,KAAQ;AAC7E,EAAA,MAAMC,YAAAA,GAAeD,IAAIE,gBAAgB,CAAA;AAEzC,EAAA,IAAID,YAAAA,CAAaE,eAAe,MAAA,EAAQ;AACtC,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,OAAOH,IAAIH,oBAAoB,CAAA;AACjC,CAAC;AAEM,MAAMO,sBAAsBA,MAAA;AAAA,EAAA,OAC1BC,aAAaN,yBAAyB,CAAA;AAAC;AAGzC,MAAMO,gBAAgBA,MAAA;AAAA,EAAA,OACpBD,YAAAA,CAAaH,gBAAgB,CAAA,CAACC,UAAAA,KAAgB,MAAA;AAAM;;;;"}
1
+ {"version":3,"file":"externalProviderAtom.js","sources":["../../../src/core/state/externalProviderAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport { useAtomValue } from \"@/core/store\";\nimport type { EIP1193Provider } from \"viem\";\nimport { widgetConfigAtom } from \"./configAtom\";\n\nexport const externalProviderAtom = atom<EIP1193Provider | null>(null);\n\nexport const externalProviderToUseAtom = atom<EIP1193Provider | null>((get) => {\n const widgetConfig = get(widgetConfigAtom);\n\n if (widgetConfig.widgetMode !== \"dapp\") {\n return null;\n }\n\n return get(externalProviderAtom);\n});\n\nexport const useExternalProvider = () => {\n return useAtomValue(externalProviderToUseAtom);\n};\n\nexport const useIsDappMode = () => {\n return useAtomValue(widgetConfigAtom).widgetMode === \"dapp\";\n};\n\nexport function isSafeIframeProvider(\n provider: EIP1193Provider & { safe?: { safeAddress: string } }\n): boolean {\n return !!provider.safe?.safeAddress;\n}\n"],"names":["externalProviderAtom","atom","externalProviderToUseAtom","get","widgetConfig","widgetConfigAtom","widgetMode","useExternalProvider","useAtomValue","useIsDappMode","isSafeIframeProvider","provider","safe","safeAddress"],"mappings":";;;;AAKO,MAAMA,oBAAAA,GAAuBC,KAA6B,IAAI;AAE9D,MAAMC,yBAAAA,GAA4BD,KAA8BE,CAAAA,GAAAA,KAAQ;AAC7E,EAAA,MAAMC,YAAAA,GAAeD,IAAIE,gBAAgB,CAAA;AAEzC,EAAA,IAAID,YAAAA,CAAaE,eAAe,MAAA,EAAQ;AACtC,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,OAAOH,IAAIH,oBAAoB,CAAA;AACjC,CAAC;AAEM,MAAMO,sBAAsBA,MAAA;AAAA,EAAA,OAC1BC,aAAaN,yBAAyB,CAAA;AAAC;AAGzC,MAAMO,gBAAgBA,MAAA;AAAA,EAAA,OACpBD,YAAAA,CAAaH,gBAAgB,CAAA,CAACC,UAAAA,KAAgB,MAAA;AAAM;AAGtD,SAASI,qBACdC,QAAAA,EACS;AACT,EAAA,OAAO,CAAC,CAACA,QAAAA,CAASC,IAAAA,EAAMC,WAAAA;AAC1B;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"swap.d.ts","sourceRoot":"","sources":["../../../src/events/getters/swap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAarD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAwBxD,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAcvD;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAqB3D"}
1
+ {"version":3,"file":"swap.d.ts","sourceRoot":"","sources":["../../../src/events/getters/swap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAarD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAwBxD,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAevD;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAqB3D"}
@@ -31,7 +31,8 @@ function getSwapState(get) {
31
31
  ...baseState,
32
32
  sendAmount,
33
33
  receiveAmount,
34
- connectedAccount: account
34
+ connectedAccount: account,
35
+ receiverAddress: baseState.receiverAddress ?? account
35
36
  };
36
37
  }
37
38
  function getSwapFormInput(get) {
@@ -1 +1 @@
1
- {"version":3,"file":"swap.js","sources":["../../../src/events/getters/swap.ts"],"sourcesContent":["import type { SwapFormState } from \"../types/common\";\nimport {\n swapTokenFromAtom,\n swapTokenToAtom,\n} from \"@/core/inputs/state/selectedTokenAtom\";\nimport {\n payInputAmountAtom,\n receiveInputAmountAtom,\n} from \"@/core/inputs/state/inputAmountAtom\";\nimport { swapSideAtom } from \"@/components/widget/SwapModeSwitcher/state/swapSideAtom\";\nimport { getAccount } from \"@wagmi/core\";\nimport { wagmiConfig } from \"@/lib/web3/wagmi/config\";\nimport { receiverAddressAtom } from \"@/components/widget/ReceiverAddress/state/receiverAddressAtom\";\nimport type { Getter } from \"jotai\";\nimport type { SwapFormInput } from \"../types/formInput\";\nimport { sanitizeTradeFlowToken } from \"@/lib/utils/tradeFlow\";\n\nfunction getBaseParams(get: Getter) {\n const tokenFrom = get(swapTokenFromAtom);\n const tokenTo = get(swapTokenToAtom);\n\n const srcChainId = tokenFrom.network;\n const destChainId = tokenTo?.network;\n\n const side = get(swapSideAtom);\n\n const receiverAddress = get(receiverAddressAtom);\n\n return {\n tokenFrom: sanitizeTradeFlowToken(tokenFrom),\n tokenTo: tokenTo ? sanitizeTradeFlowToken(tokenTo) : undefined,\n srcChainId,\n destChainId,\n side,\n receiverAddress,\n };\n}\n\nexport function getSwapState(get: Getter): SwapFormState {\n const baseState = getBaseParams(get);\n\n const sendAmount = get(payInputAmountAtom);\n const receiveAmount = get(receiveInputAmountAtom);\n\n const account = getAccount(wagmiConfig).address;\n\n return {\n ...baseState,\n sendAmount,\n receiveAmount,\n connectedAccount: account,\n };\n}\n\nexport function getSwapFormInput(get: Getter): SwapFormInput {\n const baseState = getBaseParams(get);\n const side = baseState.side;\n\n if (side === \"SELL\") {\n const sendAmount = get(payInputAmountAtom);\n return {\n ...baseState,\n side,\n sendAmount,\n form: \"swap\",\n };\n }\n\n const receiveAmount = get(receiveInputAmountAtom);\n return {\n ...baseState,\n side,\n receiveAmount,\n form: \"swap\",\n };\n}\n"],"names":["getBaseParams","get","tokenFrom","swapTokenFromAtom","tokenTo","swapTokenToAtom","srcChainId","network","destChainId","side","swapSideAtom","receiverAddress","receiverAddressAtom","sanitizeTradeFlowToken","undefined","getSwapState","baseState","sendAmount","payInputAmountAtom","receiveAmount","receiveInputAmountAtom","account","getAccount","wagmiConfig","address","connectedAccount","getSwapFormInput","form"],"mappings":";;;;;;;;AAiBA,SAASA,cAAcC,GAAAA,EAAa;AAClC,EAAA,MAAMC,SAAAA,GAAYD,IAAIE,iBAAiB,CAAA;AACvC,EAAA,MAAMC,OAAAA,GAAUH,IAAII,eAAe,CAAA;AAEnC,EAAA,MAAMC,aAAaJ,SAAAA,CAAUK,OAAAA;AAC7B,EAAA,MAAMC,cAAcJ,OAAAA,EAASG,OAAAA;AAE7B,EAAA,MAAME,IAAAA,GAAOR,IAAIS,YAAY,CAAA;AAE7B,EAAA,MAAMC,eAAAA,GAAkBV,IAAIW,mBAAmB,CAAA;AAE/C,EAAA,OAAO;AAAA,IACLV,SAAAA,EAAWW,uBAAuBX,SAAS,CAAA;AAAA,IAC3CE,OAAAA,EAASA,OAAAA,GAAUS,sBAAAA,CAAuBT,OAAO,CAAA,GAAIU,MAAAA;AAAAA,IACrDR,UAAAA;AAAAA,IACAE,WAAAA;AAAAA,IACAC,IAAAA;AAAAA,IACAE;AAAAA,GACF;AACF;AAEO,SAASI,aAAad,GAAAA,EAA4B;AACvD,EAAA,MAAMe,SAAAA,GAAYhB,cAAcC,GAAG,CAAA;AAEnC,EAAA,MAAMgB,UAAAA,GAAahB,IAAIiB,kBAAkB,CAAA;AACzC,EAAA,MAAMC,aAAAA,GAAgBlB,IAAImB,sBAAsB,CAAA;AAEhD,EAAA,MAAMC,OAAAA,GAAUC,UAAAA,CAAWC,WAAW,CAAA,CAAEC,OAAAA;AAExC,EAAA,OAAO;AAAA,IACL,GAAGR,SAAAA;AAAAA,IACHC,UAAAA;AAAAA,IACAE,aAAAA;AAAAA,IACAM,gBAAAA,EAAkBJ;AAAAA,GACpB;AACF;AAEO,SAASK,iBAAiBzB,GAAAA,EAA4B;AAC3D,EAAA,MAAMe,SAAAA,GAAYhB,cAAcC,GAAG,CAAA;AACnC,EAAA,MAAMQ,OAAOO,SAAAA,CAAUP,IAAAA;AAEvB,EAAA,IAAIA,SAAS,MAAA,EAAQ;AACnB,IAAA,MAAMQ,UAAAA,GAAahB,IAAIiB,kBAAkB,CAAA;AACzC,IAAA,OAAO;AAAA,MACL,GAAGF,SAAAA;AAAAA,MACHP,IAAAA;AAAAA,MACAQ,UAAAA;AAAAA,MACAU,IAAAA,EAAM;AAAA,KACR;AAAA,EACF;AAEA,EAAA,MAAMR,aAAAA,GAAgBlB,IAAImB,sBAAsB,CAAA;AAChD,EAAA,OAAO;AAAA,IACL,GAAGJ,SAAAA;AAAAA,IACHP,IAAAA;AAAAA,IACAU,aAAAA;AAAAA,IACAQ,IAAAA,EAAM;AAAA,GACR;AACF;;;;"}
1
+ {"version":3,"file":"swap.js","sources":["../../../src/events/getters/swap.ts"],"sourcesContent":["import type { SwapFormState } from \"../types/common\";\nimport {\n swapTokenFromAtom,\n swapTokenToAtom,\n} from \"@/core/inputs/state/selectedTokenAtom\";\nimport {\n payInputAmountAtom,\n receiveInputAmountAtom,\n} from \"@/core/inputs/state/inputAmountAtom\";\nimport { swapSideAtom } from \"@/components/widget/SwapModeSwitcher/state/swapSideAtom\";\nimport { getAccount } from \"@wagmi/core\";\nimport { wagmiConfig } from \"@/lib/web3/wagmi/config\";\nimport { receiverAddressAtom } from \"@/components/widget/ReceiverAddress/state/receiverAddressAtom\";\nimport type { Getter } from \"jotai\";\nimport type { SwapFormInput } from \"../types/formInput\";\nimport { sanitizeTradeFlowToken } from \"@/lib/utils/tradeFlow\";\n\nfunction getBaseParams(get: Getter) {\n const tokenFrom = get(swapTokenFromAtom);\n const tokenTo = get(swapTokenToAtom);\n\n const srcChainId = tokenFrom.network;\n const destChainId = tokenTo?.network;\n\n const side = get(swapSideAtom);\n\n const receiverAddress = get(receiverAddressAtom);\n\n return {\n tokenFrom: sanitizeTradeFlowToken(tokenFrom),\n tokenTo: tokenTo ? sanitizeTradeFlowToken(tokenTo) : undefined,\n srcChainId,\n destChainId,\n side,\n receiverAddress,\n };\n}\n\nexport function getSwapState(get: Getter): SwapFormState {\n const baseState = getBaseParams(get);\n\n const sendAmount = get(payInputAmountAtom);\n const receiveAmount = get(receiveInputAmountAtom);\n\n const account = getAccount(wagmiConfig).address;\n\n return {\n ...baseState,\n sendAmount,\n receiveAmount,\n connectedAccount: account,\n receiverAddress: baseState.receiverAddress ?? account,\n };\n}\n\nexport function getSwapFormInput(get: Getter): SwapFormInput {\n const baseState = getBaseParams(get);\n const side = baseState.side;\n\n if (side === \"SELL\") {\n const sendAmount = get(payInputAmountAtom);\n return {\n ...baseState,\n side,\n sendAmount,\n form: \"swap\",\n };\n }\n\n const receiveAmount = get(receiveInputAmountAtom);\n return {\n ...baseState,\n side,\n receiveAmount,\n form: \"swap\",\n };\n}\n"],"names":["getBaseParams","get","tokenFrom","swapTokenFromAtom","tokenTo","swapTokenToAtom","srcChainId","network","destChainId","side","swapSideAtom","receiverAddress","receiverAddressAtom","sanitizeTradeFlowToken","undefined","getSwapState","baseState","sendAmount","payInputAmountAtom","receiveAmount","receiveInputAmountAtom","account","getAccount","wagmiConfig","address","connectedAccount","getSwapFormInput","form"],"mappings":";;;;;;;;AAiBA,SAASA,cAAcC,GAAAA,EAAa;AAClC,EAAA,MAAMC,SAAAA,GAAYD,IAAIE,iBAAiB,CAAA;AACvC,EAAA,MAAMC,OAAAA,GAAUH,IAAII,eAAe,CAAA;AAEnC,EAAA,MAAMC,aAAaJ,SAAAA,CAAUK,OAAAA;AAC7B,EAAA,MAAMC,cAAcJ,OAAAA,EAASG,OAAAA;AAE7B,EAAA,MAAME,IAAAA,GAAOR,IAAIS,YAAY,CAAA;AAE7B,EAAA,MAAMC,eAAAA,GAAkBV,IAAIW,mBAAmB,CAAA;AAE/C,EAAA,OAAO;AAAA,IACLV,SAAAA,EAAWW,uBAAuBX,SAAS,CAAA;AAAA,IAC3CE,OAAAA,EAASA,OAAAA,GAAUS,sBAAAA,CAAuBT,OAAO,CAAA,GAAIU,MAAAA;AAAAA,IACrDR,UAAAA;AAAAA,IACAE,WAAAA;AAAAA,IACAC,IAAAA;AAAAA,IACAE;AAAAA,GACF;AACF;AAEO,SAASI,aAAad,GAAAA,EAA4B;AACvD,EAAA,MAAMe,SAAAA,GAAYhB,cAAcC,GAAG,CAAA;AAEnC,EAAA,MAAMgB,UAAAA,GAAahB,IAAIiB,kBAAkB,CAAA;AACzC,EAAA,MAAMC,aAAAA,GAAgBlB,IAAImB,sBAAsB,CAAA;AAEhD,EAAA,MAAMC,OAAAA,GAAUC,UAAAA,CAAWC,WAAW,CAAA,CAAEC,OAAAA;AAExC,EAAA,OAAO;AAAA,IACL,GAAGR,SAAAA;AAAAA,IACHC,UAAAA;AAAAA,IACAE,aAAAA;AAAAA,IACAM,gBAAAA,EAAkBJ,OAAAA;AAAAA,IAClBV,eAAAA,EAAiBK,UAAUL,eAAAA,IAAmBU;AAAAA,GAChD;AACF;AAEO,SAASK,iBAAiBzB,GAAAA,EAA4B;AAC3D,EAAA,MAAMe,SAAAA,GAAYhB,cAAcC,GAAG,CAAA;AACnC,EAAA,MAAMQ,OAAOO,SAAAA,CAAUP,IAAAA;AAEvB,EAAA,IAAIA,SAAS,MAAA,EAAQ;AACnB,IAAA,MAAMQ,UAAAA,GAAahB,IAAIiB,kBAAkB,CAAA;AACzC,IAAA,OAAO;AAAA,MACL,GAAGF,SAAAA;AAAAA,MACHP,IAAAA;AAAAA,MACAQ,UAAAA;AAAAA,MACAU,IAAAA,EAAM;AAAA,KACR;AAAA,EACF;AAEA,EAAA,MAAMR,aAAAA,GAAgBlB,IAAImB,sBAAsB,CAAA;AAChD,EAAA,OAAO;AAAA,IACL,GAAGJ,SAAAA;AAAAA,IACHP,IAAAA;AAAAA,IACAU,aAAAA;AAAAA,IACAQ,IAAAA,EAAM;AAAA,GACR;AACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"widgetState.d.ts","sourceRoot":"","sources":["../../../src/events/getters/widgetState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAOnD,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAavD"}
1
+ {"version":3,"file":"widgetState.d.ts","sourceRoot":"","sources":["../../../src/events/getters/widgetState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,KAAK,EAAgB,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAuBjE,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAcvD"}