@suilend/sui-fe-next 0.1.47

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.
@@ -0,0 +1,616 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
13
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
14
+ return new (P || (P = Promise))(function (resolve, reject) {
15
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
16
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
17
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
18
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
19
+ });
20
+ };
21
+ var __generator = (this && this.__generator) || function (thisArg, body) {
22
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
23
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
24
+ function verb(n) { return function (v) { return step([n, v]); }; }
25
+ function step(op) {
26
+ if (f) throw new TypeError("Generator is already executing.");
27
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
28
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
29
+ if (y = 0, t) op = [op[0] & 2, t.value];
30
+ switch (op[0]) {
31
+ case 0: case 1: t = op; break;
32
+ case 4: _.label++; return { value: op[1], done: false };
33
+ case 5: _.label++; y = op[1]; op = [0]; continue;
34
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
35
+ default:
36
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
37
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
38
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
39
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
40
+ if (t[2]) _.ops.pop();
41
+ _.trys.pop(); continue;
42
+ }
43
+ op = body.call(thisArg, _);
44
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
45
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
46
+ }
47
+ };
48
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
49
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
50
+ if (ar || !(i in from)) {
51
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
52
+ ar[i] = from[i];
53
+ }
54
+ }
55
+ return to.concat(ar || Array.prototype.slice.call(from));
56
+ };
57
+ var _a, _b;
58
+ import { useRouter } from "next/router";
59
+ import { createContext, useCallback, useContext, useEffect, useMemo, useRef, useState, } from "react";
60
+ import { WalletProvider as MystenWalletProvider, SuiClientProvider, createNetworkConfig, } from "@mysten/dapp-kit";
61
+ import { useAccounts, useConnectWallet, useCurrentAccount, useCurrentWallet, useDisconnectWallet, useSignTransaction, useSwitchAccount, useWallets, } from "@mysten/dapp-kit";
62
+ import { SUI_DECIMALS } from "@mysten/sui/utils";
63
+ import * as Sentry from "@sentry/nextjs";
64
+ import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
65
+ import BigNumber from "bignumber.js";
66
+ import { useLDClient } from "launchdarkly-react-client-sdk";
67
+ import { executeAuction } from "shio-sdk";
68
+ import { API_URL, formatAddress, isInMsafeApp } from "@suilend/sui-fe";
69
+ import { showErrorToast, showInfoToast } from "../lib";
70
+ import { useSettingsContext } from "./SettingsContext";
71
+ export var WalletType;
72
+ (function (WalletType) {
73
+ WalletType["EXTENSION"] = "extension";
74
+ WalletType["WEB"] = "web";
75
+ })(WalletType || (WalletType = {}));
76
+ var WalletName;
77
+ (function (WalletName) {
78
+ WalletName["SLUSH"] = "Slush";
79
+ WalletName["BACKPACK"] = "Backpack";
80
+ WalletName["PHANTOM"] = "Phantom";
81
+ WalletName["NIGHTLY"] = "Nightly";
82
+ WalletName["SUIET"] = "Suiet";
83
+ WalletName["BYBIT_WALLET"] = "Bybit Wallet";
84
+ WalletName["GATE_WALLET"] = "Gate Wallet";
85
+ WalletName["OKX_WALLET"] = "OKX Wallet";
86
+ WalletName["MSAFE_WALLET"] = "MSafe Wallet";
87
+ })(WalletName || (WalletName = {}));
88
+ export var DEFAULT_EXTENSION_WALLET_NAMES = [
89
+ WalletName.SLUSH,
90
+ WalletName.BACKPACK,
91
+ WalletName.PHANTOM,
92
+ WalletName.NIGHTLY,
93
+ WalletName.SUIET,
94
+ WalletName.BYBIT_WALLET,
95
+ WalletName.GATE_WALLET,
96
+ WalletName.OKX_WALLET,
97
+ WalletName.MSAFE_WALLET,
98
+ ];
99
+ var WEB_WALLET_NAMES = [];
100
+ var WALLET_LOGO_MAP = (_a = {},
101
+ _a[WalletName.SLUSH] = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDgiIGhlaWdodD0iNDgiIHZpZXdCb3g9IjAgMCA0OCA0OCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTAgMjRDMCAxMC43NDUyIDEwLjc0NTIgMCAyNCAwQzM3LjI1NDggMCA0OCAxMC43NDUyIDQ4IDI0QzQ4IDM3LjI1NDggMzcuMjU0OCA0OCAyNCA0OEMxMC43NDUyIDQ4IDAgMzcuMjU0OCAwIDI0WiIgZmlsbD0iIzBDMEExRiIvPgo8cGF0aCBkPSJNMTMuMTM1OCAzMi4xMDg1QzE0LjE3MDEgMzUuOTY4MyAxOC4wMzMxIDM5LjQ2MjQgMjYuMDI1NSAzNy4zMjA4QzMzLjY1MTUgMzUuMjc3NCAzOC40MzA5IDI5LjAwNCAzNy4xOTE2IDI0LjM3ODlDMzYuNzYzNiAyMi43ODE3IDM1LjQ3NDYgMjEuNzAwNiAzMy40ODcyIDIxLjg3NjVMMTUuNzE2NSAyMy4zNTcyQzE0LjU5NzMgMjMuNDQzIDE0LjA4NDIgMjMuMjU5NiAxMy43ODgxIDIyLjU1NDNDMTMuNTAxIDIxLjg4MjMgMTMuNjY0NiAyMS4xNjA5IDE1LjAxNjMgMjAuNDc3N0wyOC41NDAxIDEzLjUzNzRDMjkuNTc2NyAxMy4wMSAzMC4yNjcxIDEyLjc4OTMgMzAuODk4IDEzLjAxMjZDMzEuMjkzNCAxMy4xNTYzIDMxLjU1MzggMTMuNzI4NCAzMS4zMTQ3IDE0LjQzNDRMMzAuNDM3OCAxNy4wMjMyQzI5LjM2MTcgMjAuMjAwMiAzMS42NjUzIDIwLjkzODIgMzIuOTY0MSAyMC41OTAyQzM0LjkyODkgMjAuMDYzNyAzNS4zOTExIDE4LjE5MjMgMzQuNzU4MSAxNS44Mjk5QzMzLjE1MzMgOS44NDA1NCAyNi43OTkgOC45MDQxMSAyMS4wMzc4IDEwLjQ0NzhDMTUuMTc2NyAxMi4wMTgzIDEwLjA5NiAxNi43Njc2IDExLjY0NzQgMjIuNTU3M0MxMi4wMTI5IDIzLjkyMTYgMTMuMjY4NyAyNS4wMTE2IDE0LjcyMzIgMjQuOTc4NUwxNi45NDM4IDI0Ljk3MzFDMTcuNDAwNCAyNC45NjI1IDE3LjIzNiAyNSAxOC4xMTcgMjQuOTI3MUMxOC45OTggMjQuODU0MSAyMS4zNTA5IDI0LjU2NDYgMjEuMzUwOSAyNC41NjQ2TDMyLjg5NjIgMjMuMjU4TDMzLjE5MzcgMjMuMjE0OEMzMy44Njg5IDIzLjA5OTcgMzQuMzc5MiAyMy4yNzUgMzQuODEwNiAyNC4wMTgzQzM1LjQ1NjMgMjUuMTMwNCAzNC40NzEyIDI1Ljk2OTEgMzMuMjkyIDI2Ljk3MzFDMzMuMjYwNSAyNyAzMy4yMjg4IDI3LjAyNyAzMy4xOTcgMjcuMDU0MUwyMy4wNDgyIDM1LjgwMDVDMjEuMzA4NyAzNy4zMDA4IDIwLjA4NjcgMzYuNzM2NyAxOS42NTg4IDM1LjEzOTVMMTguMTQzMSAyOS40ODI5QzE3Ljc2ODcgMjguMDg1NCAxNi40MDQxIDI2Ljk4ODkgMTQuODA1NiAyNy40MTcyQzEyLjgwNzUgMjcuOTUyNiAxMi42NDU1IDMwLjI3ODQgMTMuMTM1OCAzMi4xMDg1WiIgZmlsbD0iI0ZCRkFGRiIvPgo8L3N2Zz4K",
102
+ _a[WalletName.BACKPACK] = "data:image/png;base64,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",
103
+ _a[WalletName.PHANTOM] = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTA4IiBoZWlnaHQ9IjEwOCIgdmlld0JveD0iMCAwIDEwOCAxMDgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHdpZHRoPSIxMDgiIGhlaWdodD0iMTA4IiByeD0iMjYiIGZpbGw9IiNBQjlGRjIiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00Ni41MjY3IDY5LjkyMjlDNDIuMDA1NCA3Ni44NTA5IDM0LjQyOTIgODUuNjE4MiAyNC4zNDggODUuNjE4MkMxOS41ODI0IDg1LjYxODIgMTUgODMuNjU2MyAxNSA3NS4xMzQyQzE1IDUzLjQzMDUgNDQuNjMyNiAxOS44MzI3IDcyLjEyNjggMTkuODMyN0M4Ny43NjggMTkuODMyNyA5NCAzMC42ODQ2IDk0IDQzLjAwNzlDOTQgNTguODI1OCA4My43MzU1IDc2LjkxMjIgNzMuNTMyMSA3Ni45MTIyQzcwLjI5MzkgNzYuOTEyMiA2OC43MDUzIDc1LjEzNDIgNjguNzA1MyA3Mi4zMTRDNjguNzA1MyA3MS41NzgzIDY4LjgyNzUgNzAuNzgxMiA2OS4wNzE5IDY5LjkyMjlDNjUuNTg5MyA3NS44Njk5IDU4Ljg2ODUgODEuMzg3OCA1Mi41NzU0IDgxLjM4NzhDNDcuOTkzIDgxLjM4NzggNDUuNjcxMyA3OC41MDYzIDQ1LjY3MTMgNzQuNDU5OEM0NS42NzEzIDcyLjk4ODQgNDUuOTc2OCA3MS40NTU2IDQ2LjUyNjcgNjkuOTIyOVpNODMuNjc2MSA0Mi41Nzk0QzgzLjY3NjEgNDYuMTcwNCA4MS41NTc1IDQ3Ljk2NTggNzkuMTg3NSA0Ny45NjU4Qzc2Ljc4MTYgNDcuOTY1OCA3NC42OTg5IDQ2LjE3MDQgNzQuNjk4OSA0Mi41Nzk0Qzc0LjY5ODkgMzguOTg4NSA3Ni43ODE2IDM3LjE5MzEgNzkuMTg3NSAzNy4xOTMxQzgxLjU1NzUgMzcuMTkzMSA4My42NzYxIDM4Ljk4ODUgODMuNjc2MSA0Mi41Nzk0Wk03MC4yMTAzIDQyLjU3OTVDNzAuMjEwMyA0Ni4xNzA0IDY4LjA5MTYgNDcuOTY1OCA2NS43MjE2IDQ3Ljk2NThDNjMuMzE1NyA0Ny45NjU4IDYxLjIzMyA0Ni4xNzA0IDYxLjIzMyA0Mi41Nzk1QzYxLjIzMyAzOC45ODg1IDYzLjMxNTcgMzcuMTkzMSA2NS43MjE2IDM3LjE5MzFDNjguMDkxNiAzNy4xOTMxIDcwLjIxMDMgMzguOTg4NSA3MC4yMTAzIDQyLjU3OTVaIiBmaWxsPSIjRkZGREY4Ii8+Cjwvc3ZnPgo=",
104
+ _a[WalletName.NIGHTLY] = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyOC4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iV2Fyc3R3YV8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCINCgkgdmlld0JveD0iMCAwIDg1MS41IDg1MS41IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA4NTEuNSA4NTEuNTsiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCgkuc3Qwe2ZpbGw6IzYwNjdGOTt9DQoJLnN0MXtmaWxsOiNGN0Y3Rjc7fQ0KPC9zdHlsZT4NCjxnPg0KCTxnIGlkPSJXYXJzdHdhXzJfMDAwMDAwMTQ2MDk2NTQyNTMxODA5NDY0NjAwMDAwMDg2NDc4NTIwMDIxMTY5MTg2ODhfIj4NCgkJPHBhdGggY2xhc3M9InN0MCIgZD0iTTEyNCwwaDYwMy42YzY4LjUsMCwxMjQsNTUuNSwxMjQsMTI0djYwMy42YzAsNjguNS01NS41LDEyNC0xMjQsMTI0SDEyNGMtNjguNSwwLTEyNC01NS41LTEyNC0xMjRWMTI0DQoJCQlDMCw1NS41LDU1LjUsMCwxMjQsMHoiLz4NCgk8L2c+DQoJPGcgaWQ9IldhcnN0d2FfMyI+DQoJCTxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik02MjMuNSwxNzAuM2MtMzcuNCw1Mi4yLTg0LjIsODguNC0xMzkuNSwxMTIuNmMtMTkuMi01LjMtMzguOS04LTU4LjMtNy44Yy0xOS40LTAuMi0zOS4xLDIuNi01OC4zLDcuOA0KCQkJYy01NS4zLTI0LjMtMTAyLjEtNjAuMy0xMzkuNS0xMTIuNmMtMTEuMywyOC40LTU0LjgsMTI2LjQtMi42LDI2My40YzAsMC0xNi43LDcxLjUsMTQsMTMyLjljMCwwLDQ0LjQtMjAuMSw3OS43LDguMg0KCQkJYzM2LjksMjkuOSwyNS4xLDU4LjcsNTEuMSw4My41YzIyLjQsMjIuOSw1NS43LDIyLjksNTUuNywyMi45czMzLjMsMCw1NS43LTIyLjhjMjYtMjQuNywxNC4zLTUzLjUsNTEuMS04My41DQoJCQljMzUuMi0yOC4zLDc5LjctOC4yLDc5LjctOC4yYzMwLjYtNjEuNCwxNC0xMzIuOSwxNC0xMzIuOUM2NzguMywyOTYuNyw2MzQuOSwxOTguNyw2MjMuNSwxNzAuM3ogTTI1My4xLDQxNC44DQoJCQljLTI4LjQtNTguMy0zNi4yLTEzOC4zLTE4LjMtMjAxLjVjMjMuNyw2MCw1NS45LDg2LjksOTQuMiwxMTUuM0MzMTIuOCwzNjIuMywyODIuMywzOTQuMSwyNTMuMSw0MTQuOHogTTMzNC44LDUxNy41DQoJCQljLTIyLjQtOS45LTI3LjEtMjkuNC0yNy4xLTI5LjRjMzAuNS0xOS4yLDc1LjQtNC41LDc2LjgsNDAuOUMzNjAuOSw1MTQuNywzNTMsNTI1LjQsMzM0LjgsNTE3LjV6IE00MjUuNyw2NzguNw0KCQkJYy0xNiwwLTI5LTExLjUtMjktMjUuNnMxMy0yNS42LDI5LTI1LjZzMjksMTEuNSwyOSwyNS42QzQ1NC43LDY2Ny4zLDQ0MS43LDY3OC43LDQyNS43LDY3OC43eiBNNTE2LjcsNTE3LjUNCgkJCWMtMTguMiw4LTI2LTIuOC00OS43LDExLjVjMS41LTQ1LjQsNDYuMi02MC4xLDc2LjgtNDAuOUM1NDMuOCw0ODgsNTM5LDUwNy42LDUxNi43LDUxNy41eiBNNTk4LjMsNDE0LjgNCgkJCWMtMjkuMS0yMC43LTU5LjctNTIuNC03Ni04Ni4yYzM4LjMtMjguNCw3MC42LTU1LjQsOTQuMi0xMTUuM0M2MzQuNiwyNzYuNSw2MjYuOCwzNTYuNiw1OTguMyw0MTQuOHoiLz4NCgk8L2c+DQo8L2c+DQo8L3N2Zz4NCg==",
105
+ _a[WalletName.SUIET] = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNjQiIGhlaWdodD0iNjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHJlY3Qgd2lkdGg9IjY0IiBoZWlnaHQ9IjY0IiByeD0iMjQiIGZpbGw9InVybCgjcGFpbnQwX3JhZGlhbF8zMDVfMTI1MTYpIi8+PHBhdGggZD0iTTUxLjUgNDMuNmMtMy45IDAtNy42LTMuOS05LjUtNi40LTEuOSAyLjUtNS42IDYuNC05LjUgNi40LTQgMC03LjctMy45LTkuNS02LjQtMS44IDIuNS01LjUgNi40LTkuNSA2LjQtLjggMC0xLjUtLjYtMS41LTEuNSAwLS44LjctMS41IDEuNS0xLjUgMy4yIDAgNy4xLTUuMSA4LjItNi45LjMtLjQuOC0uNyAxLjMtLjdzMSAuMiAxLjMuN2MxLjEgMS44IDUgNi45IDguMiA2LjkgMy4xIDAgNy4xLTUuMSA4LjItNi45LjMtLjQuOC0uNyAxLjMtLjdzMSAuMiAxLjIuN2MxLjEgMS44IDUgNi45IDguMiA2LjkuOSAwIDEuNi43IDEuNiAxLjUgMCAuOS0uNiAxLjUtMS41IDEuNXoiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNNTEuNSA1Mi4zYy0zLjkgMC03LjYtMy45LTkuNS02LjQtMS45IDIuNS01LjYgNi40LTkuNSA2LjQtNCAwLTcuNy0zLjktOS41LTYuNC0xLjggMi41LTUuNSA2LjQtOS41IDYuNC0uOCAwLTEuNS0uNi0xLjUtMS41IDAtLjguNy0xLjUgMS41LTEuNSAzLjIgMCA3LjEtNS4xIDguMi02LjkuMy0uNC44LS43IDEuMy0uN3MxIC4zIDEuMy43YzEuMSAxLjggNSA2LjkgOC4yIDYuOSAzLjEgMCA3LjEtNS4xIDguMi02LjkuMy0uNC44LS43IDEuMy0uN3MxIC4zIDEuMi43YzEuMSAxLjggNSA2LjkgOC4yIDYuOS45IDAgMS42LjcgMS42IDEuNSAwIC45LS42IDEuNS0xLjUgMS41ek0xNC42IDM2LjdjLS44IDAtMS40LS41LTEuNi0xLjNsLS4zLTMuNmMwLTEwLjkgOC45LTE5LjggMTkuOC0xOS44IDExIDAgMTkuOCA4LjkgMTkuOCAxOS44bC0uMyAzLjZjLS4xLjgtLjkgMS40LTEuNyAxLjItLjktLjEtMS41LS45LTEuMy0xLjhsLjMtM2MwLTkuMi03LjUtMTYuOC0xNi44LTE2LjgtOS4yIDAtMTYuNyA3LjUtMTYuNyAxNi44bC4yIDMuMWMuMi44LS4zIDEuNi0xLjEgMS44aC0uM3oiIGZpbGw9IiNmZmYiLz48ZGVmcz48cmFkaWFsR3JhZGllbnQgaWQ9InBhaW50MF9yYWRpYWxfMzA1XzEyNTE2IiBjeD0iMCIgY3k9IjAiIHI9IjEiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDUyLjc1ODAzIDUxLjM1OCAtNTEuNDM5NDcgNTIuODQxNzIgMCA3LjQwNykiPjxzdG9wIHN0b3AtY29sb3I9IiMwMDU4REQiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiM2N0M4RkYiLz48L3JhZGlhbEdyYWRpZW50PjwvZGVmcz48L3N2Zz4=",
106
+ _a[WalletName.BYBIT_WALLET] = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iODgiIGhlaWdodD0iODgiIHZpZXdCb3g9IjAgMCA4OCA4OCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTAgMTguN0MwIDguMzcyMjcgOC4zNzIyOCAwIDE4LjcgMEg2OS4zQzc5LjYyNzcgMCA4OCA4LjM3MjI4IDg4IDE4LjdWNjkuM0M4OCA3OS42Mjc3IDc5LjYyNzcgODggNjkuMyA4OEgxOC43QzguMzcyMjcgODggMCA3OS42Mjc3IDAgNjkuM1YxOC43WiIgZmlsbD0iIzQwNDM0NyIvPgo8cGF0aCBkPSJNNy41NzYxNyAyNi44MDY3QzYuNzg1MTYgMjQuMDc4NyA4LjQ3NzUgMjEuMjUzMSAxMS4yNTU5IDIwLjY2M0w1Ny42MDg3IDEwLjgxNzNDNTkuODA5IDEwLjM1IDYyLjA0NDMgMTEuNDQ0MyA2My4wMjQ3IDEzLjQ2ODlMODMuODQ0MyA1Ni40NjU3TDI1LjE3NzYgODcuNTEwMUw3LjU3NjE3IDI2LjgwNjdaIiBmaWxsPSJ1cmwoI3BhaW50MF9saW5lYXJfMzEyXzE3NTM0KSIvPgo8cGF0aCBkPSJNOC4xODI0MiAzMC4xNjE4QzcuMzUwNDkgMjcuMjgzOCA5LjI3OTI1IDI0LjM0MTMgMTIuMjUwMiAyMy45NTU5TDczLjY4NjUgMTUuOTg4MUM3Ni4yMzkxIDE1LjY1NzEgNzguNjExMSAxNy4zNjE4IDc5LjExMTEgMTkuODg2N0w4OC4wMDAzIDY0Ljc3NzFMMjQuNjg5MiA4Ny4yNjY1TDguMTgyNDIgMzAuMTYxOFoiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGQ9Ik0wIDM0LjIyMjJDMCAyOC44MjIxIDQuMzc3NjYgMjQuNDQ0NSA5Ljc3Nzc4IDI0LjQ0NDVINjguNDQ0NEM3OS4yNDQ3IDI0LjQ0NDUgODggMzMuMTk5OCA4OCA0NFY2OC40NDQ1Qzg4IDc5LjI0NDcgNzkuMjQ0NyA4OCA2OC40NDQ0IDg4SDE5LjU1NTZDOC43NTUzMiA4OCAwIDc5LjI0NDcgMCA2OC40NDQ1VjM0LjIyMjJaIiBmaWxsPSJibGFjayIvPgo8cGF0aCBkPSJNNTguMjIwMSA2MS4xOTU5VjQyLjg3NTVINjEuNzkzN1Y2MS4xOTU5SDU4LjIyMDFaIiBmaWxsPSIjRjdBNjAwIi8+CjxwYXRoIGQ9Ik0xNy40Mzk1IDY2LjY2MzdIOS43Nzc5NVY0OC4zNDM0SDE3LjEzMTNDMjAuNzA0OSA0OC4zNDM0IDIyLjc4NzQgNTAuMzUwNSAyMi43ODc0IDUzLjQ4OTNDMjIuNzg3NCA1NS41MjE1IDIxLjQ1MDQgNTYuODM0NSAyMC41MjU3IDU3LjI3MjFDMjEuNjMxNSA1Ny43ODY5IDIzLjA0NTYgNTguOTQzOCAyMy4wNDU2IDYxLjM4ODVDMjMuMDQ1NiA2NC44MTA4IDIwLjcwNDkgNjYuNjYzNyAxNy40Mzk1IDY2LjY2MzdaTTE2Ljg0ODEgNTEuNTM0M0gxMy4zNTE2VjU1Ljc1NDhIMTYuODQ4MUMxOC4zNjQyIDU1Ljc1NDggMTkuMjEzOCA1NC45MDY0IDE5LjIxMzggNTMuNjQ1NUMxOS4yMTM4IDUyLjM4MjYgMTguMzY2MiA1MS41MzQzIDE2Ljg0ODEgNTEuNTM0M1pNMTcuMDc5MyA1OC45NzA4SDEzLjM1MTZWNjMuNDcyOEgxNy4wNzkzQzE4LjY5OTQgNjMuNDcyOCAxOS40NyA2Mi40NDMyIDE5LjQ3IDYxLjIwOTJDMTkuNDcyIDU5Ljk3MzMgMTguNjk5NCA1OC45NzA4IDE3LjA3OTMgNTguOTcwOFoiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGQ9Ik0zMi44OTI1IDU5LjE1MDFWNjYuNjYzN0gyOS4zNDM5VjU5LjE1MDFMMjMuODQxOSA0OC4zNDM0SDI3LjcyMzhMMzEuMTQzMiA1NS43Mjc4TDM0LjUxMDcgNDguMzQzNEgzOC4zOTI2TDMyLjg5MjUgNTkuMTUwMVoiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGQ9Ik00OC41NjMzIDY2LjY2MzdINDAuOTAxN1Y0OC4zNDM0SDQ4LjI1NTFDNTEuODI4NyA0OC4zNDM0IDUzLjkxMTIgNTAuMzUwNSA1My45MTEyIDUzLjQ4OTNDNTMuOTExMiA1NS41MjE1IDUyLjU3NDIgNTYuODM0NSA1MS42NDk1IDU3LjI3MjFDNTIuNzU1MyA1Ny43ODY5IDU0LjE2OTMgNTguOTQzOCA1NC4xNjkzIDYxLjM4ODVDNTQuMTY3NCA2NC44MTA4IDUxLjgyNjggNjYuNjYzNyA0OC41NjMzIDY2LjY2MzdaTTQ3Ljk3MTkgNTEuNTM0M0g0NC40NzUzVjU1Ljc1NDhINDcuOTcxOUM0OS40ODggNTUuNzU0OCA1MC4zMzc2IDU0LjkwNjQgNTAuMzM3NiA1My42NDU1QzUwLjMzNTcgNTIuMzgyNiA0OS40ODggNTEuNTM0MyA0Ny45NzE5IDUxLjUzNDNaTTQ4LjIwMzEgNTguOTcwOEg0NC40NzUzVjYzLjQ3MjhINDguMjAzMUM0OS44MjMyIDYzLjQ3MjggNTAuNTkzOCA2Mi40NDMyIDUwLjU5MzggNjEuMjA5MkM1MC41OTM4IDU5Ljk3MzQgNDkuODIxMyA1OC45NzA4IDQ4LjIwMzEgNTguOTcwOFoiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGQ9Ik03My40MzkgNTEuNTM0M1Y2Ni42NjM3SDY5Ljg2NTRWNTEuNTM0M0g2NS4wODM5VjQ4LjM0MzRINzguMjIyNFY1MS41MzQzSDczLjQzOVoiIGZpbGw9IndoaXRlIi8+CjxkZWZzPgo8bGluZWFyR3JhZGllbnQgaWQ9InBhaW50MF9saW5lYXJfMzEyXzE3NTM0IiB4MT0iNy4zMzMwOCIgeTE9IjI1LjU5NCIgeDI9Ijg0LjYzODEiIHkyPSIyMS43MjE2IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CjxzdG9wIHN0b3AtY29sb3I9IiNGRkQ3NDgiLz4KPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjRjdBNjAwIi8+CjwvbGluZWFyR3JhZGllbnQ+CjwvZGVmcz4KPC9zdmc+Cg==",
107
+ _a[WalletName.GATE_WALLET] = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAAAP1BMVEUAAAAX5aIjVOYjVeYjVOYjU+UjVOYgUN8jVeYkVOcgWOcoWOcjVOYjVeYjVOcjVOYkVOYjU+YY5KIjVOYX5aFnl2IZAAAAE3RSTlMAn+/fn5CAEGBAICDPr3C/v1Bg8gPz/wAAAYNJREFUWMOtl9lywzAIRYkQ2mzZSen/f2uX6UzGt7IJVc87R4sRYDpjKdJXVqU/UYX1B/KTU9Ank+F+wRZUJwRtV8S7/JRAVKcEUecEq84Jos4Jks4JNp0TtDApYB0R7pLKDXkbxJdRdK+ZPnlHboMDDDYgX9GvCkQRrkQXAvMGYyaPoCiQiFwCxvXJJ6h4/uwURBAs5BQwHsApaLgBr+CBG3AK8B1Xt6AfXwA5BVjJ7l4BfgTxCyCLZwXlvwV29cEjuOs3XqK3ATJ8xp1Mjg18xUTKZHGsX53ESGWjfCS81O7soQ9qapzBfP0MDcG1AR50herZQDSKKpJ5tFpA6+tTCI9ni2RkMT6dPGptA3JUICwnYuVlkEGsiBA9twBEUGTRi2U2HRDrM7r2oL8p+MKQsEsqJckedATDiOAlLDDmedmwzjhJRpJZRGPYtliNRLeIRqpbiPHLYxDg/mFmNbkvdEVh7/JIk3ARnjLZtMLucKRGVoClkov2SH391vDapZze3Ac97ZDnSKHPHwAAAABJRU5ErkJggg==",
108
+ _a[WalletName.OKX_WALLET] = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAJDSURBVHgB7Zq9jtpAEMfHlhEgQLiioXEkoAGECwoKxMcTRHmC5E3IoyRPkPAEkI7unJYmTgEFTYwA8a3NTKScLnCHN6c9r1e3P2llWQy7M/s1Gv1twCP0ej37dDq9x+Zut1t3t9vZjDEHIiSRSPg4ZpDL5fxkMvn1cDh8m0wmfugfO53OoFQq/crn8wxfY9EymQyrVCqMfHvScZx1p9ls3pFxXBy/bKlUipGPrVbLuQqAfsCliq3zl0H84zwtjQrOw4Mt1W63P5LvBm2d+Xz+YzqdgkqUy+WgWCy+Mc/nc282m4FqLBYL+3g8fjDxenq72WxANZbLJeA13zDX67UDioL5ybXwafMYu64Ltn3bdDweQ5R97fd7GyhBQMipx4POeEDHIu2LfDdBIGGz+hJ9CQ1ABjoA2egAZPM6AgiCAEQhsi/C4jHyPA/6/f5NG3Ks2+3CYDC4aTccDrn6ojG54MnEvG00GoVmWLIRNZ7wTCwDHYBsdACy0QHIhiuRETxlICWpMMhGZHmqS8qH6JLyGegAZKMDkI0uKf8X4SWlaZo+Pp1bRrwlJU8ZKLIvUjKh0WiQ3sRUbNVq9c5Ebew7KEo2m/1p4jJ4qAmDaqDQBzj5XyiAT4VCQezJigAU+IDU+z8vJFnGWeC+bKQV/5VZ71FV6L7PA3gg3tXrdQ+DgLhC+75Wq3no69P3MC0NFQpx2lL04Ql9gHK1bRDjsSBIvScBnDTk1WrlGIZBorIDEYJj+rhdgnQ67VmWRe0zlplXl81vcyEt0rSoYDUAAAAASUVORK5CYII=",
109
+ _a[WalletName.MSAFE_WALLET] = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQ3IiBoZWlnaHQ9IjE3MCIgdmlld0JveD0iMCAwIDI0NyAxNzAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTAyLjU5MyAyMy4wMTNDMTA3LjQ5OSAyNi4wNTU4IDExMC43OTQgMzAuODc4NSAxNDAuOTEyIDc5LjEwMzlDMTcyLjQxOSAxMjkuNTUyIDE3My44NjQgMTMyLjExNCAxNzMuODY0IDEzNy41MzZDMTczLjg2NCAxNDIuNDUxIDE3My4zNCAxNDMuNzI1IDE2OS45MTcgMTQ3LjExMkMxNjYuNDc2IDE1MC41MTggMTY1LjIyMiAxNTEuMDE5IDE2MC4xMzggMTUxLjAxOUMxNTUuNTg0IDE1MS4wMTkgMTUzLjUzNiAxNTAuMzc4IDE1MC43OTcgMTQ4LjA5N0MxNDguODY4IDE0Ni40OTEgMTM5Ljg2MiAxMzMuMTc1IDEzMC43ODUgMTE4LjUwOEMxMDMuNzE5IDc0Ljc3NDEgOTAuMDYxIDUzLjE2NzYgODkuNzI2NyA1My41NTQ5Qzg2LjY2ODUgNTcuMTAzMyA3OC42NjEgNzIuMzY1NiA3OC42NjEgNzQuNjQ0M0M3OC42NjEgNzYuNTM4IDg0LjQ0NjMgODcuMzAwNCA5My43MjA1IDEwMi42NThDMTAyLjAwMyAxMTYuMzc0IDEwOS41OTQgMTI5LjUyNCAxMTAuNTg5IDEzMS44ODFDMTE0LjQ2NCAxNDEuMDYyIDEwNy43NTQgMTUxLjAxOSA5Ny42ODc3IDE1MS4wMTlDOTQuODQwOSAxNTEuMDE5IDkxLjIxNTEgMTUwLjE3OCA4OS42MzAzIDE0OS4xNTFDODguMDQ1NSAxNDguMTIyIDgwLjk3OTUgMTM3Ljc4IDczLjkyODcgMTI2LjE2OUM2Ni44Nzc4IDExNC41NTYgNjAuNjc0NSAxMDUuMDU1IDYwLjE0MjggMTA1LjA1NUM1OS42MTEgMTA1LjA1NSA1My42OTMzIDExNC4yMzQgNDYuOTkzMSAxMjUuNDUyQzQwLjI5MjkgMTM2LjY2OSAzMy43MjYyIDE0Ni44MTUgMzIuNDAxNSAxNDcuOTk1QzMxLjA3NjcgMTQ5LjE3NiAyNy43MDYzIDE1MC4zOTYgMjQuOTEyOSAxNTAuNzA5QzE1LjgzODQgMTUxLjcyMSA5IDE0NS44NzggOSAxMzcuMTFDOSAxMzIuODQyIDkuMDQ4NzYgMTMyLjc1MiA0My41MzU2IDc0LjAyOTVDNTcuODI1NCA0OS42OTczIDcxLjIyMTIgMjguMDc5MyA3My4zMDQxIDI1Ljk4OTFDODEuMDc3MSAxOC4xODc5IDkyLjg4IDE2Ljk4OTQgMTAyLjU5MyAyMy4wMTNaTTE2Ni45MDEgMjMuMDIzM0MxNzAuMzA4IDI2LjQ4MjEgMjMzLjQ5OSAxMjcuMTE2IDIzNS40NDcgMTMyLjE4NUMyMzguMjU4IDEzOS41MDQgMjM1LjI3NyAxNDYuMzEyIDIyNy42NjUgMTQ5Ljk2QzIyMy41NDcgMTUxLjkzMyAyMjIuMDczIDE1Mi4xMSAyMTguMjQ1IDE1MS4wODlDMjE1Ljc0OSAxNTAuNDI0IDIxMi44NjYgMTQ4Ljk2IDIxMS44MzggMTQ3LjgzNUMyMTAuODA5IDE0Ni43MSAxOTQuNzk2IDEyMS41IDE3Ni4yNTMgOTEuODExOEMxNDAuMDU0IDMzLjg1NyAxNDAuMDQ0IDMzLjgzNTIgMTQ0LjI3NCAyNS43Mzk4QzE0OC4yNjMgMTguMTAxNyAxNjAuNTk0IDE2LjYyMjggMTY2LjkwMSAyMy4wMjMzWiIgZmlsbD0iIzQ4QjVBNyIvPgo8L3N2Zz4K",
110
+ _a);
111
+ var WALLET_DOWNLOAD_URLS_MAP = (_b = {},
112
+ _b[WalletName.SLUSH] = {
113
+ iOS: "https://apps.apple.com/us/app/slush-a-sui-wallet/id6476572140",
114
+ android: "https://play.google.com/store/apps/details?id=com.mystenlabs.suiwallet",
115
+ extension: "https://chromewebstore.google.com/detail/slush-%E2%80%94-a-sui-wallet/opcgpfmipidbgpenhmajoajpbobppdil",
116
+ },
117
+ _b[WalletName.BACKPACK] = {
118
+ iOS: "https://apps.apple.com/us/app/backpack-buy-trade-crypto/id6445964121",
119
+ android: "https://play.google.com/store/apps/details?id=app.backpack.mobile",
120
+ extension: "https://chromewebstore.google.com/detail/backpack/aflkmfhebedbjioipglgcbcmnbpgliof",
121
+ },
122
+ _b[WalletName.PHANTOM] = {
123
+ iOS: "https://apps.apple.com/us/app/phantom-crypto-wallet/id1598432977",
124
+ android: "https://play.google.com/store/apps/details?id=app.phantom",
125
+ extension: "https://chromewebstore.google.com/detail/phantom/bfnaelmomeimhlpmgjnjophhpkkoljpa",
126
+ },
127
+ _b[WalletName.NIGHTLY] = {
128
+ iOS: "https://apps.apple.com/us/app/nightly-multichain-wallet/id6444768157",
129
+ android: "https://play.google.com/store/apps/details?id=com.nightlymobile",
130
+ extension: "https://chromewebstore.google.com/detail/nightly/fiikommddbeccaoicoejoniammnalkfa",
131
+ },
132
+ _b[WalletName.SUIET] = {
133
+ iOS: undefined,
134
+ android: undefined,
135
+ extension: "https://chromewebstore.google.com/detail/suiet-sui-wallet/khpkpbbcccdmmclmpigdgddabeilkdpd",
136
+ },
137
+ _b[WalletName.BYBIT_WALLET] = {
138
+ iOS: "https://apps.apple.com/us/app/bybit-buy-trade-crypto/id1488296980",
139
+ android: "https://play.google.com/store/apps/details?id=com.bybit.app",
140
+ extension: "https://chromewebstore.google.com/detail/bybit-wallet/pdliaogehgdbhbnmkklieghmmjkpigpa",
141
+ },
142
+ _b[WalletName.GATE_WALLET] = {
143
+ iOS: "https://apps.apple.com/us/app/gate-io-buy-bitcoin-crypto/id1294998195",
144
+ android: "https://play.google.com/store/apps/details?id=com.gateio.gateio",
145
+ extension: "https://chromewebstore.google.com/detail/gate-wallet/cpmkedoipcpimgecpmgpldfpohjplkpp",
146
+ },
147
+ _b[WalletName.OKX_WALLET] = {
148
+ iOS: "https://apps.apple.com/us/app/okx-buy-bitcoin-btc-crypto/id1327268470",
149
+ android: "https://play.google.com/store/apps/details?id=com.okinc.okex.gp",
150
+ extension: "https://chromewebstore.google.com/detail/okx-wallet/mcohilncbfahbmgdjkbpemcciiolgcge",
151
+ },
152
+ _b[WalletName.MSAFE_WALLET] = {
153
+ iOS: undefined,
154
+ android: undefined,
155
+ extension: "https://sui.m-safe.io",
156
+ },
157
+ _b);
158
+ export var WalletContextQueryParams;
159
+ (function (WalletContextQueryParams) {
160
+ WalletContextQueryParams["WALLET"] = "wallet";
161
+ })(WalletContextQueryParams || (WalletContextQueryParams = {}));
162
+ var WalletContext = createContext({
163
+ isImpersonating: false,
164
+ isConnectWalletDropdownOpen: false,
165
+ setIsConnectWalletDropdownOpen: function () {
166
+ throw new Error("WalletContextProvider not initialized");
167
+ },
168
+ wallets: [],
169
+ wallet: undefined,
170
+ connectWallet: function () {
171
+ throw new Error("WalletContextProvider not initialized");
172
+ },
173
+ disconnectWallet: function () {
174
+ throw new Error("WalletContextProvider not initialized");
175
+ },
176
+ accounts: [],
177
+ account: undefined,
178
+ switchAccount: function () {
179
+ throw new Error("WalletContextProvider not initialized");
180
+ },
181
+ address: undefined,
182
+ dryRunTransaction: function () { return __awaiter(void 0, void 0, void 0, function () {
183
+ return __generator(this, function (_a) {
184
+ throw new Error("WalletContextProvider not initialized");
185
+ });
186
+ }); },
187
+ signExecuteAndWaitForTransaction: function () { return __awaiter(void 0, void 0, void 0, function () {
188
+ return __generator(this, function (_a) {
189
+ throw new Error("WalletContextProvider not initialized");
190
+ });
191
+ }); },
192
+ });
193
+ export var useWalletContext = function () { return useContext(WalletContext); };
194
+ function Inner(_a) {
195
+ var _b;
196
+ var _this = this;
197
+ var _c;
198
+ var appName = _a.appName, children = _a.children;
199
+ var router = useRouter();
200
+ var queryParams = (_b = {},
201
+ _b[WalletContextQueryParams.WALLET] = router.query[WalletContextQueryParams.WALLET],
202
+ _b);
203
+ var suiClient = useSettingsContext().suiClient;
204
+ // Impersonated address
205
+ var impersonatedAddress = queryParams[WalletContextQueryParams.WALLET];
206
+ // Wallets
207
+ var wallets__installed = useWallets();
208
+ var getInstalledWallet = useCallback(function (name) { return wallets__installed.find(function (w) { return w.name === name; }); }, [wallets__installed]);
209
+ var wallets__extension_default = useMemo(function () {
210
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
211
+ var msafeWallet = {
212
+ name: WalletName.MSAFE_WALLET,
213
+ iconUrl: (_b = (_a = getInstalledWallet(WalletName.MSAFE_WALLET)) === null || _a === void 0 ? void 0 : _a.icon) !== null && _b !== void 0 ? _b : WALLET_LOGO_MAP[WalletName.MSAFE_WALLET],
214
+ type: WalletType.EXTENSION,
215
+ downloadUrls: WALLET_DOWNLOAD_URLS_MAP[WalletName.MSAFE_WALLET],
216
+ };
217
+ if (isInMsafeApp())
218
+ return [msafeWallet];
219
+ return [
220
+ {
221
+ name: WalletName.SLUSH,
222
+ iconUrl: (_d = (_c = getInstalledWallet(WalletName.SLUSH)) === null || _c === void 0 ? void 0 : _c.icon) !== null && _d !== void 0 ? _d : WALLET_LOGO_MAP[WalletName.SLUSH],
223
+ type: WalletType.EXTENSION,
224
+ downloadUrls: WALLET_DOWNLOAD_URLS_MAP[WalletName.SLUSH],
225
+ },
226
+ {
227
+ name: WalletName.BACKPACK,
228
+ iconUrl: (_f = (_e = getInstalledWallet(WalletName.BACKPACK)) === null || _e === void 0 ? void 0 : _e.icon) !== null && _f !== void 0 ? _f : WALLET_LOGO_MAP[WalletName.BACKPACK],
229
+ type: WalletType.EXTENSION,
230
+ downloadUrls: WALLET_DOWNLOAD_URLS_MAP[WalletName.BACKPACK],
231
+ },
232
+ {
233
+ name: WalletName.PHANTOM,
234
+ iconUrl: (_h = (_g = getInstalledWallet(WalletName.PHANTOM)) === null || _g === void 0 ? void 0 : _g.icon) !== null && _h !== void 0 ? _h : WALLET_LOGO_MAP[WalletName.PHANTOM],
235
+ type: WalletType.EXTENSION,
236
+ downloadUrls: WALLET_DOWNLOAD_URLS_MAP[WalletName.PHANTOM],
237
+ },
238
+ {
239
+ name: WalletName.NIGHTLY,
240
+ iconUrl: (_k = (_j = getInstalledWallet(WalletName.NIGHTLY)) === null || _j === void 0 ? void 0 : _j.icon) !== null && _k !== void 0 ? _k : WALLET_LOGO_MAP[WalletName.NIGHTLY],
241
+ type: WalletType.EXTENSION,
242
+ downloadUrls: WALLET_DOWNLOAD_URLS_MAP[WalletName.NIGHTLY],
243
+ },
244
+ {
245
+ name: WalletName.SUIET,
246
+ iconUrl: (_m = (_l = getInstalledWallet(WalletName.SUIET)) === null || _l === void 0 ? void 0 : _l.icon) !== null && _m !== void 0 ? _m : WALLET_LOGO_MAP[WalletName.SUIET],
247
+ type: WalletType.EXTENSION,
248
+ downloadUrls: WALLET_DOWNLOAD_URLS_MAP[WalletName.SUIET],
249
+ },
250
+ {
251
+ name: WalletName.BYBIT_WALLET,
252
+ iconUrl: (_p = (_o = getInstalledWallet(WalletName.BYBIT_WALLET)) === null || _o === void 0 ? void 0 : _o.icon) !== null && _p !== void 0 ? _p : WALLET_LOGO_MAP[WalletName.BYBIT_WALLET],
253
+ type: WalletType.EXTENSION,
254
+ downloadUrls: WALLET_DOWNLOAD_URLS_MAP[WalletName.BYBIT_WALLET],
255
+ },
256
+ {
257
+ name: WalletName.GATE_WALLET,
258
+ iconUrl: (_r = (_q = getInstalledWallet(WalletName.GATE_WALLET)) === null || _q === void 0 ? void 0 : _q.icon) !== null && _r !== void 0 ? _r : WALLET_LOGO_MAP[WalletName.GATE_WALLET],
259
+ type: WalletType.EXTENSION,
260
+ downloadUrls: WALLET_DOWNLOAD_URLS_MAP[WalletName.GATE_WALLET],
261
+ },
262
+ {
263
+ name: WalletName.OKX_WALLET,
264
+ iconUrl: (_t = (_s = getInstalledWallet(WalletName.OKX_WALLET)) === null || _s === void 0 ? void 0 : _s.icon) !== null && _t !== void 0 ? _t : WALLET_LOGO_MAP[WalletName.OKX_WALLET],
265
+ type: WalletType.EXTENSION,
266
+ downloadUrls: WALLET_DOWNLOAD_URLS_MAP[WalletName.OKX_WALLET],
267
+ },
268
+ msafeWallet,
269
+ ];
270
+ }, [getInstalledWallet]);
271
+ var wallets__extension_installed_default = useMemo(function () {
272
+ return wallets__extension_default
273
+ .filter(function (w) {
274
+ return w.name === WalletName.MSAFE_WALLET
275
+ ? isInMsafeApp()
276
+ : !!getInstalledWallet(w.name);
277
+ })
278
+ .map(function (w) { return (__assign(__assign({}, w), { isInstalled: true, raw: getInstalledWallet(w.name) })); });
279
+ }, [wallets__extension_default, getInstalledWallet]);
280
+ var wallets__extension_installed_notDefault = useMemo(function () {
281
+ if (isInMsafeApp())
282
+ return [];
283
+ return wallets__installed
284
+ .filter(function (w) { return !DEFAULT_EXTENSION_WALLET_NAMES.includes(w.name); })
285
+ .filter(function (w) { return !WEB_WALLET_NAMES.includes(w.name); })
286
+ .map(function (w) { return ({
287
+ name: w.name,
288
+ isInstalled: true,
289
+ iconUrl: w.icon,
290
+ type: WalletType.EXTENSION,
291
+ raw: w,
292
+ }); });
293
+ }, [wallets__installed]);
294
+ var wallets__extension_notInstalled_default = useMemo(function () {
295
+ return wallets__extension_default
296
+ .filter(function (w) {
297
+ return w.name === WalletName.MSAFE_WALLET
298
+ ? !isInMsafeApp()
299
+ : !getInstalledWallet(w.name);
300
+ })
301
+ .map(function (w) { return (__assign(__assign({}, w), { isInstalled: false })); });
302
+ }, [wallets__extension_default, getInstalledWallet]);
303
+ var wallets__web = useMemo(function () {
304
+ if (isInMsafeApp())
305
+ return [];
306
+ return [];
307
+ }, []);
308
+ var wallets = useMemo(function () { return __spreadArray(__spreadArray(__spreadArray(__spreadArray([], wallets__extension_installed_default, true), wallets__extension_installed_notDefault, true), wallets__extension_notInstalled_default, true), wallets__web, true); }, [
309
+ wallets__extension_installed_default,
310
+ wallets__extension_installed_notDefault,
311
+ wallets__extension_notInstalled_default,
312
+ wallets__web,
313
+ ]);
314
+ // Wallet
315
+ var _d = useState(false), isConnectWalletDropdownOpen = _d[0], setIsConnectWalletDropdownOpen = _d[1];
316
+ var rawWallet = useCurrentWallet().currentWallet;
317
+ var wallet = useMemo(function () {
318
+ return rawWallet ? wallets.find(function (w) { return w.name === rawWallet.name; }) : undefined;
319
+ }, [rawWallet, wallets]);
320
+ var connectWallet = useConnectWallet().mutate;
321
+ var connectWalletWrapper = useCallback(function (_wallet) {
322
+ try {
323
+ if (!_wallet.raw)
324
+ throw new Error("Missing wallet");
325
+ connectWallet({ wallet: _wallet.raw }, {
326
+ onSuccess: function () {
327
+ showInfoToast("Connected ".concat(_wallet.name));
328
+ setIsConnectWalletDropdownOpen(false);
329
+ },
330
+ onError: function (err) {
331
+ showErrorToast("Failed to connect ".concat(_wallet.name), err);
332
+ console.error(err);
333
+ },
334
+ });
335
+ }
336
+ catch (err) {
337
+ showErrorToast("Failed to connect ".concat(_wallet.name), err);
338
+ console.error(err);
339
+ }
340
+ }, [connectWallet]);
341
+ var disconnectWallet = useDisconnectWallet().mutate;
342
+ var disconnectWalletWrapper = useCallback(function () {
343
+ try {
344
+ disconnectWallet(undefined, {
345
+ onSuccess: function () {
346
+ showInfoToast("Disconnected wallet");
347
+ },
348
+ onError: function (err) {
349
+ showErrorToast("Failed to disconnect wallet", err);
350
+ console.error(err);
351
+ },
352
+ });
353
+ }
354
+ catch (err) {
355
+ showErrorToast("Failed to disconnect wallet", err);
356
+ console.error(err);
357
+ }
358
+ }, [disconnectWallet]);
359
+ // Accounts
360
+ var accounts = useAccounts();
361
+ var account = (_c = useCurrentAccount()) !== null && _c !== void 0 ? _c : undefined;
362
+ var switchAccount = useSwitchAccount().mutate;
363
+ var switchAccountWrapper = useCallback(function (_account, addressNameServiceName) {
364
+ var _a, _b;
365
+ 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);
366
+ try {
367
+ switchAccount({ account: _account }, {
368
+ onSuccess: function () {
369
+ showInfoToast("Switched to ".concat(accountLabel), {
370
+ description: (_account === null || _account === void 0 ? void 0 : _account.label)
371
+ ? (addressNameServiceName !== null && addressNameServiceName !== void 0 ? addressNameServiceName : formatAddress(_account.address))
372
+ : undefined,
373
+ });
374
+ },
375
+ onError: function (err) {
376
+ showErrorToast("Failed to switch to ".concat(accountLabel), err);
377
+ },
378
+ });
379
+ }
380
+ catch (err) {
381
+ showErrorToast("Failed to switch to ".concat(accountLabel), err);
382
+ console.error(err);
383
+ }
384
+ }, [switchAccount]);
385
+ // Sentry
386
+ useEffect(function () {
387
+ if (impersonatedAddress || !(account === null || account === void 0 ? void 0 : account.address))
388
+ Sentry.setUser(null);
389
+ else {
390
+ Sentry.setUser({ id: account === null || account === void 0 ? void 0 : account.address });
391
+ Sentry.setTag("wallet", wallet === null || wallet === void 0 ? void 0 : wallet.name);
392
+ }
393
+ }, [impersonatedAddress, account === null || account === void 0 ? void 0 : account.address, wallet === null || wallet === void 0 ? void 0 : wallet.name]);
394
+ // LaunchDarkly
395
+ var ldClient = useLDClient();
396
+ var ldKeyRef = useRef(undefined);
397
+ useEffect(function () {
398
+ if (!ldClient)
399
+ return;
400
+ var key = impersonatedAddress !== null && impersonatedAddress !== void 0 ? impersonatedAddress : account === null || account === void 0 ? void 0 : account.address;
401
+ if (ldKeyRef.current === key)
402
+ return;
403
+ (function () { return __awaiter(_this, void 0, void 0, function () {
404
+ return __generator(this, function (_a) {
405
+ switch (_a.label) {
406
+ case 0: return [4 /*yield*/, ldClient.identify(!key ? { anonymous: true } : { key: key })];
407
+ case 1:
408
+ _a.sent();
409
+ ldKeyRef.current = key;
410
+ return [2 /*return*/];
411
+ }
412
+ });
413
+ }); })();
414
+ }, [ldClient, impersonatedAddress, account === null || account === void 0 ? void 0 : account.address]);
415
+ // Wallet name logging
416
+ useEffect(function () {
417
+ if (impersonatedAddress || !(account === null || account === void 0 ? void 0 : account.address))
418
+ return;
419
+ if (!(wallet === null || wallet === void 0 ? void 0 : wallet.name))
420
+ return;
421
+ (function () { return __awaiter(_this, void 0, void 0, function () {
422
+ var err_1;
423
+ return __generator(this, function (_a) {
424
+ switch (_a.label) {
425
+ case 0:
426
+ _a.trys.push([0, 2, , 3]);
427
+ return [4 /*yield*/, fetch("".concat(API_URL, "/events/logs/wallet-connect"), {
428
+ method: "POST",
429
+ body: JSON.stringify({
430
+ address: account.address,
431
+ walletName: wallet.name,
432
+ project: appName,
433
+ }),
434
+ headers: {
435
+ "Content-Type": "application/json",
436
+ },
437
+ })];
438
+ case 1:
439
+ _a.sent();
440
+ return [3 /*break*/, 3];
441
+ case 2:
442
+ err_1 = _a.sent();
443
+ console.error(err_1);
444
+ return [3 /*break*/, 3];
445
+ case 3: return [2 /*return*/];
446
+ }
447
+ });
448
+ }); })();
449
+ }, [impersonatedAddress, account === null || account === void 0 ? void 0 : account.address, wallet === null || wallet === void 0 ? void 0 : wallet.name, appName]);
450
+ // Tx
451
+ var gasBudget = useSettingsContext().gasBudget;
452
+ var signTransaction = useSignTransaction().mutateAsync;
453
+ var dryRunTransaction = useCallback(function (transaction_1) {
454
+ var args_1 = [];
455
+ for (var _i = 1; _i < arguments.length; _i++) {
456
+ args_1[_i - 1] = arguments[_i];
457
+ }
458
+ return __awaiter(_this, __spreadArray([transaction_1], args_1, true), void 0, function (transaction, setGasBudget) {
459
+ var _address, inspectResults, err_2;
460
+ if (setGasBudget === void 0) { setGasBudget = true; }
461
+ return __generator(this, function (_a) {
462
+ switch (_a.label) {
463
+ case 0:
464
+ _address = impersonatedAddress !== null && impersonatedAddress !== void 0 ? impersonatedAddress : account === null || account === void 0 ? void 0 : account.address;
465
+ if (setGasBudget && gasBudget !== "")
466
+ transaction.setGasBudget(+new BigNumber(gasBudget)
467
+ .times(Math.pow(10, SUI_DECIMALS))
468
+ .integerValue(BigNumber.ROUND_DOWN));
469
+ _a.label = 1;
470
+ case 1:
471
+ _a.trys.push([1, 3, , 4]);
472
+ return [4 /*yield*/, suiClient.devInspectTransactionBlock({
473
+ sender: _address !== null && _address !== void 0 ? _address : "0x0000000000000000000000000000000000000000000000000000000000000000",
474
+ transactionBlock: transaction,
475
+ })];
476
+ case 2:
477
+ inspectResults = _a.sent();
478
+ console.log("WalletContext - dryRunTransaction:", inspectResults);
479
+ if (inspectResults.error)
480
+ throw new Error(inspectResults.error);
481
+ return [2 /*return*/, inspectResults];
482
+ case 3:
483
+ err_2 = _a.sent();
484
+ Sentry.captureException(err_2, {
485
+ tags: {
486
+ simulation: true,
487
+ },
488
+ });
489
+ console.error(err_2);
490
+ throw err_2;
491
+ case 4: return [2 /*return*/];
492
+ }
493
+ });
494
+ });
495
+ }, [impersonatedAddress, account === null || account === void 0 ? void 0 : account.address, gasBudget, suiClient]);
496
+ var signExecuteAndWaitForTransaction = useCallback(function (transaction, options) { return __awaiter(_this, void 0, void 0, function () {
497
+ var _address, signedTransaction, err_3, res1, res2, err_4;
498
+ var _a, _b;
499
+ return __generator(this, function (_c) {
500
+ switch (_c.label) {
501
+ case 0:
502
+ if (gasBudget !== "")
503
+ transaction.setGasBudget(+new BigNumber(gasBudget)
504
+ .times(Math.pow(10, SUI_DECIMALS))
505
+ .integerValue(BigNumber.ROUND_DOWN));
506
+ _address = impersonatedAddress !== null && impersonatedAddress !== void 0 ? impersonatedAddress : account === null || account === void 0 ? void 0 : account.address;
507
+ if (_address) {
508
+ try {
509
+ dryRunTransaction(transaction, false); // Do not await
510
+ }
511
+ catch (err) { }
512
+ }
513
+ _c.label = 1;
514
+ case 1:
515
+ _c.trys.push([1, 9, , 10]);
516
+ return [4 /*yield*/, signTransaction({
517
+ transaction: transaction,
518
+ chain: "sui:mainnet",
519
+ })];
520
+ case 2:
521
+ signedTransaction = _c.sent();
522
+ if (!(options === null || options === void 0 ? void 0 : options.auction)) return [3 /*break*/, 6];
523
+ _c.label = 3;
524
+ case 3:
525
+ _c.trys.push([3, 5, , 6]);
526
+ return [4 /*yield*/, executeAuction(signedTransaction.bytes, signedTransaction.signature)];
527
+ case 4:
528
+ _c.sent();
529
+ return [3 /*break*/, 6];
530
+ case 5:
531
+ err_3 = _c.sent();
532
+ return [3 /*break*/, 6];
533
+ case 6: return [4 /*yield*/, suiClient.executeTransactionBlock({
534
+ transactionBlock: signedTransaction.bytes,
535
+ signature: signedTransaction.signature,
536
+ })];
537
+ case 7:
538
+ res1 = _c.sent();
539
+ return [4 /*yield*/, suiClient.waitForTransaction({
540
+ digest: res1.digest,
541
+ options: {
542
+ showBalanceChanges: true,
543
+ showEffects: true,
544
+ showEvents: true,
545
+ showObjectChanges: true,
546
+ },
547
+ })];
548
+ case 8:
549
+ res2 = _c.sent();
550
+ if (((_a = res2.effects) === null || _a === void 0 ? void 0 : _a.status) !== undefined &&
551
+ res2.effects.status.status === "failure")
552
+ throw new Error((_b = res2.effects.status.error) !== null && _b !== void 0 ? _b : "Transaction failed");
553
+ return [2 /*return*/, res2];
554
+ case 9:
555
+ err_4 = _c.sent();
556
+ Sentry.captureException(err_4);
557
+ console.error(err_4);
558
+ throw err_4;
559
+ case 10: return [2 /*return*/];
560
+ }
561
+ });
562
+ }); }, [
563
+ gasBudget,
564
+ impersonatedAddress,
565
+ account === null || account === void 0 ? void 0 : account.address,
566
+ dryRunTransaction,
567
+ suiClient,
568
+ signTransaction,
569
+ ]);
570
+ // Context
571
+ var contextValue = useMemo(function () { return ({
572
+ isImpersonating: !!impersonatedAddress,
573
+ isConnectWalletDropdownOpen: isConnectWalletDropdownOpen,
574
+ setIsConnectWalletDropdownOpen: setIsConnectWalletDropdownOpen,
575
+ wallets: wallets,
576
+ wallet: wallet,
577
+ connectWallet: connectWalletWrapper,
578
+ disconnectWallet: disconnectWalletWrapper,
579
+ accounts: accounts,
580
+ account: account,
581
+ switchAccount: switchAccountWrapper,
582
+ address: impersonatedAddress !== null && impersonatedAddress !== void 0 ? impersonatedAddress : account === null || account === void 0 ? void 0 : account.address,
583
+ dryRunTransaction: dryRunTransaction,
584
+ signExecuteAndWaitForTransaction: signExecuteAndWaitForTransaction,
585
+ }); }, [
586
+ impersonatedAddress,
587
+ isConnectWalletDropdownOpen,
588
+ wallets,
589
+ wallet,
590
+ connectWalletWrapper,
591
+ disconnectWalletWrapper,
592
+ accounts,
593
+ account,
594
+ switchAccountWrapper,
595
+ dryRunTransaction,
596
+ signExecuteAndWaitForTransaction,
597
+ ]);
598
+ return (<WalletContext.Provider value={contextValue}>
599
+ {children}
600
+ </WalletContext.Provider>);
601
+ }
602
+ export function WalletContextProvider(_a) {
603
+ var appName = _a.appName, children = _a.children;
604
+ var rpc = useSettingsContext().rpc;
605
+ var networkConfig = createNetworkConfig({
606
+ mainnet: { url: rpc.url },
607
+ }).networkConfig;
608
+ var queryClient = new QueryClient();
609
+ return (<QueryClientProvider client={queryClient}>
610
+ <SuiClientProvider networks={networkConfig} defaultNetwork="mainnet">
611
+ <MystenWalletProvider preferredWallets={DEFAULT_EXTENSION_WALLET_NAMES} autoConnect slushWallet={{ name: appName }}>
612
+ <Inner appName={appName}>{children}</Inner>
613
+ </MystenWalletProvider>
614
+ </SuiClientProvider>
615
+ </QueryClientProvider>);
616
+ }
@@ -0,0 +1,2 @@
1
+ export * from "./SettingsContext";
2
+ export * from "./WalletContext";
@@ -0,0 +1,2 @@
1
+ export * from "./SettingsContext";
2
+ export * from "./WalletContext";
@@ -0,0 +1 @@
1
+ export * from "./useFetchBalances";
@@ -0,0 +1 @@
1
+ export * from "./useFetchBalances";