@gearbox-protocol/ui-kit 3.14.0-next.15 → 3.14.0-next.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/dist/cjs/components/composites/tx-preview/confirm/dialog/TransactionConfirmDialogView.cjs +1 -1
  2. package/dist/cjs/components/composites/tx-preview/confirm/dialog/TransactionConfirmShell.cjs +1 -1
  3. package/dist/cjs/components/composites/tx-preview/confirm/dialog/constants.cjs +1 -1
  4. package/dist/cjs/components/composites/tx-preview/confirm/dialog/index.cjs +1 -1
  5. package/dist/cjs/components/composites/tx-preview/confirm/index.cjs +1 -1
  6. package/dist/cjs/components/composites/tx-preview/confirm/preview/OperationPreviewContent.cjs +1 -1
  7. package/dist/cjs/components/composites/tx-preview/confirm/stepper/index.cjs +1 -1
  8. package/dist/cjs/components/composites/tx-preview/confirm/stepper/transactionExecutionStepTypes.cjs +1 -0
  9. package/dist/cjs/components/composites/tx-preview/index.cjs +1 -1
  10. package/dist/esm/components/composites/tx-preview/confirm/dialog/TransactionConfirmDialogView.js +37 -28
  11. package/dist/esm/components/composites/tx-preview/confirm/dialog/TransactionConfirmShell.js +59 -45
  12. package/dist/esm/components/composites/tx-preview/confirm/dialog/constants.js +11 -5
  13. package/dist/esm/components/composites/tx-preview/confirm/dialog/index.js +14 -14
  14. package/dist/esm/components/composites/tx-preview/confirm/index.js +44 -52
  15. package/dist/esm/components/composites/tx-preview/confirm/preview/OperationPreviewContent.js +12 -24
  16. package/dist/esm/components/composites/tx-preview/confirm/stepper/index.js +6 -12
  17. package/dist/esm/components/composites/tx-preview/confirm/stepper/transactionExecutionStepTypes.js +6 -0
  18. package/dist/esm/components/composites/tx-preview/index.js +77 -96
  19. package/dist/globals.css +1 -1
  20. package/dist/types/components/composites/tx-preview/confirm/dialog/TransactionConfirmDialogView.d.ts +6 -2
  21. package/dist/types/components/composites/tx-preview/confirm/dialog/TransactionConfirmPageView.d.ts +1 -1
  22. package/dist/types/components/composites/tx-preview/confirm/dialog/TransactionConfirmShell.d.ts +1 -1
  23. package/dist/types/components/composites/tx-preview/confirm/dialog/constants.d.ts +7 -1
  24. package/dist/types/components/composites/tx-preview/confirm/dialog/index.d.ts +0 -1
  25. package/dist/types/components/composites/tx-preview/confirm/index.d.ts +0 -1
  26. package/dist/types/components/composites/tx-preview/confirm/preview/OperationPreviewContent.d.ts +1 -2
  27. package/dist/types/components/composites/tx-preview/confirm/stepper/TransactionProgressStepper.d.ts +1 -1
  28. package/dist/types/components/composites/tx-preview/confirm/stepper/index.d.ts +1 -2
  29. package/dist/types/components/composites/tx-preview/confirm/stepper/transactionExecutionStepTypes.d.ts +10 -0
  30. package/dist/types/components/composites/tx-preview/index.d.ts +0 -2
  31. package/package.json +1 -1
  32. package/dist/cjs/components/composites/tx-preview/confirm/dialog/useTransactionConfirmFlow.cjs +0 -1
  33. package/dist/cjs/components/composites/tx-preview/confirm/hooks/index.cjs +0 -1
  34. package/dist/cjs/components/composites/tx-preview/confirm/hooks/useCalldataOperationPreview.cjs +0 -1
  35. package/dist/cjs/components/composites/tx-preview/confirm/stepper/computeTransactionExecutionSteps.cjs +0 -1
  36. package/dist/cjs/components/composites/tx-preview/confirm/stepper/useCompletedStepsInSession.cjs +0 -1
  37. package/dist/cjs/components/composites/tx-preview/hooks/useParsedTransaction.cjs +0 -1
  38. package/dist/cjs/components/composites/tx-preview/prerequisites/PrerequisiteRow.cjs +0 -1
  39. package/dist/cjs/components/composites/tx-preview/prerequisites/PrerequisitesCard.cjs +0 -1
  40. package/dist/cjs/components/composites/tx-preview/prerequisites/index.cjs +0 -1
  41. package/dist/cjs/components/composites/tx-preview/prerequisites/prerequisiteDetails.cjs +0 -1
  42. package/dist/cjs/components/composites/tx-preview/prerequisites/usePrerequisites.cjs +0 -1
  43. package/dist/esm/components/composites/tx-preview/confirm/dialog/useTransactionConfirmFlow.js +0 -36
  44. package/dist/esm/components/composites/tx-preview/confirm/hooks/index.js +0 -4
  45. package/dist/esm/components/composites/tx-preview/confirm/hooks/useCalldataOperationPreview.js +0 -35
  46. package/dist/esm/components/composites/tx-preview/confirm/stepper/computeTransactionExecutionSteps.js +0 -55
  47. package/dist/esm/components/composites/tx-preview/confirm/stepper/useCompletedStepsInSession.js +0 -45
  48. package/dist/esm/components/composites/tx-preview/hooks/useParsedTransaction.js +0 -45
  49. package/dist/esm/components/composites/tx-preview/prerequisites/PrerequisiteRow.js +0 -21
  50. package/dist/esm/components/composites/tx-preview/prerequisites/PrerequisitesCard.js +0 -207
  51. package/dist/esm/components/composites/tx-preview/prerequisites/index.js +0 -11
  52. package/dist/esm/components/composites/tx-preview/prerequisites/prerequisiteDetails.js +0 -58
  53. package/dist/esm/components/composites/tx-preview/prerequisites/usePrerequisites.js +0 -39
  54. package/dist/types/components/composites/tx-preview/confirm/dialog/useTransactionConfirmFlow.d.ts +0 -14
  55. package/dist/types/components/composites/tx-preview/confirm/hooks/index.d.ts +0 -1
  56. package/dist/types/components/composites/tx-preview/confirm/hooks/useCalldataOperationPreview.d.ts +0 -19
  57. package/dist/types/components/composites/tx-preview/confirm/stepper/computeTransactionExecutionSteps.d.ts +0 -30
  58. package/dist/types/components/composites/tx-preview/confirm/stepper/useCompletedStepsInSession.d.ts +0 -16
  59. package/dist/types/components/composites/tx-preview/hooks/useParsedTransaction.d.ts +0 -40
  60. package/dist/types/components/composites/tx-preview/prerequisites/PrerequisiteRow.d.ts +0 -11
  61. package/dist/types/components/composites/tx-preview/prerequisites/PrerequisitesCard.d.ts +0 -17
  62. package/dist/types/components/composites/tx-preview/prerequisites/index.d.ts +0 -4
  63. package/dist/types/components/composites/tx-preview/prerequisites/prerequisiteDetails.d.ts +0 -17
  64. package/dist/types/components/composites/tx-preview/prerequisites/usePrerequisites.d.ts +0 -25
@@ -1,207 +0,0 @@
1
- import { jsxs as d, jsx as r } from "react/jsx-runtime";
2
- import { Card as f, CardHeader as u, CardTitle as c, CardContent as C } from "../../../cards/card/card.js";
3
- import { ErrorLineMessage as q } from "../../../error-message/error-line-message.js";
4
- import "react-intl";
5
- import "../../../buttons/button/button.js";
6
- import "../../../dialog/dialog-container.js";
7
- import "react";
8
- import "@gearbox-protocol/sdk";
9
- import "clsx";
10
- import "tailwind-merge";
11
- import "sonner";
12
- import "@gearbox-protocol/sdk/common-utils";
13
- import "luxon";
14
- import "../../../../utils/z-index.js";
15
- import { SkeletonStack as h } from "../../../skeleton/skeleton-stack.js";
16
- import "../components/AddressAvatar.js";
17
- import "@gearbox-protocol/static";
18
- import "@fortawesome/free-solid-svg-icons";
19
- import "../../../icons/fa-icon.js";
20
- import "../../../accordion/accordion.js";
21
- import "../../../alert-badge/alert-badge.js";
22
- import "../../../alert-dialog/alert-dialog.js";
23
- import "../../../alert-modal/alert-modal.js";
24
- import "../../../tooltip/simple-tooltip.js";
25
- import "../../../tooltip/tooltip.js";
26
- import "../../../arc-loader/arc-loader.js";
27
- import "../../../asset-line/asset-line.js";
28
- import "../../../buttons/back-button/back-button.js";
29
- import "../../../buttons/copy-button/copy-button.js";
30
- import "../../../buttons/external-button/external-button.js";
31
- import "../../../buttons/filter-button/filter-button.js";
32
- import "../../../buttons/navigation-button/navigation-button.js";
33
- import "../../../buttons/tab-button/tab-button.js";
34
- import "../../../token-icon/token-icon.js";
35
- import "wagmi";
36
- import "../../../auth/wallet-ui-context.js";
37
- import "../../../avatar/avatar.js";
38
- import "../../../badge/badge.js";
39
- import "../../../base-link/base-link.js";
40
- import "../../../navigation-context/navigation-context.js";
41
- import "../../../button-checkbox/button-checkbox.js";
42
- import "../../../card-grid/card-grid.js";
43
- import "../../../carousel/carousel.js";
44
- import "../../../checkbox/checkbox.js";
45
- import "../../../checkbox/checkbox-labeled.js";
46
- import "../../../checkbox-item/checkbox-item.js";
47
- import "../../../client-adapters/styled-button/styled-button.js";
48
- import "../../../client-adapters/styled-dialog-container/styled-dialog-container.js";
49
- import "../../../client-adapters/styled-rounded-image/styled-rounded-image.js";
50
- import "../../../colored-text/colored-text.js";
51
- import "../../../input/input.js";
52
- import "../../../with-title/with-title.js";
53
- import "../../../smart-number-input/balance-indicator.js";
54
- import "../../../smart-number-input/smart-number-input.js";
55
- import "../../../table/grid-table.js";
56
- import "../../../token-symbol/token-symbol.js";
57
- import "../../../typography/typography.js";
58
- import "../../../help-tip/help-tip.js";
59
- import "../../../description/description.js";
60
- import "../../../confirm-menu/confirm-menu.js";
61
- import "../../../dialog/dialog-modal-container.js";
62
- import "../../../text-button/text-button.js";
63
- import "../../../vertical-indicator/vertical-indicator.js";
64
- import "../../../points-icon/points-icon.js";
65
- import "../../../skeleton/skeleton.js";
66
- import "../../../vertical-list/vertical-list.js";
67
- import "../../../rounded-image/rounded-image.js";
68
- import "../../../progress/progress.js";
69
- import "../../../pool-indicator-icon/pool-indicator-icon.js";
70
- import "../../strategies-table/components/feature/feature.styles.js";
71
- import "viem";
72
- import "../../../icon-button/icon-button.js";
73
- import "../../../separate-line/separate-line.js";
74
- import "../../../tip-card/tip-card.js";
75
- import "../../strategies-table/components/rewards-tooltip/rewards-tooltip-root.js";
76
- import "../../../currency-button/currency-button.js";
77
- import "../../../detailed-apy/detailed-apy.js";
78
- import "../../../detailed-page-title/detailed-page-title.js";
79
- import "../../../detailed-page-title/detailed-page-title-copy-button.js";
80
- import "../../../detailed-page-title/detailed-page-title-explorer-dropdown.js";
81
- import "../../../modal/modal.js";
82
- import "@radix-ui/react-dialog";
83
- import "../../../dialog/dialog-content.js";
84
- import "../../../dialog/dialog-description.js";
85
- import "../../../dialog/dialog-footer.js";
86
- import "../../../dialog/dialog-header.js";
87
- import "../../../dialog/dialog-title.js";
88
- import "../../../dialog/dialog-overlay.js";
89
- import "../../../label/label.js";
90
- import "../../../dropdown-menu/dropdown-menu.js";
91
- import "../../../dropdown-menu/dropdown-menu-checkbox-item.js";
92
- import "../../../dropdown-menu/dropdown-menu-content.js";
93
- import "../../../dropdown-menu/dropdown-menu-item.js";
94
- import "../../../dropdown-menu/dropdown-menu-label.js";
95
- import "../../../dropdown-menu/dropdown-menu-radio-item.js";
96
- import "../../../dropdown-menu/dropdown-menu-separator.js";
97
- import "../../../dropdown-menu/dropdown-menu-shortcut.js";
98
- import "../../../dropdown-menu/dropdown-menu-sub-content.js";
99
- import "../../../dropdown-menu/dropdown-menu-sub-trigger.js";
100
- import "../../../edit-input/edit-input.js";
101
- import "../../../fadeout-loading/fadeout-loading.js";
102
- import "../../../filter/filter-block.js";
103
- import "../../../filter/filter-checkbox-item.js";
104
- import "../../../filter/filter-chip.js";
105
- import "../../../filter/filter-chips.js";
106
- import "../../../filter/filter-dropdown-item.js";
107
- import "../../../filter/filter-group.js";
108
- import "../../../filter/filter-label.js";
109
- import "../../../search-line/search-line.js";
110
- import "../../../tabs/tabs.js";
111
- import "../../../filter/filter-modal-item.js";
112
- import "../../../filter/filter-radio-item.js";
113
- import "../../../filter/filter-separator.js";
114
- import "../../../filter/variants.js";
115
- import "../../../graph/formatters.js";
116
- import "lightweight-charts";
117
- import "../../../graph/graph-view.js";
118
- import "../../../health-factor/health-factor.js";
119
- import "../../../horizontal-indicator/horizontal-indicator.js";
120
- import "../../../layout/col/col.js";
121
- import "../../../layout/container/container.js";
122
- import "../../../layout/footer/footer.js";
123
- import "../../../layout/grid/grid.js";
124
- import "../../../layout/header/header.js";
125
- import "../../../layout/layout/layout.js";
126
- import "../../../layout/main-aside-layout/main-aside-layout.js";
127
- import "../../../page-title/page-title.js";
128
- import "../../../layout/social-icons/social-icons.js";
129
- import "../../../legal-agreement/legal-agreement-theme.js";
130
- import "../../../link/link.js";
131
- import "../../../../utils/reactochart-compat.js";
132
- import "../../../status-elements/status-elements.js";
133
- import "../../../loader/loader.js";
134
- import "../../../loading/loading.js";
135
- import "../../../loading-bar/loading-bar.js";
136
- import "react-markdown";
137
- import "remark-gfm";
138
- import "../../../navbar/navbar.js";
139
- import "../../../navbar/navbar-indicator-context.js";
140
- import "../../../app-bar/app-bar.js";
141
- import "../../../navitem/navitem.js";
142
- import "../../../simple-dropdown/simple-dropdown.js";
143
- import "../../../progress-bar/progress-bar.js";
144
- import "../../../radio-group/radio-group.js";
145
- import "../../../search-bar/search-bar.js";
146
- import "../../../segmented-control/segmented-control.js";
147
- import "../../../select/select.js";
148
- import "../../../separator/separator.js";
149
- import "../../../simple-accordion/simple-accordion.js";
150
- import "../../../simple-dropdown/simple-dropdown-menu-item.js";
151
- import "../../../slider/slider.js";
152
- import "../../../slider/slider-context.js";
153
- import "@radix-ui/react-slider";
154
- import "../../../spinner/spinner.js";
155
- import "../../../spinner-loader/spinner-loader.js";
156
- import "../../../split-list/split-list.js";
157
- import "../../../stat-badge/stat-badge.js";
158
- import "../../../status-dot/status-dot.js";
159
- import "../../../stepper/stepper.js";
160
- import "../../../switch/switch.js";
161
- import "../../../table/table.js";
162
- import "../../../table/grid-table-loader.js";
163
- import "../../../textarea/textarea.js";
164
- import "../../../theme-provider.js";
165
- import "../../../time-to-liquidation/time-to-liquidation.js";
166
- import "../../../toggle/toggle.js";
167
- import "../../../with-filter-button/with-filter-button.js";
168
- import { CollapsibleCard as P } from "../components/CollapsibleCard.js";
169
- import { PrerequisiteRow as g } from "./PrerequisiteRow.js";
170
- import { usePrerequisites as v } from "./usePrerequisites.js";
171
- function wt({
172
- sdk: o,
173
- operation: p,
174
- wallet: e,
175
- blockNumber: s,
176
- refreshNonce: n
177
- }) {
178
- const { data: t, isLoading: a, error: m } = v({
179
- sdk: o,
180
- operation: p,
181
- wallet: e,
182
- blockNumber: s,
183
- refreshNonce: n
184
- });
185
- if (a)
186
- return /* @__PURE__ */ d(f, { children: [
187
- /* @__PURE__ */ r(u, { children: /* @__PURE__ */ r(c, { children: "Prerequisites" }) }),
188
- /* @__PURE__ */ r(C, { children: /* @__PURE__ */ r(h, { lines: 3 }) })
189
- ] });
190
- if (m)
191
- return /* @__PURE__ */ r(q, { err: m, title: "Failed to verify prerequisites" });
192
- if (!t || t.length === 0)
193
- return null;
194
- const l = t.every((i) => !i.error && i.satisfied);
195
- return /* @__PURE__ */ r(
196
- P,
197
- {
198
- value: "prerequisites",
199
- title: "Prerequisites",
200
- defaultOpen: !l,
201
- children: t.map((i) => /* @__PURE__ */ r(g, { result: i, sdk: o }, i.id))
202
- }
203
- );
204
- }
205
- export {
206
- wt as PrerequisitesCard
207
- };
@@ -1,11 +0,0 @@
1
- import { PrerequisiteRow as i } from "./PrerequisiteRow.js";
2
- import { PrerequisitesCard as o } from "./PrerequisitesCard.js";
3
- import { prerequisiteDetailRenderers as u, renderPrerequisiteDetail as p } from "./prerequisiteDetails.js";
4
- import { usePrerequisites as f } from "./usePrerequisites.js";
5
- export {
6
- i as PrerequisiteRow,
7
- o as PrerequisitesCard,
8
- u as prerequisiteDetailRenderers,
9
- p as renderPrerequisiteDetail,
10
- f as usePrerequisites
11
- };
@@ -1,58 +0,0 @@
1
- import { jsx as r, jsxs as t } from "react/jsx-runtime";
2
- import { maxUint256 as d } from "viem";
3
- import { TokenIcon as p } from "../../../token-icon/token-icon.js";
4
- import { TokenTemplate as u } from "../../../token-template/token-template.js";
5
- import { resolveToken as l } from "../utils/poolTokenInfo.js";
6
- function i({
7
- token: e,
8
- required: n,
9
- actual: s,
10
- actualLabel: m = "Available"
11
- }) {
12
- const c = {
13
- symbol: e.symbol,
14
- title: e.symbol,
15
- decimals: e.decimals
16
- }, a = (o) => o === d ? /* @__PURE__ */ t("span", { className: "flex items-center gap-1", title: "Unlimited", children: [
17
- /* @__PURE__ */ r("span", { "aria-hidden": !0, children: "∞" }),
18
- /* @__PURE__ */ r("span", { children: e.symbol })
19
- ] }) : /* @__PURE__ */ r(u, { value: o, token: c, showSymbol: !0 });
20
- return /* @__PURE__ */ t("span", { className: "flex flex-col items-end gap-0.5 text-sm", children: [
21
- /* @__PURE__ */ t("span", { className: "flex items-center gap-1", children: [
22
- /* @__PURE__ */ r("span", { className: "text-muted-foreground", children: "Required" }),
23
- /* @__PURE__ */ r(p, { symbol: e.symbol, size: 14 }),
24
- a(n)
25
- ] }),
26
- s !== void 0 ? /* @__PURE__ */ t("span", { className: "flex items-center gap-1", children: [
27
- /* @__PURE__ */ r("span", { className: "text-muted-foreground", children: m }),
28
- a(s)
29
- ] }) : null
30
- ] });
31
- }
32
- const f = {
33
- allowance: (e, n) => /* @__PURE__ */ r(
34
- i,
35
- {
36
- token: l(n, e.token),
37
- required: e.required,
38
- actual: e.actual,
39
- actualLabel: "Approved"
40
- }
41
- ),
42
- balance: (e, n) => /* @__PURE__ */ r(
43
- i,
44
- {
45
- token: l(n, e.token),
46
- required: e.required,
47
- actual: e.actual
48
- }
49
- )
50
- };
51
- function g(e, n) {
52
- const s = f[e.kind];
53
- return s(e.detail, n);
54
- }
55
- export {
56
- f as prerequisiteDetailRenderers,
57
- g as renderPrerequisiteDetail
58
- };
@@ -1,39 +0,0 @@
1
- import { json_stringify as n } from "@gearbox-protocol/sdk";
2
- import { verifyPrerequisites as o, buildPrerequisites as f } from "@gearbox-protocol/sdk/preview";
3
- import { useQuery as y } from "@tanstack/react-query";
4
- function p({
5
- sdk: s,
6
- operation: e,
7
- wallet: r,
8
- blockNumber: t,
9
- refreshNonce: u
10
- }) {
11
- return y({
12
- queryKey: [
13
- "prerequisites",
14
- n(e),
15
- r,
16
- t?.toString(),
17
- u
18
- ],
19
- queryFn: () => {
20
- const i = {
21
- sdk: s,
22
- wallet: r,
23
- blockNumber: t
24
- };
25
- return o(f(e, i), i);
26
- },
27
- // Kept reactive so external changes (a deposit / approval done in another
28
- // window) are reflected: short stale time + refetch on window focus and a
29
- // modest interval. The submit flow additionally bumps `refreshNonce` for an
30
- // immediate re-check right after its own actions.
31
- staleTime: 1e4,
32
- refetchOnWindowFocus: !0,
33
- refetchInterval: 3e4,
34
- retry: !1
35
- });
36
- }
37
- export {
38
- p as usePrerequisites
39
- };
@@ -1,14 +0,0 @@
1
- import { TransactionConfirmPhase, TransactionConfirmSubmittedTx } from './transactionConfirmPhase';
2
- export interface UseTransactionConfirmFlowReturn {
3
- readonly open: boolean;
4
- readonly phase: TransactionConfirmPhase;
5
- readonly submittedTx: TransactionConfirmSubmittedTx | undefined;
6
- readonly refreshNonce: number;
7
- readonly openDialog: () => void;
8
- readonly closeDialog: () => void;
9
- readonly bumpRefreshNonce: () => void;
10
- readonly beginAwaitingReceipt: (tx: TransactionConfirmSubmittedTx) => void;
11
- readonly markSuccess: () => void;
12
- readonly markFailure: () => void;
13
- }
14
- export declare function useTransactionConfirmFlow(): UseTransactionConfirmFlowReturn;
@@ -1 +0,0 @@
1
- export * from './useCalldataOperationPreview';
@@ -1,19 +0,0 @@
1
- import { Operation, PoolSimulationResult } from '@gearbox-protocol/sdk/preview';
2
- import { Address, Hex } from 'viem';
3
- import { GearboxSDKLike } from '../../types';
4
- export interface UseCalldataOperationPreviewInput {
5
- enabled: boolean;
6
- sdk: GearboxSDKLike | undefined;
7
- to: Address | undefined;
8
- calldata: Hex | undefined;
9
- wallet: Address | undefined;
10
- refreshNonce: number;
11
- }
12
- export interface UseCalldataOperationPreviewResult {
13
- operation: Operation | undefined;
14
- simulation: PoolSimulationResult | undefined;
15
- isSimulating: boolean;
16
- parseError: Error | null;
17
- isReady: boolean;
18
- }
19
- export declare function useCalldataOperationPreview({ enabled, sdk, to, calldata, wallet, refreshNonce, }: UseCalldataOperationPreviewInput): UseCalldataOperationPreviewResult;
@@ -1,30 +0,0 @@
1
- export type TransactionExecutionStepId = "approve" | "auth" | "execute";
2
- export type TransactionExecutionPrerequisiteStepId = Exclude<TransactionExecutionStepId, "execute">;
3
- export type StepStatus = "completed" | "active" | "upcoming";
4
- export type TransactionExecutionStepLabelKey = "approve" | "approveBatch" | "auth" | "execute";
5
- export interface TransactionExecutionStepRequirements {
6
- readonly approve: boolean;
7
- readonly auth: boolean;
8
- }
9
- export interface TransactionExecutionStepInput {
10
- isCorrectChain: boolean;
11
- isAuthReady: boolean;
12
- needsApproval: boolean;
13
- isApprovalPending: boolean;
14
- allowWalletBatching: boolean;
15
- isExecuting?: boolean;
16
- /** Prerequisite steps completed in this confirm session; kept visible until reset. */
17
- completedStepsInSession?: ReadonlyArray<TransactionExecutionPrerequisiteStepId>;
18
- }
19
- export interface TransactionExecutionStepView {
20
- id: TransactionExecutionStepId;
21
- labelKey: TransactionExecutionStepLabelKey;
22
- status: StepStatus;
23
- }
24
- export declare function getTransactionExecutionStepRequirements(input: Pick<TransactionExecutionStepInput, "needsApproval" | "allowWalletBatching" | "isAuthReady" | "isApprovalPending">): TransactionExecutionStepRequirements;
25
- export declare function shouldShowTransactionProgressStepper(steps: ReadonlyArray<Pick<TransactionExecutionStepView, "id">>): boolean;
26
- export declare function computeTransactionExecutionSteps(input: TransactionExecutionStepInput): {
27
- steps: TransactionExecutionStepView[];
28
- activeStepId: TransactionExecutionStepId;
29
- showProgressStepper: boolean;
30
- };
@@ -1,16 +0,0 @@
1
- import { TransactionExecutionPrerequisiteStepId, TransactionExecutionStepRequirements } from './computeTransactionExecutionSteps';
2
- export declare function mergeStepsSeenInSession(prev: ReadonlyArray<TransactionExecutionPrerequisiteStepId>, requirements: TransactionExecutionStepRequirements): TransactionExecutionPrerequisiteStepId[];
3
- export declare function mergeCompletedStepsInSession(prev: ReadonlyArray<TransactionExecutionPrerequisiteStepId>, stepsSeenInSession: ReadonlyArray<TransactionExecutionPrerequisiteStepId>, requirements: TransactionExecutionStepRequirements): TransactionExecutionPrerequisiteStepId[];
4
- export interface UseCompletedStepsInSessionInput {
5
- /** When false, session memory is cleared (e.g. confirm modal closed). */
6
- readonly sessionActive: boolean;
7
- readonly needsApproval: boolean;
8
- readonly isApprovalPending?: boolean;
9
- readonly allowWalletBatching: boolean;
10
- readonly isAuthReady: boolean;
11
- }
12
- /**
13
- * Tracks prerequisite steps that were required and later completed during a confirm
14
- * session. Completed steps stay in the stepper until {@link sessionActive} resets.
15
- */
16
- export declare function useCompletedStepsInSession({ sessionActive, needsApproval, isApprovalPending, allowWalletBatching, isAuthReady, }: UseCompletedStepsInSessionInput): ReadonlyArray<TransactionExecutionPrerequisiteStepId>;
@@ -1,40 +0,0 @@
1
- import { Operation, PoolSimulationResult } from '@gearbox-protocol/sdk/preview';
2
- import { Address, Hex } from 'viem';
3
- import { GearboxSDKLike } from '../types';
4
- export interface ParsedTransactionInput {
5
- enabled?: boolean;
6
- sdk: GearboxSDKLike;
7
- to: Address;
8
- calldata: Hex;
9
- sender: Address;
10
- refreshNonce?: number;
11
- }
12
- export interface UseParsedTransactionResult {
13
- /**
14
- * Parsed operation. For pool operations it is enriched with wallet transfers
15
- * once the simulation stage succeeds, triggering a re-render.
16
- */
17
- data: Operation | undefined;
18
- /** Stage-1 (parse) error, if decoding the calldata threw. */
19
- error: Error | null;
20
- /**
21
- * Stage-2 simulation outcome. `undefined` while it is loading or for
22
- * operations that are not simulated (currently anything but pool ops).
23
- */
24
- simulation: PoolSimulationResult | undefined;
25
- /** Stage-2 (simulation) loading flag. */
26
- isSimulating: boolean;
27
- }
28
- /**
29
- * Resolves the {@link Operation} for the given input in two stages:
30
- *
31
- * 1. Parse the raw calldata (synchronous decode, no chain reads).
32
- * 2. For pool operations, simulate the call to recover wallet transfers and
33
- * balance changes. On success the transfers are merged back into the parsed
34
- * operation; on revert the decoded reason is exposed via `simulation`.
35
- *
36
- * Stage 1 is a pure synchronous decode, so it runs in a `useMemo`; only the
37
- * simulation (stage 2) is a real async operation backed by React Query (keyed
38
- * so results cache per decoded call and wallet).
39
- */
40
- export declare function useParsedTransaction(input: ParsedTransactionInput): UseParsedTransactionResult;
@@ -1,11 +0,0 @@
1
- import { AnyPrerequisiteResult } from '@gearbox-protocol/sdk/preview';
2
- import { GearboxSDKLike } from '../types';
3
- export interface PrerequisiteRowProps {
4
- result: AnyPrerequisiteResult;
5
- sdk: GearboxSDKLike;
6
- }
7
- /**
8
- * One prerequisite as a labeled row: a status icon + title on the left and the
9
- * kind-specific detail (or the revert reason on error) on the right.
10
- */
11
- export declare function PrerequisiteRow({ result, sdk }: PrerequisiteRowProps): import("react/jsx-runtime").JSX.Element;
@@ -1,17 +0,0 @@
1
- import { Operation } from '@gearbox-protocol/sdk/preview';
2
- import { Address } from 'viem';
3
- import { GearboxSDKLike } from '../types';
4
- export interface PrerequisitesCardProps {
5
- sdk: GearboxSDKLike;
6
- operation: Operation;
7
- /** Transaction sender whose balances/allowances are verified. */
8
- wallet: Address;
9
- blockNumber?: bigint;
10
- /** Shared re-evaluation trigger; forwarded to keep one cache key. */
11
- refreshNonce?: number;
12
- }
13
- /**
14
- * Verifies and lists the on-chain prerequisites for an operation, one status
15
- * row per check. Renders nothing when the operation has no prerequisites.
16
- */
17
- export declare function PrerequisitesCard({ sdk, operation, wallet, blockNumber, refreshNonce, }: PrerequisitesCardProps): import("react/jsx-runtime").JSX.Element | null;
@@ -1,4 +0,0 @@
1
- export * from './PrerequisiteRow';
2
- export * from './PrerequisitesCard';
3
- export * from './prerequisiteDetails';
4
- export * from './usePrerequisites';
@@ -1,17 +0,0 @@
1
- import { AnyPrerequisiteResult, PrerequisiteDetail, PrerequisiteKind } from '@gearbox-protocol/sdk/preview';
2
- import { ReactNode } from 'react';
3
- import { GearboxSDKLike } from '../types';
4
- /**
5
- * Renderer per {@link PrerequisiteKind}. The mapped-type signature forces an
6
- * entry for every kind, so adding a new prerequisite kind fails to compile
7
- * until its detail renderer is provided here.
8
- */
9
- export declare const prerequisiteDetailRenderers: {
10
- [K in PrerequisiteKind]: (detail: PrerequisiteDetail<K>, sdk: GearboxSDKLike) => ReactNode;
11
- };
12
- /**
13
- * Renders the kind-specific detail for a prerequisite result. The cast bridges
14
- * the correlated `kind`/`detail` pair to the registry's per-kind signature;
15
- * the runtime pairing is guaranteed by how results are constructed.
16
- */
17
- export declare function renderPrerequisiteDetail(result: AnyPrerequisiteResult, sdk: GearboxSDKLike): ReactNode;
@@ -1,25 +0,0 @@
1
- import { Operation } from '@gearbox-protocol/sdk/preview';
2
- import { Address } from 'viem';
3
- import { GearboxSDKLike } from '../types';
4
- export interface UsePrerequisitesInput {
5
- sdk: GearboxSDKLike;
6
- operation: Operation;
7
- /** Transaction sender whose balances/allowances are verified. */
8
- wallet: Address;
9
- /** Block to read at; defaults to latest. Only set for testnet forks. */
10
- blockNumber?: bigint;
11
- /**
12
- * Bumped by the submit flow after each on-chain action (e.g. an approval
13
- * confirms) to force an immediate re-verification. Included in the query key
14
- * so all consumers sharing the same key re-evaluate together.
15
- */
16
- refreshNonce?: number;
17
- }
18
- /**
19
- * Builds and verifies the on-chain prerequisites for a parsed operation.
20
- *
21
- * Keyed on the serialized operation, wallet and block so results are cached per
22
- * decoded call. Mirrors {@link import("./useParsedTransaction")} conventions:
23
- * results never go stale and failed runs are not retried.
24
- */
25
- export declare function usePrerequisites({ sdk, operation, wallet, blockNumber, refreshNonce, }: UsePrerequisitesInput): import('@tanstack/react-query').UseQueryResult<import('@gearbox-protocol/sdk/preview').AnyPrerequisiteResult[], Error>;