@haneullabs/dapp-kit 1.0.4 → 1.0.6
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/dist/components/AccountDropdownMenu.mjs +8 -8
- package/dist/components/AccountDropdownMenu.mjs.map +2 -2
- package/dist/components/ConnectButton.mjs +12 -12
- package/dist/components/ConnectButton.mjs.map +2 -2
- package/dist/components/HaneulClientProvider.d.ts.map +1 -1
- package/dist/components/HaneulClientProvider.mjs +2 -2
- package/dist/components/HaneulClientProvider.mjs.map +2 -2
- package/dist/components/WalletProvider.mjs +23 -23
- package/dist/components/WalletProvider.mjs.map +2 -2
- package/dist/components/connect-modal/ConnectModal.mjs +4 -4
- package/dist/components/connect-modal/ConnectModal.mjs.map +2 -2
- package/dist/hooks/networkConfig.mjs +6 -6
- package/dist/hooks/networkConfig.mjs.map +2 -2
- package/dist/hooks/useHaneulClient.d.ts +2 -2
- package/dist/hooks/useHaneulClient.d.ts.map +1 -1
- package/dist/hooks/useHaneulClient.mjs +9 -9
- package/dist/hooks/useHaneulClient.mjs.map +2 -2
- package/dist/hooks/useHaneulClientInfiniteQuery.d.ts +2 -2
- package/dist/hooks/useHaneulClientInfiniteQuery.d.ts.map +1 -1
- package/dist/hooks/useHaneulClientInfiniteQuery.mjs +8 -8
- package/dist/hooks/useHaneulClientInfiniteQuery.mjs.map +2 -2
- package/dist/hooks/useHaneulClientMutation.d.ts +2 -2
- package/dist/hooks/useHaneulClientMutation.d.ts.map +1 -1
- package/dist/hooks/useHaneulClientMutation.mjs +8 -8
- package/dist/hooks/useHaneulClientMutation.mjs.map +2 -2
- package/dist/hooks/useHaneulClientQueries.d.ts +6 -6
- package/dist/hooks/useHaneulClientQueries.d.ts.map +1 -1
- package/dist/hooks/useHaneulClientQueries.mjs +8 -8
- package/dist/hooks/useHaneulClientQueries.mjs.map +2 -2
- package/dist/hooks/useHaneulClientQuery.d.ts +5 -5
- package/dist/hooks/useHaneulClientQuery.d.ts.map +1 -1
- package/dist/hooks/useHaneulClientQuery.mjs +14 -14
- package/dist/hooks/useHaneulClientQuery.mjs.map +2 -2
- package/dist/hooks/useResolveHaneulNSNames.mjs +8 -8
- package/dist/hooks/useResolveHaneulNSNames.mjs.map +2 -2
- package/dist/hooks/wallet/useAutoConnectWallet.mjs +4 -4
- package/dist/hooks/wallet/useAutoConnectWallet.mjs.map +2 -2
- package/dist/hooks/wallet/useConnectWallet.mjs +4 -4
- package/dist/hooks/wallet/useConnectWallet.mjs.map +2 -2
- package/dist/hooks/wallet/useSignAndExecuteTransaction.mjs +6 -6
- package/dist/hooks/wallet/useSignAndExecuteTransaction.mjs.map +2 -2
- package/dist/hooks/wallet/useSignPersonalMessage.mjs +6 -6
- package/dist/hooks/wallet/useSignPersonalMessage.mjs.map +2 -2
- package/dist/hooks/wallet/useSignTransaction.mjs +6 -6
- package/dist/hooks/wallet/useSignTransaction.mjs.map +2 -2
- package/dist/hooks/wallet/useUnsafeBurnerWallet.mjs +19 -19
- package/dist/hooks/wallet/useUnsafeBurnerWallet.mjs.map +2 -2
- package/dist/index.mjs +49 -49
- package/dist/index.mjs.map +2 -2
- package/package.json +5 -5
- package/src/components/HaneulClientProvider.tsx +2 -2
- package/src/hooks/networkConfig.ts +2 -2
- package/src/hooks/useHaneulClient.ts +6 -6
- package/src/hooks/useHaneulClientInfiniteQuery.ts +5 -5
- package/src/hooks/useHaneulClientMutation.ts +5 -5
- package/src/hooks/useHaneulClientQueries.ts +9 -9
- package/src/hooks/useHaneulClientQuery.ts +13 -13
- package/src/hooks/useResolveHaneulNSNames.ts +2 -2
- package/src/hooks/wallet/useConnectWallet.ts +4 -4
- package/src/hooks/wallet/useSignAndExecuteTransaction.ts +2 -2
- package/src/hooks/wallet/useSignPersonalMessage.ts +2 -2
- package/src/hooks/wallet/useSignTransaction.ts +2 -2
- package/src/hooks/wallet/useUnsafeBurnerWallet.ts +13 -13
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { useContext } from "react";
|
|
3
3
|
|
|
4
4
|
// src/components/HaneulClientProvider.tsx
|
|
5
|
-
import { getJsonRpcFullnodeUrl,
|
|
5
|
+
import { getJsonRpcFullnodeUrl, isHaneulJsonRpcClient, HaneulJsonRpcClient } from "@haneullabs/haneul/jsonRpc";
|
|
6
6
|
import { createContext, useMemo, useState } from "react";
|
|
7
7
|
import { jsx } from "react/jsx-runtime";
|
|
8
8
|
var HaneulClientContext = createContext(null);
|
|
@@ -11,20 +11,20 @@ var DEFAULT_NETWORKS = {
|
|
|
11
11
|
};
|
|
12
12
|
|
|
13
13
|
// src/hooks/useHaneulClient.ts
|
|
14
|
-
function
|
|
15
|
-
const
|
|
16
|
-
if (!
|
|
14
|
+
function useHaneulClientContext() {
|
|
15
|
+
const haneulClient = useContext(HaneulClientContext);
|
|
16
|
+
if (!haneulClient) {
|
|
17
17
|
throw new Error(
|
|
18
18
|
"Could not find HaneulClientContext. Ensure that you have set up the HaneulClientProvider"
|
|
19
19
|
);
|
|
20
20
|
}
|
|
21
|
-
return
|
|
21
|
+
return haneulClient;
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
// src/hooks/networkConfig.ts
|
|
25
25
|
function createNetworkConfig(networkConfig) {
|
|
26
26
|
function useNetworkConfig() {
|
|
27
|
-
const { config } =
|
|
27
|
+
const { config } = useHaneulClientContext();
|
|
28
28
|
if (!config) {
|
|
29
29
|
throw new Error("No network config found");
|
|
30
30
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/hooks/useHaneulClient.ts", "../../src/components/HaneulClientProvider.tsx", "../../src/hooks/networkConfig.ts"],
|
|
4
|
-
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { HaneulJsonRpcClient } from '@haneullabs/haneul/jsonRpc';\nimport { useContext } from 'react';\n\nimport { HaneulClientContext } from '../components/HaneulClientProvider.js';\n\nexport function
|
|
5
|
-
"mappings": ";AAIA,SAAS,kBAAkB;;;ACD3B,SAAS,uBAAuB,
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { HaneulJsonRpcClient } from '@haneullabs/haneul/jsonRpc';\nimport { useContext } from 'react';\n\nimport { HaneulClientContext } from '../components/HaneulClientProvider.js';\n\nexport function useHaneulClientContext() {\n\tconst haneulClient = useContext(HaneulClientContext);\n\n\tif (!haneulClient) {\n\t\tthrow new Error(\n\t\t\t'Could not find HaneulClientContext. Ensure that you have set up the HaneulClientProvider',\n\t\t);\n\t}\n\n\treturn haneulClient;\n}\n\nexport function useHaneulClient(): HaneulJsonRpcClient {\n\treturn useHaneulClientContext().client;\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { getJsonRpcFullnodeUrl, isHaneulJsonRpcClient, HaneulJsonRpcClient } from '@haneullabs/haneul/jsonRpc';\nimport type { HaneulJsonRpcClientOptions } from '@haneullabs/haneul/jsonRpc';\nimport { createContext, useMemo, useState } from 'react';\n\nimport type { NetworkConfig } from '../hooks/networkConfig.js';\n\ntype NetworkConfigs<T extends NetworkConfig | HaneulJsonRpcClient = NetworkConfig | HaneulJsonRpcClient> =\n\tRecord<string, T>;\n\nexport interface HaneulClientProviderContext {\n\tclient: HaneulJsonRpcClient;\n\tnetworks: NetworkConfigs;\n\tnetwork: string;\n\tconfig: NetworkConfig | null;\n\tselectNetwork: (network: string) => void;\n}\n\nexport const HaneulClientContext = createContext<HaneulClientProviderContext | null>(null);\n\nexport type HaneulClientProviderProps<T extends NetworkConfigs> = {\n\tcreateClient?: (name: keyof T, config: T[keyof T]) => HaneulJsonRpcClient;\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: getJsonRpcFullnodeUrl('localnet') },\n};\n\nconst DEFAULT_CREATE_CLIENT = function createClient(\n\t_name: string,\n\tconfig: NetworkConfig | HaneulJsonRpcClient,\n) {\n\tif (isHaneulJsonRpcClient(config)) {\n\t\treturn config;\n\t}\n\n\treturn new HaneulJsonRpcClient(config);\n};\n\nexport function HaneulClientProvider<T extends NetworkConfigs>(props: HaneulClientProviderProps<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((): HaneulClientProviderContext => {\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 HaneulJsonRpcClient\n\t\t\t\t\t? null\n\t\t\t\t\t: (networks[currentNetwork] as HaneulJsonRpcClientOptions),\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 <HaneulClientContext.Provider value={ctx}>{children}</HaneulClientContext.Provider>;\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { HaneulJsonRpcClientOptions } from '@haneullabs/haneul/jsonRpc';\n\nimport { useHaneulClientContext } from './useHaneulClient.js';\n\nexport type NetworkConfig<T extends object = object> = HaneulJsonRpcClientOptions & {\n\tvariables?: T;\n};\n\nexport function createNetworkConfig<\n\tconst T extends Record<string, Config>,\n\tConfig extends NetworkConfig<Variables> = T[keyof T],\n\tVariables extends object = NonNullable<Config['variables']>,\n>(networkConfig: T) {\n\tfunction useNetworkConfig(): Config {\n\t\tconst { config } = useHaneulClientContext();\n\n\t\tif (!config) {\n\t\t\tthrow new Error('No network config found');\n\t\t}\n\n\t\treturn config as T[keyof T];\n\t}\n\n\tfunction useNetworkVariables(): Variables {\n\t\tconst { variables } = useNetworkConfig();\n\n\t\treturn (variables ?? {}) as Variables;\n\t}\n\n\tfunction useNetworkVariable<K extends keyof Variables>(name: K): Variables[K] {\n\t\tconst variables = useNetworkVariables();\n\n\t\treturn variables[name];\n\t}\n\n\treturn {\n\t\tnetworkConfig,\n\t\tuseNetworkConfig,\n\t\tuseNetworkVariables,\n\t\tuseNetworkVariable,\n\t};\n}\n"],
|
|
5
|
+
"mappings": ";AAIA,SAAS,kBAAkB;;;ACD3B,SAAS,uBAAuB,uBAAuB,2BAA2B;AAElF,SAAS,eAAe,SAAS,gBAAgB;AAuFzC;AAxED,IAAM,sBAAsB,cAAkD,IAAI;AAkBzF,IAAM,mBAAmB;AAAA,EACxB,UAAU,EAAE,KAAK,sBAAsB,UAAU,EAAE;AACpD;;;ADhCO,SAAS,yBAAyB;AACxC,QAAM,eAAe,WAAW,mBAAmB;AAEnD,MAAI,CAAC,cAAc;AAClB,UAAM,IAAI;AAAA,MACT;AAAA,IACD;AAAA,EACD;AAEA,SAAO;AACR;;;AEPO,SAAS,oBAId,eAAkB;AACnB,WAAS,mBAA2B;AACnC,UAAM,EAAE,OAAO,IAAI,uBAAuB;AAE1C,QAAI,CAAC,QAAQ;AACZ,YAAM,IAAI,MAAM,yBAAyB;AAAA,IAC1C;AAEA,WAAO;AAAA,EACR;AAEA,WAAS,sBAAiC;AACzC,UAAM,EAAE,UAAU,IAAI,iBAAiB;AAEvC,WAAQ,aAAa,CAAC;AAAA,EACvB;AAEA,WAAS,mBAA8C,MAAuB;AAC7E,UAAM,YAAY,oBAAoB;AAEtC,WAAO,UAAU,IAAI;AAAA,EACtB;AAEA,SAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AACD;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { HaneulJsonRpcClient } from '@haneullabs/haneul/jsonRpc';
|
|
2
|
-
export declare function
|
|
3
|
-
export declare function
|
|
2
|
+
export declare function useHaneulClientContext(): import("../components/HaneulClientProvider.js").HaneulClientProviderContext;
|
|
3
|
+
export declare function useHaneulClient(): HaneulJsonRpcClient;
|
|
4
4
|
//# sourceMappingURL=useHaneulClient.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useHaneulClient.d.ts","sourceRoot":"","sources":["../../src/hooks/useHaneulClient.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAKtE,wBAAgB,
|
|
1
|
+
{"version":3,"file":"useHaneulClient.d.ts","sourceRoot":"","sources":["../../src/hooks/useHaneulClient.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAKtE,wBAAgB,sBAAsB,gFAUrC;AAED,wBAAgB,eAAe,IAAI,mBAAmB,CAErD"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { useContext } from "react";
|
|
3
3
|
|
|
4
4
|
// src/components/HaneulClientProvider.tsx
|
|
5
|
-
import { getJsonRpcFullnodeUrl,
|
|
5
|
+
import { getJsonRpcFullnodeUrl, isHaneulJsonRpcClient, HaneulJsonRpcClient } from "@haneullabs/haneul/jsonRpc";
|
|
6
6
|
import { createContext, useMemo, useState } from "react";
|
|
7
7
|
import { jsx } from "react/jsx-runtime";
|
|
8
8
|
var HaneulClientContext = createContext(null);
|
|
@@ -11,20 +11,20 @@ var DEFAULT_NETWORKS = {
|
|
|
11
11
|
};
|
|
12
12
|
|
|
13
13
|
// src/hooks/useHaneulClient.ts
|
|
14
|
-
function
|
|
15
|
-
const
|
|
16
|
-
if (!
|
|
14
|
+
function useHaneulClientContext() {
|
|
15
|
+
const haneulClient = useContext(HaneulClientContext);
|
|
16
|
+
if (!haneulClient) {
|
|
17
17
|
throw new Error(
|
|
18
18
|
"Could not find HaneulClientContext. Ensure that you have set up the HaneulClientProvider"
|
|
19
19
|
);
|
|
20
20
|
}
|
|
21
|
-
return
|
|
21
|
+
return haneulClient;
|
|
22
22
|
}
|
|
23
|
-
function
|
|
24
|
-
return
|
|
23
|
+
function useHaneulClient() {
|
|
24
|
+
return useHaneulClientContext().client;
|
|
25
25
|
}
|
|
26
26
|
export {
|
|
27
|
-
|
|
28
|
-
|
|
27
|
+
useHaneulClient,
|
|
28
|
+
useHaneulClientContext
|
|
29
29
|
};
|
|
30
30
|
//# sourceMappingURL=useHaneulClient.mjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/hooks/useHaneulClient.ts", "../../src/components/HaneulClientProvider.tsx"],
|
|
4
|
-
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { HaneulJsonRpcClient } from '@haneullabs/haneul/jsonRpc';\nimport { useContext } from 'react';\n\nimport { HaneulClientContext } from '../components/HaneulClientProvider.js';\n\nexport function
|
|
5
|
-
"mappings": ";AAIA,SAAS,kBAAkB;;;ACD3B,SAAS,uBAAuB,
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { HaneulJsonRpcClient } from '@haneullabs/haneul/jsonRpc';\nimport { useContext } from 'react';\n\nimport { HaneulClientContext } from '../components/HaneulClientProvider.js';\n\nexport function useHaneulClientContext() {\n\tconst haneulClient = useContext(HaneulClientContext);\n\n\tif (!haneulClient) {\n\t\tthrow new Error(\n\t\t\t'Could not find HaneulClientContext. Ensure that you have set up the HaneulClientProvider',\n\t\t);\n\t}\n\n\treturn haneulClient;\n}\n\nexport function useHaneulClient(): HaneulJsonRpcClient {\n\treturn useHaneulClientContext().client;\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { getJsonRpcFullnodeUrl, isHaneulJsonRpcClient, HaneulJsonRpcClient } from '@haneullabs/haneul/jsonRpc';\nimport type { HaneulJsonRpcClientOptions } from '@haneullabs/haneul/jsonRpc';\nimport { createContext, useMemo, useState } from 'react';\n\nimport type { NetworkConfig } from '../hooks/networkConfig.js';\n\ntype NetworkConfigs<T extends NetworkConfig | HaneulJsonRpcClient = NetworkConfig | HaneulJsonRpcClient> =\n\tRecord<string, T>;\n\nexport interface HaneulClientProviderContext {\n\tclient: HaneulJsonRpcClient;\n\tnetworks: NetworkConfigs;\n\tnetwork: string;\n\tconfig: NetworkConfig | null;\n\tselectNetwork: (network: string) => void;\n}\n\nexport const HaneulClientContext = createContext<HaneulClientProviderContext | null>(null);\n\nexport type HaneulClientProviderProps<T extends NetworkConfigs> = {\n\tcreateClient?: (name: keyof T, config: T[keyof T]) => HaneulJsonRpcClient;\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: getJsonRpcFullnodeUrl('localnet') },\n};\n\nconst DEFAULT_CREATE_CLIENT = function createClient(\n\t_name: string,\n\tconfig: NetworkConfig | HaneulJsonRpcClient,\n) {\n\tif (isHaneulJsonRpcClient(config)) {\n\t\treturn config;\n\t}\n\n\treturn new HaneulJsonRpcClient(config);\n};\n\nexport function HaneulClientProvider<T extends NetworkConfigs>(props: HaneulClientProviderProps<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((): HaneulClientProviderContext => {\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 HaneulJsonRpcClient\n\t\t\t\t\t? null\n\t\t\t\t\t: (networks[currentNetwork] as HaneulJsonRpcClientOptions),\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 <HaneulClientContext.Provider value={ctx}>{children}</HaneulClientContext.Provider>;\n}\n"],
|
|
5
|
+
"mappings": ";AAIA,SAAS,kBAAkB;;;ACD3B,SAAS,uBAAuB,uBAAuB,2BAA2B;AAElF,SAAS,eAAe,SAAS,gBAAgB;AAuFzC;AAxED,IAAM,sBAAsB,cAAkD,IAAI;AAkBzF,IAAM,mBAAmB;AAAA,EACxB,UAAU,EAAE,KAAK,sBAAsB,UAAU,EAAE;AACpD;;;ADhCO,SAAS,yBAAyB;AACxC,QAAM,eAAe,WAAW,mBAAmB;AAEnD,MAAI,CAAC,cAAc;AAClB,UAAM,IAAI;AAAA,MACT;AAAA,IACD;AAAA,EACD;AAEA,SAAO;AACR;AAEO,SAAS,kBAAuC;AACtD,SAAO,uBAAuB,EAAE;AACjC;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -20,7 +20,7 @@ export type HaneulRpcPaginatedMethods = {
|
|
|
20
20
|
cursor: Cursor;
|
|
21
21
|
} : never;
|
|
22
22
|
};
|
|
23
|
-
export type
|
|
24
|
-
export declare function
|
|
23
|
+
export type UseHaneulClientInfiniteQueryOptions<T extends keyof HaneulRpcPaginatedMethods, TData> = PartialBy<Omit<UseInfiniteQueryOptions<HaneulRpcPaginatedMethods[T]['result'], Error, TData, unknown[]>, 'queryFn' | 'initialPageParam' | 'getNextPageParam'>, 'queryKey'>;
|
|
24
|
+
export declare function useHaneulClientInfiniteQuery<T extends keyof HaneulRpcPaginatedMethods, TData = InfiniteData<HaneulRpcPaginatedMethods[T]['result']>>(method: T, params: HaneulRpcPaginatedMethods[T]['params'], { queryKey, enabled, ...options }?: UseHaneulClientInfiniteQueryOptions<T, TData>): UseInfiniteQueryResult<TData, Error>;
|
|
25
25
|
export {};
|
|
26
26
|
//# sourceMappingURL=useHaneulClientInfiniteQuery.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useHaneulClientInfiniteQuery.d.ts","sourceRoot":"","sources":["../../src/hooks/useHaneulClientInfiniteQuery.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,KAAK,EACX,YAAY,EACZ,uBAAuB,EACvB,sBAAsB,EACtB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAG1D,UAAU,eAAe;IACxB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,MAAM,4BAA4B,GAAG;KACzC,CAAC,IAAI,MAAM,mBAAmB,GAAG,mBAAmB,CAAC,CAAC,CAAC,SAAS,CAChE,KAAK,EAAE,GAAG,KACN,OAAO,CAAC,eAAe,CAAC,GAC1B,CAAC,GACD,KAAK;CACR,CAAC,MAAM,mBAAmB,CAAC,CAAC;AAE7B,MAAM,MAAM,yBAAyB,GAAG;KACtC,CAAC,IAAI,4BAA4B,GAAG,mBAAmB,CAAC,CAAC,CAAC,SAAS,CACnE,KAAK,EAAE,MAAM,MAAM,KACf,OAAO,CACX,MAAM,MAAM,SAAS;QAAE,WAAW,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAA;KAAE,CACvF,GACE;QACA,IAAI,EAAE,CAAC,CAAC;QACR,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;KACf,GACA,KAAK;CACR,CAAC;AAEF,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"useHaneulClientInfiniteQuery.d.ts","sourceRoot":"","sources":["../../src/hooks/useHaneulClientInfiniteQuery.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,KAAK,EACX,YAAY,EACZ,uBAAuB,EACvB,sBAAsB,EACtB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAG1D,UAAU,eAAe;IACxB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,MAAM,4BAA4B,GAAG;KACzC,CAAC,IAAI,MAAM,mBAAmB,GAAG,mBAAmB,CAAC,CAAC,CAAC,SAAS,CAChE,KAAK,EAAE,GAAG,KACN,OAAO,CAAC,eAAe,CAAC,GAC1B,CAAC,GACD,KAAK;CACR,CAAC,MAAM,mBAAmB,CAAC,CAAC;AAE7B,MAAM,MAAM,yBAAyB,GAAG;KACtC,CAAC,IAAI,4BAA4B,GAAG,mBAAmB,CAAC,CAAC,CAAC,SAAS,CACnE,KAAK,EAAE,MAAM,MAAM,KACf,OAAO,CACX,MAAM,MAAM,SAAS;QAAE,WAAW,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAA;KAAE,CACvF,GACE;QACA,IAAI,EAAE,CAAC,CAAC;QACR,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;KACf,GACA,KAAK;CACR,CAAC;AAEF,MAAM,MAAM,mCAAmC,CAC9C,CAAC,SAAS,MAAM,yBAAyB,EACzC,KAAK,IACF,SAAS,CACZ,IAAI,CACH,uBAAuB,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EACxF,SAAS,GAAG,kBAAkB,GAAG,kBAAkB,CACnD,EACD,UAAU,CACV,CAAC;AAEF,wBAAgB,4BAA4B,CAC3C,CAAC,SAAS,MAAM,yBAAyB,EACzC,KAAK,GAAG,YAAY,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAE5D,MAAM,EAAE,CAAC,EACT,MAAM,EAAE,yBAAyB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAC9C,EACC,QAAa,EACb,OAAkB,EAClB,GAAG,OAAO,EACV,GAAE,mCAAmC,CAAC,CAAC,EAAE,KAAK,CAAM,GACnD,sBAAsB,CAAC,KAAK,EAAE,KAAK,CAAC,CAgBtC"}
|
|
@@ -5,7 +5,7 @@ import { useInfiniteQuery } from "@tanstack/react-query";
|
|
|
5
5
|
import { useContext } from "react";
|
|
6
6
|
|
|
7
7
|
// src/components/HaneulClientProvider.tsx
|
|
8
|
-
import { getJsonRpcFullnodeUrl,
|
|
8
|
+
import { getJsonRpcFullnodeUrl, isHaneulJsonRpcClient, HaneulJsonRpcClient } from "@haneullabs/haneul/jsonRpc";
|
|
9
9
|
import { createContext, useMemo, useState } from "react";
|
|
10
10
|
import { jsx } from "react/jsx-runtime";
|
|
11
11
|
var HaneulClientContext = createContext(null);
|
|
@@ -14,23 +14,23 @@ var DEFAULT_NETWORKS = {
|
|
|
14
14
|
};
|
|
15
15
|
|
|
16
16
|
// src/hooks/useHaneulClient.ts
|
|
17
|
-
function
|
|
18
|
-
const
|
|
19
|
-
if (!
|
|
17
|
+
function useHaneulClientContext() {
|
|
18
|
+
const haneulClient = useContext(HaneulClientContext);
|
|
19
|
+
if (!haneulClient) {
|
|
20
20
|
throw new Error(
|
|
21
21
|
"Could not find HaneulClientContext. Ensure that you have set up the HaneulClientProvider"
|
|
22
22
|
);
|
|
23
23
|
}
|
|
24
|
-
return
|
|
24
|
+
return haneulClient;
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
// src/hooks/useHaneulClientInfiniteQuery.ts
|
|
28
|
-
function
|
|
28
|
+
function useHaneulClientInfiniteQuery(method, params, {
|
|
29
29
|
queryKey = [],
|
|
30
30
|
enabled = !!params,
|
|
31
31
|
...options
|
|
32
32
|
} = {}) {
|
|
33
|
-
const suiContext =
|
|
33
|
+
const suiContext = useHaneulClientContext();
|
|
34
34
|
return useInfiniteQuery({
|
|
35
35
|
...options,
|
|
36
36
|
initialPageParam: null,
|
|
@@ -45,6 +45,6 @@ function useSuiClientInfiniteQuery(method, params, {
|
|
|
45
45
|
});
|
|
46
46
|
}
|
|
47
47
|
export {
|
|
48
|
-
|
|
48
|
+
useHaneulClientInfiniteQuery
|
|
49
49
|
};
|
|
50
50
|
//# sourceMappingURL=useHaneulClientInfiniteQuery.mjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/hooks/useHaneulClientInfiniteQuery.ts", "../../src/hooks/useHaneulClient.ts", "../../src/components/HaneulClientProvider.tsx"],
|
|
4
|
-
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { HaneulJsonRpcClient } from '@haneullabs/haneul/jsonRpc';\nimport type {\n\tInfiniteData,\n\tUseInfiniteQueryOptions,\n\tUseInfiniteQueryResult,\n} from '@tanstack/react-query';\nimport { useInfiniteQuery } from '@tanstack/react-query';\n\nimport type { PartialBy } from '../types/utilityTypes.js';\nimport {
|
|
5
|
-
"mappings": ";AASA,SAAS,wBAAwB;;;ACLjC,SAAS,kBAAkB;;;ACD3B,SAAS,uBAAuB,
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { HaneulJsonRpcClient } from '@haneullabs/haneul/jsonRpc';\nimport type {\n\tInfiniteData,\n\tUseInfiniteQueryOptions,\n\tUseInfiniteQueryResult,\n} from '@tanstack/react-query';\nimport { useInfiniteQuery } from '@tanstack/react-query';\n\nimport type { PartialBy } from '../types/utilityTypes.js';\nimport { useHaneulClientContext } from './useHaneulClient.js';\n\ninterface PaginatedResult {\n\tdata?: unknown;\n\tnextCursor?: unknown;\n\thasNextPage: boolean;\n}\n\nexport type HaneulRpcPaginatedMethodName = {\n\t[K in keyof HaneulJsonRpcClient]: HaneulJsonRpcClient[K] extends (\n\t\tinput: any,\n\t) => Promise<PaginatedResult>\n\t\t? K\n\t\t: never;\n}[keyof HaneulJsonRpcClient];\n\nexport type HaneulRpcPaginatedMethods = {\n\t[K in HaneulRpcPaginatedMethodName]: HaneulJsonRpcClient[K] extends (\n\t\tinput: infer Params,\n\t) => Promise<\n\t\tinfer Result extends { hasNextPage?: boolean | null; nextCursor?: infer Cursor | null }\n\t>\n\t\t? {\n\t\t\t\tname: K;\n\t\t\t\tresult: Result;\n\t\t\t\tparams: Params;\n\t\t\t\tcursor: Cursor;\n\t\t\t}\n\t\t: never;\n};\n\nexport type UseHaneulClientInfiniteQueryOptions<\n\tT extends keyof HaneulRpcPaginatedMethods,\n\tTData,\n> = PartialBy<\n\tOmit<\n\t\tUseInfiniteQueryOptions<HaneulRpcPaginatedMethods[T]['result'], Error, TData, unknown[]>,\n\t\t'queryFn' | 'initialPageParam' | 'getNextPageParam'\n\t>,\n\t'queryKey'\n>;\n\nexport function useHaneulClientInfiniteQuery<\n\tT extends keyof HaneulRpcPaginatedMethods,\n\tTData = InfiniteData<HaneulRpcPaginatedMethods[T]['result']>,\n>(\n\tmethod: T,\n\tparams: HaneulRpcPaginatedMethods[T]['params'],\n\t{\n\t\tqueryKey = [],\n\t\tenabled = !!params,\n\t\t...options\n\t}: UseHaneulClientInfiniteQueryOptions<T, TData> = {},\n): UseInfiniteQueryResult<TData, Error> {\n\tconst suiContext = useHaneulClientContext();\n\n\treturn useInfiniteQuery({\n\t\t...options,\n\t\tinitialPageParam: null,\n\t\tqueryKey: [suiContext.network, method, params, ...queryKey],\n\t\tenabled,\n\t\tqueryFn: ({ pageParam }) =>\n\t\t\tsuiContext.client[method]({\n\t\t\t\t// oxlint-disable-next-line no-useless-fallback-in-spread\n\t\t\t\t...(params ?? {}),\n\t\t\t\tcursor: pageParam,\n\t\t\t} as never),\n\t\tgetNextPageParam: (lastPage) => (lastPage.hasNextPage ? (lastPage.nextCursor ?? null) : null),\n\t});\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { HaneulJsonRpcClient } from '@haneullabs/haneul/jsonRpc';\nimport { useContext } from 'react';\n\nimport { HaneulClientContext } from '../components/HaneulClientProvider.js';\n\nexport function useHaneulClientContext() {\n\tconst haneulClient = useContext(HaneulClientContext);\n\n\tif (!haneulClient) {\n\t\tthrow new Error(\n\t\t\t'Could not find HaneulClientContext. Ensure that you have set up the HaneulClientProvider',\n\t\t);\n\t}\n\n\treturn haneulClient;\n}\n\nexport function useHaneulClient(): HaneulJsonRpcClient {\n\treturn useHaneulClientContext().client;\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { getJsonRpcFullnodeUrl, isHaneulJsonRpcClient, HaneulJsonRpcClient } from '@haneullabs/haneul/jsonRpc';\nimport type { HaneulJsonRpcClientOptions } from '@haneullabs/haneul/jsonRpc';\nimport { createContext, useMemo, useState } from 'react';\n\nimport type { NetworkConfig } from '../hooks/networkConfig.js';\n\ntype NetworkConfigs<T extends NetworkConfig | HaneulJsonRpcClient = NetworkConfig | HaneulJsonRpcClient> =\n\tRecord<string, T>;\n\nexport interface HaneulClientProviderContext {\n\tclient: HaneulJsonRpcClient;\n\tnetworks: NetworkConfigs;\n\tnetwork: string;\n\tconfig: NetworkConfig | null;\n\tselectNetwork: (network: string) => void;\n}\n\nexport const HaneulClientContext = createContext<HaneulClientProviderContext | null>(null);\n\nexport type HaneulClientProviderProps<T extends NetworkConfigs> = {\n\tcreateClient?: (name: keyof T, config: T[keyof T]) => HaneulJsonRpcClient;\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: getJsonRpcFullnodeUrl('localnet') },\n};\n\nconst DEFAULT_CREATE_CLIENT = function createClient(\n\t_name: string,\n\tconfig: NetworkConfig | HaneulJsonRpcClient,\n) {\n\tif (isHaneulJsonRpcClient(config)) {\n\t\treturn config;\n\t}\n\n\treturn new HaneulJsonRpcClient(config);\n};\n\nexport function HaneulClientProvider<T extends NetworkConfigs>(props: HaneulClientProviderProps<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((): HaneulClientProviderContext => {\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 HaneulJsonRpcClient\n\t\t\t\t\t? null\n\t\t\t\t\t: (networks[currentNetwork] as HaneulJsonRpcClientOptions),\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 <HaneulClientContext.Provider value={ctx}>{children}</HaneulClientContext.Provider>;\n}\n"],
|
|
5
|
+
"mappings": ";AASA,SAAS,wBAAwB;;;ACLjC,SAAS,kBAAkB;;;ACD3B,SAAS,uBAAuB,uBAAuB,2BAA2B;AAElF,SAAS,eAAe,SAAS,gBAAgB;AAuFzC;AAxED,IAAM,sBAAsB,cAAkD,IAAI;AAkBzF,IAAM,mBAAmB;AAAA,EACxB,UAAU,EAAE,KAAK,sBAAsB,UAAU,EAAE;AACpD;;;ADhCO,SAAS,yBAAyB;AACxC,QAAM,eAAe,WAAW,mBAAmB;AAEnD,MAAI,CAAC,cAAc;AAClB,UAAM,IAAI;AAAA,MACT;AAAA,IACD;AAAA,EACD;AAEA,SAAO;AACR;;;ADoCO,SAAS,6BAIf,QACA,QACA;AAAA,EACC,WAAW,CAAC;AAAA,EACZ,UAAU,CAAC,CAAC;AAAA,EACZ,GAAG;AACJ,IAAmD,CAAC,GACb;AACvC,QAAM,aAAa,uBAAuB;AAE1C,SAAO,iBAAiB;AAAA,IACvB,GAAG;AAAA,IACH,kBAAkB;AAAA,IAClB,UAAU,CAAC,WAAW,SAAS,QAAQ,QAAQ,GAAG,QAAQ;AAAA,IAC1D;AAAA,IACA,SAAS,CAAC,EAAE,UAAU,MACrB,WAAW,OAAO,MAAM,EAAE;AAAA;AAAA,MAEzB,GAAI,UAAU,CAAC;AAAA,MACf,QAAQ;AAAA,IACT,CAAU;AAAA,IACX,kBAAkB,CAAC,aAAc,SAAS,cAAe,SAAS,cAAc,OAAQ;AAAA,EACzF,CAAC;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query';
|
|
2
2
|
import type { HaneulRpcMethods } from './useHaneulClientQuery.js';
|
|
3
|
-
export type
|
|
4
|
-
export declare function
|
|
3
|
+
export type UseHaneulClientMutationOptions<T extends keyof HaneulRpcMethods> = Omit<UseMutationOptions<HaneulRpcMethods[T]['result'], Error, HaneulRpcMethods[T]['params'], unknown[]>, 'mutationFn'>;
|
|
4
|
+
export declare function useHaneulClientMutation<T extends keyof HaneulRpcMethods>(method: T, options?: UseHaneulClientMutationOptions<T>): UseMutationResult<HaneulRpcMethods[T]['result'], Error, HaneulRpcMethods[T]['params'], unknown[]>;
|
|
5
5
|
//# sourceMappingURL=useHaneulClientMutation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useHaneulClientMutation.d.ts","sourceRoot":"","sources":["../../src/hooks/useHaneulClientMutation.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAInF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAElE,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"useHaneulClientMutation.d.ts","sourceRoot":"","sources":["../../src/hooks/useHaneulClientMutation.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAInF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAElE,MAAM,MAAM,8BAA8B,CAAC,CAAC,SAAS,MAAM,gBAAgB,IAAI,IAAI,CAClF,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,EAClG,YAAY,CACZ,CAAC;AAEF,wBAAgB,uBAAuB,CAAC,CAAC,SAAS,MAAM,gBAAgB,EACvE,MAAM,EAAE,CAAC,EACT,OAAO,GAAE,8BAA8B,CAAC,CAAC,CAAM,GAC7C,iBAAiB,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,CASnG"}
|
|
@@ -5,7 +5,7 @@ import { useMutation } from "@tanstack/react-query";
|
|
|
5
5
|
import { useContext } from "react";
|
|
6
6
|
|
|
7
7
|
// src/components/HaneulClientProvider.tsx
|
|
8
|
-
import { getJsonRpcFullnodeUrl,
|
|
8
|
+
import { getJsonRpcFullnodeUrl, isHaneulJsonRpcClient, HaneulJsonRpcClient } from "@haneullabs/haneul/jsonRpc";
|
|
9
9
|
import { createContext, useMemo, useState } from "react";
|
|
10
10
|
import { jsx } from "react/jsx-runtime";
|
|
11
11
|
var HaneulClientContext = createContext(null);
|
|
@@ -14,19 +14,19 @@ var DEFAULT_NETWORKS = {
|
|
|
14
14
|
};
|
|
15
15
|
|
|
16
16
|
// src/hooks/useHaneulClient.ts
|
|
17
|
-
function
|
|
18
|
-
const
|
|
19
|
-
if (!
|
|
17
|
+
function useHaneulClientContext() {
|
|
18
|
+
const haneulClient = useContext(HaneulClientContext);
|
|
19
|
+
if (!haneulClient) {
|
|
20
20
|
throw new Error(
|
|
21
21
|
"Could not find HaneulClientContext. Ensure that you have set up the HaneulClientProvider"
|
|
22
22
|
);
|
|
23
23
|
}
|
|
24
|
-
return
|
|
24
|
+
return haneulClient;
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
// src/hooks/useHaneulClientMutation.ts
|
|
28
|
-
function
|
|
29
|
-
const suiContext =
|
|
28
|
+
function useHaneulClientMutation(method, options = {}) {
|
|
29
|
+
const suiContext = useHaneulClientContext();
|
|
30
30
|
return useMutation({
|
|
31
31
|
...options,
|
|
32
32
|
mutationFn: async (params) => {
|
|
@@ -35,6 +35,6 @@ function useSuiClientMutation(method, options = {}) {
|
|
|
35
35
|
});
|
|
36
36
|
}
|
|
37
37
|
export {
|
|
38
|
-
|
|
38
|
+
useHaneulClientMutation
|
|
39
39
|
};
|
|
40
40
|
//# sourceMappingURL=useHaneulClientMutation.mjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/hooks/useHaneulClientMutation.ts", "../../src/hooks/useHaneulClient.ts", "../../src/components/HaneulClientProvider.tsx"],
|
|
4
|
-
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query';\nimport { useMutation } from '@tanstack/react-query';\n\nimport {
|
|
5
|
-
"mappings": ";AAIA,SAAS,mBAAmB;;;ACA5B,SAAS,kBAAkB;;;ACD3B,SAAS,uBAAuB,
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query';\nimport { useMutation } from '@tanstack/react-query';\n\nimport { useHaneulClientContext } from './useHaneulClient.js';\nimport type { HaneulRpcMethods } from './useHaneulClientQuery.js';\n\nexport type UseHaneulClientMutationOptions<T extends keyof HaneulRpcMethods> = Omit<\n\tUseMutationOptions<HaneulRpcMethods[T]['result'], Error, HaneulRpcMethods[T]['params'], unknown[]>,\n\t'mutationFn'\n>;\n\nexport function useHaneulClientMutation<T extends keyof HaneulRpcMethods>(\n\tmethod: T,\n\toptions: UseHaneulClientMutationOptions<T> = {},\n): UseMutationResult<HaneulRpcMethods[T]['result'], Error, HaneulRpcMethods[T]['params'], unknown[]> {\n\tconst suiContext = useHaneulClientContext();\n\n\treturn useMutation({\n\t\t...options,\n\t\tmutationFn: async (params) => {\n\t\t\treturn await suiContext.client[method](params as never);\n\t\t},\n\t});\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { HaneulJsonRpcClient } from '@haneullabs/haneul/jsonRpc';\nimport { useContext } from 'react';\n\nimport { HaneulClientContext } from '../components/HaneulClientProvider.js';\n\nexport function useHaneulClientContext() {\n\tconst haneulClient = useContext(HaneulClientContext);\n\n\tif (!haneulClient) {\n\t\tthrow new Error(\n\t\t\t'Could not find HaneulClientContext. Ensure that you have set up the HaneulClientProvider',\n\t\t);\n\t}\n\n\treturn haneulClient;\n}\n\nexport function useHaneulClient(): HaneulJsonRpcClient {\n\treturn useHaneulClientContext().client;\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { getJsonRpcFullnodeUrl, isHaneulJsonRpcClient, HaneulJsonRpcClient } from '@haneullabs/haneul/jsonRpc';\nimport type { HaneulJsonRpcClientOptions } from '@haneullabs/haneul/jsonRpc';\nimport { createContext, useMemo, useState } from 'react';\n\nimport type { NetworkConfig } from '../hooks/networkConfig.js';\n\ntype NetworkConfigs<T extends NetworkConfig | HaneulJsonRpcClient = NetworkConfig | HaneulJsonRpcClient> =\n\tRecord<string, T>;\n\nexport interface HaneulClientProviderContext {\n\tclient: HaneulJsonRpcClient;\n\tnetworks: NetworkConfigs;\n\tnetwork: string;\n\tconfig: NetworkConfig | null;\n\tselectNetwork: (network: string) => void;\n}\n\nexport const HaneulClientContext = createContext<HaneulClientProviderContext | null>(null);\n\nexport type HaneulClientProviderProps<T extends NetworkConfigs> = {\n\tcreateClient?: (name: keyof T, config: T[keyof T]) => HaneulJsonRpcClient;\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: getJsonRpcFullnodeUrl('localnet') },\n};\n\nconst DEFAULT_CREATE_CLIENT = function createClient(\n\t_name: string,\n\tconfig: NetworkConfig | HaneulJsonRpcClient,\n) {\n\tif (isHaneulJsonRpcClient(config)) {\n\t\treturn config;\n\t}\n\n\treturn new HaneulJsonRpcClient(config);\n};\n\nexport function HaneulClientProvider<T extends NetworkConfigs>(props: HaneulClientProviderProps<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((): HaneulClientProviderContext => {\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 HaneulJsonRpcClient\n\t\t\t\t\t? null\n\t\t\t\t\t: (networks[currentNetwork] as HaneulJsonRpcClientOptions),\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 <HaneulClientContext.Provider value={ctx}>{children}</HaneulClientContext.Provider>;\n}\n"],
|
|
5
|
+
"mappings": ";AAIA,SAAS,mBAAmB;;;ACA5B,SAAS,kBAAkB;;;ACD3B,SAAS,uBAAuB,uBAAuB,2BAA2B;AAElF,SAAS,eAAe,SAAS,gBAAgB;AAuFzC;AAxED,IAAM,sBAAsB,cAAkD,IAAI;AAkBzF,IAAM,mBAAmB;AAAA,EACxB,UAAU,EAAE,KAAK,sBAAsB,UAAU,EAAE;AACpD;;;ADhCO,SAAS,yBAAyB;AACxC,QAAM,eAAe,WAAW,mBAAmB;AAEnD,MAAI,CAAC,cAAc;AAClB,UAAM,IAAI;AAAA,MACT;AAAA,IACD;AAAA,EACD;AAEA,SAAO;AACR;;;ADJO,SAAS,wBACf,QACA,UAA6C,CAAC,GACsD;AACpG,QAAM,aAAa,uBAAuB;AAE1C,SAAO,YAAY;AAAA,IAClB,GAAG;AAAA,IACH,YAAY,OAAO,WAAW;AAC7B,aAAO,MAAM,WAAW,OAAO,MAAM,EAAE,MAAe;AAAA,IACvD;AAAA,EACD,CAAC;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import type { UseQueryResult } from '@tanstack/react-query';
|
|
2
|
-
import type { HaneulRpcMethods,
|
|
2
|
+
import type { HaneulRpcMethods, UseHaneulClientQueryOptions } from './useHaneulClientQuery.js';
|
|
3
3
|
type HaneulClientQueryOptions = HaneulRpcMethods[keyof HaneulRpcMethods] extends infer Method ? Method extends {
|
|
4
4
|
name: infer M extends keyof HaneulRpcMethods;
|
|
5
5
|
params?: infer P;
|
|
6
6
|
} ? undefined extends P ? {
|
|
7
7
|
method: M;
|
|
8
8
|
params?: P;
|
|
9
|
-
options?:
|
|
9
|
+
options?: UseHaneulClientQueryOptions<M, unknown>;
|
|
10
10
|
} : {
|
|
11
11
|
method: M;
|
|
12
12
|
params: P;
|
|
13
|
-
options?:
|
|
13
|
+
options?: UseHaneulClientQueryOptions<M, unknown>;
|
|
14
14
|
} : never : never;
|
|
15
|
-
export type
|
|
15
|
+
export type UseHaneulClientQueriesResults<Args extends readonly HaneulClientQueryOptions[]> = {
|
|
16
16
|
-readonly [K in keyof Args]: Args[K] extends {
|
|
17
17
|
method: infer M extends keyof HaneulRpcMethods;
|
|
18
18
|
readonly options?: {
|
|
@@ -20,9 +20,9 @@ export type UseSuiClientQueriesResults<Args extends readonly HaneulClientQueryOp
|
|
|
20
20
|
} | object;
|
|
21
21
|
} ? UseQueryResult<unknown extends R ? HaneulRpcMethods[M]['result'] : R> : never;
|
|
22
22
|
};
|
|
23
|
-
export declare function
|
|
23
|
+
export declare function useHaneulClientQueries<const Queries extends readonly HaneulClientQueryOptions[], Results = UseHaneulClientQueriesResults<Queries>>({ queries, combine, }: {
|
|
24
24
|
queries: Queries;
|
|
25
|
-
combine?: (results:
|
|
25
|
+
combine?: (results: UseHaneulClientQueriesResults<Queries>) => Results;
|
|
26
26
|
}): Results;
|
|
27
27
|
export {};
|
|
28
28
|
//# sourceMappingURL=useHaneulClientQueries.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useHaneulClientQueries.d.ts","sourceRoot":"","sources":["../../src/hooks/useHaneulClientQueries.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAI5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,
|
|
1
|
+
{"version":3,"file":"useHaneulClientQueries.d.ts","sourceRoot":"","sources":["../../src/hooks/useHaneulClientQueries.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAI5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AAE/F,KAAK,wBAAwB,GAAG,gBAAgB,CAAC,MAAM,gBAAgB,CAAC,SAAS,MAAM,MAAM,GAC1F,MAAM,SAAS;IACf,IAAI,EAAE,MAAM,CAAC,SAAS,MAAM,gBAAgB,CAAC;IAC7C,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;CACjB,GACC,SAAS,SAAS,CAAC,GAClB;IACA,MAAM,EAAE,CAAC,CAAC;IACV,MAAM,CAAC,EAAE,CAAC,CAAC;IACX,OAAO,CAAC,EAAE,2BAA2B,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;CAClD,GACA;IACA,MAAM,EAAE,CAAC,CAAC;IACV,MAAM,EAAE,CAAC,CAAC;IACV,OAAO,CAAC,EAAE,2BAA2B,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;CAClD,GACD,KAAK,GACN,KAAK,CAAC;AAET,MAAM,MAAM,6BAA6B,CAAC,IAAI,SAAS,SAAS,wBAAwB,EAAE,IAAI;IAC7F,CAAC,UAAU,CAAC,IAAI,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS;QAC5C,MAAM,EAAE,MAAM,CAAC,SAAS,MAAM,gBAAgB,CAAC;QAC/C,QAAQ,CAAC,OAAO,CAAC,EACd;YACA,MAAM,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,MAAM,CAAC,CAAC;SACpC,GACD,MAAM,CAAC;KACV,GACE,cAAc,CAAC,OAAO,SAAS,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GACrE,KAAK;CACR,CAAC;AAEF,wBAAgB,sBAAsB,CACrC,KAAK,CAAC,OAAO,SAAS,SAAS,wBAAwB,EAAE,EACzD,OAAO,GAAG,6BAA6B,CAAC,OAAO,CAAC,EAC/C,EACD,OAAO,EACP,OAAO,GACP,EAAE;IACF,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,6BAA6B,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC;CACvE,GAAG,OAAO,CAiBV"}
|
|
@@ -5,7 +5,7 @@ import { useQueries } from "@tanstack/react-query";
|
|
|
5
5
|
import { useContext } from "react";
|
|
6
6
|
|
|
7
7
|
// src/components/HaneulClientProvider.tsx
|
|
8
|
-
import { getJsonRpcFullnodeUrl,
|
|
8
|
+
import { getJsonRpcFullnodeUrl, isHaneulJsonRpcClient, HaneulJsonRpcClient } from "@haneullabs/haneul/jsonRpc";
|
|
9
9
|
import { createContext, useMemo, useState } from "react";
|
|
10
10
|
import { jsx } from "react/jsx-runtime";
|
|
11
11
|
var HaneulClientContext = createContext(null);
|
|
@@ -14,22 +14,22 @@ var DEFAULT_NETWORKS = {
|
|
|
14
14
|
};
|
|
15
15
|
|
|
16
16
|
// src/hooks/useHaneulClient.ts
|
|
17
|
-
function
|
|
18
|
-
const
|
|
19
|
-
if (!
|
|
17
|
+
function useHaneulClientContext() {
|
|
18
|
+
const haneulClient = useContext(HaneulClientContext);
|
|
19
|
+
if (!haneulClient) {
|
|
20
20
|
throw new Error(
|
|
21
21
|
"Could not find HaneulClientContext. Ensure that you have set up the HaneulClientProvider"
|
|
22
22
|
);
|
|
23
23
|
}
|
|
24
|
-
return
|
|
24
|
+
return haneulClient;
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
// src/hooks/useHaneulClientQueries.ts
|
|
28
|
-
function
|
|
28
|
+
function useHaneulClientQueries({
|
|
29
29
|
queries,
|
|
30
30
|
combine
|
|
31
31
|
}) {
|
|
32
|
-
const suiContext =
|
|
32
|
+
const suiContext = useHaneulClientContext();
|
|
33
33
|
return useQueries({
|
|
34
34
|
combine,
|
|
35
35
|
queries: queries.map((query) => {
|
|
@@ -45,6 +45,6 @@ function useSuiClientQueries({
|
|
|
45
45
|
});
|
|
46
46
|
}
|
|
47
47
|
export {
|
|
48
|
-
|
|
48
|
+
useHaneulClientQueries
|
|
49
49
|
};
|
|
50
50
|
//# sourceMappingURL=useHaneulClientQueries.mjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/hooks/useHaneulClientQueries.ts", "../../src/hooks/useHaneulClient.ts", "../../src/components/HaneulClientProvider.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 {
|
|
5
|
-
"mappings": ";AAIA,SAAS,kBAAkB;;;ACA3B,SAAS,kBAAkB;;;ACD3B,SAAS,uBAAuB,
|
|
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 { useHaneulClientContext } from './useHaneulClient.js';\nimport type { HaneulRpcMethods, UseHaneulClientQueryOptions } from './useHaneulClientQuery.js';\n\ntype HaneulClientQueryOptions = HaneulRpcMethods[keyof HaneulRpcMethods] extends infer Method\n\t? Method extends {\n\t\t\tname: infer M extends keyof HaneulRpcMethods;\n\t\t\tparams?: infer P;\n\t\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?: UseHaneulClientQueryOptions<M, unknown>;\n\t\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?: UseHaneulClientQueryOptions<M, unknown>;\n\t\t\t\t}\n\t\t: never\n\t: never;\n\nexport type UseHaneulClientQueriesResults<Args extends readonly HaneulClientQueryOptions[]> = {\n\t-readonly [K in keyof Args]: Args[K] extends {\n\t\tmethod: infer M extends keyof HaneulRpcMethods;\n\t\treadonly options?:\n\t\t\t| {\n\t\t\t\t\tselect?: (...args: any[]) => infer R;\n\t\t\t }\n\t\t\t| object;\n\t}\n\t\t? UseQueryResult<unknown extends R ? HaneulRpcMethods[M]['result'] : R>\n\t\t: never;\n};\n\nexport function useHaneulClientQueries<\n\tconst Queries extends readonly HaneulClientQueryOptions[],\n\tResults = UseHaneulClientQueriesResults<Queries>,\n>({\n\tqueries,\n\tcombine,\n}: {\n\tqueries: Queries;\n\tcombine?: (results: UseHaneulClientQueriesResults<Queries>) => Results;\n}): Results {\n\tconst suiContext = useHaneulClientContext();\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 { HaneulJsonRpcClient } from '@haneullabs/haneul/jsonRpc';\nimport { useContext } from 'react';\n\nimport { HaneulClientContext } from '../components/HaneulClientProvider.js';\n\nexport function useHaneulClientContext() {\n\tconst haneulClient = useContext(HaneulClientContext);\n\n\tif (!haneulClient) {\n\t\tthrow new Error(\n\t\t\t'Could not find HaneulClientContext. Ensure that you have set up the HaneulClientProvider',\n\t\t);\n\t}\n\n\treturn haneulClient;\n}\n\nexport function useHaneulClient(): HaneulJsonRpcClient {\n\treturn useHaneulClientContext().client;\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { getJsonRpcFullnodeUrl, isHaneulJsonRpcClient, HaneulJsonRpcClient } from '@haneullabs/haneul/jsonRpc';\nimport type { HaneulJsonRpcClientOptions } from '@haneullabs/haneul/jsonRpc';\nimport { createContext, useMemo, useState } from 'react';\n\nimport type { NetworkConfig } from '../hooks/networkConfig.js';\n\ntype NetworkConfigs<T extends NetworkConfig | HaneulJsonRpcClient = NetworkConfig | HaneulJsonRpcClient> =\n\tRecord<string, T>;\n\nexport interface HaneulClientProviderContext {\n\tclient: HaneulJsonRpcClient;\n\tnetworks: NetworkConfigs;\n\tnetwork: string;\n\tconfig: NetworkConfig | null;\n\tselectNetwork: (network: string) => void;\n}\n\nexport const HaneulClientContext = createContext<HaneulClientProviderContext | null>(null);\n\nexport type HaneulClientProviderProps<T extends NetworkConfigs> = {\n\tcreateClient?: (name: keyof T, config: T[keyof T]) => HaneulJsonRpcClient;\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: getJsonRpcFullnodeUrl('localnet') },\n};\n\nconst DEFAULT_CREATE_CLIENT = function createClient(\n\t_name: string,\n\tconfig: NetworkConfig | HaneulJsonRpcClient,\n) {\n\tif (isHaneulJsonRpcClient(config)) {\n\t\treturn config;\n\t}\n\n\treturn new HaneulJsonRpcClient(config);\n};\n\nexport function HaneulClientProvider<T extends NetworkConfigs>(props: HaneulClientProviderProps<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((): HaneulClientProviderContext => {\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 HaneulJsonRpcClient\n\t\t\t\t\t? null\n\t\t\t\t\t: (networks[currentNetwork] as HaneulJsonRpcClientOptions),\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 <HaneulClientContext.Provider value={ctx}>{children}</HaneulClientContext.Provider>;\n}\n"],
|
|
5
|
+
"mappings": ";AAIA,SAAS,kBAAkB;;;ACA3B,SAAS,kBAAkB;;;ACD3B,SAAS,uBAAuB,uBAAuB,2BAA2B;AAElF,SAAS,eAAe,SAAS,gBAAgB;AAuFzC;AAxED,IAAM,sBAAsB,cAAkD,IAAI;AAkBzF,IAAM,mBAAmB;AAAA,EACxB,UAAU,EAAE,KAAK,sBAAsB,UAAU,EAAE;AACpD;;;ADhCO,SAAS,yBAAyB;AACxC,QAAM,eAAe,WAAW,mBAAmB;AAEnD,MAAI,CAAC,cAAc;AAClB,UAAM,IAAI;AAAA,MACT;AAAA,IACD;AAAA,EACD;AAEA,SAAO;AACR;;;ADuBO,SAAS,uBAGd;AAAA,EACD;AAAA,EACA;AACD,GAGY;AACX,QAAM,aAAa,uBAAuB;AAE1C,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
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -15,8 +15,8 @@ export type HaneulRpcMethods = {
|
|
|
15
15
|
params: undefined | object;
|
|
16
16
|
} : never;
|
|
17
17
|
};
|
|
18
|
-
export type
|
|
19
|
-
export type
|
|
18
|
+
export type UseHaneulClientQueryOptions<T extends keyof HaneulRpcMethods, TData> = PartialBy<Omit<UseQueryOptions<HaneulRpcMethods[T]['result'], Error, TData, unknown[]>, 'queryFn'>, 'queryKey'>;
|
|
19
|
+
export type GetHaneulClientQueryOptions<T extends keyof HaneulRpcMethods> = {
|
|
20
20
|
client: HaneulJsonRpcClient;
|
|
21
21
|
network: string;
|
|
22
22
|
method: T;
|
|
@@ -26,7 +26,7 @@ export type GetSuiClientQueryOptions<T extends keyof HaneulRpcMethods> = {
|
|
|
26
26
|
} : {
|
|
27
27
|
params: HaneulRpcMethods[T]['params'];
|
|
28
28
|
});
|
|
29
|
-
export declare function
|
|
29
|
+
export declare function getHaneulClientQuery<T extends keyof HaneulRpcMethods>({ client, network, method, params, options, }: GetHaneulClientQueryOptions<T>): import("@tanstack/react-query").OmitKeyof<UseQueryOptions<HaneulRpcMethods[T]["result"], Error, HaneulRpcMethods[T]["result"], readonly unknown[]>, "queryFn"> & {
|
|
30
30
|
queryFn?: import("@tanstack/react-query").QueryFunction<HaneulRpcMethods[T]["result"], readonly unknown[], never> | undefined;
|
|
31
31
|
} & {
|
|
32
32
|
queryKey: readonly unknown[] & {
|
|
@@ -34,6 +34,6 @@ export declare function getSuiClientQuery<T extends keyof HaneulRpcMethods>({ cl
|
|
|
34
34
|
[dataTagErrorSymbol]: Error;
|
|
35
35
|
};
|
|
36
36
|
};
|
|
37
|
-
export declare function
|
|
38
|
-
export declare function
|
|
37
|
+
export declare function useHaneulClientQuery<T extends keyof HaneulRpcMethods, TData = HaneulRpcMethods[T]['result']>(...args: undefined extends HaneulRpcMethods[T]['params'] ? [method: T, params?: HaneulRpcMethods[T]['params'], options?: UseHaneulClientQueryOptions<T, TData>] : [method: T, params: HaneulRpcMethods[T]['params'], options?: UseHaneulClientQueryOptions<T, TData>]): UseQueryResult<TData, Error>;
|
|
38
|
+
export declare function useHaneulClientSuspenseQuery<T extends keyof HaneulRpcMethods, TData = HaneulRpcMethods[T]['result']>(...args: undefined extends HaneulRpcMethods[T]['params'] ? [method: T, params?: HaneulRpcMethods[T]['params'], options?: UndefinedInitialDataOptions<TData>] : [method: T, params: HaneulRpcMethods[T]['params'], options?: UndefinedInitialDataOptions<TData>]): import("@tanstack/react-query").UseSuspenseQueryResult<HaneulRpcMethods[T]["result"], Error>;
|
|
39
39
|
//# sourceMappingURL=useHaneulClientQuery.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useHaneulClientQuery.d.ts","sourceRoot":"","sources":["../../src/hooks/useHaneulClientQuery.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,KAAK,EACX,2BAA2B,EAC3B,eAAe,EACf,cAAc,EACd,MAAM,uBAAuB,CAAC;AAI/B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAG1D,MAAM,MAAM,mBAAmB,GAAG;KAChC,CAAC,IAAI,MAAM,mBAAmB,GAAG,mBAAmB,CAAC,CAAC,CAAC,SACrD,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC,GAC9B,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,GACpB,CAAC,GACD,KAAK;CACR,CAAC,MAAM,mBAAmB,CAAC,CAAC;AAE7B,MAAM,MAAM,gBAAgB,GAAG;KAC7B,CAAC,IAAI,mBAAmB,GAAG,mBAAmB,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,GAC5F;QACA,IAAI,EAAE,CAAC,CAAC;QACR,MAAM,EAAE,CAAC,CAAC;QACV,MAAM,EAAE,CAAC,CAAC;KACV,GACA,mBAAmB,CAAC,CAAC,CAAC,SAAS,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC,GACpD;QACA,IAAI,EAAE,CAAC,CAAC;QACR,MAAM,EAAE,CAAC,CAAC;QACV,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC;KAC3B,GACA,KAAK;CACT,CAAC;AAEF,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"useHaneulClientQuery.d.ts","sourceRoot":"","sources":["../../src/hooks/useHaneulClientQuery.ts"],"names":[],"mappings":"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"}
|