@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.
@@ -1,14 +1,14 @@
1
1
  import { Dispatch, PropsWithChildren, SetStateAction } from "react";
2
- import { type UiWallet } from "@mysten/dapp-kit-core";
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 { type SignedTransaction, type WalletIcon, type WalletAccount as WalletStandardWalletAccount } from "@mysten/wallet-standard";
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?: WalletStandardWalletAccount["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?: UiWallet;
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: SignedTransaction) => void, onExecute?: (res: SuiTransactionBlockResponse) => void) => Promise<SuiTransactionBlockResponse>;
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 { createDAppKit, getWalletUniqueIdentifier, } from "@mysten/dapp-kit-core";
61
- import { DAppKitProvider, useCurrentAccount, useCurrentWallet, useDAppKit, useWalletConnection, useWallets, } from "@mysten/dapp-kit-react";
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 { getWallets } from "@wallet-standard/app";
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, _g;
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 _h = useSettingsContext(), rpc = _h.rpc, suiClient = _h.suiClient;
220
+ var _g = useSettingsContext(), rpc = _g.rpc, suiClient = _g.suiClient;
222
221
  // Only used for wallet connect
223
- var _j = useState(), universalConnector = _j[0], setUniversalConnector = _j[1];
224
- var _k = useState(), session = _k[0], setSession = _k[1];
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 _l = useState(false), isConnectWalletDropdownOpen = _l[0], setIsConnectWalletDropdownOpen = _l[1];
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 = dAppKit.connectWallet;
367
- var disconnectWallet = dAppKit.disconnectWallet;
368
- var signPersonalMessageRaw = dAppKit.signPersonalMessage;
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
- universalConnector.disconnect();
402
- setSession(null);
403
- showInfoToast("Connected ".concat(_wallet.name));
404
- setIsConnectWalletDropdownOpen(false);
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
- showInfoToast("Disconnected wallet");
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 walletConnection = useWalletConnection();
429
- var accountsRes = useMemo(function () { var _a, _b; return (_b = (_a = walletConnection.wallet) === null || _a === void 0 ? void 0 : _a.accounts) !== null && _b !== void 0 ? _b : []; }, [(_f = walletConnection.wallet) === null || _f === void 0 ? void 0 : _f.accounts]);
430
- var accountRes = (_g = useCurrentAccount()) !== null && _g !== void 0 ? _g : undefined;
431
- var walletConnectAccount = useMemo(function () {
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
- : undefined;
440
- }, [sessionAddress]);
441
- var account = useMemo(function () { return walletConnectAccount !== null && walletConnectAccount !== void 0 ? walletConnectAccount : accountRes; }, [walletConnectAccount, accountRes]);
442
- var accounts = useMemo(function () { return (walletConnectAccount ? [walletConnectAccount] : accountsRes); }, [walletConnectAccount, accountsRes]);
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
- }, [sessionAddress, walletConnectSignPersonalMessage, signPersonalMessageRaw]);
448
- var DAPP_KIT_STORAGE_KEY = "mysten-dapp-kit:selected-wallet-and-address";
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, _d;
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
- var matchingAccount = (_c = walletConnection.wallet) === null || _c === void 0 ? void 0 : _c.accounts.find(function (a) { return a.address === _account.address; });
454
- if (!matchingAccount)
455
- throw new Error("Account not found");
456
- dAppKit.switchAccount({ account: matchingAccount });
457
- // Persist to dapp-kit's own storage key so autoconnect restores
458
- // the correct account on page reload.
459
- try {
460
- var walletId = getWalletUniqueIdentifier(matchingAccount);
461
- var intents = (_d = walletConnection.supportedIntents) !== null && _d !== void 0 ? _d : [];
462
- var storageValue = "".concat(walletId.replace(":", "_"), ":").concat(matchingAccount.address, ":").concat(intents.join(","), ":");
463
- localStorage.setItem(DAPP_KIT_STORAGE_KEY, storageValue);
464
- }
465
- catch (_e) { }
466
- showInfoToast("Switched to ".concat(accountLabel), {
467
- description: (_account === null || _account === void 0 ? void 0 : _account.label)
468
- ? (addressNameServiceName !== null && addressNameServiceName !== void 0 ? addressNameServiceName : formatAddress(_account.address))
469
- : undefined,
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
- }, [dAppKit, walletConnection]);
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, signedTransaction_1, res1_1, res2_1, msafeWallet, msafeFeature, msafeAccount, signedTransaction, res1, res2, err_3;
578
- var _a, _b, _c, _d;
579
- return __generator(this, function (_e) {
580
- switch (_e.label) {
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
- _e.label = 1;
621
+ _c.label = 1;
590
622
  case 1:
591
- _e.trys.push([1, 13, , 14]);
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
- if (!(sessionAddress && universalConnector)) return [3 /*break*/, 6];
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 = _e.sent();
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 = _e.sent();
614
- signedTransaction_1 = {
646
+ res = _c.sent();
647
+ signedTransaction = {
615
648
  bytes: res.transactionBytes,
616
649
  signature: res.signature,
617
650
  };
618
- onSign === null || onSign === void 0 ? void 0 : onSign(signedTransaction_1);
619
- return [4 /*yield*/, suiClient.executeTransactionBlock({
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 10:
664
- signedTransaction = _e.sent();
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 11:
671
- res1 = _e.sent();
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 12:
683
- res2 = _e.sent();
684
- if (((_c = res2.effects) === null || _c === void 0 ? void 0 : _c.status) !== undefined &&
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((_d = res2.effects.status.error) !== null && _d !== void 0 ? _d : "Transaction failed");
682
+ throw new Error((_b = res2.effects.status.error) !== null && _b !== void 0 ? _b : "Transaction failed");
687
683
  return [2 /*return*/, res2];
688
- case 13:
689
- err_3 = _e.sent();
684
+ case 9:
685
+ err_3 = _c.sent();
690
686
  console.error(err_3);
691
687
  throw err_3;
692
- case 14: return [2 /*return*/];
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
- dAppKit,
699
+ signTransaction,
704
700
  ]);
705
701
  // Using Ledger
706
- var _m = useLocalStorage("isUsingLedger-".concat(impersonatedAddress !== null && impersonatedAddress !== void 0 ? impersonatedAddress : account === null || account === void 0 ? void 0 : account.address), false), isUsingLedger = _m[0], setIsUsingLedger = _m[1];
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 dAppKitInstance = useMemo(function () {
751
- return createDAppKit({
752
- networks: ["mainnet"],
753
- createClient: function () {
754
- return new SuiJsonRpcClient({ url: rpc.url, network: "mainnet" });
755
- },
756
- defaultNetwork: "mainnet",
757
- autoConnect: true,
758
- slushWalletConfig: { appName: appName },
759
- });
760
- }, [rpc.url, appName]);
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.30","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-core":"1.0.3","@mysten/dapp-kit-react":"1.0.1","@mysten/sui":"2.3.1","@mysten/wallet-standard":"0.20.0","@suilend/sui-fe":"^2.0.10"}}
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"}}