@funkit/connect 9.27.0 → 9.28.0
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/CHANGELOG.md +59 -0
- package/dist/clients/{chunk-4IWQ2UT5.js → chunk-4O4YAFYK.js} +69 -7
- package/dist/clients/{chunk-O5CTDT3L.js → chunk-7LKK5QMZ.js} +1 -1
- package/dist/clients/{chunk-VT3ERWXE.js → chunk-CGHPNWIF.js} +1 -1
- package/dist/clients/{chunk-F4SCUKY6.js → chunk-TQVRP3Z2.js} +10 -6
- package/dist/clients/lighter.css +7 -1
- package/dist/clients/lighter.js +2 -2
- package/dist/clients/polymarket/PolymarketDepositAccountDropdown.css +7 -1
- package/dist/clients/polymarket/PolymarketDepositAccountDropdown.js +5 -6
- package/dist/clients/polymarket/createPolymarketDepositConfig.js +2 -2
- package/dist/clients/polymarket/index.css +7 -1
- package/dist/clients/polymarket/index.js +5 -6
- package/dist/clients/polymarket/polymarket.js +1 -1
- package/dist/components/BitcoinLightningBanner/BitcoinLightningBanner.d.ts +12 -0
- package/dist/domains/clientMetadata.d.ts +2 -3
- package/dist/domains/quoteMode/types.d.ts +0 -1
- package/dist/hooks/queries/useRecentDeposits.d.ts +1 -1
- package/dist/hooks/useInjectedAssetHoldings.d.ts +10 -13
- package/dist/hooks/usePaymentSources.d.ts +1 -1
- package/dist/hooks/useStartBitcoinLightning.d.ts +11 -0
- package/dist/hooks/useXstockAssetHoldings.d.ts +3 -1
- package/dist/index.css +7 -1
- package/dist/index.js +659 -770
- package/dist/modals/CheckoutModal/InputAmount/state.d.ts +4 -9
- package/dist/modals/CheckoutModal/TransferToken/DirectExecutionNotification.d.ts +1 -3
- package/dist/modals/CheckoutModal/TransferToken/TransferToken.d.ts +1 -1
- package/dist/modals/PolymarketPerpsTransfer/PolymarketPerpsTransferScreen.d.ts +1 -1
- package/dist/modals/WithdrawalModal/LighterWithdrawal.d.ts +6 -0
- package/dist/providers/FunkitCheckoutContext/types.d.ts +0 -2
- package/dist/utils/checkout.d.ts +0 -10
- package/dist/utils/withdrawal.d.ts +12 -0
- package/dist/wallets/walletConnectors/bifrostWallet/bifrostWallet.js +2 -2
- package/dist/wallets/walletConnectors/bitgetWallet/bitgetWallet.js +2 -2
- package/dist/wallets/walletConnectors/bybitWallet/bybitWallet.js +2 -2
- package/dist/wallets/walletConnectors/clvWallet/clvWallet.js +2 -2
- package/dist/wallets/walletConnectors/coin98Wallet/coin98Wallet.js +2 -2
- package/dist/wallets/walletConnectors/coreWallet/coreWallet.js +2 -2
- package/dist/wallets/walletConnectors/foxWallet/foxWallet.js +2 -2
- package/dist/wallets/walletConnectors/frontierWallet/frontierWallet.js +2 -2
- package/dist/wallets/walletConnectors/gateWallet/gateWallet.js +2 -2
- package/dist/wallets/walletConnectors/index.js +51 -51
- package/dist/wallets/walletConnectors/metaMaskWallet/metaMaskWallet.js +2 -2
- package/dist/wallets/walletConnectors/okxWallet/okxWallet.js +2 -2
- package/dist/wallets/walletConnectors/rainbowWallet/rainbowWallet.js +2 -2
- package/dist/wallets/walletConnectors/roninWallet/roninWallet.js +2 -2
- package/dist/wallets/walletConnectors/safepalWallet/safepalWallet.js +2 -2
- package/dist/wallets/walletConnectors/subWallet/subWallet.js +2 -2
- package/dist/wallets/walletConnectors/tokenPocketWallet/tokenPocketWallet.js +2 -2
- package/dist/wallets/walletConnectors/trustWallet/trustWallet.js +2 -2
- package/dist/wallets/walletConnectors/zerionWallet/zerionWallet.js +2 -2
- package/package.json +5 -5
- package/dist/clients/chunk-ZEXZQOAO.js +0 -96
- package/dist/clients/polymarket/usePolymarketAccountBalances.js +0 -12
- package/dist/{clients/polymarket → hooks}/usePolymarketAccountBalances.d.ts +0 -0
- package/dist/wallets/walletConnectors/{chunk-W2LCLDPX.js → chunk-2VP2F6EK.js} +3 -3
- package/dist/wallets/walletConnectors/{chunk-IULPZP2Q.js → chunk-4T6ZSRJF.js} +3 -3
- package/dist/wallets/walletConnectors/{chunk-WAHGI5L7.js → chunk-6BW3HLBG.js} +3 -3
- package/dist/wallets/walletConnectors/{chunk-YO2K4MBH.js → chunk-CCQV2ZET.js} +3 -3
- package/dist/wallets/walletConnectors/{chunk-TKB2OY6G.js → chunk-CPI4TD43.js} +3 -3
- package/dist/wallets/walletConnectors/{chunk-OX37G4YT.js → chunk-F5XEEVG6.js} +3 -3
- package/dist/wallets/walletConnectors/{chunk-JPN6TWIT.js → chunk-HNRB7KJU.js} +3 -3
- package/dist/wallets/walletConnectors/{chunk-WKNQMP4A.js → chunk-HTHAK6XB.js} +3 -3
- package/dist/wallets/walletConnectors/{chunk-GUQM4QSL.js → chunk-MIQTHJ6X.js} +3 -3
- package/dist/wallets/walletConnectors/{chunk-4NV5BYRP.js → chunk-RB3HR4R2.js} +3 -3
- package/dist/wallets/walletConnectors/{chunk-SWFF3TWJ.js → chunk-RVOY537T.js} +3 -3
- package/dist/wallets/walletConnectors/{chunk-KI5Y2BBF.js → chunk-STVVP43G.js} +3 -3
- package/dist/wallets/walletConnectors/{chunk-OEEGYENV.js → chunk-UK7C2JXW.js} +3 -3
- package/dist/wallets/walletConnectors/{chunk-YQFGVZGR.js → chunk-VAPGUPHO.js} +3 -3
- package/dist/wallets/walletConnectors/{chunk-XCNHV3HS.js → chunk-VTM6EECM.js} +3 -3
- package/dist/wallets/walletConnectors/{chunk-NR2OGDHQ.js → chunk-X6CGV36L.js} +3 -3
- package/dist/wallets/walletConnectors/{chunk-AVDUNQUW.js → chunk-YEZM4CK4.js} +3 -3
- package/dist/wallets/walletConnectors/{chunk-KCRO2AGO.js → chunk-ZNX4EMPB.js} +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,64 @@
|
|
|
1
1
|
# @funkit/connect
|
|
2
2
|
|
|
3
|
+
## 9.28.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- c3d2458: Remove the vault deposit feature: dropped `finalizedToken` from `FunkitCheckoutConfig`, `finalizedTokenRate` from `DynamicTargetAssetCandidate`, and all associated UI/quote branches (`isVaultDepositCheckout`, `computeDisplayDestinationToken`). The only consumer (HyperBeat) was removed in March 2026 and no active integrators reference these fields, so this is shipped as `minor` rather than `major`.
|
|
8
|
+
- cb77d5c: feat(withdrawal): config-first default chain for withdrawal only
|
|
9
|
+
|
|
10
|
+
`useTokenAndChainDropdown` resolves the default chain config-first when `isWithdrawal` is set: a `withdrawalconfig` chain marked `isDefault` beats the caller-supplied source chain. Deposit/transfer stay caller-first, so a deep-linked `udaParams.defaultChainId` still wins over the deposit config's `isDefault`.
|
|
11
|
+
|
|
12
|
+
- 99812aa: feat(withdrawal): resolve token addresses from config, drop the per-symbol API lookup
|
|
13
|
+
|
|
14
|
+
The withdrawal screen no longer resolves token addresses with a `getAssetErc20ByChainAndSymbol` round-trip; the addresses already live in config.
|
|
15
|
+
|
|
16
|
+
- `@funkit/connect-core`: `resolveTokenTransferConfig` adds `addressBySymbolByChainId` (`chainId → symbol/alias → original-case address`), preserving casing (checksummed EVM, base58 Solana/Tron).
|
|
17
|
+
- `@funkit/connect`: `WithdrawalContent` reads the destination address from that map and the Lighter Secure source address from a hardcoded map in `LighterWithdrawal.tsx`, pricing both via `useAssetAddressPrice`. Removes all `useAssetSymbolPrice` usage from the withdrawal flow (hooks left for a follow-up cleanup).
|
|
18
|
+
- `@funkit/connect-rn`: test-only fixture update.
|
|
19
|
+
|
|
20
|
+
### Patch Changes
|
|
21
|
+
|
|
22
|
+
- 4bd782b: chore(connect): update btc lightning wording / icons
|
|
23
|
+
- a395c4c: chore: retire the `faster-notifications` flag now that it is fully rolled out
|
|
24
|
+
|
|
25
|
+
The gate is treated as permanently on and every branch collapses to its enabled path:
|
|
26
|
+
|
|
27
|
+
- `@funkit/api-base`: `getDirectExecutionsByUserId` always calls `/direct-execution/userId/{userId}/deposit-events`; the `isFasterNotificationsEnabled` field is removed from `GetDirectExecutionsByUserIdRequest`.
|
|
28
|
+
- `@funkit/connect-core`: `RecentDepositsApiQueryParams` drops the `isFasterNotificationsEnabled` field.
|
|
29
|
+
- `@funkit/connect`: deposit notifications always use the faster copy; removes the gate read and the dead Lighter/legacy notification branches.
|
|
30
|
+
|
|
31
|
+
- 21bdcd2: fix(connect): fix FunInput input text falling back to the UA-default font on hosts without a form-control CSS reset
|
|
32
|
+
- b8a7aaa: feat(connect): add BTC Lightning banner in Transfer Crypto step
|
|
33
|
+
- 043781a: Move `usePolymarketAccountBalances` from `~/clients/polymarket/` to `~/hooks/` so main-bundle code no longer imports from a customer-scoped entry point. Internal-only — not a public export.
|
|
34
|
+
- ce05191: rename `isTokenAddressEquivalent` → `isEVMAddressEquivalent`
|
|
35
|
+
|
|
36
|
+
The helper does a case-insensitive equality check on two EVM addresses; the new name reflects that it compares wallet/contract addresses generally, not just token addresses. **Migration:** replace `isTokenAddressEquivalent(...)` with `isEVMAddressEquivalent(...)` — the signature is unchanged. `@funkit/connect` and `@funkit/connect-core` are call-site updates only (no API change).
|
|
37
|
+
|
|
38
|
+
- 202c15b: Add `USDG` to the `stablecoinsymbols` dynamic-config fallback. `useIsStablecoin` substring-matches against this list, so USDG now displays 1:1 (price forced to `1`) on the quote input / confirmation screens regardless of its live market price. The Statsig source-of-truth config was updated first; this regenerates only the `stablecoinsymbols` fallback entry.
|
|
39
|
+
- 6f67939: Add unit test coverage for the withdrawal recipient address validators (per chain family). Test-only; no runtime change.
|
|
40
|
+
- 736141a: Add unit test coverage for the hasRisk Chainalysis screening decision logic. Test-only; no runtime change.
|
|
41
|
+
- 7cfc267: fix(withdrawal): block same-address self-transfers before quoting
|
|
42
|
+
- Updated dependencies [a395c4c]
|
|
43
|
+
- Updated dependencies [c3d2458]
|
|
44
|
+
- Updated dependencies [ce05191]
|
|
45
|
+
- Updated dependencies [b8a7aaa]
|
|
46
|
+
- Updated dependencies [202c15b]
|
|
47
|
+
- Updated dependencies [99812aa]
|
|
48
|
+
- @funkit/api-base@5.2.0
|
|
49
|
+
- @funkit/connect-core@1.5.0
|
|
50
|
+
- @funkit/utils@4.0.0
|
|
51
|
+
|
|
52
|
+
## 9.27.1
|
|
53
|
+
|
|
54
|
+
### Patch Changes
|
|
55
|
+
|
|
56
|
+
- 2277277: Checksum the Polymarket deposit recipient (predictions/perps) so a lowercased integrator-supplied address can't cause a downstream recipient mismatch.
|
|
57
|
+
- d59ac5d: Fix a layout jump on the checkout asset list for xStock (Nado) targets by resolving the wrapper-token address once at the `useWalletAssetHoldings` seam and awaiting it, so the list paints with the wrapper already recognized. Also bumps the wrapper-address query `staleTime` to 1h.
|
|
58
|
+
- 7604174: fix(polymarket): lower Polymarket Perps minimum deposit from $10 to $5 (matches the updated `ExchangeV1.supportedAssets` on-chain minimum)
|
|
59
|
+
- Updated dependencies [7880a7b]
|
|
60
|
+
- @funkit/fun-relay@2.9.0
|
|
61
|
+
|
|
3
62
|
## 9.27.0
|
|
4
63
|
|
|
5
64
|
### Minor Changes
|
|
@@ -1,12 +1,9 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import {
|
|
3
|
-
usePolymarketAccountBalances
|
|
4
|
-
} from "./chunk-ZEXZQOAO.js";
|
|
5
2
|
import {
|
|
6
3
|
FunInput,
|
|
7
4
|
FunSkeletonBlock,
|
|
8
5
|
TooltipAnchorRefContext
|
|
9
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-CGHPNWIF.js";
|
|
10
7
|
import {
|
|
11
8
|
Box,
|
|
12
9
|
Text,
|
|
@@ -18,17 +15,18 @@ import {
|
|
|
18
15
|
import {
|
|
19
16
|
POLYMARKET_PERPS_ROUTING_ID,
|
|
20
17
|
POLYMARKET_PREDICTIONS_ROUTING_ID
|
|
21
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-TQVRP3Z2.js";
|
|
22
19
|
import {
|
|
23
20
|
POLYGON_USDCE,
|
|
24
21
|
PUSD_TOKEN
|
|
25
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-7LKK5QMZ.js";
|
|
26
23
|
import {
|
|
27
24
|
logger
|
|
28
25
|
} from "./chunk-AHYOV7AV.js";
|
|
29
26
|
|
|
30
27
|
// src/clients/polymarket/PolymarketDepositAccountDropdown.tsx
|
|
31
28
|
import React12 from "react";
|
|
29
|
+
import { getAddress } from "viem";
|
|
32
30
|
import { polygon } from "viem/chains";
|
|
33
31
|
|
|
34
32
|
// src/components/Dropdown/AccountSelectDropdown.tsx
|
|
@@ -317,6 +315,68 @@ var AnimatedCaretDownIcon = ({
|
|
|
317
315
|
);
|
|
318
316
|
};
|
|
319
317
|
|
|
318
|
+
// src/hooks/usePolymarketAccountBalances.ts
|
|
319
|
+
import {
|
|
320
|
+
skipToken,
|
|
321
|
+
useQuery,
|
|
322
|
+
useQueryClient
|
|
323
|
+
} from "@tanstack/react-query";
|
|
324
|
+
import * as dnum2 from "dnum";
|
|
325
|
+
var DEFAULT_BALANCE_REFETCH_MS = 1e3;
|
|
326
|
+
var polymarketAccountBalanceQueryKey = (address) => ["polymarket", "accountBalanceUsd", address ?? null];
|
|
327
|
+
var polymarketBalanceSettleUntilQueryKey = (address) => ["polymarket", "accountBalanceSettleUntil", address];
|
|
328
|
+
async function fetchAccountBalance(queryClient, getBalanceUsd, queryKey) {
|
|
329
|
+
const [, , address] = queryKey;
|
|
330
|
+
if (address === null) {
|
|
331
|
+
throw new Error("polymarket balance query ran without an address");
|
|
332
|
+
}
|
|
333
|
+
try {
|
|
334
|
+
const serverUsd = await getBalanceUsd();
|
|
335
|
+
const settleUntil = queryClient.getQueryData(
|
|
336
|
+
polymarketBalanceSettleUntilQueryKey(address)
|
|
337
|
+
);
|
|
338
|
+
const displayedUsd = queryClient.getQueryData(
|
|
339
|
+
polymarketAccountBalanceQueryKey(address)
|
|
340
|
+
);
|
|
341
|
+
if (settleUntil !== void 0 && Date.now() < settleUntil && displayedUsd !== void 0) {
|
|
342
|
+
return displayedUsd;
|
|
343
|
+
}
|
|
344
|
+
return serverUsd;
|
|
345
|
+
} catch (error) {
|
|
346
|
+
logger.warn("polymarket:accountBalance:fetchFailed", {
|
|
347
|
+
address,
|
|
348
|
+
error: String(error)
|
|
349
|
+
});
|
|
350
|
+
throw error;
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
function useAccountBalance(account, refetchIntervalMs) {
|
|
354
|
+
const queryClient = useQueryClient();
|
|
355
|
+
const getBalanceUsd = account?.getBalanceUsd;
|
|
356
|
+
const address = account?.address;
|
|
357
|
+
const query = useQuery({
|
|
358
|
+
queryKey: polymarketAccountBalanceQueryKey(address),
|
|
359
|
+
// `skipToken` disables the query when the account isn't configured (the
|
|
360
|
+
// perps-transfer config is optional). It is *not* a fallback for a missing
|
|
361
|
+
// balance — the getter is the single source of truth.
|
|
362
|
+
queryFn: getBalanceUsd && address ? ({ queryKey }) => fetchAccountBalance(queryClient, getBalanceUsd, queryKey) : skipToken,
|
|
363
|
+
refetchInterval: refetchIntervalMs,
|
|
364
|
+
// The poll interval is the freshness contract: a reader mounting within it
|
|
365
|
+
// (e.g. navigating between the deposit picker and the transfer step) reads
|
|
366
|
+
// the cached balance as-is instead of kicking off an extra mount fetch —
|
|
367
|
+
// that's what makes the navigation flash-free *and* fetch-free.
|
|
368
|
+
staleTime: refetchIntervalMs
|
|
369
|
+
});
|
|
370
|
+
return { balanceUsd: query.data };
|
|
371
|
+
}
|
|
372
|
+
function usePolymarketAccountBalances(accounts, options) {
|
|
373
|
+
const refetchIntervalMs = options?.refetchIntervalMs ?? DEFAULT_BALANCE_REFETCH_MS;
|
|
374
|
+
return {
|
|
375
|
+
predictions: useAccountBalance(accounts.predictions, refetchIntervalMs),
|
|
376
|
+
perps: useAccountBalance(accounts.perps, refetchIntervalMs)
|
|
377
|
+
};
|
|
378
|
+
}
|
|
379
|
+
|
|
320
380
|
// src/components/FunNoResults/FunNoResults.tsx
|
|
321
381
|
import React6 from "react";
|
|
322
382
|
|
|
@@ -1065,7 +1125,9 @@ function PolymarketDepositAccountDropdown({
|
|
|
1065
1125
|
applyDynamicTargetAssetCandidate?.(
|
|
1066
1126
|
accountCandidate(
|
|
1067
1127
|
isPerps ? POLYMARKET_PERPS_ROUTING_ID : POLYMARKET_PREDICTIONS_ROUTING_ID,
|
|
1068
|
-
|
|
1128
|
+
// Checksum so the recipient agrees with createPolymarketDepositConfig's
|
|
1129
|
+
// initial customRecipient (integrator addresses aren't guaranteed EIP-55).
|
|
1130
|
+
isPerps ? getAddress(perps.address) : getAddress(predictions.address)
|
|
1069
1131
|
)
|
|
1070
1132
|
);
|
|
1071
1133
|
};
|
|
@@ -296,7 +296,7 @@ function createPaymentMethodInfo(params) {
|
|
|
296
296
|
case PaymentMethod.BITCOIN_LIGHTNING:
|
|
297
297
|
return {
|
|
298
298
|
paymentMethod: PaymentMethod.BITCOIN_LIGHTNING,
|
|
299
|
-
title: "Bitcoin
|
|
299
|
+
title: "Bitcoin Lightning",
|
|
300
300
|
description: ""
|
|
301
301
|
};
|
|
302
302
|
case PaymentMethod.VIRTUAL_BANK:
|
|
@@ -24,7 +24,7 @@ var DEFAULT_TEXT_CUSTOMIZATIONS = {
|
|
|
24
24
|
sourceMethodTitle: "Your source",
|
|
25
25
|
tokensListTitle: "Your tokens",
|
|
26
26
|
transferTokens: "Transfer Crypto",
|
|
27
|
-
bitcoinLightning: "Bitcoin
|
|
27
|
+
bitcoinLightning: "Bitcoin Lightning",
|
|
28
28
|
receiveDropdownTitle: "",
|
|
29
29
|
// Default to empty
|
|
30
30
|
receiveDropdownLabel: "Asset to Receive",
|
|
@@ -8,10 +8,10 @@ import {
|
|
|
8
8
|
VAULT_DEPOSITOR_ABI,
|
|
9
9
|
VAULT_DEPOSITOR_POLYGON,
|
|
10
10
|
createPerpsGenerateActionParams
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-7LKK5QMZ.js";
|
|
12
12
|
|
|
13
13
|
// src/clients/polymarket/createPolymarketDepositConfig.ts
|
|
14
|
-
import { encodeFunctionData, erc20Abi, maxUint256 } from "viem";
|
|
14
|
+
import { encodeFunctionData, erc20Abi, getAddress, maxUint256 } from "viem";
|
|
15
15
|
import { polygon } from "viem/chains";
|
|
16
16
|
var POLYMARKET_PREDICTIONS_ROUTING_ID = "POLYMARKET_PREDICTIONS";
|
|
17
17
|
var POLYMARKET_PERPS_ROUTING_ID = "POLYMARKET_PERPS";
|
|
@@ -47,7 +47,7 @@ function createPredictionsGenerateActionParams(config) {
|
|
|
47
47
|
];
|
|
48
48
|
};
|
|
49
49
|
}
|
|
50
|
-
var PERPS_MIN_DEPOSIT_USD =
|
|
50
|
+
var PERPS_MIN_DEPOSIT_USD = 5;
|
|
51
51
|
function createPolymarketDepositConfig({
|
|
52
52
|
predictions,
|
|
53
53
|
perps,
|
|
@@ -57,6 +57,8 @@ function createPolymarketDepositConfig({
|
|
|
57
57
|
}) {
|
|
58
58
|
const isPerpsRoute = (routingId) => routingId === POLYMARKET_PERPS_ROUTING_ID;
|
|
59
59
|
const defaultsToPerps = defaultAccount === "perps";
|
|
60
|
+
const predictionsRecipient = getAddress(predictions.address);
|
|
61
|
+
const perpsRecipient = getAddress(perps.address);
|
|
60
62
|
return {
|
|
61
63
|
targetChain: polygon.id.toString(),
|
|
62
64
|
targetAsset: POLYGON_USDCE,
|
|
@@ -68,13 +70,15 @@ function createPolymarketDepositConfig({
|
|
|
68
70
|
// The preselected destination (the "Deposit to" dropdown derives its
|
|
69
71
|
// selection from `dynamicRoutingId`, so both fields must agree).
|
|
70
72
|
dynamicRoutingId: defaultsToPerps ? POLYMARKET_PERPS_ROUTING_ID : POLYMARKET_PREDICTIONS_ROUTING_ID,
|
|
71
|
-
customRecipient: defaultsToPerps ?
|
|
73
|
+
customRecipient: defaultsToPerps ? perpsRecipient : predictionsRecipient,
|
|
72
74
|
modalTitle: ({ dynamicRoutingId }) => isPerpsRoute(dynamicRoutingId) ? modalTitles?.perps ?? "Deposit (Perps)" : modalTitles?.predictions ?? "Deposit (Predictions)",
|
|
73
75
|
getMinDepositUSD: ({ dynamicRoutingId }) => isPerpsRoute(dynamicRoutingId) ? PERPS_MIN_DEPOSIT_USD : 0,
|
|
74
76
|
generateActionsParams: (_targetAssetAmount, outputConfig) => isPerpsRoute(
|
|
75
77
|
outputConfig?.dynamicRoutingId
|
|
76
|
-
) ? createPerpsGenerateActionParams({
|
|
77
|
-
recipientAddress:
|
|
78
|
+
) ? createPerpsGenerateActionParams({
|
|
79
|
+
recipientAddress: perpsRecipient
|
|
80
|
+
})() : createPredictionsGenerateActionParams({
|
|
81
|
+
recipientAddress: predictionsRecipient
|
|
78
82
|
})(),
|
|
79
83
|
// Both transfer directions are integrator-owned; the step picks the source
|
|
80
84
|
// account's transfer. The accounts already have exactly the handle shape
|
package/dist/clients/lighter.css
CHANGED
|
@@ -16588,7 +16588,7 @@
|
|
|
16588
16588
|
outline-color: var(--rk-colors-tertiaryText);
|
|
16589
16589
|
}
|
|
16590
16590
|
|
|
16591
|
-
/* vanilla-extract-css-ns:src/components/FunInput/FunInput.css.ts.vanilla.css?source=#
|
|
16591
|
+
/* vanilla-extract-css-ns:src/components/FunInput/FunInput.css.ts.vanilla.css?source=#H4sIAAAAAAAAA9VUzU7DMAy-7yl8QRpSU6X8TCgTF8aBB-CGOLipt0VrncpNgQ7x7qgdbGXTEGIIxDHJ5-_Hjhwva9JupOF5ABAEuXLBeTaAeQ7JuS4qsHXqrEpp6UiGOj6NQEegYz2KIDkeD14G8Yoj2eFgz9QDnBijHilduKB8HUhUVTpWaR2C5wh2QY75I6gTKFBmjg3o8QDgHYplSSjIlnZV70JT0iXXRUpy31Gowi8_KznrUCnaxUx8zZmyPvdiVtlKFOLQiqdeMpL3agBfh9wxbS4eXRbmBhKtj9rj1HNQUyxc3hhwPCdxHc9hbT8zpszR0tznGUnn_M3uA8pQKVms7FeqIus5Q2lu6Sn0KUa_mXejerjxi38wKABfonWhMaDj8775L-dH22pO2sO1qzDNKet3AX-3C3vi4E_Fsf9gqBuzh3_i7Ed2716yrd2mzdw_kKzx68WbbD3smcJ2rLqiiWcmGyi7WqNvWqq-wemfrJjp96fzCplzuQIZBwAA */
|
|
16592
16592
|
[data-rk] .zue0i60 {
|
|
16593
16593
|
transition: all 150ms cubic-bezier(0.3, 0, 0.06, 1);
|
|
16594
16594
|
}
|
|
@@ -16608,6 +16608,7 @@
|
|
|
16608
16608
|
border: none;
|
|
16609
16609
|
outline: none;
|
|
16610
16610
|
width: 100%;
|
|
16611
|
+
font-family: inherit;
|
|
16611
16612
|
transition: all 150ms cubic-bezier(0.3, 0, 0.06, 1);
|
|
16612
16613
|
}
|
|
16613
16614
|
[data-rk] .zue0i64::-moz-placeholder {
|
|
@@ -16621,6 +16622,7 @@
|
|
|
16621
16622
|
border: none;
|
|
16622
16623
|
outline: none;
|
|
16623
16624
|
width: 100%;
|
|
16625
|
+
font-family: inherit;
|
|
16624
16626
|
}
|
|
16625
16627
|
[data-rk] .zue0i66::-moz-placeholder {
|
|
16626
16628
|
color: var(--rk-colors-secondaryText);
|
|
@@ -16633,6 +16635,7 @@
|
|
|
16633
16635
|
border: none;
|
|
16634
16636
|
outline: none;
|
|
16635
16637
|
width: 100%;
|
|
16638
|
+
font-family: inherit;
|
|
16636
16639
|
transition: all 150ms cubic-bezier(0.3, 0, 0.06, 1);
|
|
16637
16640
|
opacity: 0.5;
|
|
16638
16641
|
}
|
|
@@ -16647,6 +16650,7 @@
|
|
|
16647
16650
|
border: none;
|
|
16648
16651
|
outline: none;
|
|
16649
16652
|
width: 100%;
|
|
16653
|
+
font-family: inherit;
|
|
16650
16654
|
opacity: 0.5;
|
|
16651
16655
|
}
|
|
16652
16656
|
[data-rk] .zue0i6a::-moz-placeholder {
|
|
@@ -16660,6 +16664,7 @@
|
|
|
16660
16664
|
border: none;
|
|
16661
16665
|
outline: none;
|
|
16662
16666
|
width: 100%;
|
|
16667
|
+
font-family: inherit;
|
|
16663
16668
|
transition: all 150ms cubic-bezier(0.3, 0, 0.06, 1);
|
|
16664
16669
|
}
|
|
16665
16670
|
[data-rk] .zue0i6c::-moz-placeholder {
|
|
@@ -16683,6 +16688,7 @@
|
|
|
16683
16688
|
border: none;
|
|
16684
16689
|
outline: none;
|
|
16685
16690
|
width: 100%;
|
|
16691
|
+
font-family: inherit;
|
|
16686
16692
|
}
|
|
16687
16693
|
[data-rk] .zue0i6f::-moz-placeholder {
|
|
16688
16694
|
color: var(--rk-colors-secondaryText);
|
package/dist/clients/lighter.js
CHANGED
|
@@ -4,11 +4,11 @@ import {
|
|
|
4
4
|
} from "./chunk-2NBYHUIW.js";
|
|
5
5
|
import {
|
|
6
6
|
useFunkitConfig
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-CGHPNWIF.js";
|
|
8
|
+
import "./chunk-UPZNKPYU.js";
|
|
8
9
|
import {
|
|
9
10
|
Box
|
|
10
11
|
} from "./chunk-LUHEVXPD.js";
|
|
11
|
-
import "./chunk-UPZNKPYU.js";
|
|
12
12
|
import {
|
|
13
13
|
useFunkitTranslation
|
|
14
14
|
} from "./chunk-STLOQEN7.js";
|
|
@@ -16491,7 +16491,7 @@
|
|
|
16491
16491
|
animation-name: stgjxld;
|
|
16492
16492
|
}
|
|
16493
16493
|
|
|
16494
|
-
/* vanilla-extract-css-ns:src/components/FunInput/FunInput.css.ts.vanilla.css?source=#
|
|
16494
|
+
/* vanilla-extract-css-ns:src/components/FunInput/FunInput.css.ts.vanilla.css?source=#H4sIAAAAAAAAA9VUzU7DMAy-7yl8QRpSU6X8TCgTF8aBB-CGOLipt0VrncpNgQ7x7qgdbGXTEGIIxDHJ5-_Hjhwva9JupOF5ABAEuXLBeTaAeQ7JuS4qsHXqrEpp6UiGOj6NQEegYz2KIDkeD14G8Yoj2eFgz9QDnBijHilduKB8HUhUVTpWaR2C5wh2QY75I6gTKFBmjg3o8QDgHYplSSjIlnZV70JT0iXXRUpy31Gowi8_KznrUCnaxUx8zZmyPvdiVtlKFOLQiqdeMpL3agBfh9wxbS4eXRbmBhKtj9rj1HNQUyxc3hhwPCdxHc9hbT8zpszR0tznGUnn_M3uA8pQKVms7FeqIus5Q2lu6Sn0KUa_mXejerjxi38wKABfonWhMaDj8775L-dH22pO2sO1qzDNKet3AX-3C3vi4E_Fsf9gqBuzh3_i7Ed2716yrd2mzdw_kKzx68WbbD3smcJ2rLqiiWcmGyi7WqNvWqq-wemfrJjp96fzCplzuQIZBwAA */
|
|
16495
16495
|
[data-rk] .zue0i60 {
|
|
16496
16496
|
transition: all 150ms cubic-bezier(0.3, 0, 0.06, 1);
|
|
16497
16497
|
}
|
|
@@ -16511,6 +16511,7 @@
|
|
|
16511
16511
|
border: none;
|
|
16512
16512
|
outline: none;
|
|
16513
16513
|
width: 100%;
|
|
16514
|
+
font-family: inherit;
|
|
16514
16515
|
transition: all 150ms cubic-bezier(0.3, 0, 0.06, 1);
|
|
16515
16516
|
}
|
|
16516
16517
|
[data-rk] .zue0i64::-moz-placeholder {
|
|
@@ -16524,6 +16525,7 @@
|
|
|
16524
16525
|
border: none;
|
|
16525
16526
|
outline: none;
|
|
16526
16527
|
width: 100%;
|
|
16528
|
+
font-family: inherit;
|
|
16527
16529
|
}
|
|
16528
16530
|
[data-rk] .zue0i66::-moz-placeholder {
|
|
16529
16531
|
color: var(--rk-colors-secondaryText);
|
|
@@ -16536,6 +16538,7 @@
|
|
|
16536
16538
|
border: none;
|
|
16537
16539
|
outline: none;
|
|
16538
16540
|
width: 100%;
|
|
16541
|
+
font-family: inherit;
|
|
16539
16542
|
transition: all 150ms cubic-bezier(0.3, 0, 0.06, 1);
|
|
16540
16543
|
opacity: 0.5;
|
|
16541
16544
|
}
|
|
@@ -16550,6 +16553,7 @@
|
|
|
16550
16553
|
border: none;
|
|
16551
16554
|
outline: none;
|
|
16552
16555
|
width: 100%;
|
|
16556
|
+
font-family: inherit;
|
|
16553
16557
|
opacity: 0.5;
|
|
16554
16558
|
}
|
|
16555
16559
|
[data-rk] .zue0i6a::-moz-placeholder {
|
|
@@ -16563,6 +16567,7 @@
|
|
|
16563
16567
|
border: none;
|
|
16564
16568
|
outline: none;
|
|
16565
16569
|
width: 100%;
|
|
16570
|
+
font-family: inherit;
|
|
16566
16571
|
transition: all 150ms cubic-bezier(0.3, 0, 0.06, 1);
|
|
16567
16572
|
}
|
|
16568
16573
|
[data-rk] .zue0i6c::-moz-placeholder {
|
|
@@ -16586,6 +16591,7 @@
|
|
|
16586
16591
|
border: none;
|
|
16587
16592
|
outline: none;
|
|
16588
16593
|
width: 100%;
|
|
16594
|
+
font-family: inherit;
|
|
16589
16595
|
}
|
|
16590
16596
|
[data-rk] .zue0i6f::-moz-placeholder {
|
|
16591
16597
|
color: var(--rk-colors-secondaryText);
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import {
|
|
3
3
|
PolymarketDepositAccountDropdown
|
|
4
|
-
} from "../chunk-
|
|
5
|
-
import "../chunk-
|
|
6
|
-
import "../chunk-VT3ERWXE.js";
|
|
7
|
-
import "../chunk-LUHEVXPD.js";
|
|
4
|
+
} from "../chunk-4O4YAFYK.js";
|
|
5
|
+
import "../chunk-CGHPNWIF.js";
|
|
8
6
|
import "../chunk-UPZNKPYU.js";
|
|
7
|
+
import "../chunk-LUHEVXPD.js";
|
|
9
8
|
import "../chunk-STLOQEN7.js";
|
|
10
|
-
import "../chunk-
|
|
11
|
-
import "../chunk-
|
|
9
|
+
import "../chunk-TQVRP3Z2.js";
|
|
10
|
+
import "../chunk-7LKK5QMZ.js";
|
|
12
11
|
import "../chunk-AHYOV7AV.js";
|
|
13
12
|
export {
|
|
14
13
|
PolymarketDepositAccountDropdown
|
|
@@ -4,8 +4,8 @@ import {
|
|
|
4
4
|
POLYMARKET_PREDICTIONS_ROUTING_ID,
|
|
5
5
|
createPolymarketDepositConfig,
|
|
6
6
|
createPredictionsGenerateActionParams
|
|
7
|
-
} from "../chunk-
|
|
8
|
-
import "../chunk-
|
|
7
|
+
} from "../chunk-TQVRP3Z2.js";
|
|
8
|
+
import "../chunk-7LKK5QMZ.js";
|
|
9
9
|
import "../chunk-AHYOV7AV.js";
|
|
10
10
|
export {
|
|
11
11
|
POLYMARKET_PERPS_ROUTING_ID,
|
|
@@ -16491,7 +16491,7 @@
|
|
|
16491
16491
|
animation-name: stgjxld;
|
|
16492
16492
|
}
|
|
16493
16493
|
|
|
16494
|
-
/* vanilla-extract-css-ns:src/components/FunInput/FunInput.css.ts.vanilla.css?source=#
|
|
16494
|
+
/* vanilla-extract-css-ns:src/components/FunInput/FunInput.css.ts.vanilla.css?source=#H4sIAAAAAAAAA9VUzU7DMAy-7yl8QRpSU6X8TCgTF8aBB-CGOLipt0VrncpNgQ7x7qgdbGXTEGIIxDHJ5-_Hjhwva9JupOF5ABAEuXLBeTaAeQ7JuS4qsHXqrEpp6UiGOj6NQEegYz2KIDkeD14G8Yoj2eFgz9QDnBijHilduKB8HUhUVTpWaR2C5wh2QY75I6gTKFBmjg3o8QDgHYplSSjIlnZV70JT0iXXRUpy31Gowi8_KznrUCnaxUx8zZmyPvdiVtlKFOLQiqdeMpL3agBfh9wxbS4eXRbmBhKtj9rj1HNQUyxc3hhwPCdxHc9hbT8zpszR0tznGUnn_M3uA8pQKVms7FeqIus5Q2lu6Sn0KUa_mXejerjxi38wKABfonWhMaDj8775L-dH22pO2sO1qzDNKet3AX-3C3vi4E_Fsf9gqBuzh3_i7Ed2716yrd2mzdw_kKzx68WbbD3smcJ2rLqiiWcmGyi7WqNvWqq-wemfrJjp96fzCplzuQIZBwAA */
|
|
16495
16495
|
[data-rk] .zue0i60 {
|
|
16496
16496
|
transition: all 150ms cubic-bezier(0.3, 0, 0.06, 1);
|
|
16497
16497
|
}
|
|
@@ -16511,6 +16511,7 @@
|
|
|
16511
16511
|
border: none;
|
|
16512
16512
|
outline: none;
|
|
16513
16513
|
width: 100%;
|
|
16514
|
+
font-family: inherit;
|
|
16514
16515
|
transition: all 150ms cubic-bezier(0.3, 0, 0.06, 1);
|
|
16515
16516
|
}
|
|
16516
16517
|
[data-rk] .zue0i64::-moz-placeholder {
|
|
@@ -16524,6 +16525,7 @@
|
|
|
16524
16525
|
border: none;
|
|
16525
16526
|
outline: none;
|
|
16526
16527
|
width: 100%;
|
|
16528
|
+
font-family: inherit;
|
|
16527
16529
|
}
|
|
16528
16530
|
[data-rk] .zue0i66::-moz-placeholder {
|
|
16529
16531
|
color: var(--rk-colors-secondaryText);
|
|
@@ -16536,6 +16538,7 @@
|
|
|
16536
16538
|
border: none;
|
|
16537
16539
|
outline: none;
|
|
16538
16540
|
width: 100%;
|
|
16541
|
+
font-family: inherit;
|
|
16539
16542
|
transition: all 150ms cubic-bezier(0.3, 0, 0.06, 1);
|
|
16540
16543
|
opacity: 0.5;
|
|
16541
16544
|
}
|
|
@@ -16550,6 +16553,7 @@
|
|
|
16550
16553
|
border: none;
|
|
16551
16554
|
outline: none;
|
|
16552
16555
|
width: 100%;
|
|
16556
|
+
font-family: inherit;
|
|
16553
16557
|
opacity: 0.5;
|
|
16554
16558
|
}
|
|
16555
16559
|
[data-rk] .zue0i6a::-moz-placeholder {
|
|
@@ -16563,6 +16567,7 @@
|
|
|
16563
16567
|
border: none;
|
|
16564
16568
|
outline: none;
|
|
16565
16569
|
width: 100%;
|
|
16570
|
+
font-family: inherit;
|
|
16566
16571
|
transition: all 150ms cubic-bezier(0.3, 0, 0.06, 1);
|
|
16567
16572
|
}
|
|
16568
16573
|
[data-rk] .zue0i6c::-moz-placeholder {
|
|
@@ -16586,6 +16591,7 @@
|
|
|
16586
16591
|
border: none;
|
|
16587
16592
|
outline: none;
|
|
16588
16593
|
width: 100%;
|
|
16594
|
+
font-family: inherit;
|
|
16589
16595
|
}
|
|
16590
16596
|
[data-rk] .zue0i6f::-moz-placeholder {
|
|
16591
16597
|
color: var(--rk-colors-secondaryText);
|
|
@@ -1,18 +1,17 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import {
|
|
3
3
|
PolymarketDepositAccountDropdown
|
|
4
|
-
} from "../chunk-
|
|
5
|
-
import "../chunk-
|
|
6
|
-
import "../chunk-VT3ERWXE.js";
|
|
7
|
-
import "../chunk-LUHEVXPD.js";
|
|
4
|
+
} from "../chunk-4O4YAFYK.js";
|
|
5
|
+
import "../chunk-CGHPNWIF.js";
|
|
8
6
|
import "../chunk-UPZNKPYU.js";
|
|
7
|
+
import "../chunk-LUHEVXPD.js";
|
|
9
8
|
import "../chunk-STLOQEN7.js";
|
|
10
9
|
import {
|
|
11
10
|
POLYMARKET_PERPS_ROUTING_ID,
|
|
12
11
|
POLYMARKET_PREDICTIONS_ROUTING_ID,
|
|
13
12
|
createPolymarketDepositConfig,
|
|
14
13
|
createPredictionsGenerateActionParams
|
|
15
|
-
} from "../chunk-
|
|
14
|
+
} from "../chunk-TQVRP3Z2.js";
|
|
16
15
|
import {
|
|
17
16
|
AMOUNT_PLACEHOLDER,
|
|
18
17
|
COLLATERAL_ONRAMP_ABI,
|
|
@@ -23,7 +22,7 @@ import {
|
|
|
23
22
|
VAULT_DEPOSITOR_POLYGON,
|
|
24
23
|
createPerpsGenerateActionParams,
|
|
25
24
|
createPolymarketWithdrawalConfig
|
|
26
|
-
} from "../chunk-
|
|
25
|
+
} from "../chunk-7LKK5QMZ.js";
|
|
27
26
|
import "../chunk-AHYOV7AV.js";
|
|
28
27
|
export {
|
|
29
28
|
AMOUNT_PLACEHOLDER,
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface BitcoinLightningBannerProps {
|
|
3
|
+
/** Navigates into the Bitcoin Lightning flow (Input Amount step). */
|
|
4
|
+
onClick: () => void;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Promotional banner whose "Try it now" link drops the user straight into the
|
|
8
|
+
* Bitcoin Lightning checkout flow. Purely presentational — the caller decides
|
|
9
|
+
* whether to render it (the Transfer Crypto screen gates it on
|
|
10
|
+
* `isLightningEnabled` and the user not being geoblocked).
|
|
11
|
+
*/
|
|
12
|
+
export declare const BitcoinLightningBanner: ({ onClick, }: BitcoinLightningBannerProps) => React.JSX.Element;
|
|
@@ -17,9 +17,8 @@ type SerializedCandidate = Omit<DynamicTargetAssetCandidate, 'generateActionsPar
|
|
|
17
17
|
* Historical Checkout Configuration stored in the server
|
|
18
18
|
* This is similar to FunkitCheckoutConfig but with some fields changed to serializable types
|
|
19
19
|
* */
|
|
20
|
-
export type ServerCheckoutConfig = Omit<DeepSerialize<FunkitCheckoutConfig>, 'dynamicTargetAssetCandidates'
|
|
20
|
+
export type ServerCheckoutConfig = Omit<DeepSerialize<FunkitCheckoutConfig>, 'dynamicTargetAssetCandidates'> & {
|
|
21
21
|
dynamicTargetAssetCandidates?: SerializedCandidate[];
|
|
22
|
-
finalizedToken?: SerializedCandidate;
|
|
23
22
|
};
|
|
24
23
|
type HistoricalCheckoutItemKey = 'id' | 'startTimestampMs' | 'finalDollarValue' | 'latestQuote' | 'depositAddress' | 'selectedSourceAssetInfo' | 'selectedPaymentMethodInfo';
|
|
25
24
|
/**
|
|
@@ -37,7 +36,7 @@ export interface HistoricalCheckoutItem extends Pick<FunkitActiveCheckoutItem, H
|
|
|
37
36
|
* Build the checkout config for a deposit re-started from history (the
|
|
38
37
|
* "New deposit" CTA). Serialized history can't carry closures, so every
|
|
39
38
|
* function-valued field is only restorable from the live config:
|
|
40
|
-
* - candidates' per-route `generateActionsParams`
|
|
39
|
+
* - candidates' per-route `generateActionsParams` are
|
|
41
40
|
* stripped on serialize, so the still-active checkout takes the
|
|
42
41
|
* function-bearing candidates from `liveConfig` — otherwise a destination
|
|
43
42
|
* switch would re-bind `dynamicRoutingId` without its post-action; a
|
|
@@ -112,7 +112,6 @@ export interface QuoteBuilder {
|
|
|
112
112
|
hasKnownAmountBeforeQuote(config: {
|
|
113
113
|
targetAssetAmount?: number;
|
|
114
114
|
targetAssetTicker: string;
|
|
115
|
-
finalizedToken?: unknown;
|
|
116
115
|
}): boolean;
|
|
117
116
|
/** Compute the token/fiat amount for a quick-option percentage button.
|
|
118
117
|
* Returns the action to dispatch to the state reducer. */
|
|
@@ -2,7 +2,7 @@ import type { DirectExecution } from '@funkit/api-base';
|
|
|
2
2
|
import { type RecentDepositsApiQueryParams } from '@funkit/connect-core';
|
|
3
3
|
import type { UseQueryResult } from '@tanstack/react-query';
|
|
4
4
|
import { type PurifiedCheckoutHistoryItem } from '../../utils/purifyCheckoutHistoryItem';
|
|
5
|
-
type RecentDepositsApiQuery = Omit<RecentDepositsApiQueryParams, '
|
|
5
|
+
type RecentDepositsApiQuery = Omit<RecentDepositsApiQueryParams, 'logger'>;
|
|
6
6
|
type DefaultDEQueryKey = 'apiKey' | 'userId' | 'refreshIntervalMs';
|
|
7
7
|
export type RecentDEQuerySimplified = {
|
|
8
8
|
isVisible: boolean;
|
|
@@ -1,22 +1,19 @@
|
|
|
1
|
+
import type { Address } from 'viem';
|
|
2
|
+
import type { AssetHoldingsMap } from '../domains/wallet';
|
|
1
3
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
+
* Merges payable sources the wallet-assets API doesn't index — an xStock the
|
|
5
|
+
* user holds + its wrapper — into the holdings map.
|
|
4
6
|
*
|
|
5
|
-
*
|
|
6
|
-
* already holds and can deposit directly (an xStock + its wrapper) — into the
|
|
7
|
-
* holdings map.
|
|
7
|
+
* Note: xStock/Nado-only today; possibly deprecate once backend supports these natively.
|
|
8
8
|
*
|
|
9
|
-
* - Gated by
|
|
10
|
-
*
|
|
11
|
-
* -
|
|
12
|
-
* the same map and keys can't drift across call sites.
|
|
13
|
-
* - Injects only what the API doesn't already list, so we never clobber the API's
|
|
14
|
-
* price/USD with our on-chain read. Customer/asset gating lives upstream.
|
|
9
|
+
* - Gated by `enable-rpc-xstock-assets` (off by default) → no RPC reads, nothing injected.
|
|
10
|
+
* - Single seam in `useWalletAssetHoldings` so keys can't drift across consumers.
|
|
11
|
+
* - Injects only what the API omits (never clobbers its price/USD); gating lives upstream.
|
|
15
12
|
*/
|
|
16
|
-
|
|
17
|
-
export declare function useInjectedAssetHoldings({ targetChainId, existingHoldings, }: {
|
|
13
|
+
export declare function useInjectedAssetHoldings({ targetChainId, existingHoldings, xstockWrappedTokenAddress, }: {
|
|
18
14
|
targetChainId: string;
|
|
19
15
|
existingHoldings: AssetHoldingsMap | undefined;
|
|
16
|
+
xstockWrappedTokenAddress?: Address;
|
|
20
17
|
}): {
|
|
21
18
|
holdings: AssetHoldingsMap;
|
|
22
19
|
isLoading: boolean;
|
|
@@ -14,7 +14,7 @@ export type UnavailablePaymentSource = {
|
|
|
14
14
|
};
|
|
15
15
|
export declare const usePaymentSources: (currentPaymentMethodInfo: ConnectablePaymentMethodInfo | null, targetChainId: string) => {
|
|
16
16
|
isFallback: boolean;
|
|
17
|
-
preferred:
|
|
17
|
+
preferred: (import("../domains/paymentMethods").PaymentMethodBrokerageInfo | import("../domains/paymentMethods").PaymentMethodAccountInfo | import("../domains/paymentMethods").PaymentMethodVirtualBankInfo)[] | PaymentMethod[];
|
|
18
18
|
moreSources: PaymentMethod[];
|
|
19
19
|
unavailable: UnavailablePaymentSource[];
|
|
20
20
|
hasUsableBalance: boolean;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type PaymentMethodBitcoinLightningInfo } from '../domains/paymentMethods';
|
|
2
|
+
/**
|
|
3
|
+
* Enters the Bitcoin Lightning checkout flow: builds the Bitcoin Lightning
|
|
4
|
+
* payment method info and sets it, plus the BTC source asset, on the checkout
|
|
5
|
+
* context. Mirrors the selection path in `SourceChange` so any entry point
|
|
6
|
+
* (e.g. the Transfer Crypto banner) lands the user in the same flow.
|
|
7
|
+
*
|
|
8
|
+
* Returns the built `paymentMethodInfo` so the caller can navigate to the next
|
|
9
|
+
* step (Input Amount, which then routes to the Lightning Invoice screen).
|
|
10
|
+
*/
|
|
11
|
+
export declare function useStartBitcoinLightning(): () => PaymentMethodBitcoinLightningInfo;
|
|
@@ -5,9 +5,11 @@
|
|
|
5
5
|
* - Fetch only. Scoped to xStock targets (`assetClass === 'xstock'`) so we don't
|
|
6
6
|
* fire RPC reads when there's nothing to read.
|
|
7
7
|
*/
|
|
8
|
+
import type { Address } from 'viem';
|
|
8
9
|
import type { AssetHoldingsItem } from '../domains/wallet';
|
|
9
|
-
export declare function useXstockAssetHoldings({ targetChainId, enabled, }: {
|
|
10
|
+
export declare function useXstockAssetHoldings({ targetChainId, wrappedTokenAddress, enabled, }: {
|
|
10
11
|
targetChainId: string;
|
|
12
|
+
wrappedTokenAddress?: Address;
|
|
11
13
|
enabled?: boolean;
|
|
12
14
|
}): {
|
|
13
15
|
data: AssetHoldingsItem[];
|