@megaeth-labs/wallet-sdk-react 0.1.0-beta.1
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/README.md +15 -0
- package/dist/index.cjs +188 -0
- package/dist/index.d.cts +30 -0
- package/dist/index.d.ts +30 -0
- package/dist/index.js +150 -0
- package/package.json +72 -0
package/README.md
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# MegaETH Wallet SDK (React)
|
|
2
|
+
|
|
3
|
+
Wraps the MegaETH Wallet SDK in React hooks using React Query. SDK docs can be found here: https://github.com/megaeth-labs/wallet-sdk
|
|
4
|
+
|
|
5
|
+
## Setup
|
|
6
|
+
|
|
7
|
+
Install dependencies: `pnpm i`
|
|
8
|
+
|
|
9
|
+
Link package locally so other packages can use it: `pnpm dev:link`
|
|
10
|
+
|
|
11
|
+
Auto build during dev: `pnpm dev`
|
|
12
|
+
|
|
13
|
+
Build once: `pnpm build`
|
|
14
|
+
|
|
15
|
+
Link to local wallet sdk: `pnpm dev:setup`
|
package/dist/index.cjs
ADDED
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
|
|
30
|
+
// src/index.tsx
|
|
31
|
+
var index_exports = {};
|
|
32
|
+
__export(index_exports, {
|
|
33
|
+
MegaProvider: () => MegaProvider,
|
|
34
|
+
mega: () => import_wallet_sdk2.mega,
|
|
35
|
+
useBalances: () => useBalances,
|
|
36
|
+
useCallContract: () => useCallContract,
|
|
37
|
+
useConnect: () => useConnect,
|
|
38
|
+
useDeposit: () => useDeposit,
|
|
39
|
+
useDisconnect: () => useDisconnect,
|
|
40
|
+
useGetFromContract: () => useGetFromContract,
|
|
41
|
+
useGrantPermissions: () => useGrantPermissions,
|
|
42
|
+
usePermissions: () => usePermissions,
|
|
43
|
+
useRevokePermissions: () => useRevokePermissions,
|
|
44
|
+
useSignData: () => useSignData,
|
|
45
|
+
useSignMessage: () => useSignMessage,
|
|
46
|
+
useStatus: () => useStatus,
|
|
47
|
+
useTransfer: () => useTransfer
|
|
48
|
+
});
|
|
49
|
+
module.exports = __toCommonJS(index_exports);
|
|
50
|
+
var import_wallet_sdk = require("@megaeth-labs/wallet-sdk");
|
|
51
|
+
var import_react_query = require("@tanstack/react-query");
|
|
52
|
+
var import_react = __toESM(require("react"), 1);
|
|
53
|
+
var import_wallet_sdk2 = require("@megaeth-labs/wallet-sdk");
|
|
54
|
+
var client = new import_react_query.QueryClient();
|
|
55
|
+
var Context = (0, import_react.createContext)({});
|
|
56
|
+
var startedInitialisation = false;
|
|
57
|
+
var MegaProvider = ({ config, children }) => {
|
|
58
|
+
const [initialised, setInitialised] = (0, import_react.useState)(false);
|
|
59
|
+
const [status, setStatus] = (0, import_react.useState)({ status: "disconnected" });
|
|
60
|
+
const value = (0, import_react.useMemo)(
|
|
61
|
+
() => ({
|
|
62
|
+
config,
|
|
63
|
+
initialised,
|
|
64
|
+
setInitialised,
|
|
65
|
+
status,
|
|
66
|
+
setStatus
|
|
67
|
+
}),
|
|
68
|
+
[config, initialised, status]
|
|
69
|
+
);
|
|
70
|
+
(0, import_react.useEffect)(() => {
|
|
71
|
+
if (startedInitialisation) return;
|
|
72
|
+
startedInitialisation = true;
|
|
73
|
+
import_wallet_sdk.mega.events.onStatusChange(setStatus);
|
|
74
|
+
(async () => {
|
|
75
|
+
const newStatus = await import_wallet_sdk.mega.initialise(config);
|
|
76
|
+
if (newStatus) {
|
|
77
|
+
setStatus(newStatus);
|
|
78
|
+
}
|
|
79
|
+
setInitialised(true);
|
|
80
|
+
})();
|
|
81
|
+
}, [config]);
|
|
82
|
+
return /* @__PURE__ */ import_react.default.createElement(Context.Provider, { value }, /* @__PURE__ */ import_react.default.createElement(import_react_query.QueryClientProvider, { client }, children));
|
|
83
|
+
};
|
|
84
|
+
var useStatus = () => {
|
|
85
|
+
const { status, initialised } = (0, import_react.useContext)(Context);
|
|
86
|
+
return {
|
|
87
|
+
...status,
|
|
88
|
+
initialised
|
|
89
|
+
};
|
|
90
|
+
};
|
|
91
|
+
var useConnect = (options) => {
|
|
92
|
+
return (0, import_react_query.useMutation)({
|
|
93
|
+
mutationFn: import_wallet_sdk.mega.connect,
|
|
94
|
+
...options
|
|
95
|
+
});
|
|
96
|
+
};
|
|
97
|
+
var useDisconnect = (options) => {
|
|
98
|
+
return (0, import_react_query.useMutation)({
|
|
99
|
+
mutationFn: import_wallet_sdk.mega.disconnect,
|
|
100
|
+
...options
|
|
101
|
+
});
|
|
102
|
+
};
|
|
103
|
+
var useGrantPermissions = (options) => {
|
|
104
|
+
return (0, import_react_query.useMutation)({
|
|
105
|
+
mutationFn: import_wallet_sdk.mega.grantPermissions,
|
|
106
|
+
...options
|
|
107
|
+
});
|
|
108
|
+
};
|
|
109
|
+
var useRevokePermissions = (options) => {
|
|
110
|
+
return (0, import_react_query.useMutation)({
|
|
111
|
+
mutationFn: import_wallet_sdk.mega.revokePermissions,
|
|
112
|
+
...options
|
|
113
|
+
});
|
|
114
|
+
};
|
|
115
|
+
var useSignMessage = (options) => {
|
|
116
|
+
return (0, import_react_query.useMutation)({
|
|
117
|
+
mutationFn: import_wallet_sdk.mega.signMessage,
|
|
118
|
+
...options
|
|
119
|
+
});
|
|
120
|
+
};
|
|
121
|
+
var useTransfer = (options) => {
|
|
122
|
+
return (0, import_react_query.useMutation)({
|
|
123
|
+
mutationFn: import_wallet_sdk.mega.transfer,
|
|
124
|
+
...options
|
|
125
|
+
});
|
|
126
|
+
};
|
|
127
|
+
var useCallContract = (options) => {
|
|
128
|
+
return (0, import_react_query.useMutation)({
|
|
129
|
+
mutationFn: import_wallet_sdk.mega.callContract,
|
|
130
|
+
...options
|
|
131
|
+
});
|
|
132
|
+
};
|
|
133
|
+
var useGetFromContract = (options) => {
|
|
134
|
+
return (0, import_react_query.useMutation)({
|
|
135
|
+
mutationFn: import_wallet_sdk.mega.getFromContract,
|
|
136
|
+
...options
|
|
137
|
+
});
|
|
138
|
+
};
|
|
139
|
+
var useDeposit = (options) => {
|
|
140
|
+
return (0, import_react_query.useMutation)({
|
|
141
|
+
mutationFn: import_wallet_sdk.mega.deposit,
|
|
142
|
+
...options
|
|
143
|
+
});
|
|
144
|
+
};
|
|
145
|
+
var useBalances = (tokens, options) => {
|
|
146
|
+
const { status } = (0, import_react.useContext)(Context);
|
|
147
|
+
return (0, import_react_query.useQuery)({
|
|
148
|
+
queryKey: ["balances"],
|
|
149
|
+
queryFn: () => import_wallet_sdk.mega.balances({
|
|
150
|
+
tokens
|
|
151
|
+
}),
|
|
152
|
+
enabled: status.status === "connected",
|
|
153
|
+
...options
|
|
154
|
+
});
|
|
155
|
+
};
|
|
156
|
+
var usePermissions = (address, options) => {
|
|
157
|
+
const { status } = (0, import_react.useContext)(Context);
|
|
158
|
+
return (0, import_react_query.useQuery)({
|
|
159
|
+
queryKey: ["permissions", address],
|
|
160
|
+
queryFn: () => import_wallet_sdk.mega.getPermissions(address),
|
|
161
|
+
enabled: status?.status === "connected",
|
|
162
|
+
...options
|
|
163
|
+
});
|
|
164
|
+
};
|
|
165
|
+
var useSignData = (options) => {
|
|
166
|
+
return (0, import_react_query.useMutation)({
|
|
167
|
+
mutationFn: import_wallet_sdk.mega.signData,
|
|
168
|
+
...options
|
|
169
|
+
});
|
|
170
|
+
};
|
|
171
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
172
|
+
0 && (module.exports = {
|
|
173
|
+
MegaProvider,
|
|
174
|
+
mega,
|
|
175
|
+
useBalances,
|
|
176
|
+
useCallContract,
|
|
177
|
+
useConnect,
|
|
178
|
+
useDeposit,
|
|
179
|
+
useDisconnect,
|
|
180
|
+
useGetFromContract,
|
|
181
|
+
useGrantPermissions,
|
|
182
|
+
usePermissions,
|
|
183
|
+
useRevokePermissions,
|
|
184
|
+
useSignData,
|
|
185
|
+
useSignMessage,
|
|
186
|
+
useStatus,
|
|
187
|
+
useTransfer
|
|
188
|
+
});
|
package/dist/index.d.cts
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import * as _megaeth_labs_wallet_sdk from '@megaeth-labs/wallet-sdk';
|
|
2
|
+
import { Config, mega, ConnectionStatus } from '@megaeth-labs/wallet-sdk';
|
|
3
|
+
export { mega } from '@megaeth-labs/wallet-sdk';
|
|
4
|
+
import * as _tanstack_react_query from '@tanstack/react-query';
|
|
5
|
+
import { UndefinedInitialDataOptions, UseMutationOptions } from '@tanstack/react-query';
|
|
6
|
+
import React, { PropsWithChildren } from 'react';
|
|
7
|
+
|
|
8
|
+
interface MegaProviderProps extends PropsWithChildren {
|
|
9
|
+
config: Config;
|
|
10
|
+
}
|
|
11
|
+
declare const MegaProvider: ({ config, children }: MegaProviderProps) => React.JSX.Element;
|
|
12
|
+
declare const useStatus: () => {
|
|
13
|
+
initialised: boolean;
|
|
14
|
+
status: "connected" | "disconnected" | "cancelled";
|
|
15
|
+
address?: `0x${string}`;
|
|
16
|
+
};
|
|
17
|
+
declare const useConnect: (options?: Omit<UseMutationOptions<Awaited<ReturnType<typeof mega.connect>>, Error, void, unknown>, "mutationFn">) => _tanstack_react_query.UseMutationResult<ConnectionStatus, Error, void, unknown>;
|
|
18
|
+
declare const useDisconnect: (options?: Omit<UseMutationOptions<Awaited<ReturnType<typeof mega.disconnect>>, Error, void, unknown>, "mutationFn">) => _tanstack_react_query.UseMutationResult<ConnectionStatus, Error, void, unknown>;
|
|
19
|
+
declare const useGrantPermissions: (options?: Omit<UseMutationOptions<Awaited<ReturnType<typeof mega.grantPermissions>>, Error, Parameters<typeof mega.grantPermissions>[0], unknown>, "mutationFn">) => _tanstack_react_query.UseMutationResult<_megaeth_labs_wallet_sdk.GrantPermissionsResponse, Error, _megaeth_labs_wallet_sdk.GrantPermissionsRequest, unknown>;
|
|
20
|
+
declare const useRevokePermissions: (options?: Omit<UseMutationOptions<Awaited<ReturnType<typeof mega.revokePermissions>>, Error, void, unknown>, "mutationFn">) => _tanstack_react_query.UseMutationResult<void, Error, void, unknown>;
|
|
21
|
+
declare const useSignMessage: (options?: Omit<UseMutationOptions<Awaited<ReturnType<typeof mega.signMessage>>, Error, Parameters<typeof mega.signMessage>[0], unknown>, "mutationFn">) => _tanstack_react_query.UseMutationResult<_megaeth_labs_wallet_sdk.SignMessageResponse, Error, string, unknown>;
|
|
22
|
+
declare const useTransfer: (options?: Omit<UseMutationOptions<Awaited<ReturnType<typeof mega.transfer>>, Error, Parameters<typeof mega.transfer>[0], unknown>, "mutationFn">) => _tanstack_react_query.UseMutationResult<_megaeth_labs_wallet_sdk.TransactionResult, Error, _megaeth_labs_wallet_sdk.TransferRequest, unknown>;
|
|
23
|
+
declare const useCallContract: (options?: Omit<UseMutationOptions<Awaited<ReturnType<typeof mega.callContract>>, Error, Parameters<typeof mega.callContract>[0], unknown>, "mutationFn">) => _tanstack_react_query.UseMutationResult<_megaeth_labs_wallet_sdk.TransactionResult, Error, _megaeth_labs_wallet_sdk.CallContractRequest, unknown>;
|
|
24
|
+
declare const useGetFromContract: (options?: Omit<UseMutationOptions<Awaited<ReturnType<typeof mega.getFromContract>>, Error, Parameters<typeof mega.callContract>[0], unknown>, "mutationFn">) => _tanstack_react_query.UseMutationResult<unknown, Error, _megaeth_labs_wallet_sdk.CallContractRequest, unknown>;
|
|
25
|
+
declare const useDeposit: (options?: Omit<UseMutationOptions<Awaited<ReturnType<typeof mega.deposit>>, Error>, "mutationFn">) => _tanstack_react_query.UseMutationResult<void, Error, void, unknown>;
|
|
26
|
+
declare const useBalances: (tokens?: string[], options?: Omit<UndefinedInitialDataOptions<Awaited<ReturnType<typeof mega.balances>>, Error>, "queryKey" | "queryFn">) => _tanstack_react_query.UseQueryResult<_megaeth_labs_wallet_sdk.OwnedTokenResponse[], Error>;
|
|
27
|
+
declare const usePermissions: (address?: string, options?: Omit<UndefinedInitialDataOptions<Awaited<ReturnType<typeof mega.getPermissions>>, Error>, "queryKey" | "queryFn">) => _tanstack_react_query.UseQueryResult<_megaeth_labs_wallet_sdk.GetPermissionsResponse | undefined, Error>;
|
|
28
|
+
declare const useSignData: (options?: Omit<UseMutationOptions<Awaited<ReturnType<typeof mega.signData>>, Error, Parameters<typeof mega.signData>[0]>, "mutationFn">) => _tanstack_react_query.UseMutationResult<_megaeth_labs_wallet_sdk.SignDataResponse, Error, _megaeth_labs_wallet_sdk.SignDataRequest, unknown>;
|
|
29
|
+
|
|
30
|
+
export { MegaProvider, useBalances, useCallContract, useConnect, useDeposit, useDisconnect, useGetFromContract, useGrantPermissions, usePermissions, useRevokePermissions, useSignData, useSignMessage, useStatus, useTransfer };
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import * as _megaeth_labs_wallet_sdk from '@megaeth-labs/wallet-sdk';
|
|
2
|
+
import { Config, mega, ConnectionStatus } from '@megaeth-labs/wallet-sdk';
|
|
3
|
+
export { mega } from '@megaeth-labs/wallet-sdk';
|
|
4
|
+
import * as _tanstack_react_query from '@tanstack/react-query';
|
|
5
|
+
import { UndefinedInitialDataOptions, UseMutationOptions } from '@tanstack/react-query';
|
|
6
|
+
import React, { PropsWithChildren } from 'react';
|
|
7
|
+
|
|
8
|
+
interface MegaProviderProps extends PropsWithChildren {
|
|
9
|
+
config: Config;
|
|
10
|
+
}
|
|
11
|
+
declare const MegaProvider: ({ config, children }: MegaProviderProps) => React.JSX.Element;
|
|
12
|
+
declare const useStatus: () => {
|
|
13
|
+
initialised: boolean;
|
|
14
|
+
status: "connected" | "disconnected" | "cancelled";
|
|
15
|
+
address?: `0x${string}`;
|
|
16
|
+
};
|
|
17
|
+
declare const useConnect: (options?: Omit<UseMutationOptions<Awaited<ReturnType<typeof mega.connect>>, Error, void, unknown>, "mutationFn">) => _tanstack_react_query.UseMutationResult<ConnectionStatus, Error, void, unknown>;
|
|
18
|
+
declare const useDisconnect: (options?: Omit<UseMutationOptions<Awaited<ReturnType<typeof mega.disconnect>>, Error, void, unknown>, "mutationFn">) => _tanstack_react_query.UseMutationResult<ConnectionStatus, Error, void, unknown>;
|
|
19
|
+
declare const useGrantPermissions: (options?: Omit<UseMutationOptions<Awaited<ReturnType<typeof mega.grantPermissions>>, Error, Parameters<typeof mega.grantPermissions>[0], unknown>, "mutationFn">) => _tanstack_react_query.UseMutationResult<_megaeth_labs_wallet_sdk.GrantPermissionsResponse, Error, _megaeth_labs_wallet_sdk.GrantPermissionsRequest, unknown>;
|
|
20
|
+
declare const useRevokePermissions: (options?: Omit<UseMutationOptions<Awaited<ReturnType<typeof mega.revokePermissions>>, Error, void, unknown>, "mutationFn">) => _tanstack_react_query.UseMutationResult<void, Error, void, unknown>;
|
|
21
|
+
declare const useSignMessage: (options?: Omit<UseMutationOptions<Awaited<ReturnType<typeof mega.signMessage>>, Error, Parameters<typeof mega.signMessage>[0], unknown>, "mutationFn">) => _tanstack_react_query.UseMutationResult<_megaeth_labs_wallet_sdk.SignMessageResponse, Error, string, unknown>;
|
|
22
|
+
declare const useTransfer: (options?: Omit<UseMutationOptions<Awaited<ReturnType<typeof mega.transfer>>, Error, Parameters<typeof mega.transfer>[0], unknown>, "mutationFn">) => _tanstack_react_query.UseMutationResult<_megaeth_labs_wallet_sdk.TransactionResult, Error, _megaeth_labs_wallet_sdk.TransferRequest, unknown>;
|
|
23
|
+
declare const useCallContract: (options?: Omit<UseMutationOptions<Awaited<ReturnType<typeof mega.callContract>>, Error, Parameters<typeof mega.callContract>[0], unknown>, "mutationFn">) => _tanstack_react_query.UseMutationResult<_megaeth_labs_wallet_sdk.TransactionResult, Error, _megaeth_labs_wallet_sdk.CallContractRequest, unknown>;
|
|
24
|
+
declare const useGetFromContract: (options?: Omit<UseMutationOptions<Awaited<ReturnType<typeof mega.getFromContract>>, Error, Parameters<typeof mega.callContract>[0], unknown>, "mutationFn">) => _tanstack_react_query.UseMutationResult<unknown, Error, _megaeth_labs_wallet_sdk.CallContractRequest, unknown>;
|
|
25
|
+
declare const useDeposit: (options?: Omit<UseMutationOptions<Awaited<ReturnType<typeof mega.deposit>>, Error>, "mutationFn">) => _tanstack_react_query.UseMutationResult<void, Error, void, unknown>;
|
|
26
|
+
declare const useBalances: (tokens?: string[], options?: Omit<UndefinedInitialDataOptions<Awaited<ReturnType<typeof mega.balances>>, Error>, "queryKey" | "queryFn">) => _tanstack_react_query.UseQueryResult<_megaeth_labs_wallet_sdk.OwnedTokenResponse[], Error>;
|
|
27
|
+
declare const usePermissions: (address?: string, options?: Omit<UndefinedInitialDataOptions<Awaited<ReturnType<typeof mega.getPermissions>>, Error>, "queryKey" | "queryFn">) => _tanstack_react_query.UseQueryResult<_megaeth_labs_wallet_sdk.GetPermissionsResponse | undefined, Error>;
|
|
28
|
+
declare const useSignData: (options?: Omit<UseMutationOptions<Awaited<ReturnType<typeof mega.signData>>, Error, Parameters<typeof mega.signData>[0]>, "mutationFn">) => _tanstack_react_query.UseMutationResult<_megaeth_labs_wallet_sdk.SignDataResponse, Error, _megaeth_labs_wallet_sdk.SignDataRequest, unknown>;
|
|
29
|
+
|
|
30
|
+
export { MegaProvider, useBalances, useCallContract, useConnect, useDeposit, useDisconnect, useGetFromContract, useGrantPermissions, usePermissions, useRevokePermissions, useSignData, useSignMessage, useStatus, useTransfer };
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
// src/index.tsx
|
|
2
|
+
import { mega } from "@megaeth-labs/wallet-sdk";
|
|
3
|
+
import {
|
|
4
|
+
QueryClient,
|
|
5
|
+
QueryClientProvider,
|
|
6
|
+
useMutation,
|
|
7
|
+
useQuery
|
|
8
|
+
} from "@tanstack/react-query";
|
|
9
|
+
import React, {
|
|
10
|
+
createContext,
|
|
11
|
+
useContext,
|
|
12
|
+
useEffect,
|
|
13
|
+
useMemo,
|
|
14
|
+
useState
|
|
15
|
+
} from "react";
|
|
16
|
+
import { mega as mega2 } from "@megaeth-labs/wallet-sdk";
|
|
17
|
+
var client = new QueryClient();
|
|
18
|
+
var Context = createContext({});
|
|
19
|
+
var startedInitialisation = false;
|
|
20
|
+
var MegaProvider = ({ config, children }) => {
|
|
21
|
+
const [initialised, setInitialised] = useState(false);
|
|
22
|
+
const [status, setStatus] = useState({ status: "disconnected" });
|
|
23
|
+
const value = useMemo(
|
|
24
|
+
() => ({
|
|
25
|
+
config,
|
|
26
|
+
initialised,
|
|
27
|
+
setInitialised,
|
|
28
|
+
status,
|
|
29
|
+
setStatus
|
|
30
|
+
}),
|
|
31
|
+
[config, initialised, status]
|
|
32
|
+
);
|
|
33
|
+
useEffect(() => {
|
|
34
|
+
if (startedInitialisation) return;
|
|
35
|
+
startedInitialisation = true;
|
|
36
|
+
mega.events.onStatusChange(setStatus);
|
|
37
|
+
(async () => {
|
|
38
|
+
const newStatus = await mega.initialise(config);
|
|
39
|
+
if (newStatus) {
|
|
40
|
+
setStatus(newStatus);
|
|
41
|
+
}
|
|
42
|
+
setInitialised(true);
|
|
43
|
+
})();
|
|
44
|
+
}, [config]);
|
|
45
|
+
return /* @__PURE__ */ React.createElement(Context.Provider, { value }, /* @__PURE__ */ React.createElement(QueryClientProvider, { client }, children));
|
|
46
|
+
};
|
|
47
|
+
var useStatus = () => {
|
|
48
|
+
const { status, initialised } = useContext(Context);
|
|
49
|
+
return {
|
|
50
|
+
...status,
|
|
51
|
+
initialised
|
|
52
|
+
};
|
|
53
|
+
};
|
|
54
|
+
var useConnect = (options) => {
|
|
55
|
+
return useMutation({
|
|
56
|
+
mutationFn: mega.connect,
|
|
57
|
+
...options
|
|
58
|
+
});
|
|
59
|
+
};
|
|
60
|
+
var useDisconnect = (options) => {
|
|
61
|
+
return useMutation({
|
|
62
|
+
mutationFn: mega.disconnect,
|
|
63
|
+
...options
|
|
64
|
+
});
|
|
65
|
+
};
|
|
66
|
+
var useGrantPermissions = (options) => {
|
|
67
|
+
return useMutation({
|
|
68
|
+
mutationFn: mega.grantPermissions,
|
|
69
|
+
...options
|
|
70
|
+
});
|
|
71
|
+
};
|
|
72
|
+
var useRevokePermissions = (options) => {
|
|
73
|
+
return useMutation({
|
|
74
|
+
mutationFn: mega.revokePermissions,
|
|
75
|
+
...options
|
|
76
|
+
});
|
|
77
|
+
};
|
|
78
|
+
var useSignMessage = (options) => {
|
|
79
|
+
return useMutation({
|
|
80
|
+
mutationFn: mega.signMessage,
|
|
81
|
+
...options
|
|
82
|
+
});
|
|
83
|
+
};
|
|
84
|
+
var useTransfer = (options) => {
|
|
85
|
+
return useMutation({
|
|
86
|
+
mutationFn: mega.transfer,
|
|
87
|
+
...options
|
|
88
|
+
});
|
|
89
|
+
};
|
|
90
|
+
var useCallContract = (options) => {
|
|
91
|
+
return useMutation({
|
|
92
|
+
mutationFn: mega.callContract,
|
|
93
|
+
...options
|
|
94
|
+
});
|
|
95
|
+
};
|
|
96
|
+
var useGetFromContract = (options) => {
|
|
97
|
+
return useMutation({
|
|
98
|
+
mutationFn: mega.getFromContract,
|
|
99
|
+
...options
|
|
100
|
+
});
|
|
101
|
+
};
|
|
102
|
+
var useDeposit = (options) => {
|
|
103
|
+
return useMutation({
|
|
104
|
+
mutationFn: mega.deposit,
|
|
105
|
+
...options
|
|
106
|
+
});
|
|
107
|
+
};
|
|
108
|
+
var useBalances = (tokens, options) => {
|
|
109
|
+
const { status } = useContext(Context);
|
|
110
|
+
return useQuery({
|
|
111
|
+
queryKey: ["balances"],
|
|
112
|
+
queryFn: () => mega.balances({
|
|
113
|
+
tokens
|
|
114
|
+
}),
|
|
115
|
+
enabled: status.status === "connected",
|
|
116
|
+
...options
|
|
117
|
+
});
|
|
118
|
+
};
|
|
119
|
+
var usePermissions = (address, options) => {
|
|
120
|
+
const { status } = useContext(Context);
|
|
121
|
+
return useQuery({
|
|
122
|
+
queryKey: ["permissions", address],
|
|
123
|
+
queryFn: () => mega.getPermissions(address),
|
|
124
|
+
enabled: status?.status === "connected",
|
|
125
|
+
...options
|
|
126
|
+
});
|
|
127
|
+
};
|
|
128
|
+
var useSignData = (options) => {
|
|
129
|
+
return useMutation({
|
|
130
|
+
mutationFn: mega.signData,
|
|
131
|
+
...options
|
|
132
|
+
});
|
|
133
|
+
};
|
|
134
|
+
export {
|
|
135
|
+
MegaProvider,
|
|
136
|
+
mega2 as mega,
|
|
137
|
+
useBalances,
|
|
138
|
+
useCallContract,
|
|
139
|
+
useConnect,
|
|
140
|
+
useDeposit,
|
|
141
|
+
useDisconnect,
|
|
142
|
+
useGetFromContract,
|
|
143
|
+
useGrantPermissions,
|
|
144
|
+
usePermissions,
|
|
145
|
+
useRevokePermissions,
|
|
146
|
+
useSignData,
|
|
147
|
+
useSignMessage,
|
|
148
|
+
useStatus,
|
|
149
|
+
useTransfer
|
|
150
|
+
};
|
package/package.json
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@megaeth-labs/wallet-sdk-react",
|
|
3
|
+
"version": "0.1.0-beta.1",
|
|
4
|
+
"description": "MegaETH Wallet SDK React Wrapper for web applications",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/index.cjs",
|
|
7
|
+
"module": "./dist/index.js",
|
|
8
|
+
"types": "./dist/index.d.ts",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"types": "./dist/index.d.ts",
|
|
12
|
+
"import": "./dist/index.js",
|
|
13
|
+
"require": "./dist/index.cjs"
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
"files": [
|
|
17
|
+
"dist"
|
|
18
|
+
],
|
|
19
|
+
"keywords": [
|
|
20
|
+
"megaeth",
|
|
21
|
+
"wallet",
|
|
22
|
+
"sdk",
|
|
23
|
+
"web3",
|
|
24
|
+
"react"
|
|
25
|
+
],
|
|
26
|
+
"author": "",
|
|
27
|
+
"license": "MIT",
|
|
28
|
+
"publishConfig": {
|
|
29
|
+
"registry": "https://registry.npmjs.org/",
|
|
30
|
+
"access": "restricted"
|
|
31
|
+
},
|
|
32
|
+
"dependencies": {
|
|
33
|
+
"@megaeth-labs/wallet-sdk": "beta"
|
|
34
|
+
},
|
|
35
|
+
"peerDependencies": {
|
|
36
|
+
"@tanstack/react-query": "^5",
|
|
37
|
+
"react": "^19"
|
|
38
|
+
},
|
|
39
|
+
"devDependencies": {
|
|
40
|
+
"@biomejs/biome": "2.4.6",
|
|
41
|
+
"@tanstack/react-query": "^5",
|
|
42
|
+
"@types/node": "25.3.5",
|
|
43
|
+
"@types/react": "^19",
|
|
44
|
+
"@vitest/coverage-v8": "4.0.18",
|
|
45
|
+
"@vitest/ui": "4.0.18",
|
|
46
|
+
"husky": "^9.1.7",
|
|
47
|
+
"jsdom": "28.1.0",
|
|
48
|
+
"lint-staged": "16.4.0",
|
|
49
|
+
"react": "^19",
|
|
50
|
+
"tsup": "8.5.1",
|
|
51
|
+
"typescript": "5.9.3",
|
|
52
|
+
"vitest": "4.0.18"
|
|
53
|
+
},
|
|
54
|
+
"lint-staged": {
|
|
55
|
+
"src/**/*.{ts,tsx,js,jsx,json}": [
|
|
56
|
+
"pnpm format"
|
|
57
|
+
]
|
|
58
|
+
},
|
|
59
|
+
"scripts": {
|
|
60
|
+
"build": "tsup src/index.tsx --format cjs,esm --dts --clean",
|
|
61
|
+
"dev": "tsup src/index.tsx --format cjs,esm --dts --watch",
|
|
62
|
+
"dev:link": "pnpm build && pnpm link --global",
|
|
63
|
+
"dev:setup": "pnpm link --global @megaeth-labs/wallet-sdk",
|
|
64
|
+
"test": "vitest",
|
|
65
|
+
"test:ui": "vitest --ui",
|
|
66
|
+
"test:coverage": "vitest --coverage",
|
|
67
|
+
"lint": "biome lint ./src",
|
|
68
|
+
"format": "biome format --write ./src",
|
|
69
|
+
"check": "biome check ./src",
|
|
70
|
+
"typecheck": "tsc --noEmit"
|
|
71
|
+
}
|
|
72
|
+
}
|