@funkit/connect 6.15.9 → 6.15.11
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
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# @funkit/connect
|
|
2
2
|
|
|
3
|
+
## 6.15.11
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 2ab1e61: chore(connect): add WMON and AUSD symbols
|
|
8
|
+
|
|
9
|
+
## 6.15.10
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- 0d40882: fix calling eoa endpoint during withdrawal
|
|
14
|
+
- 135c6eb: fix(connect): fix bug with smart wallets causing trimmed txHashes and broken UI
|
|
15
|
+
|
|
3
16
|
## 6.15.9
|
|
4
17
|
|
|
5
18
|
### Patch Changes
|
|
@@ -22,5 +22,5 @@ export declare function getCheckoutTokenTransferParams({ checkoutConfig, userId,
|
|
|
22
22
|
/**
|
|
23
23
|
* creates QR code transfer EOA
|
|
24
24
|
*/
|
|
25
|
-
export declare const useCheckoutTransferInit: () => UseCheckoutTransferInitResponse;
|
|
25
|
+
export declare const useCheckoutTransferInit: (enabled?: boolean) => UseCheckoutTransferInitResponse;
|
|
26
26
|
export {};
|
package/dist/index.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import {
|
|
3
|
-
darkTheme
|
|
4
|
-
} from "./chunk-KG5Q63KL.js";
|
|
5
2
|
import {
|
|
6
3
|
lightTheme
|
|
7
4
|
} from "./chunk-L3BEU75V.js";
|
|
5
|
+
import {
|
|
6
|
+
darkTheme
|
|
7
|
+
} from "./chunk-KG5Q63KL.js";
|
|
8
8
|
import {
|
|
9
9
|
systemFontStack
|
|
10
10
|
} from "./chunk-WCUXJAGT.js";
|
|
@@ -1514,7 +1514,7 @@ function setFunkitConnectVersion({ version }) {
|
|
|
1514
1514
|
localStorage.setItem(storageKey, version);
|
|
1515
1515
|
}
|
|
1516
1516
|
function getCurrentSdkVersion() {
|
|
1517
|
-
return "6.15.
|
|
1517
|
+
return "6.15.11";
|
|
1518
1518
|
}
|
|
1519
1519
|
function useFingerprint() {
|
|
1520
1520
|
const fingerprint = useCallback2(() => {
|
|
@@ -2409,6 +2409,63 @@ var getWeb3AccountBalanceMessage = (t) => ({
|
|
|
2409
2409
|
[2 /* APPROVE_TRANSFER */]: (tokenSymbol) => t("checkoutConfirmation.confirmTokenTransfer", { tokenSymbol })
|
|
2410
2410
|
});
|
|
2411
2411
|
|
|
2412
|
+
// src/utils/directExecution.ts
|
|
2413
|
+
function getDirectExecutionCreatedTimeMs(directExecution) {
|
|
2414
|
+
const createdAt = directExecution?.listenerInfo?.relayExecutionRequestDetails?.createdAt || directExecution?.createdTimeMs || // Fallback to 0 if updatedAt is not defined. Not ideal but should really not happen unless its a really old test direct execution record
|
|
2415
|
+
0;
|
|
2416
|
+
return new Date(createdAt).getTime();
|
|
2417
|
+
}
|
|
2418
|
+
function getDirectExecutionUpdatedTimeMs(directExecution) {
|
|
2419
|
+
const updatedAt = directExecution?.listenerInfo?.relayExecutionRequestDetails?.updatedAt || directExecution?.listenerInfo?.time || directExecution?.updatedTimeMs || // Fallback to 0 if updatedAt is not defined. Not ideal but should really not happen unless its a really old test direct execution record
|
|
2420
|
+
0;
|
|
2421
|
+
return new Date(updatedAt).getTime();
|
|
2422
|
+
}
|
|
2423
|
+
function getDirectExecutionRunTimeSeconds(directExecution) {
|
|
2424
|
+
const beginTime = new Date(
|
|
2425
|
+
directExecution?.listenerInfo?.relayExecutionRequestDetails?.createdAt || directExecution.createdTimeMs
|
|
2426
|
+
).getTime();
|
|
2427
|
+
const endTime = getDirectExecutionUpdatedTimeMs(directExecution);
|
|
2428
|
+
if (!beginTime || !endTime) {
|
|
2429
|
+
return 0;
|
|
2430
|
+
}
|
|
2431
|
+
return (endTime - beginTime) / 1e3;
|
|
2432
|
+
}
|
|
2433
|
+
async function supportsAtomicBatch(wallet, chainId) {
|
|
2434
|
+
if (!wallet.account) {
|
|
2435
|
+
return false;
|
|
2436
|
+
}
|
|
2437
|
+
try {
|
|
2438
|
+
const capabilities = await wallet.getCapabilities({
|
|
2439
|
+
account: wallet.account,
|
|
2440
|
+
chainId
|
|
2441
|
+
});
|
|
2442
|
+
return capabilities?.atomicBatch?.supported ?? (capabilities.atomic?.status && capabilities.atomic.status === "supported");
|
|
2443
|
+
} catch {
|
|
2444
|
+
return false;
|
|
2445
|
+
}
|
|
2446
|
+
}
|
|
2447
|
+
async function disableAtomicBatchIfSupported(wallet, chainId) {
|
|
2448
|
+
const hasAtomicBatch = await supportsAtomicBatch(wallet, chainId);
|
|
2449
|
+
if (!hasAtomicBatch) {
|
|
2450
|
+
return wallet;
|
|
2451
|
+
}
|
|
2452
|
+
return new Proxy(wallet, {
|
|
2453
|
+
get(target, prop, receiver) {
|
|
2454
|
+
if (prop === "getCapabilities") {
|
|
2455
|
+
return async (params) => {
|
|
2456
|
+
const capabilities = await target.getCapabilities(params);
|
|
2457
|
+
return {
|
|
2458
|
+
...capabilities,
|
|
2459
|
+
atomicBatch: { supported: false },
|
|
2460
|
+
atomic: void 0
|
|
2461
|
+
};
|
|
2462
|
+
};
|
|
2463
|
+
}
|
|
2464
|
+
return Reflect.get(target, prop, receiver);
|
|
2465
|
+
}
|
|
2466
|
+
});
|
|
2467
|
+
}
|
|
2468
|
+
|
|
2412
2469
|
// src/hooks/useRelayBypass.ts
|
|
2413
2470
|
import { FlagKey as FlagKey3, isTokenAddressEquivalent as isTokenAddressEquivalent2 } from "@funkit/utils";
|
|
2414
2471
|
import { useCallback as useCallback5, useMemo as useMemo9 } from "react";
|
|
@@ -3731,7 +3788,7 @@ function useCheckoutDirectExecution() {
|
|
|
3731
3788
|
const { address } = useFunkitUserInfo();
|
|
3732
3789
|
const { switchChainAsync } = useFunkitSwitchChains({});
|
|
3733
3790
|
const { connector } = useFunkitAccount();
|
|
3734
|
-
const { data:
|
|
3791
|
+
const { data: _walletClient } = useWalletClient();
|
|
3735
3792
|
const { getIsRelayEnabled } = useRelayBypass();
|
|
3736
3793
|
const { apiKey } = useFunkitConfig();
|
|
3737
3794
|
const getRelayDirectExecutionBaseQuote = useCallback6(
|
|
@@ -3811,13 +3868,14 @@ function useCheckoutDirectExecution() {
|
|
|
3811
3868
|
if (!relayQuote) {
|
|
3812
3869
|
throw new Error("Relay quote is not found in latestQuote");
|
|
3813
3870
|
}
|
|
3814
|
-
if (!walletClient && !withdrawalClient) {
|
|
3815
|
-
throw new Error("Viem wallet client is not defined");
|
|
3816
|
-
}
|
|
3817
3871
|
const executionChainId = Number.parseInt(
|
|
3818
3872
|
checkoutItem.selectedSourceAssetInfo.chainId
|
|
3819
3873
|
);
|
|
3820
3874
|
logger.log(`${logPrefix3}:executionChainId`, { executionChainId });
|
|
3875
|
+
const walletClient = _walletClient ? await disableAtomicBatchIfSupported(_walletClient, executionChainId) : void 0;
|
|
3876
|
+
if (!walletClient && !withdrawalClient) {
|
|
3877
|
+
throw new Error("Viem wallet client is not defined");
|
|
3878
|
+
}
|
|
3821
3879
|
await checkAndSwitchChains({ executionChainId, stepMessageSetter });
|
|
3822
3880
|
const translateRelayMessage = (message) => {
|
|
3823
3881
|
const messageMap2 = {
|
|
@@ -3886,7 +3944,7 @@ function useCheckoutDirectExecution() {
|
|
|
3886
3944
|
};
|
|
3887
3945
|
return await waitForConfirmation();
|
|
3888
3946
|
},
|
|
3889
|
-
[
|
|
3947
|
+
[_walletClient, checkAndSwitchChains, t]
|
|
3890
3948
|
);
|
|
3891
3949
|
const getDirectExecutionInfo = useCallback6(
|
|
3892
3950
|
(checkoutItem) => {
|
|
@@ -3998,7 +4056,7 @@ function getCheckoutTokenTransferParams({
|
|
|
3998
4056
|
toTokenAddress: checkoutConfig.targetAsset
|
|
3999
4057
|
};
|
|
4000
4058
|
}
|
|
4001
|
-
var useCheckoutTransferInit = () => {
|
|
4059
|
+
var useCheckoutTransferInit = (enabled = true) => {
|
|
4002
4060
|
const { checkoutItem } = useCheckoutContext();
|
|
4003
4061
|
const checkoutConfig = checkoutItem?.initSettings.config;
|
|
4004
4062
|
const { walletAddress, userInfo } = useGeneralWallet();
|
|
@@ -4021,7 +4079,7 @@ var useCheckoutTransferInit = () => {
|
|
|
4021
4079
|
queryFn: ({ queryKey: [_, queryKey2] }) => queryKey2 ? checkoutTransferFetch(queryKey2) : void 0,
|
|
4022
4080
|
refetchOnWindowFocus: false,
|
|
4023
4081
|
refetchOnMount: false,
|
|
4024
|
-
enabled: !!queryKey && // Is flag enabled
|
|
4082
|
+
enabled: enabled && !!queryKey && // Is flag enabled
|
|
4025
4083
|
isQrCodeEnabled && // QR Code is only supported for post action checkouts with action type
|
|
4026
4084
|
isQRCodeEnabledWithPostAction
|
|
4027
4085
|
});
|
|
@@ -4207,6 +4265,7 @@ function FunkitCheckoutProvider({ children }) {
|
|
|
4207
4265
|
symbol: null,
|
|
4208
4266
|
iconSrc: null
|
|
4209
4267
|
},
|
|
4268
|
+
isWithdrawal: true,
|
|
4210
4269
|
initSettings: {
|
|
4211
4270
|
config: {
|
|
4212
4271
|
...checkoutConfig.config,
|
|
@@ -5269,28 +5328,6 @@ function useMultiStepDirectExecutionStatus(multiStepDirectExecution, disabled =
|
|
|
5269
5328
|
};
|
|
5270
5329
|
}
|
|
5271
5330
|
|
|
5272
|
-
// src/utils/directExecution.ts
|
|
5273
|
-
function getDirectExecutionCreatedTimeMs(directExecution) {
|
|
5274
|
-
const createdAt = directExecution?.listenerInfo?.relayExecutionRequestDetails?.createdAt || directExecution?.createdTimeMs || // Fallback to 0 if updatedAt is not defined. Not ideal but should really not happen unless its a really old test direct execution record
|
|
5275
|
-
0;
|
|
5276
|
-
return new Date(createdAt).getTime();
|
|
5277
|
-
}
|
|
5278
|
-
function getDirectExecutionUpdatedTimeMs(directExecution) {
|
|
5279
|
-
const updatedAt = directExecution?.listenerInfo?.relayExecutionRequestDetails?.updatedAt || directExecution?.listenerInfo?.time || directExecution?.updatedTimeMs || // Fallback to 0 if updatedAt is not defined. Not ideal but should really not happen unless its a really old test direct execution record
|
|
5280
|
-
0;
|
|
5281
|
-
return new Date(updatedAt).getTime();
|
|
5282
|
-
}
|
|
5283
|
-
function getDirectExecutionRunTimeSeconds(directExecution) {
|
|
5284
|
-
const beginTime = new Date(
|
|
5285
|
-
directExecution?.listenerInfo?.relayExecutionRequestDetails?.createdAt || directExecution.createdTimeMs
|
|
5286
|
-
).getTime();
|
|
5287
|
-
const endTime = getDirectExecutionUpdatedTimeMs(directExecution);
|
|
5288
|
-
if (!beginTime || !endTime) {
|
|
5289
|
-
return 0;
|
|
5290
|
-
}
|
|
5291
|
-
return (endTime - beginTime) / 1e3;
|
|
5292
|
-
}
|
|
5293
|
-
|
|
5294
5331
|
// src/utils/purifyCheckoutHistoryItem.ts
|
|
5295
5332
|
var purifyCheckoutHistoryItem = (item) => {
|
|
5296
5333
|
if ("depositAddr" in item) {
|
|
@@ -7116,7 +7153,9 @@ var ASSET_LOGO_SRCS = {
|
|
|
7116
7153
|
LIQUIDHYPE: "https://sdk-cdn.fun.xyz/images/liquidhype.svg",
|
|
7117
7154
|
VHYPE: "https://sdk-cdn.fun.xyz/images/vhype.png",
|
|
7118
7155
|
HBHYPE: "https://sdk-cdn.fun.xyz/images/hbhype.svg",
|
|
7119
|
-
MON: "https://sdk-cdn.fun.xyz/images/monad.svg"
|
|
7156
|
+
MON: "https://sdk-cdn.fun.xyz/images/monad.svg",
|
|
7157
|
+
WMON: "https://sdk-cdn.fun.xyz/images/wmon.svg",
|
|
7158
|
+
AUSD: "https://sdk-cdn.fun.xyz/images/ausd.svg"
|
|
7120
7159
|
};
|
|
7121
7160
|
var FALLBACK_ASSET = "https://sdk-cdn.fun.xyz/images/dollar_circle.png";
|
|
7122
7161
|
function getAssetLogoSrc(symbol) {
|
|
@@ -12594,7 +12633,8 @@ var useBluvoExchangeBalance = ({
|
|
|
12594
12633
|
};
|
|
12595
12634
|
var useBluvoCheckoutQuote = () => {
|
|
12596
12635
|
const { bluvoClient } = useFunkitBrokerageContext();
|
|
12597
|
-
const {
|
|
12636
|
+
const { checkoutItem } = useCheckoutContext();
|
|
12637
|
+
const { transferInit } = useCheckoutTransferInit(!checkoutItem?.isWithdrawal);
|
|
12598
12638
|
const { selectedBrokerageAsset } = useFunkitBrokerageContext();
|
|
12599
12639
|
async function getBluvoCheckoutQuote({
|
|
12600
12640
|
amount,
|
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
import type { DirectExecution } from '@funkit/api-base';
|
|
2
|
+
import type { WalletClient } from 'viem';
|
|
2
3
|
export declare function getDirectExecutionCreatedTimeMs(directExecution: DirectExecution): number;
|
|
3
4
|
export declare function getDirectExecutionUpdatedTimeMs(directExecution: DirectExecution): number;
|
|
4
5
|
export declare function getDirectExecutionRunTimeSeconds(directExecution: DirectExecution): number;
|
|
6
|
+
export declare function supportsAtomicBatch(wallet: WalletClient, chainId: number): Promise<boolean>;
|
|
7
|
+
/**
|
|
8
|
+
* Returns a proxied wallet with getCapabilities patched to disable atomic batch support.
|
|
9
|
+
* This forces Relay to use sequential transactions instead of batched ones.
|
|
10
|
+
*/
|
|
11
|
+
export declare function disableAtomicBatchIfSupported(wallet: WalletClient, chainId: number): Promise<WalletClient>;
|
|
@@ -38,42 +38,42 @@ import {
|
|
|
38
38
|
import {
|
|
39
39
|
rabbyWallet
|
|
40
40
|
} from "./chunk-BBOM42DL.js";
|
|
41
|
-
import {
|
|
42
|
-
rainbowWallet
|
|
43
|
-
} from "./chunk-2KUBG3S6.js";
|
|
44
41
|
import {
|
|
45
42
|
ramperWallet
|
|
46
43
|
} from "./chunk-BYXPFMI7.js";
|
|
44
|
+
import {
|
|
45
|
+
rainbowWallet
|
|
46
|
+
} from "./chunk-2KUBG3S6.js";
|
|
47
47
|
import {
|
|
48
48
|
roninWallet
|
|
49
49
|
} from "./chunk-NWIQNBJU.js";
|
|
50
|
-
import {
|
|
51
|
-
safeheronWallet
|
|
52
|
-
} from "./chunk-RZIO5TFF.js";
|
|
53
50
|
import {
|
|
54
51
|
safeWallet
|
|
55
52
|
} from "./chunk-BQQQL6UD.js";
|
|
53
|
+
import {
|
|
54
|
+
safeheronWallet
|
|
55
|
+
} from "./chunk-RZIO5TFF.js";
|
|
56
56
|
import {
|
|
57
57
|
safepalWallet
|
|
58
58
|
} from "./chunk-NT2HYJKW.js";
|
|
59
59
|
import {
|
|
60
60
|
ledgerWallet
|
|
61
61
|
} from "./chunk-BRBKM4PW.js";
|
|
62
|
-
import {
|
|
63
|
-
mewWallet
|
|
64
|
-
} from "./chunk-OL5ZO7E4.js";
|
|
65
62
|
import {
|
|
66
63
|
metaMaskWallet
|
|
67
64
|
} from "./chunk-2HYNUNAS.js";
|
|
65
|
+
import {
|
|
66
|
+
mewWallet
|
|
67
|
+
} from "./chunk-OL5ZO7E4.js";
|
|
68
68
|
import {
|
|
69
69
|
oktoWallet
|
|
70
70
|
} from "./chunk-ADIXAKUL.js";
|
|
71
|
-
import {
|
|
72
|
-
okxWallet
|
|
73
|
-
} from "./chunk-TDIEHTMB.js";
|
|
74
71
|
import {
|
|
75
72
|
omniWallet
|
|
76
73
|
} from "./chunk-7CUY5G6R.js";
|
|
74
|
+
import {
|
|
75
|
+
okxWallet
|
|
76
|
+
} from "./chunk-TDIEHTMB.js";
|
|
77
77
|
import {
|
|
78
78
|
oneInchWallet
|
|
79
79
|
} from "./chunk-OESTDX6I.js";
|
|
@@ -81,8 +81,8 @@ import {
|
|
|
81
81
|
oneKeyWallet
|
|
82
82
|
} from "./chunk-SHBUZ7U7.js";
|
|
83
83
|
import {
|
|
84
|
-
|
|
85
|
-
} from "./chunk-
|
|
84
|
+
foxWallet
|
|
85
|
+
} from "./chunk-7QONTUXT.js";
|
|
86
86
|
import {
|
|
87
87
|
frameWallet
|
|
88
88
|
} from "./chunk-IFON7E6U.js";
|
|
@@ -102,20 +102,20 @@ import {
|
|
|
102
102
|
kresusWallet
|
|
103
103
|
} from "./chunk-MJXPRJZT.js";
|
|
104
104
|
import {
|
|
105
|
-
|
|
106
|
-
} from "./chunk-
|
|
105
|
+
bloomWallet
|
|
106
|
+
} from "./chunk-S27IADFU.js";
|
|
107
107
|
import {
|
|
108
108
|
clvWallet
|
|
109
109
|
} from "./chunk-M3NZ6R2E.js";
|
|
110
110
|
import {
|
|
111
111
|
coin98Wallet
|
|
112
112
|
} from "./chunk-OBOVHCEI.js";
|
|
113
|
-
import {
|
|
114
|
-
coreWallet
|
|
115
|
-
} from "./chunk-VR4TBQ6S.js";
|
|
116
113
|
import {
|
|
117
114
|
coinbaseWallet
|
|
118
115
|
} from "./chunk-H4IRCEZN.js";
|
|
116
|
+
import {
|
|
117
|
+
coreWallet
|
|
118
|
+
} from "./chunk-VR4TBQ6S.js";
|
|
119
119
|
import {
|
|
120
120
|
dawnWallet
|
|
121
121
|
} from "./chunk-HWPKCIBE.js";
|
|
@@ -123,8 +123,8 @@ import {
|
|
|
123
123
|
desigWallet
|
|
124
124
|
} from "./chunk-OPAZMNA7.js";
|
|
125
125
|
import {
|
|
126
|
-
|
|
127
|
-
} from "./chunk-
|
|
126
|
+
enkryptWallet
|
|
127
|
+
} from "./chunk-OLOIXTYS.js";
|
|
128
128
|
import {
|
|
129
129
|
bifrostWallet
|
|
130
130
|
} from "./chunk-A5N6B5UW.js";
|
|
@@ -140,13 +140,13 @@ import {
|
|
|
140
140
|
import {
|
|
141
141
|
bitverseWallet
|
|
142
142
|
} from "./chunk-3HZRRP4Y.js";
|
|
143
|
-
import {
|
|
144
|
-
bloomWallet
|
|
145
|
-
} from "./chunk-S27IADFU.js";
|
|
146
|
-
import "./chunk-23WIEY36.js";
|
|
147
143
|
import {
|
|
148
144
|
braveWallet
|
|
149
145
|
} from "./chunk-BPZ2XJO2.js";
|
|
146
|
+
import {
|
|
147
|
+
bybitWallet
|
|
148
|
+
} from "./chunk-2STUC6QL.js";
|
|
149
|
+
import "./chunk-23WIEY36.js";
|
|
150
150
|
import "./chunk-DNSG5Q7V.js";
|
|
151
151
|
export {
|
|
152
152
|
argentWallet,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@funkit/connect",
|
|
3
|
-
"version": "6.15.
|
|
3
|
+
"version": "6.15.11",
|
|
4
4
|
"description": "Funkit Connect SDK elevates DeFi apps via web2 sign-ins and one-click checkouts.",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist",
|
|
@@ -101,11 +101,11 @@
|
|
|
101
101
|
"ua-parser-js": "^1.0.37",
|
|
102
102
|
"use-debounce": "^10.0.5",
|
|
103
103
|
"uuid": "^9.0.1",
|
|
104
|
-
"@funkit/chains": "0.4.8",
|
|
105
104
|
"@funkit/api-base": "1.12.18",
|
|
105
|
+
"@funkit/chains": "0.4.8",
|
|
106
106
|
"@funkit/core": "2.3.65",
|
|
107
|
-
"@funkit/fun-relay": "2.1.13",
|
|
108
107
|
"@funkit/utils": "1.1.19",
|
|
108
|
+
"@funkit/fun-relay": "2.1.13",
|
|
109
109
|
"@funkit/wagmi-tools": "3.0.88"
|
|
110
110
|
},
|
|
111
111
|
"repository": {
|