@b3dotfun/sdk 0.0.86 → 0.0.87-alpha.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.
Files changed (97) hide show
  1. package/dist/cjs/anyspend/react/components/AnySpend.d.ts +5 -0
  2. package/dist/cjs/anyspend/react/components/AnySpend.js +59 -49
  3. package/dist/cjs/anyspend/react/components/AnySpendCustomExactIn.d.ts +1 -1
  4. package/dist/cjs/anyspend/react/components/AnySpendCustomExactIn.js +1 -2
  5. package/dist/cjs/anyspend/react/components/AnySpendDeposit.d.ts +122 -0
  6. package/dist/cjs/anyspend/react/components/AnySpendDeposit.js +190 -0
  7. package/dist/cjs/anyspend/react/components/QRDeposit.d.ts +43 -0
  8. package/dist/cjs/anyspend/react/components/QRDeposit.js +146 -0
  9. package/dist/cjs/anyspend/react/components/common/OrderDetails.js +17 -12
  10. package/dist/cjs/anyspend/react/components/common/OrderDetailsCollapsible.d.ts +2 -0
  11. package/dist/cjs/anyspend/react/components/common/OrderDetailsCollapsible.js +12 -5
  12. package/dist/cjs/anyspend/react/components/common/OrderStatus.js +2 -2
  13. package/dist/cjs/anyspend/react/components/common/WarningText.d.ts +32 -0
  14. package/dist/cjs/anyspend/react/components/common/WarningText.js +36 -0
  15. package/dist/cjs/anyspend/react/components/icons/CreditCardIcon.d.ts +6 -0
  16. package/dist/cjs/anyspend/react/components/icons/CreditCardIcon.js +6 -0
  17. package/dist/cjs/anyspend/react/components/icons/QrCodeIcon.d.ts +6 -0
  18. package/dist/cjs/anyspend/react/components/icons/QrCodeIcon.js +6 -0
  19. package/dist/cjs/anyspend/react/components/index.d.ts +2 -0
  20. package/dist/cjs/anyspend/react/components/index.js +3 -1
  21. package/dist/cjs/anyspend/react/hooks/index.d.ts +1 -0
  22. package/dist/cjs/anyspend/react/hooks/index.js +1 -0
  23. package/dist/cjs/anyspend/react/hooks/useAnyspendFlow.d.ts +2 -2
  24. package/dist/cjs/anyspend/react/hooks/useAnyspendFlow.js +35 -11
  25. package/dist/cjs/anyspend/react/hooks/useAnyspendOrderHistory.d.ts +76 -16
  26. package/dist/cjs/anyspend/react/hooks/useCreateDepositFirstOrder.d.ts +24 -0
  27. package/dist/cjs/anyspend/react/hooks/useCreateDepositFirstOrder.js +86 -0
  28. package/dist/cjs/anyspend/types/api.d.ts +65 -3
  29. package/dist/cjs/anyspend/utils/format.js +28 -5
  30. package/dist/cjs/global-account/react/stores/useModalStore.d.ts +4 -0
  31. package/dist/esm/anyspend/react/components/AnySpend.d.ts +5 -0
  32. package/dist/esm/anyspend/react/components/AnySpend.js +59 -49
  33. package/dist/esm/anyspend/react/components/AnySpendCustomExactIn.d.ts +1 -1
  34. package/dist/esm/anyspend/react/components/AnySpendCustomExactIn.js +1 -2
  35. package/dist/esm/anyspend/react/components/AnySpendDeposit.d.ts +122 -0
  36. package/dist/esm/anyspend/react/components/AnySpendDeposit.js +187 -0
  37. package/dist/esm/anyspend/react/components/QRDeposit.d.ts +43 -0
  38. package/dist/esm/anyspend/react/components/QRDeposit.js +143 -0
  39. package/dist/esm/anyspend/react/components/common/OrderDetails.js +17 -12
  40. package/dist/esm/anyspend/react/components/common/OrderDetailsCollapsible.d.ts +2 -0
  41. package/dist/esm/anyspend/react/components/common/OrderDetailsCollapsible.js +12 -5
  42. package/dist/esm/anyspend/react/components/common/OrderStatus.js +2 -2
  43. package/dist/esm/anyspend/react/components/common/WarningText.d.ts +32 -0
  44. package/dist/esm/anyspend/react/components/common/WarningText.js +32 -0
  45. package/dist/esm/anyspend/react/components/icons/CreditCardIcon.d.ts +6 -0
  46. package/dist/esm/anyspend/react/components/icons/CreditCardIcon.js +2 -0
  47. package/dist/esm/anyspend/react/components/icons/QrCodeIcon.d.ts +6 -0
  48. package/dist/esm/anyspend/react/components/icons/QrCodeIcon.js +2 -0
  49. package/dist/esm/anyspend/react/components/index.d.ts +2 -0
  50. package/dist/esm/anyspend/react/components/index.js +1 -0
  51. package/dist/esm/anyspend/react/hooks/index.d.ts +1 -0
  52. package/dist/esm/anyspend/react/hooks/index.js +1 -0
  53. package/dist/esm/anyspend/react/hooks/useAnyspendFlow.d.ts +2 -2
  54. package/dist/esm/anyspend/react/hooks/useAnyspendFlow.js +35 -11
  55. package/dist/esm/anyspend/react/hooks/useAnyspendOrderHistory.d.ts +76 -16
  56. package/dist/esm/anyspend/react/hooks/useCreateDepositFirstOrder.d.ts +24 -0
  57. package/dist/esm/anyspend/react/hooks/useCreateDepositFirstOrder.js +83 -0
  58. package/dist/esm/anyspend/types/api.d.ts +65 -3
  59. package/dist/esm/anyspend/utils/format.js +28 -5
  60. package/dist/esm/global-account/react/stores/useModalStore.d.ts +4 -0
  61. package/dist/styles/index.css +1 -1
  62. package/dist/types/anyspend/react/components/AnySpend.d.ts +5 -0
  63. package/dist/types/anyspend/react/components/AnySpendCustomExactIn.d.ts +1 -1
  64. package/dist/types/anyspend/react/components/AnySpendDeposit.d.ts +122 -0
  65. package/dist/types/anyspend/react/components/QRDeposit.d.ts +43 -0
  66. package/dist/types/anyspend/react/components/common/OrderDetailsCollapsible.d.ts +2 -0
  67. package/dist/types/anyspend/react/components/common/WarningText.d.ts +32 -0
  68. package/dist/types/anyspend/react/components/icons/CreditCardIcon.d.ts +6 -0
  69. package/dist/types/anyspend/react/components/icons/QrCodeIcon.d.ts +6 -0
  70. package/dist/types/anyspend/react/components/index.d.ts +2 -0
  71. package/dist/types/anyspend/react/hooks/index.d.ts +1 -0
  72. package/dist/types/anyspend/react/hooks/useAnyspendFlow.d.ts +2 -2
  73. package/dist/types/anyspend/react/hooks/useAnyspendOrderHistory.d.ts +76 -16
  74. package/dist/types/anyspend/react/hooks/useCreateDepositFirstOrder.d.ts +24 -0
  75. package/dist/types/anyspend/types/api.d.ts +65 -3
  76. package/dist/types/global-account/react/stores/useModalStore.d.ts +4 -0
  77. package/package.json +3 -3
  78. package/src/anyspend/react/components/AnySpend.tsx +68 -45
  79. package/src/anyspend/react/components/AnySpendCustomExactIn.tsx +2 -3
  80. package/src/anyspend/react/components/AnySpendDeposit.tsx +578 -0
  81. package/src/anyspend/react/components/QRDeposit.tsx +348 -0
  82. package/src/anyspend/react/components/common/OrderDetails.tsx +26 -8
  83. package/src/anyspend/react/components/common/OrderDetailsCollapsible.tsx +20 -8
  84. package/src/anyspend/react/components/common/OrderStatus.tsx +2 -2
  85. package/src/anyspend/react/components/common/WarningText.tsx +52 -0
  86. package/src/anyspend/react/components/icons/CreditCardIcon.tsx +25 -0
  87. package/src/anyspend/react/components/icons/QrCodeIcon.tsx +25 -0
  88. package/src/anyspend/react/components/icons/credit-card.svg +5 -0
  89. package/src/anyspend/react/components/icons/qr-code.svg +5 -0
  90. package/src/anyspend/react/components/index.ts +2 -0
  91. package/src/anyspend/react/hooks/index.ts +1 -0
  92. package/src/anyspend/react/hooks/useAnyspendFlow.ts +37 -12
  93. package/src/anyspend/react/hooks/useCreateDepositFirstOrder.ts +110 -0
  94. package/src/anyspend/types/api.ts +67 -2
  95. package/src/anyspend/utils/format.ts +33 -5
  96. package/src/global-account/react/stores/useModalStore.ts +4 -0
  97. package/src/styles/index.css +2 -0
@@ -24,9 +24,9 @@ interface UseAnyspendFlowProps {
24
24
  destinationTokenChainId?: number;
25
25
  slippage?: number;
26
26
  disableUrlParamManagement?: boolean;
27
- orderType?: "hype_duel" | "custom_exact_in";
27
+ orderType?: "hype_duel" | "custom_exact_in" | "swap";
28
28
  }
29
- export declare function useAnyspendFlow({ paymentType, recipientAddress, loadOrder, isDepositMode, onOrderSuccess, onTransactionSuccess, sourceTokenAddress, sourceTokenChainId, destinationTokenAddress, destinationTokenChainId, slippage, disableUrlParamManagement, orderType, }: UseAnyspendFlowProps): {
29
+ export declare function useAnyspendFlow({ paymentType, recipientAddress, loadOrder, onOrderSuccess, onTransactionSuccess, sourceTokenAddress, sourceTokenChainId, destinationTokenAddress, destinationTokenChainId, slippage, disableUrlParamManagement, orderType, }: UseAnyspendFlowProps): {
30
30
  activePanel: PanelView;
31
31
  setActivePanel: import("react").Dispatch<import("react").SetStateAction<PanelView>>;
32
32
  orderId: string | undefined;
@@ -28,7 +28,7 @@ var PanelView;
28
28
  PanelView[PanelView["FEE_DETAIL"] = 7] = "FEE_DETAIL";
29
29
  })(PanelView || (exports.PanelView = PanelView = {}));
30
30
  // This hook serves for order hype_duel and custom_exact_in
31
- function useAnyspendFlow({ paymentType = "crypto", recipientAddress, loadOrder, isDepositMode = false, onOrderSuccess, onTransactionSuccess, sourceTokenAddress, sourceTokenChainId, destinationTokenAddress, destinationTokenChainId, slippage = 0, disableUrlParamManagement = false, orderType = "hype_duel", }) {
31
+ function useAnyspendFlow({ paymentType = "crypto", recipientAddress, loadOrder, onOrderSuccess, onTransactionSuccess, sourceTokenAddress, sourceTokenChainId, destinationTokenAddress, destinationTokenChainId, slippage = 0, disableUrlParamManagement = false, orderType = "hype_duel", }) {
32
32
  const searchParams = (0, react_2.useSearchParamsSSR)();
33
33
  const router = (0, react_2.useRouter)();
34
34
  // Panel and order state
@@ -135,16 +135,40 @@ function useAnyspendFlow({ paymentType = "crypto", recipientAddress, loadOrder,
135
135
  // For fiat payments, always use USDC decimals (6) regardless of selectedSrcToken
136
136
  const effectiveDecimals = paymentType === "fiat" ? anyspend_1.USDC_BASE.decimals : selectedSrcToken.decimals;
137
137
  const activeInputAmountInWei = (0, viem_1.parseUnits)(srcAmount.replace(/,/g, ""), effectiveDecimals).toString();
138
- const { anyspendQuote, isLoadingAnyspendQuote, getAnyspendQuoteError } = (0, react_1.useAnyspendQuote)({
139
- srcChain: paymentType === "fiat" ? chains_1.base.id : selectedSrcChainId,
140
- dstChain: isDepositMode ? chains_1.base.id : selectedDstChainId, // For deposits, always Base; for swaps, use selected destination
141
- srcTokenAddress: paymentType === "fiat" ? anyspend_1.USDC_BASE.address : selectedSrcToken.address,
142
- dstTokenAddress: selectedDstToken.address,
143
- type: orderType,
144
- amount: activeInputAmountInWei,
145
- recipientAddress: effectiveRecipientAddress,
146
- onrampVendor: paymentType === "fiat" ? getOnrampVendor(selectedFiatPaymentMethod) : undefined,
147
- });
138
+ // Build quote request based on order type
139
+ const quoteRequest = (() => {
140
+ const baseParams = {
141
+ srcChain: paymentType === "fiat" ? chains_1.base.id : selectedSrcChainId,
142
+ dstChain: selectedDstChainId ?? chains_1.base.id,
143
+ srcTokenAddress: paymentType === "fiat" ? anyspend_1.USDC_BASE.address : selectedSrcToken.address,
144
+ dstTokenAddress: selectedDstToken.address,
145
+ recipientAddress: effectiveRecipientAddress,
146
+ onrampVendor: paymentType === "fiat" ? getOnrampVendor(selectedFiatPaymentMethod) : undefined,
147
+ };
148
+ if (orderType === "swap") {
149
+ return {
150
+ ...baseParams,
151
+ type: "swap",
152
+ tradeType: "EXACT_INPUT",
153
+ amount: activeInputAmountInWei,
154
+ };
155
+ }
156
+ else if (orderType === "hype_duel") {
157
+ return {
158
+ ...baseParams,
159
+ type: "hype_duel",
160
+ amount: activeInputAmountInWei,
161
+ };
162
+ }
163
+ else {
164
+ return {
165
+ ...baseParams,
166
+ type: "custom_exact_in",
167
+ amount: activeInputAmountInWei,
168
+ };
169
+ }
170
+ })();
171
+ const { anyspendQuote, isLoadingAnyspendQuote, getAnyspendQuoteError } = (0, react_1.useAnyspendQuote)(quoteRequest);
148
172
  // Get geo options for fiat
149
173
  const { geoData, coinbaseAvailablePaymentMethods, stripeWeb2Support } = (0, react_1.useGeoOnrampOptions)(paymentType === "fiat" ? (0, number_1.formatUnits)(activeInputAmountInWei, anyspend_1.USDC_BASE.decimals) : "0");
150
174
  // Update destination amount when quote changes
@@ -8,7 +8,7 @@ export declare function useAnyspendOrderHistory(creatorAddress: string | undefin
8
8
  srcTokenAddress: string;
9
9
  dstTokenAddress: string;
10
10
  srcAmount: string;
11
- status: "scanning_deposit_transaction" | "waiting_stripe_payment" | "expired" | "sending_token_from_vault" | "relay" | "executing" | "executed" | "refunding" | "refunded" | "failure";
11
+ status: "scanning_deposit_transaction" | "waiting_stripe_payment" | "expired" | "sending_token_from_vault" | "quoting_after_deposit" | "relay" | "executing" | "executed" | "refunding" | "refunded" | "failure";
12
12
  errorDetails: string | null;
13
13
  createdAt: number;
14
14
  expiredAt: number;
@@ -38,7 +38,7 @@ export declare function useAnyspendOrderHistory(creatorAddress: string | undefin
38
38
  srcTokenAddress: string;
39
39
  dstTokenAddress: string;
40
40
  srcAmount: string;
41
- status: "scanning_deposit_transaction" | "waiting_stripe_payment" | "expired" | "sending_token_from_vault" | "relay" | "executing" | "executed" | "refunding" | "refunded" | "failure";
41
+ status: "scanning_deposit_transaction" | "waiting_stripe_payment" | "expired" | "sending_token_from_vault" | "quoting_after_deposit" | "relay" | "executing" | "executed" | "refunding" | "refunded" | "failure";
42
42
  errorDetails: string | null;
43
43
  createdAt: number;
44
44
  expiredAt: number;
@@ -68,7 +68,7 @@ export declare function useAnyspendOrderHistory(creatorAddress: string | undefin
68
68
  srcTokenAddress: string;
69
69
  dstTokenAddress: string;
70
70
  srcAmount: string;
71
- status: "scanning_deposit_transaction" | "waiting_stripe_payment" | "expired" | "sending_token_from_vault" | "relay" | "executing" | "executed" | "refunding" | "refunded" | "failure";
71
+ status: "scanning_deposit_transaction" | "waiting_stripe_payment" | "expired" | "sending_token_from_vault" | "quoting_after_deposit" | "relay" | "executing" | "executed" | "refunding" | "refunded" | "failure";
72
72
  errorDetails: string | null;
73
73
  createdAt: number;
74
74
  expiredAt: number;
@@ -98,7 +98,7 @@ export declare function useAnyspendOrderHistory(creatorAddress: string | undefin
98
98
  srcTokenAddress: string;
99
99
  dstTokenAddress: string;
100
100
  srcAmount: string;
101
- status: "scanning_deposit_transaction" | "waiting_stripe_payment" | "expired" | "sending_token_from_vault" | "relay" | "executing" | "executed" | "refunding" | "refunded" | "failure";
101
+ status: "scanning_deposit_transaction" | "waiting_stripe_payment" | "expired" | "sending_token_from_vault" | "quoting_after_deposit" | "relay" | "executing" | "executed" | "refunding" | "refunded" | "failure";
102
102
  errorDetails: string | null;
103
103
  createdAt: number;
104
104
  expiredAt: number;
@@ -128,7 +128,7 @@ export declare function useAnyspendOrderHistory(creatorAddress: string | undefin
128
128
  srcTokenAddress: string;
129
129
  dstTokenAddress: string;
130
130
  srcAmount: string;
131
- status: "scanning_deposit_transaction" | "waiting_stripe_payment" | "expired" | "sending_token_from_vault" | "relay" | "executing" | "executed" | "refunding" | "refunded" | "failure";
131
+ status: "scanning_deposit_transaction" | "waiting_stripe_payment" | "expired" | "sending_token_from_vault" | "quoting_after_deposit" | "relay" | "executing" | "executed" | "refunding" | "refunded" | "failure";
132
132
  errorDetails: string | null;
133
133
  createdAt: number;
134
134
  expiredAt: number;
@@ -158,7 +158,7 @@ export declare function useAnyspendOrderHistory(creatorAddress: string | undefin
158
158
  srcTokenAddress: string;
159
159
  dstTokenAddress: string;
160
160
  srcAmount: string;
161
- status: "scanning_deposit_transaction" | "waiting_stripe_payment" | "expired" | "sending_token_from_vault" | "relay" | "executing" | "executed" | "refunding" | "refunded" | "failure";
161
+ status: "scanning_deposit_transaction" | "waiting_stripe_payment" | "expired" | "sending_token_from_vault" | "quoting_after_deposit" | "relay" | "executing" | "executed" | "refunding" | "refunded" | "failure";
162
162
  errorDetails: string | null;
163
163
  createdAt: number;
164
164
  expiredAt: number;
@@ -188,7 +188,7 @@ export declare function useAnyspendOrderHistory(creatorAddress: string | undefin
188
188
  srcTokenAddress: string;
189
189
  dstTokenAddress: string;
190
190
  srcAmount: string;
191
- status: "scanning_deposit_transaction" | "waiting_stripe_payment" | "expired" | "sending_token_from_vault" | "relay" | "executing" | "executed" | "refunding" | "refunded" | "failure";
191
+ status: "scanning_deposit_transaction" | "waiting_stripe_payment" | "expired" | "sending_token_from_vault" | "quoting_after_deposit" | "relay" | "executing" | "executed" | "refunding" | "refunded" | "failure";
192
192
  errorDetails: string | null;
193
193
  createdAt: number;
194
194
  expiredAt: number;
@@ -218,7 +218,7 @@ export declare function useAnyspendOrderHistory(creatorAddress: string | undefin
218
218
  srcTokenAddress: string;
219
219
  dstTokenAddress: string;
220
220
  srcAmount: string;
221
- status: "scanning_deposit_transaction" | "waiting_stripe_payment" | "expired" | "sending_token_from_vault" | "relay" | "executing" | "executed" | "refunding" | "refunded" | "failure";
221
+ status: "scanning_deposit_transaction" | "waiting_stripe_payment" | "expired" | "sending_token_from_vault" | "quoting_after_deposit" | "relay" | "executing" | "executed" | "refunding" | "refunded" | "failure";
222
222
  errorDetails: string | null;
223
223
  createdAt: number;
224
224
  expiredAt: number;
@@ -239,6 +239,36 @@ export declare function useAnyspendOrderHistory(creatorAddress: string | undefin
239
239
  type: "fund_tournament";
240
240
  payload: import("../..").components["schemas"]["FundTournamentPayload"];
241
241
  metadata: import("../..").components["schemas"]["TournamentMetadata"];
242
+ }) | ({
243
+ id: string;
244
+ recipientAddress: string;
245
+ globalAddress: string;
246
+ srcChain: number;
247
+ dstChain: number;
248
+ srcTokenAddress: string;
249
+ dstTokenAddress: string;
250
+ srcAmount: string;
251
+ status: "scanning_deposit_transaction" | "waiting_stripe_payment" | "expired" | "sending_token_from_vault" | "quoting_after_deposit" | "relay" | "executing" | "executed" | "refunding" | "refunded" | "failure";
252
+ errorDetails: string | null;
253
+ createdAt: number;
254
+ expiredAt: number;
255
+ filledAt: number | null;
256
+ receivedDepositAt: number | null;
257
+ creatorAddress: string | null;
258
+ partnerId: string | null;
259
+ clientReferenceId?: string | null;
260
+ onrampMetadata: import("../..").components["schemas"]["OnrampMetadata"] | null;
261
+ oneClickBuyUrl: string | null;
262
+ stripePaymentIntentId: string | null;
263
+ settlement: {
264
+ actualDstAmount?: string;
265
+ relay?: Record<string, never>;
266
+ } | null;
267
+ fee?: Omit<import("../..").components["schemas"]["Fee"], "type"> | null;
268
+ } & {
269
+ type: "deposit_first";
270
+ payload: import("../..").components["schemas"]["DepositFirstPayload"];
271
+ metadata: import("../..").components["schemas"]["DepositFirstMetadata"];
242
272
  }))[];
243
273
  isLoadingOrderHistory: boolean;
244
274
  getOrderHistoryError: Error | null;
@@ -251,7 +281,7 @@ export declare function useAnyspendOrderHistory(creatorAddress: string | undefin
251
281
  srcTokenAddress: string;
252
282
  dstTokenAddress: string;
253
283
  srcAmount: string;
254
- status: "scanning_deposit_transaction" | "waiting_stripe_payment" | "expired" | "sending_token_from_vault" | "relay" | "executing" | "executed" | "refunding" | "refunded" | "failure";
284
+ status: "scanning_deposit_transaction" | "waiting_stripe_payment" | "expired" | "sending_token_from_vault" | "quoting_after_deposit" | "relay" | "executing" | "executed" | "refunding" | "refunded" | "failure";
255
285
  errorDetails: string | null;
256
286
  createdAt: number;
257
287
  expiredAt: number;
@@ -281,7 +311,7 @@ export declare function useAnyspendOrderHistory(creatorAddress: string | undefin
281
311
  srcTokenAddress: string;
282
312
  dstTokenAddress: string;
283
313
  srcAmount: string;
284
- status: "scanning_deposit_transaction" | "waiting_stripe_payment" | "expired" | "sending_token_from_vault" | "relay" | "executing" | "executed" | "refunding" | "refunded" | "failure";
314
+ status: "scanning_deposit_transaction" | "waiting_stripe_payment" | "expired" | "sending_token_from_vault" | "quoting_after_deposit" | "relay" | "executing" | "executed" | "refunding" | "refunded" | "failure";
285
315
  errorDetails: string | null;
286
316
  createdAt: number;
287
317
  expiredAt: number;
@@ -311,7 +341,7 @@ export declare function useAnyspendOrderHistory(creatorAddress: string | undefin
311
341
  srcTokenAddress: string;
312
342
  dstTokenAddress: string;
313
343
  srcAmount: string;
314
- status: "scanning_deposit_transaction" | "waiting_stripe_payment" | "expired" | "sending_token_from_vault" | "relay" | "executing" | "executed" | "refunding" | "refunded" | "failure";
344
+ status: "scanning_deposit_transaction" | "waiting_stripe_payment" | "expired" | "sending_token_from_vault" | "quoting_after_deposit" | "relay" | "executing" | "executed" | "refunding" | "refunded" | "failure";
315
345
  errorDetails: string | null;
316
346
  createdAt: number;
317
347
  expiredAt: number;
@@ -341,7 +371,7 @@ export declare function useAnyspendOrderHistory(creatorAddress: string | undefin
341
371
  srcTokenAddress: string;
342
372
  dstTokenAddress: string;
343
373
  srcAmount: string;
344
- status: "scanning_deposit_transaction" | "waiting_stripe_payment" | "expired" | "sending_token_from_vault" | "relay" | "executing" | "executed" | "refunding" | "refunded" | "failure";
374
+ status: "scanning_deposit_transaction" | "waiting_stripe_payment" | "expired" | "sending_token_from_vault" | "quoting_after_deposit" | "relay" | "executing" | "executed" | "refunding" | "refunded" | "failure";
345
375
  errorDetails: string | null;
346
376
  createdAt: number;
347
377
  expiredAt: number;
@@ -371,7 +401,7 @@ export declare function useAnyspendOrderHistory(creatorAddress: string | undefin
371
401
  srcTokenAddress: string;
372
402
  dstTokenAddress: string;
373
403
  srcAmount: string;
374
- status: "scanning_deposit_transaction" | "waiting_stripe_payment" | "expired" | "sending_token_from_vault" | "relay" | "executing" | "executed" | "refunding" | "refunded" | "failure";
404
+ status: "scanning_deposit_transaction" | "waiting_stripe_payment" | "expired" | "sending_token_from_vault" | "quoting_after_deposit" | "relay" | "executing" | "executed" | "refunding" | "refunded" | "failure";
375
405
  errorDetails: string | null;
376
406
  createdAt: number;
377
407
  expiredAt: number;
@@ -401,7 +431,7 @@ export declare function useAnyspendOrderHistory(creatorAddress: string | undefin
401
431
  srcTokenAddress: string;
402
432
  dstTokenAddress: string;
403
433
  srcAmount: string;
404
- status: "scanning_deposit_transaction" | "waiting_stripe_payment" | "expired" | "sending_token_from_vault" | "relay" | "executing" | "executed" | "refunding" | "refunded" | "failure";
434
+ status: "scanning_deposit_transaction" | "waiting_stripe_payment" | "expired" | "sending_token_from_vault" | "quoting_after_deposit" | "relay" | "executing" | "executed" | "refunding" | "refunded" | "failure";
405
435
  errorDetails: string | null;
406
436
  createdAt: number;
407
437
  expiredAt: number;
@@ -431,7 +461,7 @@ export declare function useAnyspendOrderHistory(creatorAddress: string | undefin
431
461
  srcTokenAddress: string;
432
462
  dstTokenAddress: string;
433
463
  srcAmount: string;
434
- status: "scanning_deposit_transaction" | "waiting_stripe_payment" | "expired" | "sending_token_from_vault" | "relay" | "executing" | "executed" | "refunding" | "refunded" | "failure";
464
+ status: "scanning_deposit_transaction" | "waiting_stripe_payment" | "expired" | "sending_token_from_vault" | "quoting_after_deposit" | "relay" | "executing" | "executed" | "refunding" | "refunded" | "failure";
435
465
  errorDetails: string | null;
436
466
  createdAt: number;
437
467
  expiredAt: number;
@@ -461,7 +491,7 @@ export declare function useAnyspendOrderHistory(creatorAddress: string | undefin
461
491
  srcTokenAddress: string;
462
492
  dstTokenAddress: string;
463
493
  srcAmount: string;
464
- status: "scanning_deposit_transaction" | "waiting_stripe_payment" | "expired" | "sending_token_from_vault" | "relay" | "executing" | "executed" | "refunding" | "refunded" | "failure";
494
+ status: "scanning_deposit_transaction" | "waiting_stripe_payment" | "expired" | "sending_token_from_vault" | "quoting_after_deposit" | "relay" | "executing" | "executed" | "refunding" | "refunded" | "failure";
465
495
  errorDetails: string | null;
466
496
  createdAt: number;
467
497
  expiredAt: number;
@@ -482,5 +512,35 @@ export declare function useAnyspendOrderHistory(creatorAddress: string | undefin
482
512
  type: "fund_tournament";
483
513
  payload: import("../..").components["schemas"]["FundTournamentPayload"];
484
514
  metadata: import("../..").components["schemas"]["TournamentMetadata"];
515
+ }) | ({
516
+ id: string;
517
+ recipientAddress: string;
518
+ globalAddress: string;
519
+ srcChain: number;
520
+ dstChain: number;
521
+ srcTokenAddress: string;
522
+ dstTokenAddress: string;
523
+ srcAmount: string;
524
+ status: "scanning_deposit_transaction" | "waiting_stripe_payment" | "expired" | "sending_token_from_vault" | "quoting_after_deposit" | "relay" | "executing" | "executed" | "refunding" | "refunded" | "failure";
525
+ errorDetails: string | null;
526
+ createdAt: number;
527
+ expiredAt: number;
528
+ filledAt: number | null;
529
+ receivedDepositAt: number | null;
530
+ creatorAddress: string | null;
531
+ partnerId: string | null;
532
+ clientReferenceId?: string | null;
533
+ onrampMetadata: import("../..").components["schemas"]["OnrampMetadata"] | null;
534
+ oneClickBuyUrl: string | null;
535
+ stripePaymentIntentId: string | null;
536
+ settlement: {
537
+ actualDstAmount?: string;
538
+ relay?: Record<string, never>;
539
+ } | null;
540
+ fee?: Omit<import("../..").components["schemas"]["Fee"], "type"> | null;
541
+ } & {
542
+ type: "deposit_first";
543
+ payload: import("../..").components["schemas"]["DepositFirstPayload"];
544
+ metadata: import("../..").components["schemas"]["DepositFirstMetadata"];
485
545
  }))[], Error>>;
486
546
  };
@@ -0,0 +1,24 @@
1
+ import { components } from "../../../anyspend/types/api";
2
+ import { DepositContractConfig } from "../components/AnySpendDeposit";
3
+ export type CreateDepositFirstOrderParams = {
4
+ recipientAddress: string;
5
+ srcChain: number;
6
+ dstChain: number;
7
+ srcToken: components["schemas"]["Token"];
8
+ dstToken: components["schemas"]["Token"];
9
+ creatorAddress?: string;
10
+ /** Optional contract config for custom execution after deposit */
11
+ contractConfig?: DepositContractConfig;
12
+ };
13
+ export type UseCreateDepositFirstOrderProps = {
14
+ onSuccess?: (data: any) => void;
15
+ onError?: (error: Error) => void;
16
+ };
17
+ /**
18
+ * Hook for creating deposit_first orders in the Anyspend protocol.
19
+ * This order type doesn't require srcAmount - the user deposits tokens after the order is created.
20
+ */
21
+ export declare function useCreateDepositFirstOrder({ onSuccess, onError }?: UseCreateDepositFirstOrderProps): {
22
+ createOrder: import("@tanstack/react-query").UseMutateFunction<any, Error, CreateDepositFirstOrderParams, unknown>;
23
+ isCreatingOrder: boolean;
24
+ };
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useCreateDepositFirstOrder = useCreateDepositFirstOrder;
4
+ const anyspend_1 = require("../../../anyspend/services/anyspend");
5
+ const utils_1 = require("../../../anyspend/utils");
6
+ const react_1 = require("../../../global-account/react");
7
+ const fingerprintjs_pro_react_1 = require("@fingerprintjs/fingerprintjs-pro-react");
8
+ const react_query_1 = require("@tanstack/react-query");
9
+ const react_2 = require("react");
10
+ /**
11
+ * Hook for creating deposit_first orders in the Anyspend protocol.
12
+ * This order type doesn't require srcAmount - the user deposits tokens after the order is created.
13
+ */
14
+ function useCreateDepositFirstOrder({ onSuccess, onError } = {}) {
15
+ const { partnerId } = (0, react_1.useB3)();
16
+ const { data: fpData } = (0, fingerprintjs_pro_react_1.useVisitorData)({ extendedResult: true }, { immediate: true });
17
+ const visitorData = fpData && {
18
+ requestId: fpData.requestId,
19
+ visitorId: fpData.visitorId,
20
+ };
21
+ const { mutate: createOrder, isPending } = (0, react_query_1.useMutation)({
22
+ mutationFn: async (params) => {
23
+ const { recipientAddress, srcChain, dstChain, srcToken, dstToken, creatorAddress, contractConfig } = params;
24
+ // Build payload based on whether we have a contract config
25
+ const payload = contractConfig
26
+ ? {
27
+ functionAbi: contractConfig.functionAbi,
28
+ functionName: contractConfig.functionName,
29
+ functionArgs: contractConfig.functionArgs,
30
+ to: (0, utils_1.normalizeAddress)(contractConfig.to),
31
+ spenderAddress: contractConfig.spenderAddress ? (0, utils_1.normalizeAddress)(contractConfig.spenderAddress) : undefined,
32
+ action: contractConfig.action,
33
+ }
34
+ : {};
35
+ try {
36
+ return await anyspend_1.anyspendService.createOrder({
37
+ recipientAddress: (0, utils_1.normalizeAddress)(recipientAddress),
38
+ type: "deposit_first",
39
+ srcChain,
40
+ dstChain,
41
+ srcTokenAddress: (0, utils_1.normalizeAddress)(srcToken.address),
42
+ dstTokenAddress: (0, utils_1.normalizeAddress)(dstToken.address),
43
+ srcAmount: "", // Not required for deposit_first
44
+ payload,
45
+ metadata: {
46
+ srcToken: {
47
+ chainId: srcToken.chainId,
48
+ address: srcToken.address,
49
+ symbol: srcToken.symbol,
50
+ name: srcToken.name,
51
+ decimals: srcToken.decimals,
52
+ metadata: srcToken.metadata || {},
53
+ },
54
+ dstToken: {
55
+ chainId: dstToken.chainId,
56
+ address: dstToken.address,
57
+ symbol: dstToken.symbol,
58
+ name: dstToken.name,
59
+ decimals: dstToken.decimals,
60
+ metadata: dstToken.metadata || {},
61
+ },
62
+ },
63
+ creatorAddress: creatorAddress ? (0, utils_1.normalizeAddress)(creatorAddress) : undefined,
64
+ partnerId,
65
+ visitorData,
66
+ });
67
+ }
68
+ catch (error) {
69
+ if (error?.data) {
70
+ throw error.data;
71
+ }
72
+ throw error;
73
+ }
74
+ },
75
+ onSuccess: (data) => {
76
+ onSuccess?.(data);
77
+ },
78
+ onError: (error) => {
79
+ onError?.(error);
80
+ },
81
+ });
82
+ return (0, react_2.useMemo)(() => ({
83
+ createOrder,
84
+ isCreatingOrder: isPending,
85
+ }), [createOrder, isPending]);
86
+ }
@@ -1952,6 +1952,15 @@ export interface components {
1952
1952
  */
1953
1953
  fundAmount: string;
1954
1954
  };
1955
+ /** @description DepositFirst payload - empty at creation time, details determined after deposit is detected */
1956
+ DepositFirstPayload: Record<string, never>;
1957
+ /** @description DepositFirst metadata for display purposes */
1958
+ DepositFirstMetadata: {
1959
+ /** @description Token accepted for deposit */
1960
+ srcToken: components["schemas"]["Token"];
1961
+ /** @description Token to swap to after deposit */
1962
+ dstToken: components["schemas"]["Token"];
1963
+ };
1955
1964
  /** @description Swap metadata for display purposes */
1956
1965
  SwapMetadata: {
1957
1966
  srcToken: components["schemas"]["Token"];
@@ -2037,7 +2046,7 @@ export interface components {
2037
2046
  * @example executed
2038
2047
  * @enum {string}
2039
2048
  */
2040
- status: "scanning_deposit_transaction" | "waiting_stripe_payment" | "expired" | "sending_token_from_vault" | "relay" | "executing" | "executed" | "refunding" | "refunded" | "failure";
2049
+ status: "scanning_deposit_transaction" | "waiting_stripe_payment" | "expired" | "sending_token_from_vault" | "quoting_after_deposit" | "relay" | "executing" | "executed" | "refunding" | "refunded" | "failure";
2041
2050
  /** @description Error details if order failed */
2042
2051
  errorDetails: string | null;
2043
2052
  /**
@@ -2167,7 +2176,16 @@ export interface components {
2167
2176
  payload: components["schemas"]["FundTournamentPayload"];
2168
2177
  metadata: components["schemas"]["TournamentMetadata"];
2169
2178
  };
2170
- Order: components["schemas"]["SwapOrder"] | components["schemas"]["X402SwapOrder"] | components["schemas"]["HypeDuelOrder"] | components["schemas"]["CustomOrder"] | components["schemas"]["CustomExactInOrder"] | components["schemas"]["MintNftOrder"] | components["schemas"]["JoinTournamentOrder"] | components["schemas"]["FundTournamentOrder"];
2179
+ DepositFirstOrder: components["schemas"]["BaseOrder"] & {
2180
+ /**
2181
+ * @description Order type for deposit-first flow where amount is determined after deposit
2182
+ * @enum {string}
2183
+ */
2184
+ type: "deposit_first";
2185
+ payload: components["schemas"]["DepositFirstPayload"];
2186
+ metadata: components["schemas"]["DepositFirstMetadata"];
2187
+ };
2188
+ Order: components["schemas"]["SwapOrder"] | components["schemas"]["X402SwapOrder"] | components["schemas"]["HypeDuelOrder"] | components["schemas"]["CustomOrder"] | components["schemas"]["CustomExactInOrder"] | components["schemas"]["MintNftOrder"] | components["schemas"]["JoinTournamentOrder"] | components["schemas"]["FundTournamentOrder"] | components["schemas"]["DepositFirstOrder"];
2171
2189
  /** @description Swap order request */
2172
2190
  SwapOrderRequest: {
2173
2191
  /**
@@ -2568,7 +2586,51 @@ export interface components {
2568
2586
  */
2569
2587
  creatorAddress?: string;
2570
2588
  };
2571
- OrderRequest: components["schemas"]["SwapOrderRequest"] | components["schemas"]["X402SwapOrderRequest"] | components["schemas"]["HypeDuelOrderRequest"] | components["schemas"]["CustomOrderRequest"] | components["schemas"]["CustomExactInOrderRequest"] | components["schemas"]["MintNftOrderRequest"] | components["schemas"]["JoinTournamentOrderRequest"] | components["schemas"]["FundTournamentOrderRequest"];
2589
+ /** @description Deposit-first order request. The srcAmount is determined after deposit is detected, so it is not required at creation time. This flow does not support onramp - users deposit crypto directly. */
2590
+ DepositFirstOrderRequest: {
2591
+ /**
2592
+ * @description Order type for deposit-first flow
2593
+ * @enum {string}
2594
+ */
2595
+ type: "deposit_first";
2596
+ /**
2597
+ * @description Address to receive the destination tokens after swap
2598
+ * @example 0x58241893EF1f86C9fBd8109Cd44Ea961fDb474e1
2599
+ */
2600
+ recipientAddress: string;
2601
+ /**
2602
+ * @description Source chain ID where deposit will be made
2603
+ * @example 8453
2604
+ */
2605
+ srcChain: number;
2606
+ /**
2607
+ * @description Destination chain ID for the swap
2608
+ * @example 8453
2609
+ */
2610
+ dstChain: number;
2611
+ /**
2612
+ * @description Token contract address that will be deposited
2613
+ * @example 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913
2614
+ */
2615
+ srcTokenAddress: string;
2616
+ /**
2617
+ * @description Token contract address to receive after swap
2618
+ * @example 0x0000000000000000000000000000000000000000
2619
+ */
2620
+ dstTokenAddress: string;
2621
+ payload: components["schemas"]["DepositFirstPayload"];
2622
+ metadata: components["schemas"]["DepositFirstMetadata"];
2623
+ /** @description Optional partner identifier */
2624
+ partnerId?: string;
2625
+ /** @description Optional client reference identifier for tracking purposes (alphanumeric, hyphens, and underscores only, max 255 chars) */
2626
+ clientReferenceId?: string;
2627
+ /**
2628
+ * @description Optional address of the order creator
2629
+ * @example 0x58241893EF1f86C9fBd8109Cd44Ea961fDb474e1
2630
+ */
2631
+ creatorAddress?: string;
2632
+ };
2633
+ OrderRequest: components["schemas"]["SwapOrderRequest"] | components["schemas"]["X402SwapOrderRequest"] | components["schemas"]["HypeDuelOrderRequest"] | components["schemas"]["CustomOrderRequest"] | components["schemas"]["CustomExactInOrderRequest"] | components["schemas"]["MintNftOrderRequest"] | components["schemas"]["JoinTournamentOrderRequest"] | components["schemas"]["FundTournamentOrderRequest"] | components["schemas"]["DepositFirstOrderRequest"];
2572
2634
  /** @description Deposit transaction (payment from user) */
2573
2635
  DepositTx: {
2574
2636
  /**
@@ -1,13 +1,25 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getErrorDisplay = exports.getStatusDisplay = void 0;
4
+ const number_1 = require("../../shared/utils/number");
4
5
  const getStatusDisplay = (order) => {
6
+ const srcToken = order.metadata?.srcToken;
7
+ const dstToken = order.metadata?.dstToken;
8
+ const formattedSrcAmount = srcToken ? (0, number_1.formatTokenAmount)(BigInt(order.srcAmount), srcToken.decimals) : undefined;
9
+ const actualDstAmount = order.settlement?.actualDstAmount;
10
+ const formattedActualDstAmount = actualDstAmount && dstToken ? (0, number_1.formatTokenAmount)(BigInt(actualDstAmount), dstToken.decimals) : undefined;
5
11
  switch (order.status) {
6
- case "scanning_deposit_transaction":
12
+ case "scanning_deposit_transaction": {
13
+ const depositText = formattedSrcAmount && srcToken
14
+ ? `Awaiting ${formattedSrcAmount} ${srcToken.symbol}`
15
+ : order.onrampMetadata
16
+ ? "Awaiting Payment"
17
+ : "Awaiting Deposit";
7
18
  return {
8
- text: order.onrampMetadata ? "Awaiting Payment" : "Awaiting Deposit",
19
+ text: depositText,
9
20
  status: "processing",
10
21
  };
22
+ }
11
23
  case "waiting_stripe_payment":
12
24
  return {
13
25
  text: "Awaiting Payment",
@@ -30,15 +42,16 @@ const getStatusDisplay = (order) => {
30
42
  description: "It will take approximately one minute to complete.",
31
43
  };
32
44
  case "executed": {
45
+ const receivedText = formattedActualDstAmount && dstToken ? `Received ${formattedActualDstAmount} ${dstToken.symbol}` : undefined;
33
46
  const { text, description } = order.type === "swap"
34
- ? { text: "Swap Complete", description: "Your swap has been completed successfully." }
47
+ ? { text: receivedText || "Swap Complete", description: "Your swap has been completed successfully." }
35
48
  : order.type === "mint_nft"
36
49
  ? { text: "NFT Minted", description: "Your NFT has been minted" }
37
50
  : order.type === "join_tournament"
38
51
  ? { text: "Tournament Joined", description: "You have joined the tournament" }
39
52
  : order.type === "fund_tournament"
40
53
  ? { text: "Tournament Funded", description: "You have funded the tournament" }
41
- : { text: "Order Complete", description: "Your order has been completed" };
54
+ : { text: receivedText || "Order Complete", description: "Your order has been completed" };
42
55
  return { text, status: "success", description };
43
56
  }
44
57
  case "refunding":
@@ -51,8 +64,18 @@ const getStatusDisplay = (order) => {
51
64
  status: "failure",
52
65
  description: "This order has failed. Please try again or contact support.",
53
66
  };
67
+ case "quoting_after_deposit": {
68
+ return {
69
+ text: "Quoting After Deposit",
70
+ status: "processing",
71
+ description: "Getting quote for the order",
72
+ };
73
+ }
54
74
  default:
55
- throw new Error("Invalid order status");
75
+ return {
76
+ text: order.status,
77
+ status: "processing",
78
+ };
56
79
  }
57
80
  };
58
81
  exports.getStatusDisplay = getStatusDisplay;
@@ -144,6 +144,10 @@ export interface AnySpendModalProps extends BaseModalProps {
144
144
  customUsdInputValues?: string[];
145
145
  /** Client-provided reference ID for tracking orders */
146
146
  clientReferenceId?: string;
147
+ /** Whether to hide the header */
148
+ hideHeader?: boolean;
149
+ /** When true, disables URL parameter management for swap configuration */
150
+ disableUrlParamManagement?: boolean;
147
151
  }
148
152
  /**
149
153
  * Props for the AnySpend NFT modal
@@ -20,6 +20,7 @@ export declare enum PanelView {
20
20
  export declare function AnySpend(props: {
21
21
  mode?: "page" | "modal";
22
22
  defaultActiveTab?: "crypto" | "fiat";
23
+ sourceChainId?: number;
23
24
  destinationTokenAddress?: string;
24
25
  destinationTokenChainId?: number;
25
26
  recipientAddress?: string;
@@ -34,4 +35,8 @@ export declare function AnySpend(props: {
34
35
  }) => void;
35
36
  onSuccess?: (txHash?: string) => void;
36
37
  customUsdInputValues?: string[];
38
+ hideHeader?: boolean;
39
+ hideBottomNavigation?: boolean;
40
+ /** When true, disables URL parameter management for swap configuration */
41
+ disableUrlParamManagement?: boolean;
37
42
  }): import("react/jsx-runtime").JSX.Element;