miniwallet 0.1.13 → 0.1.15
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/miniwallet.js +47 -45
- package/package.json +1 -1
package/dist/miniwallet.js
CHANGED
|
@@ -70,18 +70,18 @@ var d = [
|
|
|
70
70
|
//#endregion
|
|
71
71
|
//#region src/MiniWalletProvider.tsx
|
|
72
72
|
function m({ children: e, chains: n = [] }) {
|
|
73
|
-
let [s, l] = a(""), [m, h] = a(""), [g, _] = a(0), [v, y] = a(""), [b] = a(null), [
|
|
74
|
-
let { id: t } = e, n =
|
|
73
|
+
let [s, l] = a(""), [m, h] = a(""), [g, _] = a(0), [v, y] = a(""), [b, x] = a(null), [S, C] = a({}), w = i(() => n.length > 0 ? n : p, [n]), T = i(() => S[m] ?? null, [S, m]), E = i(() => d.find((e) => e.id === m), [m]), D = i(() => !!s, [s]), O = i(() => w.find((e) => e.id === g) || null, [w, g]), k = i(() => !O || !v || !O?.decimals ? "0" : Number(u(v, O.decimals)).toFixed(3), [v, O]), A = t(async (e) => {
|
|
74
|
+
let { id: t } = e, n = S[t];
|
|
75
75
|
if (!n) {
|
|
76
76
|
alert("请安装钱包");
|
|
77
77
|
return;
|
|
78
78
|
}
|
|
79
79
|
try {
|
|
80
|
-
console.log("provider: ", n);
|
|
81
|
-
let
|
|
82
|
-
console.log("accounts: ",
|
|
83
|
-
let
|
|
84
|
-
l(
|
|
80
|
+
x(e), console.log("provider: ", n);
|
|
81
|
+
let r = await n.request({ method: "eth_requestAccounts" });
|
|
82
|
+
console.log("accounts: ", r), console.log("provider.chainId: ", n.chainId);
|
|
83
|
+
let i = parseInt(String(n.chainId ?? "0x0"), 16);
|
|
84
|
+
l(r[0]), h(t), _(i), localStorage.setItem("miniwallet:lastWalletId", t);
|
|
85
85
|
} catch (e) {
|
|
86
86
|
console.log("error: ", e);
|
|
87
87
|
let t = e, n = t?.code ?? "", r = t?.message ?? "";
|
|
@@ -90,14 +90,16 @@ function m({ children: e, chains: n = [] }) {
|
|
|
90
90
|
return;
|
|
91
91
|
}
|
|
92
92
|
alert(`Connect failed${n && `\n${n}`}${r && `\n${r}`}`);
|
|
93
|
+
} finally {
|
|
94
|
+
x(null);
|
|
93
95
|
}
|
|
94
|
-
}, [
|
|
96
|
+
}, [S]), j = t(async () => {
|
|
95
97
|
try {
|
|
96
|
-
if (!
|
|
98
|
+
if (!T || !m) {
|
|
97
99
|
alert("请安装钱包");
|
|
98
100
|
return;
|
|
99
101
|
}
|
|
100
|
-
m !== "okx" && await
|
|
102
|
+
m !== "okx" && await T.request({
|
|
101
103
|
method: "wallet_revokePermissions",
|
|
102
104
|
params: [{ eth_accounts: {} }]
|
|
103
105
|
});
|
|
@@ -106,13 +108,13 @@ function m({ children: e, chains: n = [] }) {
|
|
|
106
108
|
} finally {
|
|
107
109
|
l(""), h(""), _(0), localStorage.removeItem("miniwallet:lastWalletId");
|
|
108
110
|
}
|
|
109
|
-
}, [
|
|
110
|
-
if (!
|
|
111
|
+
}, [T, m]), M = t(async (e) => {
|
|
112
|
+
if (!T) {
|
|
111
113
|
alert("钱包不存在");
|
|
112
114
|
return;
|
|
113
115
|
}
|
|
114
116
|
try {
|
|
115
|
-
await
|
|
117
|
+
await T.request({
|
|
116
118
|
method: "wallet_switchEthereumChain",
|
|
117
119
|
params: [{ chainId: `0x${e.id.toString(16)}` }]
|
|
118
120
|
}), _(e.id);
|
|
@@ -121,10 +123,10 @@ function m({ children: e, chains: n = [] }) {
|
|
|
121
123
|
let t = e, n = t?.code ?? "", r = t?.message ?? "";
|
|
122
124
|
alert(`Switch failed${n && `\n${n}`}${r && `\n${r}`}`);
|
|
123
125
|
}
|
|
124
|
-
}, [
|
|
126
|
+
}, [T]), N = t(async () => {
|
|
125
127
|
try {
|
|
126
|
-
if (!s || !
|
|
127
|
-
let e = await
|
|
128
|
+
if (!s || !T) return;
|
|
129
|
+
let e = await T.request({
|
|
128
130
|
method: "eth_getBalance",
|
|
129
131
|
params: [s, "latest"]
|
|
130
132
|
});
|
|
@@ -132,60 +134,60 @@ function m({ children: e, chains: n = [] }) {
|
|
|
132
134
|
} catch (e) {
|
|
133
135
|
console.error("getBalance error: ", e);
|
|
134
136
|
}
|
|
135
|
-
}, [s,
|
|
137
|
+
}, [s, T]), P = i(() => ({
|
|
136
138
|
account: s,
|
|
137
|
-
balance:
|
|
138
|
-
isConnected:
|
|
139
|
+
balance: k,
|
|
140
|
+
isConnected: D,
|
|
139
141
|
connectingWallet: b,
|
|
140
|
-
selectedChain:
|
|
141
|
-
wallet:
|
|
142
|
-
chains:
|
|
143
|
-
connect:
|
|
144
|
-
switchChain:
|
|
145
|
-
disconnect:
|
|
142
|
+
selectedChain: O,
|
|
143
|
+
wallet: E,
|
|
144
|
+
chains: w,
|
|
145
|
+
connect: A,
|
|
146
|
+
switchChain: M,
|
|
147
|
+
disconnect: j
|
|
146
148
|
}), [
|
|
147
149
|
s,
|
|
150
|
+
k,
|
|
151
|
+
D,
|
|
152
|
+
b,
|
|
148
153
|
O,
|
|
149
154
|
E,
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
k,
|
|
155
|
-
j,
|
|
156
|
-
A
|
|
155
|
+
w,
|
|
156
|
+
A,
|
|
157
|
+
M,
|
|
158
|
+
j
|
|
157
159
|
]);
|
|
158
160
|
return r(() => {
|
|
159
161
|
let e = ((e) => {
|
|
160
162
|
let { info: t, provider: n } = e.detail ?? {}, r = f[t?.rdns];
|
|
161
|
-
!r || !n?.request ||
|
|
163
|
+
!r || !n?.request || C((e) => e[r] === n ? e : {
|
|
162
164
|
...e,
|
|
163
165
|
[r]: n
|
|
164
166
|
});
|
|
165
167
|
});
|
|
166
168
|
return window.addEventListener("eip6963:announceProvider", e), window.dispatchEvent(new Event("eip6963:requestProvider")), () => {
|
|
167
|
-
window.removeEventListener("eip6963:announceProvider", e),
|
|
169
|
+
window.removeEventListener("eip6963:announceProvider", e), C({});
|
|
168
170
|
};
|
|
169
171
|
}, []), r(() => {
|
|
170
|
-
g &&
|
|
171
|
-
}, [
|
|
172
|
-
if (!
|
|
172
|
+
g && N();
|
|
173
|
+
}, [N, g]), r(() => {
|
|
174
|
+
if (!D || !T?.on) return;
|
|
173
175
|
let e = (e) => {
|
|
174
176
|
console.log("ChainChanged chainId: ", e), _(parseInt(e, 16));
|
|
175
177
|
}, t = (e) => {
|
|
176
178
|
console.log("AccountsChanged accounts: ", e), l(e[0] ?? "");
|
|
177
179
|
};
|
|
178
|
-
return console.log("Listen chainChanged and accountsChanged"),
|
|
179
|
-
console.log("RemoveListener chainChanged and accountsChanged"),
|
|
180
|
+
return console.log("Listen chainChanged and accountsChanged"), T.on("chainChanged", e), T.on("accountsChanged", t), () => {
|
|
181
|
+
console.log("RemoveListener chainChanged and accountsChanged"), T.removeListener("chainChanged", e), T.removeListener("accountsChanged", t);
|
|
180
182
|
};
|
|
181
|
-
}, [
|
|
183
|
+
}, [D, T]), r(() => {
|
|
182
184
|
if (!s) return;
|
|
183
|
-
let e = setInterval(
|
|
185
|
+
let e = setInterval(N, 1e4);
|
|
184
186
|
return () => clearInterval(e);
|
|
185
|
-
}, [s,
|
|
187
|
+
}, [s, N]), r(() => {
|
|
186
188
|
let e = localStorage.getItem("miniwallet:lastWalletId");
|
|
187
189
|
if (!e) return;
|
|
188
|
-
let t =
|
|
190
|
+
let t = S[e];
|
|
189
191
|
if (!t) return;
|
|
190
192
|
let n = !1;
|
|
191
193
|
return (async () => {
|
|
@@ -200,8 +202,8 @@ function m({ children: e, chains: n = [] }) {
|
|
|
200
202
|
})(), () => {
|
|
201
203
|
n = !0;
|
|
202
204
|
};
|
|
203
|
-
}, [
|
|
204
|
-
value:
|
|
205
|
+
}, [S]), /* @__PURE__ */ o(c.Provider, {
|
|
206
|
+
value: P,
|
|
205
207
|
children: e
|
|
206
208
|
});
|
|
207
209
|
}
|