@velora-dex/widget 0.3.3 → 0.3.4-dev.1
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/web3/providers.d.ts +2 -1
- package/dist/components/web3/providers.d.ts.map +1 -1
- package/dist/components/web3/providers.js +65 -10
- package/dist/components/web3/providers.js.map +1 -1
- package/dist/configurator/Configurator.d.ts.map +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +38 -11
- package/dist/core/index.js.map +1 -1
- package/dist/core/screen/hooks/useInitialValue.d.ts +2 -0
- package/dist/core/screen/hooks/useInitialValue.d.ts.map +1 -0
- package/dist/core/screen/hooks/useInitialValue.js +9 -0
- package/dist/core/screen/hooks/useInitialValue.js.map +1 -0
- package/dist/events/hooks/useOnWalletConnect.d.ts.map +1 -1
- package/dist/events/hooks/useOnWalletConnect.js +4 -0
- package/dist/events/hooks/useOnWalletConnect.js.map +1 -1
- package/dist/hooks/otc/mutations/useFillOrder.js +3 -2
- package/dist/hooks/otc/mutations/useFillOrder.js.map +1 -1
- package/dist/hooks/txs/queries/useAwaitTx.d.ts.map +1 -1
- package/dist/hooks/txs/queries/useAwaitTx.js +71 -19
- package/dist/hooks/txs/queries/useAwaitTx.js.map +1 -1
- package/dist/lib/web3/privy/config.js +1 -1
- package/dist/lib/web3/wagmi/config.js +1 -1
- package/dist/styles.css +1 -1
- package/dist/transactions/state/effects/finalize.d.ts +1 -1
- package/dist/transactions/state/effects/finalize.js +2 -2
- package/dist/transactions/state/effects/finalize.js.map +1 -1
- package/dist/transactions/state/hooks/useActivateEffects.js +2 -2
- package/dist/transactions/state/hooks/useActivateEffects.js.map +1 -1
- package/dist/transactions/state/transactionsActionAtom.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
export declare function Web3Providers({ children }: {
|
|
1
|
+
export declare function Web3Providers({ children, reconnectOnMount, }: {
|
|
2
2
|
children: React.ReactNode;
|
|
3
|
+
reconnectOnMount?: boolean;
|
|
3
4
|
}): import("react/jsx-runtime").JSX.Element;
|
|
4
5
|
export declare function QueryClientProvider({ children, }: {
|
|
5
6
|
children: React.ReactNode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../../src/components/web3/providers.tsx"],"names":[],"mappings":"AAOA,wBAAgB,aAAa,CAAC,
|
|
1
|
+
{"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../../src/components/web3/providers.tsx"],"names":[],"mappings":"AAOA,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,gBAAgB,GACjB,EAAE;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,2CA4BA;AAED,wBAAgB,mBAAmB,CAAC,EAClC,QAAQ,GACT,EAAE;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,2CAIA;AAED,wBAAgB,aAAa,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,2CAExE"}
|
|
@@ -4,26 +4,81 @@ import { QueryClientProvider as QueryClientProvider$1 } from '@tanstack/react-qu
|
|
|
4
4
|
import { wagmiConfig } from '../../lib/web3/wagmi/config.js';
|
|
5
5
|
import { WagmiProvider } from 'wagmi';
|
|
6
6
|
import { queryClient } from '../../lib/queryClient.js';
|
|
7
|
-
import { useIsDappMode } from '../../core/state/externalProviderAtom.js';
|
|
8
7
|
import { Provider, jotaiStore } from '../../core/store.js';
|
|
8
|
+
import { useEffect } from 'react';
|
|
9
9
|
|
|
10
10
|
function Web3Providers(t0) {
|
|
11
|
-
const $ = distExports.c(
|
|
11
|
+
const $ = distExports.c(11);
|
|
12
12
|
const {
|
|
13
|
-
children
|
|
13
|
+
children,
|
|
14
|
+
reconnectOnMount
|
|
14
15
|
} = t0;
|
|
15
|
-
|
|
16
|
-
|
|
16
|
+
let t1;
|
|
17
|
+
if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
|
|
18
|
+
t1 = [];
|
|
19
|
+
$[0] = t1;
|
|
20
|
+
} else {
|
|
21
|
+
t1 = $[0];
|
|
22
|
+
}
|
|
23
|
+
useEffect(_temp2, t1);
|
|
17
24
|
let t2;
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
25
|
+
let t3;
|
|
26
|
+
if ($[1] !== reconnectOnMount) {
|
|
27
|
+
t2 = () => {
|
|
28
|
+
console.log("Web3Providers::reconnectOnMount", reconnectOnMount);
|
|
29
|
+
};
|
|
30
|
+
t3 = [reconnectOnMount];
|
|
31
|
+
$[1] = reconnectOnMount;
|
|
22
32
|
$[2] = t2;
|
|
33
|
+
$[3] = t3;
|
|
23
34
|
} else {
|
|
24
35
|
t2 = $[2];
|
|
36
|
+
t3 = $[3];
|
|
37
|
+
}
|
|
38
|
+
useEffect(t2, t3);
|
|
39
|
+
let t4;
|
|
40
|
+
let t5;
|
|
41
|
+
if ($[4] !== children) {
|
|
42
|
+
t4 = () => {
|
|
43
|
+
console.log("Web3Providers::children", children);
|
|
44
|
+
};
|
|
45
|
+
t5 = [children];
|
|
46
|
+
$[4] = children;
|
|
47
|
+
$[5] = t4;
|
|
48
|
+
$[6] = t5;
|
|
49
|
+
} else {
|
|
50
|
+
t4 = $[5];
|
|
51
|
+
t5 = $[6];
|
|
25
52
|
}
|
|
26
|
-
|
|
53
|
+
useEffect(t4, t5);
|
|
54
|
+
let t6;
|
|
55
|
+
if ($[7] === Symbol.for("react.memo_cache_sentinel")) {
|
|
56
|
+
t6 = [];
|
|
57
|
+
$[7] = t6;
|
|
58
|
+
} else {
|
|
59
|
+
t6 = $[7];
|
|
60
|
+
}
|
|
61
|
+
useEffect(_temp3, t6);
|
|
62
|
+
let t7;
|
|
63
|
+
if ($[8] !== children || $[9] !== reconnectOnMount) {
|
|
64
|
+
t7 = /* @__PURE__ */ jsx(WagmiProvider, { config: wagmiConfig, reconnectOnMount, children });
|
|
65
|
+
$[8] = children;
|
|
66
|
+
$[9] = reconnectOnMount;
|
|
67
|
+
$[10] = t7;
|
|
68
|
+
} else {
|
|
69
|
+
t7 = $[10];
|
|
70
|
+
}
|
|
71
|
+
return t7;
|
|
72
|
+
}
|
|
73
|
+
function _temp3() {
|
|
74
|
+
console.log("Web3Providers::rerendered");
|
|
75
|
+
}
|
|
76
|
+
function _temp2() {
|
|
77
|
+
console.log("Web3Providers mounted");
|
|
78
|
+
return _temp;
|
|
79
|
+
}
|
|
80
|
+
function _temp() {
|
|
81
|
+
console.log("Web3Providers unmounted");
|
|
27
82
|
}
|
|
28
83
|
function QueryClientProvider(t0) {
|
|
29
84
|
const $ = distExports.c(2);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providers.js","sources":["../../../src/components/web3/providers.tsx"],"sourcesContent":["import { QueryClientProvider as _QueryClientProvider } from \"@tanstack/react-query\";\nimport { wagmiConfig } from \"@/lib/web3/wagmi/config\";\nimport { WagmiProvider } from \"wagmi\";\nimport { queryClient } from \"@/lib/queryClient\";\nimport {
|
|
1
|
+
{"version":3,"file":"providers.js","sources":["../../../src/components/web3/providers.tsx"],"sourcesContent":["import { QueryClientProvider as _QueryClientProvider } from \"@tanstack/react-query\";\nimport { wagmiConfig } from \"@/lib/web3/wagmi/config\";\nimport { WagmiProvider } from \"wagmi\";\nimport { queryClient } from \"@/lib/queryClient\";\nimport { jotaiStore, Provider } from \"@/core/store\";\nimport { useEffect } from \"react\";\n\nexport function Web3Providers({\n children,\n reconnectOnMount,\n}: {\n children: React.ReactNode;\n reconnectOnMount?: boolean;\n}) {\n useEffect(() => {\n console.log(\"Web3Providers mounted\");\n return () => {\n console.log(\"Web3Providers unmounted\");\n };\n }, []);\n\n useEffect(() => {\n console.log(\"Web3Providers::reconnectOnMount\", reconnectOnMount);\n }, [reconnectOnMount]);\n\n useEffect(() => {\n console.log(\"Web3Providers::children\", children);\n }, [children]);\n\n useEffect(() => {\n console.log(\"Web3Providers::rerendered\");\n }, []);\n\n return (\n /* connect on mount (eager-connect) should be controlled by the App that uses the widget\n otherwise we can get different wallets connected between the App and the widget */\n <WagmiProvider config={wagmiConfig} reconnectOnMount={reconnectOnMount}>\n {/* @TODO: check if reconnectOnMount is necessary even with externalProvider in Dapp mode */}\n {children}\n </WagmiProvider>\n );\n}\n\nexport function QueryClientProvider({\n children,\n}: {\n children: React.ReactNode;\n}) {\n return (\n <_QueryClientProvider client={queryClient}>{children}</_QueryClientProvider>\n );\n}\n\nexport function JotaiProvider({ children }: { children: React.ReactNode }) {\n return <Provider store={jotaiStore}>{children}</Provider>;\n}\n"],"names":["Web3Providers","t0","$","_c","children","reconnectOnMount","t1","Symbol","for","useEffect","_temp2","t2","t3","console","log","t4","t5","t6","_temp3","t7","wagmiConfig","_temp","QueryClientProvider","_QueryClientProvider","queryClient","JotaiProvider","jotaiStore"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Configurator.d.ts","sourceRoot":"","sources":["../../src/configurator/Configurator.tsx"],"names":[],"mappings":"AAsPA,eAAO,MAAM,YAAY,+
|
|
1
|
+
{"version":3,"file":"Configurator.d.ts","sourceRoot":"","sources":["../../src/configurator/Configurator.tsx"],"names":[],"mappings":"AAsPA,eAAO,MAAM,YAAY,+CA6SxB,CAAC"}
|
package/dist/core/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.tsx"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,CAAC;AAiB7B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.tsx"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,CAAC;AAiB7B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAoU3C,eAAO,MAAM,MAAM,GAAI,qCAAqC,WAAW,4CAatE,CAAC"}
|
package/dist/core/index.js
CHANGED
|
@@ -4,7 +4,7 @@ import '../styles.css';/* empty css */
|
|
|
4
4
|
import { TokenInput } from '../components/widget/TokenInput/index.js';
|
|
5
5
|
import { useTokenFromInputProps } from './inputs/hooks/useTokenFromInputProps.js';
|
|
6
6
|
import '../components/ui/button.js';
|
|
7
|
-
import {
|
|
7
|
+
import { JotaiProvider, QueryClientProvider, Web3Providers } from '../components/web3/providers.js';
|
|
8
8
|
import { useAccount } from 'wagmi';
|
|
9
9
|
import { WIDGET_HEIGHT_CLASSNAME, WIDGET_ELEMENT_ID } from './constants.js';
|
|
10
10
|
import { Updaters } from './Updaters.js';
|
|
@@ -68,6 +68,7 @@ import { useLimitReceiverAddress } from './limit/state/receiverAddressAtom.js';
|
|
|
68
68
|
import { isBridgePrice } from '../hooks/swap/prices/delta/queries/useDeltaPriceQuery.js';
|
|
69
69
|
import { BridgeSelectorExpandable } from '../components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable.js';
|
|
70
70
|
import { ErrorBoundary } from 'react-error-boundary';
|
|
71
|
+
import { useInitialValue } from './screen/hooks/useInitialValue.js';
|
|
71
72
|
|
|
72
73
|
runSubscriptions();
|
|
73
74
|
const SwapScreen = () => {
|
|
@@ -270,7 +271,7 @@ const App = () => {
|
|
|
270
271
|
return t2;
|
|
271
272
|
};
|
|
272
273
|
const WidgetBase = (t0) => {
|
|
273
|
-
const $ = distExports.c(
|
|
274
|
+
const $ = distExports.c(70);
|
|
274
275
|
const {
|
|
275
276
|
config: _config,
|
|
276
277
|
provider,
|
|
@@ -498,20 +499,46 @@ const WidgetBase = (t0) => {
|
|
|
498
499
|
t17 = $[62];
|
|
499
500
|
}
|
|
500
501
|
useLayoutEffect(t16, t17);
|
|
502
|
+
const isDappMode = config?.widgetMode === "dapp";
|
|
503
|
+
const reconnectOnMountInit = useInitialValue(!isDappMode);
|
|
501
504
|
let t18;
|
|
505
|
+
let t19;
|
|
506
|
+
let t20;
|
|
507
|
+
let t21;
|
|
508
|
+
let t22;
|
|
502
509
|
if ($[63] === Symbol.for("react.memo_cache_sentinel")) {
|
|
503
|
-
t18 = /* @__PURE__ */
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
false
|
|
509
|
-
] });
|
|
510
|
+
t18 = /* @__PURE__ */ jsx(AutoconnectExternalProvider, {});
|
|
511
|
+
t19 = /* @__PURE__ */ jsx(PrivyIframeDependency, {});
|
|
512
|
+
t20 = /* @__PURE__ */ jsx(Updaters, {});
|
|
513
|
+
t21 = /* @__PURE__ */ jsx(App, {});
|
|
514
|
+
t22 = false;
|
|
510
515
|
$[63] = t18;
|
|
516
|
+
$[64] = t19;
|
|
517
|
+
$[65] = t20;
|
|
518
|
+
$[66] = t21;
|
|
519
|
+
$[67] = t22;
|
|
511
520
|
} else {
|
|
512
521
|
t18 = $[63];
|
|
522
|
+
t19 = $[64];
|
|
523
|
+
t20 = $[65];
|
|
524
|
+
t21 = $[66];
|
|
525
|
+
t22 = $[67];
|
|
526
|
+
}
|
|
527
|
+
let t23;
|
|
528
|
+
if ($[68] !== reconnectOnMountInit) {
|
|
529
|
+
t23 = /* @__PURE__ */ jsxs(Web3Providers, { reconnectOnMount: reconnectOnMountInit, children: [
|
|
530
|
+
t18,
|
|
531
|
+
t19,
|
|
532
|
+
t20,
|
|
533
|
+
t21,
|
|
534
|
+
t22
|
|
535
|
+
] });
|
|
536
|
+
$[68] = reconnectOnMountInit;
|
|
537
|
+
$[69] = t23;
|
|
538
|
+
} else {
|
|
539
|
+
t23 = $[69];
|
|
513
540
|
}
|
|
514
|
-
return
|
|
541
|
+
return t23;
|
|
515
542
|
};
|
|
516
543
|
const Widget = (t0) => {
|
|
517
544
|
const $ = distExports.c(5);
|
|
@@ -523,7 +550,7 @@ const Widget = (t0) => {
|
|
|
523
550
|
} = t0;
|
|
524
551
|
let t1;
|
|
525
552
|
if ($[0] !== config || $[1] !== events || $[2] !== input || $[3] !== provider) {
|
|
526
|
-
t1 = /* @__PURE__ */ jsx(
|
|
553
|
+
t1 = /* @__PURE__ */ jsx(JotaiProvider, { children: /* @__PURE__ */ jsx(QueryClientProvider, { children: /* @__PURE__ */ jsx(WidgetBase, { config, provider, events, input }) }) });
|
|
527
554
|
$[0] = config;
|
|
528
555
|
$[1] = events;
|
|
529
556
|
$[2] = input;
|
package/dist/core/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/core/index.tsx"],"sourcesContent":["import \"@/styles/global.css\";\n\nimport { DevTools } from \"./DevTools\"; // Jotai DevTools instantiation needs to be before jotai.createStore (even implicit with default provider)\nimport { TokenInput } from \"@/components/widget/TokenInput\";\nimport { useTokenFromInputProps } from \"./inputs/hooks/useTokenFromInputProps\";\nimport { Button } from \"@/components/ui/button\";\nimport {\n JotaiProvider,\n QueryClientProvider,\n Web3Providers,\n} from \"@/components/web3/providers\";\nimport { useAccount } from \"wagmi\";\nimport { WIDGET_ELEMENT_ID, WIDGET_HEIGHT_CLASSNAME } from \"./constants\";\n\nimport { Updaters } from \"./Updaters\";\nimport { useTokenToInputProps } from \"./inputs/hooks/useTokenToInputProps\";\nimport { TokenSwitcher as TokenSwitcherComp } from \"@/components/widget/TokenSwitcher/TokenSwitcher\";\nimport type { WidgetProps } from \"./types\";\nimport { cn } from \"@/lib/utils\";\nimport { useSwapTokenSwitcherProps } from \"./inputs/hooks/useTokenSwitcherProps\";\n\nimport { runSubscriptions } from \"./subscriptions\";\n\nimport { PrivyIframeDependency } from \"@/components/web3/ConnectWallets/privy/iframe\";\nimport { SwapModeSwitcherExpandable } from \"@/components/widget/SwapModeSwitcher/SwapModeSwitcherExpandable\";\n\nimport { useTokenInputsFromPrice } from \"@/hooks/swap/prices/useTokenInputsFromPrice\";\nimport type { MinTradeOverviewProps } from \"@/components/widget/TradeOverview/TradeOverview\";\n\nimport type { BridgePrice, DeltaPrice, OptimalRate } from \"@velora-dex/sdk\";\nimport type { SwapMode } from \"@/components/widget/SwapModeSwitcher/state/types\";\nimport { SwapDetailsExpandable } from \"@/components/widget/Details/SwapDetailsExpandable\";\nimport { ReceiverAddress } from \"@/components/widget/ReceiverAddress/ReceiverAddress\";\nimport { useAtomValue, useSetAtom } from \"@/core/store\";\nimport { useHydrateAtoms } from \"jotai/utils\";\nimport { containerAtom } from \"./state/containerAtom\";\nimport { AppHeader } from \"@/components/widget/AppHeader/AppHeader\";\nimport { useLayoutEffect, useRef } from \"react\";\nimport {\n defaultSubConfig,\n defaultWidgetConfig,\n excludeUIAtom,\n useWidgetConfig,\n} from \"./state/configAtom\";\nimport {\n setSubConfigAtom,\n setWidgetConfigAtom,\n} from \"./state/configActionsAtom\";\nimport { WrapEthDrawerButton } from \"@/components/widget/WrapEth/WrapEthDrawerButton\";\nimport type { WrapEthProps } from \"@/components/widget/WrapEth/hooks/types\";\nimport { useWrapEthProps } from \"@/components/widget/WrapEth/hooks/useWrapEthProps\";\nimport { PoweredBy } from \"@/components/widget/PoweredBy/PoweredBy\";\nimport { useWidgetButtonExtraProps } from \"./button/hooks/useWidgetButtonExtraProps\";\nimport { useSwapPrices } from \"@/hooks/swap/prices/useSwapPrices\";\nimport { Toaster } from \"./Toaster\";\nimport { externalProviderAtom } from \"./state/externalProviderAtom\";\nimport { AutoconnectExternalProvider } from \"@/components/web3/ConnectExternalProvider/AutoconnectExternal\";\nimport { SwapTradeFlowScreenButton } from \"./TradeFlowScreenButton\";\nimport { ConnectWalletDrawerButton } from \"./ConnectWalletDrawerButton\";\nimport { PriceInput } from \"@/components/widget/LimitPriceInput\";\nimport { OrderExpiryInput } from \"@/components/widget/OrderExpiryInput\";\nimport { useLimitTokenToInputProps } from \"./limit/useLimitTokenToInputProps\";\nimport { useLimitTokenFromInputProps } from \"./limit/useLimitTokenFromInputProps\";\nimport { useTradeMode } from \"./state/tradeModeAtom\";\nimport { useDrawerContainerHeightTransition } from \"@/components/widget/Drawer/state/useDrawerControls\";\nimport { InWidgetDrawerOverlay } from \"@/components/widget/Drawer/Overlay\";\nimport { LimitOrderButton } from \"./LimitOrderButton\";\nimport { LimitOrderDetails } from \"./LimitOrderDetails\";\nimport { useOtcTokenFromInputProps } from \"./otc/useOtcTokenFromInputProps\";\nimport { useOtcTokenToInputProps } from \"./otc/useOtcTokenToInputProps\";\nimport { useLimitPriceInputProps } from \"./limit/useLimitPriceInputProps\";\nimport { useOtcPriceInputProps } from \"./otc/useOtcPriceInputProps\";\nimport { OtcOrderButton } from \"./OtcOrderButton\";\nimport { OtcOrderDetails } from \"./OtcOrderDetails\";\nimport { WidgetWarning } from \"./Warnings\";\nimport { useUnsupportedLimitChain } from \"./limit/useLimitNotSupported\";\nimport { useUnsupportedOtcChain } from \"./otc/useOtcNotSupported\";\nimport { useLimitTokenSwitcherProps } from \"./limit/useLimitTokenSwitcherProps\";\nimport { useOtcTokenSwitcherProps } from \"./otc/useOtcTokenSwitcherProps\";\nimport { useSwapReceiverAddress } from \"@/components/widget/ReceiverAddress/state/receiverAddressAtom\";\nimport { useOtcReceiverAddress } from \"./otc/state/receiverAddressAtom\";\nimport {\n useWidgetEventsSetter,\n widgetEventsAtom,\n} from \"./state/widgetEventsAtom\";\nimport {\n formInputPropsAtom,\n useSetFormInputFromProps,\n} from \"./inputs/state/setTokenByAddressAtom\";\nimport { queryClientAtom } from \"jotai-tanstack-query\";\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport { useScreenValue } from \"./screen/state/hooks/useScreenValue\";\nimport {\n MainScreenContainer,\n SecondaryScreenContainer,\n} from \"@/components/widget/Screen/ScreenContainer\";\nimport { useCloseScreenOnClickOutside } from \"./screen/hooks/useOnClickOutside\";\nimport { useLimitReceiverAddress } from \"./limit/state/receiverAddressAtom\";\nimport { isBridgePrice } from \"@/hooks/swap/prices/delta/queries/useDeltaPriceQuery\";\nimport { BridgeSelectorExpandable } from \"@/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable\";\nimport { ErrorBoundary } from \"react-error-boundary\";\n\nrunSubscriptions();\n\nconst SwapScreen = () => {\n return (\n <>\n <SwapTokenFromInput />\n <SwapTokenSwitcher />\n <SwapTokenToInput />\n <SwapReceiverAddress />\n <WidgetWarning />\n <SwapButton />\n <SwapDetails />\n <SwapModeSwitcher />\n </>\n );\n};\n\nconst LimitOrderExtraInputs = () => {\n const priceInputProps = useLimitPriceInputProps();\n const unsupportedChain = useUnsupportedLimitChain();\n\n return (\n <div\n className={cn(\"flex gap-4 items-stretch py-2\", {\n \"pointer-events-none\": unsupportedChain,\n })}\n >\n <div className=\"flex-1\">\n <PriceInput {...priceInputProps} />\n </div>\n <div className=\"flex-1\">\n <OrderExpiryInput type=\"limit\" />\n </div>\n </div>\n );\n};\n\nconst OtcOrderExtraInputs = () => {\n const priceInputProps = useOtcPriceInputProps();\n const unsupportedChain = useUnsupportedOtcChain();\n\n return (\n <div\n className={cn(\"flex gap-4 items-stretch py-2\", {\n \"pointer-events-none\": unsupportedChain,\n })}\n >\n <div className=\"flex-1\">\n <PriceInput {...priceInputProps} />\n </div>\n <div className=\"flex-1\">\n <OrderExpiryInput type=\"otc\" />\n </div>\n </div>\n );\n};\n\nconst LimitOrderScreen = () => {\n return (\n <>\n <LimitTokenFromInput />\n <LimitTokenSwitcher />\n <LimitTokenToInput />\n <LimitOrderExtraInputs />\n <LimitReceiverAddress />\n <WidgetWarning />\n <LimitOrderButton />\n <LimitOrderDetails />\n </>\n );\n};\n\nconst OtcOrderScreen = () => {\n return (\n <>\n <OtcTokenFromInput />\n <OtcTokenSwitcher />\n <OtcTokenToInput />\n <OtcOrderExtraInputs />\n <OtcReceiverAddress />\n <WidgetWarning />\n <OtcOrderButton />\n <OtcOrderDetails />\n </>\n );\n};\n\nconst MainScreen = () => {\n const tradeMode = useTradeMode();\n return tradeMode === \"swap\" ? (\n <SwapScreen />\n ) : tradeMode === \"limit\" ? (\n <LimitOrderScreen />\n ) : (\n <OtcOrderScreen />\n );\n};\n\nconst App = () => {\n const excludeUI = useAtomValue(excludeUIAtom);\n const { screenElement } = useScreenValue();\n\n return (\n <Containers>\n {screenElement ? (\n <SecondaryScreenContainer>{screenElement}</SecondaryScreenContainer>\n ) : (\n <MainScreenContainer>\n <WidgetHeader />\n <MainScreen />\n <PoweredBy />\n </MainScreenContainer>\n )}\n {!excludeUI.includes(\"snackbars\") && <Toaster />}\n </Containers>\n );\n};\n\nconst WidgetBase = ({\n config: _config,\n provider,\n events,\n input: formInputProps,\n}: WidgetProps) => {\n const queryClient = useQueryClient();\n\n const setWidgetConfig = useSetAtom(setWidgetConfigAtom);\n const setSubConfig = useSetAtom(setSubConfigAtom);\n const {\n srcChains,\n destChains,\n tokenLists,\n tradeModes,\n excludeUI,\n devURLs,\n ...config\n } = _config || {};\n\n // hydrating with only partial config overrides values with undefined,\n // so we have default values too\n useHydrateAtoms([\n [setWidgetConfigAtom, { ...defaultWidgetConfig, ...config }],\n [\n setSubConfigAtom,\n {\n ...defaultSubConfig,\n srcChains,\n destChains,\n tokenLists,\n tradeModes,\n excludeUI,\n devURLs,\n },\n ],\n [externalProviderAtom, provider || null],\n [widgetEventsAtom, events || {}],\n [formInputPropsAtom, formInputProps || {}],\n // this provider initialisation step is needed so that jotai reference the same\n // queryClient in both atomWithQuery and other parts of the app. Without this,\n // jotai will reference a different instance of queryClient\n [queryClientAtom, queryClient],\n ]);\n\n useWidgetEventsSetter(events);\n useSetFormInputFromProps(formInputProps);\n\n useLayoutEffect(() => {\n setWidgetConfig({\n theme: config.theme,\n enableDelta: config.enableDelta,\n enableCrossChain: config.enableCrossChain,\n partner: config.partner,\n privyAppId: config.privyAppId,\n privyClientId: config.privyClientId,\n debug: config.debug,\n widgetMode: config.widgetMode,\n ignoreBadUsdPrice: config.ignoreBadUsdPrice,\n });\n }, [\n config.theme,\n config.enableDelta,\n config.enableCrossChain,\n config.partner,\n config.privyAppId,\n config.privyClientId,\n config.debug,\n config.widgetMode,\n config.ignoreBadUsdPrice,\n setWidgetConfig,\n ]);\n\n useLayoutEffect(() => {\n setSubConfig({\n srcChains,\n destChains,\n tokenLists,\n tradeModes,\n excludeUI,\n devURLs,\n });\n }, [\n srcChains,\n destChains,\n tokenLists,\n setSubConfig,\n tradeModes,\n excludeUI,\n devURLs,\n ]);\n\n const setExternalProvider = useSetAtom(externalProviderAtom);\n\n useLayoutEffect(() => {\n // update external provider on change\n setExternalProvider(provider || null);\n }, [provider, setExternalProvider]);\n\n return (\n <Web3Providers>\n <AutoconnectExternalProvider />\n <PrivyIframeDependency />\n <Updaters />\n <App />\n {import.meta.env.DEV && <DevTools />}\n </Web3Providers>\n );\n};\n\nexport const Widget = ({ config, provider, events, input }: WidgetProps) => {\n return (\n <QueryClientProvider>\n <JotaiProvider>\n <WidgetBase\n config={config}\n provider={provider}\n events={events}\n input={input}\n />\n </JotaiProvider>\n </QueryClientProvider>\n );\n};\n\nfunction Containers({ children }: { children: React.ReactNode }) {\n const setContainerElement = useSetAtom(containerAtom);\n\n const containerRef = useRef<HTMLDivElement | null>(null);\n useCloseScreenOnClickOutside(containerRef);\n\n const widgetConfig = useWidgetConfig();\n\n const { isDrawerFullCover, isDrawerOpen } =\n useDrawerContainerHeightTransition(containerRef);\n\n const partialDrawerOpen = isDrawerOpen && !isDrawerFullCover;\n\n return (\n <div\n ref={containerRef}\n // don't use tailwind classes on the root element, because of .velora-widget { @import tailwind/*}\n className={cn(\"velora-widget\", {\n dark: widgetConfig.theme === \"dark\",\n })}\n id={WIDGET_ELEMENT_ID}\n >\n <InWidgetDrawerOverlay open={partialDrawerOpen} />\n\n <div\n // absolutely positioned container on top of parent container with fixed height,\n // but because it's not statically positioned, it doesn't add to the whole widget height\n className={cn(\n \"overflow-hidden bottom-0 left-0 right-0 absolute transition-transform duration-500 z-11 pointer-events-none [&>*]:pointer-events-auto\",\n WIDGET_HEIGHT_CLASSNAME\n )}\n ref={setContainerElement}\n />\n {children}\n </div>\n );\n}\n\nfunction WidgetHeader() {\n return <AppHeader classes={{ root: \"mb-4\" }} />;\n}\n\nfunction SwapTokenFromInput() {\n // override Token amounts based on current swap price\n const overrides = useTokenInputsFromPrice();\n\n const tokenFromInputProps = useTokenFromInputProps({\n override: overrides.tokenFromAmount,\n activeSwapMode: overrides.priceMode,\n isPriceLoading: overrides.isLoading,\n price: overrides.price,\n });\n\n return <TokenInput {...tokenFromInputProps} />;\n}\n\nfunction LimitTokenFromInput() {\n const tokenFromInputProps = useLimitTokenFromInputProps();\n return <TokenInput {...tokenFromInputProps} />;\n}\n\nfunction OtcTokenFromInput() {\n const tokenFromInputProps = useOtcTokenFromInputProps();\n return <TokenInput {...tokenFromInputProps} />;\n}\n\nfunction SwapTokenToInput() {\n // override Token amounts based on current swap price\n const overrides = useTokenInputsFromPrice();\n\n const tokenToInputProps = useTokenToInputProps({\n override: overrides.tokenToAmount,\n isPriceLoading: overrides.isLoading,\n priceMode: overrides.priceMode,\n price: overrides.price,\n priceError: overrides.error,\n });\n\n return <TokenInput {...tokenToInputProps} />;\n}\n\nfunction LimitTokenToInput() {\n const tokenToInputProps = useLimitTokenToInputProps();\n return <TokenInput {...tokenToInputProps} />;\n}\n\nfunction OtcTokenToInput() {\n const tokenToInputProps = useOtcTokenToInputProps();\n return <TokenInput {...tokenToInputProps} />;\n}\n\nfunction SwapTokenSwitcher() {\n const tokenSwitcherProps = useSwapTokenSwitcherProps();\n return <TokenSwitcherComp {...tokenSwitcherProps} />;\n}\n\nfunction LimitTokenSwitcher() {\n const tokenSwitcherProps = useLimitTokenSwitcherProps();\n return <TokenSwitcherComp {...tokenSwitcherProps} />;\n}\n\nfunction OtcTokenSwitcher() {\n const tokenSwitcherProps = useOtcTokenSwitcherProps();\n return <TokenSwitcherComp {...tokenSwitcherProps} />;\n}\n\nfunction SwapButton() {\n // override Token amounts based on current swap price\n const overrides = useTokenInputsFromPrice();\n\n const tokenFromInputProps = useTokenFromInputProps({\n override: overrides.tokenFromAmount,\n activeSwapMode: overrides.priceMode,\n isPriceLoading: overrides.isLoading,\n price: overrides.price,\n });\n const tokenToInputProps = useTokenToInputProps({\n override: overrides.tokenToAmount,\n isPriceLoading: overrides.isLoading,\n priceMode: overrides.priceMode,\n price: overrides.price,\n priceError: overrides.error,\n });\n\n const orderProps =\n tokenFromInputProps.token && tokenToInputProps.token\n ? {\n fromToken: tokenFromInputProps.token,\n toToken: tokenToInputProps.token,\n fromAmount: tokenFromInputProps.amount,\n toAmount: tokenToInputProps.amount,\n swapSide: overrides.side,\n }\n : undefined;\n\n const wrapEthProps = useWrapEthProps();\n\n const extraProps = useWidgetButtonExtraProps({\n tokenFrom: tokenFromInputProps.token,\n tokenTo: tokenToInputProps.token,\n });\n\n return (\n <SwapButtonWithDrawer\n orderProps={orderProps}\n marketPrice={\n overrides.priceMode === \"market\" ? overrides.price : undefined\n }\n deltaPrice={overrides.priceMode === \"delta\" ? overrides.price : undefined}\n priceMode={overrides.priceMode}\n wrapEthProps={wrapEthProps}\n disabled={extraProps.disabled}\n labelOverride={extraProps.labelOverride}\n className={extraProps.className}\n />\n );\n}\n\nfunction SwapDetails() {\n const overrides = useTokenInputsFromPrice();\n\n const tokenFromInputProps = useTokenFromInputProps({\n override: overrides.tokenFromAmount,\n activeSwapMode: overrides.priceMode,\n isPriceLoading: overrides.isLoading,\n price: overrides.price,\n });\n const tokenToInputProps = useTokenToInputProps({\n override: overrides.tokenToAmount,\n isPriceLoading: overrides.isLoading,\n priceMode: overrides.priceMode,\n price: overrides.price,\n priceError: overrides.error,\n });\n\n const fromAmountGtZero = Number(tokenFromInputProps.amount) > 0;\n const shouldShowDetails = fromAmountGtZero && tokenToInputProps.token;\n\n return shouldShowDetails ? <SwapDetailsExpandable /> : null;\n}\n\nfunction SwapReceiverAddress() {\n const { isConnected } = useAccount();\n const shouldShowReceiverAddress = isConnected;\n const swapReceiverAddressProps = useSwapReceiverAddress();\n\n return shouldShowReceiverAddress ? (\n <ReceiverAddress\n classes={{ root: \"mt-2\" }}\n type=\"swap\"\n {...swapReceiverAddressProps}\n />\n ) : null;\n}\n\nfunction OtcReceiverAddress() {\n const unsupportedChain = useUnsupportedOtcChain();\n const otcReceiverAddressProps = useOtcReceiverAddress();\n\n return (\n <ReceiverAddress\n classes={{\n root: cn(\"mt-2\", {\n \"pointer-events-none\": unsupportedChain,\n }),\n }}\n type=\"otc\"\n {...otcReceiverAddressProps}\n />\n );\n}\n\nfunction LimitReceiverAddress() {\n const unsupportedChain = useUnsupportedLimitChain();\n const limitReceiverAddressProps = useLimitReceiverAddress();\n\n return (\n <ReceiverAddress\n classes={{\n root: cn(\"mt-2\", {\n \"pointer-events-none\": unsupportedChain,\n }),\n }}\n type=\"limit\"\n {...limitReceiverAddressProps}\n />\n );\n}\n\nconst swapModeSwitcherClasses = {\n root: \"mt-4\",\n} as const;\n\nfunction SwapModeSwitcher() {\n const { delta, market, priceMode } = useSwapPrices({ enabled: false });\n // @TODO as on the main UI:\n // 1. Show Market MarketOffers if marketPrice can be switched to and price will fetch\n // 2. Show nothing if only one of the prices can be used\n if (delta.canBeUsed && market.canBeUsed) {\n return (\n <SwapModeSwitcherExpandable\n classes={swapModeSwitcherClasses}\n currentEffectiveMode={priceMode}\n />\n );\n }\n\n if (delta.canBeUsed && delta.price && isBridgePrice(delta.price)) {\n return (\n <ErrorBoundary fallback={null}>\n <BridgeSelectorExpandable\n classes={swapModeSwitcherClasses}\n bridgePrice={delta.price}\n />\n </ErrorBoundary>\n );\n }\n}\n\ntype ButtonWithDrawerProps = React.ComponentProps<typeof Button> & {\n orderProps?: MinTradeOverviewProps;\n drawerContainer?: HTMLDivElement | null;\n marketPrice?: OptimalRate;\n deltaPrice?: DeltaPrice | BridgePrice;\n wrapEthProps: WrapEthProps;\n priceMode: SwapMode;\n labelOverride?: string;\n};\n\nfunction SwapButtonWithDrawer({\n orderProps,\n drawerContainer,\n marketPrice,\n deltaPrice,\n priceMode,\n wrapEthProps,\n labelOverride,\n ...buttonProps\n}: ButtonWithDrawerProps) {\n const { isConnected } = useAccount();\n\n if (!isConnected)\n return (\n <ConnectWalletDrawerButton\n drawerContainer={drawerContainer}\n {...buttonProps}\n />\n );\n\n if (wrapEthProps.shouldWrap)\n return (\n <WrapEthDrawerButton\n drawerContainer={drawerContainer}\n wrapEthProps={wrapEthProps}\n labelOverride={labelOverride}\n {...buttonProps}\n />\n );\n\n const priceProps =\n priceMode === \"delta\"\n ? { price: deltaPrice, priceMode }\n : { price: marketPrice, priceMode };\n\n return (\n <SwapTradeFlowScreenButton\n orderProps={orderProps}\n labelOverride={labelOverride}\n {...priceProps}\n {...buttonProps}\n />\n );\n}\n"],"names":["runSubscriptions","SwapScreen","$","_c","t0","Symbol","for","LimitOrderExtraInputs","priceInputProps","useLimitPriceInputProps","unsupportedChain","useUnsupportedLimitChain","cn","t1","t2","t3","OtcOrderExtraInputs","useOtcPriceInputProps","useUnsupportedOtcChain","LimitOrderScreen","OtcOrderScreen","MainScreen","tradeMode","useTradeMode","App","excludeUI","useAtomValue","excludeUIAtom","screenElement","useScreenValue","includes","WidgetBase","config","_config","provider","events","input","formInputProps","queryClient","useQueryClient","setWidgetConfig","useSetAtom","setWidgetConfigAtom","setSubConfig","setSubConfigAtom","destChains","devURLs","srcChains","tokenLists","tradeModes","defaultWidgetConfig","defaultSubConfig","t4","t5","externalProviderAtom","t6","t7","widgetEventsAtom","t8","t9","formInputPropsAtom","t10","queryClientAtom","t11","useHydrateAtoms","useWidgetEventsSetter","useSetFormInputFromProps","t12","t13","debug","enableCrossChain","enableDelta","ignoreBadUsdPrice","partner","privyAppId","privyClientId","theme","widgetMode","useLayoutEffect","t14","t15","setExternalProvider","t16","t17","t18","import","Widget","Containers","children","setContainerElement","containerAtom","containerRef","useRef","useCloseScreenOnClickOutside","widgetConfig","useWidgetConfig","isDrawerFullCover","isDrawerOpen","useDrawerContainerHeightTransition","partialDrawerOpen","dark","WIDGET_HEIGHT_CLASSNAME","WIDGET_ELEMENT_ID","WidgetHeader","root","SwapTokenFromInput","overrides","useTokenInputsFromPrice","isLoading","price","priceMode","tokenFromAmount","override","activeSwapMode","isPriceLoading","tokenFromInputProps","useTokenFromInputProps","LimitTokenFromInput","useLimitTokenFromInputProps","OtcTokenFromInput","useOtcTokenFromInputProps","SwapTokenToInput","error","tokenToAmount","priceError","tokenToInputProps","useTokenToInputProps","LimitTokenToInput","useLimitTokenToInputProps","OtcTokenToInput","useOtcTokenToInputProps","SwapTokenSwitcher","tokenSwitcherProps","useSwapTokenSwitcherProps","TokenSwitcherComp","LimitTokenSwitcher","useLimitTokenSwitcherProps","OtcTokenSwitcher","useOtcTokenSwitcherProps","SwapButton","side","amount","token","fromToken","toToken","fromAmount","toAmount","swapSide","undefined","orderProps","wrapEthProps","useWrapEthProps","tokenFrom","tokenTo","extraProps","useWidgetButtonExtraProps","className","disabled","labelOverride","SwapDetails","fromAmountGtZero","Number","shouldShowDetails","SwapReceiverAddress","isConnected","useAccount","shouldShowReceiverAddress","swapReceiverAddressProps","useSwapReceiverAddress","OtcReceiverAddress","otcReceiverAddressProps","useOtcReceiverAddress","LimitReceiverAddress","limitReceiverAddressProps","useLimitReceiverAddress","swapModeSwitcherClasses","SwapModeSwitcher","enabled","delta","market","useSwapPrices","canBeUsed","isBridgePrice","SwapButtonWithDrawer","buttonProps","deltaPrice","drawerContainer","marketPrice","shouldWrap","priceProps"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/core/index.tsx"],"sourcesContent":["import \"@/styles/global.css\";\n\nimport { DevTools } from \"./DevTools\"; // Jotai DevTools instantiation needs to be before jotai.createStore (even implicit with default provider)\nimport { TokenInput } from \"@/components/widget/TokenInput\";\nimport { useTokenFromInputProps } from \"./inputs/hooks/useTokenFromInputProps\";\nimport { Button } from \"@/components/ui/button\";\nimport {\n JotaiProvider,\n QueryClientProvider,\n Web3Providers,\n} from \"@/components/web3/providers\";\nimport { useAccount } from \"wagmi\";\nimport { WIDGET_ELEMENT_ID, WIDGET_HEIGHT_CLASSNAME } from \"./constants\";\n\nimport { Updaters } from \"./Updaters\";\nimport { useTokenToInputProps } from \"./inputs/hooks/useTokenToInputProps\";\nimport { TokenSwitcher as TokenSwitcherComp } from \"@/components/widget/TokenSwitcher/TokenSwitcher\";\nimport type { WidgetProps } from \"./types\";\nimport { cn } from \"@/lib/utils\";\nimport { useSwapTokenSwitcherProps } from \"./inputs/hooks/useTokenSwitcherProps\";\n\nimport { runSubscriptions } from \"./subscriptions\";\n\nimport { PrivyIframeDependency } from \"@/components/web3/ConnectWallets/privy/iframe\";\nimport { SwapModeSwitcherExpandable } from \"@/components/widget/SwapModeSwitcher/SwapModeSwitcherExpandable\";\n\nimport { useTokenInputsFromPrice } from \"@/hooks/swap/prices/useTokenInputsFromPrice\";\nimport type { MinTradeOverviewProps } from \"@/components/widget/TradeOverview/TradeOverview\";\n\nimport type { BridgePrice, DeltaPrice, OptimalRate } from \"@velora-dex/sdk\";\nimport type { SwapMode } from \"@/components/widget/SwapModeSwitcher/state/types\";\nimport { SwapDetailsExpandable } from \"@/components/widget/Details/SwapDetailsExpandable\";\nimport { ReceiverAddress } from \"@/components/widget/ReceiverAddress/ReceiverAddress\";\nimport { useAtomValue, useSetAtom } from \"@/core/store\";\nimport { useHydrateAtoms } from \"jotai/utils\";\nimport { containerAtom } from \"./state/containerAtom\";\nimport { AppHeader } from \"@/components/widget/AppHeader/AppHeader\";\nimport { useLayoutEffect, useRef } from \"react\";\nimport {\n defaultSubConfig,\n defaultWidgetConfig,\n excludeUIAtom,\n useWidgetConfig,\n} from \"./state/configAtom\";\nimport {\n setSubConfigAtom,\n setWidgetConfigAtom,\n} from \"./state/configActionsAtom\";\nimport { WrapEthDrawerButton } from \"@/components/widget/WrapEth/WrapEthDrawerButton\";\nimport type { WrapEthProps } from \"@/components/widget/WrapEth/hooks/types\";\nimport { useWrapEthProps } from \"@/components/widget/WrapEth/hooks/useWrapEthProps\";\nimport { PoweredBy } from \"@/components/widget/PoweredBy/PoweredBy\";\nimport { useWidgetButtonExtraProps } from \"./button/hooks/useWidgetButtonExtraProps\";\nimport { useSwapPrices } from \"@/hooks/swap/prices/useSwapPrices\";\nimport { Toaster } from \"./Toaster\";\nimport { externalProviderAtom } from \"./state/externalProviderAtom\";\nimport { AutoconnectExternalProvider } from \"@/components/web3/ConnectExternalProvider/AutoconnectExternal\";\nimport { SwapTradeFlowScreenButton } from \"./TradeFlowScreenButton\";\nimport { ConnectWalletDrawerButton } from \"./ConnectWalletDrawerButton\";\nimport { PriceInput } from \"@/components/widget/LimitPriceInput\";\nimport { OrderExpiryInput } from \"@/components/widget/OrderExpiryInput\";\nimport { useLimitTokenToInputProps } from \"./limit/useLimitTokenToInputProps\";\nimport { useLimitTokenFromInputProps } from \"./limit/useLimitTokenFromInputProps\";\nimport { useTradeMode } from \"./state/tradeModeAtom\";\nimport { useDrawerContainerHeightTransition } from \"@/components/widget/Drawer/state/useDrawerControls\";\nimport { InWidgetDrawerOverlay } from \"@/components/widget/Drawer/Overlay\";\nimport { LimitOrderButton } from \"./LimitOrderButton\";\nimport { LimitOrderDetails } from \"./LimitOrderDetails\";\nimport { useOtcTokenFromInputProps } from \"./otc/useOtcTokenFromInputProps\";\nimport { useOtcTokenToInputProps } from \"./otc/useOtcTokenToInputProps\";\nimport { useLimitPriceInputProps } from \"./limit/useLimitPriceInputProps\";\nimport { useOtcPriceInputProps } from \"./otc/useOtcPriceInputProps\";\nimport { OtcOrderButton } from \"./OtcOrderButton\";\nimport { OtcOrderDetails } from \"./OtcOrderDetails\";\nimport { WidgetWarning } from \"./Warnings\";\nimport { useUnsupportedLimitChain } from \"./limit/useLimitNotSupported\";\nimport { useUnsupportedOtcChain } from \"./otc/useOtcNotSupported\";\nimport { useLimitTokenSwitcherProps } from \"./limit/useLimitTokenSwitcherProps\";\nimport { useOtcTokenSwitcherProps } from \"./otc/useOtcTokenSwitcherProps\";\nimport { useSwapReceiverAddress } from \"@/components/widget/ReceiverAddress/state/receiverAddressAtom\";\nimport { useOtcReceiverAddress } from \"./otc/state/receiverAddressAtom\";\nimport {\n useWidgetEventsSetter,\n widgetEventsAtom,\n} from \"./state/widgetEventsAtom\";\nimport {\n formInputPropsAtom,\n useSetFormInputFromProps,\n} from \"./inputs/state/setTokenByAddressAtom\";\nimport { queryClientAtom } from \"jotai-tanstack-query\";\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport { useScreenValue } from \"./screen/state/hooks/useScreenValue\";\nimport {\n MainScreenContainer,\n SecondaryScreenContainer,\n} from \"@/components/widget/Screen/ScreenContainer\";\nimport { useCloseScreenOnClickOutside } from \"./screen/hooks/useOnClickOutside\";\nimport { useLimitReceiverAddress } from \"./limit/state/receiverAddressAtom\";\nimport { isBridgePrice } from \"@/hooks/swap/prices/delta/queries/useDeltaPriceQuery\";\nimport { BridgeSelectorExpandable } from \"@/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable\";\nimport { ErrorBoundary } from \"react-error-boundary\";\nimport { useInitialValue } from \"./screen/hooks/useInitialValue\";\n\nrunSubscriptions();\n\nconst SwapScreen = () => {\n return (\n <>\n <SwapTokenFromInput />\n <SwapTokenSwitcher />\n <SwapTokenToInput />\n <SwapReceiverAddress />\n <WidgetWarning />\n <SwapButton />\n <SwapDetails />\n <SwapModeSwitcher />\n </>\n );\n};\n\nconst LimitOrderExtraInputs = () => {\n const priceInputProps = useLimitPriceInputProps();\n const unsupportedChain = useUnsupportedLimitChain();\n\n return (\n <div\n className={cn(\"flex gap-4 items-stretch py-2\", {\n \"pointer-events-none\": unsupportedChain,\n })}\n >\n <div className=\"flex-1\">\n <PriceInput {...priceInputProps} />\n </div>\n <div className=\"flex-1\">\n <OrderExpiryInput type=\"limit\" />\n </div>\n </div>\n );\n};\n\nconst OtcOrderExtraInputs = () => {\n const priceInputProps = useOtcPriceInputProps();\n const unsupportedChain = useUnsupportedOtcChain();\n\n return (\n <div\n className={cn(\"flex gap-4 items-stretch py-2\", {\n \"pointer-events-none\": unsupportedChain,\n })}\n >\n <div className=\"flex-1\">\n <PriceInput {...priceInputProps} />\n </div>\n <div className=\"flex-1\">\n <OrderExpiryInput type=\"otc\" />\n </div>\n </div>\n );\n};\n\nconst LimitOrderScreen = () => {\n return (\n <>\n <LimitTokenFromInput />\n <LimitTokenSwitcher />\n <LimitTokenToInput />\n <LimitOrderExtraInputs />\n <LimitReceiverAddress />\n <WidgetWarning />\n <LimitOrderButton />\n <LimitOrderDetails />\n </>\n );\n};\n\nconst OtcOrderScreen = () => {\n return (\n <>\n <OtcTokenFromInput />\n <OtcTokenSwitcher />\n <OtcTokenToInput />\n <OtcOrderExtraInputs />\n <OtcReceiverAddress />\n <WidgetWarning />\n <OtcOrderButton />\n <OtcOrderDetails />\n </>\n );\n};\n\nconst MainScreen = () => {\n const tradeMode = useTradeMode();\n return tradeMode === \"swap\" ? (\n <SwapScreen />\n ) : tradeMode === \"limit\" ? (\n <LimitOrderScreen />\n ) : (\n <OtcOrderScreen />\n );\n};\n\nconst App = () => {\n const excludeUI = useAtomValue(excludeUIAtom);\n const { screenElement } = useScreenValue();\n\n return (\n <Containers>\n {screenElement ? (\n <SecondaryScreenContainer>{screenElement}</SecondaryScreenContainer>\n ) : (\n <MainScreenContainer>\n <WidgetHeader />\n <MainScreen />\n <PoweredBy />\n </MainScreenContainer>\n )}\n {!excludeUI.includes(\"snackbars\") && <Toaster />}\n </Containers>\n );\n};\n\nconst WidgetBase = ({\n config: _config,\n provider,\n events,\n input: formInputProps,\n}: WidgetProps) => {\n const queryClient = useQueryClient();\n\n const setWidgetConfig = useSetAtom(setWidgetConfigAtom);\n const setSubConfig = useSetAtom(setSubConfigAtom);\n const {\n srcChains,\n destChains,\n tokenLists,\n tradeModes,\n excludeUI,\n devURLs,\n ...config\n } = _config || {};\n\n // hydrating with only partial config overrides values with undefined,\n // so we have default values too\n useHydrateAtoms([\n [setWidgetConfigAtom, { ...defaultWidgetConfig, ...config }],\n [\n setSubConfigAtom,\n {\n ...defaultSubConfig,\n srcChains,\n destChains,\n tokenLists,\n tradeModes,\n excludeUI,\n devURLs,\n },\n ],\n [externalProviderAtom, provider || null],\n [widgetEventsAtom, events || {}],\n [formInputPropsAtom, formInputProps || {}],\n // this provider initialisation step is needed so that jotai reference the same\n // queryClient in both atomWithQuery and other parts of the app. Without this,\n // jotai will reference a different instance of queryClient\n [queryClientAtom, queryClient],\n ]);\n\n useWidgetEventsSetter(events);\n useSetFormInputFromProps(formInputProps);\n\n useLayoutEffect(() => {\n setWidgetConfig({\n theme: config.theme,\n enableDelta: config.enableDelta,\n enableCrossChain: config.enableCrossChain,\n partner: config.partner,\n privyAppId: config.privyAppId,\n privyClientId: config.privyClientId,\n debug: config.debug,\n widgetMode: config.widgetMode,\n ignoreBadUsdPrice: config.ignoreBadUsdPrice,\n });\n }, [\n config.theme,\n config.enableDelta,\n config.enableCrossChain,\n config.partner,\n config.privyAppId,\n config.privyClientId,\n config.debug,\n config.widgetMode,\n config.ignoreBadUsdPrice,\n setWidgetConfig,\n ]);\n\n useLayoutEffect(() => {\n setSubConfig({\n srcChains,\n destChains,\n tokenLists,\n tradeModes,\n excludeUI,\n devURLs,\n });\n }, [\n srcChains,\n destChains,\n tokenLists,\n setSubConfig,\n tradeModes,\n excludeUI,\n devURLs,\n ]);\n\n const setExternalProvider = useSetAtom(externalProviderAtom);\n\n useLayoutEffect(() => {\n // update external provider on change\n setExternalProvider(provider || null);\n }, [provider, setExternalProvider]);\n\n const isDappMode = config?.widgetMode === \"dapp\";\n // after initial reconnect (or not reconnect) on mount, we want to keep the same reconnectOnMount value\n // so that onMount logic inside WagmiProvider/Hydrate doesn't re-run.\n // reconnectOnMountInit should be considered reconnectOnRender,\n // in normal Apps where WagmiProvider is at the very top of the tree, first and only render = when mounting,\n // in Widget, because of external props, rerender can happen more often.\n const reconnectOnMountInit = useInitialValue(!isDappMode);\n // reconnectOnMount not in Dapp mode,\n // in Dapp mode, connection happens to provider external provider, when provided, whether onMount or later\n\n return (\n <Web3Providers reconnectOnMount={reconnectOnMountInit}>\n <AutoconnectExternalProvider />\n <PrivyIframeDependency />\n <Updaters />\n <App />\n {import.meta.env.DEV && <DevTools />}\n </Web3Providers>\n );\n};\n\nexport const Widget = ({ config, provider, events, input }: WidgetProps) => {\n return (\n <JotaiProvider>\n <QueryClientProvider>\n <WidgetBase\n config={config}\n provider={provider}\n events={events}\n input={input}\n />\n </QueryClientProvider>\n </JotaiProvider>\n );\n};\n\nfunction Containers({ children }: { children: React.ReactNode }) {\n const setContainerElement = useSetAtom(containerAtom);\n\n const containerRef = useRef<HTMLDivElement | null>(null);\n useCloseScreenOnClickOutside(containerRef);\n\n const widgetConfig = useWidgetConfig();\n\n const { isDrawerFullCover, isDrawerOpen } =\n useDrawerContainerHeightTransition(containerRef);\n\n const partialDrawerOpen = isDrawerOpen && !isDrawerFullCover;\n\n return (\n <div\n ref={containerRef}\n // don't use tailwind classes on the root element, because of .velora-widget { @import tailwind/*}\n className={cn(\"velora-widget\", {\n dark: widgetConfig.theme === \"dark\",\n })}\n id={WIDGET_ELEMENT_ID}\n >\n <InWidgetDrawerOverlay open={partialDrawerOpen} />\n\n <div\n // absolutely positioned container on top of parent container with fixed height,\n // but because it's not statically positioned, it doesn't add to the whole widget height\n className={cn(\n \"overflow-hidden bottom-0 left-0 right-0 absolute transition-transform duration-500 z-11 pointer-events-none [&>*]:pointer-events-auto\",\n WIDGET_HEIGHT_CLASSNAME\n )}\n ref={setContainerElement}\n />\n {children}\n </div>\n );\n}\n\nfunction WidgetHeader() {\n return <AppHeader classes={{ root: \"mb-4\" }} />;\n}\n\nfunction SwapTokenFromInput() {\n // override Token amounts based on current swap price\n const overrides = useTokenInputsFromPrice();\n\n const tokenFromInputProps = useTokenFromInputProps({\n override: overrides.tokenFromAmount,\n activeSwapMode: overrides.priceMode,\n isPriceLoading: overrides.isLoading,\n price: overrides.price,\n });\n\n return <TokenInput {...tokenFromInputProps} />;\n}\n\nfunction LimitTokenFromInput() {\n const tokenFromInputProps = useLimitTokenFromInputProps();\n return <TokenInput {...tokenFromInputProps} />;\n}\n\nfunction OtcTokenFromInput() {\n const tokenFromInputProps = useOtcTokenFromInputProps();\n return <TokenInput {...tokenFromInputProps} />;\n}\n\nfunction SwapTokenToInput() {\n // override Token amounts based on current swap price\n const overrides = useTokenInputsFromPrice();\n\n const tokenToInputProps = useTokenToInputProps({\n override: overrides.tokenToAmount,\n isPriceLoading: overrides.isLoading,\n priceMode: overrides.priceMode,\n price: overrides.price,\n priceError: overrides.error,\n });\n\n return <TokenInput {...tokenToInputProps} />;\n}\n\nfunction LimitTokenToInput() {\n const tokenToInputProps = useLimitTokenToInputProps();\n return <TokenInput {...tokenToInputProps} />;\n}\n\nfunction OtcTokenToInput() {\n const tokenToInputProps = useOtcTokenToInputProps();\n return <TokenInput {...tokenToInputProps} />;\n}\n\nfunction SwapTokenSwitcher() {\n const tokenSwitcherProps = useSwapTokenSwitcherProps();\n return <TokenSwitcherComp {...tokenSwitcherProps} />;\n}\n\nfunction LimitTokenSwitcher() {\n const tokenSwitcherProps = useLimitTokenSwitcherProps();\n return <TokenSwitcherComp {...tokenSwitcherProps} />;\n}\n\nfunction OtcTokenSwitcher() {\n const tokenSwitcherProps = useOtcTokenSwitcherProps();\n return <TokenSwitcherComp {...tokenSwitcherProps} />;\n}\n\nfunction SwapButton() {\n // override Token amounts based on current swap price\n const overrides = useTokenInputsFromPrice();\n\n const tokenFromInputProps = useTokenFromInputProps({\n override: overrides.tokenFromAmount,\n activeSwapMode: overrides.priceMode,\n isPriceLoading: overrides.isLoading,\n price: overrides.price,\n });\n const tokenToInputProps = useTokenToInputProps({\n override: overrides.tokenToAmount,\n isPriceLoading: overrides.isLoading,\n priceMode: overrides.priceMode,\n price: overrides.price,\n priceError: overrides.error,\n });\n\n const orderProps =\n tokenFromInputProps.token && tokenToInputProps.token\n ? {\n fromToken: tokenFromInputProps.token,\n toToken: tokenToInputProps.token,\n fromAmount: tokenFromInputProps.amount,\n toAmount: tokenToInputProps.amount,\n swapSide: overrides.side,\n }\n : undefined;\n\n const wrapEthProps = useWrapEthProps();\n\n const extraProps = useWidgetButtonExtraProps({\n tokenFrom: tokenFromInputProps.token,\n tokenTo: tokenToInputProps.token,\n });\n\n return (\n <SwapButtonWithDrawer\n orderProps={orderProps}\n marketPrice={\n overrides.priceMode === \"market\" ? overrides.price : undefined\n }\n deltaPrice={overrides.priceMode === \"delta\" ? overrides.price : undefined}\n priceMode={overrides.priceMode}\n wrapEthProps={wrapEthProps}\n disabled={extraProps.disabled}\n labelOverride={extraProps.labelOverride}\n className={extraProps.className}\n />\n );\n}\n\nfunction SwapDetails() {\n const overrides = useTokenInputsFromPrice();\n\n const tokenFromInputProps = useTokenFromInputProps({\n override: overrides.tokenFromAmount,\n activeSwapMode: overrides.priceMode,\n isPriceLoading: overrides.isLoading,\n price: overrides.price,\n });\n const tokenToInputProps = useTokenToInputProps({\n override: overrides.tokenToAmount,\n isPriceLoading: overrides.isLoading,\n priceMode: overrides.priceMode,\n price: overrides.price,\n priceError: overrides.error,\n });\n\n const fromAmountGtZero = Number(tokenFromInputProps.amount) > 0;\n const shouldShowDetails = fromAmountGtZero && tokenToInputProps.token;\n\n return shouldShowDetails ? <SwapDetailsExpandable /> : null;\n}\n\nfunction SwapReceiverAddress() {\n const { isConnected } = useAccount();\n const shouldShowReceiverAddress = isConnected;\n const swapReceiverAddressProps = useSwapReceiverAddress();\n\n return shouldShowReceiverAddress ? (\n <ReceiverAddress\n classes={{ root: \"mt-2\" }}\n type=\"swap\"\n {...swapReceiverAddressProps}\n />\n ) : null;\n}\n\nfunction OtcReceiverAddress() {\n const unsupportedChain = useUnsupportedOtcChain();\n const otcReceiverAddressProps = useOtcReceiverAddress();\n\n return (\n <ReceiverAddress\n classes={{\n root: cn(\"mt-2\", {\n \"pointer-events-none\": unsupportedChain,\n }),\n }}\n type=\"otc\"\n {...otcReceiverAddressProps}\n />\n );\n}\n\nfunction LimitReceiverAddress() {\n const unsupportedChain = useUnsupportedLimitChain();\n const limitReceiverAddressProps = useLimitReceiverAddress();\n\n return (\n <ReceiverAddress\n classes={{\n root: cn(\"mt-2\", {\n \"pointer-events-none\": unsupportedChain,\n }),\n }}\n type=\"limit\"\n {...limitReceiverAddressProps}\n />\n );\n}\n\nconst swapModeSwitcherClasses = {\n root: \"mt-4\",\n} as const;\n\nfunction SwapModeSwitcher() {\n const { delta, market, priceMode } = useSwapPrices({ enabled: false });\n // @TODO as on the main UI:\n // 1. Show Market MarketOffers if marketPrice can be switched to and price will fetch\n // 2. Show nothing if only one of the prices can be used\n if (delta.canBeUsed && market.canBeUsed) {\n return (\n <SwapModeSwitcherExpandable\n classes={swapModeSwitcherClasses}\n currentEffectiveMode={priceMode}\n />\n );\n }\n\n if (delta.canBeUsed && delta.price && isBridgePrice(delta.price)) {\n return (\n <ErrorBoundary fallback={null}>\n <BridgeSelectorExpandable\n classes={swapModeSwitcherClasses}\n bridgePrice={delta.price}\n />\n </ErrorBoundary>\n );\n }\n}\n\ntype ButtonWithDrawerProps = React.ComponentProps<typeof Button> & {\n orderProps?: MinTradeOverviewProps;\n drawerContainer?: HTMLDivElement | null;\n marketPrice?: OptimalRate;\n deltaPrice?: DeltaPrice | BridgePrice;\n wrapEthProps: WrapEthProps;\n priceMode: SwapMode;\n labelOverride?: string;\n};\n\nfunction SwapButtonWithDrawer({\n orderProps,\n drawerContainer,\n marketPrice,\n deltaPrice,\n priceMode,\n wrapEthProps,\n labelOverride,\n ...buttonProps\n}: ButtonWithDrawerProps) {\n const { isConnected } = useAccount();\n\n if (!isConnected)\n return (\n <ConnectWalletDrawerButton\n drawerContainer={drawerContainer}\n {...buttonProps}\n />\n );\n\n if (wrapEthProps.shouldWrap)\n return (\n <WrapEthDrawerButton\n drawerContainer={drawerContainer}\n wrapEthProps={wrapEthProps}\n labelOverride={labelOverride}\n {...buttonProps}\n />\n );\n\n const priceProps =\n priceMode === \"delta\"\n ? { price: deltaPrice, priceMode }\n : { price: marketPrice, priceMode };\n\n return (\n <SwapTradeFlowScreenButton\n orderProps={orderProps}\n labelOverride={labelOverride}\n {...priceProps}\n {...buttonProps}\n />\n );\n}\n"],"names":["runSubscriptions","SwapScreen","$","_c","t0","Symbol","for","LimitOrderExtraInputs","priceInputProps","useLimitPriceInputProps","unsupportedChain","useUnsupportedLimitChain","cn","t1","t2","t3","OtcOrderExtraInputs","useOtcPriceInputProps","useUnsupportedOtcChain","LimitOrderScreen","OtcOrderScreen","MainScreen","tradeMode","useTradeMode","App","excludeUI","useAtomValue","excludeUIAtom","screenElement","useScreenValue","includes","WidgetBase","config","_config","provider","events","input","formInputProps","queryClient","useQueryClient","setWidgetConfig","useSetAtom","setWidgetConfigAtom","setSubConfig","setSubConfigAtom","destChains","devURLs","srcChains","tokenLists","tradeModes","defaultWidgetConfig","defaultSubConfig","t4","t5","externalProviderAtom","t6","t7","widgetEventsAtom","t8","t9","formInputPropsAtom","t10","queryClientAtom","t11","useHydrateAtoms","useWidgetEventsSetter","useSetFormInputFromProps","t12","t13","debug","enableCrossChain","enableDelta","ignoreBadUsdPrice","partner","privyAppId","privyClientId","theme","widgetMode","useLayoutEffect","t14","t15","setExternalProvider","t16","t17","isDappMode","reconnectOnMountInit","useInitialValue","t18","t19","t20","t21","t22","import","t23","Widget","Containers","children","setContainerElement","containerAtom","containerRef","useRef","useCloseScreenOnClickOutside","widgetConfig","useWidgetConfig","isDrawerFullCover","isDrawerOpen","useDrawerContainerHeightTransition","partialDrawerOpen","dark","WIDGET_HEIGHT_CLASSNAME","WIDGET_ELEMENT_ID","WidgetHeader","root","SwapTokenFromInput","overrides","useTokenInputsFromPrice","isLoading","price","priceMode","tokenFromAmount","override","activeSwapMode","isPriceLoading","tokenFromInputProps","useTokenFromInputProps","LimitTokenFromInput","useLimitTokenFromInputProps","OtcTokenFromInput","useOtcTokenFromInputProps","SwapTokenToInput","error","tokenToAmount","priceError","tokenToInputProps","useTokenToInputProps","LimitTokenToInput","useLimitTokenToInputProps","OtcTokenToInput","useOtcTokenToInputProps","SwapTokenSwitcher","tokenSwitcherProps","useSwapTokenSwitcherProps","TokenSwitcherComp","LimitTokenSwitcher","useLimitTokenSwitcherProps","OtcTokenSwitcher","useOtcTokenSwitcherProps","SwapButton","side","amount","token","fromToken","toToken","fromAmount","toAmount","swapSide","undefined","orderProps","wrapEthProps","useWrapEthProps","tokenFrom","tokenTo","extraProps","useWidgetButtonExtraProps","className","disabled","labelOverride","SwapDetails","fromAmountGtZero","Number","shouldShowDetails","SwapReceiverAddress","isConnected","useAccount","shouldShowReceiverAddress","swapReceiverAddressProps","useSwapReceiverAddress","OtcReceiverAddress","otcReceiverAddressProps","useOtcReceiverAddress","LimitReceiverAddress","limitReceiverAddressProps","useLimitReceiverAddress","swapModeSwitcherClasses","SwapModeSwitcher","enabled","delta","market","useSwapPrices","canBeUsed","isBridgePrice","SwapButtonWithDrawer","buttonProps","deltaPrice","drawerContainer","marketPrice","shouldWrap","priceProps"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useInitialValue.d.ts","sourceRoot":"","sources":["../../../../src/core/screen/hooks/useInitialValue.ts"],"names":[],"mappings":"AAEA,wBAAgB,eAAe,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAG9C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useInitialValue.js","sources":["../../../../src/core/screen/hooks/useInitialValue.ts"],"sourcesContent":["import { useState } from \"react\";\n\nexport function useInitialValue<T>(value: T): T {\n const [initValue] = useState(value);\n return initValue;\n}\n"],"names":["useInitialValue","value","initValue","useState"],"mappings":";;AAEO,SAAAA,gBAAAC,KAAAA,EAAA;AACL,EAAA,MAAA,CAAAC,SAAA,CAAA,GAAoBC,QAAAA,CAASF,KAAK,CAAA;AAAE,EAAA,OAC7BC,SAAAA;AAAS;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useOnWalletConnect.d.ts","sourceRoot":"","sources":["../../../src/events/hooks/useOnWalletConnect.ts"],"names":[],"mappings":"AAKA,wBAAgB,oBAAoB,
|
|
1
|
+
{"version":3,"file":"useOnWalletConnect.d.ts","sourceRoot":"","sources":["../../../src/events/hooks/useOnWalletConnect.ts"],"names":[],"mappings":"AAKA,wBAAgB,oBAAoB,SAuCnC"}
|
|
@@ -19,6 +19,10 @@ function useOnWalletConnected() {
|
|
|
19
19
|
chainId,
|
|
20
20
|
isReconnected
|
|
21
21
|
} = t1;
|
|
22
|
+
if (!connector) {
|
|
23
|
+
debugger;
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
22
26
|
const walletMetadata = await getWalletMetadata(connector);
|
|
23
27
|
const provider = await connector.getProvider();
|
|
24
28
|
const isEmbedded = connector.type === safe.type;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useOnWalletConnect.js","sources":["../../../src/events/hooks/useOnWalletConnect.ts"],"sourcesContent":["import { getWalletMetadata } from \"@/components/web3/ConnectWallets/walletIcons\";\nimport { useWidgetEvents } from \"@/core/state/widgetEventsAtom\";\nimport { useAccountEffect } from \"wagmi\";\nimport { safe } from \"wagmi/connectors\";\n\nexport function useOnWalletConnected() {\n const { onConnectWallet } = useWidgetEvents();\n\n useAccountEffect({\n onConnect: async ({ address, connector, chainId, isReconnected }) => {\n const walletMetadata = await getWalletMetadata(connector);\n const provider = await connector.getProvider();\n\n const isEmbedded = connector.type === safe.type;\n\n const connectorAction = isReconnected\n ? \"Eager\"\n : isEmbedded\n ? \"Embedded\"\n : \"Click\";\n\n onConnectWallet?.({\n event: {\n name: \"ConnectWallet:connect\",\n params: {\n connectorType: connector.type,\n connectorName: connector.name,\n connectorAction,\n provider,\n account: address,\n chainId,\n walletName: walletMetadata.name,\n walletIcon: walletMetadata.icon,\n },\n },\n });\n },\n });\n}\n"],"names":["useOnWalletConnected","$","_c","onConnectWallet","useWidgetEvents","t0","onConnect","t1","address","connector","chainId","isReconnected","walletMetadata","getWalletMetadata","provider","getProvider","isEmbedded","type","safe","connectorAction","event","name","params","connectorType","connectorName","account","walletName","walletIcon","icon","useAccountEffect"],"mappings":";;;;;;AAKO,SAAAA,oBAAAA,GAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AACL,EAAA,MAAA;AAAA,IAAAC;AAAAA,MAA4BC,eAAAA,EAAgB;AAAE,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAJ,CAAAA,QAAAE,eAAAA,EAAA;AAE7BE,IAAAA,EAAAA,GAAA;AAAA,MAAAC,SAAAA,EACJ,OAAAC,EAAAA,KAAA;AAAO,QAAA,MAAA;AAAA,UAAAC,OAAAA;AAAAA,UAAAC,SAAAA;AAAAA,UAAAC,OAAAA;AAAAA,UAAAC;AAAAA,SAAA,GAAAJ,EAAAA;
|
|
1
|
+
{"version":3,"file":"useOnWalletConnect.js","sources":["../../../src/events/hooks/useOnWalletConnect.ts"],"sourcesContent":["import { getWalletMetadata } from \"@/components/web3/ConnectWallets/walletIcons\";\nimport { useWidgetEvents } from \"@/core/state/widgetEventsAtom\";\nimport { useAccountEffect } from \"wagmi\";\nimport { safe } from \"wagmi/connectors\";\n\nexport function useOnWalletConnected() {\n const { onConnectWallet } = useWidgetEvents();\n\n useAccountEffect({\n onConnect: async ({ address, connector, chainId, isReconnected }) => {\n // sometimes on initial load, connector is not available yet,\n // happens when connecting to external provider in dapp mode\n if (!connector) {\n debugger;\n return;\n }\n const walletMetadata = await getWalletMetadata(connector);\n const provider = await connector.getProvider();\n\n const isEmbedded = connector.type === safe.type;\n\n const connectorAction = isReconnected\n ? \"Eager\"\n : isEmbedded\n ? \"Embedded\"\n : \"Click\";\n\n onConnectWallet?.({\n event: {\n name: \"ConnectWallet:connect\",\n params: {\n connectorType: connector.type,\n connectorName: connector.name,\n connectorAction,\n provider,\n account: address,\n chainId,\n walletName: walletMetadata.name,\n walletIcon: walletMetadata.icon,\n },\n },\n });\n },\n });\n}\n"],"names":["useOnWalletConnected","$","_c","onConnectWallet","useWidgetEvents","t0","onConnect","t1","address","connector","chainId","isReconnected","walletMetadata","getWalletMetadata","provider","getProvider","isEmbedded","type","safe","connectorAction","event","name","params","connectorType","connectorName","account","walletName","walletIcon","icon","useAccountEffect"],"mappings":";;;;;;AAKO,SAAAA,oBAAAA,GAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AACL,EAAA,MAAA;AAAA,IAAAC;AAAAA,MAA4BC,eAAAA,EAAgB;AAAE,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAJ,CAAAA,QAAAE,eAAAA,EAAA;AAE7BE,IAAAA,EAAAA,GAAA;AAAA,MAAAC,SAAAA,EACJ,OAAAC,EAAAA,KAAA;AAAO,QAAA,MAAA;AAAA,UAAAC,OAAAA;AAAAA,UAAAC,SAAAA;AAAAA,UAAAC,OAAAA;AAAAA,UAAAC;AAAAA,SAAA,GAAAJ,EAAAA;AAGhB,QAAA,IAAI,CAACE,SAAAA,EAAS;AAAA,UAAA;AAAA,UAAA;AAAA,QAAA;AAId,QAAA,MAAAG,cAAAA,GAAuB,MAAMC,iBAAAA,CAAkBJ,SAAS,CAAA;AACxD,QAAA,MAAAK,QAAAA,GAAiB,MAAML,SAAAA,CAASM,WAAAA,EAAa;AAE7C,QAAA,MAAAC,UAAAA,GAAmBP,SAAAA,CAASQ,IAAAA,KAAUC,IAAAA,CAAID,IAAAA;AAE1C,QAAA,MAAAE,eAAAA,GAAwBR,aAAAA,GAAA,OAAA,GAEpBK,UAAAA,GAAA,UAAA,GAAA,OAAA;AAIJb,QAAAA,eAAAA,GAAkB;AAAA,UAAAiB,KAAAA,EACT;AAAA,YAAAC,IAAAA,EACC,uBAAA;AAAA,YAAuBC,MAAAA,EACrB;AAAA,cAAAC,eACSd,SAAAA,CAASQ,IAAAA;AAAAA,cAAKO,eACdf,SAAAA,CAASY,IAAAA;AAAAA,cAAKF,eAAAA;AAAAA,cAAAL,QAAAA;AAAAA,cAAAW,OAAAA,EAGpBjB,OAAAA;AAAAA,cAAOE,OAAAA;AAAAA,cAAAgB,YAEJd,cAAAA,CAAcS,IAAAA;AAAAA,cAAKM,YACnBf,cAAAA,CAAcgB;AAAAA;AAC5B;AACF,SACD,CAAA;AAAA,MAAC;AAAA,KAEN;AAAC3B,IAAAA,CAAAA,MAAAE,eAAAA;AAAAF,IAAAA,CAAAA,MAAAI,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAJ,EAAA,CAAA,CAAA;AAAA,EAAA;AAnCD4B,EAAAA,gBAAAA,CAAiBxB,EAmChB,CAAA;AAAC;;;;"}
|
|
@@ -4,11 +4,12 @@ import { useMutation } from '@tanstack/react-query';
|
|
|
4
4
|
import { assert } from 'ts-essentials';
|
|
5
5
|
import 'wagmi';
|
|
6
6
|
import 'wagmi/query';
|
|
7
|
+
import '../../../lib/queryClient.js';
|
|
7
8
|
import '../../../lib/web3/wagmi/config.js';
|
|
9
|
+
import 'viem';
|
|
10
|
+
import 'wagmi/chains';
|
|
8
11
|
import '@wagmi/core';
|
|
9
12
|
import 'wagmi/connectors';
|
|
10
|
-
import '../../../lib/queryClient.js';
|
|
11
|
-
import 'viem';
|
|
12
13
|
import 'react/jsx-runtime';
|
|
13
14
|
import 'clsx';
|
|
14
15
|
import 'tailwind-merge';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFillOrder.js","sources":["../../../../src/hooks/otc/mutations/useFillOrder.ts"],"sourcesContent":["import { useLimitOrdersSDK } from \"@/hooks/useSDK\";\nimport {\n useMutation,\n useQueryClient,\n type UseMutationOptions,\n type UseMutationResult,\n} from \"@tanstack/react-query\";\nimport type {\n MinViemClient,\n TxSendOverrides,\n FillOrderDirectlyFunctions,\n} from \"@velora-dex/sdk\";\nimport { assert } from \"ts-essentials\";\nimport type { Address, TransactionReceipt } from \"viem\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { useEnsureTxReceipt } from \"@/hooks/txs/queries/useAwaitTx\";\nimport { type TxSentObject } from \"@/lib/utils/transactionHandlers\";\nimport { limitOrdersQueryKey } from \"../queries/useLimitOrders\";\n\ntype FillOrderReturn = `0x${string}`;\ntype FillOrderAndWaitReturn = TransactionReceipt;\n\nexport type OrderFillData = Parameters<\n FillOrderDirectlyFunctions<FillOrderReturn>[\"fillOrderDirectly\"]\n>[0];\n\ntype FillOrderInput = {\n orderFillData: OrderFillData;\n overrides?: TxSendOverrides;\n signal?: AbortSignal; // since we have separate actions, we can abort in-between\n};\n\ntype FillOrderAndWaitInput = FillOrderInput & {\n onTxSent?: (txSent: TxSentObject) => void;\n};\n\ntype FillOrderMutationOptions = Omit<\n UseMutationOptions<FillOrderReturn, Error, FillOrderInput, void>,\n \"mutationFn\"\n>;\ntype FillOrderAndWaitMutationOptions = Omit<\n UseMutationOptions<FillOrderAndWaitReturn, Error, FillOrderInput, void>,\n \"mutationFn\"\n>;\n\ntype FillOrderMutInput = {\n mutationOptions?: FillOrderMutationOptions;\n chainId: SupportedChainId;\n account?: Address;\n client?: MinViemClient;\n};\n\ntype FillOrderAndWaitMutInput = {\n mutationOptions?: FillOrderAndWaitMutationOptions;\n chainId: SupportedChainId;\n account?: Address;\n client?: MinViemClient;\n};\n\nexport function useFillOrder({\n mutationOptions,\n chainId,\n account,\n client,\n}: FillOrderMutInput): UseMutationResult<\n FillOrderReturn,\n Error,\n FillOrderInput,\n void\n> {\n const { sdk } = useLimitOrdersSDK({ chainId, account, client });\n\n return useMutation<FillOrderReturn, Error, FillOrderInput, void>({\n mutationKey: [\"fillOrder\"],\n mutationFn: ({ orderFillData, overrides, signal }) => {\n // if aborted by this point, throw an error\n signal?.throwIfAborted();\n\n assert(\n \"fillOrderDirectly\" in sdk,\n \"fillOrderDirectly is not available on this SDK\"\n );\n // Note: This mutation requires the SDK to be initialized with account and client\n // to access fillOrderDirectly\n\n return sdk.fillOrderDirectly(orderFillData, overrides, { signal });\n },\n ...mutationOptions,\n });\n}\n\nexport function useFillOrderAndWait({\n mutationOptions,\n chainId,\n account,\n client,\n}: FillOrderAndWaitMutInput): UseMutationResult<\n FillOrderAndWaitReturn,\n Error,\n FillOrderAndWaitInput,\n void\n> & {\n fillTx: Omit<\n UseMutationResult<FillOrderReturn, Error, FillOrderInput, void>,\n \"mutate\" | \"mutateAsync\"\n >;\n} {\n const ensureTxReceipt = useEnsureTxReceipt();\n const { mutate, mutateAsync, ...fillTx } = useFillOrder({\n chainId,\n account,\n client,\n });\n const queryClient = useQueryClient();\n\n const mutationResult = useMutation<\n FillOrderAndWaitReturn,\n Error,\n FillOrderAndWaitInput,\n void\n >({\n mutationKey: [\"fillOrderAndWait\"],\n mutationFn: async ({ orderFillData, overrides, signal, onTxSent }) => {\n const txHash = await mutateAsync({ orderFillData, overrides, signal });\n\n const receiptPromise = ensureTxReceipt({ chainId, hash: txHash });\n\n onTxSent?.({\n chainId,\n transactionHash: txHash,\n action: \"fillOtcOrder\",\n receiptPromise,\n transactionSpecificData: {\n action: \"fillOtcOrder\",\n filledOrder: orderFillData.order,\n },\n });\n\n return receiptPromise;\n },\n ...mutationOptions,\n onSuccess: (data, variables, onMutationResult, context) => {\n queryClient.invalidateQueries({\n queryKey: limitOrdersQueryKey({ taker: account, type: \"P2P\" }, chainId),\n exact: false,\n });\n\n mutationOptions?.onSuccess?.(data, variables, onMutationResult, context);\n },\n });\n\n return { ...mutationResult, fillTx };\n}\n"],"names":["useFillOrder","t0","$","_c","mutationOptions","chainId","account","client","t1","sdk","useLimitOrdersSDK","t2","Symbol","for","t3","t4","orderFillData","overrides","signal","throwIfAborted","assert","fillOrderDirectly","mutationKey","mutationFn","useMutation"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useFillOrder.js","sources":["../../../../src/hooks/otc/mutations/useFillOrder.ts"],"sourcesContent":["import { useLimitOrdersSDK } from \"@/hooks/useSDK\";\nimport {\n useMutation,\n useQueryClient,\n type UseMutationOptions,\n type UseMutationResult,\n} from \"@tanstack/react-query\";\nimport type {\n MinViemClient,\n TxSendOverrides,\n FillOrderDirectlyFunctions,\n} from \"@velora-dex/sdk\";\nimport { assert } from \"ts-essentials\";\nimport type { Address, TransactionReceipt } from \"viem\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { useEnsureTxReceipt } from \"@/hooks/txs/queries/useAwaitTx\";\nimport { type TxSentObject } from \"@/lib/utils/transactionHandlers\";\nimport { limitOrdersQueryKey } from \"../queries/useLimitOrders\";\n\ntype FillOrderReturn = `0x${string}`;\ntype FillOrderAndWaitReturn = TransactionReceipt;\n\nexport type OrderFillData = Parameters<\n FillOrderDirectlyFunctions<FillOrderReturn>[\"fillOrderDirectly\"]\n>[0];\n\ntype FillOrderInput = {\n orderFillData: OrderFillData;\n overrides?: TxSendOverrides;\n signal?: AbortSignal; // since we have separate actions, we can abort in-between\n};\n\ntype FillOrderAndWaitInput = FillOrderInput & {\n onTxSent?: (txSent: TxSentObject) => void;\n};\n\ntype FillOrderMutationOptions = Omit<\n UseMutationOptions<FillOrderReturn, Error, FillOrderInput, void>,\n \"mutationFn\"\n>;\ntype FillOrderAndWaitMutationOptions = Omit<\n UseMutationOptions<FillOrderAndWaitReturn, Error, FillOrderInput, void>,\n \"mutationFn\"\n>;\n\ntype FillOrderMutInput = {\n mutationOptions?: FillOrderMutationOptions;\n chainId: SupportedChainId;\n account?: Address;\n client?: MinViemClient;\n};\n\ntype FillOrderAndWaitMutInput = {\n mutationOptions?: FillOrderAndWaitMutationOptions;\n chainId: SupportedChainId;\n account?: Address;\n client?: MinViemClient;\n};\n\nexport function useFillOrder({\n mutationOptions,\n chainId,\n account,\n client,\n}: FillOrderMutInput): UseMutationResult<\n FillOrderReturn,\n Error,\n FillOrderInput,\n void\n> {\n const { sdk } = useLimitOrdersSDK({ chainId, account, client });\n\n return useMutation<FillOrderReturn, Error, FillOrderInput, void>({\n mutationKey: [\"fillOrder\"],\n mutationFn: ({ orderFillData, overrides, signal }) => {\n // if aborted by this point, throw an error\n signal?.throwIfAborted();\n\n assert(\n \"fillOrderDirectly\" in sdk,\n \"fillOrderDirectly is not available on this SDK\"\n );\n // Note: This mutation requires the SDK to be initialized with account and client\n // to access fillOrderDirectly\n\n return sdk.fillOrderDirectly(orderFillData, overrides, { signal });\n },\n ...mutationOptions,\n });\n}\n\nexport function useFillOrderAndWait({\n mutationOptions,\n chainId,\n account,\n client,\n}: FillOrderAndWaitMutInput): UseMutationResult<\n FillOrderAndWaitReturn,\n Error,\n FillOrderAndWaitInput,\n void\n> & {\n fillTx: Omit<\n UseMutationResult<FillOrderReturn, Error, FillOrderInput, void>,\n \"mutate\" | \"mutateAsync\"\n >;\n} {\n const ensureTxReceipt = useEnsureTxReceipt();\n const { mutate, mutateAsync, ...fillTx } = useFillOrder({\n chainId,\n account,\n client,\n });\n const queryClient = useQueryClient();\n\n const mutationResult = useMutation<\n FillOrderAndWaitReturn,\n Error,\n FillOrderAndWaitInput,\n void\n >({\n mutationKey: [\"fillOrderAndWait\"],\n mutationFn: async ({ orderFillData, overrides, signal, onTxSent }) => {\n const txHash = await mutateAsync({ orderFillData, overrides, signal });\n\n const receiptPromise = ensureTxReceipt({ chainId, hash: txHash });\n\n onTxSent?.({\n chainId,\n transactionHash: txHash,\n action: \"fillOtcOrder\",\n receiptPromise,\n transactionSpecificData: {\n action: \"fillOtcOrder\",\n filledOrder: orderFillData.order,\n },\n });\n\n return receiptPromise;\n },\n ...mutationOptions,\n onSuccess: (data, variables, onMutationResult, context) => {\n queryClient.invalidateQueries({\n queryKey: limitOrdersQueryKey({ taker: account, type: \"P2P\" }, chainId),\n exact: false,\n });\n\n mutationOptions?.onSuccess?.(data, variables, onMutationResult, context);\n },\n });\n\n return { ...mutationResult, fillTx };\n}\n"],"names":["useFillOrder","t0","$","_c","mutationOptions","chainId","account","client","t1","sdk","useLimitOrdersSDK","t2","Symbol","for","t3","t4","orderFillData","overrides","signal","throwIfAborted","assert","fillOrderDirectly","mutationKey","mutationFn","useMutation"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AA2DO,SAAAA,aAAAC,EAAAA,EAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,EAAA,CAAA;AAAsB,EAAA,MAAA;AAAA,IAAAC,eAAAA;AAAAA,IAAAC,OAAAA;AAAAA,IAAAC,OAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAAAN,EAAAA;AAKT,EAAA,IAAAO,EAAAA;AAAA,EAAA,IAAAN,CAAAA,CAAA,CAAA,CAAA,KAAAI,OAAAA,IAAAJ,CAAAA,QAAAG,OAAAA,IAAAH,CAAAA,CAAA,CAAA,CAAA,KAAAK,MAAAA,EAAA;AAMgBC,IAAAA,EAAAA,GAAA;AAAA,MAAAH,OAAAA;AAAAA,MAAAC,OAAAA;AAAAA,MAAAC;AAAAA,KAA2B;AAACL,IAAAA,CAAAA,MAAAI,OAAAA;AAAAJ,IAAAA,CAAAA,MAAAG,OAAAA;AAAAH,IAAAA,CAAAA,MAAAK,MAAAA;AAAAL,IAAAA,CAAAA,MAAAM,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAN,EAAA,CAAA,CAAA;AAAA,EAAA;AAA9D,EAAA,MAAA;AAAA,IAAAO;AAAAA,GAAA,GAAgBC,kBAAkBF,EAA4B,CAAA;AAAE,EAAA,IAAAG,EAAAA;AAAA,EAAA,IAAAT,EAAA,CAAA,CAAA,KAAAU,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AAGjDF,IAAAA,EAAAA,GAAA,CAAC,WAAW,CAAA;AAACT,IAAAA,CAAAA,MAAAS,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAT,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAY,EAAAA;AAAA,EAAA,IAAAZ,CAAAA,QAAAO,GAAAA,EAAA;AACdK,IAAAA,EAAAA,GAAAC,CAAAA,GAAAA,KAAA;AAAC,MAAA,MAAA;AAAA,QAAAC,aAAAA;AAAAA,QAAAC,SAAAA;AAAAA,QAAAC;AAAAA,OAAA,GAAAH,GAAAA;AAEXG,MAAAA,MAAAA,EAAMC,cAAAA,EAAiB;AAEvBC,MAAAA,MAAAA,CACE,mBAAA,IAAuBX,KACvB,gDACF,CAAA;AAAC,MAAA,OAIMA,GAAAA,CAAGY,iBAAAA,CAAmBL,aAAAA,EAAeC,SAAAA,EAAW;AAAA,QAAAC;AAAAA,OAAU,CAAA;AAAA,IAAC,CAAA;AACnEhB,IAAAA,CAAAA,MAAAO,GAAAA;AAAAP,IAAAA,CAAAA,MAAAY,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAZ,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAa,EAAAA;AAAA,EAAA,IAAAb,EAAA,CAAA,CAAA,KAAAE,mBAAAF,CAAAA,QAAAY,EAAAA,EAAA;AAd8DC,IAAAA,EAAAA,GAAA;AAAA,MAAAO,WAAAA,EAClDX,EAAAA;AAAAA,MAAaY,UAAAA,EACdT,EAAAA;AAAAA,MAYX,GACEV;AAAAA,KACL;AAACF,IAAAA,CAAAA,MAAAE,eAAAA;AAAAF,IAAAA,CAAAA,MAAAY,EAAAA;AAAAZ,IAAAA,CAAAA,MAAAa,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAb,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAhBMsB,YAA0DT,EAgBhE,CAAA;AAAC;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAwaitTx.d.ts","sourceRoot":"","sources":["../../../../src/hooks/txs/queries/useAwaitTx.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,
|
|
1
|
+
{"version":3,"file":"useAwaitTx.d.ts","sourceRoot":"","sources":["../../../../src/hooks/txs/queries/useAwaitTx.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,EAKL,KAAK,sCAAsC,EAC3C,KAAK,sCAAsC,EAC5C,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,KAAK,6BAA6B,EAAE,MAAM,aAAa,CAAC;AAEjE,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,wCAAwC,CAAC;AAMhD,MAAM,MAAM,oBAAoB,CAAC,UAAU,GAAG,sBAAsB,IAAI;IACtE,OAAO,EAAE,gBAAgB,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,sCAAsC,CAC5C,OAAO,WAAW,EAClB,gBAAgB,EAChB,UAAU,CACX,CAAC,OAAO,CAAC,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,6BAA6B,CAChE,OAAO,WAAW,EAClB,gBAAgB,CACjB,CAAC;AAEF,MAAM,MAAM,oBAAoB,CAAC,UAAU,GAAG,sBAAsB,IAClE,sCAAsC,CACpC,OAAO,WAAW,EAClB,gBAAgB,EAChB,UAAU,CACX,CAAC;AAEJ,MAAM,MAAM,kBAAkB,GAAG,sBAAsB,CAAC;AAExD,wBAAgB,UAAU,CAAC,UAAU,GAAG,sBAAsB,EAAE,EAC9D,OAAO,EACP,aAAa,EACb,IAAI,EACJ,KAAK,GACN,EAAE,oBAAoB,CAAC,UAAU,CAAC,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAsDrE;AAED,wBAAgB,kBAAkB,IAAI,iBAAiB,CAMtD"}
|
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
import { d as distExports } from '../../../_virtual/index.js';
|
|
2
2
|
import { useQueryClient } from '@tanstack/react-query';
|
|
3
|
-
import {
|
|
3
|
+
import { useAccount, useConnectorClient, useConfig, useWaitForTransactionReceipt } from 'wagmi';
|
|
4
4
|
import 'wagmi/query';
|
|
5
5
|
import { useLogger } from '../../../core/logger.js';
|
|
6
6
|
import { ensureTxReceiptFactory } from '../../../transactions/queries/ensureTxReceipt.js';
|
|
7
7
|
import { useConnectedSafe } from '../../connectors/useIsConnectedSafe.js';
|
|
8
8
|
import { SAFE_CALLS_WAIT_TIMEOUT } from '../../../lib/constants/index.js';
|
|
9
|
+
import { useIsSafeConnector } from '../../connectors/useIsGnosisSafeConnector.js';
|
|
10
|
+
import { assert } from 'ts-essentials';
|
|
9
11
|
|
|
10
12
|
function useAwaitTx(t0) {
|
|
11
|
-
const $ = distExports.c(
|
|
13
|
+
const $ = distExports.c(20);
|
|
12
14
|
const {
|
|
13
15
|
chainId,
|
|
14
16
|
confirmations,
|
|
@@ -17,39 +19,89 @@ function useAwaitTx(t0) {
|
|
|
17
19
|
} = t0;
|
|
18
20
|
const logger = useLogger("AwaitTx");
|
|
19
21
|
const isSafe = useConnectedSafe();
|
|
22
|
+
const isSafeConnector = useIsSafeConnector();
|
|
20
23
|
const timeout = isSafe ? SAFE_CALLS_WAIT_TIMEOUT : void 0;
|
|
24
|
+
const {
|
|
25
|
+
address: account
|
|
26
|
+
} = useAccount();
|
|
21
27
|
let t1;
|
|
22
|
-
if ($[0] !==
|
|
23
|
-
t1 =
|
|
24
|
-
|
|
28
|
+
if ($[0] !== account || $[1] !== chainId) {
|
|
29
|
+
t1 = {
|
|
30
|
+
chainId,
|
|
31
|
+
account
|
|
25
32
|
};
|
|
26
|
-
$[0] =
|
|
27
|
-
$[1] =
|
|
33
|
+
$[0] = account;
|
|
34
|
+
$[1] = chainId;
|
|
28
35
|
$[2] = t1;
|
|
29
36
|
} else {
|
|
30
37
|
t1 = $[2];
|
|
31
38
|
}
|
|
39
|
+
const {
|
|
40
|
+
data: connectorClient
|
|
41
|
+
} = useConnectorClient(t1);
|
|
42
|
+
const wagmiConfig = useConfig();
|
|
43
|
+
let config = wagmiConfig;
|
|
44
|
+
if (isSafeConnector && connectorClient) {
|
|
45
|
+
let t22;
|
|
46
|
+
if ($[3] !== chainId || $[4] !== connectorClient) {
|
|
47
|
+
t22 = (options) => {
|
|
48
|
+
assert(!options || options.chainId === chainId, "chainId mismatch");
|
|
49
|
+
return connectorClient;
|
|
50
|
+
};
|
|
51
|
+
$[3] = chainId;
|
|
52
|
+
$[4] = connectorClient;
|
|
53
|
+
$[5] = t22;
|
|
54
|
+
} else {
|
|
55
|
+
t22 = $[5];
|
|
56
|
+
}
|
|
57
|
+
let t32;
|
|
58
|
+
if ($[6] !== t22 || $[7] !== wagmiConfig) {
|
|
59
|
+
t32 = {
|
|
60
|
+
...wagmiConfig,
|
|
61
|
+
getClient: t22
|
|
62
|
+
};
|
|
63
|
+
$[6] = t22;
|
|
64
|
+
$[7] = wagmiConfig;
|
|
65
|
+
$[8] = t32;
|
|
66
|
+
} else {
|
|
67
|
+
t32 = $[8];
|
|
68
|
+
}
|
|
69
|
+
config = t32;
|
|
70
|
+
}
|
|
32
71
|
let t2;
|
|
33
|
-
if ($[
|
|
34
|
-
t2 = {
|
|
72
|
+
if ($[9] !== hash || $[10] !== logger) {
|
|
73
|
+
t2 = (data) => {
|
|
74
|
+
logger.log("onReplaced:tx", hash, data);
|
|
75
|
+
};
|
|
76
|
+
$[9] = hash;
|
|
77
|
+
$[10] = logger;
|
|
78
|
+
$[11] = t2;
|
|
79
|
+
} else {
|
|
80
|
+
t2 = $[11];
|
|
81
|
+
}
|
|
82
|
+
let t3;
|
|
83
|
+
if ($[12] !== chainId || $[13] !== config || $[14] !== confirmations || $[15] !== hash || $[16] !== query || $[17] !== t2 || $[18] !== timeout) {
|
|
84
|
+
t3 = {
|
|
85
|
+
config,
|
|
35
86
|
chainId,
|
|
36
87
|
confirmations,
|
|
37
88
|
timeout,
|
|
38
89
|
hash,
|
|
39
90
|
query,
|
|
40
|
-
onReplaced:
|
|
91
|
+
onReplaced: t2
|
|
41
92
|
};
|
|
42
|
-
$[
|
|
43
|
-
$[
|
|
44
|
-
$[
|
|
45
|
-
$[
|
|
46
|
-
$[
|
|
47
|
-
$[
|
|
48
|
-
$[
|
|
93
|
+
$[12] = chainId;
|
|
94
|
+
$[13] = config;
|
|
95
|
+
$[14] = confirmations;
|
|
96
|
+
$[15] = hash;
|
|
97
|
+
$[16] = query;
|
|
98
|
+
$[17] = t2;
|
|
99
|
+
$[18] = timeout;
|
|
100
|
+
$[19] = t3;
|
|
49
101
|
} else {
|
|
50
|
-
|
|
102
|
+
t3 = $[19];
|
|
51
103
|
}
|
|
52
|
-
const queryResult = useWaitForTransactionReceipt(
|
|
104
|
+
const queryResult = useWaitForTransactionReceipt(t3);
|
|
53
105
|
return queryResult;
|
|
54
106
|
}
|
|
55
107
|
function useEnsureTxReceipt() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAwaitTx.js","sources":["../../../../src/hooks/txs/queries/useAwaitTx.ts"],"sourcesContent":["import type { wagmiConfig } from \"@/lib/web3/wagmi/config\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport {\n useConfig,\n useWaitForTransactionReceipt,\n type UseWaitForTransactionReceiptParameters,\n type UseWaitForTransactionReceiptReturnType,\n} from \"wagmi\";\nimport { type WaitForTransactionReceiptData } from \"wagmi/query\";\nimport { useLogger } from \"@/core/logger\";\nimport {\n ensureTxReceiptFactory,\n type EnsureTxReceiptFn,\n} from \"@/transactions/queries/ensureTxReceipt\";\nimport { useConnectedSafe } from \"@/hooks/connectors/useIsConnectedSafe\";\nimport { SAFE_CALLS_WAIT_TIMEOUT } from \"@/lib/constants\";\n\nexport type UseAwaitTxParameters<SelectData = DefaultTxReceiptSelect> = {\n chainId: SupportedChainId;\n confirmations?: number;\n hash?: `0x${string}`;\n query?: UseWaitForTransactionReceiptParameters<\n typeof wagmiConfig,\n SupportedChainId,\n SelectData\n >[\"query\"];\n};\n\nexport type DefaultTxReceiptSelect = WaitForTransactionReceiptData<\n typeof wagmiConfig,\n SupportedChainId\n>;\n\nexport type UseAwaitTxReturnType<SelectData = DefaultTxReceiptSelect> =\n UseWaitForTransactionReceiptReturnType<\n typeof wagmiConfig,\n SupportedChainId,\n SelectData\n >;\n\nexport type TxReceiptFromWagmi = DefaultTxReceiptSelect;\n\nexport function useAwaitTx<SelectData = DefaultTxReceiptSelect>({\n chainId,\n confirmations,\n hash,\n query,\n}: UseAwaitTxParameters<SelectData>): UseAwaitTxReturnType<SelectData> {\n const logger = useLogger(\"AwaitTx\");\n\n const isSafe = useConnectedSafe();\n\n const timeout = isSafe ? SAFE_CALLS_WAIT_TIMEOUT : undefined;\n\n const queryResult = useWaitForTransactionReceipt<\n typeof wagmiConfig,\n SupportedChainId,\n SelectData\n >({\n chainId,\n confirmations,\n timeout,\n hash,\n query,\n onReplaced: (data) => {\n // @TODO connect to some atom if needed to detect cancelled/sped-up txs,\n // but sped-up txs may be detected correct internally and re-awaited with a new hash,\n // need to test\n // https://viem.sh/docs/actions/public/waitForTransactionReceipt.html#json-rpc-methods\n logger.log(\"onReplaced:tx\", hash, data);\n },\n });\n\n return queryResult;\n}\n\nexport function useEnsureTxReceipt(): EnsureTxReceiptFn {\n const queryClient = useQueryClient();\n const wagmiConfig = useConfig();\n const isSafe = useConnectedSafe();\n\n return ensureTxReceiptFactory({ queryClient, wagmiConfig, isSafe });\n}\n"],"names":["useAwaitTx","t0","$","_c","chainId","confirmations","hash","query","logger","useLogger","isSafe","useConnectedSafe","timeout","SAFE_CALLS_WAIT_TIMEOUT","undefined","t1","data","
|
|
1
|
+
{"version":3,"file":"useAwaitTx.js","sources":["../../../../src/hooks/txs/queries/useAwaitTx.ts"],"sourcesContent":["import type { wagmiConfig } from \"@/lib/web3/wagmi/config\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport {\n useAccount,\n useConfig,\n useConnectorClient,\n useWaitForTransactionReceipt,\n type UseWaitForTransactionReceiptParameters,\n type UseWaitForTransactionReceiptReturnType,\n} from \"wagmi\";\nimport { type WaitForTransactionReceiptData } from \"wagmi/query\";\nimport { useLogger } from \"@/core/logger\";\nimport {\n ensureTxReceiptFactory,\n type EnsureTxReceiptFn,\n} from \"@/transactions/queries/ensureTxReceipt\";\nimport { useConnectedSafe } from \"@/hooks/connectors/useIsConnectedSafe\";\nimport { SAFE_CALLS_WAIT_TIMEOUT } from \"@/lib/constants\";\nimport { useIsSafeConnector } from \"@/hooks/connectors/useIsGnosisSafeConnector\";\nimport { assert } from \"ts-essentials\";\n\nexport type UseAwaitTxParameters<SelectData = DefaultTxReceiptSelect> = {\n chainId: SupportedChainId;\n confirmations?: number;\n hash?: `0x${string}`;\n query?: UseWaitForTransactionReceiptParameters<\n typeof wagmiConfig,\n SupportedChainId,\n SelectData\n >[\"query\"];\n};\n\nexport type DefaultTxReceiptSelect = WaitForTransactionReceiptData<\n typeof wagmiConfig,\n SupportedChainId\n>;\n\nexport type UseAwaitTxReturnType<SelectData = DefaultTxReceiptSelect> =\n UseWaitForTransactionReceiptReturnType<\n typeof wagmiConfig,\n SupportedChainId,\n SelectData\n >;\n\nexport type TxReceiptFromWagmi = DefaultTxReceiptSelect;\n\nexport function useAwaitTx<SelectData = DefaultTxReceiptSelect>({\n chainId,\n confirmations,\n hash,\n query,\n}: UseAwaitTxParameters<SelectData>): UseAwaitTxReturnType<SelectData> {\n const logger = useLogger(\"AwaitTx\");\n\n // connected to Safe through WalletConnect or in Safe App\n const isSafe = useConnectedSafe();\n // connected to Safe in Safe App\n const isSafeConnector = useIsSafeConnector();\n\n const timeout = isSafe ? SAFE_CALLS_WAIT_TIMEOUT : undefined;\n\n const { address: account } = useAccount();\n\n const { data: connectorClient } = useConnectorClient({\n chainId,\n account,\n });\n\n const wagmiConfig = useConfig();\n\n let config = wagmiConfig;\n if (isSafeConnector && connectorClient) {\n // always use connector client if connected through native safe connector.\n // safe provider returns a safeTxHash that is different from a real tx hash.\n // if connected to safe through WalletConnect - publicClient returns a real tx hash.\n config = {\n ...wagmiConfig,\n getClient: (options) => {\n assert(!options || options.chainId === chainId, \"chainId mismatch\");\n return connectorClient;\n },\n } as typeof wagmiConfig;\n }\n\n const queryResult = useWaitForTransactionReceipt<\n typeof wagmiConfig,\n SupportedChainId,\n SelectData\n >({\n config,\n chainId,\n confirmations,\n timeout,\n hash,\n query,\n onReplaced: (data) => {\n // @TODO connect to some atom if needed to detect cancelled/sped-up txs,\n // but sped-up txs may be detected correct internally and re-awaited with a new hash,\n // need to test\n // https://viem.sh/docs/actions/public/waitForTransactionReceipt.html#json-rpc-methods\n logger.log(\"onReplaced:tx\", hash, data);\n },\n });\n\n return queryResult;\n}\n\nexport function useEnsureTxReceipt(): EnsureTxReceiptFn {\n const queryClient = useQueryClient();\n const wagmiConfig = useConfig();\n const isSafe = useConnectedSafe();\n\n return ensureTxReceiptFactory({ queryClient, wagmiConfig, isSafe });\n}\n"],"names":["useAwaitTx","t0","$","_c","chainId","confirmations","hash","query","logger","useLogger","isSafe","useConnectedSafe","isSafeConnector","useIsSafeConnector","timeout","SAFE_CALLS_WAIT_TIMEOUT","undefined","address","account","useAccount","t1","data","connectorClient","useConnectorClient","wagmiConfig","useConfig","config","t2","options","assert","t3","getClient","log","onReplaced","queryResult","useWaitForTransactionReceipt","useEnsureTxReceipt","queryClient","useQueryClient","ensureTxReceiptFactory"],"mappings":"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"}
|
|
@@ -28,7 +28,7 @@ const privyConfig = {
|
|
|
28
28
|
},
|
|
29
29
|
// another option is to give an invalid ID,
|
|
30
30
|
// but then it retries indefinitely
|
|
31
|
-
walletConnectCloudProjectId: "
|
|
31
|
+
walletConnectCloudProjectId: "7535ce67d223b89670980f2442899904",
|
|
32
32
|
// Privy doesn't accept const Chain[]
|
|
33
33
|
supportedChains: chains
|
|
34
34
|
// defaultChain: chains[0], @TODO set to App's selected chain
|
|
@@ -6,7 +6,7 @@ import { isInIframe } from './isInsideSafeIframe.js';
|
|
|
6
6
|
|
|
7
7
|
const connectors = [
|
|
8
8
|
walletConnect({
|
|
9
|
-
projectId: "
|
|
9
|
+
projectId: "7535ce67d223b89670980f2442899904"
|
|
10
10
|
}),
|
|
11
11
|
injected(),
|
|
12
12
|
// metaMask() as CreateConnectorFn, // injected() detects metamask already
|
package/dist/styles.css
CHANGED
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
|
-
|
|
73
|
+
.velora-widget {
|
|
74
74
|
--font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
|
75
75
|
--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
|
|
76
76
|
--color-red-800: oklch(44.4% .177 26.899);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const
|
|
1
|
+
export declare const finalizeStandaloneTxsEffect: import('jotai').Atom<void> & {
|
|
2
2
|
effect: import('jotai-effect').Effect;
|
|
3
3
|
};
|
|
4
4
|
export declare const finalizeBatchTxsEffect: import('jotai').Atom<void> & {
|
|
@@ -5,7 +5,7 @@ import { transactionLogger } from '../../logger.js';
|
|
|
5
5
|
import { accountAtom } from '../../../lib/web3/wagmi/external.js';
|
|
6
6
|
|
|
7
7
|
let hasRunStandaloneEffect = false;
|
|
8
|
-
const
|
|
8
|
+
const finalizeStandaloneTxsEffect = atomEffect((get, set) => {
|
|
9
9
|
if (hasRunStandaloneEffect) return;
|
|
10
10
|
hasRunStandaloneEffect = true;
|
|
11
11
|
const pendingStandaloneTxs = get(allPendingStandaloneTransactionItemsAtom);
|
|
@@ -24,5 +24,5 @@ const finalizeBatchTxsEffect = atomEffect((get, set) => {
|
|
|
24
24
|
}
|
|
25
25
|
});
|
|
26
26
|
|
|
27
|
-
export { finalizeBatchTxsEffect,
|
|
27
|
+
export { finalizeBatchTxsEffect, finalizeStandaloneTxsEffect };
|
|
28
28
|
//# sourceMappingURL=finalize.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"finalize.js","sources":["../../../../src/transactions/state/effects/finalize.ts"],"sourcesContent":["import { atomEffect } from \"jotai-effect\";\nimport {\n allPendingBatchTransactionItemsAtom,\n allPendingStandaloneTransactionItemsAtom,\n} from \"../transactionsAtom\";\nimport {\n finalizeBatchTxAtom,\n finalizeStandaloneTxAtom,\n} from \"../transactionsActionAtom\";\n\nimport { transactionLogger } from \"../../logger\";\nimport { accountAtom } from \"@/lib/web3/wagmi/external\";\n\n// run only once on app load\nlet hasRunStandaloneEffect = false;\nexport const
|
|
1
|
+
{"version":3,"file":"finalize.js","sources":["../../../../src/transactions/state/effects/finalize.ts"],"sourcesContent":["import { atomEffect } from \"jotai-effect\";\nimport {\n allPendingBatchTransactionItemsAtom,\n allPendingStandaloneTransactionItemsAtom,\n} from \"../transactionsAtom\";\nimport {\n finalizeBatchTxAtom,\n finalizeStandaloneTxAtom,\n} from \"../transactionsActionAtom\";\n\nimport { transactionLogger } from \"../../logger\";\nimport { accountAtom } from \"@/lib/web3/wagmi/external\";\n\n// run only once on app load\nlet hasRunStandaloneEffect = false;\nexport const finalizeStandaloneTxsEffect = atomEffect((get, set) => {\n if (hasRunStandaloneEffect) return;\n hasRunStandaloneEffect = true;\n\n const pendingStandaloneTxs = get(allPendingStandaloneTransactionItemsAtom);\n transactionLogger.log(\"Effect::pendingStandaloneTxs\", pendingStandaloneTxs);\n pendingStandaloneTxs.forEach((tx) => set(finalizeStandaloneTxAtom, tx));\n});\n\n// run only once after account is connected and available in atom\n// because waitForCallsStatus requires wallet to be connected\nlet hasRunBatchEffect = false;\nexport const finalizeBatchTxsEffect = atomEffect((get, set) => {\n if (hasRunBatchEffect) return;\n\n const account = get(accountAtom);\n if (account) {\n hasRunBatchEffect = true;\n\n const pendingBatchTxs = get(allPendingBatchTransactionItemsAtom);\n transactionLogger.log(\"Effect::pendingBatchTxs\", pendingBatchTxs);\n pendingBatchTxs.forEach((tx) => set(finalizeBatchTxAtom, tx));\n }\n});\n"],"names":["hasRunStandaloneEffect","finalizeStandaloneTxsEffect","atomEffect","get","set","pendingStandaloneTxs","allPendingStandaloneTransactionItemsAtom","transactionLogger","log","forEach","tx","finalizeStandaloneTxAtom","hasRunBatchEffect","finalizeBatchTxsEffect","account","accountAtom","pendingBatchTxs","allPendingBatchTransactionItemsAtom","finalizeBatchTxAtom"],"mappings":";;;;;;AAcA,IAAIA,sBAAAA,GAAyB,KAAA;AACtB,MAAMC,2BAAAA,GAA8BC,UAAAA,CAAW,CAACC,GAAAA,EAAKC,GAAAA,KAAQ;AAClE,EAAA,IAAIJ,sBAAAA,EAAwB;AAC5BA,EAAAA,sBAAAA,GAAyB,IAAA;AAEzB,EAAA,MAAMK,oBAAAA,GAAuBF,IAAIG,wCAAwC,CAAA;AACzEC,EAAAA,iBAAAA,CAAkBC,GAAAA,CAAI,gCAAgCH,oBAAoB,CAAA;AAC1EA,EAAAA,oBAAAA,CAAqBI,OAAAA,CAASC,CAAAA,EAAAA,KAAON,GAAAA,CAAIO,wBAAAA,EAA0BD,EAAE,CAAC,CAAA;AACxE,CAAC;AAID,IAAIE,iBAAAA,GAAoB,KAAA;AACjB,MAAMC,sBAAAA,GAAyBX,UAAAA,CAAW,CAACC,GAAAA,EAAKC,GAAAA,KAAQ;AAC7D,EAAA,IAAIQ,iBAAAA,EAAmB;AAEvB,EAAA,MAAME,OAAAA,GAAUX,IAAIY,WAAW,CAAA;AAC/B,EAAA,IAAID,OAAAA,EAAS;AACXF,IAAAA,iBAAAA,GAAoB,IAAA;AAEpB,IAAA,MAAMI,eAAAA,GAAkBb,IAAIc,mCAAmC,CAAA;AAC/DV,IAAAA,iBAAAA,CAAkBC,GAAAA,CAAI,2BAA2BQ,eAAe,CAAA;AAChEA,IAAAA,eAAAA,CAAgBP,OAAAA,CAASC,CAAAA,EAAAA,KAAON,GAAAA,CAAIc,mBAAAA,EAAqBR,EAAE,CAAC,CAAA;AAAA,EAC9D;AACF,CAAC;;;;"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { useAtom } from '../../../core/store.js';
|
|
2
|
-
import {
|
|
2
|
+
import { finalizeStandaloneTxsEffect, finalizeBatchTxsEffect } from '../effects/finalize.js';
|
|
3
3
|
|
|
4
4
|
function useActivateEffects() {
|
|
5
|
-
useAtom(
|
|
5
|
+
useAtom(finalizeStandaloneTxsEffect);
|
|
6
6
|
useAtom(finalizeBatchTxsEffect);
|
|
7
7
|
}
|
|
8
8
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useActivateEffects.js","sources":["../../../../src/transactions/state/hooks/useActivateEffects.ts"],"sourcesContent":["import { useAtom } from \"@/core/store\";\nimport {\n finalizeBatchTxsEffect,\n
|
|
1
|
+
{"version":3,"file":"useActivateEffects.js","sources":["../../../../src/transactions/state/hooks/useActivateEffects.ts"],"sourcesContent":["import { useAtom } from \"@/core/store\";\nimport {\n finalizeBatchTxsEffect,\n finalizeStandaloneTxsEffect,\n} from \"@/transactions/state/effects/finalize\";\n\nexport function useActivateEffects() {\n // atomEffects must be rendered for subscriptions to activate\n useAtom(finalizeStandaloneTxsEffect);\n useAtom(finalizeBatchTxsEffect);\n}\n"],"names":["useActivateEffects","useAtom","finalizeStandaloneTxsEffect","finalizeBatchTxsEffect"],"mappings":";;;AAMO,SAAAA,kBAAAA,GAAA;AAELC,EAAAA,OAAAA,CAAQC,2BAA2B,CAAA;AACnCD,EAAAA,OAAAA,CAAQE,sBAAsB,CAAA;AAAC;;;;"}
|
|
@@ -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 { isBatchTransactionItem, isStandaloneTransactionItem } from \"../utils\";\nimport { accountAtom } from \"@/lib/web3/wagmi/external\";\nimport { assert } from \"ts-essentials\";\n\nexport const addTxAtom = atom<null, [transaction: MinTransactionItem], void>(\n null,\n async (get, set, transaction) => {\n const account = get(accountAtom);\n assert(account, \"addTxAtom: account is required\");\n\n const txWithMeta = {\n ...transaction,\n account,\n timestamp: Date.now(),\n dropped: false,\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()
|
|
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 { isBatchTransactionItem, isStandaloneTransactionItem } from \"../utils\";\nimport { accountAtom } from \"@/lib/web3/wagmi/external\";\nimport { assert } from \"ts-essentials\";\n\nexport const addTxAtom = atom<null, [transaction: MinTransactionItem], void>(\n null,\n async (get, set, transaction) => {\n const account = get(accountAtom);\n assert(account, \"addTxAtom: account is required\");\n\n const txWithMeta = {\n ...transaction,\n account,\n timestamp: Date.now(),\n dropped: false,\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(); // @TODO detect isSafe for timeout\n\n try {\n finalizedTx.receipt = await ensureTxReceipt({\n hash: transaction.transactionHash,\n chainId: transaction.chainId,\n });\n } catch (error) {\n if (\n error instanceof WaitForTransactionReceiptTimeoutError ||\n error instanceof TransactionReceiptNotFoundError\n ) {\n finalizedTx.dropped = true;\n transactionLogger.error(\n `finalizeStandaloneTxAtom::Transaction ${transaction.transactionHash} dropped with error: ${error.message}`\n );\n } else throw error;\n } finally {\n set(transactionsAtom, (current) => assignTx(current, finalizedTx));\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: transaction.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(\n `finalizeBatchTxAtom::Batch transaction ${transaction.callsId} dropped with error: ${error.message}`\n );\n } else {\n finalizedTx.callsStatus = \"failure\";\n throw error;\n }\n } finally {\n set(transactionsAtom, (current) => assignTx(current, 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 return {\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\n return {\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\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","account","accountAtom","assert","txWithMeta","timestamp","Date","now","dropped","transactionsAtom","current","assignTx","isStandaloneTransactionItem","finalizeStandaloneTxAtom","finalizeBatchTxAtom","_","finalizedTx","ensureTxReceipt","ensureTxReceiptFactory","receipt","hash","transactionHash","chainId","error","WaitForTransactionReceiptTimeoutError","TransactionReceiptNotFoundError","transactionLogger","message","ensureCallsStatus","ensureCallsStatusFactory","receipts","status","id","callsId","callsStatus","length","WaitForCallsStatusTimeoutError","MethodNotSupportedRpcError","addTx","jotaiStore","sanitizeTx","tx","isBatchTransactionItem","action","transactionSpecificData","currentTransactions","log","accountTransactions","identifier","updatedAccountTransactions"],"mappings":"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"}
|