miniwallet 0.1.14 → 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.
Files changed (2) hide show
  1. package/dist/miniwallet.js +47 -45
  2. package/package.json +1 -1
@@ -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), [x, S] = a({}), C = i(() => n.length > 0 ? n : p, [n]), w = i(() => x[m] ?? null, [x, m]), T = i(() => d.find((e) => e.id === m), [m]), E = i(() => !!s, [s]), D = i(() => C.find((e) => e.id === g) || null, [C, g]), O = i(() => !D || !v || !D?.decimals ? "0" : Number(u(v, D.decimals)).toFixed(3), [v, D]), k = t(async (e) => {
74
- let { id: t } = e, n = x[t];
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 e = await n.request({ method: "eth_requestAccounts" });
82
- console.log("accounts: ", e), console.log("provider.chainId: ", n.chainId);
83
- let r = parseInt(String(n.chainId ?? "0x0"), 16);
84
- l(e[0]), h(t), _(r), localStorage.setItem("miniwallet:lastWalletId", t);
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
- }, [x]), A = t(async () => {
96
+ }, [S]), j = t(async () => {
95
97
  try {
96
- if (!w || !m) {
98
+ if (!T || !m) {
97
99
  alert("请安装钱包");
98
100
  return;
99
101
  }
100
- m !== "okx" && await w.request({
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
- }, [w, m]), j = t(async (e) => {
110
- if (!w) {
111
+ }, [T, m]), M = t(async (e) => {
112
+ if (!T) {
111
113
  alert("钱包不存在");
112
114
  return;
113
115
  }
114
116
  try {
115
- await w.request({
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
- }, [w]), M = t(async () => {
126
+ }, [T]), N = t(async () => {
125
127
  try {
126
- if (!s || !w) return;
127
- let e = await w.request({
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, w]), N = i(() => ({
137
+ }, [s, T]), P = i(() => ({
136
138
  account: s,
137
- balance: O,
138
- isConnected: E,
139
+ balance: k,
140
+ isConnected: D,
139
141
  connectingWallet: b,
140
- selectedChain: D,
141
- wallet: T,
142
- chains: C,
143
- connect: k,
144
- switchChain: j,
145
- disconnect: A
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
- b,
151
- D,
152
- T,
153
- C,
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 || S((e) => e[r] === n ? e : {
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), S({});
169
+ window.removeEventListener("eip6963:announceProvider", e), C({});
168
170
  };
169
171
  }, []), r(() => {
170
- g && M();
171
- }, [M, g]), r(() => {
172
- if (!E || !w?.on) return;
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"), w.on("chainChanged", e), w.on("accountsChanged", t), () => {
179
- console.log("RemoveListener chainChanged and accountsChanged"), w.removeListener("chainChanged", e), w.removeListener("accountsChanged", t);
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
- }, [E, w]), r(() => {
183
+ }, [D, T]), r(() => {
182
184
  if (!s) return;
183
- let e = setInterval(M, 1e4);
185
+ let e = setInterval(N, 1e4);
184
186
  return () => clearInterval(e);
185
- }, [s, M]), r(() => {
187
+ }, [s, N]), r(() => {
186
188
  let e = localStorage.getItem("miniwallet:lastWalletId");
187
189
  if (!e) return;
188
- let t = x[e];
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
- }, [x]), /* @__PURE__ */ o(c.Provider, {
204
- value: N,
205
+ }, [S]), /* @__PURE__ */ o(c.Provider, {
206
+ value: P,
205
207
  children: e
206
208
  });
207
209
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "miniwallet",
3
- "version": "0.1.14",
3
+ "version": "0.1.15",
4
4
  "description": "React wallet connect button with multi-wallet support via EIP-6963",
5
5
  "type": "module",
6
6
  "main": "./dist/miniwallet.js",