@suilend/sui-fe-next 2.0.30 → 2.0.31
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/contexts/WalletContext.d.ts +5 -5
- package/contexts/WalletContext.jsx +125 -132
- package/package.json +1 -1
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { Dispatch, PropsWithChildren, SetStateAction } from "react";
|
|
2
|
-
import {
|
|
2
|
+
import { SignatureWithBytes } from "@mysten/sui/cryptography";
|
|
3
3
|
import { DevInspectResults, SuiTransactionBlockResponse } from "@mysten/sui/jsonRpc";
|
|
4
4
|
import { Transaction } from "@mysten/sui/transactions";
|
|
5
|
-
import {
|
|
5
|
+
import { ReadonlyUint8Array, WalletIcon, WalletAccount as WalletStandardWalletAccount, WalletWithRequiredFeatures } from "@mysten/wallet-standard";
|
|
6
6
|
export declare enum WalletType {
|
|
7
7
|
EXTENSION = "extension",
|
|
8
8
|
WEB = "web"
|
|
9
9
|
}
|
|
10
10
|
export type WalletAccount = Omit<WalletStandardWalletAccount, "publicKey"> & {
|
|
11
|
-
publicKey?:
|
|
11
|
+
publicKey?: ReadonlyUint8Array;
|
|
12
12
|
};
|
|
13
13
|
type WalletPlatform = "iOS" | "android" | "extension";
|
|
14
14
|
export type Wallet = {
|
|
@@ -17,7 +17,7 @@ export type Wallet = {
|
|
|
17
17
|
iconUrl?: WalletIcon;
|
|
18
18
|
type: WalletType;
|
|
19
19
|
downloadUrls?: Record<WalletPlatform, string | undefined>;
|
|
20
|
-
raw?:
|
|
20
|
+
raw?: WalletWithRequiredFeatures;
|
|
21
21
|
walletConnect?: boolean;
|
|
22
22
|
};
|
|
23
23
|
declare enum WalletName {
|
|
@@ -51,7 +51,7 @@ export interface WalletContext {
|
|
|
51
51
|
switchAccount: (account: WalletAccount, addressNameServiceName?: string) => void;
|
|
52
52
|
address?: string;
|
|
53
53
|
dryRunTransaction: (transaction: Transaction, setGasBudget?: boolean) => Promise<DevInspectResults>;
|
|
54
|
-
signExecuteAndWaitForTransaction: (transaction: Transaction, onSetGasBudget?: (transaction: Transaction) => void, onSign?: (signedTransaction:
|
|
54
|
+
signExecuteAndWaitForTransaction: (transaction: Transaction, onSetGasBudget?: (transaction: Transaction) => void, onSign?: (signedTransaction: SignatureWithBytes) => void, onExecute?: (res: SuiTransactionBlockResponse) => void) => Promise<SuiTransactionBlockResponse>;
|
|
55
55
|
isUsingLedger: boolean;
|
|
56
56
|
setIsUsingLedger: (isUsingLedger: boolean) => void;
|
|
57
57
|
signPersonalMessage: (message: Uint8Array) => Promise<{
|
|
@@ -57,12 +57,11 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
|
57
57
|
var _a, _b;
|
|
58
58
|
import { useRouter } from "next/router";
|
|
59
59
|
import { createContext, useCallback, useContext, useEffect, useMemo, useRef, useState, } from "react";
|
|
60
|
-
import {
|
|
61
|
-
import {
|
|
62
|
-
import { SuiJsonRpcClient, } from "@mysten/sui/jsonRpc";
|
|
60
|
+
import { WalletProvider as MystenWalletProvider, SuiClientProvider, createNetworkConfig, useSignPersonalMessage, } from "@mysten/dapp-kit";
|
|
61
|
+
import { useAccounts, useConnectWallet, useCurrentAccount, useCurrentWallet, useDisconnectWallet, useSignTransaction, useSwitchAccount, useWallets, } from "@mysten/dapp-kit";
|
|
63
62
|
import { Transaction } from "@mysten/sui/transactions";
|
|
64
63
|
import { SUI_DECIMALS, toBase64 } from "@mysten/sui/utils";
|
|
65
|
-
import {
|
|
64
|
+
import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
|
|
66
65
|
import BigNumber from "bignumber.js";
|
|
67
66
|
import { useLDClient } from "launchdarkly-react-client-sdk";
|
|
68
67
|
import { useLocalStorage } from "usehooks-ts";
|
|
@@ -212,16 +211,16 @@ export var useWalletContext = function () { return useContext(WalletContext); };
|
|
|
212
211
|
function Inner(_a) {
|
|
213
212
|
var _b;
|
|
214
213
|
var _this = this;
|
|
215
|
-
var _c, _d, _e, _f
|
|
214
|
+
var _c, _d, _e, _f;
|
|
216
215
|
var appName = _a.appName, children = _a.children;
|
|
217
216
|
var router = useRouter();
|
|
218
217
|
var queryParams = (_b = {},
|
|
219
218
|
_b[WalletContextQueryParams.WALLET] = router.query[WalletContextQueryParams.WALLET],
|
|
220
219
|
_b);
|
|
221
|
-
var
|
|
220
|
+
var _g = useSettingsContext(), rpc = _g.rpc, suiClient = _g.suiClient;
|
|
222
221
|
// Only used for wallet connect
|
|
223
|
-
var
|
|
224
|
-
var
|
|
222
|
+
var _h = useState(), universalConnector = _h[0], setUniversalConnector = _h[1];
|
|
223
|
+
var _j = useState(), session = _j[0], setSession = _j[1];
|
|
225
224
|
var sessionAddressWithout0x = (_e = (_d = (_c = session === null || session === void 0 ? void 0 : session.namespaces) === null || _c === void 0 ? void 0 : _c.sui) === null || _d === void 0 ? void 0 : _d.accounts) === null || _e === void 0 ? void 0 : _e[0];
|
|
226
225
|
var sessionAddress = sessionAddressWithout0x
|
|
227
226
|
? sessionAddressWithout0x.split(":").pop()
|
|
@@ -243,7 +242,6 @@ function Inner(_a) {
|
|
|
243
242
|
// Impersonated address
|
|
244
243
|
var impersonatedAddress = queryParams[WalletContextQueryParams.WALLET];
|
|
245
244
|
// Wallets
|
|
246
|
-
var dAppKit = useDAppKit();
|
|
247
245
|
var wallets__installed = useWallets();
|
|
248
246
|
var getInstalledWallet = useCallback(function (name) { return wallets__installed.find(function (w) { return w.name === name; }); }, [wallets__installed]);
|
|
249
247
|
var wallets__extension_default = useMemo(function () {
|
|
@@ -353,8 +351,8 @@ function Inner(_a) {
|
|
|
353
351
|
wallets__web,
|
|
354
352
|
]);
|
|
355
353
|
// Wallet
|
|
356
|
-
var
|
|
357
|
-
var rawWallet = useCurrentWallet();
|
|
354
|
+
var _k = useState(false), isConnectWalletDropdownOpen = _k[0], setIsConnectWalletDropdownOpen = _k[1];
|
|
355
|
+
var rawWallet = useCurrentWallet().currentWallet;
|
|
358
356
|
var wallet = useMemo(function () {
|
|
359
357
|
if (sessionAddress) {
|
|
360
358
|
return WALLET_CONNECT_WALLET;
|
|
@@ -363,9 +361,9 @@ function Inner(_a) {
|
|
|
363
361
|
? wallets.find(function (w) { return w.name === rawWallet.name; })
|
|
364
362
|
: undefined;
|
|
365
363
|
}, [rawWallet, wallets, sessionAddress]);
|
|
366
|
-
var connectWallet =
|
|
367
|
-
var disconnectWallet =
|
|
368
|
-
var signPersonalMessageRaw =
|
|
364
|
+
var connectWallet = useConnectWallet().mutate;
|
|
365
|
+
var disconnectWallet = useDisconnectWallet().mutate;
|
|
366
|
+
var signPersonalMessageRaw = useSignPersonalMessage().mutateAsync;
|
|
369
367
|
var walletConnectSignPersonalMessage = useCallback(function (message) { return __awaiter(_this, void 0, void 0, function () {
|
|
370
368
|
var res;
|
|
371
369
|
return __generator(this, function (_a) {
|
|
@@ -397,11 +395,18 @@ function Inner(_a) {
|
|
|
397
395
|
}
|
|
398
396
|
if (!_wallet.raw)
|
|
399
397
|
throw new Error("Missing wallet");
|
|
400
|
-
connectWallet({ wallet: _wallet.raw }
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
398
|
+
connectWallet({ wallet: _wallet.raw }, {
|
|
399
|
+
onSuccess: function () {
|
|
400
|
+
universalConnector.disconnect();
|
|
401
|
+
setSession(null);
|
|
402
|
+
showInfoToast("Connected ".concat(_wallet.name));
|
|
403
|
+
setIsConnectWalletDropdownOpen(false);
|
|
404
|
+
},
|
|
405
|
+
onError: function (err) {
|
|
406
|
+
showErrorToast("Failed to connect ".concat(_wallet.name), err);
|
|
407
|
+
console.error(err);
|
|
408
|
+
},
|
|
409
|
+
});
|
|
405
410
|
}
|
|
406
411
|
catch (err) {
|
|
407
412
|
showErrorToast("Failed to connect ".concat(_wallet.name), err);
|
|
@@ -415,8 +420,15 @@ function Inner(_a) {
|
|
|
415
420
|
setSession(null);
|
|
416
421
|
}
|
|
417
422
|
else {
|
|
418
|
-
disconnectWallet(
|
|
419
|
-
|
|
423
|
+
disconnectWallet(undefined, {
|
|
424
|
+
onSuccess: function () {
|
|
425
|
+
showInfoToast("Disconnected wallet");
|
|
426
|
+
},
|
|
427
|
+
onError: function (err) {
|
|
428
|
+
showErrorToast("Failed to disconnect wallet", err);
|
|
429
|
+
console.error(err);
|
|
430
|
+
},
|
|
431
|
+
});
|
|
420
432
|
}
|
|
421
433
|
}
|
|
422
434
|
catch (err) {
|
|
@@ -425,10 +437,10 @@ function Inner(_a) {
|
|
|
425
437
|
}
|
|
426
438
|
}, [sessionAddress, universalConnector, disconnectWallet]);
|
|
427
439
|
// Accounts
|
|
428
|
-
var
|
|
429
|
-
var
|
|
430
|
-
var
|
|
431
|
-
var
|
|
440
|
+
var accountsRes = useAccounts();
|
|
441
|
+
var accountRes = (_f = useCurrentAccount()) !== null && _f !== void 0 ? _f : undefined;
|
|
442
|
+
var switchAccount = useSwitchAccount().mutate;
|
|
443
|
+
var account = useMemo(function () {
|
|
432
444
|
return sessionAddress
|
|
433
445
|
? {
|
|
434
446
|
address: sessionAddress,
|
|
@@ -436,44 +448,63 @@ function Inner(_a) {
|
|
|
436
448
|
chains: ["sui:mainnet"],
|
|
437
449
|
features: [],
|
|
438
450
|
}
|
|
439
|
-
:
|
|
440
|
-
}, [sessionAddress]);
|
|
441
|
-
var
|
|
442
|
-
|
|
451
|
+
: accountRes;
|
|
452
|
+
}, [sessionAddress, accountRes]);
|
|
453
|
+
var accounts = useMemo(function () {
|
|
454
|
+
return sessionAddress
|
|
455
|
+
? [
|
|
456
|
+
{
|
|
457
|
+
address: sessionAddress,
|
|
458
|
+
publicKey: new Uint8Array(),
|
|
459
|
+
chains: ["sui:mainnet"],
|
|
460
|
+
features: [],
|
|
461
|
+
},
|
|
462
|
+
]
|
|
463
|
+
: accountsRes;
|
|
464
|
+
}, [sessionAddress, accountsRes]);
|
|
443
465
|
var signPersonalMessage = useMemo(function () {
|
|
444
466
|
return sessionAddress
|
|
445
467
|
? walletConnectSignPersonalMessage
|
|
446
|
-
: function (message) { return signPersonalMessageRaw({ message: message }); };
|
|
447
|
-
}, [
|
|
448
|
-
|
|
468
|
+
: function (message) { return signPersonalMessageRaw({ message: message, account: account }); };
|
|
469
|
+
}, [
|
|
470
|
+
sessionAddress,
|
|
471
|
+
walletConnectSignPersonalMessage,
|
|
472
|
+
signPersonalMessageRaw,
|
|
473
|
+
account,
|
|
474
|
+
]);
|
|
449
475
|
var switchAccountWrapper = useCallback(function (_account, addressNameServiceName) {
|
|
450
|
-
var _a, _b, _c
|
|
476
|
+
var _a, _b, _c;
|
|
451
477
|
var accountLabel = (_b = (_a = _account === null || _account === void 0 ? void 0 : _account.label) !== null && _a !== void 0 ? _a : addressNameServiceName) !== null && _b !== void 0 ? _b : formatAddress(_account.address);
|
|
452
478
|
try {
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
}
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
479
|
+
switchAccount(
|
|
480
|
+
// only address needed here. rest for type compatibility
|
|
481
|
+
{
|
|
482
|
+
account: {
|
|
483
|
+
address: _account.address,
|
|
484
|
+
chains: _account.chains,
|
|
485
|
+
features: _account.features,
|
|
486
|
+
icon: _account.icon,
|
|
487
|
+
label: _account.label,
|
|
488
|
+
publicKey: (_c = _account.publicKey) !== null && _c !== void 0 ? _c : new Uint8Array(),
|
|
489
|
+
},
|
|
490
|
+
}, {
|
|
491
|
+
onSuccess: function () {
|
|
492
|
+
showInfoToast("Switched to ".concat(accountLabel), {
|
|
493
|
+
description: (_account === null || _account === void 0 ? void 0 : _account.label)
|
|
494
|
+
? (addressNameServiceName !== null && addressNameServiceName !== void 0 ? addressNameServiceName : formatAddress(_account.address))
|
|
495
|
+
: undefined,
|
|
496
|
+
});
|
|
497
|
+
},
|
|
498
|
+
onError: function (err) {
|
|
499
|
+
showErrorToast("Failed to switch to ".concat(accountLabel), err);
|
|
500
|
+
},
|
|
470
501
|
});
|
|
471
502
|
}
|
|
472
503
|
catch (err) {
|
|
473
504
|
showErrorToast("Failed to switch to ".concat(accountLabel), err);
|
|
474
505
|
console.error(err);
|
|
475
506
|
}
|
|
476
|
-
}, [
|
|
507
|
+
}, [switchAccount]);
|
|
477
508
|
// LaunchDarkly
|
|
478
509
|
var ldClient = useLDClient();
|
|
479
510
|
var ldKeyRef = useRef(undefined);
|
|
@@ -532,6 +563,7 @@ function Inner(_a) {
|
|
|
532
563
|
}, [impersonatedAddress, account === null || account === void 0 ? void 0 : account.address, wallet === null || wallet === void 0 ? void 0 : wallet.name, appName]);
|
|
533
564
|
// Tx
|
|
534
565
|
var gasBudget = useSettingsContext().gasBudget;
|
|
566
|
+
var signTransaction = useSignTransaction().mutateAsync;
|
|
535
567
|
var dryRunTransaction = useCallback(function (transaction_1) {
|
|
536
568
|
var args_1 = [];
|
|
537
569
|
for (var _i = 1; _i < arguments.length; _i++) {
|
|
@@ -574,10 +606,10 @@ function Inner(_a) {
|
|
|
574
606
|
});
|
|
575
607
|
}, [impersonatedAddress, account === null || account === void 0 ? void 0 : account.address, gasBudget, suiClient]);
|
|
576
608
|
var signExecuteAndWaitForTransaction = useCallback(function (transaction, onSetGasBudget, onSign, onExecute) { return __awaiter(_this, void 0, void 0, function () {
|
|
577
|
-
var _address, txBytes, res,
|
|
578
|
-
var _a, _b
|
|
579
|
-
return __generator(this, function (
|
|
580
|
-
switch (
|
|
609
|
+
var _address, signedTransaction, txBytes, res, res1, res2, err_3;
|
|
610
|
+
var _a, _b;
|
|
611
|
+
return __generator(this, function (_c) {
|
|
612
|
+
switch (_c.label) {
|
|
581
613
|
case 0:
|
|
582
614
|
_address = impersonatedAddress !== null && impersonatedAddress !== void 0 ? impersonatedAddress : account === null || account === void 0 ? void 0 : account.address;
|
|
583
615
|
if (_address) {
|
|
@@ -586,9 +618,9 @@ function Inner(_a) {
|
|
|
586
618
|
}
|
|
587
619
|
catch (err) { }
|
|
588
620
|
}
|
|
589
|
-
|
|
621
|
+
_c.label = 1;
|
|
590
622
|
case 1:
|
|
591
|
-
|
|
623
|
+
_c.trys.push([1, 9, , 10]);
|
|
592
624
|
// Gas budget
|
|
593
625
|
if (gasBudget !== "")
|
|
594
626
|
transaction.setGasBudget(+new BigNumber(gasBudget)
|
|
@@ -597,11 +629,12 @@ function Inner(_a) {
|
|
|
597
629
|
onSetGasBudget === null || onSetGasBudget === void 0 ? void 0 : onSetGasBudget(transaction);
|
|
598
630
|
// Log
|
|
599
631
|
console.log("[WalletContext] signExecuteAndWaitForTransaction - transaction.getData():", transaction.getData());
|
|
600
|
-
|
|
632
|
+
signedTransaction = void 0;
|
|
633
|
+
if (!(sessionAddress && universalConnector)) return [3 /*break*/, 4];
|
|
601
634
|
transaction.setSender(sessionAddress);
|
|
602
635
|
return [4 /*yield*/, transaction.build({ client: suiClient })];
|
|
603
636
|
case 2:
|
|
604
|
-
txBytes =
|
|
637
|
+
txBytes = _c.sent();
|
|
605
638
|
return [4 /*yield*/, universalConnector.request({
|
|
606
639
|
method: "sui_signTransaction",
|
|
607
640
|
params: {
|
|
@@ -610,65 +643,28 @@ function Inner(_a) {
|
|
|
610
643
|
},
|
|
611
644
|
}, "sui:mainnet")];
|
|
612
645
|
case 3:
|
|
613
|
-
res =
|
|
614
|
-
|
|
646
|
+
res = _c.sent();
|
|
647
|
+
signedTransaction = {
|
|
615
648
|
bytes: res.transactionBytes,
|
|
616
649
|
signature: res.signature,
|
|
617
650
|
};
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
transactionBlock: signedTransaction_1.bytes,
|
|
621
|
-
signature: signedTransaction_1.signature,
|
|
622
|
-
})];
|
|
623
|
-
case 4:
|
|
624
|
-
res1_1 = _e.sent();
|
|
625
|
-
onExecute === null || onExecute === void 0 ? void 0 : onExecute(res1_1);
|
|
626
|
-
return [4 /*yield*/, suiClient.waitForTransaction({
|
|
627
|
-
digest: res1_1.digest,
|
|
628
|
-
options: {
|
|
629
|
-
showBalanceChanges: true,
|
|
630
|
-
showEffects: true,
|
|
631
|
-
showEvents: true,
|
|
632
|
-
showObjectChanges: true,
|
|
633
|
-
},
|
|
634
|
-
})];
|
|
635
|
-
case 5:
|
|
636
|
-
res2_1 = _e.sent();
|
|
637
|
-
if (((_a = res2_1.effects) === null || _a === void 0 ? void 0 : _a.status) !== undefined &&
|
|
638
|
-
res2_1.effects.status.status === "failure")
|
|
639
|
-
throw new Error((_b = res2_1.effects.status.error) !== null && _b !== void 0 ? _b : "Transaction failed");
|
|
640
|
-
return [2 /*return*/, res2_1];
|
|
641
|
-
case 6:
|
|
642
|
-
if (!isInMsafeApp()) return [3 /*break*/, 9];
|
|
643
|
-
msafeWallet = getWallets()
|
|
644
|
-
.get()
|
|
645
|
-
.find(function (w) { return w.name === WalletName.MSAFE_WALLET; });
|
|
646
|
-
msafeFeature = msafeWallet === null || msafeWallet === void 0 ? void 0 : msafeWallet.features["sui:signAndExecuteTransactionBlock"];
|
|
647
|
-
if (!(msafeFeature && account)) return [3 /*break*/, 8];
|
|
648
|
-
msafeAccount = msafeWallet.accounts.find(function (a) { return a.address === account.address; });
|
|
649
|
-
if (!msafeAccount)
|
|
650
|
-
throw new Error("MSafe account not found");
|
|
651
|
-
return [4 /*yield*/, msafeFeature.signAndExecuteTransactionBlock({
|
|
652
|
-
transactionBlock: transaction,
|
|
653
|
-
account: msafeAccount,
|
|
654
|
-
chain: "sui:mainnet",
|
|
655
|
-
})];
|
|
656
|
-
case 7:
|
|
657
|
-
_e.sent();
|
|
658
|
-
throw new Error("Unreachable");
|
|
659
|
-
case 8: throw new Error("MSafe wallet not found. Please reload the page inside MSafe.");
|
|
660
|
-
case 9: return [4 /*yield*/, dAppKit.signTransaction({
|
|
651
|
+
return [3 /*break*/, 6];
|
|
652
|
+
case 4: return [4 /*yield*/, signTransaction({
|
|
661
653
|
transaction: transaction,
|
|
654
|
+
chain: "sui:mainnet",
|
|
662
655
|
})];
|
|
663
|
-
case
|
|
664
|
-
|
|
656
|
+
case 5:
|
|
657
|
+
// Sign
|
|
658
|
+
signedTransaction = _c.sent();
|
|
659
|
+
_c.label = 6;
|
|
660
|
+
case 6:
|
|
665
661
|
onSign === null || onSign === void 0 ? void 0 : onSign(signedTransaction);
|
|
666
662
|
return [4 /*yield*/, suiClient.executeTransactionBlock({
|
|
667
663
|
transactionBlock: signedTransaction.bytes,
|
|
668
664
|
signature: signedTransaction.signature,
|
|
669
665
|
})];
|
|
670
|
-
case
|
|
671
|
-
res1 =
|
|
666
|
+
case 7:
|
|
667
|
+
res1 = _c.sent();
|
|
672
668
|
onExecute === null || onExecute === void 0 ? void 0 : onExecute(res1);
|
|
673
669
|
return [4 /*yield*/, suiClient.waitForTransaction({
|
|
674
670
|
digest: res1.digest,
|
|
@@ -679,17 +675,17 @@ function Inner(_a) {
|
|
|
679
675
|
showObjectChanges: true,
|
|
680
676
|
},
|
|
681
677
|
})];
|
|
682
|
-
case
|
|
683
|
-
res2 =
|
|
684
|
-
if (((
|
|
678
|
+
case 8:
|
|
679
|
+
res2 = _c.sent();
|
|
680
|
+
if (((_a = res2.effects) === null || _a === void 0 ? void 0 : _a.status) !== undefined &&
|
|
685
681
|
res2.effects.status.status === "failure")
|
|
686
|
-
throw new Error((
|
|
682
|
+
throw new Error((_b = res2.effects.status.error) !== null && _b !== void 0 ? _b : "Transaction failed");
|
|
687
683
|
return [2 /*return*/, res2];
|
|
688
|
-
case
|
|
689
|
-
err_3 =
|
|
684
|
+
case 9:
|
|
685
|
+
err_3 = _c.sent();
|
|
690
686
|
console.error(err_3);
|
|
691
687
|
throw err_3;
|
|
692
|
-
case
|
|
688
|
+
case 10: return [2 /*return*/];
|
|
693
689
|
}
|
|
694
690
|
});
|
|
695
691
|
}); }, [
|
|
@@ -697,13 +693,13 @@ function Inner(_a) {
|
|
|
697
693
|
sessionAddress,
|
|
698
694
|
gasBudget,
|
|
699
695
|
impersonatedAddress,
|
|
700
|
-
account,
|
|
696
|
+
account === null || account === void 0 ? void 0 : account.address,
|
|
701
697
|
dryRunTransaction,
|
|
702
698
|
suiClient,
|
|
703
|
-
|
|
699
|
+
signTransaction,
|
|
704
700
|
]);
|
|
705
701
|
// Using Ledger
|
|
706
|
-
var
|
|
702
|
+
var _l = useLocalStorage("isUsingLedger-".concat(impersonatedAddress !== null && impersonatedAddress !== void 0 ? impersonatedAddress : account === null || account === void 0 ? void 0 : account.address), false), isUsingLedger = _l[0], setIsUsingLedger = _l[1];
|
|
707
703
|
// Context
|
|
708
704
|
var contextValue = useMemo(function () {
|
|
709
705
|
return {
|
|
@@ -747,18 +743,15 @@ function Inner(_a) {
|
|
|
747
743
|
export function WalletContextProvider(_a) {
|
|
748
744
|
var appName = _a.appName, children = _a.children;
|
|
749
745
|
var rpc = useSettingsContext().rpc;
|
|
750
|
-
var
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
return (<DAppKitProvider dAppKit={dAppKitInstance}>
|
|
762
|
-
<Inner appName={appName}>{children}</Inner>
|
|
763
|
-
</DAppKitProvider>);
|
|
746
|
+
var networkConfig = createNetworkConfig({
|
|
747
|
+
mainnet: { url: rpc.url },
|
|
748
|
+
}).networkConfig;
|
|
749
|
+
var queryClient = new QueryClient();
|
|
750
|
+
return (<QueryClientProvider client={queryClient}>
|
|
751
|
+
<SuiClientProvider networks={networkConfig} defaultNetwork="mainnet">
|
|
752
|
+
<MystenWalletProvider preferredWallets={DEFAULT_EXTENSION_WALLET_NAMES} autoConnect slushWallet={{ name: appName }}>
|
|
753
|
+
<Inner appName={appName}>{children}</Inner>
|
|
754
|
+
</MystenWalletProvider>
|
|
755
|
+
</SuiClientProvider>
|
|
756
|
+
</QueryClientProvider>);
|
|
764
757
|
}
|
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@suilend/sui-fe-next","version":"2.0.
|
|
1
|
+
{"name":"@suilend/sui-fe-next","version":"2.0.31","private":false,"description":"A collection of TypeScript frontend components and hooks","author":"Suilend","license":"MIT","main":"./index.js","exports":{".":"./index.js","./contexts/WalletContext":"./contexts/WalletContext.jsx","./contexts/SettingsContext":"./contexts/SettingsContext.jsx","./contexts":"./contexts/index.js","./fetchers":"./fetchers/index.js","./fetchers/useFetchBalances":"./fetchers/useFetchBalances.js","./hooks/useRefreshOnBalancesChange":"./hooks/useRefreshOnBalancesChange.js","./hooks/useLedgerHashDialog":"./hooks/useLedgerHashDialog.js","./hooks/useIsAndroid":"./hooks/useIsAndroid.jsx","./hooks/useCoinMetadataMap":"./hooks/useCoinMetadataMap.js","./hooks":"./hooks/index.js","./hooks/useIsTouchscreen":"./hooks/useIsTouchscreen.jsx","./hooks/useIsiOS":"./hooks/useIsiOS.jsx","./hooks/keypair":"./hooks/keypair.js","./lib/track":"./lib/track.js","./lib":"./lib/index.js","./lib/router":"./lib/router.js","./lib/toasts":"./lib/toasts.jsx","./lib/connector":"./lib/connector.js"},"types":"./index.js","scripts":{"build":"rm -rf ./dist && bun tsc","eslint":"eslint --fix src/","prettier":"prettier --write src/","lint":"bun eslint && bun prettier && bun tsc --noEmit","release":"bun run build && bun ./release.js && cd ./dist && npm publish --access public"},"repository":{"type":"git","url":"git+https://github.com/suilend/sui-fe.git"},"bugs":{"url":"https://github.com/suilend/sui-fe/issues"},"dependencies":{"@reown/appkit":"^1.8.10","@reown/appkit-common":"^1.8.10","@reown/appkit-universal-connector":"^1.8.10","@tanstack/react-query":"^5.60.2","@wallet-standard/app":"^1.1.0","@walletconnect/universal-provider":"2.21.1","bignumber.js":"^9.1.2","launchdarkly-react-client-sdk":"^3.6.0","lodash":"^4.17.21","mixpanel-browser":"^2.72.0","next":"^15.0.3","react":"18.3.1","react-dom":"18.3.1","react-responsive":"^10.0.0","sonner":"1.4.41","swr":"^2.2.5","tailwind-merge":"^2.5.4","usehooks-ts":"^3.1.1"},"devDependencies":{"@tsconfig/next":"^2.0.3","@types/lodash":"^4.17.13","@types/node":"^22.9.0","@types/react":"^18.3.12","@types/react-dom":"^18.3.1","@typescript-eslint/eslint-plugin":"^8.14.0","@typescript-eslint/parser":"^8.14.0","eslint":"^9.14.0","eslint-config-next":"^15.0.3","eslint-config-prettier":"^9.1.0","eslint-plugin-import":"^2.31.0","eslint-plugin-prettier":"^5.2.1","prettier":"^3.3.3","ts-node":"^10.9.2","typescript":"^5.6.3"},"peerDependencies":{"@mysten/dapp-kit":"0.19.4","@mysten/sui":"2.3.1","@mysten/wallet-standard":"0.19.2","@suilend/sui-fe":"^2.0.10"}}
|