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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (208) hide show
  1. package/dist/components/ui/tooltip.js +1 -1
  2. package/dist/components/ui/tooltip.js.map +1 -1
  3. package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.d.ts.map +1 -1
  4. package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.js +53 -29
  5. package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.js.map +1 -1
  6. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.d.ts +6 -4
  7. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.d.ts.map +1 -1
  8. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js +346 -139
  9. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js.map +1 -1
  10. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/index.js +1 -1
  11. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/index.js.map +1 -1
  12. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/tokens.js +24 -19
  13. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/tokens.js.map +1 -1
  14. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListRow.js +1 -1
  15. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListRow.js.map +1 -1
  16. package/dist/components/widget/Dialog/SelectTokenDialog/TokenSearch.d.ts.map +1 -1
  17. package/dist/components/widget/Dialog/SelectTokenDialog/TokenSearch.js +48 -36
  18. package/dist/components/widget/Dialog/SelectTokenDialog/TokenSearch.js.map +1 -1
  19. package/dist/components/widget/Dialog/SelectTokenDialog/types.d.ts +3 -2
  20. package/dist/components/widget/Dialog/SelectTokenDialog/types.d.ts.map +1 -1
  21. package/dist/components/widget/NetworkSwitcher/NetworkSwitcherDropdown.d.ts.map +1 -1
  22. package/dist/components/widget/NetworkSwitcher/NetworkSwitcherDropdown.js +57 -108
  23. package/dist/components/widget/NetworkSwitcher/NetworkSwitcherDropdown.js.map +1 -1
  24. package/dist/components/widget/NetworkSwitcher/NetworkSwitcherList.d.ts +3 -0
  25. package/dist/components/widget/NetworkSwitcher/NetworkSwitcherList.d.ts.map +1 -0
  26. package/dist/components/widget/NetworkSwitcher/NetworkSwitcherList.js +72 -0
  27. package/dist/components/widget/NetworkSwitcher/NetworkSwitcherList.js.map +1 -0
  28. package/dist/components/widget/NetworkSwitcher/common/AllNetworksItem.d.ts +5 -0
  29. package/dist/components/widget/NetworkSwitcher/common/AllNetworksItem.d.ts.map +1 -0
  30. package/dist/components/widget/NetworkSwitcher/common/AllNetworksItem.js +48 -0
  31. package/dist/components/widget/NetworkSwitcher/common/AllNetworksItem.js.map +1 -0
  32. package/dist/components/widget/NetworkSwitcher/common/NetworkItem.d.ts +7 -0
  33. package/dist/components/widget/NetworkSwitcher/common/NetworkItem.d.ts.map +1 -0
  34. package/dist/components/widget/NetworkSwitcher/common/NetworkItem.js +46 -0
  35. package/dist/components/widget/NetworkSwitcher/common/NetworkItem.js.map +1 -0
  36. package/dist/components/widget/NetworkSwitcher/types.d.ts +13 -2
  37. package/dist/components/widget/NetworkSwitcher/types.d.ts.map +1 -1
  38. package/dist/components/widget/NetworkSwitcher/utils/items.d.ts +3 -0
  39. package/dist/components/widget/NetworkSwitcher/utils/items.d.ts.map +1 -0
  40. package/dist/components/widget/NetworkSwitcher/utils/items.js +65 -0
  41. package/dist/components/widget/NetworkSwitcher/utils/items.js.map +1 -0
  42. package/dist/components/widget/NetworkWithIcon/NetworkWithIcon.js +2 -2
  43. package/dist/components/widget/NetworkWithIcon/NetworkWithIcon.js.map +1 -1
  44. package/dist/components/widget/Screen/GenericScreen.d.ts +6 -2
  45. package/dist/components/widget/Screen/GenericScreen.d.ts.map +1 -1
  46. package/dist/components/widget/Screen/GenericScreen.js +112 -33
  47. package/dist/components/widget/Screen/GenericScreen.js.map +1 -1
  48. package/dist/components/widget/SelectToken/SelectTokenButton.d.ts +1 -1
  49. package/dist/components/widget/SelectToken/SelectTokenButton.d.ts.map +1 -1
  50. package/dist/components/widget/SelectToken/SelectTokenButton.js +100 -73
  51. package/dist/components/widget/SelectToken/SelectTokenButton.js.map +1 -1
  52. package/dist/components/widget/SelectToken/types.d.ts +3 -0
  53. package/dist/components/widget/SelectToken/types.d.ts.map +1 -1
  54. package/dist/components/widget/TokenInput/InputContainer.d.ts +3 -0
  55. package/dist/components/widget/TokenInput/InputContainer.d.ts.map +1 -0
  56. package/dist/components/widget/TokenInput/InputContainer.js +54 -0
  57. package/dist/components/widget/TokenInput/InputContainer.js.map +1 -0
  58. package/dist/components/widget/TokenInput/InputField.d.ts +6 -0
  59. package/dist/components/widget/TokenInput/InputField.d.ts.map +1 -0
  60. package/dist/components/widget/TokenInput/InputField.js +84 -0
  61. package/dist/components/widget/TokenInput/InputField.js.map +1 -0
  62. package/dist/components/widget/TokenInput/InputFooter.d.ts +5 -0
  63. package/dist/components/widget/TokenInput/InputFooter.d.ts.map +1 -0
  64. package/dist/components/widget/TokenInput/InputFooter.js +206 -0
  65. package/dist/components/widget/TokenInput/InputFooter.js.map +1 -0
  66. package/dist/components/widget/TokenInput/InputHeader.d.ts +5 -0
  67. package/dist/components/widget/TokenInput/InputHeader.d.ts.map +1 -0
  68. package/dist/components/widget/TokenInput/InputHeader.js +58 -0
  69. package/dist/components/widget/TokenInput/InputHeader.js.map +1 -0
  70. package/dist/components/widget/TokenInput/common/Balance.d.ts +3 -0
  71. package/dist/components/widget/TokenInput/common/Balance.d.ts.map +1 -0
  72. package/dist/components/widget/TokenInput/common/Balance.js +23 -0
  73. package/dist/components/widget/TokenInput/common/Balance.js.map +1 -0
  74. package/dist/components/widget/TokenInput/common/MaxButtons.d.ts +4 -0
  75. package/dist/components/widget/TokenInput/common/MaxButtons.d.ts.map +1 -0
  76. package/dist/components/widget/TokenInput/common/MaxButtons.js +49 -0
  77. package/dist/components/widget/TokenInput/common/MaxButtons.js.map +1 -0
  78. package/dist/components/widget/TokenInput/index.d.ts.map +1 -1
  79. package/dist/components/widget/TokenInput/index.js +115 -153
  80. package/dist/components/widget/TokenInput/index.js.map +1 -1
  81. package/dist/components/widget/TokenInput/types.d.ts +7 -1
  82. package/dist/components/widget/TokenInput/types.d.ts.map +1 -1
  83. package/dist/configurator/Configurator.d.ts.map +1 -1
  84. package/dist/configurator/components/EnabledChainsSelector.d.ts.map +1 -1
  85. package/dist/configurator/components/PartnerInput.d.ts +5 -3
  86. package/dist/configurator/components/PartnerInput.d.ts.map +1 -1
  87. package/dist/configurator/components/common/Input.d.ts +9 -0
  88. package/dist/configurator/components/common/Input.d.ts.map +1 -1
  89. package/dist/core/constants.d.ts +3 -0
  90. package/dist/core/constants.d.ts.map +1 -1
  91. package/dist/core/constants.js +4 -1
  92. package/dist/core/constants.js.map +1 -1
  93. package/dist/core/index.d.ts.map +1 -1
  94. package/dist/core/index.js +121 -113
  95. package/dist/core/index.js.map +1 -1
  96. package/dist/core/inputs/hooks/useMaxButtonProps.d.ts +2 -7
  97. package/dist/core/inputs/hooks/useMaxButtonProps.d.ts.map +1 -1
  98. package/dist/core/inputs/hooks/useMaxButtonProps.js +39 -6
  99. package/dist/core/inputs/hooks/useMaxButtonProps.js.map +1 -1
  100. package/dist/core/limit/useLimitTokenFromInputProps.d.ts.map +1 -1
  101. package/dist/core/limit/useLimitTokenFromInputProps.js +15 -2
  102. package/dist/core/limit/useLimitTokenFromInputProps.js.map +1 -1
  103. package/dist/core/otc/useOtcTokenFromInputProps.d.ts.map +1 -1
  104. package/dist/core/otc/useOtcTokenFromInputProps.js +15 -2
  105. package/dist/core/otc/useOtcTokenFromInputProps.js.map +1 -1
  106. package/dist/core/screen/hooks/useResizeObserver.d.ts +2 -0
  107. package/dist/core/screen/hooks/useResizeObserver.d.ts.map +1 -0
  108. package/dist/core/screen/hooks/useResizeObserver.js +36 -0
  109. package/dist/core/screen/hooks/useResizeObserver.js.map +1 -0
  110. package/dist/core/state/configActionsAtom.d.ts.map +1 -1
  111. package/dist/core/state/configActionsAtom.js +3 -3
  112. package/dist/core/state/configActionsAtom.js.map +1 -1
  113. package/dist/core/state/configAtom.d.ts +5 -6
  114. package/dist/core/state/configAtom.d.ts.map +1 -1
  115. package/dist/core/state/configAtom.js +7 -4
  116. package/dist/core/state/configAtom.js.map +1 -1
  117. package/dist/core/state/containerAtom.d.ts +4 -0
  118. package/dist/core/state/containerAtom.d.ts.map +1 -1
  119. package/dist/core/state/containerAtom.js +8 -1
  120. package/dist/core/state/containerAtom.js.map +1 -1
  121. package/dist/core/state/validatedPartnerConfigAtom.d.ts +3 -0
  122. package/dist/core/state/validatedPartnerConfigAtom.d.ts.map +1 -0
  123. package/dist/core/state/validatedPartnerConfigAtom.js +22 -0
  124. package/dist/core/state/validatedPartnerConfigAtom.js.map +1 -0
  125. package/dist/core/types.d.ts +12 -2
  126. package/dist/core/types.d.ts.map +1 -1
  127. package/dist/events/hooks/useOnWalletConnect.d.ts.map +1 -1
  128. package/dist/events/hooks/useOnWalletConnect.js +12 -1
  129. package/dist/events/hooks/useOnWalletConnect.js.map +1 -1
  130. package/dist/events/types/connectWallet.d.ts +2 -1
  131. package/dist/events/types/connectWallet.d.ts.map +1 -1
  132. package/dist/hooks/connectors/useIsConnectedSafe.d.ts +1 -0
  133. package/dist/hooks/connectors/useIsConnectedSafe.d.ts.map +1 -1
  134. package/dist/hooks/connectors/useIsConnectedSafe.js +6 -1
  135. package/dist/hooks/connectors/useIsConnectedSafe.js.map +1 -1
  136. package/dist/hooks/connectors/useIsSafeThroughWalletConnect.d.ts.map +1 -1
  137. package/dist/hooks/connectors/useIsSafeThroughWalletConnect.js +2 -2
  138. package/dist/hooks/connectors/useIsSafeThroughWalletConnect.js.map +1 -1
  139. package/dist/hooks/otc/mutations/useFillOrder.js +0 -12
  140. package/dist/hooks/otc/mutations/useFillOrder.js.map +1 -1
  141. package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.js +0 -13
  142. package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.js.map +1 -1
  143. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts +2 -1
  144. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts.map +1 -1
  145. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js +2 -1
  146. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
  147. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.d.ts +1 -0
  148. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.d.ts.map +1 -1
  149. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js +2 -1
  150. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js.map +1 -1
  151. package/dist/hooks/swap/prices/usePricesParams.d.ts +1 -1
  152. package/dist/hooks/swap/prices/usePricesParams.d.ts.map +1 -1
  153. package/dist/hooks/swap/prices/usePricesParams.js +31 -27
  154. package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
  155. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
  156. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +9 -1
  157. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
  158. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js +3 -1
  159. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js.map +1 -1
  160. package/dist/hooks/swap/tradeFlow/useMarketFlow.js +9 -6
  161. package/dist/hooks/swap/tradeFlow/useMarketFlow.js.map +1 -1
  162. package/dist/hooks/txs/queries/useAwaitTx.d.ts.map +1 -1
  163. package/dist/hooks/txs/queries/useAwaitTx.js +3 -4
  164. package/dist/hooks/txs/queries/useAwaitTx.js.map +1 -1
  165. package/dist/hooks/useBreakpoints.d.ts +4 -0
  166. package/dist/hooks/useBreakpoints.d.ts.map +1 -0
  167. package/dist/hooks/useBreakpoints.js +22 -0
  168. package/dist/hooks/useBreakpoints.js.map +1 -0
  169. package/dist/hooks/usePartner.d.ts +1 -1
  170. package/dist/hooks/usePartner.d.ts.map +1 -1
  171. package/dist/hooks/usePartner.js +3 -5
  172. package/dist/hooks/usePartner.js.map +1 -1
  173. package/dist/lib/constants/mobile.d.ts +2 -0
  174. package/dist/lib/constants/mobile.d.ts.map +1 -0
  175. package/dist/lib/constants/mobile.js +6 -0
  176. package/dist/lib/constants/mobile.js.map +1 -0
  177. package/dist/lib/constants/storage.d.ts +1 -1
  178. package/dist/lib/constants/storage.d.ts.map +1 -1
  179. package/dist/lib/constants/storage.js +3 -1
  180. package/dist/lib/constants/storage.js.map +1 -1
  181. package/dist/lib/utils/formatFiatPrice.d.ts +1 -1
  182. package/dist/lib/utils/formatFiatPrice.d.ts.map +1 -1
  183. package/dist/lib/utils/formatFiatPrice.js +4 -2
  184. package/dist/lib/utils/formatFiatPrice.js.map +1 -1
  185. package/dist/lib/utils/mobile.d.ts +6 -0
  186. package/dist/lib/utils/mobile.d.ts.map +1 -0
  187. package/dist/lib/utils/mobile.js +10 -0
  188. package/dist/lib/utils/mobile.js.map +1 -0
  189. package/dist/lib/web3/wagmi/config.d.ts.map +1 -1
  190. package/dist/lib/web3/wagmi/config.js +1 -1
  191. package/dist/lib/web3/wagmi/config.js.map +1 -1
  192. package/dist/lib/web3/wagmi/constants.d.ts +1 -0
  193. package/dist/lib/web3/wagmi/constants.d.ts.map +1 -1
  194. package/dist/lib/web3/wagmi/constants.js +13 -1
  195. package/dist/lib/web3/wagmi/constants.js.map +1 -1
  196. package/dist/lib/web3/wagmi/isInIframe.d.ts +2 -0
  197. package/dist/lib/web3/wagmi/isInIframe.d.ts.map +1 -0
  198. package/dist/lib/web3/wagmi/isInIframe.js +4 -0
  199. package/dist/lib/web3/wagmi/isInIframe.js.map +1 -0
  200. package/dist/lib/web3/wagmi/isInsideSafeIframe.d.ts +0 -1
  201. package/dist/lib/web3/wagmi/isInsideSafeIframe.d.ts.map +1 -1
  202. package/dist/lib/web3/wagmi/isInsideSafeIframe.js +2 -2
  203. package/dist/lib/web3/wagmi/isInsideSafeIframe.js.map +1 -1
  204. package/dist/styles.css +56 -17
  205. package/dist/transactions/state/transactionsActionAtom.d.ts.map +1 -1
  206. package/dist/transactions/state/transactionsActionAtom.js +11 -2
  207. package/dist/transactions/state/transactionsActionAtom.js.map +1 -1
  208. package/package.json +3 -2
@@ -0,0 +1,6 @@
1
+ import { isMobileDevice } from '../utils/mobile.js';
2
+
3
+ const IS_MOBILE_DEVICE = isMobileDevice();
4
+
5
+ export { IS_MOBILE_DEVICE };
6
+ //# sourceMappingURL=mobile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mobile.js","sources":["../../../src/lib/constants/mobile.ts"],"sourcesContent":["import { isMobileDevice } from \"../utils/mobile\";\n\n// this will also be true if the widget was loaded within the device toolbar in dev tools\nexport const IS_MOBILE_DEVICE = isMobileDevice();\n"],"names":["IS_MOBILE_DEVICE","isMobileDevice"],"mappings":";;AAGO,MAAMA,mBAAmBC,cAAAA;;;;"}
@@ -1,2 +1,2 @@
1
- export declare const LOCAL_STORAGE_PREFIX = "velora_widget";
1
+ export declare const LOCAL_STORAGE_PREFIX: string;
2
2
  //# sourceMappingURL=storage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/lib/constants/storage.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,kBAAkB,CAAC"}
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/lib/constants/storage.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,oBAAoB,QAEd,CAAC"}
@@ -1,4 +1,6 @@
1
- const LOCAL_STORAGE_PREFIX = "velora_widget";
1
+ import { isInIframe } from '../web3/wagmi/isInIframe.js';
2
+
3
+ const LOCAL_STORAGE_PREFIX = isInIframe ? "embedded_velora_widget" : "velora_widget";
2
4
 
3
5
  export { LOCAL_STORAGE_PREFIX };
4
6
  //# sourceMappingURL=storage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"storage.js","sources":["../../../src/lib/constants/storage.ts"],"sourcesContent":["export const LOCAL_STORAGE_PREFIX = \"velora_widget\";\n"],"names":["LOCAL_STORAGE_PREFIX"],"mappings":"AAAO,MAAMA,oBAAAA,GAAuB;;;;"}
1
+ {"version":3,"file":"storage.js","sources":["../../../src/lib/constants/storage.ts"],"sourcesContent":["import { isInIframe } from \"../web3/wagmi/isInIframe\";\n\nexport const LOCAL_STORAGE_PREFIX = isInIframe\n ? \"embedded_velora_widget\"\n : \"velora_widget\";\n"],"names":["LOCAL_STORAGE_PREFIX","isInIframe"],"mappings":";;AAEO,MAAMA,oBAAAA,GAAuBC,aAChC,wBAAA,GACA;;;;"}
@@ -1,5 +1,5 @@
1
1
  type Nullish<T> = T | null | undefined;
2
2
  /** Formats USD and non-USD prices */
3
- export declare function formatFiatPrice(price: Nullish<number>, currency?: string): string;
3
+ export declare function formatFiatPrice(price: Nullish<number>, options?: Intl.NumberFormatOptions): string;
4
4
  export {};
5
5
  //# sourceMappingURL=formatFiatPrice.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"formatFiatPrice.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/formatFiatPrice.ts"],"names":[],"mappings":"AAAA,KAAK,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;AAEvC,qCAAqC;AACrC,wBAAgB,eAAe,CAC7B,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,EACtB,QAAQ,SAAQ,GACf,MAAM,CAKR"}
1
+ {"version":3,"file":"formatFiatPrice.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/formatFiatPrice.ts"],"names":[],"mappings":"AAAA,KAAK,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;AAEvC,qCAAqC;AACrC,wBAAgB,eAAe,CAC7B,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,EACtB,OAAO,CAAC,EAAE,IAAI,CAAC,mBAAmB,GACjC,MAAM,CAQR"}
@@ -1,8 +1,10 @@
1
- function formatFiatPrice(price, currency = "USD") {
1
+ function formatFiatPrice(price, options) {
2
2
  if (price === null || price === void 0) return "-";
3
3
  return new Intl.NumberFormat("en-US", {
4
4
  style: "currency",
5
- currency
5
+ currency: "USD",
6
+ notation: price > 1e9 ? "compact" : void 0,
7
+ ...options
6
8
  }).format(price);
7
9
  }
8
10
 
@@ -1 +1 @@
1
- {"version":3,"file":"formatFiatPrice.js","sources":["../../../src/lib/utils/formatFiatPrice.ts"],"sourcesContent":["type Nullish<T> = T | null | undefined;\n\n/** Formats USD and non-USD prices */\nexport function formatFiatPrice(\n price: Nullish<number>,\n currency = \"USD\"\n): string {\n if (price === null || price === undefined) return \"-\";\n return new Intl.NumberFormat(\"en-US\", { style: \"currency\", currency }).format(\n price\n );\n}\n"],"names":["formatFiatPrice","price","currency","undefined","Intl","NumberFormat","style","format"],"mappings":"AAGO,SAASA,eAAAA,CACdC,KAAAA,EACAC,QAAAA,GAAW,KAAA,EACH;AACR,EAAA,IAAID,KAAAA,KAAU,IAAA,IAAQA,KAAAA,KAAUE,MAAAA,EAAW,OAAO,GAAA;AAClD,EAAA,OAAO,IAAIC,IAAAA,CAAKC,YAAAA,CAAa,OAAA,EAAS;AAAA,IAAEC,KAAAA,EAAO,UAAA;AAAA,IAAYJ;AAAAA,GAAU,CAAA,CAAEK,MAAAA,CACrEN,KACF,CAAA;AACF;;;;"}
1
+ {"version":3,"file":"formatFiatPrice.js","sources":["../../../src/lib/utils/formatFiatPrice.ts"],"sourcesContent":["type Nullish<T> = T | null | undefined;\n\n/** Formats USD and non-USD prices */\nexport function formatFiatPrice(\n price: Nullish<number>,\n options?: Intl.NumberFormatOptions\n): string {\n if (price === null || price === undefined) return \"-\";\n return new Intl.NumberFormat(\"en-US\", {\n style: \"currency\",\n currency: \"USD\",\n notation: price > 1_000_000_000 ? \"compact\" : undefined,\n ...options,\n }).format(price);\n}\n"],"names":["formatFiatPrice","price","options","undefined","Intl","NumberFormat","style","currency","notation","format"],"mappings":"AAGO,SAASA,eAAAA,CACdC,OACAC,OAAAA,EACQ;AACR,EAAA,IAAID,KAAAA,KAAU,IAAA,IAAQA,KAAAA,KAAUE,MAAAA,EAAW,OAAO,GAAA;AAClD,EAAA,OAAO,IAAIC,IAAAA,CAAKC,YAAAA,CAAa,OAAA,EAAS;AAAA,IACpCC,KAAAA,EAAO,UAAA;AAAA,IACPC,QAAAA,EAAU,KAAA;AAAA,IACVC,QAAAA,EAAUP,KAAAA,GAAQ,GAAA,GAAgB,SAAA,GAAYE,MAAAA;AAAAA,IAC9C,GAAGD;AAAAA,GACJ,CAAA,CAAEO,MAAAA,CAAOR,KAAK,CAAA;AACjB;;;;"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Check if the device is mobile or tablet. The detection is based on the navigator.userAgent property.
3
+ * @returns True if the device is mobile or tablet, false otherwise.
4
+ */
5
+ export declare function isMobileDevice(): boolean;
6
+ //# sourceMappingURL=mobile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mobile.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/mobile.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,wBAAgB,cAAc,YAE7B"}
@@ -0,0 +1,10 @@
1
+ import mobile from 'is-mobile';
2
+
3
+ function isMobileDevice() {
4
+ return mobile({
5
+ tablet: true
6
+ });
7
+ }
8
+
9
+ export { isMobileDevice };
10
+ //# sourceMappingURL=mobile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mobile.js","sources":["../../../src/lib/utils/mobile.ts"],"sourcesContent":["import mobile from \"is-mobile\";\n\n/**\n * Check if the device is mobile or tablet. The detection is based on the navigator.userAgent property.\n * @returns True if the device is mobile or tablet, false otherwise.\n */\nexport function isMobileDevice() {\n return mobile({ tablet: true });\n}\n"],"names":["isMobileDevice","mobile","tablet"],"mappings":";;AAMO,SAASA,cAAAA,GAAiB;AAC/B,EAAA,OAAOC,MAAAA,CAAO;AAAA,IAAEC,MAAAA,EAAQ;AAAA,GAAM,CAAA;AAChC;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../src/lib/web3/wagmi/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../src/lib/web3/wagmi/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+B,KAAK,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAoC5E,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCAqB8vC,CAAC;;;;;;;;;;;;2BAAgrB,CAAC;+BAAgG,CAAC;;;;;;;;;;;;;;;;;;;;;;wBAAw5B,CAAC;gCAAyD,CAAC;;;0BAAuI,CAAC;oBAA+B,CAAC;;;;;;;;;;;;;;;;;;0BAA8xB,CAAC;iCAA0D,CAAC;mCAA4D,CAAC;uBAAgD,CAAC;uBAA6C,CAAC;;;gCAA2H,CAAC;4BAAqD,CAAC;oCAA6D,CAAC;0BAAmD,CAAC;oBAA6C,CAAC;0BAAmD,CAAC;;;;;;;;;;;;;;;;;;iCAAmyB,CAAC;mCAA4D,CAAC;;;;gCAA6J,CAAC;4BAAqD,CAAC;oCAA6D,CAAC;0BAAmD,CAAC;oBAA6C,CAAC;0BAAmD,CAAC;;;;;;;;;;;;;;;;;;iCAAmyB,CAAC;mCAA4D,CAAC;;;wBAAmH,CAAC;gCAAyD,CAAC;;;0BAAuI,CAAC;oBAA6C,CAAC;0BAAmD,CAAC;;;;;;;;;;;;;;;;;;iCAAmyB,CAAC;;;;wBAAiM,CAAC;;;;0BAAiL,CAAC;oBAA6C,CAAC;0BAAmD,CAAC;;;;;;;;;;;;;;;;;;;mCAA03B,CAAC;;;wBAAmH,CAAC;gCAAyD,CAAC;;;0BAAuI,CAAC;oBAA6C,CAAC;0BAAmD,CAAC;;;;;;;4BAAsR,CAAC;2BAAiD,CAAC;;;;;;;;;;oBAAsgB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCAApjS,CAAC;;;;;;;;;;;;2BAAgrB,CAAC;+BAAgG,CAAC;;;;;;;;;;;;;;;;;;;;;;wBAAw5B,CAAC;gCAAyD,CAAC;;;0BAAuI,CAAC;oBAA+B,CAAC;;;;;;;;;;;;;;;;;;0BAA8xB,CAAC;iCAA0D,CAAC;mCAA4D,CAAC;uBAAgD,CAAC;uBAA6C,CAAC;;;gCAA2H,CAAC;4BAAqD,CAAC;oCAA6D,CAAC;0BAAmD,CAAC;oBAA6C,CAAC;0BAAmD,CAAC;;;;;;;;;;;;;;;;;;iCAAmyB,CAAC;mCAA4D,CAAC;;;;gCAA6J,CAAC;4BAAqD,CAAC;oCAA6D,CAAC;0BAAmD,CAAC;oBAA6C,CAAC;0BAAmD,CAAC;;;;;;;;;;;;;;;;;;iCAAmyB,CAAC;mCAA4D,CAAC;;;wBAAmH,CAAC;gCAAyD,CAAC;;;0BAAuI,CAAC;oBAA6C,CAAC;0BAAmD,CAAC;;;;;;;;;;;;;;;;;;iCAAmyB,CAAC;;;;wBAAiM,CAAC;;;;0BAAiL,CAAC;oBAA6C,CAAC;0BAAmD,CAAC;;;;;;;;;;;;;;;;;;;mCAA03B,CAAC;;;wBAAmH,CAAC;gCAAyD,CAAC;;;0BAAuI,CAAC;oBAA6C,CAAC;0BAAmD,CAAC;;;;;;;4BAAsR,CAAC;2BAAiD,CAAC;;;;;;;;;;oBAAsgB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCAA52S,CAAC;;;;;;;;;;;;2BAAgrB,CAAC;+BAAgG,CAAC;;;;;;;;;;;;;;;;;;;;;;wBAAw5B,CAAC;gCAAyD,CAAC;;;0BAAuI,CAAC;oBAA+B,CAAC;;;;;;;;;;;;;;;;;;0BAA8xB,CAAC;iCAA0D,CAAC;mCAA4D,CAAC;uBAAgD,CAAC;uBAA6C,CAAC;;;gCAA2H,CAAC;4BAAqD,CAAC;oCAA6D,CAAC;0BAAmD,CAAC;oBAA6C,CAAC;0BAAmD,CAAC;;;;;;;;;;;;;;;;;;iCAAmyB,CAAC;mCAA4D,CAAC;;;;gCAA6J,CAAC;4BAAqD,CAAC;oCAA6D,CAAC;0BAAmD,CAAC;oBAA6C,CAAC;0BAAmD,CAAC;;;;;;;;;;;;;;;;;;iCAAmyB,CAAC;mCAA4D,CAAC;;;wBAAmH,CAAC;gCAAyD,CAAC;;;0BAAuI,CAAC;oBAA6C,CAAC;0BAAmD,CAAC;;;;;;;;;;;;;;;;;;iCAAmyB,CAAC;;;;wBAAiM,CAAC;;;;0BAAiL,CAAC;oBAA6C,CAAC;0BAAmD,CAAC;;;;;;;;;;;;;;;;;;;mCAA03B,CAAC;;;wBAAmH,CAAC;gCAAyD,CAAC;;;0BAAuI,CAAC;oBAA6C,CAAC;0BAAmD,CAAC;;;;;;;4BAAsR,CAAC;2BAAiD,CAAC;;;;;;;;;;oBAAsgB,CAAC;;;;;;;;;;;;;;;;;0JAP/qU,CAAC;AAEH,OAAO,QAAQ,OAAO,CAAC;IACrB,UAAU,QAAQ;QAChB,MAAM,EAAE,OAAO,WAAW,CAAC;KAC5B;CACF"}
@@ -2,7 +2,7 @@ import { createConfig, createStorage } from 'wagmi';
2
2
  import { walletConnect, injected, coinbaseWallet, safe } from 'wagmi/connectors';
3
3
  import { chains } from './constants.js';
4
4
  import { transports } from './transports.js';
5
- import { isInIframe } from './isInsideSafeIframe.js';
5
+ import { isInIframe } from './isInIframe.js';
6
6
  import { LOCAL_STORAGE_PREFIX } from '../../constants/storage.js';
7
7
 
8
8
  const connectors = [
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sources":["../../../../src/lib/web3/wagmi/config.ts"],"sourcesContent":["import { createConfig, createStorage, type CreateConnectorFn } from \"wagmi\";\nimport {\n injected,\n // metaMask,\n safe,\n walletConnect,\n coinbaseWallet,\n} from \"wagmi/connectors\";\nimport { chains } from \"./constants\";\nimport { transports } from \"./transports\";\nimport { isInIframe } from \"./isInsideSafeIframe\";\nimport { LOCAL_STORAGE_PREFIX } from \"@/lib/constants/storage\";\n\n// can add more connectors to cover wallets Privy doesn't support, but need to change UI to allow connection\nconst connectors = [\n walletConnect({\n projectId: import.meta.env.VITE_WALLET_CONNECT_ID,\n }) as CreateConnectorFn,\n injected() as CreateConnectorFn,\n // metaMask() as CreateConnectorFn, // injected() detects metamask already\n coinbaseWallet() as CreateConnectorFn,\n // raw returned types result in\n // The inferred type of 'config' cannot be named without a reference to '.pnpm/@safe-global+safe-apps-provider@0.18.6_typescript@5.8.3/node_modules/@safe-global/safe-apps-provider'. This is likely not portable. A type annotation is necessary.\n\n // getPrivyWalletConnector(), // only CorssApp Privy connector is available, not our use case\n];\n// @TODO see how we can implement Ledger connector, borrow it from rainbowkit?\n\nif (isInIframe) {\n // when widget is in an App inside iframe, chances are we are in Safe web app,\n // allow Safe connector to be used.\n // we can't know if we are inside specifically Safe iframe until we try to connect, though.\n // A check for that is in isInsideSafeIframe.ts\n connectors.unshift(safe());\n}\n\nexport const wagmiConfig = createConfig({\n storage: createStorage({\n storage: typeof window !== \"undefined\" ? window.localStorage : undefined,\n key: `${LOCAL_STORAGE_PREFIX}_wagmi`,\n }),\n chains,\n connectors,\n transports,\n syncConnectedChain: false,\n batch: {\n multicall: {\n wait: 20,\n },\n },\n});\n\ndeclare module \"wagmi\" {\n interface Register {\n config: typeof wagmiConfig;\n }\n}\n"],"names":["connectors","walletConnect","projectId","import","injected","coinbaseWallet","isInIframe","unshift","safe","wagmiConfig","createConfig","storage","createStorage","window","localStorage","undefined","key","LOCAL_STORAGE_PREFIX","chains","transports","syncConnectedChain","batch","multicall","wait"],"mappings":";;;;;;;AAcA,MAAMA,UAAAA,GAAa;AAAA,EACjBC,aAAAA,CAAc;AAAA,IACZC,SAAAA,EAAWC;AAAAA,GACZ,CAAA;AAAA,EACDC,QAAAA,EAAS;AAAA;AAAA,EAETC,cAAAA;AAAe;AAAA;AAAA;AAIf,CAAA;AAIF,IAAIC,UAAAA,EAAY;AAKdN,EAAAA,UAAAA,CAAWO,OAAAA,CAAQC,MAAM,CAAA;AAC3B;AAEO,MAAMC,cAAcC,YAAAA,CAAa;AAAA,EACtCC,SAASC,aAAAA,CAAc;AAAA,IACrBD,OAAAA,EAAS,OAAOE,MAAAA,KAAW,WAAA,GAAcA,OAAOC,YAAAA,GAAeC,MAAAA;AAAAA,IAC/DC,GAAAA,EAAK,GAAGC,oBAAoB,CAAA,MAAA;AAAA,GAC7B,CAAA;AAAA,EACDC,MAAAA;AAAAA,EACAlB,UAAAA;AAAAA,EACAmB,UAAAA;AAAAA,EACAC,kBAAAA,EAAoB,KAAA;AAAA,EACpBC,KAAAA,EAAO;AAAA,IACLC,SAAAA,EAAW;AAAA,MACTC,IAAAA,EAAM;AAAA;AACR;AAEJ,CAAC;;;;"}
1
+ {"version":3,"file":"config.js","sources":["../../../../src/lib/web3/wagmi/config.ts"],"sourcesContent":["import { createConfig, createStorage, type CreateConnectorFn } from \"wagmi\";\nimport {\n injected,\n // metaMask,\n safe,\n walletConnect,\n coinbaseWallet,\n} from \"wagmi/connectors\";\nimport { chains } from \"./constants\";\nimport { transports } from \"./transports\";\nimport { isInIframe } from \"./isInIframe\";\nimport { LOCAL_STORAGE_PREFIX } from \"@/lib/constants/storage\";\n\n// can add more connectors to cover wallets Privy doesn't support, but need to change UI to allow connection\nconst connectors = [\n walletConnect({\n projectId: import.meta.env.VITE_WALLET_CONNECT_ID,\n }) as CreateConnectorFn,\n injected() as CreateConnectorFn,\n // metaMask() as CreateConnectorFn, // injected() detects metamask already\n coinbaseWallet() as CreateConnectorFn,\n // raw returned types result in\n // The inferred type of 'config' cannot be named without a reference to '.pnpm/@safe-global+safe-apps-provider@0.18.6_typescript@5.8.3/node_modules/@safe-global/safe-apps-provider'. This is likely not portable. A type annotation is necessary.\n\n // getPrivyWalletConnector(), // only CorssApp Privy connector is available, not our use case\n];\n// @TODO see how we can implement Ledger connector, borrow it from rainbowkit?\n\nif (isInIframe) {\n // when widget is in an App inside iframe, chances are we are in Safe web app,\n // allow Safe connector to be used.\n // we can't know if we are inside specifically Safe iframe until we try to connect, though.\n // A check for that is in isInsideSafeIframe.ts\n connectors.unshift(safe());\n}\n\nexport const wagmiConfig = createConfig({\n storage: createStorage({\n storage: typeof window !== \"undefined\" ? window.localStorage : undefined,\n key: `${LOCAL_STORAGE_PREFIX}_wagmi`,\n }),\n chains,\n connectors,\n transports,\n syncConnectedChain: false,\n batch: {\n multicall: {\n wait: 20,\n },\n },\n});\n\ndeclare module \"wagmi\" {\n interface Register {\n config: typeof wagmiConfig;\n }\n}\n"],"names":["connectors","walletConnect","projectId","import","injected","coinbaseWallet","isInIframe","unshift","safe","wagmiConfig","createConfig","storage","createStorage","window","localStorage","undefined","key","LOCAL_STORAGE_PREFIX","chains","transports","syncConnectedChain","batch","multicall","wait"],"mappings":";;;;;;;AAcA,MAAMA,UAAAA,GAAa;AAAA,EACjBC,aAAAA,CAAc;AAAA,IACZC,SAAAA,EAAWC;AAAAA,GACZ,CAAA;AAAA,EACDC,QAAAA,EAAS;AAAA;AAAA,EAETC,cAAAA;AAAe;AAAA;AAAA;AAIf,CAAA;AAIF,IAAIC,UAAAA,EAAY;AAKdN,EAAAA,UAAAA,CAAWO,OAAAA,CAAQC,MAAM,CAAA;AAC3B;AAEO,MAAMC,cAAcC,YAAAA,CAAa;AAAA,EACtCC,SAASC,aAAAA,CAAc;AAAA,IACrBD,OAAAA,EAAS,OAAOE,MAAAA,KAAW,WAAA,GAAcA,OAAOC,YAAAA,GAAeC,MAAAA;AAAAA,IAC/DC,GAAAA,EAAK,GAAGC,oBAAoB,CAAA,MAAA;AAAA,GAC7B,CAAA;AAAA,EACDC,MAAAA;AAAAA,EACAlB,UAAAA;AAAAA,EACAmB,UAAAA;AAAAA,EACAC,kBAAAA,EAAoB,KAAA;AAAA,EACpBC,KAAAA,EAAO;AAAA,IACLC,SAAAA,EAAW;AAAA,MACTC,IAAAA,EAAM;AAAA;AACR;AAEJ,CAAC;;;;"}
@@ -1170,4 +1170,5 @@ export declare const supportedChainIds: NonEmptyArray<SupportedChainId>;
1170
1170
  export declare const chainConfigMap: Record<SupportedChainId, Chain & {
1171
1171
  id: SupportedChainId;
1172
1172
  }>;
1173
+ export declare const chainNameMap: Record<SupportedChainId, string>;
1173
1174
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/lib/web3/wagmi/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/lib/web3/wagmi/constants.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,18 @@ const chainConfigMap = {
14
14
  [sonic.id]: sonic,
15
15
  [unichain.id]: unichain
16
16
  };
17
+ const chainNameMap = {
18
+ [mainnet.id]: mainnet.name,
19
+ [polygon.id]: polygon.name,
20
+ [bsc.id]: "BSC",
21
+ [avalanche.id]: avalanche.name,
22
+ [arbitrum.id]: "Arbitrum",
23
+ [optimism.id]: "Optimism",
24
+ [base.id]: base.name,
25
+ [gnosis.id]: gnosis.name,
26
+ [sonic.id]: sonic.name,
27
+ [unichain.id]: unichain.name
28
+ };
17
29
 
18
- export { chainConfigMap, chains, supportedChainIds };
30
+ export { chainConfigMap, chainNameMap, chains, supportedChainIds };
19
31
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sources":["../../../../src/lib/web3/wagmi/constants.ts"],"sourcesContent":["import { type Chain } from \"wagmi/chains\";\n\nimport {\n mainnet,\n polygon,\n bsc,\n avalanche,\n arbitrum,\n optimism,\n base,\n gnosis,\n sonic,\n unichain,\n} from \"./supportedChains\";\n\nimport type { SupportedChainId } from \"./types\";\nimport type { NonEmptyArray } from \"ts-essentials\";\n\nexport const chains = [\n mainnet,\n polygon,\n bsc,\n avalanche,\n arbitrum,\n optimism,\n base,\n gnosis,\n sonic,\n unichain,\n] as const;\n\nexport const supportedChainIds = chains.map(\n (chain) => chain.id\n) as NonEmptyArray<SupportedChainId>;\n\nexport const chainConfigMap: Record<\n SupportedChainId,\n Chain & { id: SupportedChainId }\n> = {\n [mainnet.id]: mainnet,\n [polygon.id]: polygon,\n [bsc.id]: bsc,\n [avalanche.id]: avalanche,\n [arbitrum.id]: arbitrum,\n [optimism.id]: optimism,\n [base.id]: base,\n [gnosis.id]: gnosis,\n [sonic.id]: sonic,\n [unichain.id]: unichain,\n};\n"],"names":["chains","mainnet","polygon","bsc","avalanche","arbitrum","optimism","base","gnosis","sonic","unichain","supportedChainIds","map","chain","id","chainConfigMap"],"mappings":";;AAkBO,MAAMA,MAAAA,GAAS,CACpBC,OAAAA,EACAC,OAAAA,EACAC,GAAAA,EACAC,SAAAA,EACAC,QAAAA,EACAC,QAAAA,EACAC,IAAAA,EACAC,MAAAA,EACAC,KAAAA,EACAC,QAAQ;AAGH,MAAMC,iBAAAA,GAAoBX,MAAAA,CAAOY,GAAAA,CACrCC,CAAAA,KAAAA,KAAUA,MAAMC,EACnB;AAEO,MAAMC,cAAAA,GAGT;AAAA,EACF,CAACd,OAAAA,CAAQa,EAAE,GAAGb,OAAAA;AAAAA,EACd,CAACC,OAAAA,CAAQY,EAAE,GAAGZ,OAAAA;AAAAA,EACd,CAACC,GAAAA,CAAIW,EAAE,GAAGX,GAAAA;AAAAA,EACV,CAACC,SAAAA,CAAUU,EAAE,GAAGV,SAAAA;AAAAA,EAChB,CAACC,QAAAA,CAASS,EAAE,GAAGT,QAAAA;AAAAA,EACf,CAACC,QAAAA,CAASQ,EAAE,GAAGR,QAAAA;AAAAA,EACf,CAACC,IAAAA,CAAKO,EAAE,GAAGP,IAAAA;AAAAA,EACX,CAACC,MAAAA,CAAOM,EAAE,GAAGN,MAAAA;AAAAA,EACb,CAACC,KAAAA,CAAMK,EAAE,GAAGL,KAAAA;AAAAA,EACZ,CAACC,QAAAA,CAASI,EAAE,GAAGJ;AACjB;;;;"}
1
+ {"version":3,"file":"constants.js","sources":["../../../../src/lib/web3/wagmi/constants.ts"],"sourcesContent":["import { type Chain } from \"wagmi/chains\";\n\nimport {\n mainnet,\n polygon,\n bsc,\n avalanche,\n arbitrum,\n optimism,\n base,\n gnosis,\n sonic,\n unichain,\n} from \"./supportedChains\";\n\nimport type { SupportedChainId } from \"./types\";\nimport type { NonEmptyArray } from \"ts-essentials\";\n\nexport const chains = [\n mainnet,\n polygon,\n bsc,\n avalanche,\n arbitrum,\n optimism,\n base,\n gnosis,\n sonic,\n unichain,\n] as const;\n\nexport const supportedChainIds = chains.map(\n (chain) => chain.id\n) as NonEmptyArray<SupportedChainId>;\n\nexport const chainConfigMap: Record<\n SupportedChainId,\n Chain & { id: SupportedChainId }\n> = {\n [mainnet.id]: mainnet,\n [polygon.id]: polygon,\n [bsc.id]: bsc,\n [avalanche.id]: avalanche,\n [arbitrum.id]: arbitrum,\n [optimism.id]: optimism,\n [base.id]: base,\n [gnosis.id]: gnosis,\n [sonic.id]: sonic,\n [unichain.id]: unichain,\n};\n\nexport const chainNameMap: Record<SupportedChainId, string> = {\n [mainnet.id]: mainnet.name,\n [polygon.id]: polygon.name,\n [bsc.id]: \"BSC\",\n [avalanche.id]: avalanche.name,\n [arbitrum.id]: \"Arbitrum\",\n [optimism.id]: \"Optimism\",\n [base.id]: base.name,\n [gnosis.id]: gnosis.name,\n [sonic.id]: sonic.name,\n [unichain.id]: unichain.name,\n};\n"],"names":["chains","mainnet","polygon","bsc","avalanche","arbitrum","optimism","base","gnosis","sonic","unichain","supportedChainIds","map","chain","id","chainConfigMap","chainNameMap","name"],"mappings":";;AAkBO,MAAMA,MAAAA,GAAS,CACpBC,OAAAA,EACAC,OAAAA,EACAC,GAAAA,EACAC,SAAAA,EACAC,QAAAA,EACAC,QAAAA,EACAC,IAAAA,EACAC,MAAAA,EACAC,KAAAA,EACAC,QAAQ;AAGH,MAAMC,iBAAAA,GAAoBX,MAAAA,CAAOY,GAAAA,CACrCC,CAAAA,KAAAA,KAAUA,MAAMC,EACnB;AAEO,MAAMC,cAAAA,GAGT;AAAA,EACF,CAACd,OAAAA,CAAQa,EAAE,GAAGb,OAAAA;AAAAA,EACd,CAACC,OAAAA,CAAQY,EAAE,GAAGZ,OAAAA;AAAAA,EACd,CAACC,GAAAA,CAAIW,EAAE,GAAGX,GAAAA;AAAAA,EACV,CAACC,SAAAA,CAAUU,EAAE,GAAGV,SAAAA;AAAAA,EAChB,CAACC,QAAAA,CAASS,EAAE,GAAGT,QAAAA;AAAAA,EACf,CAACC,QAAAA,CAASQ,EAAE,GAAGR,QAAAA;AAAAA,EACf,CAACC,IAAAA,CAAKO,EAAE,GAAGP,IAAAA;AAAAA,EACX,CAACC,MAAAA,CAAOM,EAAE,GAAGN,MAAAA;AAAAA,EACb,CAACC,KAAAA,CAAMK,EAAE,GAAGL,KAAAA;AAAAA,EACZ,CAACC,QAAAA,CAASI,EAAE,GAAGJ;AACjB;AAEO,MAAMM,YAAAA,GAAiD;AAAA,EAC5D,CAACf,OAAAA,CAAQa,EAAE,GAAGb,OAAAA,CAAQgB,IAAAA;AAAAA,EACtB,CAACf,OAAAA,CAAQY,EAAE,GAAGZ,OAAAA,CAAQe,IAAAA;AAAAA,EACtB,CAACd,GAAAA,CAAIW,EAAE,GAAG,KAAA;AAAA,EACV,CAACV,SAAAA,CAAUU,EAAE,GAAGV,SAAAA,CAAUa,IAAAA;AAAAA,EAC1B,CAACZ,QAAAA,CAASS,EAAE,GAAG,UAAA;AAAA,EACf,CAACR,QAAAA,CAASQ,EAAE,GAAG,UAAA;AAAA,EACf,CAACP,IAAAA,CAAKO,EAAE,GAAGP,IAAAA,CAAKU,IAAAA;AAAAA,EAChB,CAACT,MAAAA,CAAOM,EAAE,GAAGN,MAAAA,CAAOS,IAAAA;AAAAA,EACpB,CAACR,KAAAA,CAAMK,EAAE,GAAGL,KAAAA,CAAMQ,IAAAA;AAAAA,EAClB,CAACP,QAAAA,CAASI,EAAE,GAAGJ,QAAAA,CAASO;AAC1B;;;;"}
@@ -0,0 +1,2 @@
1
+ export declare const isInIframe: boolean;
2
+ //# sourceMappingURL=isInIframe.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isInIframe.d.ts","sourceRoot":"","sources":["../../../../src/lib/web3/wagmi/isInIframe.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,SACqC,CAAC"}
@@ -0,0 +1,4 @@
1
+ const isInIframe = typeof window !== "undefined" && window?.parent !== window;
2
+
3
+ export { isInIframe };
4
+ //# sourceMappingURL=isInIframe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isInIframe.js","sources":["../../../../src/lib/web3/wagmi/isInIframe.ts"],"sourcesContent":["export const isInIframe =\n typeof window !== \"undefined\" && window?.parent !== window;\n"],"names":["isInIframe","window","parent"],"mappings":"AAAO,MAAMA,UAAAA,GACX,OAAOC,MAAAA,KAAW,WAAA,IAAeA,QAAQC,MAAAA,KAAWD;;;;"}
@@ -1,4 +1,3 @@
1
- export declare const isInIframe: boolean;
2
1
  type SafeInfo = {
3
2
  safeAddress: string;
4
3
  chainId: number;
@@ -1 +1 @@
1
- {"version":3,"file":"isInsideSafeIframe.d.ts","sourceRoot":"","sources":["../../../../src/lib/web3/wagmi/isInsideSafeIframe.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,UAAU,SACqC,CAAC;AAE7D,KAAK,QAAQ,GAAG;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,KAAK,gBAAgB,GAAG,QAAQ,GAAG;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACzB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB,CAAC;AAqBF,wBAAgB,WAAW,IAAI;IAC7B,IAAI,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC/B,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB,CAqCA"}
1
+ {"version":3,"file":"isInsideSafeIframe.d.ts","sourceRoot":"","sources":["../../../../src/lib/web3/wagmi/isInsideSafeIframe.ts"],"names":[],"mappings":"AAKA,KAAK,QAAQ,GAAG;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,KAAK,gBAAgB,GAAG,QAAQ,GAAG;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACzB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB,CAAC;AAqBF,wBAAgB,WAAW,IAAI;IAC7B,IAAI,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC/B,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB,CAqCA"}
@@ -2,8 +2,8 @@ import { d as distExports } from '../../../_virtual/index.js';
2
2
  import { createLogger } from '../../utils/logger.js';
3
3
  import { useQuery } from '@tanstack/react-query';
4
4
  import { withTimeout } from 'viem';
5
+ import { isInIframe } from './isInIframe.js';
5
6
 
6
- const isInIframe = typeof window !== "undefined" && window?.parent !== window;
7
7
  const logger = createLogger("SafeWallet");
8
8
  function useSafeInfo() {
9
9
  const $ = distExports.c(8);
@@ -109,5 +109,5 @@ function requestSafeInfo({
109
109
  });
110
110
  }
111
111
 
112
- export { isInIframe, useSafeInfo };
112
+ export { useSafeInfo };
113
113
  //# sourceMappingURL=isInsideSafeIframe.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"isInsideSafeIframe.js","sources":["../../../../src/lib/web3/wagmi/isInsideSafeIframe.ts"],"sourcesContent":["import { createLogger } from \"@/lib/utils/logger\";\nimport { useQuery } from \"@tanstack/react-query\";\nimport { withTimeout } from \"viem\";\n\nexport const isInIframe =\n typeof window !== \"undefined\" && window?.parent !== window;\n\ntype SafeInfo = {\n safeAddress: string;\n chainId: number;\n threshold: number;\n owners: string[];\n isReadOnly: boolean;\n};\n\ntype SafeInfoExtended = SafeInfo & {\n nonce: number;\n implementation: string;\n modules: string[] | null;\n fallbackHandler: string | null;\n guard: string | null;\n version: string | null;\n};\n\ntype SafeMessageEvent<T = unknown> = {\n id: string;\n data: T;\n version?: string;\n success: boolean;\n error?: string;\n};\n\ntype SafeRequest = {\n id: string;\n method: string;\n params: undefined;\n env: {\n sdkVersion: string;\n };\n};\n\nconst logger = createLogger(\"SafeWallet\");\n\nexport function useSafeInfo(): {\n data?: SafeInfoExtended | null;\n isLoading: boolean;\n isSuccess: boolean;\n isError: boolean;\n error: Error | null;\n} {\n const { data, isLoading, isSuccess, isError, error } = useQuery({\n queryKey: [\"safeInfo\"],\n queryFn: async () => {\n if (isInIframe) {\n const errorInstance = new Error(\"Safe info request timed out\");\n try {\n const safeInfo = await withTimeout(requestSafeInfo, {\n timeout: 200,\n signal: true,\n // non-safe iframe will never answer the request, so we need to timeout\n errorInstance,\n });\n\n logger.info(\"Safe info request successful\", safeInfo);\n\n return safeInfo;\n } catch (error) {\n if (error === errorInstance) {\n logger.info(\"Safe Wallet not detected\");\n return null;\n }\n\n logger.error(\"Safe info request failed\", error);\n throw error;\n }\n }\n\n return null;\n },\n staleTime: Infinity,\n gcTime: Infinity,\n // shortcut when we are not in iframe\n initialData: isInIframe ? undefined : null,\n });\n\n return { data, isLoading, isSuccess, isError, error };\n}\n\nfunction requestSafeInfo({\n signal,\n}: {\n signal: AbortSignal | null;\n}): Promise<SafeInfoExtended> {\n const request: SafeRequest = {\n id: new Date().getTime().toString(36),\n method: \"getSafeInfo\",\n params: undefined,\n env: {\n sdkVersion: \"9.1.0\", // latest version of Safe SDK\n },\n };\n\n return new Promise((resolve, reject) => {\n const listener = (\n event: MessageEvent<SafeMessageEvent<SafeInfoExtended>>\n ) => {\n if (event.data?.id === request.id) {\n window.removeEventListener(\"message\", listener);\n if (event.data.success) {\n resolve(event.data.data);\n } else {\n reject(new Error(event.data.error));\n }\n }\n };\n\n signal?.addEventListener(\"abort\", () => {\n window.removeEventListener(\"message\", listener);\n reject(signal.reason);\n });\n\n window.addEventListener(\"message\", listener);\n\n // If inside Safe iframe, Safe web app will respond to the request\n window.parent.postMessage(request, \"*\");\n });\n}\n"],"names":["isInIframe","window","parent","logger","createLogger","useSafeInfo","$","_c","t0","Symbol","for","t1","queryKey","queryFn","_temp","staleTime","Infinity","gcTime","initialData","undefined","data","isLoading","isSuccess","isError","error","error_0","useQuery","t2","errorInstance","Error","safeInfo","withTimeout","requestSafeInfo","timeout","signal","info","request","id","Date","getTime","toString","method","params","env","sdkVersion","Promise","resolve","reject","listener","event","removeEventListener","success","addEventListener","reason","postMessage"],"mappings":"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"}
1
+ {"version":3,"file":"isInsideSafeIframe.js","sources":["../../../../src/lib/web3/wagmi/isInsideSafeIframe.ts"],"sourcesContent":["import { createLogger } from \"@/lib/utils/logger\";\nimport { useQuery } from \"@tanstack/react-query\";\nimport { withTimeout } from \"viem\";\nimport { isInIframe } from \"./isInIframe\";\n\ntype SafeInfo = {\n safeAddress: string;\n chainId: number;\n threshold: number;\n owners: string[];\n isReadOnly: boolean;\n};\n\ntype SafeInfoExtended = SafeInfo & {\n nonce: number;\n implementation: string;\n modules: string[] | null;\n fallbackHandler: string | null;\n guard: string | null;\n version: string | null;\n};\n\ntype SafeMessageEvent<T = unknown> = {\n id: string;\n data: T;\n version?: string;\n success: boolean;\n error?: string;\n};\n\ntype SafeRequest = {\n id: string;\n method: string;\n params: undefined;\n env: {\n sdkVersion: string;\n };\n};\n\nconst logger = createLogger(\"SafeWallet\");\n\nexport function useSafeInfo(): {\n data?: SafeInfoExtended | null;\n isLoading: boolean;\n isSuccess: boolean;\n isError: boolean;\n error: Error | null;\n} {\n const { data, isLoading, isSuccess, isError, error } = useQuery({\n queryKey: [\"safeInfo\"],\n queryFn: async () => {\n if (isInIframe) {\n const errorInstance = new Error(\"Safe info request timed out\");\n try {\n const safeInfo = await withTimeout(requestSafeInfo, {\n timeout: 200,\n signal: true,\n // non-safe iframe will never answer the request, so we need to timeout\n errorInstance,\n });\n\n logger.info(\"Safe info request successful\", safeInfo);\n\n return safeInfo;\n } catch (error) {\n if (error === errorInstance) {\n logger.info(\"Safe Wallet not detected\");\n return null;\n }\n\n logger.error(\"Safe info request failed\", error);\n throw error;\n }\n }\n\n return null;\n },\n staleTime: Infinity,\n gcTime: Infinity,\n // shortcut when we are not in iframe\n initialData: isInIframe ? undefined : null,\n });\n\n return { data, isLoading, isSuccess, isError, error };\n}\n\nfunction requestSafeInfo({\n signal,\n}: {\n signal: AbortSignal | null;\n}): Promise<SafeInfoExtended> {\n const request: SafeRequest = {\n id: new Date().getTime().toString(36),\n method: \"getSafeInfo\",\n params: undefined,\n env: {\n sdkVersion: \"9.1.0\", // latest version of Safe SDK\n },\n };\n\n return new Promise((resolve, reject) => {\n const listener = (\n event: MessageEvent<SafeMessageEvent<SafeInfoExtended>>\n ) => {\n if (event.data?.id === request.id) {\n window.removeEventListener(\"message\", listener);\n if (event.data.success) {\n resolve(event.data.data);\n } else {\n reject(new Error(event.data.error));\n }\n }\n };\n\n signal?.addEventListener(\"abort\", () => {\n window.removeEventListener(\"message\", listener);\n reject(signal.reason);\n });\n\n window.addEventListener(\"message\", listener);\n\n // If inside Safe iframe, Safe web app will respond to the request\n window.parent.postMessage(request, \"*\");\n });\n}\n"],"names":["logger","createLogger","useSafeInfo","$","_c","t0","Symbol","for","t1","queryKey","queryFn","_temp","staleTime","Infinity","gcTime","initialData","isInIframe","undefined","data","isLoading","isSuccess","isError","error","error_0","useQuery","t2","errorInstance","Error","safeInfo","withTimeout","requestSafeInfo","timeout","signal","info","request","id","Date","getTime","toString","method","params","env","sdkVersion","Promise","resolve","reject","listener","event","window","removeEventListener","success","addEventListener","reason","parent","postMessage"],"mappings":"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"}
package/dist/styles.css CHANGED
@@ -704,9 +704,6 @@
704
704
  .velora-widget.velora-widget .h-\[12px\] {
705
705
  height: 12px;
706
706
  }
707
- .velora-widget.velora-widget .h-\[16px\] {
708
- height: 16px;
709
- }
710
707
  .velora-widget.velora-widget .h-\[18px\] {
711
708
  height: 18px;
712
709
  }
@@ -794,6 +791,9 @@
794
791
  .velora-widget.velora-widget .max-h-\[80vh\] {
795
792
  max-height: 80vh;
796
793
  }
794
+ .velora-widget.velora-widget .min-h-5 {
795
+ min-height: calc(var(--spacing) * 5);
796
+ }
797
797
  .velora-widget.velora-widget .min-h-\[20px\] {
798
798
  min-height: 20px;
799
799
  }
@@ -893,6 +893,9 @@
893
893
  .velora-widget.velora-widget .max-w-\[200px\] {
894
894
  max-width: 200px;
895
895
  }
896
+ .velora-widget.velora-widget .max-w-\[300px\] {
897
+ max-width: 300px;
898
+ }
896
899
  .velora-widget.velora-widget .max-w-\[320px\] {
897
900
  max-width: 320px;
898
901
  }
@@ -1025,6 +1028,9 @@
1025
1028
  .velora-widget.velora-widget .grid-cols-\[auto_1fr\] {
1026
1029
  grid-template-columns: auto 1fr;
1027
1030
  }
1031
+ .velora-widget.velora-widget .grid-cols-\[auto_minmax\(0\,140px\)\] {
1032
+ grid-template-columns: auto minmax(0, 140px);
1033
+ }
1028
1034
  .velora-widget.velora-widget .grid-cols-\[repeat\(2\,1fr\)\] {
1029
1035
  grid-template-columns: repeat(2, 1fr);
1030
1036
  }
@@ -1049,6 +1055,9 @@
1049
1055
  .velora-widget.velora-widget .items-center {
1050
1056
  align-items: center;
1051
1057
  }
1058
+ .velora-widget.velora-widget .items-end {
1059
+ align-items: flex-end;
1060
+ }
1052
1061
  .velora-widget.velora-widget .items-start {
1053
1062
  align-items: flex-start;
1054
1063
  }
@@ -1141,9 +1150,6 @@
1141
1150
  .velora-widget.velora-widget .gap-x-2 {
1142
1151
  column-gap: calc(var(--spacing) * 2);
1143
1152
  }
1144
- .velora-widget.velora-widget .gap-y-2 {
1145
- row-gap: calc(var(--spacing) * 2);
1146
- }
1147
1153
  .velora-widget.velora-widget .gap-y-3 {
1148
1154
  row-gap: calc(var(--spacing) * 3);
1149
1155
  }
@@ -1227,6 +1233,10 @@
1227
1233
  .velora-widget.velora-widget .rounded-xxs {
1228
1234
  border-radius: calc(var(--radius) - 8px);
1229
1235
  }
1236
+ .velora-widget.velora-widget .rounded-r-xxl {
1237
+ border-top-right-radius: calc(var(--radius) + 10px);
1238
+ border-bottom-right-radius: calc(var(--radius) + 10px);
1239
+ }
1230
1240
  .velora-widget.velora-widget .rounded-br-xs {
1231
1241
  border-bottom-right-radius: calc(var(--radius) - 4px);
1232
1242
  }
@@ -1271,6 +1281,9 @@
1271
1281
  .velora-widget.velora-widget .border-border {
1272
1282
  border-color: var(--border);
1273
1283
  }
1284
+ .velora-widget.velora-widget .border-contrast-5 {
1285
+ border-color: var(--contrast-5);
1286
+ }
1274
1287
  .velora-widget.velora-widget .border-contrast-7 {
1275
1288
  border-color: var(--contrast-7);
1276
1289
  }
@@ -1483,6 +1496,9 @@
1483
1496
  .velora-widget.velora-widget .p-\[24px\] {
1484
1497
  padding: 24px;
1485
1498
  }
1499
+ .velora-widget.velora-widget .px-1 {
1500
+ padding-inline: calc(var(--spacing) * 1);
1501
+ }
1486
1502
  .velora-widget.velora-widget .px-2 {
1487
1503
  padding-inline: calc(var(--spacing) * 2);
1488
1504
  }
@@ -1501,11 +1517,8 @@
1501
1517
  .velora-widget.velora-widget .px-8 {
1502
1518
  padding-inline: calc(var(--spacing) * 8);
1503
1519
  }
1504
- .velora-widget.velora-widget .px-\[6px\] {
1505
- padding-inline: 6px;
1506
- }
1507
- .velora-widget.velora-widget .px-\[11px\] {
1508
- padding-inline: 11px;
1520
+ .velora-widget.velora-widget .px-\[7px\] {
1521
+ padding-inline: 7px;
1509
1522
  }
1510
1523
  .velora-widget.velora-widget .px-\[12px\] {
1511
1524
  padding-inline: 12px;
@@ -1516,6 +1529,9 @@
1516
1529
  .velora-widget.velora-widget .px-\[24px\] {
1517
1530
  padding-inline: 24px;
1518
1531
  }
1532
+ .velora-widget.velora-widget .py-0 {
1533
+ padding-block: calc(var(--spacing) * 0);
1534
+ }
1519
1535
  .velora-widget.velora-widget .py-0\.5 {
1520
1536
  padding-block: calc(var(--spacing) * .5);
1521
1537
  }
@@ -1540,9 +1556,6 @@
1540
1556
  .velora-widget.velora-widget .py-6 {
1541
1557
  padding-block: calc(var(--spacing) * 6);
1542
1558
  }
1543
- .velora-widget.velora-widget .py-\[2px\] {
1544
- padding-block: 2px;
1545
- }
1546
1559
  .velora-widget.velora-widget .py-\[4px\] {
1547
1560
  padding-block: 4px;
1548
1561
  }
@@ -1570,6 +1583,9 @@
1570
1583
  .velora-widget.velora-widget .pt-4 {
1571
1584
  padding-top: calc(var(--spacing) * 4);
1572
1585
  }
1586
+ .velora-widget.velora-widget .pt-5 {
1587
+ padding-top: calc(var(--spacing) * 5);
1588
+ }
1573
1589
  .velora-widget.velora-widget .pt-6 {
1574
1590
  padding-top: calc(var(--spacing) * 6);
1575
1591
  }
@@ -1606,6 +1622,9 @@
1606
1622
  .velora-widget.velora-widget .pr-\[24px\] {
1607
1623
  padding-right: 24px;
1608
1624
  }
1625
+ .velora-widget.velora-widget .pr-\[42px\] {
1626
+ padding-right: 42px;
1627
+ }
1609
1628
  .velora-widget.velora-widget .pr-\[86px\] {
1610
1629
  padding-right: 86px;
1611
1630
  }
@@ -1707,6 +1726,9 @@
1707
1726
  .velora-widget.velora-widget .text-\[14px\] {
1708
1727
  font-size: 14px;
1709
1728
  }
1729
+ .velora-widget.velora-widget .text-\[16px\] {
1730
+ font-size: 16px;
1731
+ }
1710
1732
  .velora-widget.velora-widget .text-\[18px\] {
1711
1733
  font-size: 18px;
1712
1734
  }
@@ -1745,9 +1767,6 @@
1745
1767
  --tw-tracking: var(--tracking-widest);
1746
1768
  letter-spacing: var(--tracking-widest);
1747
1769
  }
1748
- .velora-widget.velora-widget .text-balance {
1749
- text-wrap: balance;
1750
- }
1751
1770
  .velora-widget.velora-widget .text-nowrap {
1752
1771
  text-wrap: nowrap;
1753
1772
  }
@@ -1757,6 +1776,9 @@
1757
1776
  .velora-widget.velora-widget .wrap-anywhere {
1758
1777
  overflow-wrap: anywhere;
1759
1778
  }
1779
+ .velora-widget.velora-widget .break-all {
1780
+ word-break: break-all;
1781
+ }
1760
1782
  .velora-widget.velora-widget .text-ellipsis {
1761
1783
  text-overflow: ellipsis;
1762
1784
  }
@@ -2052,6 +2074,11 @@
2052
2074
  .velora-widget.velora-widget .text-shadow-\[0px_4px_4px_rgba\(0\,0\,0\,0\.15\)\] {
2053
2075
  text-shadow: 0px 4px 4px var(--tw-text-shadow-color, #00000026);
2054
2076
  }
2077
+ @media (hover: hover) {
2078
+ .velora-widget.velora-widget .group-hover\:flex:is(:where(.group):hover *) {
2079
+ display: flex;
2080
+ }
2081
+ }
2055
2082
  .velora-widget.velora-widget .group-data-\[state\=open\]\:rotate-90:is(:where(.group)[data-state="open"] *) {
2056
2083
  rotate: 90deg;
2057
2084
  }
@@ -2103,6 +2130,10 @@
2103
2130
  .velora-widget.velora-widget .placeholder\:font-inter::placeholder {
2104
2131
  font-family: var(--font-inter);
2105
2132
  }
2133
+ .velora-widget.velora-widget .placeholder\:text-xs::placeholder {
2134
+ font-size: var(--text-xs);
2135
+ line-height: var(--tw-leading, var(--text-xs--line-height));
2136
+ }
2106
2137
  .velora-widget.velora-widget .placeholder\:text-contrast-5::placeholder {
2107
2138
  color: var(--contrast-5);
2108
2139
  }
@@ -2150,6 +2181,10 @@
2150
2181
  cursor: pointer;
2151
2182
  }
2152
2183
 
2184
+ .velora-widget.velora-widget .hover\:border-primary-azul-1:hover {
2185
+ border-color: var(--primary-azul-1);
2186
+ }
2187
+
2153
2188
  .velora-widget.velora-widget .hover\:bg-accent:hover {
2154
2189
  background-color: var(--accent);
2155
2190
  }
@@ -2771,6 +2806,10 @@
2771
2806
  color: var(--contrast-7);
2772
2807
  }
2773
2808
 
2809
+ .velora-widget.velora-widget .dark\:hover\:text-primary-azul-1:is(.velora-widget.dark *):hover {
2810
+ color: var(--primary-azul-1);
2811
+ }
2812
+
2774
2813
  .velora-widget.velora-widget .dark\:hover\:outline-1:is(.velora-widget.dark *):hover {
2775
2814
  outline-style: var(--tw-outline-style);
2776
2815
  outline-width: 1px;
@@ -1 +1 @@
1
- {"version":3,"file":"transactionsActionAtom.d.ts","sourceRoot":"","sources":["../../../src/transactions/state/transactionsActionAtom.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,yBAAyB,EACzB,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,UAAU,CAAC;AA0BlB,eAAO,MAAM,SAAS;;CAuBrB,CAAC;AAEF,eAAO,MAAM,wBAAwB;;CAkCnC,CAAC;AAEH,eAAO,MAAM,mBAAmB;;CA8B9B,CAAC;AAEH,eAAO,MAAM,KAAK,GAAU,aAAa,kBAAkB,kBAE1D,CAAC"}
1
+ {"version":3,"file":"transactionsActionAtom.d.ts","sourceRoot":"","sources":["../../../src/transactions/state/transactionsActionAtom.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,yBAAyB,EACzB,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,UAAU,CAAC;AA2BlB,eAAO,MAAM,SAAS;;CAuBrB,CAAC;AAEF,eAAO,MAAM,wBAAwB;;CAwCnC,CAAC;AAEH,eAAO,MAAM,mBAAmB;;CA8B9B,CAAC;AAEH,eAAO,MAAM,KAAK,GAAU,aAAa,kBAAkB,kBAE1D,CAAC"}
@@ -2,7 +2,7 @@ import { atom } from 'jotai';
2
2
  import { jotaiStore } from '../../core/store.js';
3
3
  import { ensureCallsStatusFactory } from '../queries/ensureCallsStatus.js';
4
4
  import { ensureTxReceiptFactory } from '../queries/ensureTxReceipt.js';
5
- import { WaitForTransactionReceiptTimeoutError, TransactionReceiptNotFoundError, WaitForCallsStatusTimeoutError, MethodNotSupportedRpcError } from 'viem';
5
+ import { WaitForTransactionReceiptTimeoutError, TransactionReceiptNotFoundError, CallExecutionError, WaitForCallsStatusTimeoutError, MethodNotSupportedRpcError } from 'viem';
6
6
  import { transactionLogger } from '../logger.js';
7
7
  import { transactionsAtom } from './transactionsAtom.js';
8
8
  import { isGnosisSafeTx, isStandaloneTransactionItem, isBatchTransactionItem } from '../utils.js';
@@ -44,7 +44,16 @@ const finalizeStandaloneTxAtom = atom(null, async (_, set, transaction) => {
44
44
  });
45
45
  finalizedTx.receipt = txReceipt;
46
46
  } catch (error) {
47
- if (error instanceof WaitForTransactionReceiptTimeoutError || error instanceof TransactionReceiptNotFoundError) {
47
+ if (
48
+ /*
49
+ At different steps of the waitForTransactionReceipt func different errors can be thrown.
50
+ And if tx turned in eth_call with the same params succeeds (which it normally should not if it reverted for a valid reason and not gas or something),
51
+ we can even get a useless Error("unknown reason") or Error("0xrandom_hash")
52
+ */
53
+ error instanceof WaitForTransactionReceiptTimeoutError || // thrown when transaction is not found within the timeout period
54
+ error instanceof TransactionReceiptNotFoundError || // thrown when transaction receipt is not found
55
+ error instanceof CallExecutionError
56
+ ) {
48
57
  finalizedTx.dropped = true;
49
58
  transactionLogger.error("tx dropped", {
50
59
  error,
@@ -1 +1 @@
1
- {"version":3,"file":"transactionsActionAtom.js","sources":["../../../src/transactions/state/transactionsActionAtom.ts"],"sourcesContent":["import type {\n TransactionItem,\n StandaloneTransactionItem,\n BatchTransactionItem,\n MinTransactionItem,\n} from \"../types\";\nimport { atom } from \"jotai\";\nimport { jotaiStore } from \"@/core/store\";\n\nimport { ensureCallsStatusFactory } from \"../queries/ensureCallsStatus\";\nimport { ensureTxReceiptFactory } from \"../queries/ensureTxReceipt\";\nimport {\n WaitForCallsStatusTimeoutError,\n TransactionReceiptNotFoundError,\n WaitForTransactionReceiptTimeoutError,\n MethodNotSupportedRpcError,\n} from \"viem\";\nimport { transactionLogger } from \"../logger\";\nimport {\n transactionsAtom,\n type TransactionsMap,\n type TransactionsState,\n} from \"./transactionsAtom\";\nimport {\n isBatchTransactionItem,\n isGnosisSafeTx,\n isStandaloneTransactionItem,\n} from \"../utils\";\nimport { assert } from \"ts-essentials\";\nimport { accountAtom } from \"@/lib/web3/wagmi/external\";\n\nexport const addTxAtom = atom<null, [transaction: MinTransactionItem], void>(\n null,\n async (get, set, transaction) => {\n const { connector, address } = get(accountAtom);\n assert(connector && address, \"connector and address are required\");\n\n const txWithMeta: TransactionItem = {\n ...transaction,\n account: address,\n timestamp: Date.now(),\n dropped: false,\n connectorData: {\n type: connector.type,\n },\n };\n set(transactionsAtom, (current) => assignTx(current, txWithMeta));\n\n if (isStandaloneTransactionItem(txWithMeta)) {\n await set(finalizeStandaloneTxAtom, txWithMeta);\n } else {\n await set(finalizeBatchTxAtom, txWithMeta);\n }\n }\n);\n\nexport const finalizeStandaloneTxAtom = atom<\n null,\n [StandaloneTransactionItem],\n Promise<void>\n>(null, async (_, set, transaction) => {\n const finalizedTx: StandaloneTransactionItem = { ...transaction };\n const ensureTxReceipt = ensureTxReceiptFactory();\n const isTxThroughSafe = isGnosisSafeTx(finalizedTx);\n\n try {\n // ensureTxReceipt internally makes sure to use walletClient for Safe connector\n const txReceipt = await ensureTxReceipt({\n hash: finalizedTx.transactionHash,\n chainId: finalizedTx.chainId,\n });\n finalizedTx.receipt = txReceipt;\n } catch (error) {\n if (\n error instanceof WaitForTransactionReceiptTimeoutError ||\n error instanceof TransactionReceiptNotFoundError\n ) {\n finalizedTx.dropped = true;\n transactionLogger.error(\"tx dropped\", {\n error,\n finalizedTx,\n isTxThroughSafe,\n });\n } else throw error;\n } finally {\n if (finalizedTx.receipt || finalizedTx.dropped) {\n set(transactionsAtom, (current) => assignTx(current, finalizedTx));\n transactionLogger.log(\"tx finalized\", { finalizedTx, isTxThroughSafe });\n }\n }\n});\n\nexport const finalizeBatchTxAtom = atom<\n null,\n [BatchTransactionItem],\n Promise<void>\n>(null, async (_, set, transaction) => {\n const finalizedTx: BatchTransactionItem = { ...transaction };\n const ensureCallsStatus = ensureCallsStatusFactory();\n\n try {\n const { receipts, status } = await ensureCallsStatus({\n id: finalizedTx.callsId,\n });\n finalizedTx.callsStatus = status;\n finalizedTx.receipt = receipts?.[receipts.length - 1];\n } catch (error) {\n if (\n error instanceof WaitForCallsStatusTimeoutError ||\n error instanceof MethodNotSupportedRpcError\n ) {\n finalizedTx.dropped = true;\n transactionLogger.error(\"batch tx dropped\", { error, finalizedTx });\n } else {\n finalizedTx.callsStatus = \"failure\";\n transactionLogger.error(\"batch tx failed\", { error, finalizedTx });\n throw error;\n }\n } finally {\n set(transactionsAtom, (current) => assignTx(current, finalizedTx));\n transactionLogger.log(\"batch tx finalized\", { finalizedTx });\n }\n});\n\nexport const addTx = async (transaction: MinTransactionItem) => {\n return jotaiStore.set(addTxAtom, transaction);\n};\n\nfunction sanitizeTx(tx: TransactionItem): TransactionItem {\n if (isBatchTransactionItem(tx)) {\n const txItem = {\n action: tx.action,\n account: tx.account,\n chainId: tx.chainId,\n callsId: tx.callsId,\n callsStatus: tx.callsStatus,\n timestamp: tx.timestamp,\n dropped: tx.dropped,\n receipt: tx.receipt,\n transactionSpecificData: tx.transactionSpecificData,\n } as BatchTransactionItem;\n\n if (tx.connectorData) {\n txItem.connectorData = {\n type: tx.connectorData.type,\n };\n }\n\n return txItem;\n }\n\n const txItem = {\n action: tx.action,\n chainId: tx.chainId,\n account: tx.account,\n transactionHash: tx.transactionHash,\n timestamp: tx.timestamp,\n dropped: tx.dropped,\n receipt: tx.receipt,\n transactionSpecificData: tx.transactionSpecificData,\n } as StandaloneTransactionItem;\n\n if (tx.connectorData) {\n txItem.connectorData = {\n type: tx.connectorData.type,\n };\n }\n\n return txItem;\n}\n\nfunction assignTx(\n currentTransactions: TransactionsState,\n transaction: TransactionItem\n): TransactionsState {\n transactionLogger.log(\"assignTx\", {\n account: transaction.account,\n transaction,\n });\n\n const accountTransactions = currentTransactions[transaction.account] || {};\n const identifier = isStandaloneTransactionItem(transaction)\n ? transaction.transactionHash\n : transaction.callsId;\n\n const updatedAccountTransactions: TransactionsMap = {\n ...accountTransactions,\n [identifier]: sanitizeTx({\n ...accountTransactions[identifier],\n ...transaction,\n }),\n };\n\n return {\n ...currentTransactions,\n [transaction.account]: updatedAccountTransactions,\n };\n}\n"],"names":["addTxAtom","atom","get","set","transaction","connector","address","accountAtom","assert","txWithMeta","account","timestamp","Date","now","dropped","connectorData","type","transactionsAtom","current","assignTx","isStandaloneTransactionItem","finalizeStandaloneTxAtom","finalizeBatchTxAtom","_","finalizedTx","ensureTxReceipt","ensureTxReceiptFactory","isTxThroughSafe","isGnosisSafeTx","txReceipt","hash","transactionHash","chainId","receipt","error","WaitForTransactionReceiptTimeoutError","TransactionReceiptNotFoundError","transactionLogger","log","ensureCallsStatus","ensureCallsStatusFactory","receipts","status","id","callsId","callsStatus","length","WaitForCallsStatusTimeoutError","MethodNotSupportedRpcError","addTx","jotaiStore","sanitizeTx","tx","isBatchTransactionItem","txItem","action","transactionSpecificData","currentTransactions","accountTransactions","identifier","updatedAccountTransactions"],"mappings":"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"}
1
+ {"version":3,"file":"transactionsActionAtom.js","sources":["../../../src/transactions/state/transactionsActionAtom.ts"],"sourcesContent":["import type {\n TransactionItem,\n StandaloneTransactionItem,\n BatchTransactionItem,\n MinTransactionItem,\n} from \"../types\";\nimport { atom } from \"jotai\";\nimport { jotaiStore } from \"@/core/store\";\n\nimport { ensureCallsStatusFactory } from \"../queries/ensureCallsStatus\";\nimport { ensureTxReceiptFactory } from \"../queries/ensureTxReceipt\";\nimport {\n WaitForCallsStatusTimeoutError,\n TransactionReceiptNotFoundError,\n WaitForTransactionReceiptTimeoutError,\n MethodNotSupportedRpcError,\n CallExecutionError,\n} from \"viem\";\nimport { transactionLogger } from \"../logger\";\nimport {\n transactionsAtom,\n type TransactionsMap,\n type TransactionsState,\n} from \"./transactionsAtom\";\nimport {\n isBatchTransactionItem,\n isGnosisSafeTx,\n isStandaloneTransactionItem,\n} from \"../utils\";\nimport { assert } from \"ts-essentials\";\nimport { accountAtom } from \"@/lib/web3/wagmi/external\";\n\nexport const addTxAtom = atom<null, [transaction: MinTransactionItem], void>(\n null,\n async (get, set, transaction) => {\n const { connector, address } = get(accountAtom);\n assert(connector && address, \"connector and address are required\");\n\n const txWithMeta: TransactionItem = {\n ...transaction,\n account: address,\n timestamp: Date.now(),\n dropped: false,\n connectorData: {\n type: connector.type,\n },\n };\n set(transactionsAtom, (current) => assignTx(current, txWithMeta));\n\n if (isStandaloneTransactionItem(txWithMeta)) {\n await set(finalizeStandaloneTxAtom, txWithMeta);\n } else {\n await set(finalizeBatchTxAtom, txWithMeta);\n }\n }\n);\n\nexport const finalizeStandaloneTxAtom = atom<\n null,\n [StandaloneTransactionItem],\n Promise<void>\n>(null, async (_, set, transaction) => {\n const finalizedTx: StandaloneTransactionItem = { ...transaction };\n const ensureTxReceipt = ensureTxReceiptFactory();\n const isTxThroughSafe = isGnosisSafeTx(finalizedTx);\n\n try {\n // ensureTxReceipt internally makes sure to use walletClient for Safe connector\n const txReceipt = await ensureTxReceipt({\n hash: finalizedTx.transactionHash,\n chainId: finalizedTx.chainId,\n });\n finalizedTx.receipt = txReceipt;\n } catch (error) {\n if (\n /* \n At different steps of the waitForTransactionReceipt func different errors can be thrown.\n And if tx turned in eth_call with the same params succeeds (which it normally should not if it reverted for a valid reason and not gas or something),\n we can even get a useless Error(\"unknown reason\") or Error(\"0xrandom_hash\")\n */\n error instanceof WaitForTransactionReceiptTimeoutError || // thrown when transaction is not found within the timeout period\n error instanceof TransactionReceiptNotFoundError || // thrown when transaction receipt is not found\n error instanceof CallExecutionError // thrown when the transaction execution fails on-chain (execution reverted, out of gas, etc)\n ) {\n finalizedTx.dropped = true;\n transactionLogger.error(\"tx dropped\", {\n error,\n finalizedTx,\n isTxThroughSafe,\n });\n } else throw error;\n } finally {\n if (finalizedTx.receipt || finalizedTx.dropped) {\n set(transactionsAtom, (current) => assignTx(current, finalizedTx));\n transactionLogger.log(\"tx finalized\", { finalizedTx, isTxThroughSafe });\n }\n }\n});\n\nexport const finalizeBatchTxAtom = atom<\n null,\n [BatchTransactionItem],\n Promise<void>\n>(null, async (_, set, transaction) => {\n const finalizedTx: BatchTransactionItem = { ...transaction };\n const ensureCallsStatus = ensureCallsStatusFactory();\n\n try {\n const { receipts, status } = await ensureCallsStatus({\n id: finalizedTx.callsId,\n });\n finalizedTx.callsStatus = status;\n finalizedTx.receipt = receipts?.[receipts.length - 1];\n } catch (error) {\n if (\n error instanceof WaitForCallsStatusTimeoutError ||\n error instanceof MethodNotSupportedRpcError\n ) {\n finalizedTx.dropped = true;\n transactionLogger.error(\"batch tx dropped\", { error, finalizedTx });\n } else {\n finalizedTx.callsStatus = \"failure\";\n transactionLogger.error(\"batch tx failed\", { error, finalizedTx });\n throw error;\n }\n } finally {\n set(transactionsAtom, (current) => assignTx(current, finalizedTx));\n transactionLogger.log(\"batch tx finalized\", { finalizedTx });\n }\n});\n\nexport const addTx = async (transaction: MinTransactionItem) => {\n return jotaiStore.set(addTxAtom, transaction);\n};\n\nfunction sanitizeTx(tx: TransactionItem): TransactionItem {\n if (isBatchTransactionItem(tx)) {\n const txItem = {\n action: tx.action,\n account: tx.account,\n chainId: tx.chainId,\n callsId: tx.callsId,\n callsStatus: tx.callsStatus,\n timestamp: tx.timestamp,\n dropped: tx.dropped,\n receipt: tx.receipt,\n transactionSpecificData: tx.transactionSpecificData,\n } as BatchTransactionItem;\n\n if (tx.connectorData) {\n txItem.connectorData = {\n type: tx.connectorData.type,\n };\n }\n\n return txItem;\n }\n\n const txItem = {\n action: tx.action,\n chainId: tx.chainId,\n account: tx.account,\n transactionHash: tx.transactionHash,\n timestamp: tx.timestamp,\n dropped: tx.dropped,\n receipt: tx.receipt,\n transactionSpecificData: tx.transactionSpecificData,\n } as StandaloneTransactionItem;\n\n if (tx.connectorData) {\n txItem.connectorData = {\n type: tx.connectorData.type,\n };\n }\n\n return txItem;\n}\n\nfunction assignTx(\n currentTransactions: TransactionsState,\n transaction: TransactionItem\n): TransactionsState {\n transactionLogger.log(\"assignTx\", {\n account: transaction.account,\n transaction,\n });\n\n const accountTransactions = currentTransactions[transaction.account] || {};\n const identifier = isStandaloneTransactionItem(transaction)\n ? transaction.transactionHash\n : transaction.callsId;\n\n const updatedAccountTransactions: TransactionsMap = {\n ...accountTransactions,\n [identifier]: sanitizeTx({\n ...accountTransactions[identifier],\n ...transaction,\n }),\n };\n\n return {\n ...currentTransactions,\n [transaction.account]: updatedAccountTransactions,\n };\n}\n"],"names":["addTxAtom","atom","get","set","transaction","connector","address","accountAtom","assert","txWithMeta","account","timestamp","Date","now","dropped","connectorData","type","transactionsAtom","current","assignTx","isStandaloneTransactionItem","finalizeStandaloneTxAtom","finalizeBatchTxAtom","_","finalizedTx","ensureTxReceipt","ensureTxReceiptFactory","isTxThroughSafe","isGnosisSafeTx","txReceipt","hash","transactionHash","chainId","receipt","error","WaitForTransactionReceiptTimeoutError","TransactionReceiptNotFoundError","CallExecutionError","transactionLogger","log","ensureCallsStatus","ensureCallsStatusFactory","receipts","status","id","callsId","callsStatus","length","WaitForCallsStatusTimeoutError","MethodNotSupportedRpcError","addTx","jotaiStore","sanitizeTx","tx","isBatchTransactionItem","txItem","action","transactionSpecificData","currentTransactions","accountTransactions","identifier","updatedAccountTransactions"],"mappings":";;;;;;;;;;;AAgCO,MAAMA,YAAYC,IAAAA,CACvB,IAAA,EACA,OAAOC,GAAAA,EAAKC,KAAKC,WAAAA,KAAgB;AAC/B,EAAA,MAAM;AAAA,IAAEC,SAAAA;AAAAA,IAAWC;AAAAA,GAAQ,GAAIJ,IAAIK,WAAW,CAAA;AAC9CC,EAAAA,MAAAA,CAAOH,SAAAA,IAAaC,SAAS,oCAAoC,CAAA;AAEjE,EAAA,MAAMG,UAAAA,GAA8B;AAAA,IAClC,GAAGL,WAAAA;AAAAA,IACHM,OAAAA,EAASJ,OAAAA;AAAAA,IACTK,SAAAA,EAAWC,KAAKC,GAAAA,EAAI;AAAA,IACpBC,OAAAA,EAAS,KAAA;AAAA,IACTC,aAAAA,EAAe;AAAA,MACbC,MAAMX,SAAAA,CAAUW;AAAAA;AAClB,GACF;AACAb,EAAAA,GAAAA,CAAIc,gBAAAA,EAAmBC,CAAAA,OAAAA,KAAYC,QAAAA,CAASD,OAAAA,EAAST,UAAU,CAAC,CAAA;AAEhE,EAAA,IAAIW,2BAAAA,CAA4BX,UAAU,CAAA,EAAG;AAC3C,IAAA,MAAMN,GAAAA,CAAIkB,0BAA0BZ,UAAU,CAAA;AAAA,EAChD,CAAA,MAAO;AACL,IAAA,MAAMN,GAAAA,CAAImB,qBAAqBb,UAAU,CAAA;AAAA,EAC3C;AACF,CACF;AAEO,MAAMY,2BAA2BpB,IAAAA,CAItC,IAAA,EAAM,OAAOsB,CAAAA,EAAGpB,KAAKC,WAAAA,KAAgB;AACrC,EAAA,MAAMoB,WAAAA,GAAyC;AAAA,IAAE,GAAGpB;AAAAA,GAAY;AAChE,EAAA,MAAMqB,kBAAkBC,sBAAAA,EAAuB;AAC/C,EAAA,MAAMC,eAAAA,GAAkBC,eAAeJ,WAAW,CAAA;AAElD,EAAA,IAAI;AAEF,IAAA,MAAMK,SAAAA,GAAY,MAAMJ,eAAAA,CAAgB;AAAA,MACtCK,MAAMN,WAAAA,CAAYO,eAAAA;AAAAA,MAClBC,SAASR,WAAAA,CAAYQ;AAAAA,KACtB,CAAA;AACDR,IAAAA,WAAAA,CAAYS,OAAAA,GAAUJ,SAAAA;AAAAA,EACxB,SAASK,KAAAA,EAAO;AACd,IAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAMEA,KAAAA,YAAiBC,qCAAAA;AAAAA,MACjBD,KAAAA,YAAiBE,+BAAAA;AAAAA,MACjBF,KAAAA,YAAiBG;AAAAA,MACjB;AACAb,MAAAA,WAAAA,CAAYV,OAAAA,GAAU,IAAA;AACtBwB,MAAAA,iBAAAA,CAAkBJ,MAAM,YAAA,EAAc;AAAA,QACpCA,KAAAA;AAAAA,QACAV,WAAAA;AAAAA,QACAG;AAAAA,OACD,CAAA;AAAA,IACH,OAAO,MAAMO,KAAAA;AAAAA,EACf,CAAA,SAAC;AACC,IAAA,IAAIV,WAAAA,CAAYS,OAAAA,IAAWT,WAAAA,CAAYV,OAAAA,EAAS;AAC9CX,MAAAA,GAAAA,CAAIc,gBAAAA,EAAmBC,CAAAA,OAAAA,KAAYC,QAAAA,CAASD,OAAAA,EAASM,WAAW,CAAC,CAAA;AACjEc,MAAAA,iBAAAA,CAAkBC,IAAI,cAAA,EAAgB;AAAA,QAAEf,WAAAA;AAAAA,QAAaG;AAAAA,OAAiB,CAAA;AAAA,IACxE;AAAA,EACF;AACF,CAAC;AAEM,MAAML,sBAAsBrB,IAAAA,CAIjC,IAAA,EAAM,OAAOsB,CAAAA,EAAGpB,KAAKC,WAAAA,KAAgB;AACrC,EAAA,MAAMoB,WAAAA,GAAoC;AAAA,IAAE,GAAGpB;AAAAA,GAAY;AAC3D,EAAA,MAAMoC,oBAAoBC,wBAAAA,EAAyB;AAEnD,EAAA,IAAI;AACF,IAAA,MAAM;AAAA,MAAEC,QAAAA;AAAAA,MAAUC;AAAAA,KAAO,GAAI,MAAMH,iBAAAA,CAAkB;AAAA,MACnDI,IAAIpB,WAAAA,CAAYqB;AAAAA,KACjB,CAAA;AACDrB,IAAAA,WAAAA,CAAYsB,WAAAA,GAAcH,MAAAA;AAC1BnB,IAAAA,WAAAA,CAAYS,OAAAA,GAAUS,QAAAA,GAAWA,QAAAA,CAASK,MAAAA,GAAS,CAAC,CAAA;AAAA,EACtD,SAASb,KAAAA,EAAO;AACd,IAAA,IACEA,KAAAA,YAAiBc,8BAAAA,IACjBd,KAAAA,YAAiBe,0BAAAA,EACjB;AACAzB,MAAAA,WAAAA,CAAYV,OAAAA,GAAU,IAAA;AACtBwB,MAAAA,iBAAAA,CAAkBJ,MAAM,kBAAA,EAAoB;AAAA,QAAEA,KAAAA;AAAAA,QAAOV;AAAAA,OAAa,CAAA;AAAA,IACpE,CAAA,MAAO;AACLA,MAAAA,WAAAA,CAAYsB,WAAAA,GAAc,SAAA;AAC1BR,MAAAA,iBAAAA,CAAkBJ,MAAM,iBAAA,EAAmB;AAAA,QAAEA,KAAAA;AAAAA,QAAOV;AAAAA,OAAa,CAAA;AACjE,MAAA,MAAMU,KAAAA;AAAAA,IACR;AAAA,EACF,CAAA,SAAC;AACC/B,IAAAA,GAAAA,CAAIc,gBAAAA,EAAmBC,CAAAA,OAAAA,KAAYC,QAAAA,CAASD,OAAAA,EAASM,WAAW,CAAC,CAAA;AACjEc,IAAAA,iBAAAA,CAAkBC,IAAI,oBAAA,EAAsB;AAAA,MAAEf;AAAAA,KAAa,CAAA;AAAA,EAC7D;AACF,CAAC;AAEM,MAAM0B,KAAAA,GAAQ,OAAO9C,WAAAA,KAAoC;AAC9D,EAAA,OAAO+C,UAAAA,CAAWhD,GAAAA,CAAIH,SAAAA,EAAWI,WAAW,CAAA;AAC9C;AAEA,SAASgD,WAAWC,EAAAA,EAAsC;AACxD,EAAA,IAAIC,sBAAAA,CAAuBD,EAAE,CAAA,EAAG;AAC9B,IAAA,MAAME,OAAAA,GAAS;AAAA,MACbC,QAAQH,EAAAA,CAAGG,MAAAA;AAAAA,MACX9C,SAAS2C,EAAAA,CAAG3C,OAAAA;AAAAA,MACZsB,SAASqB,EAAAA,CAAGrB,OAAAA;AAAAA,MACZa,SAASQ,EAAAA,CAAGR,OAAAA;AAAAA,MACZC,aAAaO,EAAAA,CAAGP,WAAAA;AAAAA,MAChBnC,WAAW0C,EAAAA,CAAG1C,SAAAA;AAAAA,MACdG,SAASuC,EAAAA,CAAGvC,OAAAA;AAAAA,MACZmB,SAASoB,EAAAA,CAAGpB,OAAAA;AAAAA,MACZwB,yBAAyBJ,EAAAA,CAAGI;AAAAA,KAC9B;AAEA,IAAA,IAAIJ,GAAGtC,aAAAA,EAAe;AACpBwC,MAAAA,QAAOxC,aAAAA,GAAgB;AAAA,QACrBC,IAAAA,EAAMqC,GAAGtC,aAAAA,CAAcC;AAAAA,OACzB;AAAA,IACF;AAEA,IAAA,OAAOuC,OAAAA;AAAAA,EACT;AAEA,EAAA,MAAMA,MAAAA,GAAS;AAAA,IACbC,QAAQH,EAAAA,CAAGG,MAAAA;AAAAA,IACXxB,SAASqB,EAAAA,CAAGrB,OAAAA;AAAAA,IACZtB,SAAS2C,EAAAA,CAAG3C,OAAAA;AAAAA,IACZqB,iBAAiBsB,EAAAA,CAAGtB,eAAAA;AAAAA,IACpBpB,WAAW0C,EAAAA,CAAG1C,SAAAA;AAAAA,IACdG,SAASuC,EAAAA,CAAGvC,OAAAA;AAAAA,IACZmB,SAASoB,EAAAA,CAAGpB,OAAAA;AAAAA,IACZwB,yBAAyBJ,EAAAA,CAAGI;AAAAA,GAC9B;AAEA,EAAA,IAAIJ,GAAGtC,aAAAA,EAAe;AACpBwC,IAAAA,MAAAA,CAAOxC,aAAAA,GAAgB;AAAA,MACrBC,IAAAA,EAAMqC,GAAGtC,aAAAA,CAAcC;AAAAA,KACzB;AAAA,EACF;AAEA,EAAA,OAAOuC,MAAAA;AACT;AAEA,SAASpC,QAAAA,CACPuC,qBACAtD,WAAAA,EACmB;AACnBkC,EAAAA,iBAAAA,CAAkBC,IAAI,UAAA,EAAY;AAAA,IAChC7B,SAASN,WAAAA,CAAYM,OAAAA;AAAAA,IACrBN;AAAAA,GACD,CAAA;AAED,EAAA,MAAMuD,mBAAAA,GAAsBD,mBAAAA,CAAoBtD,WAAAA,CAAYM,OAAO,KAAK,EAAC;AACzE,EAAA,MAAMkD,aAAaxC,2BAAAA,CAA4BhB,WAAW,CAAA,GACtDA,WAAAA,CAAY2B,kBACZ3B,WAAAA,CAAYyC,OAAAA;AAEhB,EAAA,MAAMgB,0BAAAA,GAA8C;AAAA,IAClD,GAAGF,mBAAAA;AAAAA,IACH,CAACC,UAAU,GAAGR,UAAAA,CAAW;AAAA,MACvB,GAAGO,oBAAoBC,UAAU,CAAA;AAAA,MACjC,GAAGxD;AAAAA,KACJ;AAAA,GACH;AAEA,EAAA,OAAO;AAAA,IACL,GAAGsD,mBAAAA;AAAAA,IACH,CAACtD,WAAAA,CAAYM,OAAO,GAAGmD;AAAAA,GACzB;AACF;;;;"}