@mysten/dapp-kit 0.9.1 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @mysten/dapp-kit
2
2
 
3
+ ## 0.10.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 47b137d03: Add new useSuiClientQueries hook to support variable client queries
8
+
3
9
  ## 0.9.1
4
10
 
5
11
  ### Patch Changes
@@ -0,0 +1,27 @@
1
+ import type { UseQueryResult } from '@tanstack/react-query';
2
+ import type { SuiRpcMethods, UseSuiClientQueryOptions } from './useSuiClientQuery.js';
3
+ type SuiClientQueryOptions = SuiRpcMethods[keyof SuiRpcMethods] extends infer Method ? Method extends {
4
+ name: infer M extends keyof SuiRpcMethods;
5
+ params?: infer P;
6
+ } ? undefined extends P ? {
7
+ method: M;
8
+ params?: P;
9
+ options?: UseSuiClientQueryOptions<M, unknown>;
10
+ } : {
11
+ method: M;
12
+ params: P;
13
+ options?: UseSuiClientQueryOptions<M, unknown>;
14
+ } : never : never;
15
+ type UseSuiClientQueriesResults<Args extends readonly SuiClientQueryOptions[]> = {
16
+ -readonly [K in keyof Args]: Args[K] extends {
17
+ method: infer M extends keyof SuiRpcMethods;
18
+ options?: {
19
+ select?: (...args: any[]) => infer R;
20
+ };
21
+ } ? UseQueryResult<unknown extends R ? SuiRpcMethods[M]['result'] : R, Error> : never;
22
+ };
23
+ export declare function useSuiClientQueries<const Queries extends readonly SuiClientQueryOptions[], Results = UseSuiClientQueriesResults<Queries>>({ queries, combine, }: {
24
+ queries: Queries;
25
+ combine?: (results: UseSuiClientQueriesResults<Queries>) => Results;
26
+ }): Results;
27
+ export {};
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/hooks/useSuiClientQueries.ts
21
+ var useSuiClientQueries_exports = {};
22
+ __export(useSuiClientQueries_exports, {
23
+ useSuiClientQueries: () => useSuiClientQueries
24
+ });
25
+ module.exports = __toCommonJS(useSuiClientQueries_exports);
26
+ var import_react_query = require("@tanstack/react-query");
27
+
28
+ // src/hooks/useSuiClient.ts
29
+ var import_react2 = require("react");
30
+
31
+ // src/components/SuiClientProvider.tsx
32
+ var import_client = require("@mysten/sui.js/client");
33
+ var import_react = require("react");
34
+ var import_jsx_runtime = require("react/jsx-runtime");
35
+ var SuiClientContext = (0, import_react.createContext)(null);
36
+ var DEFAULT_NETWORKS = {
37
+ localnet: { url: (0, import_client.getFullnodeUrl)("localnet") }
38
+ };
39
+
40
+ // src/hooks/useSuiClient.ts
41
+ function useSuiClientContext() {
42
+ const suiClient = (0, import_react2.useContext)(SuiClientContext);
43
+ if (!suiClient) {
44
+ throw new Error(
45
+ "Could not find SuiClientContext. Ensure that you have set up the SuiClientProvider"
46
+ );
47
+ }
48
+ return suiClient;
49
+ }
50
+
51
+ // src/hooks/useSuiClientQueries.ts
52
+ function useSuiClientQueries({
53
+ queries,
54
+ combine
55
+ }) {
56
+ const suiContext = useSuiClientContext();
57
+ return (0, import_react_query.useQueries)({
58
+ combine,
59
+ queries: queries.map((query) => {
60
+ const { method, params, options: { queryKey = [], ...restOptions } = {} } = query;
61
+ return {
62
+ ...restOptions,
63
+ queryKey: [suiContext.network, method, params, ...queryKey],
64
+ queryFn: async () => {
65
+ return await suiContext.client[method](params);
66
+ }
67
+ };
68
+ })
69
+ });
70
+ }
71
+ //# sourceMappingURL=useSuiClientQueries.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/hooks/useSuiClientQueries.ts", "../../../src/hooks/useSuiClient.ts", "../../../src/components/SuiClientProvider.tsx"],
4
+ "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { UseQueryResult } from '@tanstack/react-query';\nimport { useQueries } from '@tanstack/react-query';\n\nimport { useSuiClientContext } from './useSuiClient.js';\nimport type { SuiRpcMethods, UseSuiClientQueryOptions } from './useSuiClientQuery.js';\n\ntype SuiClientQueryOptions = SuiRpcMethods[keyof SuiRpcMethods] extends infer Method\n\t? Method extends {\n\t\t\tname: infer M extends keyof SuiRpcMethods;\n\t\t\tparams?: infer P;\n\t }\n\t\t? undefined extends P\n\t\t\t? {\n\t\t\t\t\tmethod: M;\n\t\t\t\t\tparams?: P;\n\t\t\t\t\toptions?: UseSuiClientQueryOptions<M, unknown>;\n\t\t\t }\n\t\t\t: {\n\t\t\t\t\tmethod: M;\n\t\t\t\t\tparams: P;\n\t\t\t\t\toptions?: UseSuiClientQueryOptions<M, unknown>;\n\t\t\t }\n\t\t: never\n\t: never;\n\ntype UseSuiClientQueriesResults<Args extends readonly SuiClientQueryOptions[]> = {\n\t-readonly [K in keyof Args]: Args[K] extends {\n\t\tmethod: infer M extends keyof SuiRpcMethods;\n\t\toptions?: {\n\t\t\tselect?: (...args: any[]) => infer R;\n\t\t};\n\t}\n\t\t? UseQueryResult<unknown extends R ? SuiRpcMethods[M]['result'] : R, Error>\n\t\t: never;\n};\n\nexport function useSuiClientQueries<\n\tconst Queries extends readonly SuiClientQueryOptions[],\n\tResults = UseSuiClientQueriesResults<Queries>,\n>({\n\tqueries,\n\tcombine,\n}: {\n\tqueries: Queries;\n\tcombine?: (results: UseSuiClientQueriesResults<Queries>) => Results;\n}): Results {\n\tconst suiContext = useSuiClientContext();\n\n\treturn useQueries({\n\t\tcombine: combine as never,\n\t\tqueries: queries.map((query) => {\n\t\t\tconst { method, params, options: { queryKey = [], ...restOptions } = {} } = query;\n\n\t\t\treturn {\n\t\t\t\t...restOptions,\n\t\t\t\tqueryKey: [suiContext.network, method, params, ...queryKey],\n\t\t\t\tqueryFn: async () => {\n\t\t\t\t\treturn await suiContext.client[method](params as never);\n\t\t\t\t},\n\t\t\t};\n\t\t}) as [],\n\t});\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { SuiClient } from '@mysten/sui.js/client';\nimport { useContext } from 'react';\n\nimport { SuiClientContext } from '../components/SuiClientProvider.js';\n\nexport function useSuiClientContext() {\n\tconst suiClient = useContext(SuiClientContext);\n\n\tif (!suiClient) {\n\t\tthrow new Error(\n\t\t\t'Could not find SuiClientContext. Ensure that you have set up the SuiClientProvider',\n\t\t);\n\t}\n\n\treturn suiClient;\n}\n\nexport function useSuiClient(): SuiClient {\n\treturn useSuiClientContext().client;\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { getFullnodeUrl, isSuiClient, SuiClient } from '@mysten/sui.js/client';\nimport type { SuiClientOptions } from '@mysten/sui.js/client';\nimport { createContext, useMemo, useState } from 'react';\n\nimport type { NetworkConfig } from '../hooks/networkConfig.js';\n\ntype NetworkConfigs<T extends NetworkConfig | SuiClient = NetworkConfig | SuiClient> = Record<\n\tstring,\n\tT\n>;\n\nexport interface SuiClientProviderContext {\n\tclient: SuiClient;\n\tnetworks: NetworkConfigs;\n\tnetwork: string;\n\tconfig: NetworkConfig | null;\n\tselectNetwork: (network: string) => void;\n}\n\nexport const SuiClientContext = createContext<SuiClientProviderContext | null>(null);\n\nexport type SuiClientProviderProps<T extends NetworkConfigs> = {\n\tcreateClient?: (name: keyof T, config: T[keyof T]) => SuiClient;\n\tchildren: React.ReactNode;\n\tnetworks?: T;\n\tonNetworkChange?: (network: keyof T & string) => void;\n} & (\n\t| {\n\t\t\tdefaultNetwork?: keyof T & string;\n\t\t\tnetwork?: never;\n\t }\n\t| {\n\t\t\tdefaultNetwork?: never;\n\t\t\tnetwork?: keyof T & string;\n\t }\n);\n\nconst DEFAULT_NETWORKS = {\n\tlocalnet: { url: getFullnodeUrl('localnet') },\n};\n\nconst DEFAULT_CREATE_CLIENT = function createClient(\n\t_name: string,\n\tconfig: NetworkConfig | SuiClient,\n) {\n\tif (isSuiClient(config)) {\n\t\treturn config;\n\t}\n\n\treturn new SuiClient(config);\n};\n\nexport function SuiClientProvider<T extends NetworkConfigs>(props: SuiClientProviderProps<T>) {\n\tconst { onNetworkChange, network, children } = props;\n\tconst networks = (props.networks ?? DEFAULT_NETWORKS) as T;\n\tconst createClient =\n\t\t(props.createClient as typeof DEFAULT_CREATE_CLIENT) ?? DEFAULT_CREATE_CLIENT;\n\n\tconst [selectedNetwork, setSelectedNetwork] = useState<keyof T & string>(\n\t\tprops.network ?? props.defaultNetwork ?? (Object.keys(networks)[0] as keyof T & string),\n\t);\n\n\tconst currentNetwork = props.network ?? selectedNetwork;\n\n\tconst client = useMemo(() => {\n\t\treturn createClient(currentNetwork, networks[currentNetwork]);\n\t}, [createClient, currentNetwork, networks]);\n\n\tconst ctx = useMemo((): SuiClientProviderContext => {\n\t\treturn {\n\t\t\tclient,\n\t\t\tnetworks,\n\t\t\tnetwork: currentNetwork,\n\t\t\tconfig:\n\t\t\t\tnetworks[currentNetwork] instanceof SuiClient\n\t\t\t\t\t? null\n\t\t\t\t\t: (networks[currentNetwork] as SuiClientOptions),\n\t\t\tselectNetwork: (newNetwork) => {\n\t\t\t\tif (currentNetwork === newNetwork) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (!network && newNetwork !== selectedNetwork) {\n\t\t\t\t\tsetSelectedNetwork(newNetwork);\n\t\t\t\t}\n\n\t\t\t\tonNetworkChange?.(newNetwork);\n\t\t\t},\n\t\t};\n\t}, [client, networks, selectedNetwork, currentNetwork, network, onNetworkChange]);\n\n\treturn <SuiClientContext.Provider value={ctx}>{children}</SuiClientContext.Provider>;\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA,yBAA2B;;;ACA3B,IAAAA,gBAA2B;;;ACD3B,oBAAuD;AAEvD,mBAAiD;AAyFzC;AAxED,IAAM,uBAAmB,4BAA+C,IAAI;AAkBnF,IAAM,mBAAmB;AAAA,EACxB,UAAU,EAAE,SAAK,8BAAe,UAAU,EAAE;AAC7C;;;ADlCO,SAAS,sBAAsB;AACrC,QAAM,gBAAY,0BAAW,gBAAgB;AAE7C,MAAI,CAAC,WAAW;AACf,UAAM,IAAI;AAAA,MACT;AAAA,IACD;AAAA,EACD;AAEA,SAAO;AACR;;;ADqBO,SAAS,oBAGd;AAAA,EACD;AAAA,EACA;AACD,GAGY;AACX,QAAM,aAAa,oBAAoB;AAEvC,aAAO,+BAAW;AAAA,IACjB;AAAA,IACA,SAAS,QAAQ,IAAI,CAAC,UAAU;AAC/B,YAAM,EAAE,QAAQ,QAAQ,SAAS,EAAE,WAAW,CAAC,GAAG,GAAG,YAAY,IAAI,CAAC,EAAE,IAAI;AAE5E,aAAO;AAAA,QACN,GAAG;AAAA,QACH,UAAU,CAAC,WAAW,SAAS,QAAQ,QAAQ,GAAG,QAAQ;AAAA,QAC1D,SAAS,YAAY;AACpB,iBAAO,MAAM,WAAW,OAAO,MAAM,EAAE,MAAe;AAAA,QACvD;AAAA,MACD;AAAA,IACD,CAAC;AAAA,EACF,CAAC;AACF;",
6
+ "names": ["import_react"]
7
+ }
@@ -0,0 +1,27 @@
1
+ import type { UseQueryResult } from '@tanstack/react-query';
2
+ import type { SuiRpcMethods, UseSuiClientQueryOptions } from './useSuiClientQuery.js';
3
+ type SuiClientQueryOptions = SuiRpcMethods[keyof SuiRpcMethods] extends infer Method ? Method extends {
4
+ name: infer M extends keyof SuiRpcMethods;
5
+ params?: infer P;
6
+ } ? undefined extends P ? {
7
+ method: M;
8
+ params?: P;
9
+ options?: UseSuiClientQueryOptions<M, unknown>;
10
+ } : {
11
+ method: M;
12
+ params: P;
13
+ options?: UseSuiClientQueryOptions<M, unknown>;
14
+ } : never : never;
15
+ type UseSuiClientQueriesResults<Args extends readonly SuiClientQueryOptions[]> = {
16
+ -readonly [K in keyof Args]: Args[K] extends {
17
+ method: infer M extends keyof SuiRpcMethods;
18
+ options?: {
19
+ select?: (...args: any[]) => infer R;
20
+ };
21
+ } ? UseQueryResult<unknown extends R ? SuiRpcMethods[M]['result'] : R, Error> : never;
22
+ };
23
+ export declare function useSuiClientQueries<const Queries extends readonly SuiClientQueryOptions[], Results = UseSuiClientQueriesResults<Queries>>({ queries, combine, }: {
24
+ queries: Queries;
25
+ combine?: (results: UseSuiClientQueriesResults<Queries>) => Results;
26
+ }): Results;
27
+ export {};
@@ -0,0 +1,50 @@
1
+ // src/hooks/useSuiClientQueries.ts
2
+ import { useQueries } from "@tanstack/react-query";
3
+
4
+ // src/hooks/useSuiClient.ts
5
+ import { useContext } from "react";
6
+
7
+ // src/components/SuiClientProvider.tsx
8
+ import { getFullnodeUrl, isSuiClient, SuiClient } from "@mysten/sui.js/client";
9
+ import { createContext, useMemo, useState } from "react";
10
+ import { jsx } from "react/jsx-runtime";
11
+ var SuiClientContext = createContext(null);
12
+ var DEFAULT_NETWORKS = {
13
+ localnet: { url: getFullnodeUrl("localnet") }
14
+ };
15
+
16
+ // src/hooks/useSuiClient.ts
17
+ function useSuiClientContext() {
18
+ const suiClient = useContext(SuiClientContext);
19
+ if (!suiClient) {
20
+ throw new Error(
21
+ "Could not find SuiClientContext. Ensure that you have set up the SuiClientProvider"
22
+ );
23
+ }
24
+ return suiClient;
25
+ }
26
+
27
+ // src/hooks/useSuiClientQueries.ts
28
+ function useSuiClientQueries({
29
+ queries,
30
+ combine
31
+ }) {
32
+ const suiContext = useSuiClientContext();
33
+ return useQueries({
34
+ combine,
35
+ queries: queries.map((query) => {
36
+ const { method, params, options: { queryKey = [], ...restOptions } = {} } = query;
37
+ return {
38
+ ...restOptions,
39
+ queryKey: [suiContext.network, method, params, ...queryKey],
40
+ queryFn: async () => {
41
+ return await suiContext.client[method](params);
42
+ }
43
+ };
44
+ })
45
+ });
46
+ }
47
+ export {
48
+ useSuiClientQueries
49
+ };
50
+ //# sourceMappingURL=useSuiClientQueries.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/hooks/useSuiClientQueries.ts", "../../../src/hooks/useSuiClient.ts", "../../../src/components/SuiClientProvider.tsx"],
4
+ "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { UseQueryResult } from '@tanstack/react-query';\nimport { useQueries } from '@tanstack/react-query';\n\nimport { useSuiClientContext } from './useSuiClient.js';\nimport type { SuiRpcMethods, UseSuiClientQueryOptions } from './useSuiClientQuery.js';\n\ntype SuiClientQueryOptions = SuiRpcMethods[keyof SuiRpcMethods] extends infer Method\n\t? Method extends {\n\t\t\tname: infer M extends keyof SuiRpcMethods;\n\t\t\tparams?: infer P;\n\t }\n\t\t? undefined extends P\n\t\t\t? {\n\t\t\t\t\tmethod: M;\n\t\t\t\t\tparams?: P;\n\t\t\t\t\toptions?: UseSuiClientQueryOptions<M, unknown>;\n\t\t\t }\n\t\t\t: {\n\t\t\t\t\tmethod: M;\n\t\t\t\t\tparams: P;\n\t\t\t\t\toptions?: UseSuiClientQueryOptions<M, unknown>;\n\t\t\t }\n\t\t: never\n\t: never;\n\ntype UseSuiClientQueriesResults<Args extends readonly SuiClientQueryOptions[]> = {\n\t-readonly [K in keyof Args]: Args[K] extends {\n\t\tmethod: infer M extends keyof SuiRpcMethods;\n\t\toptions?: {\n\t\t\tselect?: (...args: any[]) => infer R;\n\t\t};\n\t}\n\t\t? UseQueryResult<unknown extends R ? SuiRpcMethods[M]['result'] : R, Error>\n\t\t: never;\n};\n\nexport function useSuiClientQueries<\n\tconst Queries extends readonly SuiClientQueryOptions[],\n\tResults = UseSuiClientQueriesResults<Queries>,\n>({\n\tqueries,\n\tcombine,\n}: {\n\tqueries: Queries;\n\tcombine?: (results: UseSuiClientQueriesResults<Queries>) => Results;\n}): Results {\n\tconst suiContext = useSuiClientContext();\n\n\treturn useQueries({\n\t\tcombine: combine as never,\n\t\tqueries: queries.map((query) => {\n\t\t\tconst { method, params, options: { queryKey = [], ...restOptions } = {} } = query;\n\n\t\t\treturn {\n\t\t\t\t...restOptions,\n\t\t\t\tqueryKey: [suiContext.network, method, params, ...queryKey],\n\t\t\t\tqueryFn: async () => {\n\t\t\t\t\treturn await suiContext.client[method](params as never);\n\t\t\t\t},\n\t\t\t};\n\t\t}) as [],\n\t});\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { SuiClient } from '@mysten/sui.js/client';\nimport { useContext } from 'react';\n\nimport { SuiClientContext } from '../components/SuiClientProvider.js';\n\nexport function useSuiClientContext() {\n\tconst suiClient = useContext(SuiClientContext);\n\n\tif (!suiClient) {\n\t\tthrow new Error(\n\t\t\t'Could not find SuiClientContext. Ensure that you have set up the SuiClientProvider',\n\t\t);\n\t}\n\n\treturn suiClient;\n}\n\nexport function useSuiClient(): SuiClient {\n\treturn useSuiClientContext().client;\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { getFullnodeUrl, isSuiClient, SuiClient } from '@mysten/sui.js/client';\nimport type { SuiClientOptions } from '@mysten/sui.js/client';\nimport { createContext, useMemo, useState } from 'react';\n\nimport type { NetworkConfig } from '../hooks/networkConfig.js';\n\ntype NetworkConfigs<T extends NetworkConfig | SuiClient = NetworkConfig | SuiClient> = Record<\n\tstring,\n\tT\n>;\n\nexport interface SuiClientProviderContext {\n\tclient: SuiClient;\n\tnetworks: NetworkConfigs;\n\tnetwork: string;\n\tconfig: NetworkConfig | null;\n\tselectNetwork: (network: string) => void;\n}\n\nexport const SuiClientContext = createContext<SuiClientProviderContext | null>(null);\n\nexport type SuiClientProviderProps<T extends NetworkConfigs> = {\n\tcreateClient?: (name: keyof T, config: T[keyof T]) => SuiClient;\n\tchildren: React.ReactNode;\n\tnetworks?: T;\n\tonNetworkChange?: (network: keyof T & string) => void;\n} & (\n\t| {\n\t\t\tdefaultNetwork?: keyof T & string;\n\t\t\tnetwork?: never;\n\t }\n\t| {\n\t\t\tdefaultNetwork?: never;\n\t\t\tnetwork?: keyof T & string;\n\t }\n);\n\nconst DEFAULT_NETWORKS = {\n\tlocalnet: { url: getFullnodeUrl('localnet') },\n};\n\nconst DEFAULT_CREATE_CLIENT = function createClient(\n\t_name: string,\n\tconfig: NetworkConfig | SuiClient,\n) {\n\tif (isSuiClient(config)) {\n\t\treturn config;\n\t}\n\n\treturn new SuiClient(config);\n};\n\nexport function SuiClientProvider<T extends NetworkConfigs>(props: SuiClientProviderProps<T>) {\n\tconst { onNetworkChange, network, children } = props;\n\tconst networks = (props.networks ?? DEFAULT_NETWORKS) as T;\n\tconst createClient =\n\t\t(props.createClient as typeof DEFAULT_CREATE_CLIENT) ?? DEFAULT_CREATE_CLIENT;\n\n\tconst [selectedNetwork, setSelectedNetwork] = useState<keyof T & string>(\n\t\tprops.network ?? props.defaultNetwork ?? (Object.keys(networks)[0] as keyof T & string),\n\t);\n\n\tconst currentNetwork = props.network ?? selectedNetwork;\n\n\tconst client = useMemo(() => {\n\t\treturn createClient(currentNetwork, networks[currentNetwork]);\n\t}, [createClient, currentNetwork, networks]);\n\n\tconst ctx = useMemo((): SuiClientProviderContext => {\n\t\treturn {\n\t\t\tclient,\n\t\t\tnetworks,\n\t\t\tnetwork: currentNetwork,\n\t\t\tconfig:\n\t\t\t\tnetworks[currentNetwork] instanceof SuiClient\n\t\t\t\t\t? null\n\t\t\t\t\t: (networks[currentNetwork] as SuiClientOptions),\n\t\t\tselectNetwork: (newNetwork) => {\n\t\t\t\tif (currentNetwork === newNetwork) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (!network && newNetwork !== selectedNetwork) {\n\t\t\t\t\tsetSelectedNetwork(newNetwork);\n\t\t\t\t}\n\n\t\t\t\tonNetworkChange?.(newNetwork);\n\t\t\t},\n\t\t};\n\t}, [client, networks, selectedNetwork, currentNetwork, network, onNetworkChange]);\n\n\treturn <SuiClientContext.Provider value={ctx}>{children}</SuiClientContext.Provider>;\n}\n"],
5
+ "mappings": ";AAIA,SAAS,kBAAkB;;;ACA3B,SAAS,kBAAkB;;;ACD3B,SAAS,gBAAgB,aAAa,iBAAiB;AAEvD,SAAS,eAAe,SAAS,gBAAgB;AAyFzC;AAxED,IAAM,mBAAmB,cAA+C,IAAI;AAkBnF,IAAM,mBAAmB;AAAA,EACxB,UAAU,EAAE,KAAK,eAAe,UAAU,EAAE;AAC7C;;;ADlCO,SAAS,sBAAsB;AACrC,QAAM,YAAY,WAAW,gBAAgB;AAE7C,MAAI,CAAC,WAAW;AACf,UAAM,IAAI;AAAA,MACT;AAAA,IACD;AAAA,EACD;AAEA,SAAO;AACR;;;ADqBO,SAAS,oBAGd;AAAA,EACD;AAAA,EACA;AACD,GAGY;AACX,QAAM,aAAa,oBAAoB;AAEvC,SAAO,WAAW;AAAA,IACjB;AAAA,IACA,SAAS,QAAQ,IAAI,CAAC,UAAU;AAC/B,YAAM,EAAE,QAAQ,QAAQ,SAAS,EAAE,WAAW,CAAC,GAAG,GAAG,YAAY,IAAI,CAAC,EAAE,IAAI;AAE5E,aAAO;AAAA,QACN,GAAG;AAAA,QACH,UAAU,CAAC,WAAW,SAAS,QAAQ,QAAQ,GAAG,QAAQ;AAAA,QAC1D,SAAS,YAAY;AACpB,iBAAO,MAAM,WAAW,OAAO,MAAM,EAAE,MAAe;AAAA,QACvD;AAAA,MACD;AAAA,IACD,CAAC;AAAA,EACF,CAAC;AACF;",
6
+ "names": []
7
+ }