@suilend/sui-fe-next 0.1.71 → 0.1.73
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 +1 -1
- package/contexts/WalletContext.jsx +37 -14
- package/lib/connector.d.ts +1 -1
- package/lib/connector.js +23 -17
- package/package.json +1 -1
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -7,7 +7,7 @@ export declare enum WalletType {
|
|
|
7
7
|
EXTENSION = "extension",
|
|
8
8
|
WEB = "web"
|
|
9
9
|
}
|
|
10
|
-
export type WalletAccount = Omit<WalletStandardWalletAccount,
|
|
10
|
+
export type WalletAccount = Omit<WalletStandardWalletAccount, "publicKey"> & {
|
|
11
11
|
publicKey?: ReadonlyUint8Array;
|
|
12
12
|
};
|
|
13
13
|
type WalletPlatform = "iOS" | "android" | "extension";
|
|
@@ -159,8 +159,8 @@ var WALLET_DOWNLOAD_URLS_MAP = (_b = {},
|
|
|
159
159
|
},
|
|
160
160
|
_b);
|
|
161
161
|
export var WALLET_CONNECT_WALLET = {
|
|
162
|
-
name:
|
|
163
|
-
iconUrl:
|
|
162
|
+
name: "WalletConnect",
|
|
163
|
+
iconUrl: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAMAAABF0y+mAAAALVBMVEVHcEwIiPAIiPAIiPAIiPAIiPAIiPAIiPAIiPAIiPAIiPAIiPAIiPAIiPAIiPAkn9m4AAAAD3RSTlMA/1LKYuq+M906IhIJrYixCTN5AAAAqElEQVQokdWRSRbDIAxDg23m4f7HjQyBFtoLxBv0/DFIcF1vrUQilP6RTM70cpRP5qtZVf3OYkAz1NZqF3GDgk6LOC/HBkz7aGMq83Ju5QMIG0uaCq7LVFiDncpOJTZ0ldWnjI4xVh4LpvZEXgPSVZTBFyhp3CdPdDohcMmsVHe5lVVnLTrsIw/lvt6hn2wcsivdGdzzYIPy8fqeeTrgkyHR6qSfX3lH3W4KBAaKxKsVAAAAAElFTkSuQmCC",
|
|
164
164
|
type: WalletType.WEB,
|
|
165
165
|
isInstalled: true,
|
|
166
166
|
walletConnect: true,
|
|
@@ -224,7 +224,9 @@ function Inner(_a) {
|
|
|
224
224
|
var _h = useState(), universalConnector = _h[0], setUniversalConnector = _h[1];
|
|
225
225
|
var _j = useState(), session = _j[0], setSession = _j[1];
|
|
226
226
|
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];
|
|
227
|
-
var sessionAddress = sessionAddressWithout0x
|
|
227
|
+
var sessionAddress = sessionAddressWithout0x
|
|
228
|
+
? sessionAddressWithout0x.split(":").pop()
|
|
229
|
+
: undefined;
|
|
228
230
|
useEffect(function () {
|
|
229
231
|
(function () { return __awaiter(_this, void 0, void 0, function () {
|
|
230
232
|
var connector;
|
|
@@ -233,14 +235,12 @@ function Inner(_a) {
|
|
|
233
235
|
case 0: return [4 /*yield*/, getUniversalConnector(rpc.url)];
|
|
234
236
|
case 1:
|
|
235
237
|
connector = _a.sent();
|
|
236
|
-
console.log('connector', connector, rpc.url);
|
|
237
238
|
setUniversalConnector(connector);
|
|
238
239
|
return [2 /*return*/];
|
|
239
240
|
}
|
|
240
241
|
});
|
|
241
242
|
}); })();
|
|
242
243
|
}, [rpc.url]);
|
|
243
|
-
console.log('connector', universalConnector);
|
|
244
244
|
// Impersonated address
|
|
245
245
|
var impersonatedAddress = queryParams[WalletContextQueryParams.WALLET];
|
|
246
246
|
// Wallets
|
|
@@ -305,6 +305,7 @@ function Inner(_a) {
|
|
|
305
305
|
type: WalletType.EXTENSION,
|
|
306
306
|
downloadUrls: WALLET_DOWNLOAD_URLS_MAP[WalletName.BACKPACK],
|
|
307
307
|
},
|
|
308
|
+
WALLET_CONNECT_WALLET,
|
|
308
309
|
msafeWallet,
|
|
309
310
|
];
|
|
310
311
|
}, [getInstalledWallet]);
|
|
@@ -358,7 +359,9 @@ function Inner(_a) {
|
|
|
358
359
|
if (sessionAddress) {
|
|
359
360
|
return WALLET_CONNECT_WALLET;
|
|
360
361
|
}
|
|
361
|
-
return rawWallet
|
|
362
|
+
return rawWallet
|
|
363
|
+
? wallets.find(function (w) { return w.name === rawWallet.name; })
|
|
364
|
+
: undefined;
|
|
362
365
|
}, [rawWallet, wallets, sessionAddress]);
|
|
363
366
|
var connectWallet = useConnectWallet().mutate;
|
|
364
367
|
var disconnectWallet = useDisconnectWallet().mutate;
|
|
@@ -383,7 +386,9 @@ function Inner(_a) {
|
|
|
383
386
|
}
|
|
384
387
|
});
|
|
385
388
|
}); }, [sessionAddress, universalConnector]);
|
|
386
|
-
var signPersonalMessage = sessionAddress
|
|
389
|
+
var signPersonalMessage = sessionAddress
|
|
390
|
+
? walletConnectSignPersonalMessage
|
|
391
|
+
: function (message) { return signPersonalMessageRaw({ message: message, account: account }); };
|
|
387
392
|
var connectWalletWrapper = useCallback(function (_wallet) {
|
|
388
393
|
try {
|
|
389
394
|
if (_wallet === null || _wallet === void 0 ? void 0 : _wallet.walletConnect) {
|
|
@@ -434,15 +439,33 @@ function Inner(_a) {
|
|
|
434
439
|
var accountsRes = useAccounts();
|
|
435
440
|
var accountRes = (_f = useCurrentAccount()) !== null && _f !== void 0 ? _f : undefined;
|
|
436
441
|
var switchAccount = useSwitchAccount().mutate;
|
|
437
|
-
var account = sessionAddress
|
|
438
|
-
|
|
442
|
+
var account = sessionAddress
|
|
443
|
+
? {
|
|
444
|
+
address: sessionAddress,
|
|
445
|
+
publicKey: new Uint8Array(),
|
|
446
|
+
chains: ["sui:mainnet"],
|
|
447
|
+
features: [],
|
|
448
|
+
}
|
|
449
|
+
: accountRes;
|
|
450
|
+
var accounts = sessionAddress
|
|
451
|
+
? [
|
|
452
|
+
{
|
|
453
|
+
address: sessionAddress,
|
|
454
|
+
publicKey: new Uint8Array(),
|
|
455
|
+
chains: ["sui:mainnet"],
|
|
456
|
+
features: [],
|
|
457
|
+
},
|
|
458
|
+
]
|
|
459
|
+
: accountsRes;
|
|
439
460
|
var switchAccountWrapper = useCallback(function (_account, addressNameServiceName) {
|
|
440
461
|
var _a, _b, _c;
|
|
441
462
|
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);
|
|
442
463
|
try {
|
|
443
464
|
switchAccount(
|
|
444
465
|
// only address needed here. rest for type compatibility
|
|
445
|
-
{
|
|
466
|
+
{
|
|
467
|
+
account: __assign(__assign({}, _account), { publicKey: (_c = _account.publicKey) !== null && _c !== void 0 ? _c : new Uint8Array() }),
|
|
468
|
+
}, {
|
|
446
469
|
onSuccess: function () {
|
|
447
470
|
showInfoToast("Switched to ".concat(accountLabel), {
|
|
448
471
|
description: (_account === null || _account === void 0 ? void 0 : _account.label)
|
|
@@ -686,7 +709,7 @@ function Inner(_a) {
|
|
|
686
709
|
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];
|
|
687
710
|
// Context
|
|
688
711
|
var contextValue = useMemo(function () {
|
|
689
|
-
return
|
|
712
|
+
return {
|
|
690
713
|
isImpersonating: !!impersonatedAddress,
|
|
691
714
|
isConnectWalletDropdownOpen: isConnectWalletDropdownOpen,
|
|
692
715
|
setIsConnectWalletDropdownOpen: setIsConnectWalletDropdownOpen,
|
|
@@ -702,8 +725,8 @@ function Inner(_a) {
|
|
|
702
725
|
signExecuteAndWaitForTransaction: signExecuteAndWaitForTransaction,
|
|
703
726
|
isUsingLedger: isUsingLedger,
|
|
704
727
|
setIsUsingLedger: setIsUsingLedger,
|
|
705
|
-
signPersonalMessage: signPersonalMessage
|
|
706
|
-
}
|
|
728
|
+
signPersonalMessage: signPersonalMessage,
|
|
729
|
+
};
|
|
707
730
|
}, [
|
|
708
731
|
session,
|
|
709
732
|
impersonatedAddress,
|
|
@@ -719,7 +742,7 @@ function Inner(_a) {
|
|
|
719
742
|
signExecuteAndWaitForTransaction,
|
|
720
743
|
isUsingLedger,
|
|
721
744
|
setIsUsingLedger,
|
|
722
|
-
signPersonalMessage
|
|
745
|
+
signPersonalMessage,
|
|
723
746
|
]);
|
|
724
747
|
return (<WalletContext.Provider value={contextValue}>
|
|
725
748
|
{children}
|
package/lib/connector.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { UniversalConnector } from
|
|
1
|
+
import { UniversalConnector } from "@reown/appkit-universal-connector";
|
|
2
2
|
export declare const projectId = "8bd21cb34c6a79f37b99768f8f607a99";
|
|
3
3
|
export declare function getUniversalConnector(rpcUrl: string): Promise<UniversalConnector>;
|
package/lib/connector.js
CHANGED
|
@@ -34,11 +34,11 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
34
34
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
35
35
|
}
|
|
36
36
|
};
|
|
37
|
-
import { UniversalConnector } from
|
|
37
|
+
import { UniversalConnector } from "@reown/appkit-universal-connector";
|
|
38
38
|
// Get projectId from https://dashboard.reown.com
|
|
39
39
|
export var projectId = "8bd21cb34c6a79f37b99768f8f607a99";
|
|
40
40
|
if (!projectId) {
|
|
41
|
-
throw new Error(
|
|
41
|
+
throw new Error("Project ID is not defined");
|
|
42
42
|
}
|
|
43
43
|
export function getUniversalConnector(rpcUrl) {
|
|
44
44
|
return __awaiter(this, void 0, void 0, function () {
|
|
@@ -48,26 +48,32 @@ export function getUniversalConnector(rpcUrl) {
|
|
|
48
48
|
case 0: return [4 /*yield*/, UniversalConnector.init({
|
|
49
49
|
projectId: projectId,
|
|
50
50
|
metadata: {
|
|
51
|
-
name:
|
|
52
|
-
description:
|
|
53
|
-
url:
|
|
54
|
-
icons: [
|
|
51
|
+
name: "Universal Connector",
|
|
52
|
+
description: "Universal Connector",
|
|
53
|
+
url: "http://localhost:3000",
|
|
54
|
+
icons: ["https://appkit.reown.com/icon.png"],
|
|
55
55
|
},
|
|
56
56
|
networks: [
|
|
57
57
|
{
|
|
58
|
-
methods: [
|
|
59
|
-
|
|
58
|
+
methods: [
|
|
59
|
+
"sui_signPersonalMessage",
|
|
60
|
+
"sui_signTransaction",
|
|
61
|
+
"sui_signAndExecuteTransaction",
|
|
62
|
+
],
|
|
63
|
+
chains: [
|
|
64
|
+
{
|
|
60
65
|
id: 784,
|
|
61
|
-
chainNamespace:
|
|
62
|
-
caipNetworkId:
|
|
63
|
-
name:
|
|
64
|
-
nativeCurrency: { name:
|
|
65
|
-
rpcUrls: { default: { http: [rpcUrl] } }
|
|
66
|
-
}
|
|
66
|
+
chainNamespace: "sui",
|
|
67
|
+
caipNetworkId: "sui:mainnet",
|
|
68
|
+
name: "Sui",
|
|
69
|
+
nativeCurrency: { name: "SUI", symbol: "SUI", decimals: 9 },
|
|
70
|
+
rpcUrls: { default: { http: [rpcUrl] } },
|
|
71
|
+
},
|
|
72
|
+
],
|
|
67
73
|
events: [],
|
|
68
|
-
namespace:
|
|
69
|
-
}
|
|
70
|
-
]
|
|
74
|
+
namespace: "sui",
|
|
75
|
+
},
|
|
76
|
+
],
|
|
71
77
|
})];
|
|
72
78
|
case 1:
|
|
73
79
|
universalConnector = _a.sent();
|
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@suilend/sui-fe-next","version":"0.1.
|
|
1
|
+
{"name":"@suilend/sui-fe-next","version":"0.1.73","private":false,"description":"A collection of TypeScript frontend components and hooks","author":"Suilend","license":"MIT","main":"./index.js","exports":{".":"./index.js","./contexts/SettingsContext":"./contexts/SettingsContext.jsx","./contexts/WalletContext":"./contexts/WalletContext.jsx","./contexts":"./contexts/index.js","./fetchers":"./fetchers/index.js","./fetchers/useFetchBalances":"./fetchers/useFetchBalances.js","./hooks":"./hooks/index.js","./hooks/keypair":"./hooks/keypair.js","./hooks/useCoinMetadataMap":"./hooks/useCoinMetadataMap.js","./hooks/useIsAndroid":"./hooks/useIsAndroid.jsx","./hooks/useIsTouchscreen":"./hooks/useIsTouchscreen.jsx","./hooks/useIsiOS":"./hooks/useIsiOS.jsx","./hooks/useLedgerHashDialog":"./hooks/useLedgerHashDialog.js","./hooks/useRefreshOnBalancesChange":"./hooks/useRefreshOnBalancesChange.js","./lib/connector":"./lib/connector.js","./lib":"./lib/index.js","./lib/router":"./lib/router.js","./lib/toasts":"./lib/toasts.jsx"},"types":"./index.js","scripts":{"build":"rm -rf ./dist && bun tsc","eslint":"eslint --fix \"./src/**/*.ts\"","prettier":"prettier --write \"./src/**/*\"","lint":"bun eslint && bun prettier && bun tsc --noEmit","release":"bun run build && bun ts-node ./release.ts && 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","@sentry/nextjs":"^8.38.0","@tanstack/react-query":"^5.60.2","bignumber.js":"^9.1.2","launchdarkly-react-client-sdk":"^3.6.0","lodash":"^4.17.21","next":"^15.0.3","react":"18.3.1","react-dom":"18.3.1","react-responsive":"^10.0.0","shio-sdk":"^1.0.8","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.16.0","@mysten/sui":"1.28.2","@mysten/wallet-standard":"0.14.7","@suilend/sui-fe":"^0.3.31"}}
|