@velora-dex/widget 0.3.10 → 0.3.11-dev.2

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 (119) hide show
  1. package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.d.ts.map +1 -1
  2. package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.js +72 -41
  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/core/state/configAtom.d.ts.map +1 -1
  26. package/dist/core/state/configAtom.js +6 -4
  27. package/dist/core/state/configAtom.js.map +1 -1
  28. package/dist/core/state/externalProviderAtom.d.ts +9 -0
  29. package/dist/core/state/externalProviderAtom.d.ts.map +1 -1
  30. package/dist/core/state/externalProviderAtom.js +28 -1
  31. package/dist/core/state/externalProviderAtom.js.map +1 -1
  32. package/dist/events/getters/swap.d.ts.map +1 -1
  33. package/dist/events/getters/swap.js +2 -1
  34. package/dist/events/getters/swap.js.map +1 -1
  35. package/dist/events/hooks/useOnWalletConnect.d.ts.map +1 -1
  36. package/dist/events/hooks/useOnWalletConnect.js +6 -1
  37. package/dist/events/hooks/useOnWalletConnect.js.map +1 -1
  38. package/dist/events/types/connectWallet.d.ts +3 -3
  39. package/dist/events/types/connectWallet.d.ts.map +1 -1
  40. package/dist/hooks/batch/useAwaitCalls.d.ts.map +1 -1
  41. package/dist/hooks/batch/useAwaitCalls.js.map +1 -1
  42. package/dist/hooks/connectors/useIsConnectedSafe.d.ts.map +1 -1
  43. package/dist/hooks/connectors/useIsConnectedSafe.js +3 -1
  44. package/dist/hooks/connectors/useIsConnectedSafe.js.map +1 -1
  45. package/dist/hooks/connectors/useIsGnosisSafeConnector.d.ts +4 -1
  46. package/dist/hooks/connectors/useIsGnosisSafeConnector.d.ts.map +1 -1
  47. package/dist/hooks/connectors/useIsGnosisSafeConnector.js +3 -4
  48. package/dist/hooks/connectors/useIsGnosisSafeConnector.js.map +1 -1
  49. package/dist/hooks/connectors/useIsSafeThroughWalletConnect.d.ts +1 -1
  50. package/dist/hooks/connectors/useIsSafeThroughWalletConnect.d.ts.map +1 -1
  51. package/dist/hooks/connectors/useIsSafeThroughWalletConnect.js +16 -2
  52. package/dist/hooks/connectors/useIsSafeThroughWalletConnect.js.map +1 -1
  53. package/dist/hooks/otc/mutations/useFillOrder.js +3 -2
  54. package/dist/hooks/otc/mutations/useFillOrder.js.map +1 -1
  55. package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.js +1 -0
  56. package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.js.map +1 -1
  57. package/dist/hooks/otc/tradeFlow/useFillOtcOrderStep.d.ts.map +1 -1
  58. package/dist/hooks/otc/tradeFlow/useFillOtcOrderStep.js +7 -4
  59. package/dist/hooks/otc/tradeFlow/useFillOtcOrderStep.js.map +1 -1
  60. package/dist/hooks/swap/prices/usePricesParams.js +0 -5
  61. package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
  62. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.d.ts.map +1 -1
  63. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js +2 -1
  64. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js.map +1 -1
  65. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
  66. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
  67. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.d.ts.map +1 -1
  68. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js +7 -4
  69. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js.map +1 -1
  70. package/dist/hooks/txs/queries/useAwaitTx.d.ts.map +1 -1
  71. package/dist/hooks/txs/queries/useAwaitTx.js +71 -19
  72. package/dist/hooks/txs/queries/useAwaitTx.js.map +1 -1
  73. package/dist/lib/utils/index.d.ts +1 -0
  74. package/dist/lib/utils/index.d.ts.map +1 -1
  75. package/dist/lib/utils/index.js +6 -1
  76. package/dist/lib/utils/index.js.map +1 -1
  77. package/dist/lib/utils/toasts.d.ts +1 -1
  78. package/dist/lib/utils/toasts.d.ts.map +1 -1
  79. package/dist/lib/utils/toasts.js +5 -1
  80. package/dist/lib/utils/toasts.js.map +1 -1
  81. package/dist/lib/web3/privy/config.js +1 -1
  82. package/dist/lib/web3/wagmi/config.js +1 -1
  83. package/dist/lib/web3/wagmi/external.d.ts +10 -3
  84. package/dist/lib/web3/wagmi/external.d.ts.map +1 -1
  85. package/dist/lib/web3/wagmi/external.js +17 -2
  86. package/dist/lib/web3/wagmi/external.js.map +1 -1
  87. package/dist/lib/web3/wagmi/switchChain.d.ts.map +1 -1
  88. package/dist/lib/web3/wagmi/switchChain.js +5 -1
  89. package/dist/lib/web3/wagmi/switchChain.js.map +1 -1
  90. package/dist/styles.css +1 -1
  91. package/dist/transactions/hash.d.ts +7 -0
  92. package/dist/transactions/hash.d.ts.map +1 -0
  93. package/dist/transactions/hash.js +35 -0
  94. package/dist/transactions/hash.js.map +1 -0
  95. package/dist/transactions/queries/ensureCallsStatus.d.ts.map +1 -1
  96. package/dist/transactions/queries/ensureCallsStatus.js +11 -3
  97. package/dist/transactions/queries/ensureCallsStatus.js.map +1 -1
  98. package/dist/transactions/queries/ensureTxReceipt.d.ts.map +1 -1
  99. package/dist/transactions/queries/ensureTxReceipt.js +7 -4
  100. package/dist/transactions/queries/ensureTxReceipt.js.map +1 -1
  101. package/dist/transactions/state/effects/finalize.d.ts +7 -1
  102. package/dist/transactions/state/effects/finalize.d.ts.map +1 -1
  103. package/dist/transactions/state/effects/finalize.js +41 -7
  104. package/dist/transactions/state/effects/finalize.js.map +1 -1
  105. package/dist/transactions/state/hooks/useActivateEffects.d.ts.map +1 -1
  106. package/dist/transactions/state/hooks/useActivateEffects.js +4 -2
  107. package/dist/transactions/state/hooks/useActivateEffects.js.map +1 -1
  108. package/dist/transactions/state/transactionsActionAtom.d.ts.map +1 -1
  109. package/dist/transactions/state/transactionsActionAtom.js +55 -15
  110. package/dist/transactions/state/transactionsActionAtom.js.map +1 -1
  111. package/dist/transactions/state/transactionsAtom.js +2 -2
  112. package/dist/transactions/state/transactionsAtom.js.map +1 -1
  113. package/dist/transactions/types.d.ts +11 -1
  114. package/dist/transactions/types.d.ts.map +1 -1
  115. package/dist/transactions/utils.d.ts +2 -1
  116. package/dist/transactions/utils.d.ts.map +1 -1
  117. package/dist/transactions/utils.js +6 -1
  118. package/dist/transactions/utils.js.map +1 -1
  119. package/package.json +1 -1
@@ -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":"configAtom.d.ts","sourceRoot":"","sources":["../../../src/core/state/configAtom.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAMtE,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAGjD,MAAM,MAAM,eAAe,GAAG,IAAI,CAChC,YAAY,EACV,OAAO,GACP,aAAa,GACb,kBAAkB,GAClB,SAAS,GACT,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,CACZ,CAAC;AAcF,eAAO,MAAM,mBAAmB;;;;;;;;;CASI,CAAC;AAErC,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;CAAkD,CAAC;AAEhF,eAAO,MAAM,eAAe;;;;;;;;;;CAE3B,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;;;;;CAOM,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,wDAUvB,CAAC"}
1
+ {"version":3,"file":"configAtom.d.ts","sourceRoot":"","sources":["../../../src/core/state/configAtom.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAMtE,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAGjD,MAAM,MAAM,eAAe,GAAG,IAAI,CAChC,YAAY,EACV,OAAO,GACP,aAAa,GACb,kBAAkB,GAClB,SAAS,GACT,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,CACZ,CAAC;AAcF,eAAO,MAAM,mBAAmB;;;;;;;;;CASI,CAAC;AAErC,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;CAAkD,CAAC;AAEhF,eAAO,MAAM,eAAe;;;;;;;;;;CAE3B,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;;;;;CAOM,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"}
@@ -2,7 +2,7 @@ import { atom } from 'jotai';
2
2
  import { useAtomValue } from '../store.js';
3
3
  import { emptyArray, emptyObject } from '../../lib/constants/index.js';
4
4
  import { atomWithCompare } from '../../lib/utils/atomWithCompare.js';
5
- import { unorderedShallowEqual } from '../../lib/utils/index.js';
5
+ import { unorderedShallowEqual, constructPropertiesEqual } from '../../lib/utils/index.js';
6
6
  import { getDefaultTheme } from '../../lib/utils/theme.js';
7
7
 
8
8
  const defaultWidgetConfig = {
@@ -32,9 +32,11 @@ const srcChainsAtom = atomWithCompare(defaultSubConfig.srcChains, unorderedShall
32
32
  const destChainsAtom = atomWithCompare(defaultSubConfig.destChains, unorderedShallowEqual);
33
33
  const tradeModesAtom = atomWithCompare(defaultSubConfig.tradeModes, unorderedShallowEqual);
34
34
  const excludeUIAtom = atomWithCompare(defaultSubConfig.excludeUI, unorderedShallowEqual);
35
- const devURLsAtom = atomWithCompare(defaultSubConfig.devURLs, (a, b) => {
36
- return a?.apiProxyURL === b?.apiProxyURL && a?.apiURL === b?.apiURL && a?.explorerURL === b?.explorerURL;
37
- });
35
+ const devURLsAtom = atomWithCompare(
36
+ defaultSubConfig.devURLs,
37
+ // known properties only comparison
38
+ constructPropertiesEqual(["apiProxyURL", "apiURL", "explorerURL"])
39
+ );
38
40
 
39
41
  export { defaultSubConfig, defaultWidgetConfig, destChainsAtom, devURLsAtom, excludeUIAtom, srcChainsAtom, tokenListsAtom, tradeModesAtom, useWidgetConfig, widgetConfigAtom };
40
42
  //# sourceMappingURL=configAtom.js.map
@@ -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 { WidgetElements, WidgetConfig, DevURLs } 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 { 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 | \"partner\"\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>;\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} 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 (a, b) => {\n // known properties only comparison\n return (\n a?.apiProxyURL === b?.apiProxyURL &&\n a?.apiURL === b?.apiURL &&\n a?.explorerURL === b?.explorerURL\n );\n }\n);\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","tokenListsAtom","atomWithCompare","unorderedShallowEqual","srcChainsAtom","destChainsAtom","tradeModesAtom","excludeUIAtom","devURLsAtom","a","b","apiProxyURL","apiURL","explorerURL"],"mappings":";;;;;;;AA8CO,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;AACX;AAIO,MAAMC,cAAAA,GAAiBC,eAAAA,CAC5BV,gBAAAA,CAAiBC,UAAAA,EACjBU,qBACF;AACO,MAAMC,aAAAA,GAAgBF,eAAAA,CAC3BV,gBAAAA,CAAiBG,SAAAA,EACjBQ,qBACF;AACO,MAAME,cAAAA,GAAiBH,eAAAA,CAC5BV,gBAAAA,CAAiBI,UAAAA,EACjBO,qBACF;AAEO,MAAMG,cAAAA,GAAiBJ,eAAAA,CAC5BV,gBAAAA,CAAiBK,UAAAA,EACjBM,qBACF;AAEO,MAAMI,aAAAA,GAAgBL,eAAAA,CAC3BV,gBAAAA,CAAiBM,SAAAA,EACjBK,qBACF;AAEO,MAAMK,cAAcN,eAAAA,CACzBV,gBAAAA,CAAiBO,OAAAA,EACjB,CAACU,GAAGC,CAAAA,KAAM;AAER,EAAA,OACED,CAAAA,EAAGE,WAAAA,KAAgBD,CAAAA,EAAGC,WAAAA,IACtBF,CAAAA,EAAGG,WAAWF,CAAAA,EAAGE,MAAAA,IACjBH,CAAAA,EAAGI,WAAAA,KAAgBH,CAAAA,EAAGG,WAAAA;AAE1B,CACF;;;;"}
1
+ {"version":3,"file":"configAtom.js","sources":["../../../src/core/state/configAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport { useAtomValue } from \"@/core/store\";\nimport type { WidgetElements, WidgetConfig, DevURLs } 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 | \"partner\"\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>;\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} 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"],"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","tokenListsAtom","atomWithCompare","unorderedShallowEqual","srcChainsAtom","destChainsAtom","tradeModesAtom","excludeUIAtom","devURLsAtom","constructPropertiesEqual"],"mappings":";;;;;;;AA8CO,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;AACX;AAIO,MAAMC,cAAAA,GAAiBC,eAAAA,CAC5BV,gBAAAA,CAAiBC,UAAAA,EACjBU,qBACF;AACO,MAAMC,aAAAA,GAAgBF,eAAAA,CAC3BV,gBAAAA,CAAiBG,SAAAA,EACjBQ,qBACF;AACO,MAAME,cAAAA,GAAiBH,eAAAA,CAC5BV,gBAAAA,CAAiBI,UAAAA,EACjBO,qBACF;AAEO,MAAMG,cAAAA,GAAiBJ,eAAAA,CAC5BV,gBAAAA,CAAiBK,UAAAA,EACjBM,qBACF;AAEO,MAAMI,aAAAA,GAAgBL,eAAAA,CAC3BV,gBAAAA,CAAiBM,SAAAA,EACjBK,qBACF;AAEO,MAAMK,WAAAA,GAAcN,eAAAA;AAAAA,EACzBV,gBAAAA,CAAiBO,OAAAA;AAAAA;AAAAA,EAEjBU,wBAAAA,CAAyB,CAAC,aAAA,EAAe,QAAA,EAAU,aAAa,CAAC;AACnE;;;;"}
@@ -1,3 +1,5 @@
1
+ import { EIP1193Provider } from 'viem';
2
+ import { Connector } from 'wagmi';
1
3
  export declare const externalProviderAtom: import('jotai').PrimitiveAtom<{
2
4
  on: <event extends keyof import('viem').EIP1193EventMap>(event: event, listener: import('viem').EIP1193EventMap[event]) => void;
3
5
  removeListener: <event extends keyof import('viem').EIP1193EventMap>(event: event, listener: import('viem').EIP1193EventMap[event]) => void;
@@ -19,5 +21,12 @@ export declare const useExternalProvider: () => {
19
21
  removeListener: <event extends keyof import('viem').EIP1193EventMap>(event: event, listener: import('viem').EIP1193EventMap[event]) => void;
20
22
  request: import('viem').EIP1193RequestFn<import('viem').EIP1474Methods>;
21
23
  } | null;
24
+ export declare const useIsExternalProviderSafeIframe: () => boolean;
22
25
  export declare const useIsDappMode: () => boolean;
26
+ export declare function isSafeIframeProvider(provider: EIP1193Provider & {
27
+ safe?: {
28
+ safeAddress: string;
29
+ };
30
+ }): boolean;
31
+ export declare function isExternalConnectorWithSafeIframe(connector: Connector): Promise<boolean>;
23
32
  //# 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,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,eAAO,MAAM,oBAAoB;;;;;;;;;;CAAqC,CAAC;AAEvE,eAAO,MAAM,yBAAyB;;;;SAQpC,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;QAE/B,CAAC;AAEF,eAAO,MAAM,+BAA+B,eAO3C,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;AAED,wBAAsB,iCAAiC,CACrD,SAAS,EAAE,SAAS,GACnB,OAAO,CAAC,OAAO,CAAC,CAIlB"}
@@ -1,6 +1,8 @@
1
+ import { d as distExports } from '../../_virtual/index.js';
1
2
  import { atom } from 'jotai';
2
3
  import { useAtomValue } from '../store.js';
3
4
  import { widgetConfigAtom } from './configAtom.js';
5
+ import { isExternalConnector } from '../../components/web3/ConnectExternalProvider/utils.js';
4
6
 
5
7
  const externalProviderAtom = atom(null);
6
8
  const externalProviderToUseAtom = atom((get) => {
@@ -13,9 +15,34 @@ const externalProviderToUseAtom = atom((get) => {
13
15
  const useExternalProvider = () => {
14
16
  return useAtomValue(externalProviderToUseAtom);
15
17
  };
18
+ const useIsExternalProviderSafeIframe = () => {
19
+ const $ = distExports.c(2);
20
+ const externalProvider = useExternalProvider();
21
+ if (!externalProvider) {
22
+ return false;
23
+ }
24
+ let t0;
25
+ if ($[0] !== externalProvider) {
26
+ t0 = isSafeIframeProvider(externalProvider);
27
+ $[0] = externalProvider;
28
+ $[1] = t0;
29
+ } else {
30
+ t0 = $[1];
31
+ }
32
+ const isSafeIframe = t0;
33
+ return isSafeIframe;
34
+ };
16
35
  const useIsDappMode = () => {
17
36
  return useAtomValue(widgetConfigAtom).widgetMode === "dapp";
18
37
  };
38
+ function isSafeIframeProvider(provider) {
39
+ return !!provider.safe?.safeAddress;
40
+ }
41
+ async function isExternalConnectorWithSafeIframe(connector) {
42
+ if (!isExternalConnector(connector)) return false;
43
+ const provider = await connector.getProvider();
44
+ return isSafeIframeProvider(provider);
45
+ }
19
46
 
20
- export { externalProviderAtom, externalProviderToUseAtom, useExternalProvider, useIsDappMode };
47
+ export { externalProviderAtom, externalProviderToUseAtom, isExternalConnectorWithSafeIframe, isSafeIframeProvider, useExternalProvider, useIsDappMode, useIsExternalProviderSafeIframe };
21
48
  //# 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\";\nimport { isExternalConnector } from \"@/components/web3/ConnectExternalProvider/utils\";\nimport type { Connector } from \"wagmi\";\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 useIsExternalProviderSafeIframe = () => {\n const externalProvider = useExternalProvider();\n\n if (!externalProvider) return false;\n\n const isSafeIframe = isSafeIframeProvider(externalProvider);\n return isSafeIframe;\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\nexport async function isExternalConnectorWithSafeIframe(\n connector: Connector\n): Promise<boolean> {\n if (!isExternalConnector(connector)) return false;\n const provider = await connector.getProvider();\n return isSafeIframeProvider(provider as EIP1193Provider);\n}\n"],"names":["externalProviderAtom","atom","externalProviderToUseAtom","get","widgetConfig","widgetConfigAtom","widgetMode","useExternalProvider","useAtomValue","useIsExternalProviderSafeIframe","$","_c","externalProvider","t0","isSafeIframeProvider","isSafeIframe","useIsDappMode","provider","safe","safeAddress","isExternalConnectorWithSafeIframe","connector","isExternalConnector","getProvider"],"mappings":";;;;;;AAOO,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,kCAAkCA,MAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAC7C,EAAA,MAAAC,mBAAyBL,mBAAAA,EAAoB;AAE7C,EAAA,IAAI,CAACK,gBAAAA,EAAgB;AAAA,IAAA,OAAS,KAAA;AAAA,EAAK;AAAC,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAH,CAAAA,QAAAE,gBAAAA,EAAA;AAEfC,IAAAA,EAAAA,GAAAC,qBAAqBF,gBAAgB,CAAA;AAACF,IAAAA,CAAAA,MAAAE,gBAAAA;AAAAF,IAAAA,CAAAA,MAAAG,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAH,EAAA,CAAA,CAAA;AAAA,EAAA;AAA3D,EAAA,MAAAK,YAAAA,GAAqBF,EAAAA;AAAuC,EAAA,OACrDE,YAAAA;AAAY;AAGd,MAAMC,gBAAgBA,MAAA;AAAA,EAAA,OACpBR,YAAAA,CAAaH,gBAAgB,CAAA,CAACC,UAAAA,KAAgB,MAAA;AAAM;AAGtD,SAASQ,qBACdG,QAAAA,EACS;AACT,EAAA,OAAO,CAAC,CAACA,QAAAA,CAASC,IAAAA,EAAMC,WAAAA;AAC1B;AAEA,eAAsBC,kCACpBC,SAAAA,EACkB;AAClB,EAAA,IAAI,CAACC,mBAAAA,CAAoBD,SAAS,CAAA,EAAG,OAAO,KAAA;AAC5C,EAAA,MAAMJ,QAAAA,GAAW,MAAMI,SAAAA,CAAUE,WAAAA,EAAY;AAC7C,EAAA,OAAOT,qBAAqBG,QAA2B,CAAA;AACzD;;;;"}
@@ -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":"useOnWalletConnect.d.ts","sourceRoot":"","sources":["../../../src/events/hooks/useOnWalletConnect.ts"],"names":[],"mappings":"AAKA,wBAAgB,oBAAoB,SAiCnC"}
1
+ {"version":3,"file":"useOnWalletConnect.d.ts","sourceRoot":"","sources":["../../../src/events/hooks/useOnWalletConnect.ts"],"names":[],"mappings":"AAWA,wBAAgB,oBAAoB,SA6CnC"}
@@ -1,4 +1,5 @@
1
1
  import { d as distExports } from '../../_virtual/index.js';
2
+ import { isExternalConnector } from '../../components/web3/ConnectExternalProvider/utils.js';
2
3
  import { getWalletMetadata } from '../../components/web3/ConnectWallets/walletIcons.js';
3
4
  import { useWidgetEvents } from '../../core/state/widgetEventsAtom.js';
4
5
  import { useAccountEffect } from 'wagmi';
@@ -19,10 +20,14 @@ function useOnWalletConnected() {
19
20
  chainId,
20
21
  isReconnected
21
22
  } = t1;
23
+ if (!connector || !address || !chainId) {
24
+ return;
25
+ }
22
26
  const walletMetadata = await getWalletMetadata(connector);
23
27
  const provider = await connector.getProvider();
24
28
  const isEmbedded = connector.type === safe.type;
25
- const connectorAction = isReconnected ? "Eager" : isEmbedded ? "Embedded" : "Click";
29
+ const isExternal = isExternalConnector(connector);
30
+ const connectorAction = isReconnected ? "Eager" : isEmbedded ? "Embedded" : isExternal ? "External" : "Click";
26
31
  onConnectWallet?.({
27
32
  event: {
28
33
  name: "ConnectWallet:connect",
@@ -1 +1 @@
1
- {"version":3,"file":"useOnWalletConnect.js","sources":["../../../src/events/hooks/useOnWalletConnect.ts"],"sourcesContent":["import { getWalletMetadata } from \"@/components/web3/ConnectWallets/walletIcons\";\nimport { useWidgetEvents } from \"@/core/state/widgetEventsAtom\";\nimport { useAccountEffect } from \"wagmi\";\nimport { safe } from \"wagmi/connectors\";\n\nexport function useOnWalletConnected() {\n const { onConnectWallet } = useWidgetEvents();\n\n useAccountEffect({\n onConnect: async ({ address, connector, chainId, isReconnected }) => {\n const walletMetadata = await getWalletMetadata(connector);\n const provider = await connector.getProvider();\n\n const isEmbedded = connector.type === safe.type;\n\n const connectorAction = isReconnected\n ? \"Eager\"\n : isEmbedded\n ? \"Embedded\"\n : \"Click\";\n\n onConnectWallet?.({\n event: {\n name: \"ConnectWallet:connect\",\n params: {\n connectorType: connector.type,\n connectorName: connector.name,\n connectorAction,\n provider,\n account: address,\n chainId,\n walletName: walletMetadata.name,\n walletIcon: walletMetadata.icon,\n },\n },\n });\n },\n });\n}\n"],"names":["useOnWalletConnected","$","_c","onConnectWallet","useWidgetEvents","t0","onConnect","t1","address","connector","chainId","isReconnected","walletMetadata","getWalletMetadata","provider","getProvider","isEmbedded","type","safe","connectorAction","event","name","params","connectorType","connectorName","account","walletName","walletIcon","icon","useAccountEffect"],"mappings":";;;;;;AAKO,SAAAA,oBAAAA,GAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AACL,EAAA,MAAA;AAAA,IAAAC;AAAAA,MAA4BC,eAAAA,EAAgB;AAAE,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAJ,CAAAA,QAAAE,eAAAA,EAAA;AAE7BE,IAAAA,EAAAA,GAAA;AAAA,MAAAC,SAAAA,EACJ,OAAAC,EAAAA,KAAA;AAAO,QAAA,MAAA;AAAA,UAAAC,OAAAA;AAAAA,UAAAC,SAAAA;AAAAA,UAAAC,OAAAA;AAAAA,UAAAC;AAAAA,SAAA,GAAAJ,EAAAA;AAChB,QAAA,MAAAK,cAAAA,GAAuB,MAAMC,iBAAAA,CAAkBJ,SAAS,CAAA;AACxD,QAAA,MAAAK,QAAAA,GAAiB,MAAML,SAAAA,CAASM,WAAAA,EAAa;AAE7C,QAAA,MAAAC,UAAAA,GAAmBP,SAAAA,CAASQ,IAAAA,KAAUC,IAAAA,CAAID,IAAAA;AAE1C,QAAA,MAAAE,eAAAA,GAAwBR,aAAAA,GAAA,OAAA,GAEpBK,UAAAA,GAAA,UAAA,GAAA,OAAA;AAIJb,QAAAA,eAAAA,GAAkB;AAAA,UAAAiB,KAAAA,EACT;AAAA,YAAAC,IAAAA,EACC,uBAAA;AAAA,YAAuBC,MAAAA,EACrB;AAAA,cAAAC,eACSd,SAAAA,CAASQ,IAAAA;AAAAA,cAAKO,eACdf,SAAAA,CAASY,IAAAA;AAAAA,cAAKF,eAAAA;AAAAA,cAAAL,QAAAA;AAAAA,cAAAW,OAAAA,EAGpBjB,OAAAA;AAAAA,cAAOE,OAAAA;AAAAA,cAAAgB,YAEJd,cAAAA,CAAcS,IAAAA;AAAAA,cAAKM,YACnBf,cAAAA,CAAcgB;AAAAA;AAC5B;AACF,SACD,CAAA;AAAA,MAAC;AAAA,KAEN;AAAC3B,IAAAA,CAAAA,MAAAE,eAAAA;AAAAF,IAAAA,CAAAA,MAAAI,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAJ,EAAA,CAAA,CAAA;AAAA,EAAA;AA7BD4B,EAAAA,gBAAAA,CAAiBxB,EA6BhB,CAAA;AAAC;;;;"}
1
+ {"version":3,"file":"useOnWalletConnect.js","sources":["../../../src/events/hooks/useOnWalletConnect.ts"],"sourcesContent":["import { isExternalConnector } from \"@/components/web3/ConnectExternalProvider/utils\";\nimport { getWalletMetadata } from \"@/components/web3/ConnectWallets/walletIcons\";\nimport { useWidgetEvents } from \"@/core/state/widgetEventsAtom\";\nimport type { EIP1193Provider } from \"viem\";\nimport { useAccountEffect } from \"wagmi\";\nimport { safe } from \"wagmi/connectors\";\n\ntype OnConnectParams = Parameters<\n NonNullable<NonNullable<Parameters<typeof useAccountEffect>[0]>[\"onConnect\"]>\n>[0];\n\nexport function useOnWalletConnected() {\n const { onConnectWallet } = useWidgetEvents();\n\n useAccountEffect({\n onConnect: async ({\n address,\n connector,\n chainId,\n isReconnected,\n }: Partial<OnConnectParams>) => {\n // in some eager connect cases with external provider, account properties are not available yet,\n // especially when external provider = Safe iframe provider\n if (!connector || !address || !chainId) return;\n\n const walletMetadata = await getWalletMetadata(connector);\n const provider = await connector.getProvider();\n\n const isEmbedded = connector.type === safe.type;\n const isExternal = isExternalConnector(connector);\n\n const connectorAction = isReconnected\n ? \"Eager\"\n : isEmbedded\n ? \"Embedded\"\n : isExternal\n ? \"External\"\n : \"Click\";\n\n onConnectWallet?.({\n event: {\n name: \"ConnectWallet:connect\",\n params: {\n connectorType: connector.type,\n connectorName: connector.name,\n connectorAction,\n provider: provider as EIP1193Provider,\n account: address,\n chainId,\n walletName: walletMetadata.name,\n walletIcon: walletMetadata.icon,\n },\n },\n });\n },\n });\n}\n"],"names":["useOnWalletConnected","$","_c","onConnectWallet","useWidgetEvents","t0","onConnect","t1","address","connector","chainId","isReconnected","walletMetadata","getWalletMetadata","provider","getProvider","isEmbedded","type","safe","isExternal","isExternalConnector","connectorAction","event","name","params","connectorType","connectorName","account","walletName","walletIcon","icon","useAccountEffect"],"mappings":";;;;;;;AAWO,SAAAA,oBAAAA,GAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AACL,EAAA,MAAA;AAAA,IAAAC;AAAAA,MAA4BC,eAAAA,EAAgB;AAAE,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAJ,CAAAA,QAAAE,eAAAA,EAAA;AAE7BE,IAAAA,EAAAA,GAAA;AAAA,MAAAC,SAAAA,EACJ,OAAAC,EAAAA,KAAA;AAAO,QAAA,MAAA;AAAA,UAAAC,OAAAA;AAAAA,UAAAC,SAAAA;AAAAA,UAAAC,OAAAA;AAAAA,UAAAC;AAAAA,SAAA,GAAAJ,EAAAA;AAQhB,QAAA,IAAI,CAACE,SAAAA,IAAD,CAAeD,OAAAA,IAAf,CAA2BE,OAAAA,EAAO;AAAA,UAAA;AAAA,QAAA;AAEtC,QAAA,MAAAE,cAAAA,GAAuB,MAAMC,iBAAAA,CAAkBJ,SAAS,CAAA;AACxD,QAAA,MAAAK,QAAAA,GAAiB,MAAML,SAAAA,CAASM,WAAAA,EAAa;AAE7C,QAAA,MAAAC,UAAAA,GAAmBP,SAAAA,CAASQ,IAAAA,KAAUC,IAAAA,CAAID,IAAAA;AAC1C,QAAA,MAAAE,UAAAA,GAAmBC,oBAAoBX,SAAS,CAAA;AAEhD,QAAA,MAAAY,kBAAwBV,aAAAA,GAAA,OAAA,GAEpBK,UAAAA,GAAA,UAAA,GAEEG,aAAA,UAAA,GAAA,OAAA;AAINhB,QAAAA,eAAAA,GAAkB;AAAA,UAAAmB,KAAAA,EACT;AAAA,YAAAC,IAAAA,EACC,uBAAA;AAAA,YAAuBC,MAAAA,EACrB;AAAA,cAAAC,eACShB,SAAAA,CAASQ,IAAAA;AAAAA,cAAKS,eACdjB,SAAAA,CAASc,IAAAA;AAAAA,cAAKF,eAAAA;AAAAA,cAAAP,QAAAA;AAAAA,cAEQa,OAAAA,EAC5BnB,OAAAA;AAAAA,cAAOE,OAAAA;AAAAA,cAAAkB,YAEJhB,cAAAA,CAAcW,IAAAA;AAAAA,cAAKM,YACnBjB,cAAAA,CAAckB;AAAAA;AAC5B;AACF,SACD,CAAA;AAAA,MAAC;AAAA,KAEN;AAAC7B,IAAAA,CAAAA,MAAAE,eAAAA;AAAAF,IAAAA,CAAAA,MAAAI,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAJ,EAAA,CAAA,CAAA;AAAA,EAAA;AAzCD8B,EAAAA,gBAAAA,CAAiB1B,EAyChB,CAAA;AAAC;;;;"}
@@ -1,10 +1,10 @@
1
- import { Address } from 'viem';
1
+ import { Address, EIP1193Provider } from 'viem';
2
2
  import { MakeEventArgs, WidgetEventCallbackConstructor, WidgetEventMinCallbackConstructor } from './common';
3
3
  type ConnectWalletParams = {
4
4
  connectorType: string;
5
5
  connectorName: string;
6
- connectorAction: "Click" | "Eager" | "Embedded";
7
- provider: unknown;
6
+ connectorAction: "Click" | "Eager" | "Embedded" | "External";
7
+ provider: EIP1193Provider;
8
8
  account: Address;
9
9
  walletName: string | null;
10
10
  walletIcon: string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"connectWallet.d.ts","sourceRoot":"","sources":["../../../src/events/types/connectWallet.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,KAAK,EACV,aAAa,EACb,8BAA8B,EAC9B,iCAAiC,EAClC,MAAM,UAAU,CAAC;AAElB,KAAK,mBAAmB,GAAG;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,OAAO,GAAG,OAAO,GAAG,UAAU,CAAC;IAChD,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,KAAK,sBAAsB,GAAG,aAAa,CAAC;IAC1C,uBAAuB,EAAE,mBAAmB,CAAC;IAC7C,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChD,CAAC,CAAC;AAEH,MAAM,MAAM,eAAe,GACzB,8BAA8B,CAAC,sBAAsB,CAAC,CAAC;AACzD,MAAM,MAAM,kBAAkB,GAC5B,iCAAiC,CAAC,sBAAsB,CAAC,CAAC"}
1
+ {"version":3,"file":"connectWallet.d.ts","sourceRoot":"","sources":["../../../src/events/types/connectWallet.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AACrD,OAAO,KAAK,EACV,aAAa,EACb,8BAA8B,EAC9B,iCAAiC,EAClC,MAAM,UAAU,CAAC;AAElB,KAAK,mBAAmB,GAAG;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,OAAO,GAAG,OAAO,GAAG,UAAU,GAAG,UAAU,CAAC;IAC7D,QAAQ,EAAE,eAAe,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,KAAK,sBAAsB,GAAG,aAAa,CAAC;IAC1C,uBAAuB,EAAE,mBAAmB,CAAC;IAC7C,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChD,CAAC,CAAC;AAEH,MAAM,MAAM,eAAe,GACzB,8BAA8B,CAAC,sBAAsB,CAAC,CAAC;AACzD,MAAM,MAAM,kBAAkB,GAC5B,iCAAiC,CAAC,sBAAsB,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useAwaitCalls.d.ts","sourceRoot":"","sources":["../../../src/hooks/batch/useAwaitCalls.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAEL,KAAK,4BAA4B,EAClC,MAAM,aAAa,CAAC;AACrB,OAAO,EAGL,KAAK,+BAA+B,EACpC,KAAK,+BAA+B,EACrC,MAAM,OAAO,CAAC;AAEf,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,0CAA0C,CAAC;AAGlD,MAAM,MAAM,uBAAuB,CAAC,UAAU,GAAG,sBAAsB,IAAI;IACzE,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,+BAA+B,CACrC,OAAO,WAAW,EAClB,UAAU,CACX,CAAC,OAAO,CAAC,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,sBAAsB,CAAC;AAE5D,MAAM,MAAM,uBAAuB,CAAC,UAAU,GAAG,sBAAsB,IACrE,+BAA+B,CAAC,UAAU,CAAC,CAAC;AAE9C,MAAM,MAAM,oBAAoB,GAAG,sBAAsB,CAAC;AAE1D,MAAM,MAAM,YAAY,GAAG,WAAW,CACpC,4BAA4B,CAAC,UAAU,CAAC,CACzC,CAAC,MAAM,CAAC,CAAC;AAEV,MAAM,MAAM,kCAAkC,GAAG,QAAQ,CACvD,sBAAsB,GAAG;IACvB,QAAQ,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;CACvC,CACF,CAAC;AAEF,wBAAgB,aAAa,CAAC,UAAU,GAAG,sBAAsB,EAAE,EACjE,EAAE,EACF,KAAK,GACN,EAAE,uBAAuB,CAAC,UAAU,CAAC,GAAG,uBAAuB,CAAC,UAAU,CAAC,CAa3E;AAED,MAAM,MAAM,2BAA2B,CACrC,cAAc,GAAG,oBAAoB,EAAE,IACrC;IACF,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,OAAO,CAAC,EAAE,CACR,OAAO,EAAE,cAAc,CAAC,oBAAoB,EAAE,KAAK,CAAC,EAAE,KACnD,cAAc,CAAC;CACrB,CAAC;AAEF;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,cAAc,GAAG,cAAc,CAAC,sBAAsB,EAAE,KAAK,CAAC,EAAE,EAChE,EACA,GAAG,EACH,OAAO,GACR,EAAE,2BAA2B,CAAC,cAAc,CAAC,GAAG,cAAc,CAwB9D;AAED,wBAAgB,oBAAoB,IAAI,mBAAmB,CAK1D"}
1
+ {"version":3,"file":"useAwaitCalls.d.ts","sourceRoot":"","sources":["../../../src/hooks/batch/useAwaitCalls.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAEL,KAAK,4BAA4B,EAClC,MAAM,aAAa,CAAC;AACrB,OAAO,EAGL,KAAK,+BAA+B,EACpC,KAAK,+BAA+B,EACrC,MAAM,OAAO,CAAC;AAEf,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,0CAA0C,CAAC;AAGlD,MAAM,MAAM,uBAAuB,CAAC,UAAU,GAAG,sBAAsB,IAAI;IACzE,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,+BAA+B,CACrC,OAAO,WAAW,EAClB,UAAU,CACX,CAAC,OAAO,CAAC,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,sBAAsB,CAAC;AAE5D,MAAM,MAAM,uBAAuB,CAAC,UAAU,GAAG,sBAAsB,IACrE,+BAA+B,CAAC,UAAU,CAAC,CAAC;AAE9C,MAAM,MAAM,oBAAoB,GAAG,sBAAsB,CAAC;AAE1D,MAAM,MAAM,YAAY,GAAG,WAAW,CACpC,4BAA4B,CAAC,UAAU,CAAC,CACzC,CAAC,MAAM,CAAC,CAAC;AAEV,MAAM,MAAM,kCAAkC,GAAG,QAAQ,CACvD,sBAAsB,GAAG;IACvB,QAAQ,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;CACvC,CACF,CAAC;AAEF,wBAAgB,aAAa,CAAC,UAAU,GAAG,sBAAsB,EAAE,EACjE,EAAE,EACF,KAAK,GACN,EAAE,uBAAuB,CAAC,UAAU,CAAC,GAAG,uBAAuB,CAAC,UAAU,CAAC,CAa3E;AAED,MAAM,MAAM,2BAA2B,CACrC,cAAc,GAAG,oBAAoB,EAAE,IACrC;IACF,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,OAAO,CAAC,EAAE,CACR,OAAO,EAAE,cAAc,CAAC,oBAAoB,EAAE,KAAK,CAAC,EAAE,KACnD,cAAc,CAAC;CACrB,CAAC;AAEF;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,cAAc,GAAG,cAAc,CAAC,sBAAsB,EAAE,KAAK,CAAC,EAAE,EAChE,EACA,GAAG,EACH,OAAO,GACR,EAAE,2BAA2B,CAAC,cAAc,CAAC,GAAG,cAAc,CAyB9D;AAED,wBAAgB,oBAAoB,IAAI,mBAAmB,CAK1D"}
@@ -1 +1 @@
1
- {"version":3,"file":"useAwaitCalls.js","sources":["../../../src/hooks/batch/useAwaitCalls.ts"],"sourcesContent":["import {\n useQueries,\n useQueryClient,\n type UseQueryResult,\n} from \"@tanstack/react-query\";\nimport {\n waitForCallsStatus,\n type WaitForCallsStatusReturnType,\n} from \"@wagmi/core\";\nimport {\n useConfig,\n useWaitForCallsStatus,\n type UseWaitForCallsStatusParameters,\n type UseWaitForCallsStatusReturnType,\n} from \"wagmi\";\n\nimport {\n waitForCallsStatusQueryKey,\n type WaitForCallsStatusData,\n} from \"@wagmi/core/query\";\nimport type { wagmiConfig } from \"@/lib/web3/wagmi/config\";\nimport { useConnectedSafe } from \"../connectors/useIsConnectedSafe\";\nimport type { NonEmptyArray, Prettify } from \"ts-essentials\";\nimport {\n ensureCallsStatusFactory,\n type EnsureCallsStatusFn,\n} from \"@/transactions/queries/ensureCallsStatus\";\nimport { SAFE_CALLS_WAIT_TIMEOUT } from \"@/lib/constants\";\n\nexport type UseAwaitCallsParameters<SelectData = DefaultCallsStatusData> = {\n id?: string;\n query?: UseWaitForCallsStatusParameters<\n typeof wagmiConfig,\n SelectData\n >[\"query\"];\n};\n\nexport type DefaultCallsStatusData = WaitForCallsStatusData;\n\nexport type UseAwaitCallsReturnType<SelectData = DefaultCallsStatusData> =\n UseWaitForCallsStatusReturnType<SelectData>;\n\nexport type CallsStatusFromWagmi = DefaultCallsStatusData;\n\nexport type CallsReceipt = NonNullable<\n WaitForCallsStatusReturnType[\"receipts\"]\n>[number];\n\nexport type WaitForCallsStatusDataWithReceipts = Prettify<\n WaitForCallsStatusData & {\n receipts: NonEmptyArray<CallsReceipt>;\n }\n>;\n\nexport function useAwaitCalls<SelectData = DefaultCallsStatusData>({\n id,\n query,\n}: UseAwaitCallsParameters<SelectData>): UseAwaitCallsReturnType<SelectData> {\n const isSafe = useConnectedSafe();\n\n const timeout = isSafe ? SAFE_CALLS_WAIT_TIMEOUT : undefined;\n\n const queryResult = useWaitForCallsStatus({\n id,\n throwOnFailure: true,\n query,\n timeout,\n });\n\n return queryResult;\n}\n\nexport type UseAwaitManyCallsParameters<\n CombinedResult = CallsStatusFromWagmi[],\n> = {\n ids: string[];\n combine?: (\n results: UseQueryResult<CallsStatusFromWagmi, Error>[]\n ) => CombinedResult;\n};\n\n/**\n * Hook to await multiple calls by IDs on different chains all together.\n */\nexport function useAwaitManyCalls<\n CombinedResult = UseQueryResult<WaitForCallsStatusData, Error>[],\n>({\n ids,\n combine,\n}: UseAwaitManyCallsParameters<CombinedResult>): CombinedResult {\n const config = useConfig();\n const isSafe = useConnectedSafe();\n\n const timeout = isSafe ? SAFE_CALLS_WAIT_TIMEOUT : undefined;\n\n const queries = ids.map((id) => {\n return {\n queryKey: waitForCallsStatusQueryKey({\n id,\n timeout,\n }),\n queryFn: () =>\n waitForCallsStatus(config, {\n id,\n timeout,\n throwOnFailure: true,\n }),\n };\n });\n\n const queryResults = useQueries({ queries, combine });\n\n return queryResults;\n}\n\nexport function useEnsureCallsStatus(): EnsureCallsStatusFn {\n const queryClient = useQueryClient();\n const wagmiConfig = useConfig();\n const isSafe = useConnectedSafe();\n return ensureCallsStatusFactory({ queryClient, wagmiConfig, isSafe });\n}\n"],"names":["useAwaitCalls","t0","$","_c","id","query","isSafe","useConnectedSafe","timeout","SAFE_CALLS_WAIT_TIMEOUT","undefined","t1","throwOnFailure","queryResult","useWaitForCallsStatus","useEnsureCallsStatus","queryClient","useQueryClient","wagmiConfig","useConfig","ensureCallsStatusFactory"],"mappings":";;;;;;;;;AAsDO,SAAAA,cAAAC,EAAAA,EAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAA4D,EAAA,MAAA;AAAA,IAAAC,EAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAAAJ,EAAAA;AAIjE,EAAA,MAAAK,SAAeC,gBAAAA,EAAiB;AAEhC,EAAA,MAAAC,OAAAA,GAAgBF,SAAAG,uBAAAA,GAAAC,MAAAA;AAA6C,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAT,CAAAA,CAAA,CAAA,CAAA,KAAAE,EAAAA,IAAAF,CAAAA,QAAAG,KAAAA,IAAAH,CAAAA,CAAA,CAAA,CAAA,KAAAM,OAAAA,EAAA;AAEnBG,IAAAA,EAAAA,GAAA;AAAA,MAAAP,EAAAA;AAAAA,MAAAQ,cAAAA,EAExB,IAAA;AAAA,MAAIP,KAAAA;AAAAA,MAAAG;AAAAA,KAGtB;AAACN,IAAAA,CAAAA,MAAAE,EAAAA;AAAAF,IAAAA,CAAAA,MAAAG,KAAAA;AAAAH,IAAAA,CAAAA,MAAAM,OAAAA;AAAAN,IAAAA,CAAAA,MAAAS,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAT,EAAA,CAAA,CAAA;AAAA,EAAA;AALD,EAAA,MAAAW,WAAAA,GAAoBC,sBAAsBH,EAKzC,CAAA;AAAE,EAAA,OAEIE,WAAAA;AAAW;AA8Cb,SAAAE,oBAAAA,GAAA;AAAA,EAAA,MAAAb,CAAAA,GAAAC,cAAA,CAAA,CAAA;AACL,EAAA,MAAAa,cAAoBC,cAAAA,EAAe;AACnC,EAAA,MAAAC,cAAoBC,SAAAA,EAAU;AAC9B,EAAA,MAAAb,SAAeC,gBAAAA,EAAiB;AAAE,EAAA,IAAAN,EAAAA;AAAA,EAAA,IAAAC,CAAAA,CAAA,CAAA,CAAA,KAAAI,MAAAA,IAAAJ,CAAAA,QAAAc,WAAAA,IAAAd,CAAAA,CAAA,CAAA,CAAA,KAAAgB,WAAAA,EAAA;AAC3BjB,IAAAA,EAAAA,GAAAmB,wBAAAA,CAAyB;AAAA,MAAAJ,WAAAA;AAAAA,MAAAE,WAAAA;AAAAA,MAAAZ;AAAAA,KAAoC,CAAA;AAACJ,IAAAA,CAAAA,MAAAI,MAAAA;AAAAJ,IAAAA,CAAAA,MAAAc,WAAAA;AAAAd,IAAAA,CAAAA,MAAAgB,WAAAA;AAAAhB,IAAAA,CAAAA,MAAAD,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAC,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAA9DD,EAAAA;AAA8D;;;;"}
1
+ {"version":3,"file":"useAwaitCalls.js","sources":["../../../src/hooks/batch/useAwaitCalls.ts"],"sourcesContent":["import {\n useQueries,\n useQueryClient,\n type UseQueryResult,\n} from \"@tanstack/react-query\";\nimport {\n waitForCallsStatus,\n type WaitForCallsStatusReturnType,\n} from \"@wagmi/core\";\nimport {\n useConfig,\n useWaitForCallsStatus,\n type UseWaitForCallsStatusParameters,\n type UseWaitForCallsStatusReturnType,\n} from \"wagmi\";\n\nimport {\n waitForCallsStatusQueryKey,\n type WaitForCallsStatusData,\n} from \"@wagmi/core/query\";\nimport type { wagmiConfig } from \"@/lib/web3/wagmi/config\";\nimport { useConnectedSafe } from \"../connectors/useIsConnectedSafe\";\nimport type { NonEmptyArray, Prettify } from \"ts-essentials\";\nimport {\n ensureCallsStatusFactory,\n type EnsureCallsStatusFn,\n} from \"@/transactions/queries/ensureCallsStatus\";\nimport { SAFE_CALLS_WAIT_TIMEOUT } from \"@/lib/constants\";\n\nexport type UseAwaitCallsParameters<SelectData = DefaultCallsStatusData> = {\n id?: string;\n query?: UseWaitForCallsStatusParameters<\n typeof wagmiConfig,\n SelectData\n >[\"query\"];\n};\n\nexport type DefaultCallsStatusData = WaitForCallsStatusData;\n\nexport type UseAwaitCallsReturnType<SelectData = DefaultCallsStatusData> =\n UseWaitForCallsStatusReturnType<SelectData>;\n\nexport type CallsStatusFromWagmi = DefaultCallsStatusData;\n\nexport type CallsReceipt = NonNullable<\n WaitForCallsStatusReturnType[\"receipts\"]\n>[number];\n\nexport type WaitForCallsStatusDataWithReceipts = Prettify<\n WaitForCallsStatusData & {\n receipts: NonEmptyArray<CallsReceipt>;\n }\n>;\n\nexport function useAwaitCalls<SelectData = DefaultCallsStatusData>({\n id,\n query,\n}: UseAwaitCallsParameters<SelectData>): UseAwaitCallsReturnType<SelectData> {\n const isSafe = useConnectedSafe();\n\n const timeout = isSafe ? SAFE_CALLS_WAIT_TIMEOUT : undefined;\n\n const queryResult = useWaitForCallsStatus({\n id,\n throwOnFailure: true,\n query,\n timeout,\n });\n\n return queryResult;\n}\n\nexport type UseAwaitManyCallsParameters<\n CombinedResult = CallsStatusFromWagmi[],\n> = {\n ids: string[];\n combine?: (\n results: UseQueryResult<CallsStatusFromWagmi, Error>[]\n ) => CombinedResult;\n};\n\n/**\n * Hook to await multiple calls by IDs on different chains all together.\n */\nexport function useAwaitManyCalls<\n CombinedResult = UseQueryResult<WaitForCallsStatusData, Error>[],\n>({\n ids,\n combine,\n}: UseAwaitManyCallsParameters<CombinedResult>): CombinedResult {\n const config = useConfig();\n const isSafe = useConnectedSafe();\n\n const timeout = isSafe ? SAFE_CALLS_WAIT_TIMEOUT : undefined;\n\n const queries = ids.map((id) => {\n return {\n queryKey: waitForCallsStatusQueryKey({\n id,\n timeout,\n throwOnFailure: true,\n }),\n queryFn: () =>\n waitForCallsStatus(config, {\n id,\n timeout,\n throwOnFailure: true,\n }),\n };\n });\n\n const queryResults = useQueries({ queries, combine });\n\n return queryResults;\n}\n\nexport function useEnsureCallsStatus(): EnsureCallsStatusFn {\n const queryClient = useQueryClient();\n const wagmiConfig = useConfig();\n const isSafe = useConnectedSafe();\n return ensureCallsStatusFactory({ queryClient, wagmiConfig, isSafe });\n}\n"],"names":["useAwaitCalls","t0","$","_c","id","query","isSafe","useConnectedSafe","timeout","SAFE_CALLS_WAIT_TIMEOUT","undefined","t1","throwOnFailure","queryResult","useWaitForCallsStatus","useEnsureCallsStatus","queryClient","useQueryClient","wagmiConfig","useConfig","ensureCallsStatusFactory"],"mappings":";;;;;;;;;AAsDO,SAAAA,cAAAC,EAAAA,EAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAA4D,EAAA,MAAA;AAAA,IAAAC,EAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAAAJ,EAAAA;AAIjE,EAAA,MAAAK,SAAeC,gBAAAA,EAAiB;AAEhC,EAAA,MAAAC,OAAAA,GAAgBF,SAAAG,uBAAAA,GAAAC,MAAAA;AAA6C,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAT,CAAAA,CAAA,CAAA,CAAA,KAAAE,EAAAA,IAAAF,CAAAA,QAAAG,KAAAA,IAAAH,CAAAA,CAAA,CAAA,CAAA,KAAAM,OAAAA,EAAA;AAEnBG,IAAAA,EAAAA,GAAA;AAAA,MAAAP,EAAAA;AAAAA,MAAAQ,cAAAA,EAExB,IAAA;AAAA,MAAIP,KAAAA;AAAAA,MAAAG;AAAAA,KAGtB;AAACN,IAAAA,CAAAA,MAAAE,EAAAA;AAAAF,IAAAA,CAAAA,MAAAG,KAAAA;AAAAH,IAAAA,CAAAA,MAAAM,OAAAA;AAAAN,IAAAA,CAAAA,MAAAS,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAT,EAAA,CAAA,CAAA;AAAA,EAAA;AALD,EAAA,MAAAW,WAAAA,GAAoBC,sBAAsBH,EAKzC,CAAA;AAAE,EAAA,OAEIE,WAAAA;AAAW;AA+Cb,SAAAE,oBAAAA,GAAA;AAAA,EAAA,MAAAb,CAAAA,GAAAC,cAAA,CAAA,CAAA;AACL,EAAA,MAAAa,cAAoBC,cAAAA,EAAe;AACnC,EAAA,MAAAC,cAAoBC,SAAAA,EAAU;AAC9B,EAAA,MAAAb,SAAeC,gBAAAA,EAAiB;AAAE,EAAA,IAAAN,EAAAA;AAAA,EAAA,IAAAC,CAAAA,CAAA,CAAA,CAAA,KAAAI,MAAAA,IAAAJ,CAAAA,QAAAc,WAAAA,IAAAd,CAAAA,CAAA,CAAA,CAAA,KAAAgB,WAAAA,EAAA;AAC3BjB,IAAAA,EAAAA,GAAAmB,wBAAAA,CAAyB;AAAA,MAAAJ,WAAAA;AAAAA,MAAAE,WAAAA;AAAAA,MAAAZ;AAAAA,KAAoC,CAAA;AAACJ,IAAAA,CAAAA,MAAAI,MAAAA;AAAAJ,IAAAA,CAAAA,MAAAc,WAAAA;AAAAd,IAAAA,CAAAA,MAAAgB,WAAAA;AAAAhB,IAAAA,CAAAA,MAAAD,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAC,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAA9DD,EAAAA;AAA8D;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useIsConnectedSafe.d.ts","sourceRoot":"","sources":["../../../src/hooks/connectors/useIsConnectedSafe.ts"],"names":[],"mappings":"AAgBA,wBAAgB,gBAAgB,IAAI,OAAO,CAK1C;AAGD,wBAAsB,aAAa,qBAalC"}
1
+ {"version":3,"file":"useIsConnectedSafe.d.ts","sourceRoot":"","sources":["../../../src/hooks/connectors/useIsConnectedSafe.ts"],"names":[],"mappings":"AAoBA,wBAAgB,gBAAgB,IAAI,OAAO,CAW1C;AAGD,wBAAsB,aAAa,qBAelC"}
@@ -7,11 +7,13 @@ import '@tanstack/react-query';
7
7
  import 'ts-essentials';
8
8
  import 'wagmi/connectors';
9
9
  import '../../lib/queryClient.js';
10
+ import { useIsExternalProviderSafeIframe } from '../../core/state/externalProviderAtom.js';
10
11
 
11
12
  function useConnectedSafe() {
12
13
  const isSafeConnector2 = useIsSafeConnector();
13
14
  const isSafeThroughWalletConnect = useIsSafeThroughWalletConnect();
14
- return isSafeConnector2 || isSafeThroughWalletConnect;
15
+ const isExternalProviderSafeIframe = useIsExternalProviderSafeIframe();
16
+ return isSafeConnector2 || isSafeThroughWalletConnect || isExternalProviderSafeIframe;
15
17
  }
16
18
 
17
19
  export { useConnectedSafe };
@@ -1 +1 @@
1
- {"version":3,"file":"useIsConnectedSafe.js","sources":["../../../src/hooks/connectors/useIsConnectedSafe.ts"],"sourcesContent":["import { wagmiConfig } from \"@/lib/web3/wagmi/config\";\nimport {\n isSafeConnector,\n useIsSafeConnector,\n} from \"./useIsGnosisSafeConnector\";\nimport {\n isSafeConnectorThroughWalletConnect,\n useIsSafeThroughWalletConnect,\n} from \"./useIsSafeThroughWalletConnect\";\nimport { getAccount } from \"@wagmi/core\";\nimport {\n getWalletMetadata,\n walletMetadataQueryKey,\n} from \"@/components/web3/ConnectWallets/walletIcons\";\nimport { queryClient } from \"@/lib/queryClient\";\n\nexport function useConnectedSafe(): boolean {\n const isSafeConnector = useIsSafeConnector();\n const isSafeThroughWalletConnect = useIsSafeThroughWalletConnect();\n\n return isSafeConnector || isSafeThroughWalletConnect;\n}\n\n// for use outside of react\nexport async function connectedSafe() {\n const connector = getAccount(wagmiConfig).connector;\n if (!connector) return false;\n\n if (isSafeConnector(connector)) return true;\n\n const walletMeta = await queryClient.ensureQueryData({\n queryKey: walletMetadataQueryKey(connector.id),\n queryFn: () => getWalletMetadata(connector),\n gcTime: Infinity,\n });\n\n return isSafeConnectorThroughWalletConnect(walletMeta);\n}\n"],"names":["useConnectedSafe","isSafeConnector","useIsSafeConnector","isSafeThroughWalletConnect","useIsSafeThroughWalletConnect"],"mappings":";;;;;;;;;;AAgBO,SAAAA,gBAAAA,GAAA;AACL,EAAA,MAAAC,mBAAwBC,kBAAAA,EAAmB;AAC3C,EAAA,MAAAC,6BAAmCC,6BAAAA,EAA8B;AAAE,EAAA,OAE5DH,gBAAAA,IAAAE,0BAAAA;AAA6C;;;;"}
1
+ {"version":3,"file":"useIsConnectedSafe.js","sources":["../../../src/hooks/connectors/useIsConnectedSafe.ts"],"sourcesContent":["import { wagmiConfig } from \"@/lib/web3/wagmi/config\";\nimport {\n isSafeConnector,\n useIsSafeConnector,\n} from \"./useIsGnosisSafeConnector\";\nimport {\n isSafeConnectorThroughWalletConnect,\n useIsSafeThroughWalletConnect,\n} from \"./useIsSafeThroughWalletConnect\";\nimport { getAccount } from \"@wagmi/core\";\nimport {\n getWalletMetadata,\n walletMetadataQueryKey,\n} from \"@/components/web3/ConnectWallets/walletIcons\";\nimport { queryClient } from \"@/lib/queryClient\";\nimport {\n isExternalConnectorWithSafeIframe,\n useIsExternalProviderSafeIframe,\n} from \"@/core/state/externalProviderAtom\";\n\nexport function useConnectedSafe(): boolean {\n const isSafeConnector = useIsSafeConnector();\n const isSafeThroughWalletConnect = useIsSafeThroughWalletConnect();\n\n const isExternalProviderSafeIframe = useIsExternalProviderSafeIframe();\n\n return (\n isSafeConnector ||\n isSafeThroughWalletConnect ||\n isExternalProviderSafeIframe\n );\n}\n\n// for use outside of react\nexport async function connectedSafe() {\n const connector = getAccount(wagmiConfig).connector;\n if (!connector) return false;\n\n if (isSafeConnector(connector)) return true;\n\n if (await isExternalConnectorWithSafeIframe(connector)) return true;\n\n const walletMeta = await queryClient.ensureQueryData({\n queryKey: walletMetadataQueryKey(connector.uid),\n queryFn: () => getWalletMetadata(connector),\n gcTime: Infinity,\n });\n\n return isSafeConnectorThroughWalletConnect(walletMeta);\n}\n"],"names":["useConnectedSafe","isSafeConnector","useIsSafeConnector","isSafeThroughWalletConnect","useIsSafeThroughWalletConnect","isExternalProviderSafeIframe","useIsExternalProviderSafeIframe"],"mappings":";;;;;;;;;;;AAoBO,SAAAA,gBAAAA,GAAA;AACL,EAAA,MAAAC,mBAAwBC,kBAAAA,EAAmB;AAC3C,EAAA,MAAAC,6BAAmCC,6BAAAA,EAA8B;AAEjE,EAAA,MAAAC,+BAAqCC,+BAAAA,EAAgC;AAAE,EAAA,OAGrEL,oBAAAE,0BAAAA,IAAAE,4BAAAA;AAE4B;;;;"}
@@ -1,4 +1,7 @@
1
1
  import { Connector } from 'wagmi';
2
+ import { safe } from 'wagmi/connectors';
2
3
  export declare function useIsSafeConnector(): boolean;
3
- export declare function isSafeConnector({ type }: Pick<Connector, "type">): boolean;
4
+ export declare function isSafeConnector<T extends Pick<Connector, "type">>(connector: T): connector is T & {
5
+ type: typeof safe.type;
6
+ };
4
7
  //# sourceMappingURL=useIsGnosisSafeConnector.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useIsGnosisSafeConnector.d.ts","sourceRoot":"","sources":["../../../src/hooks/connectors/useIsGnosisSafeConnector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEnD,wBAAgB,kBAAkB,IAAI,OAAO,CAI5C;AAED,wBAAgB,eAAe,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,OAAO,CAE1E"}
1
+ {"version":3,"file":"useIsGnosisSafeConnector.d.ts","sourceRoot":"","sources":["../../../src/hooks/connectors/useIsGnosisSafeConnector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAExC,wBAAgB,kBAAkB,IAAI,OAAO,CAI5C;AAED,wBAAgB,eAAe,CAAC,CAAC,SAAS,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,EAC/D,SAAS,EAAE,CAAC,GACX,SAAS,IAAI,CAAC,GAAG;IAAE,IAAI,EAAE,OAAO,IAAI,CAAC,IAAI,CAAA;CAAE,CAE7C"}
@@ -1,5 +1,6 @@
1
1
  import { d as distExports } from '../../_virtual/index.js';
2
2
  import { useAccount } from 'wagmi';
3
+ import { safe } from 'wagmi/connectors';
3
4
 
4
5
  function useIsSafeConnector() {
5
6
  const $ = distExports.c(2);
@@ -19,10 +20,8 @@ function useIsSafeConnector() {
19
20
  }
20
21
  return t0;
21
22
  }
22
- function isSafeConnector({
23
- type
24
- }) {
25
- return type === "safe";
23
+ function isSafeConnector(connector) {
24
+ return connector.type === safe.type;
26
25
  }
27
26
 
28
27
  export { isSafeConnector, useIsSafeConnector };
@@ -1 +1 @@
1
- {"version":3,"file":"useIsGnosisSafeConnector.js","sources":["../../../src/hooks/connectors/useIsGnosisSafeConnector.ts"],"sourcesContent":["import { useAccount, type Connector } from \"wagmi\";\n\nexport function useIsSafeConnector(): boolean {\n const { connector } = useAccount();\n if (!connector) return false;\n return isSafeConnector(connector);\n}\n\nexport function isSafeConnector({ type }: Pick<Connector, \"type\">): boolean {\n return type === \"safe\";\n}\n"],"names":["useIsSafeConnector","$","_c","connector","useAccount","t0","isSafeConnector","type"],"mappings":";;;AAEO,SAAAA,kBAAAA,GAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AACL,EAAA,MAAA;AAAA,IAAAC;AAAAA,MAAsBC,UAAAA,EAAW;AACjC,EAAA,IAAI,CAACD,SAAAA,EAAS;AAAA,IAAA,OAAS,KAAA;AAAA,EAAK;AAAC,EAAA,IAAAE,EAAAA;AAAA,EAAA,IAAAJ,CAAAA,QAAAE,SAAAA,EAAA;AACtBE,IAAAA,EAAAA,GAAAC,gBAAgBH,SAAS,CAAA;AAACF,IAAAA,CAAAA,MAAAE,SAAAA;AAAAF,IAAAA,CAAAA,MAAAI,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAJ,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAA1BI,EAAAA;AAA0B;AAG5B,SAASC,eAAAA,CAAgB;AAAA,EAAEC;AAA8B,CAAA,EAAY;AAC1E,EAAA,OAAOA,IAAAA,KAAS,MAAA;AAClB;;;;"}
1
+ {"version":3,"file":"useIsGnosisSafeConnector.js","sources":["../../../src/hooks/connectors/useIsGnosisSafeConnector.ts"],"sourcesContent":["import { useAccount, type Connector } from \"wagmi\";\nimport { safe } from \"wagmi/connectors\";\n\nexport function useIsSafeConnector(): boolean {\n const { connector } = useAccount();\n if (!connector) return false;\n return isSafeConnector(connector);\n}\n\nexport function isSafeConnector<T extends Pick<Connector, \"type\">>(\n connector: T\n): connector is T & { type: typeof safe.type } {\n return connector.type === safe.type;\n}\n"],"names":["useIsSafeConnector","$","_c","connector","useAccount","t0","isSafeConnector","type","safe"],"mappings":";;;;AAGO,SAAAA,kBAAAA,GAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AACL,EAAA,MAAA;AAAA,IAAAC;AAAAA,MAAsBC,UAAAA,EAAW;AACjC,EAAA,IAAI,CAACD,SAAAA,EAAS;AAAA,IAAA,OAAS,KAAA;AAAA,EAAK;AAAC,EAAA,IAAAE,EAAAA;AAAA,EAAA,IAAAJ,CAAAA,QAAAE,SAAAA,EAAA;AACtBE,IAAAA,EAAAA,GAAAC,gBAAgBH,SAAS,CAAA;AAACF,IAAAA,CAAAA,MAAAE,SAAAA;AAAAF,IAAAA,CAAAA,MAAAI,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAJ,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAA1BI,EAAAA;AAA0B;AAG5B,SAASC,gBACdH,SAAAA,EAC6C;AAC7C,EAAA,OAAOA,SAAAA,CAAUI,SAASC,IAAAA,CAAKD,IAAAA;AACjC;;;;"}
@@ -1,4 +1,4 @@
1
1
  import { WalletMeta } from '../../components/web3/ConnectWallets/walletIcons';
2
2
  export declare function useIsSafeThroughWalletConnect(): boolean;
3
- export declare function isSafeConnectorThroughWalletConnect({ connectorType, name, }: Partial<Pick<WalletMeta, "connectorType" | "name">>): boolean;
3
+ export declare function isSafeConnectorThroughWalletConnect({ connectorType, connectorId, name, }: Partial<Pick<WalletMeta, "connectorType" | "connectorId" | "name">>): boolean;
4
4
  //# sourceMappingURL=useIsSafeThroughWalletConnect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useIsSafeThroughWalletConnect.d.ts","sourceRoot":"","sources":["../../../src/hooks/connectors/useIsSafeThroughWalletConnect.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,UAAU,EAChB,MAAM,8CAA8C,CAAC;AAWtD,wBAAgB,6BAA6B,YAI5C;AAED,wBAAgB,mCAAmC,CAAC,EAClD,aAAa,EACb,IAAI,GACL,EAAE,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,eAAe,GAAG,MAAM,CAAC,CAAC,GAAG,OAAO,CAO/D"}
1
+ {"version":3,"file":"useIsSafeThroughWalletConnect.d.ts","sourceRoot":"","sources":["../../../src/hooks/connectors/useIsSafeThroughWalletConnect.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,UAAU,EAChB,MAAM,8CAA8C,CAAC;AAWtD,wBAAgB,6BAA6B,YAY5C;AAED,wBAAgB,mCAAmC,CAAC,EAClD,aAAa,EACb,WAAW,EACX,IAAI,GACL,EAAE,OAAO,CACR,IAAI,CAAC,UAAU,EAAE,eAAe,GAAG,aAAa,GAAG,MAAM,CAAC,CAC3D,GAAG,OAAO,CAeV"}
@@ -1,3 +1,4 @@
1
+ import { isExternalConnector } from '../../components/web3/ConnectExternalProvider/utils.js';
1
2
  import { useWalletMetadata } from '../../components/web3/ConnectWallets/walletIcons.js';
2
3
  import { walletConnect } from 'wagmi/connectors';
3
4
 
@@ -11,18 +12,31 @@ const GnosisSafeWConnectRegex = [
11
12
  function useIsSafeThroughWalletConnect() {
12
13
  const {
13
14
  connectorType,
14
- name
15
+ connectorId,
16
+ name,
17
+ isWalletConnect
15
18
  } = useWalletMetadata() ?? {};
19
+ if (!isWalletConnect) {
20
+ return false;
21
+ }
16
22
  return isSafeConnectorThroughWalletConnect({
17
23
  connectorType,
24
+ connectorId,
18
25
  name
19
26
  });
20
27
  }
21
28
  function isSafeConnectorThroughWalletConnect({
22
29
  connectorType,
30
+ connectorId,
23
31
  name
24
32
  }) {
25
- if (connectorType !== walletConnect.type || !name) {
33
+ const isExternal = !!connectorType && !!connectorId && isExternalConnector({
34
+ type: connectorType,
35
+ id: connectorId
36
+ });
37
+ const isWalletConnectConnector = connectorType === walletConnect.type;
38
+ const isConnectorWithMayBeSafe = isExternal || isWalletConnectConnector;
39
+ if (!isConnectorWithMayBeSafe || !name) {
26
40
  return false;
27
41
  }
28
42
  const isSafe = GnosisSafeWConnectRegex.some((rule) => rule.test(name));
@@ -1 +1 @@
1
- {"version":3,"file":"useIsSafeThroughWalletConnect.js","sources":["../../../src/hooks/connectors/useIsSafeThroughWalletConnect.ts"],"sourcesContent":["import {\n useWalletMetadata,\n type WalletMeta,\n} from \"@/components/web3/ConnectWallets/walletIcons\";\nimport { walletConnect } from \"wagmi/connectors\";\n\nconst GnosisSafeWConnectRegex = [\n // matches `WalletConnect Safe App` (app in web Safe) and `Safe` (iOS Safe)\n /^(?:WalletConnect)?\\s*Safe\\s*(?:App)?$/i,\n\n // if there's word Safe surrounded by non-word characters or by nothing -> most likely it's Gnosis Safe\n /([^a-zA-Z]|^)Safe([^a-zA-Z]|$)/i, // matches'Safe{Wallet}'\n];\n\nexport function useIsSafeThroughWalletConnect() {\n const { connectorType, name } = useWalletMetadata() ?? {};\n\n return isSafeConnectorThroughWalletConnect({ connectorType, name });\n}\n\nexport function isSafeConnectorThroughWalletConnect({\n connectorType,\n name,\n}: Partial<Pick<WalletMeta, \"connectorType\" | \"name\">>): boolean {\n if (connectorType !== walletConnect.type || !name) {\n return false;\n }\n\n const isSafe = GnosisSafeWConnectRegex.some((rule) => rule.test(name));\n return isSafe;\n}\n"],"names":["GnosisSafeWConnectRegex","useIsSafeThroughWalletConnect","connectorType","name","useWalletMetadata","isSafeConnectorThroughWalletConnect","walletConnect","type","isSafe","some","rule","test"],"mappings":";;;AAMA,MAAMA,uBAAAA,GAA0B;AAAA;AAAA,EAE9B,yCAAA;AAAA;AAAA,EAGA;AAAA;AAAmC,CAAA;AAG9B,SAAAC,6BAAAA,GAAA;AACL,EAAA,MAAA;AAAA,IAAAC,aAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAAgCC,iBAAAA,EAAwB,IAAxB,EAAwB;AAAE,EAAA,OAEnDC,mCAAAA,CAAoC;AAAA,IAAAH,aAAAA;AAAAA,IAAAC;AAAAA,GAAuB,CAAA;AAAC;AAG9D,SAASE,mCAAAA,CAAoC;AAAA,EAClDH,aAAAA;AAAAA,EACAC;AACmD,CAAA,EAAY;AAC/D,EAAA,IAAID,aAAAA,KAAkBI,aAAAA,CAAcC,IAAAA,IAAQ,CAACJ,IAAAA,EAAM;AACjD,IAAA,OAAO,KAAA;AAAA,EACT;AAEA,EAAA,MAAMK,SAASR,uBAAAA,CAAwBS,IAAAA,CAAMC,UAASA,IAAAA,CAAKC,IAAAA,CAAKR,IAAI,CAAC,CAAA;AACrE,EAAA,OAAOK,MAAAA;AACT;;;;"}
1
+ {"version":3,"file":"useIsSafeThroughWalletConnect.js","sources":["../../../src/hooks/connectors/useIsSafeThroughWalletConnect.ts"],"sourcesContent":["import { isExternalConnector } from \"@/components/web3/ConnectExternalProvider/utils\";\nimport {\n useWalletMetadata,\n type WalletMeta,\n} from \"@/components/web3/ConnectWallets/walletIcons\";\nimport { walletConnect } from \"wagmi/connectors\";\n\nconst GnosisSafeWConnectRegex = [\n // matches `WalletConnect Safe App` (app in web Safe) and `Safe` (iOS Safe)\n /^(?:WalletConnect)?\\s*Safe\\s*(?:App)?$/i,\n\n // if there's word Safe surrounded by non-word characters or by nothing -> most likely it's Gnosis Safe\n /([^a-zA-Z]|^)Safe([^a-zA-Z]|$)/i, // matches'Safe{Wallet}'\n];\n\nexport function useIsSafeThroughWalletConnect() {\n const { connectorType, connectorId, name, isWalletConnect } = useWalletMetadata() ?? {};\n\n if (!isWalletConnect) {\n return false;\n }\n\n return isSafeConnectorThroughWalletConnect({\n connectorType,\n connectorId,\n name,\n });\n}\n\nexport function isSafeConnectorThroughWalletConnect({\n connectorType,\n connectorId,\n name,\n}: Partial<\n Pick<WalletMeta, \"connectorType\" | \"connectorId\" | \"name\">\n>): boolean {\n const isExternal =\n !!connectorType &&\n !!connectorId &&\n isExternalConnector({ type: connectorType, id: connectorId });\n const isWalletConnectConnector = connectorType === walletConnect.type;\n\n const isConnectorWithMayBeSafe = isExternal || isWalletConnectConnector;\n\n if (!isConnectorWithMayBeSafe || !name) {\n return false;\n }\n\n const isSafe = GnosisSafeWConnectRegex.some((rule) => rule.test(name));\n return isSafe;\n}\n"],"names":["GnosisSafeWConnectRegex","useIsSafeThroughWalletConnect","connectorType","connectorId","name","isWalletConnect","useWalletMetadata","isSafeConnectorThroughWalletConnect","isExternal","isExternalConnector","type","id","isWalletConnectConnector","walletConnect","isConnectorWithMayBeSafe","isSafe","some","rule","test"],"mappings":";;;;AAOA,MAAMA,uBAAAA,GAA0B;AAAA;AAAA,EAE9B,yCAAA;AAAA;AAAA,EAGA;AAAA;AAAmC,CAAA;AAG9B,SAAAC,6BAAAA,GAAA;AACL,EAAA,MAAA;AAAA,IAAAC,aAAAA;AAAAA,IAAAC,WAAAA;AAAAA,IAAAC,IAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAA8DC,iBAAAA,EAAwB,IAAxB,EAAwB;AAEtF,EAAA,IAAI,CAACD,eAAAA,EAAe;AAAA,IAAA,OACX,KAAA;AAAA,EAAK;AACb,EAAA,OAEME,mCAAAA,CAAoC;AAAA,IAAAL,aAAAA;AAAAA,IAAAC,WAAAA;AAAAA,IAAAC;AAAAA,GAI1C,CAAA;AAAC;AAGG,SAASG,mCAAAA,CAAoC;AAAA,EAClDL,aAAAA;AAAAA,EACAC,WAAAA;AAAAA,EACAC;AAGF,CAAA,EAAY;AACV,EAAA,MAAMI,aACJ,CAAC,CAACN,iBACF,CAAC,CAACC,eACFM,mBAAAA,CAAoB;AAAA,IAAEC,IAAAA,EAAMR,aAAAA;AAAAA,IAAeS,EAAAA,EAAIR;AAAAA,GAAa,CAAA;AAC9D,EAAA,MAAMS,wBAAAA,GAA2BV,kBAAkBW,aAAAA,CAAcH,IAAAA;AAEjE,EAAA,MAAMI,2BAA2BN,UAAAA,IAAcI,wBAAAA;AAE/C,EAAA,IAAI,CAACE,wBAAAA,IAA4B,CAACV,IAAAA,EAAM;AACtC,IAAA,OAAO,KAAA;AAAA,EACT;AAEA,EAAA,MAAMW,SAASf,uBAAAA,CAAwBgB,IAAAA,CAAMC,UAASA,IAAAA,CAAKC,IAAAA,CAAKd,IAAI,CAAC,CAAA;AACrE,EAAA,OAAOW,MAAAA;AACT;;;;"}
@@ -4,11 +4,12 @@ import { useMutation } from '@tanstack/react-query';
4
4
  import { assert } from 'ts-essentials';
5
5
  import 'wagmi';
6
6
  import 'wagmi/query';
7
+ import '../../../lib/queryClient.js';
7
8
  import '../../../lib/web3/wagmi/config.js';
9
+ import 'viem';
10
+ import 'wagmi/chains';
8
11
  import '@wagmi/core';
9
12
  import 'wagmi/connectors';
10
- import '../../../lib/queryClient.js';
11
- import 'viem';
12
13
  import 'react/jsx-runtime';
13
14
  import 'clsx';
14
15
  import 'tailwind-merge';
@@ -1 +1 @@
1
- {"version":3,"file":"useFillOrder.js","sources":["../../../../src/hooks/otc/mutations/useFillOrder.ts"],"sourcesContent":["import { useLimitOrdersSDK } from \"@/hooks/useSDK\";\nimport {\n useMutation,\n useQueryClient,\n type UseMutationOptions,\n type UseMutationResult,\n} from \"@tanstack/react-query\";\nimport type {\n MinViemClient,\n TxSendOverrides,\n FillOrderDirectlyFunctions,\n} from \"@velora-dex/sdk\";\nimport { assert } from \"ts-essentials\";\nimport type { Address, TransactionReceipt } from \"viem\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { useEnsureTxReceipt } from \"@/hooks/txs/queries/useAwaitTx\";\nimport { type TxSentObject } from \"@/lib/utils/transactionHandlers\";\nimport { limitOrdersQueryKey } from \"../queries/useLimitOrders\";\n\ntype FillOrderReturn = `0x${string}`;\ntype FillOrderAndWaitReturn = TransactionReceipt;\n\nexport type OrderFillData = Parameters<\n FillOrderDirectlyFunctions<FillOrderReturn>[\"fillOrderDirectly\"]\n>[0];\n\ntype FillOrderInput = {\n orderFillData: OrderFillData;\n overrides?: TxSendOverrides;\n signal?: AbortSignal; // since we have separate actions, we can abort in-between\n};\n\ntype FillOrderAndWaitInput = FillOrderInput & {\n onTxSent?: (txSent: TxSentObject) => void;\n};\n\ntype FillOrderMutationOptions = Omit<\n UseMutationOptions<FillOrderReturn, Error, FillOrderInput, void>,\n \"mutationFn\"\n>;\ntype FillOrderAndWaitMutationOptions = Omit<\n UseMutationOptions<FillOrderAndWaitReturn, Error, FillOrderInput, void>,\n \"mutationFn\"\n>;\n\ntype FillOrderMutInput = {\n mutationOptions?: FillOrderMutationOptions;\n chainId: SupportedChainId;\n account?: Address;\n client?: MinViemClient;\n};\n\ntype FillOrderAndWaitMutInput = {\n mutationOptions?: FillOrderAndWaitMutationOptions;\n chainId: SupportedChainId;\n account?: Address;\n client?: MinViemClient;\n};\n\nexport function useFillOrder({\n mutationOptions,\n chainId,\n account,\n client,\n}: FillOrderMutInput): UseMutationResult<\n FillOrderReturn,\n Error,\n FillOrderInput,\n void\n> {\n const { sdk } = useLimitOrdersSDK({ chainId, account, client });\n\n return useMutation<FillOrderReturn, Error, FillOrderInput, void>({\n mutationKey: [\"fillOrder\"],\n mutationFn: ({ orderFillData, overrides, signal }) => {\n // if aborted by this point, throw an error\n signal?.throwIfAborted();\n\n assert(\n \"fillOrderDirectly\" in sdk,\n \"fillOrderDirectly is not available on this SDK\"\n );\n // Note: This mutation requires the SDK to be initialized with account and client\n // to access fillOrderDirectly\n\n return sdk.fillOrderDirectly(orderFillData, overrides, { signal });\n },\n ...mutationOptions,\n });\n}\n\nexport function useFillOrderAndWait({\n mutationOptions,\n chainId,\n account,\n client,\n}: FillOrderAndWaitMutInput): UseMutationResult<\n FillOrderAndWaitReturn,\n Error,\n FillOrderAndWaitInput,\n void\n> & {\n fillTx: Omit<\n UseMutationResult<FillOrderReturn, Error, FillOrderInput, void>,\n \"mutate\" | \"mutateAsync\"\n >;\n} {\n const ensureTxReceipt = useEnsureTxReceipt();\n const { mutate, mutateAsync, ...fillTx } = useFillOrder({\n chainId,\n account,\n client,\n });\n const queryClient = useQueryClient();\n\n const mutationResult = useMutation<\n FillOrderAndWaitReturn,\n Error,\n FillOrderAndWaitInput,\n void\n >({\n mutationKey: [\"fillOrderAndWait\"],\n mutationFn: async ({ orderFillData, overrides, signal, onTxSent }) => {\n const txHash = await mutateAsync({ orderFillData, overrides, signal });\n\n const receiptPromise = ensureTxReceipt({ chainId, hash: txHash });\n\n onTxSent?.({\n chainId,\n transactionHash: txHash,\n action: \"fillOtcOrder\",\n receiptPromise,\n transactionSpecificData: {\n action: \"fillOtcOrder\",\n filledOrder: orderFillData.order,\n },\n });\n\n return receiptPromise;\n },\n ...mutationOptions,\n onSuccess: (data, variables, onMutationResult, context) => {\n queryClient.invalidateQueries({\n queryKey: limitOrdersQueryKey({ taker: account, type: \"P2P\" }, chainId),\n exact: false,\n });\n\n mutationOptions?.onSuccess?.(data, variables, onMutationResult, context);\n },\n });\n\n return { ...mutationResult, fillTx };\n}\n"],"names":["useFillOrder","t0","$","_c","mutationOptions","chainId","account","client","t1","sdk","useLimitOrdersSDK","t2","Symbol","for","t3","t4","orderFillData","overrides","signal","throwIfAborted","assert","fillOrderDirectly","mutationKey","mutationFn","useMutation"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AA2DO,SAAAA,aAAAC,EAAAA,EAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,EAAA,CAAA;AAAsB,EAAA,MAAA;AAAA,IAAAC,eAAAA;AAAAA,IAAAC,OAAAA;AAAAA,IAAAC,OAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAAAN,EAAAA;AAKT,EAAA,IAAAO,EAAAA;AAAA,EAAA,IAAAN,CAAAA,CAAA,CAAA,CAAA,KAAAI,OAAAA,IAAAJ,CAAAA,QAAAG,OAAAA,IAAAH,CAAAA,CAAA,CAAA,CAAA,KAAAK,MAAAA,EAAA;AAMgBC,IAAAA,EAAAA,GAAA;AAAA,MAAAH,OAAAA;AAAAA,MAAAC,OAAAA;AAAAA,MAAAC;AAAAA,KAA2B;AAACL,IAAAA,CAAAA,MAAAI,OAAAA;AAAAJ,IAAAA,CAAAA,MAAAG,OAAAA;AAAAH,IAAAA,CAAAA,MAAAK,MAAAA;AAAAL,IAAAA,CAAAA,MAAAM,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAN,EAAA,CAAA,CAAA;AAAA,EAAA;AAA9D,EAAA,MAAA;AAAA,IAAAO;AAAAA,GAAA,GAAgBC,kBAAkBF,EAA4B,CAAA;AAAE,EAAA,IAAAG,EAAAA;AAAA,EAAA,IAAAT,EAAA,CAAA,CAAA,KAAAU,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AAGjDF,IAAAA,EAAAA,GAAA,CAAC,WAAW,CAAA;AAACT,IAAAA,CAAAA,MAAAS,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAT,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAY,EAAAA;AAAA,EAAA,IAAAZ,CAAAA,QAAAO,GAAAA,EAAA;AACdK,IAAAA,EAAAA,GAAAC,CAAAA,GAAAA,KAAA;AAAC,MAAA,MAAA;AAAA,QAAAC,aAAAA;AAAAA,QAAAC,SAAAA;AAAAA,QAAAC;AAAAA,OAAA,GAAAH,GAAAA;AAEXG,MAAAA,MAAAA,EAAMC,cAAAA,EAAiB;AAEvBC,MAAAA,MAAAA,CACE,mBAAA,IAAuBX,KACvB,gDACF,CAAA;AAAC,MAAA,OAIMA,GAAAA,CAAGY,iBAAAA,CAAmBL,aAAAA,EAAeC,SAAAA,EAAW;AAAA,QAAAC;AAAAA,OAAU,CAAA;AAAA,IAAC,CAAA;AACnEhB,IAAAA,CAAAA,MAAAO,GAAAA;AAAAP,IAAAA,CAAAA,MAAAY,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAZ,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAa,EAAAA;AAAA,EAAA,IAAAb,EAAA,CAAA,CAAA,KAAAE,mBAAAF,CAAAA,QAAAY,EAAAA,EAAA;AAd8DC,IAAAA,EAAAA,GAAA;AAAA,MAAAO,WAAAA,EAClDX,EAAAA;AAAAA,MAAaY,UAAAA,EACdT,EAAAA;AAAAA,MAYX,GACEV;AAAAA,KACL;AAACF,IAAAA,CAAAA,MAAAE,eAAAA;AAAAF,IAAAA,CAAAA,MAAAY,EAAAA;AAAAZ,IAAAA,CAAAA,MAAAa,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAb,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAhBMsB,YAA0DT,EAgBhE,CAAA;AAAC;;;;"}
1
+ {"version":3,"file":"useFillOrder.js","sources":["../../../../src/hooks/otc/mutations/useFillOrder.ts"],"sourcesContent":["import { useLimitOrdersSDK } from \"@/hooks/useSDK\";\nimport {\n useMutation,\n useQueryClient,\n type UseMutationOptions,\n type UseMutationResult,\n} from \"@tanstack/react-query\";\nimport type {\n MinViemClient,\n TxSendOverrides,\n FillOrderDirectlyFunctions,\n} from \"@velora-dex/sdk\";\nimport { assert } from \"ts-essentials\";\nimport type { Address, TransactionReceipt } from \"viem\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { useEnsureTxReceipt } from \"@/hooks/txs/queries/useAwaitTx\";\nimport { type TxSentObject } from \"@/lib/utils/transactionHandlers\";\nimport { limitOrdersQueryKey } from \"../queries/useLimitOrders\";\n\ntype FillOrderReturn = `0x${string}`;\ntype FillOrderAndWaitReturn = TransactionReceipt;\n\nexport type OrderFillData = Parameters<\n FillOrderDirectlyFunctions<FillOrderReturn>[\"fillOrderDirectly\"]\n>[0];\n\ntype FillOrderInput = {\n orderFillData: OrderFillData;\n overrides?: TxSendOverrides;\n signal?: AbortSignal; // since we have separate actions, we can abort in-between\n};\n\ntype FillOrderAndWaitInput = FillOrderInput & {\n onTxSent?: (txSent: TxSentObject) => void;\n};\n\ntype FillOrderMutationOptions = Omit<\n UseMutationOptions<FillOrderReturn, Error, FillOrderInput, void>,\n \"mutationFn\"\n>;\ntype FillOrderAndWaitMutationOptions = Omit<\n UseMutationOptions<FillOrderAndWaitReturn, Error, FillOrderInput, void>,\n \"mutationFn\"\n>;\n\ntype FillOrderMutInput = {\n mutationOptions?: FillOrderMutationOptions;\n chainId: SupportedChainId;\n account?: Address;\n client?: MinViemClient;\n};\n\ntype FillOrderAndWaitMutInput = {\n mutationOptions?: FillOrderAndWaitMutationOptions;\n chainId: SupportedChainId;\n account?: Address;\n client?: MinViemClient;\n};\n\nexport function useFillOrder({\n mutationOptions,\n chainId,\n account,\n client,\n}: FillOrderMutInput): UseMutationResult<\n FillOrderReturn,\n Error,\n FillOrderInput,\n void\n> {\n const { sdk } = useLimitOrdersSDK({ chainId, account, client });\n\n return useMutation<FillOrderReturn, Error, FillOrderInput, void>({\n mutationKey: [\"fillOrder\"],\n mutationFn: ({ orderFillData, overrides, signal }) => {\n // if aborted by this point, throw an error\n signal?.throwIfAborted();\n\n assert(\n \"fillOrderDirectly\" in sdk,\n \"fillOrderDirectly is not available on this SDK\"\n );\n // Note: This mutation requires the SDK to be initialized with account and client\n // to access fillOrderDirectly\n\n return sdk.fillOrderDirectly(orderFillData, overrides, { signal });\n },\n ...mutationOptions,\n });\n}\n\nexport function useFillOrderAndWait({\n mutationOptions,\n chainId,\n account,\n client,\n}: FillOrderAndWaitMutInput): UseMutationResult<\n FillOrderAndWaitReturn,\n Error,\n FillOrderAndWaitInput,\n void\n> & {\n fillTx: Omit<\n UseMutationResult<FillOrderReturn, Error, FillOrderInput, void>,\n \"mutate\" | \"mutateAsync\"\n >;\n} {\n const ensureTxReceipt = useEnsureTxReceipt();\n const { mutate, mutateAsync, ...fillTx } = useFillOrder({\n chainId,\n account,\n client,\n });\n const queryClient = useQueryClient();\n\n const mutationResult = useMutation<\n FillOrderAndWaitReturn,\n Error,\n FillOrderAndWaitInput,\n void\n >({\n mutationKey: [\"fillOrderAndWait\"],\n mutationFn: async ({ orderFillData, overrides, signal, onTxSent }) => {\n const txHash = await mutateAsync({ orderFillData, overrides, signal });\n\n const receiptPromise = ensureTxReceipt({ chainId, hash: txHash });\n\n onTxSent?.({\n chainId,\n transactionHash: txHash,\n action: \"fillOtcOrder\",\n receiptPromise,\n transactionSpecificData: {\n action: \"fillOtcOrder\",\n filledOrder: orderFillData.order,\n },\n });\n\n return receiptPromise;\n },\n ...mutationOptions,\n onSuccess: (data, variables, onMutationResult, context) => {\n queryClient.invalidateQueries({\n queryKey: limitOrdersQueryKey({ taker: account, type: \"P2P\" }, chainId),\n exact: false,\n });\n\n mutationOptions?.onSuccess?.(data, variables, onMutationResult, context);\n },\n });\n\n return { ...mutationResult, fillTx };\n}\n"],"names":["useFillOrder","t0","$","_c","mutationOptions","chainId","account","client","t1","sdk","useLimitOrdersSDK","t2","Symbol","for","t3","t4","orderFillData","overrides","signal","throwIfAborted","assert","fillOrderDirectly","mutationKey","mutationFn","useMutation"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AA2DO,SAAAA,aAAAC,EAAAA,EAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,EAAA,CAAA;AAAsB,EAAA,MAAA;AAAA,IAAAC,eAAAA;AAAAA,IAAAC,OAAAA;AAAAA,IAAAC,OAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAAAN,EAAAA;AAKT,EAAA,IAAAO,EAAAA;AAAA,EAAA,IAAAN,CAAAA,CAAA,CAAA,CAAA,KAAAI,OAAAA,IAAAJ,CAAAA,QAAAG,OAAAA,IAAAH,CAAAA,CAAA,CAAA,CAAA,KAAAK,MAAAA,EAAA;AAMgBC,IAAAA,EAAAA,GAAA;AAAA,MAAAH,OAAAA;AAAAA,MAAAC,OAAAA;AAAAA,MAAAC;AAAAA,KAA2B;AAACL,IAAAA,CAAAA,MAAAI,OAAAA;AAAAJ,IAAAA,CAAAA,MAAAG,OAAAA;AAAAH,IAAAA,CAAAA,MAAAK,MAAAA;AAAAL,IAAAA,CAAAA,MAAAM,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAN,EAAA,CAAA,CAAA;AAAA,EAAA;AAA9D,EAAA,MAAA;AAAA,IAAAO;AAAAA,GAAA,GAAgBC,kBAAkBF,EAA4B,CAAA;AAAE,EAAA,IAAAG,EAAAA;AAAA,EAAA,IAAAT,EAAA,CAAA,CAAA,KAAAU,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AAGjDF,IAAAA,EAAAA,GAAA,CAAC,WAAW,CAAA;AAACT,IAAAA,CAAAA,MAAAS,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAT,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAY,EAAAA;AAAA,EAAA,IAAAZ,CAAAA,QAAAO,GAAAA,EAAA;AACdK,IAAAA,EAAAA,GAAAC,CAAAA,GAAAA,KAAA;AAAC,MAAA,MAAA;AAAA,QAAAC,aAAAA;AAAAA,QAAAC,SAAAA;AAAAA,QAAAC;AAAAA,OAAA,GAAAH,GAAAA;AAEXG,MAAAA,MAAAA,EAAMC,cAAAA,EAAiB;AAEvBC,MAAAA,MAAAA,CACE,mBAAA,IAAuBX,KACvB,gDACF,CAAA;AAAC,MAAA,OAIMA,GAAAA,CAAGY,iBAAAA,CAAmBL,aAAAA,EAAeC,SAAAA,EAAW;AAAA,QAAAC;AAAAA,OAAU,CAAA;AAAA,IAAC,CAAA;AACnEhB,IAAAA,CAAAA,MAAAO,GAAAA;AAAAP,IAAAA,CAAAA,MAAAY,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAZ,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAa,EAAAA;AAAA,EAAA,IAAAb,EAAA,CAAA,CAAA,KAAAE,mBAAAF,CAAAA,QAAAY,EAAAA,EAAA;AAd8DC,IAAAA,EAAAA,GAAA;AAAA,MAAAO,WAAAA,EAClDX,EAAAA;AAAAA,MAAaY,UAAAA,EACdT,EAAAA;AAAAA,MAYX,GACEV;AAAAA,KACL;AAACF,IAAAA,CAAAA,MAAAE,eAAAA;AAAAF,IAAAA,CAAAA,MAAAY,EAAAA;AAAAZ,IAAAA,CAAAA,MAAAa,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAb,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAhBMsB,YAA0DT,EAgBhE,CAAA;AAAC;;;;"}
@@ -18,6 +18,7 @@ import '../../../assets/circle-exclamation.svg.js';
18
18
  import '@radix-ui/react-progress';
19
19
  import '../../../lib/web3/wagmi/constants.js';
20
20
  import '../../../core/store.js';
21
+ import 'wagmi/connectors';
21
22
  import { useApproveOrPermit } from '../../swap/tradeFlow/common/useApproveOrPermit.js';
22
23
  import { useLogger } from '../../../core/logger.js';
23
24
  import { useFillOrder } from '../mutations/useFillOrder.js';