@ffaerber/swarm-connect 0.2.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,8 +1,8 @@
1
- import nr, { useState as L, useCallback as or, useEffect as xe } from "react";
2
- import { useAccount as ir, useChainId as sr, useDisconnect as zr, useConnect as Ur, useSwitchChain as Mr, createConfig as Br, http as Nr, WagmiProvider as Yr } from "wagmi";
3
- import { QueryClient as qr, QueryClientProvider as Vr } from "@tanstack/react-query";
4
- import { getAddress as oe, SwitchChainError as Ke, numberToHex as Je, UserRejectedRequestError as F, withRetry as Gr, withTimeout as Hr, ResourceUnavailableRpcError as be } from "viem";
5
- var we = { exports: {} }, X = {};
1
+ import mt, { useState as T, useCallback as me, useEffect as Q } from "react";
2
+ import { useAccount as Ae, useChainId as xt, useBalance as bt, useConnect as Xt, useDisconnect as Qt, useSwitchChain as en, useSendTransaction as tn, useWriteContract as nn, useWaitForTransactionReceipt as it, useReadContract as rn, createConfig as an, http as on, WagmiProvider as sn } from "wagmi";
3
+ import { erc20Abi as st, parseEther as cn, parseUnits as ln, getAddress as ve, SwitchChainError as ct, numberToHex as lt, UserRejectedRequestError as N, withRetry as dn, withTimeout as un, ResourceUnavailableRpcError as Ee } from "viem";
4
+ import { QueryClient as fn, QueryClientProvider as hn } from "@tanstack/react-query";
5
+ var Te = { exports: {} }, re = {};
6
6
  /**
7
7
  * @license React
8
8
  * react-jsx-runtime.production.min.js
@@ -12,21 +12,21 @@ var we = { exports: {} }, X = {};
12
12
  * This source code is licensed under the MIT license found in the
13
13
  * LICENSE file in the root directory of this source tree.
14
14
  */
15
- var Xe;
16
- function Kr() {
17
- if (Xe) return X;
18
- Xe = 1;
19
- var t = nr, o = Symbol.for("react.element"), i = Symbol.for("react.fragment"), l = Object.prototype.hasOwnProperty, f = t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, p = { key: !0, ref: !0, __self: !0, __source: !0 };
20
- function g(y, u, s) {
21
- var d, v = {}, x = null, R = null;
22
- s !== void 0 && (x = "" + s), u.key !== void 0 && (x = "" + u.key), u.ref !== void 0 && (R = u.ref);
23
- for (d in u) l.call(u, d) && !p.hasOwnProperty(d) && (v[d] = u[d]);
24
- if (y && y.defaultProps) for (d in u = y.defaultProps, u) v[d] === void 0 && (v[d] = u[d]);
25
- return { $$typeof: o, type: y, key: x, ref: R, props: v, _owner: f.current };
15
+ var dt;
16
+ function pn() {
17
+ if (dt) return re;
18
+ dt = 1;
19
+ var n = mt, r = Symbol.for("react.element"), a = Symbol.for("react.fragment"), s = Object.prototype.hasOwnProperty, i = n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, l = { key: !0, ref: !0, __self: !0, __source: !0 };
20
+ function p(h, d, o) {
21
+ var u, v = {}, g = null, b = null;
22
+ o !== void 0 && (g = "" + o), d.key !== void 0 && (g = "" + d.key), d.ref !== void 0 && (b = d.ref);
23
+ for (u in d) s.call(d, u) && !l.hasOwnProperty(u) && (v[u] = d[u]);
24
+ if (h && h.defaultProps) for (u in d = h.defaultProps, d) v[u] === void 0 && (v[u] = d[u]);
25
+ return { $$typeof: r, type: h, key: g, ref: b, props: v, _owner: i.current };
26
26
  }
27
- return X.Fragment = i, X.jsx = g, X.jsxs = g, X;
27
+ return re.Fragment = a, re.jsx = p, re.jsxs = p, re;
28
28
  }
29
- var Q = {};
29
+ var ae = {};
30
30
  /**
31
31
  * @license React
32
32
  * react-jsx-runtime.development.js
@@ -36,91 +36,91 @@ var Q = {};
36
36
  * This source code is licensed under the MIT license found in the
37
37
  * LICENSE file in the root directory of this source tree.
38
38
  */
39
- var Qe;
40
- function Jr() {
41
- return Qe || (Qe = 1, process.env.NODE_ENV !== "production" && function() {
42
- var t = nr, o = Symbol.for("react.element"), i = Symbol.for("react.portal"), l = Symbol.for("react.fragment"), f = Symbol.for("react.strict_mode"), p = Symbol.for("react.profiler"), g = Symbol.for("react.provider"), y = Symbol.for("react.context"), u = Symbol.for("react.forward_ref"), s = Symbol.for("react.suspense"), d = Symbol.for("react.suspense_list"), v = Symbol.for("react.memo"), x = Symbol.for("react.lazy"), R = Symbol.for("react.offscreen"), D = Symbol.iterator, W = "@@iterator";
43
- function z(e) {
39
+ var ut;
40
+ function vn() {
41
+ return ut || (ut = 1, process.env.NODE_ENV !== "production" && function() {
42
+ var n = mt, r = Symbol.for("react.element"), a = Symbol.for("react.portal"), s = Symbol.for("react.fragment"), i = Symbol.for("react.strict_mode"), l = Symbol.for("react.profiler"), p = Symbol.for("react.provider"), h = Symbol.for("react.context"), d = Symbol.for("react.forward_ref"), o = Symbol.for("react.suspense"), u = Symbol.for("react.suspense_list"), v = Symbol.for("react.memo"), g = Symbol.for("react.lazy"), b = Symbol.for("react.offscreen"), E = Symbol.iterator, _ = "@@iterator";
43
+ function A(e) {
44
44
  if (e === null || typeof e != "object")
45
45
  return null;
46
- var n = D && e[D] || e[W];
47
- return typeof n == "function" ? n : null;
46
+ var c = E && e[E] || e[_];
47
+ return typeof c == "function" ? c : null;
48
48
  }
49
- var T = t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
50
- function S(e) {
49
+ var S = n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
50
+ function w(e) {
51
51
  {
52
- for (var n = arguments.length, c = new Array(n > 1 ? n - 1 : 0), h = 1; h < n; h++)
53
- c[h - 1] = arguments[h];
54
- I("error", e, c);
52
+ for (var c = arguments.length, f = new Array(c > 1 ? c - 1 : 0), m = 1; m < c; m++)
53
+ f[m - 1] = arguments[m];
54
+ I("error", e, f);
55
55
  }
56
56
  }
57
- function I(e, n, c) {
57
+ function I(e, c, f) {
58
58
  {
59
- var h = T.ReactDebugCurrentFrame, w = h.getStackAddendum();
60
- w !== "" && (n += "%s", c = c.concat([w]));
61
- var j = c.map(function(b) {
62
- return String(b);
59
+ var m = S.ReactDebugCurrentFrame, j = m.getStackAddendum();
60
+ j !== "" && (c += "%s", f = f.concat([j]));
61
+ var R = f.map(function(y) {
62
+ return String(y);
63
63
  });
64
- j.unshift("Warning: " + n), Function.prototype.apply.call(console[e], console, j);
64
+ R.unshift("Warning: " + c), Function.prototype.apply.call(console[e], console, R);
65
65
  }
66
66
  }
67
- var _ = !1, C = !1, $ = !1, G = !1, ue = !1, H;
68
- H = Symbol.for("react.module.reference");
69
- function ur(e) {
70
- return !!(typeof e == "string" || typeof e == "function" || e === l || e === p || ue || e === f || e === s || e === d || G || e === R || _ || C || $ || typeof e == "object" && e !== null && (e.$$typeof === x || e.$$typeof === v || e.$$typeof === g || e.$$typeof === y || e.$$typeof === u || // This needs to include all possible module reference object
67
+ var C = !1, k = !1, D = !1, W = !1, V = !1, B;
68
+ B = Symbol.for("react.module.reference");
69
+ function be(e) {
70
+ return !!(typeof e == "string" || typeof e == "function" || e === s || e === l || V || e === i || e === o || e === u || W || e === b || C || k || D || typeof e == "object" && e !== null && (e.$$typeof === g || e.$$typeof === v || e.$$typeof === p || e.$$typeof === h || e.$$typeof === d || // This needs to include all possible module reference object
71
71
  // types supported by any Flight configuration anywhere since
72
72
  // we don't know which Flight build this will end up being used
73
73
  // with.
74
- e.$$typeof === H || e.getModuleId !== void 0));
74
+ e.$$typeof === B || e.getModuleId !== void 0));
75
75
  }
76
- function dr(e, n, c) {
77
- var h = e.displayName;
78
- if (h)
79
- return h;
80
- var w = n.displayName || n.name || "";
81
- return w !== "" ? c + "(" + w + ")" : c;
76
+ function Y(e, c, f) {
77
+ var m = e.displayName;
78
+ if (m)
79
+ return m;
80
+ var j = c.displayName || c.name || "";
81
+ return j !== "" ? f + "(" + j + ")" : f;
82
82
  }
83
- function Re(e) {
83
+ function de(e) {
84
84
  return e.displayName || "Context";
85
85
  }
86
- function U(e) {
86
+ function M(e) {
87
87
  if (e == null)
88
88
  return null;
89
- if (typeof e.tag == "number" && S("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."), typeof e == "function")
89
+ if (typeof e.tag == "number" && w("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."), typeof e == "function")
90
90
  return e.displayName || e.name || null;
91
91
  if (typeof e == "string")
92
92
  return e;
93
93
  switch (e) {
94
- case l:
94
+ case s:
95
95
  return "Fragment";
96
- case i:
96
+ case a:
97
97
  return "Portal";
98
- case p:
98
+ case l:
99
99
  return "Profiler";
100
- case f:
100
+ case i:
101
101
  return "StrictMode";
102
- case s:
102
+ case o:
103
103
  return "Suspense";
104
- case d:
104
+ case u:
105
105
  return "SuspenseList";
106
106
  }
107
107
  if (typeof e == "object")
108
108
  switch (e.$$typeof) {
109
- case y:
110
- var n = e;
111
- return Re(n) + ".Consumer";
112
- case g:
109
+ case h:
113
110
  var c = e;
114
- return Re(c._context) + ".Provider";
115
- case u:
116
- return dr(e, e.render, "ForwardRef");
111
+ return de(c) + ".Consumer";
112
+ case p:
113
+ var f = e;
114
+ return de(f._context) + ".Provider";
115
+ case d:
116
+ return Y(e, e.render, "ForwardRef");
117
117
  case v:
118
- var h = e.displayName || null;
119
- return h !== null ? h : U(e.type) || "Memo";
120
- case x: {
121
- var w = e, j = w._payload, b = w._init;
118
+ var m = e.displayName || null;
119
+ return m !== null ? m : M(e.type) || "Memo";
120
+ case g: {
121
+ var j = e, R = j._payload, y = j._init;
122
122
  try {
123
- return U(b(j));
123
+ return M(y(R));
124
124
  } catch {
125
125
  return null;
126
126
  }
@@ -128,18 +128,18 @@ function Jr() {
128
128
  }
129
129
  return null;
130
130
  }
131
- var M = Object.assign, K = 0, ke, _e, Ee, Te, Ie, Pe, Oe;
132
- function De() {
131
+ var z = Object.assign, te = 0, ze, Le, We, Be, Me, Ne, Ue;
132
+ function Ye() {
133
133
  }
134
- De.__reactDisabledLog = !0;
135
- function fr() {
134
+ Ye.__reactDisabledLog = !0;
135
+ function Ct() {
136
136
  {
137
- if (K === 0) {
138
- ke = console.log, _e = console.info, Ee = console.warn, Te = console.error, Ie = console.group, Pe = console.groupCollapsed, Oe = console.groupEnd;
137
+ if (te === 0) {
138
+ ze = console.log, Le = console.info, We = console.warn, Be = console.error, Me = console.group, Ne = console.groupCollapsed, Ue = console.groupEnd;
139
139
  var e = {
140
140
  configurable: !0,
141
141
  enumerable: !0,
142
- value: De,
142
+ value: Ye,
143
143
  writable: !0
144
144
  };
145
145
  Object.defineProperties(console, {
@@ -152,332 +152,332 @@ function Jr() {
152
152
  groupEnd: e
153
153
  });
154
154
  }
155
- K++;
155
+ te++;
156
156
  }
157
157
  }
158
- function hr() {
158
+ function Rt() {
159
159
  {
160
- if (K--, K === 0) {
160
+ if (te--, te === 0) {
161
161
  var e = {
162
162
  configurable: !0,
163
163
  enumerable: !0,
164
164
  writable: !0
165
165
  };
166
166
  Object.defineProperties(console, {
167
- log: M({}, e, {
168
- value: ke
167
+ log: z({}, e, {
168
+ value: ze
169
169
  }),
170
- info: M({}, e, {
171
- value: _e
170
+ info: z({}, e, {
171
+ value: Le
172
172
  }),
173
- warn: M({}, e, {
174
- value: Ee
173
+ warn: z({}, e, {
174
+ value: We
175
175
  }),
176
- error: M({}, e, {
177
- value: Te
176
+ error: z({}, e, {
177
+ value: Be
178
178
  }),
179
- group: M({}, e, {
180
- value: Ie
179
+ group: z({}, e, {
180
+ value: Me
181
181
  }),
182
- groupCollapsed: M({}, e, {
183
- value: Pe
182
+ groupCollapsed: z({}, e, {
183
+ value: Ne
184
184
  }),
185
- groupEnd: M({}, e, {
186
- value: Oe
185
+ groupEnd: z({}, e, {
186
+ value: Ue
187
187
  })
188
188
  });
189
189
  }
190
- K < 0 && S("disabledDepth fell below zero. This is a bug in React. Please file an issue.");
190
+ te < 0 && w("disabledDepth fell below zero. This is a bug in React. Please file an issue.");
191
191
  }
192
192
  }
193
- var de = T.ReactCurrentDispatcher, fe;
194
- function ee(e, n, c) {
193
+ var ye = S.ReactCurrentDispatcher, we;
194
+ function ue(e, c, f) {
195
195
  {
196
- if (fe === void 0)
196
+ if (we === void 0)
197
197
  try {
198
198
  throw Error();
199
- } catch (w) {
200
- var h = w.stack.trim().match(/\n( *(at )?)/);
201
- fe = h && h[1] || "";
199
+ } catch (j) {
200
+ var m = j.stack.trim().match(/\n( *(at )?)/);
201
+ we = m && m[1] || "";
202
202
  }
203
203
  return `
204
- ` + fe + e;
204
+ ` + we + e;
205
205
  }
206
206
  }
207
- var he = !1, re;
207
+ var ke = !1, fe;
208
208
  {
209
- var pr = typeof WeakMap == "function" ? WeakMap : Map;
210
- re = new pr();
209
+ var _t = typeof WeakMap == "function" ? WeakMap : Map;
210
+ fe = new _t();
211
211
  }
212
- function Ae(e, n) {
213
- if (!e || he)
212
+ function qe(e, c) {
213
+ if (!e || ke)
214
214
  return "";
215
215
  {
216
- var c = re.get(e);
217
- if (c !== void 0)
218
- return c;
216
+ var f = fe.get(e);
217
+ if (f !== void 0)
218
+ return f;
219
219
  }
220
- var h;
221
- he = !0;
222
- var w = Error.prepareStackTrace;
220
+ var m;
221
+ ke = !0;
222
+ var j = Error.prepareStackTrace;
223
223
  Error.prepareStackTrace = void 0;
224
- var j;
225
- j = de.current, de.current = null, fr();
224
+ var R;
225
+ R = ye.current, ye.current = null, Ct();
226
226
  try {
227
- if (n) {
228
- var b = function() {
227
+ if (c) {
228
+ var y = function() {
229
229
  throw Error();
230
230
  };
231
- if (Object.defineProperty(b.prototype, "props", {
231
+ if (Object.defineProperty(y.prototype, "props", {
232
232
  set: function() {
233
233
  throw Error();
234
234
  }
235
235
  }), typeof Reflect == "object" && Reflect.construct) {
236
236
  try {
237
- Reflect.construct(b, []);
238
- } catch (O) {
239
- h = O;
237
+ Reflect.construct(y, []);
238
+ } catch ($) {
239
+ m = $;
240
240
  }
241
- Reflect.construct(e, [], b);
241
+ Reflect.construct(e, [], y);
242
242
  } else {
243
243
  try {
244
- b.call();
245
- } catch (O) {
246
- h = O;
244
+ y.call();
245
+ } catch ($) {
246
+ m = $;
247
247
  }
248
- e.call(b.prototype);
248
+ e.call(y.prototype);
249
249
  }
250
250
  } else {
251
251
  try {
252
252
  throw Error();
253
- } catch (O) {
254
- h = O;
253
+ } catch ($) {
254
+ m = $;
255
255
  }
256
256
  e();
257
257
  }
258
- } catch (O) {
259
- if (O && h && typeof O.stack == "string") {
260
- for (var m = O.stack.split(`
261
- `), P = h.stack.split(`
262
- `), k = m.length - 1, E = P.length - 1; k >= 1 && E >= 0 && m[k] !== P[E]; )
263
- E--;
264
- for (; k >= 1 && E >= 0; k--, E--)
265
- if (m[k] !== P[E]) {
266
- if (k !== 1 || E !== 1)
258
+ } catch ($) {
259
+ if ($ && m && typeof $.stack == "string") {
260
+ for (var x = $.stack.split(`
261
+ `), O = m.stack.split(`
262
+ `), F = x.length - 1, P = O.length - 1; F >= 1 && P >= 0 && x[F] !== O[P]; )
263
+ P--;
264
+ for (; F >= 1 && P >= 0; F--, P--)
265
+ if (x[F] !== O[P]) {
266
+ if (F !== 1 || P !== 1)
267
267
  do
268
- if (k--, E--, E < 0 || m[k] !== P[E]) {
269
- var A = `
270
- ` + m[k].replace(" at new ", " at ");
271
- return e.displayName && A.includes("<anonymous>") && (A = A.replace("<anonymous>", e.displayName)), typeof e == "function" && re.set(e, A), A;
268
+ if (F--, P--, P < 0 || x[F] !== O[P]) {
269
+ var L = `
270
+ ` + x[F].replace(" at new ", " at ");
271
+ return e.displayName && L.includes("<anonymous>") && (L = L.replace("<anonymous>", e.displayName)), typeof e == "function" && fe.set(e, L), L;
272
272
  }
273
- while (k >= 1 && E >= 0);
273
+ while (F >= 1 && P >= 0);
274
274
  break;
275
275
  }
276
276
  }
277
277
  } finally {
278
- he = !1, de.current = j, hr(), Error.prepareStackTrace = w;
278
+ ke = !1, ye.current = R, Rt(), Error.prepareStackTrace = j;
279
279
  }
280
- var Y = e ? e.displayName || e.name : "", B = Y ? ee(Y) : "";
281
- return typeof e == "function" && re.set(e, B), B;
280
+ var K = e ? e.displayName || e.name : "", q = K ? ue(K) : "";
281
+ return typeof e == "function" && fe.set(e, q), q;
282
282
  }
283
- function gr(e, n, c) {
284
- return Ae(e, !1);
283
+ function Et(e, c, f) {
284
+ return qe(e, !1);
285
285
  }
286
- function vr(e) {
287
- var n = e.prototype;
288
- return !!(n && n.isReactComponent);
286
+ function It(e) {
287
+ var c = e.prototype;
288
+ return !!(c && c.isReactComponent);
289
289
  }
290
- function te(e, n, c) {
290
+ function he(e, c, f) {
291
291
  if (e == null)
292
292
  return "";
293
293
  if (typeof e == "function")
294
- return Ae(e, vr(e));
294
+ return qe(e, It(e));
295
295
  if (typeof e == "string")
296
- return ee(e);
296
+ return ue(e);
297
297
  switch (e) {
298
- case s:
299
- return ee("Suspense");
300
- case d:
301
- return ee("SuspenseList");
298
+ case o:
299
+ return ue("Suspense");
300
+ case u:
301
+ return ue("SuspenseList");
302
302
  }
303
303
  if (typeof e == "object")
304
304
  switch (e.$$typeof) {
305
- case u:
306
- return gr(e.render);
305
+ case d:
306
+ return Et(e.render);
307
307
  case v:
308
- return te(e.type, n, c);
309
- case x: {
310
- var h = e, w = h._payload, j = h._init;
308
+ return he(e.type, c, f);
309
+ case g: {
310
+ var m = e, j = m._payload, R = m._init;
311
311
  try {
312
- return te(j(w), n, c);
312
+ return he(R(j), c, f);
313
313
  } catch {
314
314
  }
315
315
  }
316
316
  }
317
317
  return "";
318
318
  }
319
- var J = Object.prototype.hasOwnProperty, $e = {}, We = T.ReactDebugCurrentFrame;
320
- function ne(e) {
319
+ var ne = Object.prototype.hasOwnProperty, Ge = {}, He = S.ReactDebugCurrentFrame;
320
+ function pe(e) {
321
321
  if (e) {
322
- var n = e._owner, c = te(e.type, e._source, n ? n.type : null);
323
- We.setExtraStackFrame(c);
322
+ var c = e._owner, f = he(e.type, e._source, c ? c.type : null);
323
+ He.setExtraStackFrame(f);
324
324
  } else
325
- We.setExtraStackFrame(null);
325
+ He.setExtraStackFrame(null);
326
326
  }
327
- function mr(e, n, c, h, w) {
327
+ function Tt(e, c, f, m, j) {
328
328
  {
329
- var j = Function.call.bind(J);
330
- for (var b in e)
331
- if (j(e, b)) {
332
- var m = void 0;
329
+ var R = Function.call.bind(ne);
330
+ for (var y in e)
331
+ if (R(e, y)) {
332
+ var x = void 0;
333
333
  try {
334
- if (typeof e[b] != "function") {
335
- var P = Error((h || "React class") + ": " + c + " type `" + b + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof e[b] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");
336
- throw P.name = "Invariant Violation", P;
334
+ if (typeof e[y] != "function") {
335
+ var O = Error((m || "React class") + ": " + f + " type `" + y + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof e[y] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");
336
+ throw O.name = "Invariant Violation", O;
337
337
  }
338
- m = e[b](n, b, h, c, null, "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED");
339
- } catch (k) {
340
- m = k;
338
+ x = e[y](c, y, m, f, null, "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED");
339
+ } catch (F) {
340
+ x = F;
341
341
  }
342
- m && !(m instanceof Error) && (ne(w), S("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).", h || "React class", c, b, typeof m), ne(null)), m instanceof Error && !(m.message in $e) && ($e[m.message] = !0, ne(w), S("Failed %s type: %s", c, m.message), ne(null));
342
+ x && !(x instanceof Error) && (pe(j), w("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).", m || "React class", f, y, typeof x), pe(null)), x instanceof Error && !(x.message in Ge) && (Ge[x.message] = !0, pe(j), w("Failed %s type: %s", f, x.message), pe(null));
343
343
  }
344
344
  }
345
345
  }
346
- var yr = Array.isArray;
347
- function pe(e) {
348
- return yr(e);
346
+ var Ft = Array.isArray;
347
+ function je(e) {
348
+ return Ft(e);
349
349
  }
350
- function br(e) {
350
+ function Pt(e) {
351
351
  {
352
- var n = typeof Symbol == "function" && Symbol.toStringTag, c = n && e[Symbol.toStringTag] || e.constructor.name || "Object";
353
- return c;
352
+ var c = typeof Symbol == "function" && Symbol.toStringTag, f = c && e[Symbol.toStringTag] || e.constructor.name || "Object";
353
+ return f;
354
354
  }
355
355
  }
356
- function xr(e) {
356
+ function Dt(e) {
357
357
  try {
358
- return Fe(e), !1;
358
+ return Ve(e), !1;
359
359
  } catch {
360
360
  return !0;
361
361
  }
362
362
  }
363
- function Fe(e) {
363
+ function Ve(e) {
364
364
  return "" + e;
365
365
  }
366
- function Le(e) {
367
- if (xr(e))
368
- return S("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.", br(e)), Fe(e);
366
+ function Ze(e) {
367
+ if (Dt(e))
368
+ return w("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.", Pt(e)), Ve(e);
369
369
  }
370
- var ze = T.ReactCurrentOwner, wr = {
370
+ var Ke = S.ReactCurrentOwner, At = {
371
371
  key: !0,
372
372
  ref: !0,
373
373
  __self: !0,
374
374
  __source: !0
375
- }, Ue, Me;
376
- function jr(e) {
377
- if (J.call(e, "ref")) {
378
- var n = Object.getOwnPropertyDescriptor(e, "ref").get;
379
- if (n && n.isReactWarning)
375
+ }, Je, Xe;
376
+ function Ot(e) {
377
+ if (ne.call(e, "ref")) {
378
+ var c = Object.getOwnPropertyDescriptor(e, "ref").get;
379
+ if (c && c.isReactWarning)
380
380
  return !1;
381
381
  }
382
382
  return e.ref !== void 0;
383
383
  }
384
- function Sr(e) {
385
- if (J.call(e, "key")) {
386
- var n = Object.getOwnPropertyDescriptor(e, "key").get;
387
- if (n && n.isReactWarning)
384
+ function $t(e) {
385
+ if (ne.call(e, "key")) {
386
+ var c = Object.getOwnPropertyDescriptor(e, "key").get;
387
+ if (c && c.isReactWarning)
388
388
  return !1;
389
389
  }
390
390
  return e.key !== void 0;
391
391
  }
392
- function Cr(e, n) {
393
- typeof e.ref == "string" && ze.current;
392
+ function zt(e, c) {
393
+ typeof e.ref == "string" && Ke.current;
394
394
  }
395
- function Rr(e, n) {
395
+ function Lt(e, c) {
396
396
  {
397
- var c = function() {
398
- Ue || (Ue = !0, S("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)", n));
397
+ var f = function() {
398
+ Je || (Je = !0, w("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)", c));
399
399
  };
400
- c.isReactWarning = !0, Object.defineProperty(e, "key", {
401
- get: c,
400
+ f.isReactWarning = !0, Object.defineProperty(e, "key", {
401
+ get: f,
402
402
  configurable: !0
403
403
  });
404
404
  }
405
405
  }
406
- function kr(e, n) {
406
+ function Wt(e, c) {
407
407
  {
408
- var c = function() {
409
- Me || (Me = !0, S("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)", n));
408
+ var f = function() {
409
+ Xe || (Xe = !0, w("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)", c));
410
410
  };
411
- c.isReactWarning = !0, Object.defineProperty(e, "ref", {
412
- get: c,
411
+ f.isReactWarning = !0, Object.defineProperty(e, "ref", {
412
+ get: f,
413
413
  configurable: !0
414
414
  });
415
415
  }
416
416
  }
417
- var _r = function(e, n, c, h, w, j, b) {
418
- var m = {
417
+ var Bt = function(e, c, f, m, j, R, y) {
418
+ var x = {
419
419
  // This tag allows us to uniquely identify this as a React Element
420
- $$typeof: o,
420
+ $$typeof: r,
421
421
  // Built-in properties that belong on the element
422
422
  type: e,
423
- key: n,
424
- ref: c,
425
- props: b,
423
+ key: c,
424
+ ref: f,
425
+ props: y,
426
426
  // Record the component responsible for creating this element.
427
- _owner: j
427
+ _owner: R
428
428
  };
429
- return m._store = {}, Object.defineProperty(m._store, "validated", {
429
+ return x._store = {}, Object.defineProperty(x._store, "validated", {
430
430
  configurable: !1,
431
431
  enumerable: !1,
432
432
  writable: !0,
433
433
  value: !1
434
- }), Object.defineProperty(m, "_self", {
434
+ }), Object.defineProperty(x, "_self", {
435
435
  configurable: !1,
436
436
  enumerable: !1,
437
437
  writable: !1,
438
- value: h
439
- }), Object.defineProperty(m, "_source", {
438
+ value: m
439
+ }), Object.defineProperty(x, "_source", {
440
440
  configurable: !1,
441
441
  enumerable: !1,
442
442
  writable: !1,
443
- value: w
444
- }), Object.freeze && (Object.freeze(m.props), Object.freeze(m)), m;
443
+ value: j
444
+ }), Object.freeze && (Object.freeze(x.props), Object.freeze(x)), x;
445
445
  };
446
- function Er(e, n, c, h, w) {
446
+ function Mt(e, c, f, m, j) {
447
447
  {
448
- var j, b = {}, m = null, P = null;
449
- c !== void 0 && (Le(c), m = "" + c), Sr(n) && (Le(n.key), m = "" + n.key), jr(n) && (P = n.ref, Cr(n, w));
450
- for (j in n)
451
- J.call(n, j) && !wr.hasOwnProperty(j) && (b[j] = n[j]);
448
+ var R, y = {}, x = null, O = null;
449
+ f !== void 0 && (Ze(f), x = "" + f), $t(c) && (Ze(c.key), x = "" + c.key), Ot(c) && (O = c.ref, zt(c, j));
450
+ for (R in c)
451
+ ne.call(c, R) && !At.hasOwnProperty(R) && (y[R] = c[R]);
452
452
  if (e && e.defaultProps) {
453
- var k = e.defaultProps;
454
- for (j in k)
455
- b[j] === void 0 && (b[j] = k[j]);
453
+ var F = e.defaultProps;
454
+ for (R in F)
455
+ y[R] === void 0 && (y[R] = F[R]);
456
456
  }
457
- if (m || P) {
458
- var E = typeof e == "function" ? e.displayName || e.name || "Unknown" : e;
459
- m && Rr(b, E), P && kr(b, E);
457
+ if (x || O) {
458
+ var P = typeof e == "function" ? e.displayName || e.name || "Unknown" : e;
459
+ x && Lt(y, P), O && Wt(y, P);
460
460
  }
461
- return _r(e, m, P, w, h, ze.current, b);
461
+ return Bt(e, x, O, j, m, Ke.current, y);
462
462
  }
463
463
  }
464
- var ge = T.ReactCurrentOwner, Be = T.ReactDebugCurrentFrame;
465
- function N(e) {
464
+ var Se = S.ReactCurrentOwner, Qe = S.ReactDebugCurrentFrame;
465
+ function Z(e) {
466
466
  if (e) {
467
- var n = e._owner, c = te(e.type, e._source, n ? n.type : null);
468
- Be.setExtraStackFrame(c);
467
+ var c = e._owner, f = he(e.type, e._source, c ? c.type : null);
468
+ Qe.setExtraStackFrame(f);
469
469
  } else
470
- Be.setExtraStackFrame(null);
470
+ Qe.setExtraStackFrame(null);
471
471
  }
472
- var ve;
473
- ve = !1;
474
- function me(e) {
475
- return typeof e == "object" && e !== null && e.$$typeof === o;
472
+ var Ce;
473
+ Ce = !1;
474
+ function Re(e) {
475
+ return typeof e == "object" && e !== null && e.$$typeof === r;
476
476
  }
477
- function Ne() {
477
+ function et() {
478
478
  {
479
- if (ge.current) {
480
- var e = U(ge.current.type);
479
+ if (Se.current) {
480
+ var e = M(Se.current.type);
481
481
  if (e)
482
482
  return `
483
483
 
@@ -486,456 +486,591 @@ Check the render method of \`` + e + "`.";
486
486
  return "";
487
487
  }
488
488
  }
489
- function Tr(e) {
489
+ function Nt(e) {
490
490
  return "";
491
491
  }
492
- var Ye = {};
493
- function Ir(e) {
492
+ var tt = {};
493
+ function Ut(e) {
494
494
  {
495
- var n = Ne();
496
- if (!n) {
497
- var c = typeof e == "string" ? e : e.displayName || e.name;
498
- c && (n = `
495
+ var c = et();
496
+ if (!c) {
497
+ var f = typeof e == "string" ? e : e.displayName || e.name;
498
+ f && (c = `
499
499
 
500
- Check the top-level render call using <` + c + ">.");
500
+ Check the top-level render call using <` + f + ">.");
501
501
  }
502
- return n;
502
+ return c;
503
503
  }
504
504
  }
505
- function qe(e, n) {
505
+ function nt(e, c) {
506
506
  {
507
507
  if (!e._store || e._store.validated || e.key != null)
508
508
  return;
509
509
  e._store.validated = !0;
510
- var c = Ir(n);
511
- if (Ye[c])
510
+ var f = Ut(c);
511
+ if (tt[f])
512
512
  return;
513
- Ye[c] = !0;
514
- var h = "";
515
- e && e._owner && e._owner !== ge.current && (h = " It was passed a child from " + U(e._owner.type) + "."), N(e), S('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.', c, h), N(null);
513
+ tt[f] = !0;
514
+ var m = "";
515
+ e && e._owner && e._owner !== Se.current && (m = " It was passed a child from " + M(e._owner.type) + "."), Z(e), w('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.', f, m), Z(null);
516
516
  }
517
517
  }
518
- function Ve(e, n) {
518
+ function rt(e, c) {
519
519
  {
520
520
  if (typeof e != "object")
521
521
  return;
522
- if (pe(e))
523
- for (var c = 0; c < e.length; c++) {
524
- var h = e[c];
525
- me(h) && qe(h, n);
522
+ if (je(e))
523
+ for (var f = 0; f < e.length; f++) {
524
+ var m = e[f];
525
+ Re(m) && nt(m, c);
526
526
  }
527
- else if (me(e))
527
+ else if (Re(e))
528
528
  e._store && (e._store.validated = !0);
529
529
  else if (e) {
530
- var w = z(e);
531
- if (typeof w == "function" && w !== e.entries)
532
- for (var j = w.call(e), b; !(b = j.next()).done; )
533
- me(b.value) && qe(b.value, n);
530
+ var j = A(e);
531
+ if (typeof j == "function" && j !== e.entries)
532
+ for (var R = j.call(e), y; !(y = R.next()).done; )
533
+ Re(y.value) && nt(y.value, c);
534
534
  }
535
535
  }
536
536
  }
537
- function Pr(e) {
537
+ function Yt(e) {
538
538
  {
539
- var n = e.type;
540
- if (n == null || typeof n == "string")
539
+ var c = e.type;
540
+ if (c == null || typeof c == "string")
541
541
  return;
542
- var c;
543
- if (typeof n == "function")
544
- c = n.propTypes;
545
- else if (typeof n == "object" && (n.$$typeof === u || // Note: Memo only checks outer props here.
542
+ var f;
543
+ if (typeof c == "function")
544
+ f = c.propTypes;
545
+ else if (typeof c == "object" && (c.$$typeof === d || // Note: Memo only checks outer props here.
546
546
  // Inner props are checked in the reconciler.
547
- n.$$typeof === v))
548
- c = n.propTypes;
547
+ c.$$typeof === v))
548
+ f = c.propTypes;
549
549
  else
550
550
  return;
551
- if (c) {
552
- var h = U(n);
553
- mr(c, e.props, "prop", h, e);
554
- } else if (n.PropTypes !== void 0 && !ve) {
555
- ve = !0;
556
- var w = U(n);
557
- S("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?", w || "Unknown");
551
+ if (f) {
552
+ var m = M(c);
553
+ Tt(f, e.props, "prop", m, e);
554
+ } else if (c.PropTypes !== void 0 && !Ce) {
555
+ Ce = !0;
556
+ var j = M(c);
557
+ w("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?", j || "Unknown");
558
558
  }
559
- typeof n.getDefaultProps == "function" && !n.getDefaultProps.isReactClassApproved && S("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.");
559
+ typeof c.getDefaultProps == "function" && !c.getDefaultProps.isReactClassApproved && w("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.");
560
560
  }
561
561
  }
562
- function Or(e) {
562
+ function qt(e) {
563
563
  {
564
- for (var n = Object.keys(e.props), c = 0; c < n.length; c++) {
565
- var h = n[c];
566
- if (h !== "children" && h !== "key") {
567
- N(e), S("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.", h), N(null);
564
+ for (var c = Object.keys(e.props), f = 0; f < c.length; f++) {
565
+ var m = c[f];
566
+ if (m !== "children" && m !== "key") {
567
+ Z(e), w("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.", m), Z(null);
568
568
  break;
569
569
  }
570
570
  }
571
- e.ref !== null && (N(e), S("Invalid attribute `ref` supplied to `React.Fragment`."), N(null));
571
+ e.ref !== null && (Z(e), w("Invalid attribute `ref` supplied to `React.Fragment`."), Z(null));
572
572
  }
573
573
  }
574
- var Ge = {};
575
- function He(e, n, c, h, w, j) {
574
+ var at = {};
575
+ function ot(e, c, f, m, j, R) {
576
576
  {
577
- var b = ur(e);
578
- if (!b) {
579
- var m = "";
580
- (e === void 0 || typeof e == "object" && e !== null && Object.keys(e).length === 0) && (m += " You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");
581
- var P = Tr();
582
- P ? m += P : m += Ne();
583
- var k;
584
- e === null ? k = "null" : pe(e) ? k = "array" : e !== void 0 && e.$$typeof === o ? (k = "<" + (U(e.type) || "Unknown") + " />", m = " Did you accidentally export a JSX literal instead of a component?") : k = typeof e, S("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s", k, m);
577
+ var y = be(e);
578
+ if (!y) {
579
+ var x = "";
580
+ (e === void 0 || typeof e == "object" && e !== null && Object.keys(e).length === 0) && (x += " You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");
581
+ var O = Nt();
582
+ O ? x += O : x += et();
583
+ var F;
584
+ e === null ? F = "null" : je(e) ? F = "array" : e !== void 0 && e.$$typeof === r ? (F = "<" + (M(e.type) || "Unknown") + " />", x = " Did you accidentally export a JSX literal instead of a component?") : F = typeof e, w("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s", F, x);
585
585
  }
586
- var E = Er(e, n, c, w, j);
587
- if (E == null)
588
- return E;
589
- if (b) {
590
- var A = n.children;
591
- if (A !== void 0)
592
- if (h)
593
- if (pe(A)) {
594
- for (var Y = 0; Y < A.length; Y++)
595
- Ve(A[Y], e);
596
- Object.freeze && Object.freeze(A);
586
+ var P = Mt(e, c, f, j, R);
587
+ if (P == null)
588
+ return P;
589
+ if (y) {
590
+ var L = c.children;
591
+ if (L !== void 0)
592
+ if (m)
593
+ if (je(L)) {
594
+ for (var K = 0; K < L.length; K++)
595
+ rt(L[K], e);
596
+ Object.freeze && Object.freeze(L);
597
597
  } else
598
- S("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");
598
+ w("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");
599
599
  else
600
- Ve(A, e);
600
+ rt(L, e);
601
601
  }
602
- if (J.call(n, "key")) {
603
- var B = U(e), O = Object.keys(n).filter(function(Lr) {
604
- return Lr !== "key";
605
- }), ye = O.length > 0 ? "{key: someKey, " + O.join(": ..., ") + ": ...}" : "{key: someKey}";
606
- if (!Ge[B + ye]) {
607
- var Fr = O.length > 0 ? "{" + O.join(": ..., ") + ": ...}" : "{}";
608
- S(`A props object containing a "key" prop is being spread into JSX:
602
+ if (ne.call(c, "key")) {
603
+ var q = M(e), $ = Object.keys(c).filter(function(Jt) {
604
+ return Jt !== "key";
605
+ }), _e = $.length > 0 ? "{key: someKey, " + $.join(": ..., ") + ": ...}" : "{key: someKey}";
606
+ if (!at[q + _e]) {
607
+ var Kt = $.length > 0 ? "{" + $.join(": ..., ") + ": ...}" : "{}";
608
+ w(`A props object containing a "key" prop is being spread into JSX:
609
609
  let props = %s;
610
610
  <%s {...props} />
611
611
  React keys must be passed directly to JSX without using spread:
612
612
  let props = %s;
613
- <%s key={someKey} {...props} />`, ye, B, Fr, B), Ge[B + ye] = !0;
613
+ <%s key={someKey} {...props} />`, _e, q, Kt, q), at[q + _e] = !0;
614
614
  }
615
615
  }
616
- return e === l ? Or(E) : Pr(E), E;
616
+ return e === s ? qt(P) : Yt(P), P;
617
617
  }
618
618
  }
619
- function Dr(e, n, c) {
620
- return He(e, n, c, !0);
619
+ function Gt(e, c, f) {
620
+ return ot(e, c, f, !0);
621
621
  }
622
- function Ar(e, n, c) {
623
- return He(e, n, c, !1);
622
+ function Ht(e, c, f) {
623
+ return ot(e, c, f, !1);
624
624
  }
625
- var $r = Ar, Wr = Dr;
626
- Q.Fragment = l, Q.jsx = $r, Q.jsxs = Wr;
627
- }()), Q;
625
+ var Vt = Ht, Zt = Gt;
626
+ ae.Fragment = s, ae.jsx = Vt, ae.jsxs = Zt;
627
+ }()), ae;
628
628
  }
629
- process.env.NODE_ENV === "production" ? we.exports = Kr() : we.exports = Jr();
630
- var r = we.exports;
631
- const ae = 100, le = "http://localhost:1633", a = {
632
- colors: {
633
- primary: "#1a56db",
634
- primaryHover: "#1e429f",
635
- success: "#0e9f6e",
636
- successLight: "#f0fdf4",
637
- error: "#f05252",
638
- errorLight: "#fff5f5",
639
- warning: "#ff8a4c",
640
- warningLight: "#fffbf5",
641
- border: "#e5e7eb",
642
- text: "#111827",
643
- muted: "#6b7280",
644
- overlay: "rgba(0,0,0,0.5)"
645
- }
646
- };
647
- function Xr(t = le) {
648
- const [o, i] = L({
629
+ process.env.NODE_ENV === "production" ? Te.exports = pn() : Te.exports = vn();
630
+ var t = Te.exports;
631
+ const U = 100, se = "http://localhost:1633", yt = "swarm-connect:bee-api-url", ft = "0xdBF3Ea6F5beE45c02255B2c26a16F300502F68da", Fe = 16, gn = "0.1", mn = "0.5", xn = 20, bn = "1000000000";
632
+ function yn(n = se) {
633
+ const [r, a] = T({
649
634
  isRunning: !1,
650
635
  isChecking: !1
651
- }), l = or(async () => {
652
- i({ isRunning: !1, isChecking: !0 });
636
+ }), s = me(async () => {
637
+ a({ isRunning: !1, isChecking: !0 });
653
638
  try {
654
- const f = await fetch(`${t}/health`, {
639
+ const i = await fetch(`${n}/health`, {
655
640
  signal: AbortSignal.timeout(5e3)
656
641
  });
657
- if (f.ok) {
658
- const p = await f.json();
659
- i({ isRunning: !0, isChecking: !1, version: p.version });
642
+ if (i.ok) {
643
+ const l = await i.json();
644
+ a({ isRunning: !0, isChecking: !1, version: l.version });
660
645
  } else
661
- i({ isRunning: !1, isChecking: !1, error: `Node returned HTTP ${f.status}` });
646
+ a({ isRunning: !1, isChecking: !1, error: `Node returned HTTP ${i.status}` });
662
647
  } catch {
663
- i({
648
+ a({
664
649
  isRunning: !1,
665
650
  isChecking: !1,
666
- error: `Cannot reach Bee node at ${t}`
651
+ error: `Cannot reach Bee node at ${n}`
667
652
  });
668
653
  }
669
- }, [t]);
670
- return { ...o, check: l };
654
+ }, [n]);
655
+ return { ...r, check: s };
671
656
  }
672
- function Qr(t = le) {
673
- const [o, i] = L([]), [l, f] = L(!1), [p, g] = L(), [y, u] = L(), s = or(async () => {
674
- f(!0), g(void 0);
657
+ function wn(n = se) {
658
+ const [r, a] = T([]), [s, i] = T(!1), [l, p] = T(), [h, d] = T(), [o, u] = T(!1), [v, g] = T(), b = me(async () => {
659
+ i(!0), p(void 0);
675
660
  try {
676
- const d = await fetch(`${t}/stamps`, {
661
+ const _ = await fetch(`${n}/stamps`, {
677
662
  signal: AbortSignal.timeout(5e3)
678
663
  });
679
- if (d.ok) {
680
- const v = await d.json();
681
- i(v.stamps ?? []);
664
+ if (_.ok) {
665
+ const A = await _.json();
666
+ a(A.stamps ?? []);
682
667
  } else
683
- g(`HTTP ${d.status}`);
668
+ p(`HTTP ${_.status}`);
684
669
  } catch {
685
- g("Could not fetch postage stamps");
670
+ p("Could not fetch postage stamps");
686
671
  } finally {
687
- f(!1);
672
+ i(!1);
688
673
  }
689
- }, [t]);
690
- return { stamps: o, isLoading: l, error: p, fetchStamps: s, selectedStampId: y, selectStamp: u };
674
+ }, [n]), E = me(async ({ amount: _, depth: A, label: S }) => {
675
+ u(!0), g(void 0);
676
+ try {
677
+ const w = S ? `?label=${encodeURIComponent(S)}` : "", I = await fetch(`${n}/stamps/${_}/${A}${w}`, {
678
+ method: "POST",
679
+ signal: AbortSignal.timeout(24e4)
680
+ });
681
+ if (!I.ok) {
682
+ let k = `HTTP ${I.status}`;
683
+ try {
684
+ const D = await I.json();
685
+ D.message && (k = D.message);
686
+ } catch {
687
+ }
688
+ g(k);
689
+ return;
690
+ }
691
+ const C = await I.json();
692
+ return d(C.batchID), b(), C.batchID;
693
+ } catch {
694
+ g("Stamp purchase failed — is the node wallet funded with xDAI and xBZZ?");
695
+ return;
696
+ } finally {
697
+ u(!1);
698
+ }
699
+ }, [n, b]);
700
+ return {
701
+ stamps: r,
702
+ isLoading: s,
703
+ error: l,
704
+ fetchStamps: b,
705
+ selectedStampId: h,
706
+ selectStamp: d,
707
+ createStamp: E,
708
+ isCreating: o,
709
+ createError: v
710
+ };
691
711
  }
692
- function Zr(t = {}) {
693
- const [o, i] = L(t.beeApiUrl ?? le), l = Xr(o), f = Qr(o), { address: p, isConnected: g } = ir(), y = sr(), u = y === ae;
712
+ function wt(n = se) {
713
+ const [r, a] = T({
714
+ isLoading: !1
715
+ }), s = me(async () => {
716
+ a((i) => ({ ...i, isLoading: !0, error: void 0 }));
717
+ try {
718
+ const [i, l] = await Promise.all([
719
+ fetch(`${n}/addresses`, { signal: AbortSignal.timeout(5e3) }),
720
+ fetch(`${n}/wallet`, { signal: AbortSignal.timeout(5e3) })
721
+ ]);
722
+ if (!i.ok || !l.ok) {
723
+ a((u) => ({
724
+ ...u,
725
+ isLoading: !1,
726
+ error: `Node returned HTTP ${i.ok ? l.status : i.status}`
727
+ }));
728
+ return;
729
+ }
730
+ const p = await i.json(), h = await l.json(), d = h.bzzBalance ?? h.bzz, o = h.nativeTokenBalance ?? h.xDai;
731
+ a({
732
+ address: p.ethereum,
733
+ xdai: o !== void 0 ? Number(o) / 1e18 : void 0,
734
+ xbzz: d !== void 0 ? Number(d) / 10 ** Fe : void 0,
735
+ isLoading: !1
736
+ });
737
+ } catch {
738
+ a((i) => ({
739
+ ...i,
740
+ isLoading: !1,
741
+ error: `Cannot read node wallet at ${n}`
742
+ }));
743
+ }
744
+ }, [n]);
694
745
  return {
695
- beeNode: l,
696
- stamps: f,
697
- beeApiUrl: o,
698
- setBeeApiUrl: i,
699
- isWalletConnected: g,
700
- address: p,
701
- isOnGnosis: u,
702
- chainId: y,
703
- isFullyConnected: l.isRunning && !!f.selectedStampId && g && u
746
+ ...r,
747
+ isFunded: (r.xdai ?? 0) > 0 && (r.xbzz ?? 0) > 0,
748
+ refresh: s
704
749
  };
705
750
  }
706
- function et({ beeApiUrl: t, setBeeApiUrl: o, beeNode: i, stamps: l }) {
707
- return xe(() => {
708
- i.check();
709
- }, [t]), xe(() => {
710
- i.isRunning && l.fetchStamps();
711
- }, [i.isRunning]), /* @__PURE__ */ r.jsxs("div", { style: { display: "flex", flexDirection: "column", gap: 24 }, children: [
712
- /* @__PURE__ */ r.jsxs("section", { children: [
713
- /* @__PURE__ */ r.jsx(Ze, { children: "Bee Node" }),
714
- /* @__PURE__ */ r.jsxs("div", { style: { display: "flex", flexDirection: "column", gap: 10 }, children: [
715
- /* @__PURE__ */ r.jsx(
716
- rt,
717
- {
718
- value: t,
719
- disabled: i.isChecking,
720
- onSubmit: o
721
- }
722
- ),
723
- /* @__PURE__ */ r.jsx(tt, { beeApiUrl: t, status: i, onRetry: i.check })
724
- ] })
725
- ] }),
726
- i.isRunning && /* @__PURE__ */ r.jsxs("section", { children: [
727
- /* @__PURE__ */ r.jsx(Ze, { children: "Postage Stamp" }),
728
- /* @__PURE__ */ r.jsx(nt, { stamps: l })
729
- ] })
730
- ] });
751
+ function kn() {
752
+ if (!(typeof window > "u"))
753
+ try {
754
+ return window.localStorage.getItem(yt) ?? void 0;
755
+ } catch {
756
+ return;
757
+ }
731
758
  }
732
- function rt({ value: t, disabled: o, onSubmit: i }) {
733
- const [l, f] = L(t);
734
- xe(() => {
735
- f(t);
736
- }, [t]);
737
- const p = l.trim().replace(/\/+$/, ""), g = p !== t && p.length > 0, y = () => {
738
- g && i(p);
739
- };
740
- return /* @__PURE__ */ r.jsxs("div", { style: { display: "flex", gap: 6 }, children: [
741
- /* @__PURE__ */ r.jsx(
742
- "input",
743
- {
744
- type: "url",
745
- value: l,
746
- disabled: o,
747
- onChange: (u) => f(u.target.value),
748
- onKeyDown: (u) => {
749
- u.key === "Enter" && y();
750
- },
751
- placeholder: "http://localhost:1633",
752
- spellCheck: !1,
753
- autoComplete: "off",
754
- style: {
755
- flex: 1,
756
- minWidth: 0,
757
- padding: "8px 10px",
758
- fontSize: 13,
759
- fontFamily: "monospace",
760
- border: `1px solid ${a.colors.border}`,
761
- borderRadius: 6,
762
- color: a.colors.text,
763
- outline: "none",
764
- background: o ? "#f9fafb" : "#fff"
765
- }
766
- }
767
- ),
768
- /* @__PURE__ */ r.jsx(
769
- "button",
770
- {
771
- onClick: y,
772
- disabled: o || !g,
773
- style: {
774
- ...Se,
775
- alignSelf: "auto",
776
- cursor: o || !g ? "default" : "pointer",
777
- opacity: o || !g ? 0.5 : 1
778
- },
779
- children: "Connect"
759
+ function jn(n = {}) {
760
+ const [r, a] = T(
761
+ () => n.beeApiUrl ?? kn() ?? se
762
+ );
763
+ Q(() => {
764
+ if (!(typeof window > "u"))
765
+ try {
766
+ window.localStorage.setItem(yt, r);
767
+ } catch {
780
768
  }
781
- )
782
- ] });
769
+ }, [r]);
770
+ const s = n.stampMode ?? "select", i = yn(r), l = wn(r), p = wt(r), { address: h, isConnected: d } = Ae(), o = xt(), u = o === U, { data: v, isLoading: g } = bt({
771
+ address: h,
772
+ chainId: U,
773
+ query: { enabled: d }
774
+ }), b = v ? Number(v.formatted) : void 0, E = u && !!v && v.value > 0n;
775
+ return {
776
+ beeNode: i,
777
+ stamps: l,
778
+ beeApiUrl: r,
779
+ setBeeApiUrl: a,
780
+ stampMode: s,
781
+ nodeWallet: p,
782
+ isWalletConnected: d,
783
+ address: h,
784
+ isOnGnosis: u,
785
+ chainId: o,
786
+ balance: { xdai: b, isLoading: d && g, hasGas: E },
787
+ isFullyConnected: d && u && E && i.isRunning && (s === "select" || p.isFunded) && !!l.selectedStampId
788
+ };
789
+ }
790
+ const Sn = `
791
+ .swarm-connect {
792
+ --void:#060809; --bunker:#0b0f12; --surface:#121821; --raised:#18202b; --raised-2:#1e2833;
793
+ --line:rgba(255,255,255,0.07); --line-2:rgba(255,255,255,0.12); --line-orange:rgba(255,107,0,0.45);
794
+ --fg:#f3f5f7; --fg-soft:#c3cad3; --fg-muted:#7d8794; --fg-faint:#565f6b;
795
+ --accent:#ff6b00; --accent-bright:#ff8a33; --accent-deep:#d65500; --accent-ink:#1a0e02;
796
+ --accent-glow:rgba(255,107,0,0.40); --accent-wash:rgba(255,107,0,0.10);
797
+ --ok:#36c46a; --ok-wash:rgba(54,196,106,0.12); --ok-line:rgba(54,196,106,0.40);
798
+ --bad:#ff5640; --bad-wash:rgba(255,86,64,0.12); --bad-line:rgba(255,86,64,0.38);
799
+ --warn:#f0a83a; --warn-wash:rgba(240,168,58,0.12); --warn-line:rgba(240,168,58,0.40);
800
+ --font-display:'Space Grotesk',system-ui,sans-serif;
801
+ --font-body:'Inter',system-ui,sans-serif;
802
+ --font-mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
803
+ --ease:cubic-bezier(0.22,0.61,0.36,1);
804
+ }
805
+ @keyframes sc-spin { to { transform: rotate(360deg); } }
806
+ @keyframes sc-pulse-dot { 0%,100% { opacity:1; transform:scale(1); } 50% { opacity:.4; transform:scale(.82); } }
807
+ @keyframes sc-modal-in { from { opacity:0; transform:translate(-50%, calc(-50% + 10px)) scale(.985); } to { opacity:1; transform:translate(-50%,-50%) scale(1); } }
808
+ @keyframes sc-backdrop-in { from { opacity:0; } to { opacity:1; } }
809
+ @keyframes sc-step-in { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:translateY(0); } }
810
+ .sc-scroll::-webkit-scrollbar { width:8px; }
811
+ .sc-scroll::-webkit-scrollbar-thumb { background:var(--line-2); border-radius:8px; border:2px solid transparent; background-clip:padding-box; }
812
+ .sc-scroll::-webkit-scrollbar-track { background:transparent; }
813
+ `;
814
+ let ht = !1;
815
+ function kt() {
816
+ if (ht || typeof document > "u") return;
817
+ ht = !0;
818
+ const n = document.createElement("style");
819
+ n.dataset.swarmConnect = "", n.textContent = Sn, document.head.appendChild(n);
820
+ }
821
+ function Cn({ size: n = 18, stroke: r = "var(--accent)", glow: a = !0, children: s }) {
822
+ return /* @__PURE__ */ t.jsx("span", { style: {
823
+ display: "inline-flex",
824
+ alignItems: "center",
825
+ justifyContent: "center",
826
+ filter: a ? "drop-shadow(0 0 6px var(--accent-glow))" : "none"
827
+ }, children: /* @__PURE__ */ t.jsx(
828
+ "svg",
829
+ {
830
+ width: n,
831
+ height: n,
832
+ viewBox: "0 0 24 24",
833
+ fill: "none",
834
+ stroke: r,
835
+ strokeWidth: "1.4",
836
+ strokeLinecap: "round",
837
+ strokeLinejoin: "round",
838
+ children: s
839
+ }
840
+ ) });
841
+ }
842
+ function ce({ size: n = 15 }) {
843
+ return /* @__PURE__ */ t.jsx("span", { style: {
844
+ width: n,
845
+ height: n,
846
+ flexShrink: 0,
847
+ display: "inline-block",
848
+ border: "2px solid rgba(255,255,255,.12)",
849
+ borderTopColor: "var(--accent)",
850
+ borderRadius: "50%",
851
+ animation: "sc-spin .7s linear infinite"
852
+ } });
783
853
  }
784
- function Ze({ children: t }) {
785
- return /* @__PURE__ */ r.jsx("div", { style: {
786
- fontSize: 11,
787
- fontWeight: 700,
854
+ function le({ children: n, tone: r }) {
855
+ const a = {
856
+ ok: { c: "var(--ok)", b: "var(--ok-line)", w: "var(--ok-wash)" },
857
+ bad: { c: "var(--bad)", b: "var(--bad-line)", w: "var(--bad-wash)" },
858
+ warn: { c: "var(--warn)", b: "var(--warn-line)", w: "var(--warn-wash)" }
859
+ }[r];
860
+ return /* @__PURE__ */ t.jsx("span", { style: {
861
+ fontFamily: "var(--font-mono)",
862
+ fontSize: 10,
863
+ letterSpacing: ".04em",
788
864
  textTransform: "uppercase",
789
- letterSpacing: "0.06em",
790
- color: a.colors.muted,
791
- marginBottom: 8
792
- }, children: t });
865
+ color: a.c,
866
+ background: a.w,
867
+ border: `1px solid ${a.b}`,
868
+ borderRadius: 3,
869
+ padding: "2px 6px",
870
+ lineHeight: 1.3
871
+ }, children: n });
793
872
  }
794
- function tt({ beeApiUrl: t, status: o, onRetry: i }) {
795
- return o.isChecking ? /* @__PURE__ */ r.jsxs("div", { style: V, children: [
796
- /* @__PURE__ */ r.jsx(ar, {}),
797
- /* @__PURE__ */ r.jsxs("span", { style: { color: a.colors.muted, fontSize: 14 }, children: [
798
- "Checking ",
799
- t,
800
- ""
801
- ] })
802
- ] }) : o.isRunning ? /* @__PURE__ */ r.jsxs("div", { style: { ...V, borderColor: a.colors.success, background: a.colors.successLight }, children: [
803
- /* @__PURE__ */ r.jsx(rr, { color: a.colors.success }),
804
- /* @__PURE__ */ r.jsxs("div", { children: [
805
- /* @__PURE__ */ r.jsx("div", { style: { fontWeight: 600, color: a.colors.success, fontSize: 14 }, children: "Node running" }),
806
- o.version && /* @__PURE__ */ r.jsxs("div", { style: { color: a.colors.muted, fontSize: 12 }, children: [
807
- "v",
808
- o.version
809
- ] })
810
- ] })
811
- ] }) : /* @__PURE__ */ r.jsxs("div", { style: { display: "flex", flexDirection: "column", gap: 8 }, children: [
812
- /* @__PURE__ */ r.jsxs("div", { style: { ...V, borderColor: a.colors.error, background: a.colors.errorLight }, children: [
813
- /* @__PURE__ */ r.jsx(rr, { color: a.colors.error }),
814
- /* @__PURE__ */ r.jsxs("div", { children: [
815
- /* @__PURE__ */ r.jsx("div", { style: { fontWeight: 600, color: a.colors.error, fontSize: 14 }, children: "Node not reachable" }),
816
- /* @__PURE__ */ r.jsx("div", { style: { color: a.colors.muted, fontSize: 12 }, children: o.error ?? `Cannot reach ${t}` })
817
- ] })
818
- ] }),
819
- /* @__PURE__ */ r.jsxs("div", { style: { fontSize: 12, color: a.colors.muted }, children: [
820
- "Start: ",
821
- /* @__PURE__ */ r.jsx("code", { style: { background: "#f3f4f6", padding: "1px 5px", borderRadius: 3 }, children: "bee start" })
873
+ function G({ tone: n, title: r, sub: a, children: s }) {
874
+ const i = {
875
+ ok: { b: "var(--ok-line)", w: "var(--ok-wash)", d: "var(--ok)" },
876
+ bad: { b: "var(--bad-line)", w: "var(--bad-wash)", d: "var(--bad)" },
877
+ warn: { b: "var(--warn-line)", w: "var(--warn-wash)", d: "var(--warn)" },
878
+ flat: { b: "var(--line)", w: "var(--raised)", d: "var(--fg-muted)" }
879
+ }[n], l = !!a && (a.startsWith("0x") || a.includes("localhost") || a.includes("http"));
880
+ return /* @__PURE__ */ t.jsxs("div", { style: {
881
+ display: "flex",
882
+ alignItems: "center",
883
+ gap: 12,
884
+ padding: "12px 14px",
885
+ border: `1px solid ${i.b}`,
886
+ borderRadius: 8,
887
+ background: i.w
888
+ }, children: [
889
+ n !== "flat" && /* @__PURE__ */ t.jsx("span", { style: {
890
+ width: 8,
891
+ height: 8,
892
+ flexShrink: 0,
893
+ borderRadius: "50%",
894
+ background: i.d,
895
+ boxShadow: `0 0 8px ${i.d}`,
896
+ animation: n === "warn" ? "sc-pulse-dot 1.6s var(--ease) infinite" : "none"
897
+ } }),
898
+ /* @__PURE__ */ t.jsxs("div", { style: { minWidth: 0 }, children: [
899
+ r && /* @__PURE__ */ t.jsx("div", { style: { fontWeight: 600, fontSize: 13.5, color: n === "flat" ? "var(--fg-soft)" : i.d }, children: r }),
900
+ a && /* @__PURE__ */ t.jsx("div", { style: { fontSize: 12, color: "var(--fg-muted)", marginTop: 2, fontFamily: l ? "var(--font-mono)" : "inherit", wordBreak: "break-all" }, children: a })
822
901
  ] }),
823
- /* @__PURE__ */ r.jsx("button", { onClick: i, style: Se, children: "Retry" })
902
+ s && /* @__PURE__ */ t.jsx("div", { style: { marginLeft: "auto", flexShrink: 0 }, children: s })
824
903
  ] });
825
904
  }
826
- function nt({ stamps: t }) {
827
- return t.isLoading ? /* @__PURE__ */ r.jsxs("div", { style: { ...V, gap: 10 }, children: [
828
- /* @__PURE__ */ r.jsx(ar, {}),
829
- /* @__PURE__ */ r.jsx("span", { style: { color: a.colors.muted, fontSize: 14 }, children: "Loading stamps…" })
830
- ] }) : t.error ? /* @__PURE__ */ r.jsxs("div", { style: { display: "flex", flexDirection: "column", gap: 8 }, children: [
831
- /* @__PURE__ */ r.jsx("div", { style: { ...V, borderColor: a.colors.error, background: a.colors.errorLight }, children: /* @__PURE__ */ r.jsx("span", { style: { color: a.colors.error, fontSize: 13 }, children: t.error }) }),
832
- /* @__PURE__ */ r.jsx("button", { onClick: t.fetchStamps, style: Se, children: "Retry" })
833
- ] }) : t.stamps.length === 0 ? /* @__PURE__ */ r.jsxs("div", { style: { ...V, flexDirection: "column", alignItems: "flex-start", gap: 4 }, children: [
834
- /* @__PURE__ */ r.jsx("div", { style: { fontSize: 14, color: a.colors.muted }, children: "No postage stamps found." }),
835
- /* @__PURE__ */ r.jsx("div", { style: { fontSize: 12, color: a.colors.muted }, children: "Buy a stamp via the Bee API or Swarm Desktop to continue." })
836
- ] }) : /* @__PURE__ */ r.jsx("div", { style: { display: "flex", flexDirection: "column", gap: 8 }, children: t.stamps.map((o) => /* @__PURE__ */ r.jsx(
837
- ot,
905
+ function H({ children: n, onClick: r, disabled: a }) {
906
+ const [s, i] = T(!1);
907
+ return /* @__PURE__ */ t.jsx(
908
+ "button",
838
909
  {
839
- stamp: o,
840
- selected: t.selectedStampId === o.batchID,
841
- onSelect: () => t.selectStamp(o.batchID)
842
- },
843
- o.batchID
844
- )) });
910
+ onClick: r,
911
+ disabled: a,
912
+ onMouseEnter: () => i(!0),
913
+ onMouseLeave: () => i(!1),
914
+ style: {
915
+ fontFamily: "var(--font-mono)",
916
+ fontSize: 12,
917
+ letterSpacing: ".04em",
918
+ background: "transparent",
919
+ border: `1px solid ${s && !a ? "var(--line-orange)" : "var(--line-2)"}`,
920
+ color: a ? "var(--fg-faint)" : s ? "var(--accent-bright)" : "var(--fg-soft)",
921
+ borderRadius: 4,
922
+ padding: "7px 14px",
923
+ cursor: a ? "default" : "pointer",
924
+ transition: "all .15s var(--ease)",
925
+ opacity: a ? 0.5 : 1
926
+ },
927
+ children: n
928
+ }
929
+ );
845
930
  }
846
- function ot({ stamp: t, selected: o, onSelect: i }) {
847
- const l = Math.floor(t.batchTTL / 86400), f = `${t.batchID.slice(0, 8)}…${t.batchID.slice(-6)}`;
848
- return /* @__PURE__ */ r.jsxs(
931
+ function Oe({ children: n, onClick: r, pending: a, block: s, style: i }) {
932
+ const [l, p] = T(!1);
933
+ return /* @__PURE__ */ t.jsx(
849
934
  "button",
850
935
  {
851
- onClick: i,
936
+ onClick: r,
937
+ disabled: a,
938
+ onMouseEnter: () => p(!0),
939
+ onMouseLeave: () => p(!1),
852
940
  style: {
853
- display: "flex",
941
+ display: "inline-flex",
854
942
  alignItems: "center",
855
- justifyContent: "space-between",
856
- padding: "10px 14px",
857
- border: `1.5px solid ${o ? a.colors.primary : a.colors.border}`,
858
- borderRadius: 8,
859
- cursor: "pointer",
860
- background: o ? "#eff6ff" : "#fff",
861
- textAlign: "left",
862
- width: "100%",
863
- transition: "all 0.15s"
943
+ justifyContent: "center",
944
+ gap: 8,
945
+ fontFamily: "var(--font-mono)",
946
+ fontSize: 13,
947
+ fontWeight: 600,
948
+ letterSpacing: ".06em",
949
+ textTransform: "uppercase",
950
+ width: s ? "100%" : "auto",
951
+ background: "var(--accent)",
952
+ color: "var(--accent-ink)",
953
+ border: "none",
954
+ borderRadius: 4,
955
+ padding: "11px 20px",
956
+ cursor: a ? "default" : "pointer",
957
+ boxShadow: l ? "0 0 24px var(--accent-glow)" : "0 0 14px var(--accent-glow)",
958
+ transform: l ? "translateY(-1px)" : "none",
959
+ transition: "all .15s var(--ease)",
960
+ opacity: a ? 0.8 : 1,
961
+ whiteSpace: "nowrap",
962
+ ...i
864
963
  },
865
- children: [
866
- /* @__PURE__ */ r.jsxs("div", { children: [
867
- /* @__PURE__ */ r.jsx("div", { style: { fontFamily: "monospace", fontSize: 12, color: a.colors.text }, children: f }),
868
- t.label && /* @__PURE__ */ r.jsx("div", { style: { fontSize: 12, color: a.colors.muted, marginTop: 2 }, children: t.label })
869
- ] }),
870
- /* @__PURE__ */ r.jsxs("div", { style: { display: "flex", alignItems: "center", gap: 8, flexShrink: 0 }, children: [
871
- /* @__PURE__ */ r.jsx("span", { style: { fontSize: 11, color: a.colors.muted }, children: l > 0 ? `${l}d` : "expiring" }),
872
- t.usable ? /* @__PURE__ */ r.jsx(er, { bg: a.colors.successLight, color: a.colors.success, children: "usable" }) : /* @__PURE__ */ r.jsx(er, { bg: a.colors.errorLight, color: a.colors.error, children: "unusable" }),
873
- /* @__PURE__ */ r.jsx("div", { style: {
874
- width: 16,
875
- height: 16,
876
- borderRadius: "50%",
877
- flexShrink: 0,
878
- border: `2px solid ${o ? a.colors.primary : a.colors.border}`,
879
- background: o ? a.colors.primary : "transparent"
880
- } })
881
- ] })
882
- ]
964
+ children: n
883
965
  }
884
966
  );
885
967
  }
886
- function er({ children: t, bg: o, color: i }) {
887
- return /* @__PURE__ */ r.jsx("span", { style: { fontSize: 11, background: o, color: i, borderRadius: 4, padding: "2px 6px" }, children: t });
968
+ function ee({ children: n }) {
969
+ return /* @__PURE__ */ t.jsxs("div", { style: {
970
+ display: "flex",
971
+ alignItems: "center",
972
+ gap: 10,
973
+ padding: "12px 14px",
974
+ border: "1px dashed var(--line-2)",
975
+ borderRadius: 8,
976
+ background: "var(--bunker)"
977
+ }, children: [
978
+ /* @__PURE__ */ t.jsxs(Cn, { size: 15, stroke: "var(--fg-faint)", glow: !1, children: [
979
+ /* @__PURE__ */ t.jsx("rect", { x: "5", y: "11", width: "14", height: "9", rx: "1.5" }),
980
+ /* @__PURE__ */ t.jsx("path", { d: "M8 11V8a4 4 0 0 1 8 0v3" })
981
+ ] }),
982
+ /* @__PURE__ */ t.jsx("span", { style: { fontSize: 12.5, color: "var(--fg-muted)" }, children: n })
983
+ ] });
888
984
  }
889
- function rr({ color: t }) {
890
- return /* @__PURE__ */ r.jsx("span", { style: { fontSize: 10, color: t, lineHeight: 1 }, children: "" });
985
+ function J({ step: n, state: r, children: a, hint: s }) {
986
+ const i = r === "done", l = r === "locked";
987
+ return /* @__PURE__ */ t.jsxs("div", { style: { display: "flex", alignItems: "center", gap: 10, marginBottom: 12 }, children: [
988
+ /* @__PURE__ */ t.jsx("span", { style: {
989
+ display: "inline-flex",
990
+ alignItems: "center",
991
+ justifyContent: "center",
992
+ width: 22,
993
+ height: 22,
994
+ flexShrink: 0,
995
+ fontFamily: "var(--font-mono)",
996
+ fontSize: 11,
997
+ fontWeight: 600,
998
+ lineHeight: 1,
999
+ color: i ? "var(--ok)" : l ? "var(--fg-faint)" : "var(--accent-ink)",
1000
+ background: i ? "var(--ok-wash)" : l ? "transparent" : "var(--accent)",
1001
+ border: i ? "1px solid var(--ok-line)" : l ? "1px solid var(--line-2)" : "none",
1002
+ clipPath: "polygon(25% 0, 75% 0, 100% 50%, 75% 100%, 25% 100%, 0 50%)",
1003
+ boxShadow: !i && !l ? "0 0 14px var(--accent-glow)" : "none"
1004
+ }, children: i ? "✓" : n }),
1005
+ /* @__PURE__ */ t.jsx("span", { style: {
1006
+ fontFamily: "var(--font-mono)",
1007
+ fontSize: 11,
1008
+ fontWeight: 600,
1009
+ textTransform: "uppercase",
1010
+ letterSpacing: ".18em",
1011
+ color: l ? "var(--fg-faint)" : "var(--fg-soft)"
1012
+ }, children: a }),
1013
+ s && /* @__PURE__ */ t.jsx("span", { style: { marginLeft: "auto", fontFamily: "var(--font-mono)", fontSize: 10, letterSpacing: ".06em", color: "var(--fg-faint)" }, children: s })
1014
+ ] });
891
1015
  }
892
- function ar() {
893
- return /* @__PURE__ */ r.jsx("div", { style: {
894
- width: 15,
895
- height: 15,
1016
+ function Rn({ size: n = 30 }) {
1017
+ return /* @__PURE__ */ t.jsx("span", { style: {
1018
+ width: n,
1019
+ height: n,
896
1020
  flexShrink: 0,
897
- border: "2px solid #e5e7eb",
898
- borderTopColor: a.colors.primary,
1021
+ display: "inline-flex",
1022
+ alignItems: "center",
1023
+ justifyContent: "center",
1024
+ background: "var(--accent)",
1025
+ color: "var(--accent-ink)",
1026
+ clipPath: "polygon(25% 0, 75% 0, 100% 50%, 75% 100%, 25% 100%, 0 50%)",
1027
+ boxShadow: "0 0 18px var(--accent-glow)"
1028
+ }, children: /* @__PURE__ */ t.jsxs(
1029
+ "svg",
1030
+ {
1031
+ width: n * 0.56,
1032
+ height: n * 0.56,
1033
+ viewBox: "0 0 24 24",
1034
+ fill: "none",
1035
+ stroke: "var(--accent-ink)",
1036
+ strokeWidth: "1.8",
1037
+ strokeLinecap: "round",
1038
+ strokeLinejoin: "round",
1039
+ children: [
1040
+ /* @__PURE__ */ t.jsx("ellipse", { cx: "12", cy: "14", rx: "5", ry: "6.5" }),
1041
+ /* @__PURE__ */ t.jsx("path", { d: "M7 12h10M7 16h10M12 7.5V4M12 4l-2.5-1.5M12 4l2.5-1.5" })
1042
+ ]
1043
+ }
1044
+ ) });
1045
+ }
1046
+ function _n({ states: n }) {
1047
+ return /* @__PURE__ */ t.jsx("span", { style: { display: "inline-flex", gap: 5 }, children: n.map((r, a) => /* @__PURE__ */ t.jsx("span", { style: {
1048
+ width: 7,
1049
+ height: 7,
899
1050
  borderRadius: "50%",
900
- animation: "spin 0.7s linear infinite"
901
- } });
1051
+ background: r ? "var(--ok)" : "var(--line-2)",
1052
+ boxShadow: r ? "0 0 8px var(--ok)" : "none",
1053
+ transition: "all .2s"
1054
+ } }, a)) });
902
1055
  }
903
- const V = {
904
- display: "flex",
905
- alignItems: "center",
906
- gap: 12,
907
- padding: "11px 14px",
908
- border: `1px solid ${a.colors.border}`,
909
- borderRadius: 8,
910
- background: "#fff"
911
- }, Se = {
912
- background: "none",
913
- border: `1px solid ${a.colors.border}`,
914
- borderRadius: 6,
915
- padding: "5px 14px",
916
- cursor: "pointer",
917
- fontSize: 13,
918
- color: a.colors.muted,
919
- alignSelf: "flex-start"
920
- };
921
- function it(t) {
922
- const o = {
1056
+ function En(n) {
1057
+ const r = {
923
1058
  formatters: void 0,
924
1059
  fees: void 0,
925
1060
  serializers: void 0,
926
- ...t
1061
+ ...n
927
1062
  };
928
- function i(l) {
929
- return (f) => {
930
- const p = typeof f == "function" ? f(l) : f, g = { ...l, ...p };
931
- return Object.assign(g, { extend: i(g) });
1063
+ function a(s) {
1064
+ return (i) => {
1065
+ const l = typeof i == "function" ? i(s) : i, p = { ...s, ...l };
1066
+ return Object.assign(p, { extend: a(p) });
932
1067
  };
933
1068
  }
934
- return Object.assign(o, {
935
- extend: i(o)
1069
+ return Object.assign(r, {
1070
+ extend: a(r)
936
1071
  });
937
1072
  }
938
- const je = /* @__PURE__ */ it({
1073
+ const Pe = /* @__PURE__ */ En({
939
1074
  id: 100,
940
1075
  name: "Gnosis",
941
1076
  nativeCurrency: {
@@ -964,352 +1099,708 @@ const je = /* @__PURE__ */ it({
964
1099
  }
965
1100
  }
966
1101
  });
967
- function st() {
968
- const { address: t, isConnected: o } = ir(), i = sr(), l = i === ae;
969
- return /* @__PURE__ */ r.jsxs("div", { style: { display: "flex", flexDirection: "column", gap: 24 }, children: [
970
- /* @__PURE__ */ r.jsxs("section", { children: [
971
- /* @__PURE__ */ r.jsx(tr, { children: "Wallet" }),
972
- o ? /* @__PURE__ */ r.jsx(at, { address: t }) : /* @__PURE__ */ r.jsx(ct, {})
973
- ] }),
974
- o && /* @__PURE__ */ r.jsxs("section", { children: [
975
- /* @__PURE__ */ r.jsx(tr, { children: "Network" }),
976
- /* @__PURE__ */ r.jsx(lt, { isOnGnosis: l, chainId: i })
977
- ] })
978
- ] });
979
- }
980
- function tr({ children: t }) {
981
- return /* @__PURE__ */ r.jsx("div", { style: {
982
- fontSize: 11,
983
- fontWeight: 700,
984
- textTransform: "uppercase",
985
- letterSpacing: "0.06em",
986
- color: a.colors.muted,
987
- marginBottom: 8
988
- }, children: t });
1102
+ function pt(n) {
1103
+ if (n)
1104
+ return n.shortMessage ?? n.message;
989
1105
  }
990
- function at({ address: t }) {
991
- const { disconnect: o } = zr();
992
- return /* @__PURE__ */ r.jsxs("div", { style: {
993
- display: "flex",
994
- alignItems: "center",
995
- justifyContent: "space-between",
996
- padding: "11px 14px",
997
- border: `1px solid ${a.colors.success}`,
998
- borderRadius: 8,
999
- background: a.colors.successLight
1000
- }, children: [
1001
- /* @__PURE__ */ r.jsxs("div", { children: [
1002
- /* @__PURE__ */ r.jsx("div", { style: { fontWeight: 600, color: a.colors.success, fontSize: 14 }, children: "Connected" }),
1003
- t && /* @__PURE__ */ r.jsx("div", { style: { fontFamily: "monospace", fontSize: 12, color: a.colors.muted, marginTop: 2 }, children: `${t.slice(0, 8)}…${t.slice(-6)}` })
1004
- ] }),
1005
- /* @__PURE__ */ r.jsx(
1006
- "button",
1007
- {
1008
- onClick: () => o(),
1009
- style: {
1010
- background: "none",
1011
- border: `1px solid ${a.colors.border}`,
1012
- borderRadius: 6,
1013
- padding: "5px 12px",
1014
- cursor: "pointer",
1015
- fontSize: 12,
1016
- color: a.colors.muted
1017
- },
1018
- children: "Disconnect"
1019
- }
1020
- )
1021
- ] });
1106
+ function In({ name: n, icon: r, pending: a, disabled: s, onClick: i }) {
1107
+ const [l, p] = T(!1);
1108
+ return /* @__PURE__ */ t.jsxs(
1109
+ "button",
1110
+ {
1111
+ onClick: i,
1112
+ disabled: s || a,
1113
+ onMouseEnter: () => p(!0),
1114
+ onMouseLeave: () => p(!1),
1115
+ style: {
1116
+ display: "flex",
1117
+ alignItems: "center",
1118
+ gap: 12,
1119
+ width: "100%",
1120
+ textAlign: "left",
1121
+ padding: "11px 13px",
1122
+ borderRadius: 8,
1123
+ cursor: s ? "default" : "pointer",
1124
+ opacity: s ? 0.45 : 1,
1125
+ border: `1px solid ${l && !s ? "var(--line-orange)" : "var(--line)"}`,
1126
+ background: l && !s ? "var(--raised-2)" : "var(--raised)",
1127
+ transition: "all .15s var(--ease)"
1128
+ },
1129
+ children: [
1130
+ /* @__PURE__ */ t.jsx("span", { style: {
1131
+ width: 30,
1132
+ height: 30,
1133
+ flexShrink: 0,
1134
+ borderRadius: 7,
1135
+ display: "inline-flex",
1136
+ alignItems: "center",
1137
+ justifyContent: "center",
1138
+ background: "var(--bunker)",
1139
+ border: "1px solid var(--line-2)",
1140
+ color: "var(--accent-bright)",
1141
+ overflow: "hidden",
1142
+ fontFamily: "var(--font-display)",
1143
+ fontWeight: 700,
1144
+ fontSize: 15
1145
+ }, children: r ? /* @__PURE__ */ t.jsx("img", { src: r, width: 30, height: 30, alt: "", style: { borderRadius: 7 } }) : n.charAt(0) }),
1146
+ /* @__PURE__ */ t.jsx("span", { style: { flex: 1, fontSize: 14, fontWeight: 500, color: "var(--fg)" }, children: n }),
1147
+ a ? /* @__PURE__ */ t.jsx(ce, { size: 14 }) : /* @__PURE__ */ t.jsx("span", { style: { fontFamily: "var(--font-mono)", fontSize: 16, color: l && !s ? "var(--accent)" : "var(--fg-faint)", transition: "color .15s" }, children: "→" })
1148
+ ]
1149
+ }
1150
+ );
1022
1151
  }
1023
- function ct() {
1024
- const { connectors: t, connect: o, isPending: i, error: l } = Ur();
1025
- return /* @__PURE__ */ r.jsxs("div", { style: { display: "flex", flexDirection: "column", gap: 8 }, children: [
1026
- t.map((f) => /* @__PURE__ */ r.jsxs(
1027
- "button",
1152
+ function Tn({ isConnected: n, address: r }) {
1153
+ const { connectors: a, connect: s, isPending: i, variables: l, error: p } = Xt(), { disconnect: h } = Qt();
1154
+ if (n)
1155
+ return /* @__PURE__ */ t.jsx(G, { tone: "ok", title: "Wallet connected", sub: r, children: /* @__PURE__ */ t.jsx(H, { onClick: () => h(), children: "disconnect" }) });
1156
+ const d = i && l != null && l.connector && "uid" in l.connector ? l.connector.uid : void 0;
1157
+ return /* @__PURE__ */ t.jsxs("div", { style: { display: "flex", flexDirection: "column", gap: 8 }, children: [
1158
+ a.map((o) => /* @__PURE__ */ t.jsx(
1159
+ In,
1028
1160
  {
1029
- onClick: () => o({ connector: f }),
1030
- disabled: i,
1031
- style: {
1032
- display: "flex",
1033
- alignItems: "center",
1034
- gap: 10,
1035
- padding: "11px 14px",
1036
- border: `1.5px solid ${a.colors.border}`,
1037
- borderRadius: 8,
1038
- cursor: i ? "not-allowed" : "pointer",
1039
- background: "#fff",
1040
- fontSize: 14,
1041
- fontWeight: 500,
1042
- color: a.colors.text,
1043
- opacity: i ? 0.6 : 1,
1044
- transition: "border-color 0.15s",
1045
- width: "100%"
1046
- },
1047
- onMouseOver: (p) => {
1048
- i || (p.currentTarget.style.borderColor = a.colors.primary);
1049
- },
1050
- onMouseOut: (p) => {
1051
- p.currentTarget.style.borderColor = a.colors.border;
1052
- },
1053
- children: [
1054
- f.icon ? /* @__PURE__ */ r.jsx("img", { src: f.icon, width: 20, height: 20, alt: "", style: { borderRadius: 4 } }) : /* @__PURE__ */ r.jsx("span", { style: { width: 20, textAlign: "center", fontSize: 16 }, children: "🔗" }),
1055
- f.name
1056
- ]
1161
+ name: o.name,
1162
+ icon: o.icon,
1163
+ pending: d === o.uid,
1164
+ disabled: i && d !== o.uid,
1165
+ onClick: () => s({ connector: o })
1057
1166
  },
1058
- f.uid
1167
+ o.uid
1059
1168
  )),
1060
- l && /* @__PURE__ */ r.jsx("div", { style: { fontSize: 12, color: a.colors.error, marginTop: 2 }, children: l.message })
1169
+ p && /* @__PURE__ */ t.jsx("div", { style: { fontSize: 12, color: "var(--bad)", fontFamily: "var(--font-mono)" }, children: p.message })
1170
+ ] });
1171
+ }
1172
+ function Fn({ locked: n, isOnGnosis: r, chainId: a }) {
1173
+ const { switchChain: s, isPending: i } = en();
1174
+ return n ? /* @__PURE__ */ t.jsx(ee, { children: "Connect a wallet to verify it is on the Gnosis chain." }) : r ? /* @__PURE__ */ t.jsx(G, { tone: "ok", title: "Gnosis chain", sub: `chain id ${U}`, children: /* @__PURE__ */ t.jsx(le, { tone: "ok", children: "synced" }) }) : /* @__PURE__ */ t.jsxs("div", { style: { display: "flex", flexDirection: "column", gap: 10 }, children: [
1175
+ /* @__PURE__ */ t.jsx(G, { tone: "warn", title: "Wrong network", sub: `chain ${a ?? "—"} active — Gnosis (${U}) required` }),
1176
+ /* @__PURE__ */ t.jsx(Oe, { onClick: () => s({ chainId: Pe.id }), pending: i, block: !0, children: i ? "switching…" : "switch to Gnosis" })
1061
1177
  ] });
1062
1178
  }
1063
- function lt({ isOnGnosis: t, chainId: o }) {
1064
- const { switchChain: i, isPending: l, error: f } = Mr();
1065
- return t ? /* @__PURE__ */ r.jsxs("div", { style: {
1179
+ function De({ symbol: n, role: r, amount: a, loading: s }) {
1180
+ const i = !s && a === 0, l = i ? "var(--warn)" : "var(--ok)", p = i ? "var(--warn-line)" : "var(--ok-line)", h = i ? "var(--warn-wash)" : "var(--ok-wash)";
1181
+ return /* @__PURE__ */ t.jsxs("div", { style: {
1066
1182
  display: "flex",
1067
1183
  alignItems: "center",
1068
1184
  gap: 12,
1069
- padding: "11px 14px",
1070
- border: `1px solid ${a.colors.success}`,
1185
+ padding: "12px 14px",
1186
+ border: `1px solid ${s ? "var(--line)" : p}`,
1071
1187
  borderRadius: 8,
1072
- background: a.colors.successLight
1188
+ background: s ? "var(--raised)" : h
1073
1189
  }, children: [
1074
- /* @__PURE__ */ r.jsx("span", { style: { color: a.colors.success, fontSize: 10, lineHeight: 1 }, children: "" }),
1075
- /* @__PURE__ */ r.jsxs("div", { children: [
1076
- /* @__PURE__ */ r.jsx("div", { style: { fontWeight: 600, color: a.colors.success, fontSize: 14 }, children: "Gnosis chain" }),
1077
- /* @__PURE__ */ r.jsxs("div", { style: { fontSize: 12, color: a.colors.muted }, children: [
1078
- "Chain ID ",
1079
- ae
1080
- ] })
1190
+ s ? /* @__PURE__ */ t.jsx(ce, { size: 14 }) : /* @__PURE__ */ t.jsx("span", { style: { width: 8, height: 8, flexShrink: 0, borderRadius: "50%", background: l, boxShadow: `0 0 8px ${l}`, animation: i ? "sc-pulse-dot 1.6s var(--ease) infinite" : "none" } }),
1191
+ /* @__PURE__ */ t.jsxs("div", { style: { minWidth: 0 }, children: [
1192
+ /* @__PURE__ */ t.jsx("div", { style: { fontWeight: 600, fontSize: 13.5, color: s ? "var(--fg-soft)" : l }, children: n }),
1193
+ /* @__PURE__ */ t.jsx("div", { style: { fontSize: 12, color: "var(--fg-muted)", marginTop: 2 }, children: r })
1194
+ ] }),
1195
+ /* @__PURE__ */ t.jsxs("div", { style: { marginLeft: "auto", display: "flex", alignItems: "center", gap: 10, flexShrink: 0 }, children: [
1196
+ !s && /* @__PURE__ */ t.jsx("span", { style: { fontFamily: "var(--font-mono)", fontSize: 13.5, fontWeight: 500, color: i ? "var(--warn)" : "var(--fg)" }, children: a.toLocaleString("en-US", { minimumFractionDigits: 2, maximumFractionDigits: 4 }) }),
1197
+ !s && /* @__PURE__ */ t.jsx(le, { tone: i ? "warn" : "ok", children: i ? "empty" : "ok" })
1081
1198
  ] })
1082
- ] }) : /* @__PURE__ */ r.jsxs("div", { style: { display: "flex", flexDirection: "column", gap: 8 }, children: [
1083
- /* @__PURE__ */ r.jsxs("div", { style: {
1199
+ ] });
1200
+ }
1201
+ function Pn({ locked: n, balance: r }) {
1202
+ if (n) return /* @__PURE__ */ t.jsx(ee, { children: "Switch to the Gnosis chain to read your wallet's xDAI balance." });
1203
+ const a = r.xdai ?? 0, s = !r.isLoading && a === 0;
1204
+ return /* @__PURE__ */ t.jsxs("div", { style: { display: "flex", flexDirection: "column", gap: 8 }, children: [
1205
+ /* @__PURE__ */ t.jsx(De, { symbol: "xDAI", role: "gas for transactions from this wallet", amount: a, loading: r.isLoading }),
1206
+ /* @__PURE__ */ t.jsx("div", { style: oe, children: "Your connected wallet signs and pays gas for its own transactions — separate from the wallet running your Bee node." }),
1207
+ s && /* @__PURE__ */ t.jsx(Oe, { onClick: () => window.open("https://www.gnosisfaucet.com", "_blank", "noopener"), block: !0, children: "get xDAI" })
1208
+ ] });
1209
+ }
1210
+ function Dn({ value: n, disabled: r, onSubmit: a }) {
1211
+ const [s, i] = T(n), [l, p] = T(!1);
1212
+ Q(() => {
1213
+ i(n);
1214
+ }, [n]);
1215
+ const h = s.trim().replace(/\/+$/, ""), d = h !== n && h.length > 0, o = () => {
1216
+ d && a(h);
1217
+ };
1218
+ return /* @__PURE__ */ t.jsxs("div", { style: { display: "flex", gap: 8 }, children: [
1219
+ /* @__PURE__ */ t.jsxs("div", { style: {
1220
+ flex: 1,
1221
+ minWidth: 0,
1084
1222
  display: "flex",
1085
1223
  alignItems: "center",
1086
- gap: 12,
1087
- padding: "11px 14px",
1088
- border: `1px solid ${a.colors.warning}`,
1089
- borderRadius: 8,
1090
- background: a.colors.warningLight
1224
+ gap: 8,
1225
+ padding: "0 12px",
1226
+ borderRadius: 6,
1227
+ border: `1px solid ${l ? "var(--line-orange)" : "var(--line-2)"}`,
1228
+ background: r ? "var(--bunker)" : "var(--surface)",
1229
+ boxShadow: l ? "0 0 0 3px var(--accent-wash)" : "none",
1230
+ transition: "all .15s var(--ease)"
1091
1231
  }, children: [
1092
- /* @__PURE__ */ r.jsx("span", { style: { color: a.colors.warning, fontSize: 10, lineHeight: 1 }, children: "" }),
1093
- /* @__PURE__ */ r.jsxs("div", { children: [
1094
- /* @__PURE__ */ r.jsx("div", { style: { fontWeight: 600, color: a.colors.warning, fontSize: 14 }, children: "Wrong network" }),
1095
- /* @__PURE__ */ r.jsxs("div", { style: { fontSize: 12, color: a.colors.muted }, children: [
1096
- "Chain ",
1097
- o ?? "—",
1098
- " active — Gnosis (",
1099
- ae,
1100
- ") required"
1101
- ] })
1102
- ] })
1232
+ /* @__PURE__ */ t.jsx("span", { style: { fontFamily: "var(--font-mono)", fontSize: 12, color: "var(--accent)" }, children: ">" }),
1233
+ /* @__PURE__ */ t.jsx(
1234
+ "input",
1235
+ {
1236
+ type: "url",
1237
+ value: s,
1238
+ disabled: r,
1239
+ spellCheck: !1,
1240
+ autoComplete: "off",
1241
+ onFocus: () => p(!0),
1242
+ onBlur: () => p(!1),
1243
+ onChange: (u) => i(u.target.value),
1244
+ onKeyDown: (u) => {
1245
+ u.key === "Enter" && o();
1246
+ },
1247
+ placeholder: "http://localhost:1633",
1248
+ style: {
1249
+ flex: 1,
1250
+ minWidth: 0,
1251
+ background: "transparent",
1252
+ border: "none",
1253
+ outline: "none",
1254
+ color: "var(--fg)",
1255
+ fontFamily: "var(--font-mono)",
1256
+ fontSize: 12.5,
1257
+ padding: "9px 0"
1258
+ }
1259
+ }
1260
+ )
1103
1261
  ] }),
1104
- /* @__PURE__ */ r.jsx(
1105
- "button",
1262
+ /* @__PURE__ */ t.jsx(H, { onClick: o, disabled: r || !d, children: "connect" })
1263
+ ] });
1264
+ }
1265
+ function An({ node: n, beeApiUrl: r }) {
1266
+ return n.isChecking ? /* @__PURE__ */ t.jsxs("div", { style: { display: "flex", alignItems: "center", gap: 12, padding: "12px 14px", border: "1px solid var(--line)", borderRadius: 8, background: "var(--raised)" }, children: [
1267
+ /* @__PURE__ */ t.jsx(ce, {}),
1268
+ /* @__PURE__ */ t.jsxs("span", { style: { color: "var(--fg-muted)", fontSize: 13, fontFamily: "var(--font-mono)" }, children: [
1269
+ "probing ",
1270
+ r,
1271
+ "…"
1272
+ ] })
1273
+ ] }) : n.isRunning ? /* @__PURE__ */ t.jsx(G, { tone: "ok", title: "Node online", sub: `bee ${n.version ?? "—"} · ${r}`, children: /* @__PURE__ */ t.jsx(le, { tone: "ok", children: "health ok" }) }) : /* @__PURE__ */ t.jsxs("div", { style: { display: "flex", flexDirection: "column", gap: 10 }, children: [
1274
+ /* @__PURE__ */ t.jsx(G, { tone: "bad", title: "Node unreachable", sub: n.error ?? `no /health response from ${r}` }),
1275
+ /* @__PURE__ */ t.jsxs("div", { style: { fontSize: 12, color: "var(--fg-muted)", display: "flex", alignItems: "center", gap: 6, flexWrap: "wrap" }, children: [
1276
+ /* @__PURE__ */ t.jsx("span", { children: "start one with" }),
1277
+ /* @__PURE__ */ t.jsx("code", { style: { fontFamily: "var(--font-mono)", fontSize: 11.5, background: "var(--bunker)", border: "1px solid var(--line)", color: "var(--accent-bright)", padding: "2px 7px", borderRadius: 3 }, children: "bee start" }),
1278
+ /* @__PURE__ */ t.jsx(H, { onClick: n.check, children: "retry" })
1279
+ ] })
1280
+ ] });
1281
+ }
1282
+ function vt({ symbol: n, value: r, onChange: a, onSend: s, pending: i, confirming: l, done: p, disabled: h }) {
1283
+ const d = i || l;
1284
+ return /* @__PURE__ */ t.jsxs("div", { style: { display: "flex", gap: 8, alignItems: "center" }, children: [
1285
+ /* @__PURE__ */ t.jsxs("div", { style: {
1286
+ flex: 1,
1287
+ minWidth: 0,
1288
+ display: "flex",
1289
+ alignItems: "center",
1290
+ gap: 8,
1291
+ padding: "0 12px",
1292
+ borderRadius: 6,
1293
+ border: "1px solid var(--line-2)",
1294
+ background: d || h ? "var(--bunker)" : "var(--surface)"
1295
+ }, children: [
1296
+ /* @__PURE__ */ t.jsx(
1297
+ "input",
1298
+ {
1299
+ inputMode: "decimal",
1300
+ value: r,
1301
+ disabled: d || h,
1302
+ spellCheck: !1,
1303
+ onChange: (o) => a(o.target.value),
1304
+ style: {
1305
+ flex: 1,
1306
+ minWidth: 0,
1307
+ background: "transparent",
1308
+ border: "none",
1309
+ outline: "none",
1310
+ color: "var(--fg)",
1311
+ fontFamily: "var(--font-mono)",
1312
+ fontSize: 12.5,
1313
+ padding: "8px 0"
1314
+ }
1315
+ }
1316
+ ),
1317
+ /* @__PURE__ */ t.jsx("span", { style: { fontFamily: "var(--font-mono)", fontSize: 11, color: "var(--fg-muted)", flexShrink: 0 }, children: n })
1318
+ ] }),
1319
+ p ? /* @__PURE__ */ t.jsx(le, { tone: "ok", children: "sent" }) : /* @__PURE__ */ t.jsx(H, { onClick: s, disabled: d || h || !r.trim(), children: i ? "sign…" : l ? "mining…" : `send ${n.toLowerCase()}` })
1320
+ ] });
1321
+ }
1322
+ function On({ to: n, onSettled: r }) {
1323
+ const [a, s] = T(gn), [i, l] = T(mn), { address: p } = Ae(), h = tn(), d = nn(), o = it({ hash: h.data }), u = it({ hash: d.data });
1324
+ Q(() => {
1325
+ o.isSuccess && r();
1326
+ }, [o.isSuccess]), Q(() => {
1327
+ u.isSuccess && r();
1328
+ }, [u.isSuccess]);
1329
+ const v = rn({
1330
+ abi: st,
1331
+ address: ft,
1332
+ functionName: "balanceOf",
1333
+ args: p ? [p] : void 0,
1334
+ chainId: U,
1335
+ query: { enabled: !!p }
1336
+ }), g = v.data !== void 0 ? Number(v.data) / 10 ** Fe : void 0, b = (g ?? 0) > 0, E = () => {
1337
+ const S = gt(() => cn(a.trim()));
1338
+ S !== void 0 && h.sendTransaction({ to: n, value: S, chainId: U });
1339
+ }, _ = () => {
1340
+ const S = gt(() => ln(i.trim(), Fe));
1341
+ S !== void 0 && d.writeContract({
1342
+ abi: st,
1343
+ address: ft,
1344
+ functionName: "transfer",
1345
+ args: [n, S],
1346
+ chainId: U
1347
+ });
1348
+ }, A = pt(h.error) ?? pt(d.error);
1349
+ return /* @__PURE__ */ t.jsxs("div", { style: { display: "flex", flexDirection: "column", gap: 8 }, children: [
1350
+ /* @__PURE__ */ t.jsx("div", { style: oe, children: "One-time top-up — sent from your connected wallet to the node wallet:" }),
1351
+ /* @__PURE__ */ t.jsx(
1352
+ vt,
1106
1353
  {
1107
- onClick: () => i({ chainId: je.id }),
1108
- disabled: l,
1109
- style: {
1110
- background: a.colors.primary,
1111
- color: "#fff",
1112
- border: "none",
1113
- borderRadius: 6,
1114
- padding: "9px 20px",
1115
- cursor: l ? "not-allowed" : "pointer",
1116
- fontSize: 14,
1117
- fontWeight: 500,
1118
- opacity: l ? 0.7 : 1,
1119
- alignSelf: "flex-start"
1120
- },
1121
- children: l ? "Switching…" : "Switch to Gnosis"
1354
+ symbol: "xDAI",
1355
+ value: a,
1356
+ onChange: s,
1357
+ onSend: E,
1358
+ pending: h.isPending,
1359
+ confirming: o.isLoading && !!h.data,
1360
+ done: o.isSuccess,
1361
+ disabled: !1
1122
1362
  }
1123
1363
  ),
1124
- f && /* @__PURE__ */ r.jsx("div", { style: { fontSize: 12, color: a.colors.error }, children: f.message })
1364
+ /* @__PURE__ */ t.jsx(
1365
+ vt,
1366
+ {
1367
+ symbol: "xBZZ",
1368
+ value: i,
1369
+ onChange: l,
1370
+ onSend: _,
1371
+ pending: d.isPending,
1372
+ confirming: u.isLoading && !!d.data,
1373
+ done: u.isSuccess,
1374
+ disabled: !b
1375
+ }
1376
+ ),
1377
+ g !== void 0 && /* @__PURE__ */ t.jsxs("div", { style: { ...oe, display: "flex", alignItems: "center", gap: 8, flexWrap: "wrap" }, children: [
1378
+ /* @__PURE__ */ t.jsxs("span", { children: [
1379
+ "your wallet holds",
1380
+ " ",
1381
+ /* @__PURE__ */ t.jsxs("span", { style: { fontFamily: "var(--font-mono)", color: b ? "var(--fg-soft)" : "var(--warn)" }, children: [
1382
+ g.toLocaleString("en-US", { maximumFractionDigits: 4 }),
1383
+ " xBZZ"
1384
+ ] })
1385
+ ] }),
1386
+ !b && /* @__PURE__ */ t.jsx(H, { onClick: () => window.open("https://www.ethswarm.org/get-bzz", "_blank", "noopener"), children: "get xBZZ" })
1387
+ ] }),
1388
+ A && /* @__PURE__ */ t.jsx("div", { style: { fontSize: 12, color: "var(--bad)", fontFamily: "var(--font-mono)" }, children: A })
1125
1389
  ] });
1126
1390
  }
1127
- function ut({ onClose: t, beeNode: o, stamps: i, beeApiUrl: l, setBeeApiUrl: f }) {
1128
- const [p, g] = L("swarm");
1129
- return /* @__PURE__ */ r.jsxs(r.Fragment, { children: [
1130
- /* @__PURE__ */ r.jsx("style", { children: `
1131
- @keyframes spin { to { transform: rotate(360deg); } }
1132
- @keyframes scIn {
1133
- from { opacity: 0; transform: translate(-50%, -48%) scale(0.97); }
1134
- to { opacity: 1; transform: translate(-50%, -50%) scale(1); }
1135
- }
1136
- ` }),
1137
- /* @__PURE__ */ r.jsx(
1138
- "div",
1391
+ function gt(n) {
1392
+ try {
1393
+ return n();
1394
+ } catch {
1395
+ return;
1396
+ }
1397
+ }
1398
+ function $n({ locked: n, nodeWallet: r }) {
1399
+ if (n) return /* @__PURE__ */ t.jsx(ee, { children: "Bring your Bee node online to read its wallet." });
1400
+ if (r.error)
1401
+ return /* @__PURE__ */ t.jsxs("div", { style: { display: "flex", flexDirection: "column", gap: 10 }, children: [
1402
+ /* @__PURE__ */ t.jsx(G, { tone: "bad", title: "Could not read node wallet", sub: r.error }),
1403
+ /* @__PURE__ */ t.jsx(H, { onClick: r.refresh, children: "retry" })
1404
+ ] });
1405
+ const a = r.isLoading && r.xdai === void 0;
1406
+ return /* @__PURE__ */ t.jsxs("div", { style: { display: "flex", flexDirection: "column", gap: 8 }, children: [
1407
+ /* @__PURE__ */ t.jsx(De, { symbol: "xDAI", role: "gas for the node's own transactions", amount: r.xdai ?? 0, loading: a }),
1408
+ /* @__PURE__ */ t.jsx(De, { symbol: "xBZZ", role: "pays for postage stamps", amount: r.xbzz ?? 0, loading: a }),
1409
+ /* @__PURE__ */ t.jsxs("div", { style: oe, children: [
1410
+ "The Bee node has its own wallet",
1411
+ r.address && /* @__PURE__ */ t.jsxs(t.Fragment, { children: [
1412
+ " ",
1413
+ /* @__PURE__ */ t.jsxs("span", { style: { fontFamily: "var(--font-mono)", color: "var(--fg-soft)" }, children: [
1414
+ r.address.slice(0, 8),
1415
+ "…",
1416
+ r.address.slice(-6)
1417
+ ] })
1418
+ ] }),
1419
+ " ",
1420
+ "— it buys and renews postage stamps on chain."
1421
+ ] }),
1422
+ !r.isFunded && r.address && /* @__PURE__ */ t.jsx(On, { to: r.address, onSettled: r.refresh })
1423
+ ] });
1424
+ }
1425
+ function zn({ stamp: n, selected: r, onSelect: a }) {
1426
+ const [s, i] = T(!1), l = Math.floor(n.batchTTL / 86400), p = `${n.batchID.slice(0, 8)}…${n.batchID.slice(-6)}`, h = r || s;
1427
+ return /* @__PURE__ */ t.jsxs(
1428
+ "button",
1429
+ {
1430
+ onClick: a,
1431
+ onMouseEnter: () => i(!0),
1432
+ onMouseLeave: () => i(!1),
1433
+ style: {
1434
+ display: "flex",
1435
+ alignItems: "center",
1436
+ gap: 12,
1437
+ width: "100%",
1438
+ textAlign: "left",
1439
+ padding: "12px 14px",
1440
+ borderRadius: 8,
1441
+ cursor: "pointer",
1442
+ border: `1px solid ${r ? "var(--ok-line)" : h ? "var(--line-2)" : "var(--line)"}`,
1443
+ background: r ? "var(--ok-wash)" : "var(--raised)",
1444
+ boxShadow: r ? "0 0 0 1px var(--ok-line), 0 0 18px var(--ok-wash)" : "none",
1445
+ transition: "all .15s var(--ease)"
1446
+ },
1447
+ children: [
1448
+ /* @__PURE__ */ t.jsx("span", { style: {
1449
+ width: 8,
1450
+ height: 8,
1451
+ flexShrink: 0,
1452
+ borderRadius: "50%",
1453
+ background: r ? "var(--ok)" : "var(--line-2)",
1454
+ boxShadow: r ? "0 0 8px var(--ok)" : "none",
1455
+ transition: "all .15s var(--ease)"
1456
+ } }),
1457
+ /* @__PURE__ */ t.jsxs("div", { style: { minWidth: 0, flex: 1 }, children: [
1458
+ /* @__PURE__ */ t.jsx("div", { style: { fontFamily: "var(--font-mono)", fontSize: 12.5, color: "var(--fg)" }, children: p }),
1459
+ /* @__PURE__ */ t.jsxs("div", { style: { fontSize: 11.5, color: "var(--fg-muted)", marginTop: 3, display: "flex", gap: 8 }, children: [
1460
+ n.label && /* @__PURE__ */ t.jsxs(t.Fragment, { children: [
1461
+ /* @__PURE__ */ t.jsx("span", { children: n.label }),
1462
+ /* @__PURE__ */ t.jsx("span", { style: { color: "var(--fg-faint)" }, children: "·" })
1463
+ ] }),
1464
+ /* @__PURE__ */ t.jsxs("span", { children: [
1465
+ "depth ",
1466
+ n.depth
1467
+ ] })
1468
+ ] })
1469
+ ] }),
1470
+ /* @__PURE__ */ t.jsxs("div", { style: { display: "flex", alignItems: "center", gap: 8, flexShrink: 0 }, children: [
1471
+ /* @__PURE__ */ t.jsx("span", { style: { fontFamily: "var(--font-mono)", fontSize: 11, color: l > 30 ? "var(--fg-muted)" : "var(--warn)" }, children: l > 0 ? `${l}d ttl` : "expiring" }),
1472
+ /* @__PURE__ */ t.jsx(le, { tone: n.usable ? "ok" : "bad", children: n.usable ? "usable" : "unusable" })
1473
+ ] })
1474
+ ]
1475
+ }
1476
+ );
1477
+ }
1478
+ function Ie({ label: n, value: r, onChange: a, placeholder: s, width: i }) {
1479
+ return /* @__PURE__ */ t.jsxs("label", { style: { display: "flex", flexDirection: "column", gap: 4, flex: i ? `0 0 ${i}px` : 1, minWidth: 0 }, children: [
1480
+ /* @__PURE__ */ t.jsx("span", { style: { fontFamily: "var(--font-mono)", fontSize: 9.5, letterSpacing: ".1em", textTransform: "uppercase", color: "var(--fg-faint)" }, children: n }),
1481
+ /* @__PURE__ */ t.jsx(
1482
+ "input",
1139
1483
  {
1140
- onClick: t,
1484
+ value: r,
1485
+ placeholder: s,
1486
+ spellCheck: !1,
1487
+ autoComplete: "off",
1488
+ onChange: (l) => a(l.target.value),
1141
1489
  style: {
1142
- position: "fixed",
1143
- inset: 0,
1144
- background: a.colors.overlay,
1145
- zIndex: 9998
1490
+ minWidth: 0,
1491
+ background: "var(--surface)",
1492
+ border: "1px solid var(--line-2)",
1493
+ borderRadius: 6,
1494
+ outline: "none",
1495
+ color: "var(--fg)",
1496
+ fontFamily: "var(--font-mono)",
1497
+ fontSize: 12,
1498
+ padding: "8px 10px"
1146
1499
  }
1147
1500
  }
1501
+ )
1502
+ ] });
1503
+ }
1504
+ function Ln({ stamps: n }) {
1505
+ const [r, a] = T(""), [s, i] = T(String(xn)), [l, p] = T(bn);
1506
+ if (n.isCreating)
1507
+ return /* @__PURE__ */ t.jsxs("div", { style: { display: "flex", alignItems: "center", gap: 12, padding: "12px 14px", border: "1px solid var(--line)", borderRadius: 8, background: "var(--raised)" }, children: [
1508
+ /* @__PURE__ */ t.jsx(ce, {}),
1509
+ /* @__PURE__ */ t.jsx("span", { style: { color: "var(--fg-muted)", fontSize: 13, fontFamily: "var(--font-mono)" }, children: "buying stamp — waiting for the on-chain batch…" })
1510
+ ] });
1511
+ const h = Number(s), d = Number.isInteger(h) && h >= 17 && /^\d+$/.test(l.trim());
1512
+ return /* @__PURE__ */ t.jsxs("div", { style: { display: "flex", flexDirection: "column", gap: 8, padding: "12px 14px", border: "1px dashed var(--line-2)", borderRadius: 8, background: "var(--bunker)" }, children: [
1513
+ /* @__PURE__ */ t.jsxs("div", { style: { display: "flex", gap: 8 }, children: [
1514
+ /* @__PURE__ */ t.jsx(Ie, { label: "label", value: r, onChange: a, placeholder: "optional" }),
1515
+ /* @__PURE__ */ t.jsx(Ie, { label: "depth", value: s, onChange: i, width: 64 }),
1516
+ /* @__PURE__ */ t.jsx(Ie, { label: "amount (plur)", value: l, onChange: p, width: 120 })
1517
+ ] }),
1518
+ /* @__PURE__ */ t.jsx("div", { style: oe, children: "Cost ≈ 2^depth × amount PLUR, paid in xBZZ from the node wallet. Higher amount → longer stamp lifetime." }),
1519
+ /* @__PURE__ */ t.jsx(
1520
+ Oe,
1521
+ {
1522
+ block: !0,
1523
+ onClick: () => d && n.createStamp({ amount: l.trim(), depth: h, label: r.trim() || void 0 }),
1524
+ style: d ? void 0 : { opacity: 0.5, cursor: "default" },
1525
+ children: "buy stamp"
1526
+ }
1148
1527
  ),
1149
- /* @__PURE__ */ r.jsxs("div", { style: {
1528
+ n.createError && /* @__PURE__ */ t.jsx("div", { style: { fontSize: 12, color: "var(--bad)", fontFamily: "var(--font-mono)" }, children: n.createError })
1529
+ ] });
1530
+ }
1531
+ function Wn({ stamps: n, locked: r, lockedHint: a, canCreate: s }) {
1532
+ return r ? /* @__PURE__ */ t.jsx(ee, { children: a }) : n.isLoading ? /* @__PURE__ */ t.jsxs("div", { style: { display: "flex", alignItems: "center", gap: 12, padding: "12px 14px", border: "1px solid var(--line)", borderRadius: 8, background: "var(--raised)" }, children: [
1533
+ /* @__PURE__ */ t.jsx(ce, {}),
1534
+ /* @__PURE__ */ t.jsx("span", { style: { color: "var(--fg-muted)", fontSize: 13, fontFamily: "var(--font-mono)" }, children: "reading /stamps…" })
1535
+ ] }) : n.error ? /* @__PURE__ */ t.jsxs("div", { style: { display: "flex", flexDirection: "column", gap: 10 }, children: [
1536
+ /* @__PURE__ */ t.jsx(G, { tone: "bad", title: "Could not read stamps", sub: n.error }),
1537
+ /* @__PURE__ */ t.jsx(H, { onClick: n.fetchStamps, children: "retry" })
1538
+ ] }) : /* @__PURE__ */ t.jsxs("div", { style: { display: "flex", flexDirection: "column", gap: 8 }, children: [
1539
+ n.stamps.length === 0 && !s && /* @__PURE__ */ t.jsx(ee, { children: "No postage stamps on this node — buy one via the Bee API to continue." }),
1540
+ n.stamps.map((i) => /* @__PURE__ */ t.jsx(
1541
+ zn,
1542
+ {
1543
+ stamp: i,
1544
+ selected: n.selectedStampId === i.batchID,
1545
+ onSelect: () => n.selectStamp(i.batchID)
1546
+ },
1547
+ i.batchID
1548
+ )),
1549
+ s && /* @__PURE__ */ t.jsx(Ln, { stamps: n })
1550
+ ] });
1551
+ }
1552
+ const oe = {
1553
+ fontSize: 11.5,
1554
+ color: "var(--fg-faint)",
1555
+ lineHeight: 1.5,
1556
+ paddingLeft: 2
1557
+ };
1558
+ function Bn({
1559
+ onClose: n,
1560
+ beeNode: r,
1561
+ stamps: a,
1562
+ beeApiUrl: s,
1563
+ setBeeApiUrl: i,
1564
+ stampMode: l = "select",
1565
+ nodeWallet: p
1566
+ }) {
1567
+ kt();
1568
+ const h = l === "create", { address: d, isConnected: o } = Ae(), u = xt(), v = u === U, { data: g, isLoading: b } = bt({
1569
+ address: d,
1570
+ chainId: U,
1571
+ query: { enabled: o }
1572
+ }), E = g ? Number(g.formatted) : void 0, _ = v && !!g && g.value > 0n, A = { xdai: E, isLoading: o && b, hasGas: _ }, S = wt(s), w = p ?? S;
1573
+ Q(() => {
1574
+ r.check();
1575
+ }, [s]), Q(() => {
1576
+ r.isRunning && (a.fetchStamps(), h && w.refresh());
1577
+ }, [r.isRunning]);
1578
+ const I = o ? "done" : "active", C = o ? v ? "done" : "active" : "locked", k = v ? _ ? "done" : "active" : "locked", D = _ ? r.isRunning ? "done" : "active" : "locked", W = D !== "done" ? "locked" : w.isFunded ? "done" : "active", V = h ? W === "done" : D === "done", B = V ? a.selectedStampId ? "done" : "active" : "locked", be = h ? 6 : 5, Y = B === "done", de = [
1579
+ o,
1580
+ v,
1581
+ _,
1582
+ r.isRunning,
1583
+ ...h ? [w.isFunded] : [],
1584
+ !!a.selectedStampId
1585
+ ], M = h ? "wallet · chain · gas · node · fund · stamp" : "wallet · chain · gas · node · stamp";
1586
+ return /* @__PURE__ */ t.jsxs(t.Fragment, { children: [
1587
+ /* @__PURE__ */ t.jsx("div", { className: "swarm-connect", onClick: n, style: {
1588
+ position: "fixed",
1589
+ inset: 0,
1590
+ zIndex: 9998,
1591
+ background: "rgba(4,6,8,0.72)",
1592
+ backdropFilter: "blur(6px)",
1593
+ WebkitBackdropFilter: "blur(6px)",
1594
+ animation: "sc-backdrop-in .2s var(--ease)"
1595
+ } }),
1596
+ /* @__PURE__ */ t.jsxs("div", { className: "swarm-connect", role: "dialog", "aria-label": "Connect to Swarm", style: {
1150
1597
  position: "fixed",
1151
1598
  top: "50%",
1152
1599
  left: "50%",
1600
+ transform: "translate(-50%, -50%)",
1153
1601
  zIndex: 9999,
1154
- background: "#fff",
1155
- borderRadius: 16,
1156
- boxShadow: "0 24px 64px rgba(0,0,0,0.18)",
1157
- width: 460,
1158
- maxWidth: "calc(100vw - 32px)",
1159
- animation: "scIn 0.2s ease forwards",
1602
+ width: 440,
1603
+ maxWidth: "calc(100vw - 28px)",
1604
+ background: "var(--surface)",
1605
+ borderRadius: 14,
1606
+ border: "1px solid var(--line-2)",
1607
+ boxShadow: "0 32px 80px rgba(0,0,0,.6), 0 0 0 1px rgba(255,107,0,.08), 0 0 60px rgba(255,107,0,.08)",
1160
1608
  overflow: "hidden",
1161
- fontFamily: '-apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif'
1609
+ animation: "sc-modal-in .26s var(--ease) forwards",
1610
+ fontFamily: "var(--font-body)"
1162
1611
  }, children: [
1163
- /* @__PURE__ */ r.jsxs("div", { style: {
1164
- padding: "18px 20px 0",
1165
- display: "flex",
1166
- justifyContent: "space-between",
1167
- alignItems: "center"
1168
- }, children: [
1169
- /* @__PURE__ */ r.jsxs("div", { style: { display: "flex", alignItems: "center", gap: 8 }, children: [
1170
- /* @__PURE__ */ r.jsx("span", { style: { fontSize: 20 }, children: "🐝" }),
1171
- /* @__PURE__ */ r.jsx("span", { style: { fontWeight: 700, fontSize: 16, color: a.colors.text }, children: "Swarm Connect" })
1612
+ /* @__PURE__ */ t.jsxs("div", { style: { position: "relative", padding: "18px 20px 16px", borderBottom: "1px solid var(--line)", overflow: "hidden" }, children: [
1613
+ /* @__PURE__ */ t.jsx("div", { style: { position: "absolute", inset: 0, pointerEvents: "none", background: "radial-gradient(ellipse 60% 140% at 88% 0%, var(--accent-wash), transparent 70%)" } }),
1614
+ /* @__PURE__ */ t.jsxs("div", { style: { position: "relative", display: "flex", alignItems: "center", justifyContent: "space-between" }, children: [
1615
+ /* @__PURE__ */ t.jsxs("div", { style: { display: "flex", alignItems: "center", gap: 11 }, children: [
1616
+ /* @__PURE__ */ t.jsx(Rn, { size: 30 }),
1617
+ /* @__PURE__ */ t.jsxs("div", { children: [
1618
+ /* @__PURE__ */ t.jsx("div", { style: { fontFamily: "var(--font-display)", fontWeight: 600, fontSize: 16, color: "var(--fg)", lineHeight: 1.1 }, children: "Connect to Swarm" }),
1619
+ /* @__PURE__ */ t.jsxs("div", { style: { fontFamily: "var(--font-mono)", fontSize: 10, letterSpacing: ".12em", color: "var(--fg-muted)", marginTop: 3 }, children: [
1620
+ "// ",
1621
+ Y ? "ready" : M
1622
+ ] })
1623
+ ] })
1624
+ ] }),
1625
+ /* @__PURE__ */ t.jsx(
1626
+ "button",
1627
+ {
1628
+ onClick: n,
1629
+ "aria-label": "Close",
1630
+ style: {
1631
+ background: "transparent",
1632
+ border: "1px solid var(--line)",
1633
+ color: "var(--fg-muted)",
1634
+ width: 30,
1635
+ height: 30,
1636
+ borderRadius: 6,
1637
+ cursor: "pointer",
1638
+ fontSize: 18,
1639
+ lineHeight: 1,
1640
+ display: "inline-flex",
1641
+ alignItems: "center",
1642
+ justifyContent: "center",
1643
+ transition: "all .15s"
1644
+ },
1645
+ onMouseEnter: (z) => {
1646
+ z.currentTarget.style.borderColor = "var(--line-orange)", z.currentTarget.style.color = "var(--accent-bright)";
1647
+ },
1648
+ onMouseLeave: (z) => {
1649
+ z.currentTarget.style.borderColor = "var(--line)", z.currentTarget.style.color = "var(--fg-muted)";
1650
+ },
1651
+ children: "×"
1652
+ }
1653
+ )
1654
+ ] })
1655
+ ] }),
1656
+ /* @__PURE__ */ t.jsxs("div", { className: "sc-scroll", style: { padding: 20, display: "flex", flexDirection: "column", gap: 24, maxHeight: "62vh", overflowY: "auto" }, children: [
1657
+ /* @__PURE__ */ t.jsxs("section", { style: { animation: "sc-step-in .3s var(--ease)" }, children: [
1658
+ /* @__PURE__ */ t.jsx(J, { step: 1, state: I, hint: o ? "linked" : null, children: "Wallet" }),
1659
+ /* @__PURE__ */ t.jsx(Tn, { isConnected: o, address: d })
1172
1660
  ] }),
1173
- /* @__PURE__ */ r.jsx(
1174
- "button",
1175
- {
1176
- onClick: t,
1177
- "aria-label": "Close",
1178
- style: {
1179
- background: "none",
1180
- border: "none",
1181
- cursor: "pointer",
1182
- color: a.colors.muted,
1183
- fontSize: 22,
1184
- lineHeight: 1,
1185
- padding: "0 2px",
1186
- borderRadius: 4
1187
- },
1188
- children: "×"
1189
- }
1190
- )
1661
+ /* @__PURE__ */ t.jsxs("section", { style: { opacity: C === "locked" ? 0.55 : 1, transition: "opacity .3s var(--ease)" }, children: [
1662
+ /* @__PURE__ */ t.jsx(J, { step: 2, state: C, hint: o ? v ? "gnosis" : "wrong net" : null, children: "Network chain" }),
1663
+ /* @__PURE__ */ t.jsx(Fn, { locked: C === "locked", isOnGnosis: v, chainId: u })
1664
+ ] }),
1665
+ /* @__PURE__ */ t.jsxs("section", { style: { opacity: k === "locked" ? 0.55 : 1, transition: "opacity .3s var(--ease)" }, children: [
1666
+ /* @__PURE__ */ t.jsx(J, { step: 3, state: k, hint: v ? _ ? "funded" : "low" : null, children: "Balance" }),
1667
+ /* @__PURE__ */ t.jsx(Pn, { locked: k === "locked", balance: A })
1668
+ ] }),
1669
+ /* @__PURE__ */ t.jsxs("section", { style: { opacity: D === "locked" ? 0.55 : 1, transition: "opacity .3s var(--ease)" }, children: [
1670
+ /* @__PURE__ */ t.jsx(J, { step: 4, state: D, hint: r.isRunning ? r.version : null, children: "Bee node" }),
1671
+ D === "locked" ? /* @__PURE__ */ t.jsx(ee, { children: "Top up xDAI gas to unlock the Bee node connection." }) : /* @__PURE__ */ t.jsxs("div", { style: { display: "flex", flexDirection: "column", gap: 10 }, children: [
1672
+ /* @__PURE__ */ t.jsx(Dn, { value: s, disabled: r.isChecking, onSubmit: i }),
1673
+ /* @__PURE__ */ t.jsx(An, { node: r, beeApiUrl: s })
1674
+ ] })
1675
+ ] }),
1676
+ h && /* @__PURE__ */ t.jsxs("section", { style: { opacity: W === "locked" ? 0.55 : 1, transition: "opacity .3s var(--ease)" }, children: [
1677
+ /* @__PURE__ */ t.jsx(
1678
+ J,
1679
+ {
1680
+ step: 5,
1681
+ state: W,
1682
+ hint: W === "locked" ? null : w.isFunded ? "funded" : "top up",
1683
+ children: "Node wallet"
1684
+ }
1685
+ ),
1686
+ /* @__PURE__ */ t.jsx($n, { locked: W === "locked", nodeWallet: w })
1687
+ ] }),
1688
+ /* @__PURE__ */ t.jsxs("section", { style: { opacity: B === "locked" ? 0.55 : 1, transition: "opacity .3s var(--ease)" }, children: [
1689
+ /* @__PURE__ */ t.jsx(
1690
+ J,
1691
+ {
1692
+ step: be,
1693
+ state: B,
1694
+ hint: a.selectedStampId ? "1 selected" : V ? `${a.stamps.length} found` : null,
1695
+ children: "Postage stamp"
1696
+ }
1697
+ ),
1698
+ /* @__PURE__ */ t.jsx(
1699
+ Wn,
1700
+ {
1701
+ stamps: a,
1702
+ locked: B === "locked",
1703
+ canCreate: h,
1704
+ lockedHint: h ? "Fund the node wallet to manage postage stamps." : "Bring a node online to load its postage stamps."
1705
+ }
1706
+ )
1707
+ ] })
1191
1708
  ] }),
1192
- /* @__PURE__ */ r.jsx("div", { style: {
1709
+ /* @__PURE__ */ t.jsxs("div", { style: {
1710
+ padding: "12px 20px",
1711
+ borderTop: "1px solid var(--line)",
1193
1712
  display: "flex",
1194
- margin: "14px 20px 0",
1195
- borderBottom: `1px solid ${a.colors.border}`
1196
- }, children: ["swarm", "wallet"].map((y) => {
1197
- const u = p === y;
1198
- return /* @__PURE__ */ r.jsx(
1199
- "button",
1200
- {
1201
- onClick: () => g(y),
1202
- style: {
1203
- background: "none",
1204
- border: "none",
1205
- cursor: "pointer",
1206
- padding: "8px 18px 10px",
1207
- fontSize: 14,
1208
- fontWeight: u ? 600 : 400,
1209
- color: u ? a.colors.primary : a.colors.muted,
1210
- borderBottom: `2px solid ${u ? a.colors.primary : "transparent"}`,
1211
- marginBottom: -1,
1212
- transition: "all 0.15s"
1213
- },
1214
- children: y === "swarm" ? "🐝 Swarm" : "🦊 Wallet"
1215
- },
1216
- y
1217
- );
1218
- }) }),
1219
- /* @__PURE__ */ r.jsxs("div", { style: { padding: "20px", minHeight: 260, maxHeight: "60vh", overflowY: "auto" }, children: [
1220
- p === "swarm" && /* @__PURE__ */ r.jsx(et, { beeApiUrl: l, setBeeApiUrl: f, beeNode: o, stamps: i }),
1221
- p === "wallet" && /* @__PURE__ */ r.jsx(st, {})
1713
+ alignItems: "center",
1714
+ justifyContent: "space-between",
1715
+ background: Y ? "var(--accent-wash)" : "var(--bunker)",
1716
+ transition: "background .3s"
1717
+ }, children: [
1718
+ /* @__PURE__ */ t.jsx("span", { style: { fontFamily: "var(--font-mono)", fontSize: 11, letterSpacing: ".06em", color: Y ? "var(--accent-bright)" : "var(--fg-muted)" }, children: Y ? "// fully connected — ready to upload" : "// gated · each step unlocks the next" }),
1719
+ Y ? /* @__PURE__ */ t.jsxs("span", { style: { display: "inline-flex", gap: 4, alignItems: "center", color: "var(--ok)", fontSize: 12, fontFamily: "var(--font-mono)" }, children: [
1720
+ /* @__PURE__ */ t.jsx("span", { style: { width: 7, height: 7, borderRadius: "50%", background: "var(--ok)", boxShadow: "0 0 8px var(--ok)" } }),
1721
+ "done"
1722
+ ] }) : /* @__PURE__ */ t.jsx(_n, { states: de })
1222
1723
  ] })
1223
1724
  ] })
1224
1725
  ] });
1225
1726
  }
1226
- function wt({ beeApiUrl: t = le, label: o }) {
1227
- const [i, l] = L(!1), {
1228
- beeNode: f,
1229
- stamps: p,
1230
- beeApiUrl: g,
1231
- setBeeApiUrl: y,
1232
- isWalletConnected: u,
1233
- address: s,
1234
- isOnGnosis: d,
1235
- isFullyConnected: v
1236
- } = Zr({ beeApiUrl: t }), x = o ?? (v ? s ? `${s.slice(0, 6)}…${s.slice(-4)}` : "Connected" : "Connect to Swarm");
1237
- return /* @__PURE__ */ r.jsxs(r.Fragment, { children: [
1238
- /* @__PURE__ */ r.jsxs(
1727
+ function Xn({ beeApiUrl: n = se, stampMode: r, label: a }) {
1728
+ kt();
1729
+ const [s, i] = T(!1), l = jn({ beeApiUrl: n, stampMode: r }), { beeApiUrl: p, setBeeApiUrl: h, beeNode: d, stamps: o, nodeWallet: u, isFullyConnected: v, address: g } = l, [b, E] = T(!1), _ = a ?? (v && g ? `${g.slice(0, 6)}…${g.slice(-4)}` : "Connect to Swarm");
1730
+ return /* @__PURE__ */ t.jsxs(t.Fragment, { children: [
1731
+ /* @__PURE__ */ t.jsxs(
1239
1732
  "button",
1240
1733
  {
1241
- onClick: () => l(!0),
1734
+ className: "swarm-connect",
1735
+ onClick: () => i(!0),
1736
+ onMouseEnter: () => E(!0),
1737
+ onMouseLeave: () => E(!1),
1242
1738
  style: {
1243
1739
  display: "inline-flex",
1244
1740
  alignItems: "center",
1245
- gap: 8,
1246
- background: v ? a.colors.successLight : a.colors.primary,
1247
- color: v ? a.colors.success : "#fff",
1248
- border: v ? `1.5px solid ${a.colors.success}` : "none",
1249
- borderRadius: 8,
1250
- padding: "10px 18px",
1251
- cursor: "pointer",
1252
- fontSize: 15,
1741
+ gap: 10,
1742
+ fontFamily: "var(--font-mono)",
1743
+ fontSize: 13,
1253
1744
  fontWeight: 600,
1254
- boxShadow: v ? "none" : "0 2px 8px rgba(26,86,219,0.25)",
1255
- transition: "all 0.15s",
1256
- fontFamily: '-apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif'
1257
- },
1258
- onMouseOver: (R) => {
1259
- v || (R.currentTarget.style.background = a.colors.primaryHover);
1260
- },
1261
- onMouseOut: (R) => {
1262
- R.currentTarget.style.background = v ? a.colors.successLight : a.colors.primary;
1745
+ letterSpacing: ".04em",
1746
+ padding: "10px 16px",
1747
+ borderRadius: 6,
1748
+ cursor: "pointer",
1749
+ background: v ? "var(--ok-wash)" : "var(--accent)",
1750
+ color: v ? "var(--ok)" : "var(--accent-ink)",
1751
+ border: `1px solid ${v ? "var(--ok-line)" : "transparent"}`,
1752
+ boxShadow: v ? "none" : b ? "0 0 26px var(--accent-glow)" : "0 0 14px var(--accent-glow)",
1753
+ transform: b && !v ? "translateY(-1px)" : "none",
1754
+ transition: "all .15s var(--ease)",
1755
+ whiteSpace: "nowrap"
1263
1756
  },
1264
1757
  children: [
1265
- !v && /* @__PURE__ */ r.jsxs("span", { style: { display: "flex", gap: 4, alignItems: "center" }, children: [
1266
- /* @__PURE__ */ r.jsx(ie, { ok: f.isRunning, checking: f.isChecking }),
1267
- /* @__PURE__ */ r.jsx(ie, { ok: !!p.selectedStampId }),
1268
- /* @__PURE__ */ r.jsx(ie, { ok: u }),
1269
- /* @__PURE__ */ r.jsx(ie, { ok: d })
1270
- ] }),
1271
- x
1758
+ v ? /* @__PURE__ */ t.jsx("span", { style: { width: 8, height: 8, borderRadius: "50%", background: "var(--ok)", boxShadow: "0 0 8px var(--ok)" } }) : /* @__PURE__ */ t.jsx(Mn, { swarm: l }),
1759
+ _
1272
1760
  ]
1273
1761
  }
1274
1762
  ),
1275
- i && /* @__PURE__ */ r.jsx(
1276
- ut,
1763
+ s && /* @__PURE__ */ t.jsx(
1764
+ Bn,
1277
1765
  {
1278
- onClose: () => l(!1),
1279
- beeNode: f,
1280
- stamps: p,
1281
- beeApiUrl: g,
1282
- setBeeApiUrl: y
1766
+ onClose: () => i(!1),
1767
+ beeNode: d,
1768
+ stamps: o,
1769
+ beeApiUrl: p,
1770
+ setBeeApiUrl: h,
1771
+ stampMode: l.stampMode,
1772
+ nodeWallet: u
1283
1773
  }
1284
1774
  )
1285
1775
  ] });
1286
1776
  }
1287
- function ie({ ok: t, checking: o }) {
1288
- const i = o ? a.colors.warning : t ? a.colors.success : a.colors.error;
1289
- return /* @__PURE__ */ r.jsx("span", { style: {
1290
- display: "inline-block",
1291
- width: 7,
1292
- height: 7,
1293
- borderRadius: "50%",
1294
- background: i
1295
- } });
1777
+ function Mn({ swarm: n }) {
1778
+ const { beeNode: r, stamps: a, nodeWallet: s, stampMode: i, isWalletConnected: l, isOnGnosis: p, balance: h } = n, d = [
1779
+ l ? "ok" : "bad",
1780
+ p ? "ok" : "bad",
1781
+ h.hasGas ? "ok" : p ? "warn" : "bad",
1782
+ r.isChecking ? "warn" : r.isRunning ? "ok" : "bad",
1783
+ ...i === "create" ? [s.isFunded ? "ok" : "bad"] : [],
1784
+ a.selectedStampId ? "ok" : "bad"
1785
+ ], o = { ok: "var(--accent-ink)", bad: "rgba(26,14,2,.32)", warn: "#7a4a00" };
1786
+ return /* @__PURE__ */ t.jsx("span", { style: { display: "inline-flex", gap: 4, alignItems: "center" }, children: d.map((u, v) => /* @__PURE__ */ t.jsx("span", { style: { width: 6, height: 6, borderRadius: "50%", background: o[u], animation: u === "warn" ? "sc-pulse-dot 1.4s var(--ease) infinite" : "none" } }, v)) });
1296
1787
  }
1297
- const dt = "2.22.1", ft = () => `@wagmi/core@${dt}`;
1298
- var cr = function(t, o, i, l) {
1299
- if (i === "a" && !l) throw new TypeError("Private accessor was defined without a getter");
1300
- if (typeof o == "function" ? t !== o || !l : !o.has(t)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
1301
- return i === "m" ? l : i === "a" ? l.call(t) : l ? l.value : o.get(t);
1302
- }, ce, lr;
1303
- class Z extends Error {
1788
+ const Nn = "2.22.1", Un = () => `@wagmi/core@${Nn}`;
1789
+ var jt = function(n, r, a, s) {
1790
+ if (a === "a" && !s) throw new TypeError("Private accessor was defined without a getter");
1791
+ if (typeof r == "function" ? n !== r || !s : !r.has(n)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
1792
+ return a === "m" ? s : a === "a" ? s.call(n) : s ? s.value : r.get(n);
1793
+ }, xe, St;
1794
+ class ie extends Error {
1304
1795
  get docsBaseUrl() {
1305
1796
  return "https://wagmi.sh/core";
1306
1797
  }
1307
1798
  get version() {
1308
- return ft();
1799
+ return Un();
1309
1800
  }
1310
- constructor(o, i = {}) {
1311
- var p;
1312
- super(), ce.add(this), Object.defineProperty(this, "details", {
1801
+ constructor(r, a = {}) {
1802
+ var l;
1803
+ super(), xe.add(this), Object.defineProperty(this, "details", {
1313
1804
  enumerable: !0,
1314
1805
  configurable: !0,
1315
1806
  writable: !0,
@@ -1335,27 +1826,27 @@ class Z extends Error {
1335
1826
  writable: !0,
1336
1827
  value: "WagmiCoreError"
1337
1828
  });
1338
- const l = i.cause instanceof Z ? i.cause.details : (p = i.cause) != null && p.message ? i.cause.message : i.details, f = i.cause instanceof Z && i.cause.docsPath || i.docsPath;
1829
+ const s = a.cause instanceof ie ? a.cause.details : (l = a.cause) != null && l.message ? a.cause.message : a.details, i = a.cause instanceof ie && a.cause.docsPath || a.docsPath;
1339
1830
  this.message = [
1340
- o || "An error occurred.",
1831
+ r || "An error occurred.",
1341
1832
  "",
1342
- ...i.metaMessages ? [...i.metaMessages, ""] : [],
1343
- ...f ? [
1344
- `Docs: ${this.docsBaseUrl}${f}.html${i.docsSlug ? `#${i.docsSlug}` : ""}`
1833
+ ...a.metaMessages ? [...a.metaMessages, ""] : [],
1834
+ ...i ? [
1835
+ `Docs: ${this.docsBaseUrl}${i}.html${a.docsSlug ? `#${a.docsSlug}` : ""}`
1345
1836
  ] : [],
1346
- ...l ? [`Details: ${l}`] : [],
1837
+ ...s ? [`Details: ${s}`] : [],
1347
1838
  `Version: ${this.version}`
1348
1839
  ].join(`
1349
- `), i.cause && (this.cause = i.cause), this.details = l, this.docsPath = f, this.metaMessages = i.metaMessages, this.shortMessage = o;
1840
+ `), a.cause && (this.cause = a.cause), this.details = s, this.docsPath = i, this.metaMessages = a.metaMessages, this.shortMessage = r;
1350
1841
  }
1351
- walk(o) {
1352
- return cr(this, ce, "m", lr).call(this, this, o);
1842
+ walk(r) {
1843
+ return jt(this, xe, "m", St).call(this, this, r);
1353
1844
  }
1354
1845
  }
1355
- ce = /* @__PURE__ */ new WeakSet(), lr = function t(o, i) {
1356
- return i != null && i(o) ? o : o.cause ? cr(this, ce, "m", t).call(this, o.cause, i) : o;
1846
+ xe = /* @__PURE__ */ new WeakSet(), St = function n(r, a) {
1847
+ return a != null && a(r) ? r : r.cause ? jt(this, xe, "m", n).call(this, r.cause, a) : r;
1357
1848
  };
1358
- class ht extends Z {
1849
+ class Yn extends ie {
1359
1850
  constructor() {
1360
1851
  super("Chain not configured."), Object.defineProperty(this, "name", {
1361
1852
  enumerable: !0,
@@ -1365,7 +1856,7 @@ class ht extends Z {
1365
1856
  });
1366
1857
  }
1367
1858
  }
1368
- class q extends Z {
1859
+ class X extends ie {
1369
1860
  constructor() {
1370
1861
  super("Provider not found."), Object.defineProperty(this, "name", {
1371
1862
  enumerable: !0,
@@ -1375,103 +1866,103 @@ class q extends Z {
1375
1866
  });
1376
1867
  }
1377
1868
  }
1378
- Ce.type = "injected";
1379
- function Ce(t = {}) {
1380
- const { shimDisconnect: o = !0, unstable_shimAsyncInject: i } = t;
1381
- function l() {
1382
- const u = t.target;
1383
- if (typeof u == "function") {
1384
- const s = u();
1385
- if (s)
1386
- return s;
1869
+ $e.type = "injected";
1870
+ function $e(n = {}) {
1871
+ const { shimDisconnect: r = !0, unstable_shimAsyncInject: a } = n;
1872
+ function s() {
1873
+ const d = n.target;
1874
+ if (typeof d == "function") {
1875
+ const o = d();
1876
+ if (o)
1877
+ return o;
1387
1878
  }
1388
- return typeof u == "object" ? u : typeof u == "string" ? {
1389
- ...pt[u] ?? {
1390
- id: u,
1391
- name: `${u[0].toUpperCase()}${u.slice(1)}`,
1392
- provider: `is${u[0].toUpperCase()}${u.slice(1)}`
1879
+ return typeof d == "object" ? d : typeof d == "string" ? {
1880
+ ...qn[d] ?? {
1881
+ id: d,
1882
+ name: `${d[0].toUpperCase()}${d.slice(1)}`,
1883
+ provider: `is${d[0].toUpperCase()}${d.slice(1)}`
1393
1884
  }
1394
1885
  } : {
1395
1886
  id: "injected",
1396
1887
  name: "Injected",
1397
- provider(s) {
1398
- return s == null ? void 0 : s.ethereum;
1888
+ provider(o) {
1889
+ return o == null ? void 0 : o.ethereum;
1399
1890
  }
1400
1891
  };
1401
1892
  }
1402
- let f, p, g, y;
1403
- return (u) => ({
1893
+ let i, l, p, h;
1894
+ return (d) => ({
1404
1895
  get icon() {
1405
- return l().icon;
1896
+ return s().icon;
1406
1897
  },
1407
1898
  get id() {
1408
- return l().id;
1899
+ return s().id;
1409
1900
  },
1410
1901
  get name() {
1411
- return l().name;
1902
+ return s().name;
1412
1903
  },
1413
1904
  /** @deprecated */
1414
1905
  get supportsSimulation() {
1415
1906
  return !0;
1416
1907
  },
1417
- type: Ce.type,
1908
+ type: $e.type,
1418
1909
  async setup() {
1419
- const s = await this.getProvider();
1420
- s != null && s.on && t.target && (g || (g = this.onConnect.bind(this), s.on("connect", g)), f || (f = this.onAccountsChanged.bind(this), s.on("accountsChanged", f)));
1910
+ const o = await this.getProvider();
1911
+ o != null && o.on && n.target && (p || (p = this.onConnect.bind(this), o.on("connect", p)), i || (i = this.onAccountsChanged.bind(this), o.on("accountsChanged", i)));
1421
1912
  },
1422
- async connect({ chainId: s, isReconnecting: d, withCapabilities: v } = {}) {
1423
- var D, W, z, T, S, I;
1424
- const x = await this.getProvider();
1425
- if (!x)
1426
- throw new q();
1427
- let R = [];
1428
- if (d)
1429
- R = await this.getAccounts().catch(() => []);
1430
- else if (o)
1913
+ async connect({ chainId: o, isReconnecting: u, withCapabilities: v } = {}) {
1914
+ var E, _, A, S, w, I;
1915
+ const g = await this.getProvider();
1916
+ if (!g)
1917
+ throw new X();
1918
+ let b = [];
1919
+ if (u)
1920
+ b = await this.getAccounts().catch(() => []);
1921
+ else if (r)
1431
1922
  try {
1432
- R = (T = (z = (W = (D = (await x.request({
1923
+ b = (S = (A = (_ = (E = (await g.request({
1433
1924
  method: "wallet_requestPermissions",
1434
1925
  params: [{ eth_accounts: {} }]
1435
- }))[0]) == null ? void 0 : D.caveats) == null ? void 0 : W[0]) == null ? void 0 : z.value) == null ? void 0 : T.map((C) => oe(C)), R.length > 0 && (R = await this.getAccounts());
1436
- } catch (_) {
1437
- const C = _;
1438
- if (C.code === F.code)
1439
- throw new F(C);
1440
- if (C.code === be.code)
1441
- throw C;
1926
+ }))[0]) == null ? void 0 : E.caveats) == null ? void 0 : _[0]) == null ? void 0 : A.value) == null ? void 0 : S.map((k) => ve(k)), b.length > 0 && (b = await this.getAccounts());
1927
+ } catch (C) {
1928
+ const k = C;
1929
+ if (k.code === N.code)
1930
+ throw new N(k);
1931
+ if (k.code === Ee.code)
1932
+ throw k;
1442
1933
  }
1443
1934
  try {
1444
- !(R != null && R.length) && !d && (R = (await x.request({
1935
+ !(b != null && b.length) && !u && (b = (await g.request({
1445
1936
  method: "eth_requestAccounts"
1446
- })).map(($) => oe($))), g && (x.removeListener("connect", g), g = void 0), f || (f = this.onAccountsChanged.bind(this), x.on("accountsChanged", f)), p || (p = this.onChainChanged.bind(this), x.on("chainChanged", p)), y || (y = this.onDisconnect.bind(this), x.on("disconnect", y));
1447
- let _ = await this.getChainId();
1448
- if (s && _ !== s) {
1449
- const C = await this.switchChain({ chainId: s }).catch(($) => {
1450
- if ($.code === F.code)
1451
- throw $;
1452
- return { id: _ };
1937
+ })).map((D) => ve(D))), p && (g.removeListener("connect", p), p = void 0), i || (i = this.onAccountsChanged.bind(this), g.on("accountsChanged", i)), l || (l = this.onChainChanged.bind(this), g.on("chainChanged", l)), h || (h = this.onDisconnect.bind(this), g.on("disconnect", h));
1938
+ let C = await this.getChainId();
1939
+ if (o && C !== o) {
1940
+ const k = await this.switchChain({ chainId: o }).catch((D) => {
1941
+ if (D.code === N.code)
1942
+ throw D;
1943
+ return { id: C };
1453
1944
  });
1454
- _ = (C == null ? void 0 : C.id) ?? _;
1945
+ C = (k == null ? void 0 : k.id) ?? C;
1455
1946
  }
1456
- return o && await ((S = u.storage) == null ? void 0 : S.removeItem(`${this.id}.disconnected`)), t.target || await ((I = u.storage) == null ? void 0 : I.setItem("injected.connected", !0)), {
1457
- accounts: v ? R.map((C) => ({ address: C, capabilities: {} })) : R,
1458
- chainId: _
1947
+ return r && await ((w = d.storage) == null ? void 0 : w.removeItem(`${this.id}.disconnected`)), n.target || await ((I = d.storage) == null ? void 0 : I.setItem("injected.connected", !0)), {
1948
+ accounts: v ? b.map((k) => ({ address: k, capabilities: {} })) : b,
1949
+ chainId: C
1459
1950
  };
1460
- } catch (_) {
1461
- const C = _;
1462
- throw C.code === F.code ? new F(C) : C.code === be.code ? new be(C) : C;
1951
+ } catch (C) {
1952
+ const k = C;
1953
+ throw k.code === N.code ? new N(k) : k.code === Ee.code ? new Ee(k) : k;
1463
1954
  }
1464
1955
  },
1465
1956
  async disconnect() {
1466
- var d, v;
1467
- const s = await this.getProvider();
1468
- if (!s)
1469
- throw new q();
1470
- p && (s.removeListener("chainChanged", p), p = void 0), y && (s.removeListener("disconnect", y), y = void 0), g || (g = this.onConnect.bind(this), s.on("connect", g));
1957
+ var u, v;
1958
+ const o = await this.getProvider();
1959
+ if (!o)
1960
+ throw new X();
1961
+ l && (o.removeListener("chainChanged", l), l = void 0), h && (o.removeListener("disconnect", h), h = void 0), p || (p = this.onConnect.bind(this), o.on("connect", p));
1471
1962
  try {
1472
- await Hr(() => (
1963
+ await un(() => (
1473
1964
  // TODO: Remove explicit type for viem@3
1474
- s.request({
1965
+ o.request({
1475
1966
  // `'wallet_revokePermissions'` added in `viem@2.10.3`
1476
1967
  method: "wallet_revokePermissions",
1477
1968
  params: [{ eth_accounts: {} }]
@@ -1479,164 +1970,164 @@ function Ce(t = {}) {
1479
1970
  ), { timeout: 100 });
1480
1971
  } catch {
1481
1972
  }
1482
- o && await ((d = u.storage) == null ? void 0 : d.setItem(`${this.id}.disconnected`, !0)), t.target || await ((v = u.storage) == null ? void 0 : v.removeItem("injected.connected"));
1973
+ r && await ((u = d.storage) == null ? void 0 : u.setItem(`${this.id}.disconnected`, !0)), n.target || await ((v = d.storage) == null ? void 0 : v.removeItem("injected.connected"));
1483
1974
  },
1484
1975
  async getAccounts() {
1485
- const s = await this.getProvider();
1486
- if (!s)
1487
- throw new q();
1488
- return (await s.request({ method: "eth_accounts" })).map((v) => oe(v));
1976
+ const o = await this.getProvider();
1977
+ if (!o)
1978
+ throw new X();
1979
+ return (await o.request({ method: "eth_accounts" })).map((v) => ve(v));
1489
1980
  },
1490
1981
  async getChainId() {
1491
- const s = await this.getProvider();
1492
- if (!s)
1493
- throw new q();
1494
- const d = await s.request({ method: "eth_chainId" });
1495
- return Number(d);
1982
+ const o = await this.getProvider();
1983
+ if (!o)
1984
+ throw new X();
1985
+ const u = await o.request({ method: "eth_chainId" });
1986
+ return Number(u);
1496
1987
  },
1497
1988
  async getProvider() {
1498
1989
  if (typeof window > "u")
1499
1990
  return;
1500
- let s;
1501
- const d = l();
1502
- return typeof d.provider == "function" ? s = d.provider(window) : typeof d.provider == "string" ? s = se(window, d.provider) : s = d.provider, s && !s.removeListener && ("off" in s && typeof s.off == "function" ? s.removeListener = s.off : s.removeListener = () => {
1503
- }), s;
1991
+ let o;
1992
+ const u = s();
1993
+ return typeof u.provider == "function" ? o = u.provider(window) : typeof u.provider == "string" ? o = ge(window, u.provider) : o = u.provider, o && !o.removeListener && ("off" in o && typeof o.off == "function" ? o.removeListener = o.off : o.removeListener = () => {
1994
+ }), o;
1504
1995
  },
1505
1996
  async isAuthorized() {
1506
- var s, d;
1997
+ var o, u;
1507
1998
  try {
1508
- if (o && // If shim exists in storage, connector is disconnected
1509
- await ((s = u.storage) == null ? void 0 : s.getItem(`${this.id}.disconnected`)) || !t.target && !await ((d = u.storage) == null ? void 0 : d.getItem("injected.connected")))
1999
+ if (r && // If shim exists in storage, connector is disconnected
2000
+ await ((o = d.storage) == null ? void 0 : o.getItem(`${this.id}.disconnected`)) || !n.target && !await ((u = d.storage) == null ? void 0 : u.getItem("injected.connected")))
1510
2001
  return !1;
1511
2002
  if (!await this.getProvider()) {
1512
- if (i !== void 0 && i !== !1) {
1513
- const D = async () => (typeof window < "u" && window.removeEventListener("ethereum#initialized", D), !!await this.getProvider()), W = typeof i == "number" ? i : 1e3;
2003
+ if (a !== void 0 && a !== !1) {
2004
+ const E = async () => (typeof window < "u" && window.removeEventListener("ethereum#initialized", E), !!await this.getProvider()), _ = typeof a == "number" ? a : 1e3;
1514
2005
  if (await Promise.race([
1515
2006
  ...typeof window < "u" ? [
1516
- new Promise((T) => window.addEventListener("ethereum#initialized", () => T(D()), { once: !0 }))
2007
+ new Promise((S) => window.addEventListener("ethereum#initialized", () => S(E()), { once: !0 }))
1517
2008
  ] : [],
1518
- new Promise((T) => setTimeout(() => T(D()), W))
2009
+ new Promise((S) => setTimeout(() => S(E()), _))
1519
2010
  ]))
1520
2011
  return !0;
1521
2012
  }
1522
- throw new q();
2013
+ throw new X();
1523
2014
  }
1524
- return !!(await Gr(() => this.getAccounts())).length;
2015
+ return !!(await dn(() => this.getAccounts())).length;
1525
2016
  } catch {
1526
2017
  return !1;
1527
2018
  }
1528
2019
  },
1529
- async switchChain({ addEthereumChainParameter: s, chainId: d }) {
1530
- var D, W, z, T;
2020
+ async switchChain({ addEthereumChainParameter: o, chainId: u }) {
2021
+ var E, _, A, S;
1531
2022
  const v = await this.getProvider();
1532
2023
  if (!v)
1533
- throw new q();
1534
- const x = u.chains.find((S) => S.id === d);
1535
- if (!x)
1536
- throw new Ke(new ht());
1537
- const R = new Promise((S) => {
1538
- const I = (_) => {
1539
- "chainId" in _ && _.chainId === d && (u.emitter.off("change", I), S());
2024
+ throw new X();
2025
+ const g = d.chains.find((w) => w.id === u);
2026
+ if (!g)
2027
+ throw new ct(new Yn());
2028
+ const b = new Promise((w) => {
2029
+ const I = (C) => {
2030
+ "chainId" in C && C.chainId === u && (d.emitter.off("change", I), w());
1540
2031
  };
1541
- u.emitter.on("change", I);
2032
+ d.emitter.on("change", I);
1542
2033
  });
1543
2034
  try {
1544
2035
  return await Promise.all([
1545
2036
  v.request({
1546
2037
  method: "wallet_switchEthereumChain",
1547
- params: [{ chainId: Je(d) }]
2038
+ params: [{ chainId: lt(u) }]
1548
2039
  }).then(async () => {
1549
- await this.getChainId() === d && u.emitter.emit("change", { chainId: d });
2040
+ await this.getChainId() === u && d.emitter.emit("change", { chainId: u });
1550
2041
  }),
1551
- R
1552
- ]), x;
1553
- } catch (S) {
1554
- const I = S;
2042
+ b
2043
+ ]), g;
2044
+ } catch (w) {
2045
+ const I = w;
1555
2046
  if (I.code === 4902 || // Unwrapping for MetaMask Mobile
1556
2047
  // https://github.com/MetaMask/metamask-mobile/issues/2944#issuecomment-976988719
1557
- ((W = (D = I == null ? void 0 : I.data) == null ? void 0 : D.originalError) == null ? void 0 : W.code) === 4902)
2048
+ ((_ = (E = I == null ? void 0 : I.data) == null ? void 0 : E.originalError) == null ? void 0 : _.code) === 4902)
1558
2049
  try {
1559
- const { default: _, ...C } = x.blockExplorers ?? {};
1560
- let $;
1561
- s != null && s.blockExplorerUrls ? $ = s.blockExplorerUrls : _ && ($ = [
1562
- _.url,
1563
- ...Object.values(C).map((H) => H.url)
2050
+ const { default: C, ...k } = g.blockExplorers ?? {};
2051
+ let D;
2052
+ o != null && o.blockExplorerUrls ? D = o.blockExplorerUrls : C && (D = [
2053
+ C.url,
2054
+ ...Object.values(k).map((B) => B.url)
1564
2055
  ]);
1565
- let G;
1566
- (z = s == null ? void 0 : s.rpcUrls) != null && z.length ? G = s.rpcUrls : G = [((T = x.rpcUrls.default) == null ? void 0 : T.http[0]) ?? ""];
1567
- const ue = {
1568
- blockExplorerUrls: $,
1569
- chainId: Je(d),
1570
- chainName: (s == null ? void 0 : s.chainName) ?? x.name,
1571
- iconUrls: s == null ? void 0 : s.iconUrls,
1572
- nativeCurrency: (s == null ? void 0 : s.nativeCurrency) ?? x.nativeCurrency,
1573
- rpcUrls: G
2056
+ let W;
2057
+ (A = o == null ? void 0 : o.rpcUrls) != null && A.length ? W = o.rpcUrls : W = [((S = g.rpcUrls.default) == null ? void 0 : S.http[0]) ?? ""];
2058
+ const V = {
2059
+ blockExplorerUrls: D,
2060
+ chainId: lt(u),
2061
+ chainName: (o == null ? void 0 : o.chainName) ?? g.name,
2062
+ iconUrls: o == null ? void 0 : o.iconUrls,
2063
+ nativeCurrency: (o == null ? void 0 : o.nativeCurrency) ?? g.nativeCurrency,
2064
+ rpcUrls: W
1574
2065
  };
1575
2066
  return await Promise.all([
1576
2067
  v.request({
1577
2068
  method: "wallet_addEthereumChain",
1578
- params: [ue]
2069
+ params: [V]
1579
2070
  }).then(async () => {
1580
- if (await this.getChainId() === d)
1581
- u.emitter.emit("change", { chainId: d });
2071
+ if (await this.getChainId() === u)
2072
+ d.emitter.emit("change", { chainId: u });
1582
2073
  else
1583
- throw new F(new Error("User rejected switch after adding network."));
2074
+ throw new N(new Error("User rejected switch after adding network."));
1584
2075
  }),
1585
- R
1586
- ]), x;
1587
- } catch (_) {
1588
- throw new F(_);
2076
+ b
2077
+ ]), g;
2078
+ } catch (C) {
2079
+ throw new N(C);
1589
2080
  }
1590
- throw I.code === F.code ? new F(I) : new Ke(I);
2081
+ throw I.code === N.code ? new N(I) : new ct(I);
1591
2082
  }
1592
2083
  },
1593
- async onAccountsChanged(s) {
1594
- var d;
1595
- if (s.length === 0)
2084
+ async onAccountsChanged(o) {
2085
+ var u;
2086
+ if (o.length === 0)
1596
2087
  this.onDisconnect();
1597
- else if (u.emitter.listenerCount("connect")) {
2088
+ else if (d.emitter.listenerCount("connect")) {
1598
2089
  const v = (await this.getChainId()).toString();
1599
- this.onConnect({ chainId: v }), o && await ((d = u.storage) == null ? void 0 : d.removeItem(`${this.id}.disconnected`));
2090
+ this.onConnect({ chainId: v }), r && await ((u = d.storage) == null ? void 0 : u.removeItem(`${this.id}.disconnected`));
1600
2091
  } else
1601
- u.emitter.emit("change", {
1602
- accounts: s.map((v) => oe(v))
2092
+ d.emitter.emit("change", {
2093
+ accounts: o.map((v) => ve(v))
1603
2094
  });
1604
2095
  },
1605
- onChainChanged(s) {
1606
- const d = Number(s);
1607
- u.emitter.emit("change", { chainId: d });
2096
+ onChainChanged(o) {
2097
+ const u = Number(o);
2098
+ d.emitter.emit("change", { chainId: u });
1608
2099
  },
1609
- async onConnect(s) {
1610
- const d = await this.getAccounts();
1611
- if (d.length === 0)
2100
+ async onConnect(o) {
2101
+ const u = await this.getAccounts();
2102
+ if (u.length === 0)
1612
2103
  return;
1613
- const v = Number(s.chainId);
1614
- u.emitter.emit("connect", { accounts: d, chainId: v });
1615
- const x = await this.getProvider();
1616
- x && (g && (x.removeListener("connect", g), g = void 0), f || (f = this.onAccountsChanged.bind(this), x.on("accountsChanged", f)), p || (p = this.onChainChanged.bind(this), x.on("chainChanged", p)), y || (y = this.onDisconnect.bind(this), x.on("disconnect", y)));
2104
+ const v = Number(o.chainId);
2105
+ d.emitter.emit("connect", { accounts: u, chainId: v });
2106
+ const g = await this.getProvider();
2107
+ g && (p && (g.removeListener("connect", p), p = void 0), i || (i = this.onAccountsChanged.bind(this), g.on("accountsChanged", i)), l || (l = this.onChainChanged.bind(this), g.on("chainChanged", l)), h || (h = this.onDisconnect.bind(this), g.on("disconnect", h)));
1617
2108
  },
1618
- async onDisconnect(s) {
1619
- const d = await this.getProvider();
1620
- s && s.code === 1013 && d && (await this.getAccounts()).length || (u.emitter.emit("disconnect"), d && (p && (d.removeListener("chainChanged", p), p = void 0), y && (d.removeListener("disconnect", y), y = void 0), g || (g = this.onConnect.bind(this), d.on("connect", g))));
2109
+ async onDisconnect(o) {
2110
+ const u = await this.getProvider();
2111
+ o && o.code === 1013 && u && (await this.getAccounts()).length || (d.emitter.emit("disconnect"), u && (l && (u.removeListener("chainChanged", l), l = void 0), h && (u.removeListener("disconnect", h), h = void 0), p || (p = this.onConnect.bind(this), u.on("connect", p))));
1621
2112
  }
1622
2113
  });
1623
2114
  }
1624
- const pt = {
2115
+ const qn = {
1625
2116
  coinbaseWallet: {
1626
2117
  id: "coinbaseWallet",
1627
2118
  name: "Coinbase Wallet",
1628
- provider(t) {
1629
- return t != null && t.coinbaseWalletExtension ? t.coinbaseWalletExtension : se(t, "isCoinbaseWallet");
2119
+ provider(n) {
2120
+ return n != null && n.coinbaseWalletExtension ? n.coinbaseWalletExtension : ge(n, "isCoinbaseWallet");
1630
2121
  }
1631
2122
  },
1632
2123
  metaMask: {
1633
2124
  id: "metaMask",
1634
2125
  name: "MetaMask",
1635
- provider(t) {
1636
- return se(t, (o) => {
1637
- if (!o.isMetaMask || o.isBraveWallet && !o._events && !o._state)
2126
+ provider(n) {
2127
+ return ge(n, (r) => {
2128
+ if (!r.isMetaMask || r.isBraveWallet && !r._events && !r._state)
1638
2129
  return !1;
1639
- const i = [
2130
+ const a = [
1640
2131
  "isApexWallet",
1641
2132
  "isAvalanche",
1642
2133
  "isBitKeep",
@@ -1656,8 +2147,8 @@ const pt = {
1656
2147
  "isUniswapWallet",
1657
2148
  "isZerion"
1658
2149
  ];
1659
- for (const l of i)
1660
- if (o[l])
2150
+ for (const s of a)
2151
+ if (r[s])
1661
2152
  return !1;
1662
2153
  return !0;
1663
2154
  });
@@ -1666,37 +2157,38 @@ const pt = {
1666
2157
  phantom: {
1667
2158
  id: "phantom",
1668
2159
  name: "Phantom",
1669
- provider(t) {
1670
- var o, i;
1671
- return (o = t == null ? void 0 : t.phantom) != null && o.ethereum ? (i = t.phantom) == null ? void 0 : i.ethereum : se(t, "isPhantom");
2160
+ provider(n) {
2161
+ var r, a;
2162
+ return (r = n == null ? void 0 : n.phantom) != null && r.ethereum ? (a = n.phantom) == null ? void 0 : a.ethereum : ge(n, "isPhantom");
1672
2163
  }
1673
2164
  }
1674
2165
  };
1675
- function se(t, o) {
1676
- function i(f) {
1677
- return typeof o == "function" ? o(f) : typeof o == "string" ? f[o] : !0;
2166
+ function ge(n, r) {
2167
+ function a(i) {
2168
+ return typeof r == "function" ? r(i) : typeof r == "string" ? i[r] : !0;
1678
2169
  }
1679
- const l = t.ethereum;
1680
- if (l != null && l.providers)
1681
- return l.providers.find((f) => i(f));
1682
- if (l && i(l))
1683
- return l;
2170
+ const s = n.ethereum;
2171
+ if (s != null && s.providers)
2172
+ return s.providers.find((i) => a(i));
2173
+ if (s && a(s))
2174
+ return s;
1684
2175
  }
1685
- const gt = new qr(), vt = Br({
1686
- chains: [je],
1687
- connectors: [Ce()],
2176
+ const Gn = new fn(), Hn = an({
2177
+ chains: [Pe],
2178
+ connectors: [$e()],
1688
2179
  transports: {
1689
- [je.id]: Nr()
2180
+ [Pe.id]: on()
1690
2181
  }
1691
2182
  });
1692
- function jt({ children: t }) {
1693
- return /* @__PURE__ */ r.jsx(Yr, { config: vt, children: /* @__PURE__ */ r.jsx(Vr, { client: gt, children: t }) });
2183
+ function Qn({ children: n }) {
2184
+ return /* @__PURE__ */ t.jsx(sn, { config: Hn, children: /* @__PURE__ */ t.jsx(hn, { client: Gn, children: n }) });
1694
2185
  }
1695
2186
  export {
1696
- wt as SwarmConnectButton,
1697
- ut as SwarmConnectModal,
1698
- jt as SwarmConnectProvider,
1699
- Xr as useBeeNode,
1700
- Qr as usePostageStamps,
1701
- Zr as useSwarmConnect
2187
+ Xn as SwarmConnectButton,
2188
+ Bn as SwarmConnectModal,
2189
+ Qn as SwarmConnectProvider,
2190
+ yn as useBeeNode,
2191
+ wt as useNodeWallet,
2192
+ wn as usePostageStamps,
2193
+ jn as useSwarmConnect
1702
2194
  };