@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.
- package/dist/components/ui/tooltip.js +1 -1
- package/dist/components/ui/tooltip.js.map +1 -1
- package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.d.ts.map +1 -1
- package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.js +53 -29
- package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.d.ts +6 -4
- package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.d.ts.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js +346 -139
- package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/index.js +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/index.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/tokens.js +24 -19
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/tokens.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListRow.js +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListRow.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenSearch.d.ts.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenSearch.js +48 -36
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenSearch.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/types.d.ts +3 -2
- package/dist/components/widget/Dialog/SelectTokenDialog/types.d.ts.map +1 -1
- package/dist/components/widget/NetworkSwitcher/NetworkSwitcherDropdown.d.ts.map +1 -1
- package/dist/components/widget/NetworkSwitcher/NetworkSwitcherDropdown.js +57 -108
- package/dist/components/widget/NetworkSwitcher/NetworkSwitcherDropdown.js.map +1 -1
- package/dist/components/widget/NetworkSwitcher/NetworkSwitcherList.d.ts +3 -0
- package/dist/components/widget/NetworkSwitcher/NetworkSwitcherList.d.ts.map +1 -0
- package/dist/components/widget/NetworkSwitcher/NetworkSwitcherList.js +72 -0
- package/dist/components/widget/NetworkSwitcher/NetworkSwitcherList.js.map +1 -0
- package/dist/components/widget/NetworkSwitcher/common/AllNetworksItem.d.ts +5 -0
- package/dist/components/widget/NetworkSwitcher/common/AllNetworksItem.d.ts.map +1 -0
- package/dist/components/widget/NetworkSwitcher/common/AllNetworksItem.js +48 -0
- package/dist/components/widget/NetworkSwitcher/common/AllNetworksItem.js.map +1 -0
- package/dist/components/widget/NetworkSwitcher/common/NetworkItem.d.ts +7 -0
- package/dist/components/widget/NetworkSwitcher/common/NetworkItem.d.ts.map +1 -0
- package/dist/components/widget/NetworkSwitcher/common/NetworkItem.js +46 -0
- package/dist/components/widget/NetworkSwitcher/common/NetworkItem.js.map +1 -0
- package/dist/components/widget/NetworkSwitcher/types.d.ts +13 -2
- package/dist/components/widget/NetworkSwitcher/types.d.ts.map +1 -1
- package/dist/components/widget/NetworkSwitcher/utils/items.d.ts +3 -0
- package/dist/components/widget/NetworkSwitcher/utils/items.d.ts.map +1 -0
- package/dist/components/widget/NetworkSwitcher/utils/items.js +65 -0
- package/dist/components/widget/NetworkSwitcher/utils/items.js.map +1 -0
- package/dist/components/widget/NetworkWithIcon/NetworkWithIcon.js +2 -2
- package/dist/components/widget/NetworkWithIcon/NetworkWithIcon.js.map +1 -1
- package/dist/components/widget/Screen/GenericScreen.d.ts +6 -2
- package/dist/components/widget/Screen/GenericScreen.d.ts.map +1 -1
- package/dist/components/widget/Screen/GenericScreen.js +112 -33
- package/dist/components/widget/Screen/GenericScreen.js.map +1 -1
- package/dist/components/widget/SelectToken/SelectTokenButton.d.ts +1 -1
- package/dist/components/widget/SelectToken/SelectTokenButton.d.ts.map +1 -1
- package/dist/components/widget/SelectToken/SelectTokenButton.js +100 -73
- package/dist/components/widget/SelectToken/SelectTokenButton.js.map +1 -1
- package/dist/components/widget/SelectToken/types.d.ts +3 -0
- package/dist/components/widget/SelectToken/types.d.ts.map +1 -1
- package/dist/components/widget/TokenInput/InputContainer.d.ts +3 -0
- package/dist/components/widget/TokenInput/InputContainer.d.ts.map +1 -0
- package/dist/components/widget/TokenInput/InputContainer.js +54 -0
- package/dist/components/widget/TokenInput/InputContainer.js.map +1 -0
- package/dist/components/widget/TokenInput/InputField.d.ts +6 -0
- package/dist/components/widget/TokenInput/InputField.d.ts.map +1 -0
- package/dist/components/widget/TokenInput/InputField.js +84 -0
- package/dist/components/widget/TokenInput/InputField.js.map +1 -0
- package/dist/components/widget/TokenInput/InputFooter.d.ts +5 -0
- package/dist/components/widget/TokenInput/InputFooter.d.ts.map +1 -0
- package/dist/components/widget/TokenInput/InputFooter.js +206 -0
- package/dist/components/widget/TokenInput/InputFooter.js.map +1 -0
- package/dist/components/widget/TokenInput/InputHeader.d.ts +5 -0
- package/dist/components/widget/TokenInput/InputHeader.d.ts.map +1 -0
- package/dist/components/widget/TokenInput/InputHeader.js +58 -0
- package/dist/components/widget/TokenInput/InputHeader.js.map +1 -0
- package/dist/components/widget/TokenInput/common/Balance.d.ts +3 -0
- package/dist/components/widget/TokenInput/common/Balance.d.ts.map +1 -0
- package/dist/components/widget/TokenInput/common/Balance.js +23 -0
- package/dist/components/widget/TokenInput/common/Balance.js.map +1 -0
- package/dist/components/widget/TokenInput/common/MaxButtons.d.ts +4 -0
- package/dist/components/widget/TokenInput/common/MaxButtons.d.ts.map +1 -0
- package/dist/components/widget/TokenInput/common/MaxButtons.js +49 -0
- package/dist/components/widget/TokenInput/common/MaxButtons.js.map +1 -0
- package/dist/components/widget/TokenInput/index.d.ts.map +1 -1
- package/dist/components/widget/TokenInput/index.js +115 -153
- package/dist/components/widget/TokenInput/index.js.map +1 -1
- package/dist/components/widget/TokenInput/types.d.ts +7 -1
- package/dist/components/widget/TokenInput/types.d.ts.map +1 -1
- package/dist/configurator/Configurator.d.ts.map +1 -1
- package/dist/configurator/components/EnabledChainsSelector.d.ts.map +1 -1
- package/dist/configurator/components/PartnerInput.d.ts +5 -3
- package/dist/configurator/components/PartnerInput.d.ts.map +1 -1
- package/dist/configurator/components/common/Input.d.ts +9 -0
- package/dist/configurator/components/common/Input.d.ts.map +1 -1
- package/dist/core/constants.d.ts +3 -0
- package/dist/core/constants.d.ts.map +1 -1
- package/dist/core/constants.js +4 -1
- package/dist/core/constants.js.map +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +121 -113
- package/dist/core/index.js.map +1 -1
- package/dist/core/inputs/hooks/useMaxButtonProps.d.ts +2 -7
- package/dist/core/inputs/hooks/useMaxButtonProps.d.ts.map +1 -1
- package/dist/core/inputs/hooks/useMaxButtonProps.js +39 -6
- package/dist/core/inputs/hooks/useMaxButtonProps.js.map +1 -1
- package/dist/core/limit/useLimitTokenFromInputProps.d.ts.map +1 -1
- package/dist/core/limit/useLimitTokenFromInputProps.js +15 -2
- package/dist/core/limit/useLimitTokenFromInputProps.js.map +1 -1
- package/dist/core/otc/useOtcTokenFromInputProps.d.ts.map +1 -1
- package/dist/core/otc/useOtcTokenFromInputProps.js +15 -2
- package/dist/core/otc/useOtcTokenFromInputProps.js.map +1 -1
- package/dist/core/screen/hooks/useResizeObserver.d.ts +2 -0
- package/dist/core/screen/hooks/useResizeObserver.d.ts.map +1 -0
- package/dist/core/screen/hooks/useResizeObserver.js +36 -0
- package/dist/core/screen/hooks/useResizeObserver.js.map +1 -0
- package/dist/core/state/configActionsAtom.d.ts.map +1 -1
- package/dist/core/state/configActionsAtom.js +3 -3
- package/dist/core/state/configActionsAtom.js.map +1 -1
- package/dist/core/state/configAtom.d.ts +5 -6
- package/dist/core/state/configAtom.d.ts.map +1 -1
- package/dist/core/state/configAtom.js +7 -4
- package/dist/core/state/configAtom.js.map +1 -1
- package/dist/core/state/containerAtom.d.ts +4 -0
- package/dist/core/state/containerAtom.d.ts.map +1 -1
- package/dist/core/state/containerAtom.js +8 -1
- package/dist/core/state/containerAtom.js.map +1 -1
- package/dist/core/state/validatedPartnerConfigAtom.d.ts +3 -0
- package/dist/core/state/validatedPartnerConfigAtom.d.ts.map +1 -0
- package/dist/core/state/validatedPartnerConfigAtom.js +22 -0
- package/dist/core/state/validatedPartnerConfigAtom.js.map +1 -0
- package/dist/core/types.d.ts +12 -2
- package/dist/core/types.d.ts.map +1 -1
- package/dist/events/hooks/useOnWalletConnect.d.ts.map +1 -1
- package/dist/events/hooks/useOnWalletConnect.js +12 -1
- package/dist/events/hooks/useOnWalletConnect.js.map +1 -1
- package/dist/events/types/connectWallet.d.ts +2 -1
- package/dist/events/types/connectWallet.d.ts.map +1 -1
- package/dist/hooks/connectors/useIsConnectedSafe.d.ts +1 -0
- package/dist/hooks/connectors/useIsConnectedSafe.d.ts.map +1 -1
- package/dist/hooks/connectors/useIsConnectedSafe.js +6 -1
- package/dist/hooks/connectors/useIsConnectedSafe.js.map +1 -1
- package/dist/hooks/connectors/useIsSafeThroughWalletConnect.d.ts.map +1 -1
- package/dist/hooks/connectors/useIsSafeThroughWalletConnect.js +2 -2
- package/dist/hooks/connectors/useIsSafeThroughWalletConnect.js.map +1 -1
- package/dist/hooks/otc/mutations/useFillOrder.js +0 -12
- package/dist/hooks/otc/mutations/useFillOrder.js.map +1 -1
- package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.js +0 -13
- package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts +2 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js +2 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
- package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.d.ts +1 -0
- package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.d.ts.map +1 -1
- package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js +2 -1
- package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js.map +1 -1
- package/dist/hooks/swap/prices/usePricesParams.d.ts +1 -1
- package/dist/hooks/swap/prices/usePricesParams.d.ts.map +1 -1
- package/dist/hooks/swap/prices/usePricesParams.js +31 -27
- package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +9 -1
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js +3 -1
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useMarketFlow.js +9 -6
- package/dist/hooks/swap/tradeFlow/useMarketFlow.js.map +1 -1
- package/dist/hooks/txs/queries/useAwaitTx.d.ts.map +1 -1
- package/dist/hooks/txs/queries/useAwaitTx.js +3 -4
- package/dist/hooks/txs/queries/useAwaitTx.js.map +1 -1
- package/dist/hooks/useBreakpoints.d.ts +4 -0
- package/dist/hooks/useBreakpoints.d.ts.map +1 -0
- package/dist/hooks/useBreakpoints.js +22 -0
- package/dist/hooks/useBreakpoints.js.map +1 -0
- package/dist/hooks/usePartner.d.ts +1 -1
- package/dist/hooks/usePartner.d.ts.map +1 -1
- package/dist/hooks/usePartner.js +3 -5
- package/dist/hooks/usePartner.js.map +1 -1
- package/dist/lib/constants/mobile.d.ts +2 -0
- package/dist/lib/constants/mobile.d.ts.map +1 -0
- package/dist/lib/constants/mobile.js +6 -0
- package/dist/lib/constants/mobile.js.map +1 -0
- package/dist/lib/constants/storage.d.ts +1 -1
- package/dist/lib/constants/storage.d.ts.map +1 -1
- package/dist/lib/constants/storage.js +3 -1
- package/dist/lib/constants/storage.js.map +1 -1
- package/dist/lib/utils/formatFiatPrice.d.ts +1 -1
- package/dist/lib/utils/formatFiatPrice.d.ts.map +1 -1
- package/dist/lib/utils/formatFiatPrice.js +4 -2
- package/dist/lib/utils/formatFiatPrice.js.map +1 -1
- package/dist/lib/utils/mobile.d.ts +6 -0
- package/dist/lib/utils/mobile.d.ts.map +1 -0
- package/dist/lib/utils/mobile.js +10 -0
- package/dist/lib/utils/mobile.js.map +1 -0
- package/dist/lib/web3/wagmi/config.d.ts.map +1 -1
- package/dist/lib/web3/wagmi/config.js +1 -1
- package/dist/lib/web3/wagmi/config.js.map +1 -1
- package/dist/lib/web3/wagmi/constants.d.ts +1 -0
- package/dist/lib/web3/wagmi/constants.d.ts.map +1 -1
- package/dist/lib/web3/wagmi/constants.js +13 -1
- package/dist/lib/web3/wagmi/constants.js.map +1 -1
- package/dist/lib/web3/wagmi/isInIframe.d.ts +2 -0
- package/dist/lib/web3/wagmi/isInIframe.d.ts.map +1 -0
- package/dist/lib/web3/wagmi/isInIframe.js +4 -0
- package/dist/lib/web3/wagmi/isInIframe.js.map +1 -0
- package/dist/lib/web3/wagmi/isInsideSafeIframe.d.ts +0 -1
- package/dist/lib/web3/wagmi/isInsideSafeIframe.d.ts.map +1 -1
- package/dist/lib/web3/wagmi/isInsideSafeIframe.js +2 -2
- package/dist/lib/web3/wagmi/isInsideSafeIframe.js.map +1 -1
- package/dist/styles.css +56 -17
- package/dist/transactions/state/transactionsActionAtom.d.ts.map +1 -1
- package/dist/transactions/state/transactionsActionAtom.js +11 -2
- package/dist/transactions/state/transactionsActionAtom.js.map +1 -1
- package/package.json +3 -2
|
@@ -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
|
|
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":"
|
|
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
|
-
|
|
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":["
|
|
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>,
|
|
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,
|
|
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,
|
|
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
|
|
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 @@
|
|
|
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":"AAAA,OAAO,EAA+B,KAAK,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAoC5E,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../src/lib/web3/wagmi/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -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 './
|
|
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 \"./
|
|
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":"AAAA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,cAAc,CAAC;AAe1C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
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 @@
|
|
|
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 @@
|
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isInsideSafeIframe.d.ts","sourceRoot":"","sources":["../../../../src/lib/web3/wagmi/isInsideSafeIframe.ts"],"names":[],"mappings":"
|
|
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 {
|
|
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\";\
|
|
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-\[
|
|
1505
|
-
padding-inline:
|
|
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;
|
|
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 (
|
|
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":"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"}
|