@cartridge/controller 0.7.8 → 0.7.9-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/.turbo/turbo-build$colon$deps.log +49 -59
  2. package/.turbo/turbo-build.log +45 -63
  3. package/dist/account.d.ts +35 -0
  4. package/dist/constants.d.ts +3 -0
  5. package/dist/controller.d.ts +3 -6
  6. package/dist/errors.d.ts +3 -0
  7. package/dist/icon.d.ts +1 -0
  8. package/dist/iframe/base.d.ts +26 -0
  9. package/dist/iframe/index.d.ts +3 -0
  10. package/dist/iframe/keychain.d.ts +10 -0
  11. package/dist/iframe/profile.d.ts +12 -0
  12. package/dist/index.d.ts +6 -67
  13. package/dist/index.js +1088 -1063
  14. package/dist/index.js.map +1 -1
  15. package/dist/lookup.d.ts +2 -4
  16. package/dist/mutex.d.ts +12 -0
  17. package/dist/node/index.cjs +1 -12
  18. package/dist/node/index.cjs.map +1 -1
  19. package/dist/node/index.d.cts +93 -8
  20. package/dist/node/index.d.ts +93 -8
  21. package/dist/node/index.js +2 -12
  22. package/dist/node/index.js.map +1 -1
  23. package/dist/policies.d.ts +15 -0
  24. package/dist/provider-qJi60GEX.js +286 -0
  25. package/dist/provider-qJi60GEX.js.map +1 -0
  26. package/dist/provider.d.ts +21 -0
  27. package/dist/session/account.d.ts +31 -0
  28. package/dist/session/backend.d.ts +58 -0
  29. package/dist/session/index.d.ts +4 -38
  30. package/dist/session/{index.d.cts → provider.d.ts} +4 -10
  31. package/dist/session.d.ts +6 -0
  32. package/dist/session.js +354 -0
  33. package/dist/session.js.map +1 -0
  34. package/dist/stats.html +4949 -0
  35. package/dist/telegram/backend.d.ts +30 -0
  36. package/dist/telegram/provider.d.ts +24 -0
  37. package/dist/types.d.ts +146 -0
  38. package/dist/utils.d.ts +15 -0
  39. package/dist/wallets/argent/index.d.ts +14 -0
  40. package/dist/wallets/bridge.d.ts +29 -0
  41. package/dist/wallets/index.d.ts +5 -0
  42. package/dist/wallets/metamask/index.d.ts +16 -0
  43. package/dist/wallets/phantom/index.d.ts +13 -0
  44. package/dist/wallets/types.d.ts +27 -0
  45. package/package.json +17 -40
  46. package/src/iframe/profile.ts +9 -7
  47. package/src/node/index.ts +1 -1
  48. package/tsup.node.config.ts +15 -0
  49. package/vite.config.js +83 -0
  50. package/dist/controller.cjs +0 -1272
  51. package/dist/controller.cjs.map +0 -1
  52. package/dist/controller.d.cts +0 -34
  53. package/dist/controller.js +0 -1270
  54. package/dist/controller.js.map +0 -1
  55. package/dist/index.cjs +0 -3389
  56. package/dist/index.cjs.map +0 -1
  57. package/dist/index.d.cts +0 -68
  58. package/dist/lookup.cjs +0 -59
  59. package/dist/lookup.cjs.map +0 -1
  60. package/dist/lookup.d.cts +0 -4
  61. package/dist/lookup.js +0 -56
  62. package/dist/lookup.js.map +0 -1
  63. package/dist/policies-DD1aPjQ4.d.cts +0 -21
  64. package/dist/policies-DD1aPjQ4.d.ts +0 -21
  65. package/dist/provider-BeCgS86X.d.cts +0 -266
  66. package/dist/provider-BeCgS86X.d.ts +0 -266
  67. package/dist/session/index.cjs +0 -484
  68. package/dist/session/index.cjs.map +0 -1
  69. package/dist/session/index.js +0 -478
  70. package/dist/session/index.js.map +0 -1
package/dist/index.js CHANGED
@@ -1,162 +1,16 @@
1
- import { CallData, addAddressPadding, getChecksumAddress, typedData, TypedDataRevision, hash, constants, shortString, Provider, num, WalletAccount } from 'starknet';
2
- import { connectToChild } from '@cartridge/penpal';
3
- import { MetaMaskSDK } from '@metamask/sdk';
4
- import { connect } from 'starknetkit';
5
- import { InjectedConnector } from 'starknetkit/injected';
6
- import { Permission } from '@starknet-io/types-js';
7
-
8
- // src/account.ts
9
-
10
- // src/types.ts
11
- var ResponseCodes = /* @__PURE__ */ ((ResponseCodes2) => {
12
- ResponseCodes2["SUCCESS"] = "SUCCESS";
13
- ResponseCodes2["NOT_CONNECTED"] = "NOT_CONNECTED";
14
- ResponseCodes2["ERROR"] = "ERROR";
15
- ResponseCodes2["CANCELED"] = "CANCELED";
16
- ResponseCodes2["USER_INTERACTION_REQUIRED"] = "USER_INTERACTION_REQUIRED";
17
- return ResponseCodes2;
18
- })(ResponseCodes || {});
19
- var ALLOWED_PROPERTIES = /* @__PURE__ */ new Set([
20
- "contracts",
21
- "messages",
22
- "target",
23
- "method",
24
- "name",
25
- "description",
26
- "types",
27
- "domain",
28
- "primaryType"
29
- ]);
30
- var LOCAL_HOSTNAMES = ["localhost", "127.0.0.1", "0.0.0.0"];
31
- function validatePropertyName(prop) {
32
- if (!ALLOWED_PROPERTIES.has(prop)) {
33
- throw new Error(`Invalid property name: ${prop}`);
34
- }
35
- }
36
- function safeObjectAccess(obj, prop) {
37
- validatePropertyName(prop);
38
- return obj[prop];
39
- }
40
- function normalizeCalls(calls) {
41
- return toArray(calls).map((call) => {
42
- return {
43
- entrypoint: call.entrypoint,
44
- contractAddress: addAddressPadding(call.contractAddress),
45
- calldata: CallData.toHex(call.calldata)
46
- };
47
- });
48
- }
49
- function toSessionPolicies(policies) {
50
- return Array.isArray(policies) ? policies.reduce(
51
- (prev, p) => {
52
- if (safeObjectAccess(p, "target")) {
53
- const target = getChecksumAddress(
54
- safeObjectAccess(p, "target")
55
- );
56
- const entrypoint = safeObjectAccess(p, "method");
57
- const contracts = safeObjectAccess(
58
- prev,
59
- "contracts"
60
- );
61
- const item = {
62
- name: humanizeString(entrypoint),
63
- entrypoint,
64
- description: safeObjectAccess(p, "description")
65
- };
66
- if (target in contracts) {
67
- const methods = toArray(contracts[target].methods);
68
- contracts[target] = {
69
- methods: [...methods, item]
70
- };
71
- } else {
72
- contracts[target] = {
73
- methods: [item]
74
- };
75
- }
76
- } else {
77
- const messages = safeObjectAccess(prev, "messages");
78
- messages.push(p);
79
- }
80
- return prev;
81
- },
82
- { contracts: {}, messages: [] }
83
- ) : policies;
84
- }
85
- function toWasmPolicies(policies) {
86
- return [
87
- ...Object.entries(policies.contracts ?? {}).flatMap(
88
- ([target, { methods }]) => toArray(methods).map((m) => ({
89
- target,
90
- method: m.entrypoint,
91
- authorized: m.authorized
92
- }))
93
- ),
94
- ...(policies.messages ?? []).map((p) => {
95
- const domainHash = typedData.getStructHash(
96
- p.types,
97
- "StarknetDomain",
98
- p.domain,
99
- TypedDataRevision.ACTIVE
100
- );
101
- const typeHash = typedData.getTypeHash(
102
- p.types,
103
- p.primaryType,
104
- TypedDataRevision.ACTIVE
105
- );
106
- return {
107
- scope_hash: hash.computePoseidonHash(domainHash, typeHash),
108
- authorized: p.authorized
109
- };
110
- })
111
- ];
112
- }
113
- function toArray(val) {
114
- return Array.isArray(val) ? val : [val];
115
- }
116
- function humanizeString(str) {
117
- return str.replace(/([a-z])([A-Z])/g, "$1 $2").replace(/_/g, " ").toLowerCase().replace(/^\w/, (c) => c.toUpperCase());
118
- }
119
- async function parseChainId(url) {
120
- const parts = url.pathname.split("/");
121
- if (parts.includes("starknet")) {
122
- if (parts.includes("mainnet")) {
123
- return constants.StarknetChainId.SN_MAIN;
124
- } else if (parts.includes("sepolia")) {
125
- return constants.StarknetChainId.SN_SEPOLIA;
126
- }
127
- } else if (parts.length >= 3) {
128
- const projectName = parts[2];
129
- if (parts.includes("katana")) {
130
- return shortString.encodeShortString(
131
- `WP_${projectName.toUpperCase().replace(/-/g, "_")}`
132
- );
133
- } else if (parts.includes("mainnet")) {
134
- return shortString.encodeShortString(
135
- `GG_${projectName.toUpperCase().replace(/-/g, "_")}`
136
- );
137
- }
138
- }
139
- if (LOCAL_HOSTNAMES.includes(url.hostname)) {
140
- const provider = new Provider({
141
- nodeUrl: url.toString()
142
- });
143
- return await provider.getChainId();
144
- }
145
- throw new Error(`Chain ${url.toString()} not supported`);
146
- }
147
-
148
- // src/account.ts
149
- var ControllerAccount = class extends WalletAccount {
1
+ import { WalletAccount as O, shortString as M, num as Y } from "starknet";
2
+ import { R as A, t as $, K as W, P as H, B as j, N as g, p as K, A as q } from "./provider-qJi60GEX.js";
3
+ import { h as Le, n as Oe, a as Ye, b as $e } from "./provider-qJi60GEX.js";
4
+ import { MetaMaskSDK as G } from "@metamask/sdk";
5
+ import { connect as V } from "starknetkit";
6
+ import { InjectedConnector as J } from "starknetkit/injected";
7
+ class N extends O {
150
8
  address;
151
9
  keychain;
152
10
  modal;
153
11
  options;
154
- constructor(provider, rpcUrl, address, keychain, options, modal) {
155
- super({ nodeUrl: rpcUrl }, provider);
156
- this.address = address;
157
- this.keychain = keychain;
158
- this.options = options;
159
- this.modal = modal;
12
+ constructor(e, t, a, n, o, c) {
13
+ super({ nodeUrl: t }, e), this.address = a, this.keychain = n, this.options = o, this.modal = c;
160
14
  }
161
15
  /**
162
16
  * Invoke execute function in account contract
@@ -170,38 +24,35 @@ var ControllerAccount = class extends WalletAccount {
170
24
  *
171
25
  * @returns response from addTransaction
172
26
  */
173
- async execute(calls) {
174
- calls = toArray(calls);
175
- return new Promise(async (resolve, reject) => {
176
- const sessionExecute = await this.keychain.execute(
177
- calls,
27
+ async execute(e) {
28
+ return e = $(e), new Promise(async (t, a) => {
29
+ const n = await this.keychain.execute(
30
+ e,
178
31
  void 0,
179
32
  void 0,
180
- false
33
+ !1
181
34
  );
182
- if (sessionExecute.code === "SUCCESS" /* SUCCESS */) {
183
- resolve(sessionExecute);
35
+ if (n.code === A.SUCCESS) {
36
+ t(n);
184
37
  return;
185
38
  }
186
- if (this.options?.propagateSessionErrors && sessionExecute.code !== "USER_INTERACTION_REQUIRED" /* USER_INTERACTION_REQUIRED */) {
187
- reject(sessionExecute.error);
39
+ if (this.options?.propagateSessionErrors && n.code !== A.USER_INTERACTION_REQUIRED) {
40
+ a(n.error);
188
41
  return;
189
42
  }
190
43
  this.modal.open();
191
- const manualExecute = await this.keychain.execute(
192
- calls,
44
+ const o = await this.keychain.execute(
45
+ e,
193
46
  void 0,
194
47
  void 0,
195
- true,
196
- sessionExecute.error
48
+ !0,
49
+ n.error
197
50
  );
198
- if (manualExecute.code === "SUCCESS" /* SUCCESS */) {
199
- resolve(manualExecute);
200
- this.modal.close();
51
+ if (o.code === A.SUCCESS) {
52
+ t(o), this.modal.close();
201
53
  return;
202
54
  }
203
- reject(manualExecute.error);
204
- return;
55
+ a(o.error);
205
56
  });
206
57
  }
207
58
  /**
@@ -212,149 +63,326 @@ var ControllerAccount = class extends WalletAccount {
212
63
  * @returns the signature of the JSON object
213
64
  * @throws {Error} if the JSON object is not a valid JSON
214
65
  */
215
- async signMessage(typedData2) {
216
- return new Promise(async (resolve, reject) => {
217
- const sessionSign = await this.keychain.signMessage(typedData2, "", true);
218
- if (!("code" in sessionSign)) {
219
- resolve(sessionSign);
66
+ async signMessage(e) {
67
+ return new Promise(async (t, a) => {
68
+ const n = await this.keychain.signMessage(e, "", !0);
69
+ if (!("code" in n)) {
70
+ t(n);
220
71
  return;
221
72
  }
222
73
  this.modal.open();
223
- const manualSign = await this.keychain.signMessage(typedData2, "", false);
224
- if (!("code" in manualSign)) {
225
- resolve(manualSign);
226
- } else {
227
- reject(manualSign.error);
228
- }
229
- this.modal.close();
74
+ const o = await this.keychain.signMessage(e, "", !1);
75
+ "code" in o ? a(o.error) : t(o), this.modal.close();
230
76
  });
231
77
  }
78
+ }
79
+ var y;
80
+ (function(r) {
81
+ r.Call = "call", r.Reply = "reply", r.Syn = "syn", r.SynAck = "synAck", r.Ack = "ack";
82
+ })(y || (y = {}));
83
+ var x;
84
+ (function(r) {
85
+ r.Fulfilled = "fulfilled", r.Rejected = "rejected";
86
+ })(x || (x = {}));
87
+ var S;
88
+ (function(r) {
89
+ r.ConnectionDestroyed = "ConnectionDestroyed", r.ConnectionTimeout = "ConnectionTimeout", r.NoIframeSrc = "NoIframeSrc";
90
+ })(S || (S = {}));
91
+ var P;
92
+ (function(r) {
93
+ r.DataCloneError = "DataCloneError";
94
+ })(P || (P = {}));
95
+ var v;
96
+ (function(r) {
97
+ r.Message = "message";
98
+ })(v || (v = {}));
99
+ const X = (r, e) => {
100
+ const t = [];
101
+ let a = !1;
102
+ return {
103
+ destroy(n) {
104
+ a || (a = !0, e(`${r}: Destroying connection`), t.forEach((o) => {
105
+ o(n);
106
+ }));
107
+ },
108
+ onDestroy(n) {
109
+ a ? n() : t.push(n);
110
+ }
111
+ };
112
+ }, Z = (r) => (...e) => {
113
+ r && console.log("[Penpal]", ...e);
114
+ }, ee = {
115
+ "http:": "80",
116
+ "https:": "443"
117
+ }, te = /^(https?:)?\/\/([^/:]+)?(:(\d+))?/, ae = ["file:", "data:"], re = (r) => {
118
+ if (r && ae.find((s) => r.startsWith(s)))
119
+ return "null";
120
+ const e = document.location, t = te.exec(r);
121
+ let a, n, o;
122
+ t ? (a = t[1] ? t[1] : e.protocol, n = t[2], o = t[4]) : (a = e.protocol, n = e.hostname, o = e.port);
123
+ const c = o && o !== ee[a] ? `:${o}` : "";
124
+ return `${a}//${n}${c}`;
125
+ }, B = ({ name: r, message: e, stack: t }) => ({
126
+ name: r,
127
+ message: e,
128
+ stack: t
129
+ }), ne = (r) => {
130
+ const e = new Error();
131
+ return Object.keys(r).forEach((t) => e[t] = r[t]), e;
132
+ }, oe = (r, e, t) => {
133
+ const { localName: a, local: n, remote: o, originForSending: c, originForReceiving: s } = r;
134
+ let i = !1;
135
+ const p = (d) => {
136
+ if (d.source !== o || d.data.penpal !== y.Call)
137
+ return;
138
+ if (s !== "*" && d.origin !== s) {
139
+ t(`${a} received message from origin ${d.origin} which did not match expected origin ${s}`);
140
+ return;
141
+ }
142
+ const l = d.data, { methodName: f, args: h, id: _ } = l;
143
+ t(`${a}: Received ${f}() call`);
144
+ const w = (u) => (k) => {
145
+ if (t(`${a}: Sending ${f}() reply`), i) {
146
+ t(`${a}: Unable to send ${f}() reply due to destroyed connection`);
147
+ return;
148
+ }
149
+ const b = {
150
+ penpal: y.Reply,
151
+ id: _,
152
+ resolution: u,
153
+ returnValue: k
154
+ };
155
+ u === x.Rejected && k instanceof Error && (b.returnValue = B(k), b.returnValueIsError = !0);
156
+ try {
157
+ o.postMessage(b, c);
158
+ } catch (m) {
159
+ if (m.name === P.DataCloneError) {
160
+ const C = {
161
+ penpal: y.Reply,
162
+ id: _,
163
+ resolution: x.Rejected,
164
+ returnValue: B(m),
165
+ returnValueIsError: !0
166
+ };
167
+ o.postMessage(C, c);
168
+ }
169
+ throw m;
170
+ }
171
+ };
172
+ new Promise((u) => u(e[f].call(e, d.origin).apply(e, h))).then(w(x.Fulfilled), w(x.Rejected));
173
+ };
174
+ return n.addEventListener(v.Message, p), () => {
175
+ i = !0, n.removeEventListener(v.Message, p);
176
+ };
177
+ };
178
+ let se = 0;
179
+ const ie = () => ++se, Q = ".", T = (r) => r ? r.split(Q) : [], ce = (r) => r.join(Q), de = (r, e) => {
180
+ const t = T(e || "");
181
+ return t.push(r), ce(t);
182
+ }, le = (r, e, t) => {
183
+ const a = T(e);
184
+ return a.reduce((n, o, c) => (typeof n[o] > "u" && (n[o] = {}), c === a.length - 1 && (n[o] = t), n[o]), r), r;
185
+ }, z = (r, e) => {
186
+ const t = {};
187
+ return Object.keys(r).forEach((a) => {
188
+ const n = r[a], o = de(a, e);
189
+ typeof n == "object" && Object.assign(t, z(n, o)), typeof n == "function" && (t[o] = n);
190
+ }), t;
191
+ }, pe = (r) => {
192
+ const e = {};
193
+ for (const t in r)
194
+ le(e, t, r[t]);
195
+ return e;
196
+ }, me = (r, e, t, a, n) => {
197
+ const { localName: o, local: c, remote: s, originForSending: i, originForReceiving: p } = e;
198
+ let d = !1;
199
+ n(`${o}: Connecting call sender`);
200
+ const l = (h) => (..._) => {
201
+ n(`${o}: Sending ${h}() call`);
202
+ let w;
203
+ try {
204
+ s.closed && (w = !0);
205
+ } catch {
206
+ w = !0;
207
+ }
208
+ if (w && a(), d) {
209
+ const u = new Error(`Unable to send ${h}() call due to destroyed connection`);
210
+ throw u.code = S.ConnectionDestroyed, u;
211
+ }
212
+ return new Promise((u, k) => {
213
+ const b = ie(), m = (I) => {
214
+ if (I.source !== s || I.data.penpal !== y.Reply || I.data.id !== b)
215
+ return;
216
+ if (p !== "*" && I.origin !== p) {
217
+ n(`${o} received message from origin ${I.origin} which did not match expected origin ${p}`);
218
+ return;
219
+ }
220
+ const E = I.data;
221
+ n(`${o}: Received ${h}() reply`), c.removeEventListener(v.Message, m);
222
+ let D = E.returnValue;
223
+ E.returnValueIsError && (D = ne(D)), (E.resolution === x.Fulfilled ? u : k)(D);
224
+ };
225
+ c.addEventListener(v.Message, m);
226
+ const C = {
227
+ penpal: y.Call,
228
+ id: b,
229
+ methodName: h,
230
+ args: _
231
+ };
232
+ s.postMessage(C, i);
233
+ });
234
+ }, f = t.reduce((h, _) => (h[_] = l(_), h), {});
235
+ return Object.assign(r, pe(f)), () => {
236
+ d = !0;
237
+ };
238
+ }, he = (r, e, t, a, n) => {
239
+ const { destroy: o, onDestroy: c } = a;
240
+ let s, i;
241
+ const p = {};
242
+ return (d) => {
243
+ if (e !== "*" && d.origin !== e) {
244
+ n(`Parent: Handshake - Received ACK message from origin ${d.origin} which did not match expected origin ${e}`);
245
+ return;
246
+ }
247
+ n("Parent: Handshake - Received ACK");
248
+ const l = {
249
+ localName: "Parent",
250
+ local: window,
251
+ remote: d.source,
252
+ originForSending: t,
253
+ originForReceiving: e
254
+ };
255
+ s && s(), s = oe(l, r, n), c(s), i && i.forEach((h) => {
256
+ delete p[h];
257
+ }), i = d.data.methodNames;
258
+ const f = me(p, l, i, o, n);
259
+ return c(f), p;
260
+ };
261
+ }, fe = (r, e, t, a) => (n) => {
262
+ if (!n.source)
263
+ return;
264
+ if (t !== "*" && n.origin !== t) {
265
+ r(`Parent: Handshake - Received SYN message from origin ${n.origin} which did not match expected origin ${t}`);
266
+ return;
267
+ }
268
+ r("Parent: Handshake - Received SYN, responding with SYN-ACK");
269
+ const o = {
270
+ penpal: y.SynAck,
271
+ methodNames: Object.keys(e)
272
+ };
273
+ n.source.postMessage(o, a);
274
+ }, ue = 6e4, ge = (r, e) => {
275
+ const { destroy: t, onDestroy: a } = e, n = setInterval(() => {
276
+ r.isConnected || (clearInterval(n), t());
277
+ }, ue);
278
+ a(() => {
279
+ clearInterval(n);
280
+ });
281
+ }, ye = (r, e) => {
282
+ let t;
283
+ return r !== void 0 && (t = window.setTimeout(() => {
284
+ const a = new Error(`Connection timed out after ${r}ms`);
285
+ a.code = S.ConnectionTimeout, e(a);
286
+ }, r)), () => {
287
+ clearTimeout(t);
288
+ };
289
+ }, be = (r) => {
290
+ if (!r.src && !r.srcdoc) {
291
+ const e = new Error("Iframe must have src or srcdoc property defined.");
292
+ throw e.code = S.NoIframeSrc, e;
293
+ }
294
+ }, _e = (r) => {
295
+ let { iframe: e, methods: t = {}, childOrigin: a, timeout: n, debug: o = !1 } = r;
296
+ const c = Z(o), s = X("Parent", c), { onDestroy: i, destroy: p } = s;
297
+ a || (be(e), a = re(e.src));
298
+ const d = a === "null" ? "*" : a, l = z(t), f = fe(c, l, a, d), h = he(l, a, d, s, c);
299
+ return {
300
+ promise: new Promise((w, u) => {
301
+ const k = ye(n, p), b = (m) => {
302
+ if (!(m.source !== e.contentWindow || !m.data)) {
303
+ if (m.data.penpal === y.Syn) {
304
+ f(m);
305
+ return;
306
+ }
307
+ if (m.data.penpal === y.Ack) {
308
+ const C = h(m);
309
+ C && (k(), w(C));
310
+ return;
311
+ }
312
+ }
313
+ };
314
+ window.addEventListener(v.Message, b), c("Parent: Awaiting handshake"), ge(e, s), i((m) => {
315
+ window.removeEventListener(v.Message, b), m && u(m);
316
+ });
317
+ }),
318
+ destroy() {
319
+ p();
320
+ }
321
+ };
232
322
  };
233
- var account_default = ControllerAccount;
234
- var IFrame = class {
323
+ class F {
235
324
  url;
236
325
  iframe;
237
326
  container;
238
327
  onClose;
239
328
  constructor({
240
- id,
241
- url,
242
- preset,
243
- onClose,
244
- onConnect,
245
- methods = {}
329
+ id: e,
330
+ url: t,
331
+ preset: a,
332
+ onClose: n,
333
+ onConnect: o,
334
+ methods: c = {}
246
335
  }) {
247
- if (typeof document === "undefined") {
336
+ if (typeof document > "u")
248
337
  return;
249
- }
250
- if (preset) {
251
- url.searchParams.set("preset", preset);
252
- }
253
- this.url = url;
254
- const iframe = document.createElement("iframe");
255
- iframe.src = url.toString();
256
- iframe.id = id;
257
- iframe.style.border = "none";
258
- iframe.sandbox.add("allow-forms");
259
- iframe.sandbox.add("allow-popups");
260
- iframe.sandbox.add("allow-scripts");
261
- iframe.sandbox.add("allow-same-origin");
262
- iframe.allow = "publickey-credentials-create *; publickey-credentials-get *; clipboard-write";
263
- if (!!document.hasStorageAccess) {
264
- iframe.sandbox.add("allow-storage-access-by-user-activation");
265
- }
266
- const container = document.createElement("div");
267
- container.id = "controller";
268
- container.style.position = "fixed";
269
- container.style.height = "100%";
270
- container.style.width = "100%";
271
- container.style.top = "0";
272
- container.style.left = "0";
273
- container.style.zIndex = "10000";
274
- container.style.backgroundColor = "rgba(0,0,0,0.6)";
275
- container.style.display = "flex";
276
- container.style.alignItems = "center";
277
- container.style.justifyContent = "center";
278
- container.style.visibility = "hidden";
279
- container.style.opacity = "0";
280
- container.style.transition = "opacity 0.2s ease";
281
- container.appendChild(iframe);
282
- this.iframe = iframe;
283
- this.container = container;
284
- connectToChild({
338
+ a && t.searchParams.set("preset", a), this.url = t;
339
+ const s = document.createElement("iframe");
340
+ s.src = t.toString(), s.id = e, s.style.border = "none", s.sandbox.add("allow-forms"), s.sandbox.add("allow-popups"), s.sandbox.add("allow-scripts"), s.sandbox.add("allow-same-origin"), s.allow = "publickey-credentials-create *; publickey-credentials-get *; clipboard-write", document.hasStorageAccess && s.sandbox.add("allow-storage-access-by-user-activation");
341
+ const i = document.createElement("div");
342
+ i.id = "controller", i.style.position = "fixed", i.style.height = "100%", i.style.width = "100%", i.style.top = "0", i.style.left = "0", i.style.zIndex = "10000", i.style.backgroundColor = "rgba(0,0,0,0.6)", i.style.display = "flex", i.style.alignItems = "center", i.style.justifyContent = "center", i.style.visibility = "hidden", i.style.opacity = "0", i.style.transition = "opacity 0.2s ease", i.appendChild(s), this.iframe = s, this.container = i, _e({
285
343
  iframe: this.iframe,
286
- methods: { close: (_origin) => () => this.close(), ...methods }
287
- }).promise.then(onConnect);
288
- this.resize();
289
- window.addEventListener("resize", () => this.resize());
290
- const observer = new MutationObserver(() => {
291
- const existingController2 = document.getElementById("controller");
292
- if (document.body) {
293
- if (id === "controller-keychain" && !existingController2 || id === "controller-profile") {
294
- document.body.appendChild(container);
295
- observer.disconnect();
296
- }
297
- }
344
+ methods: { close: (l) => () => this.close(), ...c }
345
+ }).promise.then(o), this.resize(), window.addEventListener("resize", () => this.resize());
346
+ const p = new MutationObserver(() => {
347
+ const l = document.getElementById("controller");
348
+ document.body && (e === "controller-keychain" && !l || e === "controller-profile") && (document.body.appendChild(i), p.disconnect());
298
349
  });
299
- observer.observe(document.documentElement, {
300
- childList: true,
301
- subtree: true
350
+ p.observe(document.documentElement, {
351
+ childList: !0,
352
+ subtree: !0
302
353
  });
303
- const existingController = document.getElementById("controller");
304
- if (document.body) {
305
- if (id === "controller-keychain" && !existingController || id === "controller-profile") {
306
- document.body.appendChild(container);
307
- }
308
- }
309
- this.onClose = onClose;
354
+ const d = document.getElementById("controller");
355
+ document.body && (e === "controller-keychain" && !d || e === "controller-profile") && document.body.appendChild(i), this.onClose = n;
310
356
  }
311
357
  open() {
312
- if (!this.container) return;
313
- document.body.style.overflow = "hidden";
314
- this.container.style.visibility = "visible";
315
- this.container.style.opacity = "1";
358
+ this.container && (document.body.style.overflow = "hidden", this.container.style.visibility = "visible", this.container.style.opacity = "1");
316
359
  }
317
360
  close() {
318
- if (!this.container) return;
319
- this.onClose?.();
320
- document.body.style.overflow = "auto";
321
- this.container.style.visibility = "hidden";
322
- this.container.style.opacity = "0";
361
+ this.container && (this.onClose?.(), document.body.style.overflow = "auto", this.container.style.visibility = "hidden", this.container.style.opacity = "0");
323
362
  }
324
363
  sendBackward() {
325
- if (!this.container) return;
326
- this.container.style.zIndex = "9999";
364
+ this.container && (this.container.style.zIndex = "9999");
327
365
  }
328
366
  sendForward() {
329
- if (!this.container) return;
330
- this.container.style.zIndex = "10000";
367
+ this.container && (this.container.style.zIndex = "10000");
331
368
  }
332
369
  resize() {
333
- if (!this.iframe) return;
334
- this.iframe.style.userSelect = "none";
335
- if (window.innerWidth < 768) {
336
- this.iframe.style.height = "100%";
337
- this.iframe.style.width = "100%";
338
- this.iframe.style.borderRadius = "0";
339
- return;
370
+ if (this.iframe) {
371
+ if (this.iframe.style.userSelect = "none", window.innerWidth < 768) {
372
+ this.iframe.style.height = "100%", this.iframe.style.width = "100%", this.iframe.style.borderRadius = "0";
373
+ return;
374
+ }
375
+ this.iframe.style.height = "600px", this.iframe.style.width = "432px", this.iframe.style.borderRadius = "8px";
340
376
  }
341
- this.iframe.style.height = "600px";
342
- this.iframe.style.width = "432px";
343
- this.iframe.style.borderRadius = "8px";
344
377
  }
345
- };
346
-
347
- // src/constants.ts
348
- var KEYCHAIN_URL = "https://x.cartridge.gg";
349
- var PROFILE_URL = "https://profile.cartridge.gg";
350
- var API_URL = "https://api.cartridge.gg";
351
- var MetaMaskWallet = class {
378
+ }
379
+ class we {
352
380
  type = "metamask";
353
381
  platform = "ethereum";
354
382
  MMSDK;
355
383
  account = void 0;
356
384
  constructor() {
357
- this.MMSDK = new MetaMaskSDK({
385
+ this.MMSDK = new G({
358
386
  dappMetadata: {
359
387
  name: "Cartridge Controller",
360
388
  url: window.location.href
@@ -362,751 +390,464 @@ var MetaMaskWallet = class {
362
390
  });
363
391
  }
364
392
  isAvailable() {
365
- return typeof window !== "undefined" && !!window.ethereum?.isMetaMask;
393
+ return typeof window < "u" && !!window.ethereum?.isMetaMask;
366
394
  }
367
395
  getInfo() {
368
- const available = this.isAvailable();
396
+ const e = this.isAvailable();
369
397
  return {
370
398
  type: this.type,
371
- available,
372
- version: available ? window.ethereum?.version || "Unknown" : void 0,
373
- chainId: available ? window.ethereum?.chainId : void 0,
399
+ available: e,
400
+ version: e ? window.ethereum?.version || "Unknown" : void 0,
401
+ chainId: e ? window.ethereum?.chainId : void 0,
374
402
  name: "MetaMask",
375
403
  platform: this.platform
376
404
  };
377
405
  }
378
406
  async connect() {
379
- if (this.account) {
380
- return { success: true, wallet: this.type, account: this.account };
381
- }
407
+ if (this.account)
408
+ return { success: !0, wallet: this.type, account: this.account };
382
409
  try {
383
- if (!this.isAvailable()) {
410
+ if (!this.isAvailable())
384
411
  throw new Error("MetaMask is not available");
385
- }
386
- const accounts = await this.MMSDK.connect();
387
- if (accounts && accounts.length > 0) {
388
- this.account = accounts[0];
389
- return { success: true, wallet: this.type, account: this.account };
390
- }
412
+ const e = await this.MMSDK.connect();
413
+ if (e && e.length > 0)
414
+ return this.account = e[0], { success: !0, wallet: this.type, account: this.account };
391
415
  throw new Error("No accounts found");
392
- } catch (error) {
393
- console.error(`Error connecting to MetaMask:`, error);
394
- return {
395
- success: false,
416
+ } catch (e) {
417
+ return console.error("Error connecting to MetaMask:", e), {
418
+ success: !1,
396
419
  wallet: this.type,
397
- error: error.message || "Unknown error"
420
+ error: e.message || "Unknown error"
398
421
  };
399
422
  }
400
423
  }
401
- async signTransaction(transaction) {
424
+ async signTransaction(e) {
402
425
  try {
403
- if (!this.isAvailable() || !this.account) {
426
+ if (!this.isAvailable() || !this.account)
404
427
  throw new Error("MetaMask is not connected");
405
- }
406
- const ethereum = this.MMSDK.getProvider();
407
- if (!ethereum) {
428
+ const t = this.MMSDK.getProvider();
429
+ if (!t)
408
430
  throw new Error("MetaMask is not connected");
409
- }
410
- const result = await ethereum.request({
431
+ const a = await t.request({
411
432
  method: "eth_sendTransaction",
412
- params: [transaction]
433
+ params: [e]
413
434
  });
414
- return { success: true, wallet: this.type, result };
415
- } catch (error) {
416
- console.error(`Error signing transaction with MetaMask:`, error);
417
- return {
418
- success: false,
435
+ return { success: !0, wallet: this.type, result: a };
436
+ } catch (t) {
437
+ return console.error("Error signing transaction with MetaMask:", t), {
438
+ success: !1,
419
439
  wallet: this.type,
420
- error: error.message || "Unknown error"
440
+ error: t.message || "Unknown error"
421
441
  };
422
442
  }
423
443
  }
424
- async signMessage(message) {
444
+ async signMessage(e) {
425
445
  try {
426
- if (!this.isAvailable() || !this.account) {
446
+ if (!this.isAvailable() || !this.account)
427
447
  throw new Error("MetaMask is not connected");
428
- }
429
- const result = await this.MMSDK.connectAndSign({
430
- msg: message
448
+ const t = await this.MMSDK.connectAndSign({
449
+ msg: e
431
450
  });
432
- return { success: true, wallet: this.type, result };
433
- } catch (error) {
434
- console.error(`Error signing message with MetaMask:`, error);
435
- return {
436
- success: false,
451
+ return { success: !0, wallet: this.type, result: t };
452
+ } catch (t) {
453
+ return console.error("Error signing message with MetaMask:", t), {
454
+ success: !1,
437
455
  wallet: this.type,
438
- error: error.message || "Unknown error"
456
+ error: t.message || "Unknown error"
439
457
  };
440
458
  }
441
459
  }
442
- async signTypedData(data) {
460
+ async signTypedData(e) {
443
461
  try {
444
- if (!this.isAvailable() || !this.account) {
462
+ if (!this.isAvailable() || !this.account)
445
463
  throw new Error("MetaMask is not connected");
446
- }
447
- const ethereum = this.MMSDK.getProvider();
448
- if (!ethereum) {
464
+ const t = this.MMSDK.getProvider();
465
+ if (!t)
449
466
  throw new Error("MetaMask is not connected");
450
- }
451
- const result = await ethereum.request({
467
+ const a = await t.request({
452
468
  method: "eth_signTypedData_v4",
453
- params: [this.account, JSON.stringify(data)]
469
+ params: [this.account, JSON.stringify(e)]
454
470
  });
455
- return { success: true, wallet: this.type, result };
456
- } catch (error) {
457
- console.error(`Error signing typed data with MetaMask:`, error);
458
- return {
459
- success: false,
471
+ return { success: !0, wallet: this.type, result: a };
472
+ } catch (t) {
473
+ return console.error("Error signing typed data with MetaMask:", t), {
474
+ success: !1,
460
475
  wallet: this.type,
461
- error: error.message || "Unknown error"
476
+ error: t.message || "Unknown error"
462
477
  };
463
478
  }
464
479
  }
465
- async switchChain(chainId) {
480
+ async switchChain(e) {
466
481
  try {
467
- if (!this.isAvailable()) {
482
+ if (!this.isAvailable())
468
483
  throw new Error("MetaMask is not available");
469
- }
470
- const ethereum = this.MMSDK.getProvider();
471
- if (!ethereum) {
484
+ const t = this.MMSDK.getProvider();
485
+ if (!t)
472
486
  throw new Error("MetaMask is not connected");
473
- }
474
487
  try {
475
- await ethereum.request({
488
+ return await t.request({
476
489
  method: "wallet_switchEthereumChain",
477
- params: [{ chainId }]
478
- });
479
- return true;
480
- } catch (error) {
481
- if (error.code === 4902) {
482
- console.warn("Chain not added to MetaMask");
483
- }
484
- throw error;
490
+ params: [{ chainId: e }]
491
+ }), !0;
492
+ } catch (a) {
493
+ throw a.code === 4902 && console.warn("Chain not added to MetaMask"), a;
485
494
  }
486
- } catch (error) {
487
- console.error(`Error switching chain for MetaMask:`, error);
488
- return false;
495
+ } catch (t) {
496
+ return console.error("Error switching chain for MetaMask:", t), !1;
489
497
  }
490
498
  }
491
- async getBalance(tokenAddress) {
499
+ async getBalance(e) {
492
500
  try {
493
- if (!this.isAvailable() || !this.account) {
501
+ if (!this.isAvailable() || !this.account)
494
502
  throw new Error("MetaMask is not connected");
495
- }
496
- if (tokenAddress) {
503
+ if (e)
497
504
  return {
498
- success: false,
505
+ success: !1,
499
506
  wallet: this.type,
500
507
  error: "Not implemented for ERC20"
501
508
  };
502
- } else {
503
- const ethereum = this.MMSDK.getProvider();
504
- if (!ethereum) {
509
+ {
510
+ const t = this.MMSDK.getProvider();
511
+ if (!t)
505
512
  throw new Error("MetaMask is not connected");
506
- }
507
- const balance = await ethereum.request({
513
+ const a = await t.request({
508
514
  method: "eth_getBalance",
509
515
  params: [this.account, "latest"]
510
516
  });
511
- return { success: true, wallet: this.type, result: balance };
517
+ return { success: !0, wallet: this.type, result: a };
512
518
  }
513
- } catch (error) {
514
- console.error(`Error getting balance from MetaMask:`, error);
515
- return {
516
- success: false,
519
+ } catch (t) {
520
+ return console.error("Error getting balance from MetaMask:", t), {
521
+ success: !1,
517
522
  wallet: this.type,
518
- error: error.message || "Unknown error"
523
+ error: t.message || "Unknown error"
519
524
  };
520
525
  }
521
526
  }
522
- };
523
-
524
- // src/wallets/phantom/index.ts
525
- var PhantomWallet = class {
527
+ }
528
+ class ve {
526
529
  type = "phantom";
527
530
  platform = "solana";
528
531
  account = void 0;
529
532
  isAvailable() {
530
- return typeof window !== "undefined" && !!window.solana?.isPhantom;
533
+ return typeof window < "u" && !!window.solana?.isPhantom;
531
534
  }
532
535
  getInfo() {
533
- const available = this.isAvailable();
536
+ const e = this.isAvailable();
534
537
  return {
535
538
  type: this.type,
536
- available,
539
+ available: e,
537
540
  version: "Unknown",
538
541
  name: "Phantom",
539
542
  platform: this.platform
540
543
  };
541
544
  }
542
545
  async connect() {
543
- if (this.account) {
544
- return { success: true, wallet: this.type, account: this.account };
545
- }
546
+ if (this.account)
547
+ return { success: !0, wallet: this.type, account: this.account };
546
548
  try {
547
- if (!this.isAvailable()) {
549
+ if (!this.isAvailable())
548
550
  throw new Error("Phantom is not available");
549
- }
550
- const response = await window.solana.connect();
551
- if (response.publicKey) {
552
- this.account = response.publicKey.toString();
553
- return { success: true, wallet: this.type, account: this.account };
554
- }
551
+ const e = await window.solana.connect();
552
+ if (e.publicKey)
553
+ return this.account = e.publicKey.toString(), { success: !0, wallet: this.type, account: this.account };
555
554
  throw new Error("No accounts found");
556
- } catch (error) {
557
- console.error(`Error connecting to Phantom:`, error);
558
- return {
559
- success: false,
555
+ } catch (e) {
556
+ return console.error("Error connecting to Phantom:", e), {
557
+ success: !1,
560
558
  wallet: this.type,
561
- error: error.message || "Unknown error"
559
+ error: e.message || "Unknown error"
562
560
  };
563
561
  }
564
562
  }
565
- async signTransaction(transaction) {
563
+ async signTransaction(e) {
566
564
  try {
567
- if (!this.isAvailable() || !this.account) {
565
+ if (!this.isAvailable() || !this.account)
568
566
  throw new Error("Phantom is not connected");
569
- }
570
- const result = await window.solana.signTransaction(transaction);
571
- return { success: true, wallet: this.type, result };
572
- } catch (error) {
573
- console.error(`Error signing transaction with Phantom:`, error);
574
- return {
575
- success: false,
567
+ const t = await window.solana.signTransaction(e);
568
+ return { success: !0, wallet: this.type, result: t };
569
+ } catch (t) {
570
+ return console.error("Error signing transaction with Phantom:", t), {
571
+ success: !1,
576
572
  wallet: this.type,
577
- error: error.message || "Unknown error"
573
+ error: t.message || "Unknown error"
578
574
  };
579
575
  }
580
576
  }
581
- async signMessage(message) {
577
+ async signMessage(e) {
582
578
  try {
583
- if (!this.isAvailable() || !this.account) {
579
+ if (!this.isAvailable() || !this.account)
584
580
  throw new Error("Phantom is not connected");
585
- }
586
- const encodedMessage = new TextEncoder().encode(message);
587
- const result = await window.solana.signMessage(encodedMessage, "utf8");
588
- return { success: true, wallet: this.type, result };
589
- } catch (error) {
590
- console.error(`Error signing message with Phantom:`, error);
591
- return {
592
- success: false,
581
+ const t = new TextEncoder().encode(e), a = await window.solana.signMessage(t, "utf8");
582
+ return { success: !0, wallet: this.type, result: a };
583
+ } catch (t) {
584
+ return console.error("Error signing message with Phantom:", t), {
585
+ success: !1,
593
586
  wallet: this.type,
594
- error: error.message || "Unknown error"
587
+ error: t.message || "Unknown error"
595
588
  };
596
589
  }
597
590
  }
598
- async switchChain(_chainId) {
599
- console.warn("Chain switching not supported for Phantom");
600
- return false;
591
+ async switchChain(e) {
592
+ return console.warn("Chain switching not supported for Phantom"), !1;
601
593
  }
602
- async getBalance(_tokenAddress) {
594
+ async getBalance(e) {
603
595
  try {
604
- if (!this.isAvailable() || !this.account) {
596
+ if (!this.isAvailable() || !this.account)
605
597
  throw new Error("Phantom is not connected");
606
- }
607
598
  return {
608
- success: true,
599
+ success: !0,
609
600
  wallet: this.type,
610
601
  result: "Implement based on Phantom API"
611
602
  };
612
- } catch (error) {
613
- console.error(`Error getting balance from Phantom:`, error);
614
- return {
615
- success: false,
603
+ } catch (t) {
604
+ return console.error("Error getting balance from Phantom:", t), {
605
+ success: !1,
616
606
  wallet: this.type,
617
- error: error.message || "Unknown error"
607
+ error: t.message || "Unknown error"
618
608
  };
619
609
  }
620
610
  }
621
- };
622
- var ArgentWallet = class {
611
+ }
612
+ class ke {
623
613
  type = "argent";
624
614
  platform = "starknet";
625
615
  wallet = void 0;
626
616
  account = void 0;
627
617
  isAvailable() {
628
- return typeof window !== "undefined" && !!window.starknet_argentX;
618
+ return typeof window < "u" && !!window.starknet_argentX;
629
619
  }
630
620
  getInfo() {
631
- const available = this.isAvailable();
621
+ const e = this.isAvailable();
632
622
  return {
633
623
  type: this.type,
634
- available,
635
- version: available ? window.starknet_argentX?.version || "Unknown" : void 0,
636
- chainId: available ? window.starknet_argentX?.chainId : void 0,
624
+ available: e,
625
+ version: e ? window.starknet_argentX?.version || "Unknown" : void 0,
626
+ chainId: e ? window.starknet_argentX?.chainId : void 0,
637
627
  name: "Argent",
638
628
  platform: this.platform
639
629
  };
640
630
  }
641
631
  async connect() {
642
- if (this.account) {
643
- return { success: true, wallet: this.type, account: this.account };
644
- }
632
+ if (this.account)
633
+ return { success: !0, wallet: this.type, account: this.account };
645
634
  try {
646
- if (!this.isAvailable()) {
635
+ if (!this.isAvailable())
647
636
  throw new Error("Argent is not available");
648
- }
649
- const { wallet, connectorData } = await connect({
650
- connectors: [new InjectedConnector({ options: { id: "argentX" } })]
637
+ const { wallet: e, connectorData: t } = await V({
638
+ connectors: [new J({ options: { id: "argentX" } })]
651
639
  });
652
- if (!wallet) {
640
+ if (!e)
653
641
  throw new Error("No wallet found");
654
- }
655
- this.wallet = wallet;
656
- this.account = connectorData?.account;
657
- return { success: true, wallet: this.type, account: this.account };
658
- } catch (error) {
659
- console.error(`Error connecting to Argent:`, error);
660
- return {
661
- success: false,
642
+ return this.wallet = e, this.account = t?.account, { success: !0, wallet: this.type, account: this.account };
643
+ } catch (e) {
644
+ return console.error("Error connecting to Argent:", e), {
645
+ success: !1,
662
646
  wallet: this.type,
663
- error: error.message || "Unknown error"
647
+ error: e.message || "Unknown error"
664
648
  };
665
649
  }
666
650
  }
667
- async signTypedData(data) {
651
+ async signTypedData(e) {
668
652
  try {
669
- if (!this.isAvailable() || !this.wallet) {
653
+ if (!this.isAvailable() || !this.wallet)
670
654
  throw new Error("Argent is not connected");
671
- }
672
- console.log("signTypedData", data);
673
- const sig = await this.wallet.request({
655
+ console.log("signTypedData", e);
656
+ const t = await this.wallet.request({
674
657
  type: "wallet_signTypedData",
675
- params: data
658
+ params: e
676
659
  });
677
- return { success: true, wallet: this.type, result: sig };
678
- } catch (error) {
679
- console.error(`Error signing typed data with Argent:`, error);
680
- return {
681
- success: false,
660
+ return { success: !0, wallet: this.type, result: t };
661
+ } catch (t) {
662
+ return console.error("Error signing typed data with Argent:", t), {
663
+ success: !1,
682
664
  wallet: this.type,
683
- error: error.message || "Unknown error"
665
+ error: t.message || "Unknown error"
684
666
  };
685
667
  }
686
668
  }
687
- async switchChain(_chainId) {
688
- console.warn(
669
+ async switchChain(e) {
670
+ return console.warn(
689
671
  "Chain switching for Argent may require custom implementation"
690
- );
691
- return false;
672
+ ), !1;
692
673
  }
693
- async getBalance(_tokenAddress) {
674
+ async getBalance(e) {
694
675
  try {
695
- if (!this.isAvailable() || !this.wallet) {
676
+ if (!this.isAvailable() || !this.wallet)
696
677
  throw new Error("Argent is not connected");
697
- }
698
678
  return {
699
- success: true,
679
+ success: !0,
700
680
  wallet: this.type,
701
681
  result: "Implement based on Argent API"
702
682
  };
703
- } catch (error) {
704
- console.error(`Error getting balance from Argent:`, error);
705
- return {
706
- success: false,
683
+ } catch (t) {
684
+ return console.error("Error getting balance from Argent:", t), {
685
+ success: !1,
707
686
  wallet: this.type,
708
- error: error.message || "Unknown error"
687
+ error: t.message || "Unknown error"
709
688
  };
710
689
  }
711
690
  }
712
- };
713
-
714
- // src/wallets/bridge.ts
715
- var WalletBridge = class {
691
+ }
692
+ class Ae {
716
693
  walletAdapters;
717
694
  connectedWallets = /* @__PURE__ */ new Map();
718
695
  constructor() {
719
- this.walletAdapters = /* @__PURE__ */ new Map();
720
- this.walletAdapters.set("metamask", new MetaMaskWallet());
721
- this.walletAdapters.set("phantom", new PhantomWallet());
722
- this.walletAdapters.set("argent", new ArgentWallet());
723
- if (typeof window !== "undefined") {
724
- window.wallet_bridge = this;
725
- }
696
+ this.walletAdapters = /* @__PURE__ */ new Map(), this.walletAdapters.set("metamask", new we()), this.walletAdapters.set("phantom", new ve()), this.walletAdapters.set("argent", new ke()), typeof window < "u" && (window.wallet_bridge = this);
726
697
  }
727
698
  getIFrameMethods() {
728
699
  return {
729
- externalDetectWallets: (_origin) => () => this.detectWallets(),
730
- externalConnectWallet: (_origin) => (type) => this.connectWallet(type),
731
- externalSignMessage: (_origin) => (type, message) => this.signMessage(type, message),
732
- externalSignTypedData: (_origin) => (type, data) => this.signTypedData(type, data),
733
- externalGetBalance: (_origin) => (type, tokenAddress) => this.getBalance(type, tokenAddress)
700
+ externalDetectWallets: (e) => () => this.detectWallets(),
701
+ externalConnectWallet: (e) => (t) => this.connectWallet(t),
702
+ externalSignMessage: (e) => (t, a) => this.signMessage(t, a),
703
+ externalSignTypedData: (e) => (t, a) => this.signTypedData(t, a),
704
+ externalGetBalance: (e) => (t, a) => this.getBalance(t, a)
734
705
  };
735
706
  }
736
707
  async detectWallets() {
737
- const wallets = Array.from(this.walletAdapters.values()).map(
738
- (adapter) => adapter.getInfo()
708
+ return Array.from(this.walletAdapters.values()).map(
709
+ (t) => t.getInfo()
739
710
  );
740
- return wallets;
741
711
  }
742
- getWalletAdapter(type) {
743
- const adapter = this.walletAdapters.get(type);
744
- if (!adapter) {
745
- throw new Error(`Unsupported wallet type: ${type}`);
746
- }
747
- return adapter;
712
+ getWalletAdapter(e) {
713
+ const t = this.walletAdapters.get(e);
714
+ if (!t)
715
+ throw new Error(`Unsupported wallet type: ${e}`);
716
+ return t;
748
717
  }
749
- handleError(type, error, operation) {
750
- const errorMessage = error instanceof Error ? error.message : "Unknown error";
751
- console.error(`Error ${operation} with ${type} wallet:`, error);
752
- return { success: false, wallet: type, error: errorMessage };
718
+ handleError(e, t, a) {
719
+ const n = t instanceof Error ? t.message : "Unknown error";
720
+ return console.error(`Error ${a} with ${e} wallet:`, t), { success: !1, wallet: e, error: n };
753
721
  }
754
- async connectWallet(type) {
722
+ async connectWallet(e) {
755
723
  try {
756
- if (this.connectedWallets.has(type)) {
757
- const wallet2 = this.connectedWallets.get(type);
758
- return { success: true, wallet: type, account: wallet2.type };
759
- }
760
- const wallet = this.getWalletAdapter(type);
761
- const response = await wallet.connect();
762
- if (response.success) {
763
- this.connectedWallets.set(type, wallet);
724
+ if (this.connectedWallets.has(e)) {
725
+ const n = this.connectedWallets.get(e);
726
+ return { success: !0, wallet: e, account: n.type };
764
727
  }
765
- return response;
766
- } catch (error) {
767
- return this.handleError(type, error, "connecting to");
728
+ const t = this.getWalletAdapter(e), a = await t.connect();
729
+ return a.success && this.connectedWallets.set(e, t), a;
730
+ } catch (t) {
731
+ return this.handleError(e, t, "connecting to");
768
732
  }
769
733
  }
770
- async signMessage(type, message) {
734
+ async signMessage(e, t) {
771
735
  try {
772
- if (!this.connectedWallets.has(type)) {
773
- throw new Error(`Wallet ${type} is not connected`);
774
- }
775
- const wallet = this.connectedWallets.get(type);
776
- if (!wallet.signMessage) {
777
- throw new Error(`Wallet ${type} does not support signing messages`);
778
- }
779
- return await wallet.signMessage(message);
780
- } catch (error) {
781
- return this.handleError(type, error, "signing message with");
736
+ if (!this.connectedWallets.has(e))
737
+ throw new Error(`Wallet ${e} is not connected`);
738
+ const a = this.connectedWallets.get(e);
739
+ if (!a.signMessage)
740
+ throw new Error(`Wallet ${e} does not support signing messages`);
741
+ return await a.signMessage(t);
742
+ } catch (a) {
743
+ return this.handleError(e, a, "signing message with");
782
744
  }
783
745
  }
784
- async signTypedData(type, data) {
746
+ async signTypedData(e, t) {
785
747
  try {
786
- if (!this.connectedWallets.has(type)) {
787
- throw new Error(`Wallet ${type} is not connected`);
788
- }
789
- const wallet = this.connectedWallets.get(type);
790
- if (!wallet.signTypedData) {
791
- throw new Error(`Wallet ${type} does not support signing typed data`);
792
- }
793
- return await wallet.signTypedData(data);
794
- } catch (error) {
795
- return this.handleError(type, error, "signing typed data with");
748
+ if (!this.connectedWallets.has(e))
749
+ throw new Error(`Wallet ${e} is not connected`);
750
+ const a = this.connectedWallets.get(e);
751
+ if (!a.signTypedData)
752
+ throw new Error(`Wallet ${e} does not support signing typed data`);
753
+ return await a.signTypedData(t);
754
+ } catch (a) {
755
+ return this.handleError(e, a, "signing typed data with");
796
756
  }
797
757
  }
798
- async getBalance(type, tokenAddress) {
758
+ async getBalance(e, t) {
799
759
  try {
800
- if (!this.connectedWallets.has(type)) {
801
- throw new Error(`Wallet ${type} is not connected`);
802
- }
803
- const wallet = this.connectedWallets.get(type);
804
- return await wallet.getBalance(tokenAddress);
805
- } catch (error) {
806
- return this.handleError(type, error, "getting balance from");
760
+ if (!this.connectedWallets.has(e))
761
+ throw new Error(`Wallet ${e} is not connected`);
762
+ return await this.connectedWallets.get(e).getBalance(t);
763
+ } catch (a) {
764
+ return this.handleError(e, a, "getting balance from");
807
765
  }
808
766
  }
809
- };
810
-
811
- // src/iframe/keychain.ts
812
- var KeychainIFrame = class extends IFrame {
767
+ }
768
+ class xe extends F {
813
769
  walletBridge;
814
- constructor({ url, policies, ...iframeOptions }) {
815
- const _url = new URL(url ?? KEYCHAIN_URL);
816
- const walletBridge = new WalletBridge();
817
- if (policies) {
818
- _url.searchParams.set(
819
- "policies",
820
- encodeURIComponent(JSON.stringify(policies))
821
- );
822
- }
823
- super({
824
- ...iframeOptions,
770
+ constructor({ url: e, policies: t, ...a }) {
771
+ const n = new URL(e ?? W), o = new Ae();
772
+ t && n.searchParams.set(
773
+ "policies",
774
+ encodeURIComponent(JSON.stringify(t))
775
+ ), super({
776
+ ...a,
825
777
  id: "controller-keychain",
826
- url: _url,
827
- methods: walletBridge.getIFrameMethods()
828
- });
829
- this.walletBridge = walletBridge;
778
+ url: n,
779
+ methods: o.getIFrameMethods()
780
+ }), this.walletBridge = o;
830
781
  }
831
782
  getWalletBridge() {
832
783
  return this.walletBridge;
833
784
  }
834
- };
835
-
836
- // src/iframe/profile.ts
837
- var ProfileIFrame = class extends IFrame {
785
+ }
786
+ class Ce extends F {
838
787
  constructor({
839
- profileUrl,
840
- rpcUrl,
841
- version,
842
- username,
843
- slot,
844
- namespace,
845
- tokens,
846
- policies,
847
- ...iframeOptions
788
+ profileUrl: e,
789
+ rpcUrl: t,
790
+ version: a,
791
+ username: n,
792
+ slot: o,
793
+ namespace: c,
794
+ tokens: s,
795
+ policies: i,
796
+ ...p
848
797
  }) {
849
- const _profileUrl = (profileUrl || PROFILE_URL).replace(/\/$/, "");
850
- let _url = new URL(
851
- slot ? namespace ? `${_profileUrl}/account/${username}/slot/${slot}?ps=${encodeURIComponent(
852
- slot
853
- )}&ns=${encodeURIComponent(namespace)}` : `${_profileUrl}/account/${username}/slot/${slot}?ps=${encodeURIComponent(
854
- slot
855
- )}` : `${_profileUrl}/account/${username}`
798
+ const d = (e || H).replace(/\/$/, "");
799
+ let l = new URL(
800
+ o ? `${d}/account/${n}/slot/${o}` : `${d}/account/${n}`
856
801
  );
857
- if (version) {
858
- _url.searchParams.set("v", encodeURIComponent(version));
859
- }
860
- _url.searchParams.set("rpcUrl", encodeURIComponent(rpcUrl));
861
- if (tokens?.erc20) {
862
- _url.searchParams.set(
863
- "erc20",
864
- encodeURIComponent(tokens.erc20.toString())
802
+ if (o && l.searchParams.set("ps", encodeURIComponent(o)), c && l.searchParams.set("ns", encodeURIComponent(c)), a && l.searchParams.set("v", encodeURIComponent(a)), l.searchParams.set("rpcUrl", encodeURIComponent(t)), s?.erc20 && l.searchParams.set(
803
+ "erc20",
804
+ encodeURIComponent(s.erc20.toString())
805
+ ), i?.contracts) {
806
+ const f = Object.values(i.contracts).flatMap(
807
+ (h) => h.methods
865
808
  );
866
- }
867
- if (policies?.contracts) {
868
- const methods = Object.values(policies.contracts).flatMap(
869
- (contract) => contract.methods
870
- );
871
- _url.searchParams.set(
809
+ l.searchParams.set(
872
810
  "methods",
873
- encodeURIComponent(JSON.stringify(methods))
811
+ encodeURIComponent(JSON.stringify(f))
874
812
  );
875
813
  }
876
814
  super({
877
- ...iframeOptions,
815
+ ...p,
878
816
  id: "controller-profile",
879
- url: _url
817
+ url: l
880
818
  });
881
819
  }
882
- };
883
-
884
- // src/errors.ts
885
- var NotReadyToConnect = class _NotReadyToConnect extends Error {
886
- constructor() {
887
- super("Not ready to connect");
888
- Object.setPrototypeOf(this, _NotReadyToConnect.prototype);
889
- }
890
- };
891
-
892
- // package.json
893
- var package_default = {
894
- version: "0.7.8"};
895
-
896
- // src/icon.ts
897
- var icon = "data:image/png;base64,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";
898
-
899
- // src/mutex.ts
900
- function releaseStub() {
901
820
  }
902
- var Mutex = class {
903
- m_lastPromise = Promise.resolve();
904
- /**
905
- * Acquire lock
906
- * @param [bypass=false] option to skip lock acquisition
907
- */
908
- async obtain(bypass = false) {
909
- let release = releaseStub;
910
- if (bypass) return release;
911
- const lastPromise = this.m_lastPromise;
912
- this.m_lastPromise = new Promise((resolve) => release = resolve);
913
- await lastPromise;
914
- return release;
915
- }
916
- };
917
-
918
- // src/provider.ts
919
- var mutex = new Mutex();
920
- var BaseProvider = class {
921
- id = "controller";
922
- name = "Controller";
923
- version = package_default.version;
924
- icon = icon;
925
- account;
926
- subscriptions = [];
927
- _probePromise = null;
928
- async safeProbe() {
929
- if (this.account) {
930
- return this.account;
931
- }
932
- if (this._probePromise) {
933
- return this._probePromise;
934
- }
935
- const release = await mutex.obtain();
936
- return await new Promise(async (resolve) => {
937
- try {
938
- this._probePromise = this.probe();
939
- const result = await this._probePromise;
940
- resolve(result);
941
- } finally {
942
- this._probePromise = null;
943
- }
944
- }).finally(() => {
945
- release();
946
- });
947
- }
948
- request = async (call) => {
949
- switch (call.type) {
950
- case "wallet_getPermissions":
951
- await this.safeProbe();
952
- if (this.account) {
953
- return [Permission.ACCOUNTS];
954
- }
955
- return [];
956
- case "wallet_requestAccounts": {
957
- if (this.account) {
958
- return [this.account.address];
959
- }
960
- const silentMode = call.params && call.params.silent_mode;
961
- this.account = await this.safeProbe();
962
- if (!this.account && !silentMode) {
963
- this.account = await this.connect();
964
- }
965
- if (this.account) {
966
- return [this.account.address];
967
- }
968
- return [];
969
- }
970
- case "wallet_watchAsset":
971
- throw {
972
- code: 63,
973
- message: "An unexpected error occurred",
974
- data: "wallet_watchAsset not implemented"
975
- };
976
- case "wallet_addStarknetChain": {
977
- let params2 = call.params;
978
- return this.addStarknetChain(params2);
979
- }
980
- case "wallet_switchStarknetChain": {
981
- let params2 = call.params;
982
- return this.switchStarknetChain(params2.chainId);
983
- }
984
- case "wallet_requestChainId":
985
- if (!this.account) {
986
- throw {
987
- code: 63,
988
- message: "An unexpected error occurred",
989
- data: "Account not initialized"
990
- };
991
- }
992
- return await this.account.getChainId();
993
- case "wallet_deploymentData":
994
- throw {
995
- code: 63,
996
- message: "An unexpected error occurred",
997
- data: "wallet_deploymentData not implemented"
998
- };
999
- case "wallet_addInvokeTransaction":
1000
- if (!this.account) {
1001
- throw {
1002
- code: 63,
1003
- message: "An unexpected error occurred",
1004
- data: "Account not initialized"
1005
- };
1006
- }
1007
- let params = call.params;
1008
- return await this.account.execute(
1009
- params.calls.map((call2) => ({
1010
- contractAddress: call2.contract_address,
1011
- entrypoint: call2.entry_point,
1012
- calldata: call2.calldata
1013
- }))
1014
- );
1015
- case "wallet_addDeclareTransaction":
1016
- throw {
1017
- code: 63,
1018
- message: "An unexpected error occurred",
1019
- data: "wallet_addDeclareTransaction not implemented"
1020
- };
1021
- case "wallet_signTypedData": {
1022
- if (!this.account) {
1023
- throw {
1024
- code: 63,
1025
- message: "An unexpected error occurred",
1026
- data: "Account not initialized"
1027
- };
1028
- }
1029
- return await this.account.signMessage(call.params);
1030
- }
1031
- case "wallet_supportedSpecs":
1032
- return [];
1033
- case "wallet_supportedWalletApi":
1034
- return [];
1035
- default:
1036
- throw {
1037
- code: 63,
1038
- message: "An unexpected error occurred",
1039
- data: `Unknown RPC call type: ${call.type}`
1040
- };
1041
- }
1042
- };
1043
- on = (event, handler) => {
1044
- if (event !== "accountsChanged" && event !== "networkChanged") {
1045
- throw new Error(`Unknown event: ${event}`);
1046
- }
1047
- this.subscriptions.push({ type: event, handler });
1048
- };
1049
- off = (event, handler) => {
1050
- if (event !== "accountsChanged" && event !== "networkChanged") {
1051
- throw new Error(`Unknown event: ${event}`);
1052
- }
1053
- const idx = this.subscriptions.findIndex(
1054
- (sub) => sub.type === event && sub.handler === handler
1055
- );
1056
- if (idx >= 0) {
1057
- this.subscriptions.splice(idx, 1);
1058
- }
1059
- };
1060
- emitNetworkChanged(chainId) {
1061
- this.subscriptions.filter((sub) => sub.type === "networkChanged").forEach((sub) => {
1062
- sub.handler(chainId);
1063
- });
1064
- }
1065
- emitAccountsChanged(accounts) {
1066
- this.subscriptions.filter((sub) => sub.type === "accountsChanged").forEach((sub) => {
1067
- sub.handler(accounts);
1068
- });
1069
- }
1070
- };
1071
- var ControllerProvider = class extends BaseProvider {
821
+ class Me extends j {
1072
822
  keychain;
1073
823
  profile;
1074
824
  options;
1075
825
  iframes;
1076
826
  selectedChain;
1077
827
  chains;
1078
- constructor(options) {
1079
- super();
1080
- this.selectedChain = options.defaultChainId;
1081
- this.chains = /* @__PURE__ */ new Map();
1082
- this.iframes = {
1083
- keychain: new KeychainIFrame({
1084
- ...options,
828
+ constructor(e) {
829
+ super(), this.selectedChain = e.defaultChainId, this.chains = /* @__PURE__ */ new Map(), this.iframes = {
830
+ keychain: new xe({
831
+ ...e,
1085
832
  onClose: this.keychain?.reset,
1086
- onConnect: (keychain) => {
1087
- this.keychain = keychain;
833
+ onConnect: (t) => {
834
+ this.keychain = t;
1088
835
  }
1089
836
  })
1090
- };
1091
- this.options = options;
1092
- this.validateChains(options.chains);
1093
- if (typeof window !== "undefined") {
1094
- window.starknet_controller = this;
1095
- }
837
+ }, this.options = e, this.validateChains(e.chains), typeof window < "u" && (window.starknet_controller = this);
1096
838
  }
1097
839
  async probe() {
1098
840
  try {
1099
- await this.waitForKeychain();
1100
- if (!this.keychain) {
1101
- console.error(new NotReadyToConnect().message);
841
+ if (await this.waitForKeychain(), !this.keychain) {
842
+ console.error(new g().message);
1102
843
  return;
1103
844
  }
1104
- const response = await this.keychain.probe(this.rpcUrl());
1105
- let rpcUrl = response?.rpcUrl || this.rpcUrl();
1106
- this.account = new account_default(
845
+ const e = await this.keychain.probe(this.rpcUrl());
846
+ let t = e?.rpcUrl || this.rpcUrl();
847
+ this.account = new N(
1107
848
  this,
1108
- rpcUrl,
1109
- response.address,
849
+ t,
850
+ e.address,
1110
851
  this.keychain,
1111
852
  this.options,
1112
853
  this.iframes.keychain
@@ -1116,11 +857,11 @@ var ControllerProvider = class extends BaseProvider {
1116
857
  return;
1117
858
  }
1118
859
  if (!this.iframes.profile) {
1119
- const username = await this.keychain.username();
1120
- this.iframes.profile = new ProfileIFrame({
860
+ const e = await this.keychain.username();
861
+ this.iframes.profile = new Ce({
1121
862
  ...this.options,
1122
- onConnect: (profile) => {
1123
- this.profile = profile;
863
+ onConnect: (t) => {
864
+ this.profile = t;
1124
865
  },
1125
866
  methods: {
1126
867
  openSettings: () => this.openSettings.bind(this),
@@ -1128,89 +869,64 @@ var ControllerProvider = class extends BaseProvider {
1128
869
  openExecute: () => this.openExecute.bind(this)
1129
870
  },
1130
871
  rpcUrl: this.rpcUrl(),
1131
- username,
872
+ username: e,
1132
873
  version: this.version
1133
874
  });
1134
875
  }
1135
876
  return this.account;
1136
877
  }
1137
878
  async connect() {
1138
- if (this.account) {
879
+ if (this.account)
1139
880
  return this.account;
1140
- }
1141
881
  if (!this.keychain || !this.iframes.keychain) {
1142
- console.error(new NotReadyToConnect().message);
882
+ console.error(new g().message);
1143
883
  return;
1144
884
  }
1145
- if (!!document.hasStorageAccess) {
1146
- const ok = await document.hasStorageAccess();
1147
- if (!ok) {
1148
- await document.requestStorageAccess();
1149
- }
1150
- }
1151
- this.iframes.keychain.open();
885
+ document.hasStorageAccess && (await document.hasStorageAccess() || await document.requestStorageAccess()), this.iframes.keychain.open();
1152
886
  try {
1153
- let response = await this.keychain.connect(
887
+ let e = await this.keychain.connect(
1154
888
  this.options.policies || {},
1155
889
  this.rpcUrl()
1156
890
  );
1157
- if (response.code !== "SUCCESS" /* SUCCESS */) {
1158
- throw new Error(response.message);
1159
- }
1160
- response = response;
1161
- this.account = new account_default(
891
+ if (e.code !== A.SUCCESS)
892
+ throw new Error(e.message);
893
+ return e = e, this.account = new N(
1162
894
  this,
1163
895
  this.rpcUrl(),
1164
- response.address,
896
+ e.address,
1165
897
  this.keychain,
1166
898
  this.options,
1167
899
  this.iframes.keychain
1168
- );
1169
- return this.account;
900
+ ), this.account;
1170
901
  } catch (e) {
1171
902
  console.log(e);
1172
903
  } finally {
1173
904
  this.iframes.keychain.close();
1174
905
  }
1175
906
  }
1176
- async switchStarknetChain(chainId) {
1177
- if (!this.keychain || !this.iframes.keychain) {
1178
- console.error(new NotReadyToConnect().message);
1179
- return false;
1180
- }
907
+ async switchStarknetChain(e) {
908
+ if (!this.keychain || !this.iframes.keychain)
909
+ return console.error(new g().message), !1;
1181
910
  try {
1182
- this.selectedChain = chainId;
1183
- const response = await this.keychain.probe(this.rpcUrl());
1184
- if (response.rpcUrl === this.rpcUrl()) {
1185
- return true;
1186
- }
1187
- await this.keychain.switchChain(this.rpcUrl());
1188
- await this.profile?.switchChain(this.rpcUrl());
1189
- } catch (e) {
1190
- console.error(e);
1191
- return false;
911
+ if (this.selectedChain = e, (await this.keychain.probe(this.rpcUrl())).rpcUrl === this.rpcUrl())
912
+ return !0;
913
+ await this.keychain.switchChain(this.rpcUrl()), await this.profile?.switchChain(this.rpcUrl());
914
+ } catch (t) {
915
+ return console.error(t), !1;
1192
916
  }
1193
- this.emitNetworkChanged(chainId);
1194
- return true;
917
+ return this.emitNetworkChanged(e), !0;
1195
918
  }
1196
- addStarknetChain(_chain) {
1197
- return Promise.resolve(true);
919
+ addStarknetChain(e) {
920
+ return Promise.resolve(!0);
1198
921
  }
1199
922
  async disconnect() {
1200
923
  if (!this.keychain) {
1201
- console.error(new NotReadyToConnect().message);
924
+ console.error(new g().message);
1202
925
  return;
1203
926
  }
1204
- if (!!document.hasStorageAccess) {
1205
- const ok = await document.hasStorageAccess();
1206
- if (!ok) {
1207
- await document.requestStorageAccess();
1208
- }
1209
- }
1210
- this.account = void 0;
1211
- return this.keychain.disconnect();
927
+ return document.hasStorageAccess && (await document.hasStorageAccess() || await document.requestStorageAccess()), this.account = void 0, this.keychain.disconnect();
1212
928
  }
1213
- async openProfile(tab = "inventory") {
929
+ async openProfile(e = "inventory") {
1214
930
  if (!this.profile || !this.iframes.profile?.url) {
1215
931
  console.error("Profile is not ready");
1216
932
  return;
@@ -1219,10 +935,9 @@ var ControllerProvider = class extends BaseProvider {
1219
935
  console.error("Account is not ready");
1220
936
  return;
1221
937
  }
1222
- this.profile.navigate(`${this.iframes.profile.url?.pathname}/${tab}`);
1223
- this.iframes.profile.open();
938
+ this.profile.navigate(`${this.iframes.profile.url?.pathname}/${e}`), this.iframes.profile.open();
1224
939
  }
1225
- async openProfileTo(to) {
940
+ async openProfileTo(e) {
1226
941
  if (!this.profile || !this.iframes.profile?.url) {
1227
942
  console.error("Profile is not ready");
1228
943
  return;
@@ -1231,10 +946,9 @@ var ControllerProvider = class extends BaseProvider {
1231
946
  console.error("Account is not ready");
1232
947
  return;
1233
948
  }
1234
- this.profile.navigate(`${this.iframes.profile.url?.pathname}/${to}`);
1235
- this.iframes.profile.open();
949
+ this.profile.navigate(`${this.iframes.profile.url?.pathname}/${e}`), this.iframes.profile.open();
1236
950
  }
1237
- async openProfileAt(at) {
951
+ async openProfileAt(e) {
1238
952
  if (!this.profile || !this.iframes.profile?.url) {
1239
953
  console.error("Profile is not ready");
1240
954
  return;
@@ -1243,181 +957,127 @@ var ControllerProvider = class extends BaseProvider {
1243
957
  console.error("Account is not ready");
1244
958
  return;
1245
959
  }
1246
- this.profile.navigate(at);
1247
- this.iframes.profile.open();
960
+ this.profile.navigate(e), this.iframes.profile.open();
1248
961
  }
1249
962
  async openSettings() {
1250
- if (!this.keychain || !this.iframes.keychain) {
1251
- console.error(new NotReadyToConnect().message);
1252
- return null;
1253
- }
1254
- if (this.iframes.profile?.sendBackward) {
1255
- this.iframes.profile?.sendBackward();
1256
- } else {
1257
- this.iframes.profile?.close();
1258
- }
1259
- this.iframes.keychain.open();
1260
- const res = await this.keychain.openSettings();
1261
- this.iframes.keychain.close();
1262
- this.iframes.profile?.sendForward?.();
1263
- if (res && res.code === "NOT_CONNECTED" /* NOT_CONNECTED */) {
1264
- return false;
1265
- }
1266
- return true;
963
+ if (!this.keychain || !this.iframes.keychain)
964
+ return console.error(new g().message), null;
965
+ this.iframes.profile?.sendBackward ? this.iframes.profile?.sendBackward() : this.iframes.profile?.close(), this.iframes.keychain.open();
966
+ const e = await this.keychain.openSettings();
967
+ return this.iframes.keychain.close(), this.iframes.profile?.sendForward?.(), !(e && e.code === A.NOT_CONNECTED);
1267
968
  }
1268
- revoke(origin, _policy) {
1269
- if (!this.keychain) {
1270
- console.error(new NotReadyToConnect().message);
1271
- return null;
1272
- }
1273
- return this.keychain.revoke(origin);
969
+ revoke(e, t) {
970
+ return this.keychain ? this.keychain.revoke(e) : (console.error(new g().message), null);
1274
971
  }
1275
972
  rpcUrl() {
1276
- const chain = this.chains.get(this.selectedChain);
1277
- if (!chain) {
1278
- const availableChains = Array.from(this.chains.keys()).map(
1279
- (chain2) => shortString.decodeShortString(chain2)
973
+ const e = this.chains.get(this.selectedChain);
974
+ if (!e) {
975
+ const t = Array.from(this.chains.keys()).map(
976
+ (a) => M.decodeShortString(a)
1280
977
  );
1281
978
  throw new Error(
1282
- `Chain not found: ${shortString.decodeShortString(this.selectedChain)}. Available chains: ${availableChains.join(", ")}`
979
+ `Chain not found: ${M.decodeShortString(this.selectedChain)}. Available chains: ${t.join(", ")}`
1283
980
  );
1284
981
  }
1285
- return chain.rpcUrl;
982
+ return e.rpcUrl;
1286
983
  }
1287
984
  username() {
1288
985
  if (!this.keychain) {
1289
- console.error(new NotReadyToConnect().message);
986
+ console.error(new g().message);
1290
987
  return;
1291
988
  }
1292
989
  return this.keychain.username();
1293
990
  }
1294
991
  openPurchaseCredits() {
1295
992
  if (!this.keychain || !this.iframes.keychain) {
1296
- console.error(new NotReadyToConnect().message);
993
+ console.error(new g().message);
1297
994
  return;
1298
995
  }
1299
996
  if (!this.iframes.profile) {
1300
997
  console.error("Profile is not ready");
1301
998
  return;
1302
999
  }
1303
- this.iframes.profile.close();
1304
- this.iframes.keychain.open();
1305
- this.keychain.openPurchaseCredits();
1000
+ this.iframes.profile.close(), this.iframes.keychain.open(), this.keychain.openPurchaseCredits();
1306
1001
  }
1307
- async openExecute(calls, chainId) {
1002
+ async openExecute(e, t) {
1308
1003
  if (!this.keychain || !this.iframes.keychain) {
1309
- console.error(new NotReadyToConnect().message);
1004
+ console.error(new g().message);
1310
1005
  return;
1311
1006
  }
1312
1007
  if (!this.iframes.profile) {
1313
1008
  console.error("Profile is not ready");
1314
1009
  return;
1315
1010
  }
1316
- let currentChainId = this.selectedChain;
1317
- if (chainId) {
1318
- this.switchStarknetChain(chainId);
1319
- }
1320
- this.iframes.profile?.sendBackward();
1321
- this.iframes.keychain.open();
1322
- this.iframes.profile?.close();
1323
- const res = await this.keychain.execute(calls, void 0, void 0, true);
1324
- this.iframes.profile?.open();
1325
- this.iframes.keychain.close();
1326
- this.iframes.profile?.sendForward();
1327
- if (chainId) {
1328
- this.switchStarknetChain(currentChainId);
1329
- }
1330
- return !(res && (res.code === "NOT_CONNECTED" /* NOT_CONNECTED */ || res.code === "CANCELED" /* CANCELED */));
1011
+ let a = this.selectedChain;
1012
+ t && this.switchStarknetChain(t), this.iframes.profile?.sendBackward(), this.iframes.keychain.open(), this.iframes.profile?.close();
1013
+ const n = await this.keychain.execute(e, void 0, void 0, !0);
1014
+ return this.iframes.profile?.open(), this.iframes.keychain.close(), this.iframes.profile?.sendForward(), t && this.switchStarknetChain(a), !(n && (n.code === A.NOT_CONNECTED || n.code === A.CANCELED));
1331
1015
  }
1332
1016
  async delegateAccount() {
1333
- if (!this.keychain) {
1334
- console.error(new NotReadyToConnect().message);
1335
- return null;
1336
- }
1337
- return await this.keychain.delegateAccount();
1017
+ return this.keychain ? await this.keychain.delegateAccount() : (console.error(new g().message), null);
1338
1018
  }
1339
- async validateChains(chains) {
1340
- for (const chain of chains) {
1019
+ async validateChains(e) {
1020
+ for (const t of e)
1341
1021
  try {
1342
- const url = new URL(chain.rpcUrl);
1343
- const chainId = await parseChainId(url);
1344
- this.chains.set(chainId, chain);
1345
- } catch (error) {
1346
- console.error(`Failed to parse chainId for ${chain.rpcUrl}:`, error);
1022
+ const a = new URL(t.rpcUrl), n = await K(a);
1023
+ this.chains.set(n, t);
1024
+ } catch (a) {
1025
+ console.error(`Failed to parse chainId for ${t.rpcUrl}:`, a);
1347
1026
  }
1348
- }
1349
- if (!this.chains.has(this.selectedChain)) {
1350
- console.warn(
1351
- `Selected chain ${this.selectedChain} not found in configured chains. Available chains: ${Array.from(this.chains.keys()).join(", ")}`
1352
- );
1353
- }
1027
+ this.chains.has(this.selectedChain) || console.warn(
1028
+ `Selected chain ${this.selectedChain} not found in configured chains. Available chains: ${Array.from(this.chains.keys()).join(", ")}`
1029
+ );
1354
1030
  }
1355
1031
  waitForKeychain({
1356
- timeout = 5e4,
1357
- interval = 100
1032
+ timeout: e = 5e4,
1033
+ interval: t = 100
1358
1034
  } = {}) {
1359
- return new Promise((resolve, reject) => {
1360
- const startTime = Date.now();
1361
- const id = setInterval(() => {
1362
- if (Date.now() - startTime > timeout) {
1363
- clearInterval(id);
1364
- reject(new Error("Timeout waiting for keychain"));
1035
+ return new Promise((a, n) => {
1036
+ const o = Date.now(), c = setInterval(() => {
1037
+ if (Date.now() - o > e) {
1038
+ clearInterval(c), n(new Error("Timeout waiting for keychain"));
1365
1039
  return;
1366
1040
  }
1367
- if (!this.keychain) return;
1368
- clearInterval(id);
1369
- resolve();
1370
- }, interval);
1041
+ this.keychain && (clearInterval(c), a());
1042
+ }, t);
1371
1043
  });
1372
1044
  }
1373
- };
1374
- var cache = /* @__PURE__ */ new Map();
1375
- async function lookup(request) {
1376
- if (!request.addresses?.length && !request.usernames?.length) {
1045
+ }
1046
+ const R = /* @__PURE__ */ new Map();
1047
+ async function U(r) {
1048
+ if (!r.addresses?.length && !r.usernames?.length)
1377
1049
  return { results: [] };
1378
- }
1379
- const response = await fetch(`${API_URL}/lookup`, {
1050
+ const e = await fetch(`${q}/lookup`, {
1380
1051
  method: "POST",
1381
1052
  headers: {
1382
1053
  "Content-Type": "application/json"
1383
1054
  },
1384
- body: JSON.stringify(request)
1055
+ body: JSON.stringify(r)
1385
1056
  });
1386
- if (!response.ok) {
1387
- throw new Error(`HTTP error! status: ${response.status}`);
1388
- }
1389
- return response.json();
1057
+ if (!e.ok)
1058
+ throw new Error(`HTTP error! status: ${e.status}`);
1059
+ return e.json();
1390
1060
  }
1391
- async function lookupUsernames(usernames) {
1392
- const uncachedUsernames = usernames.filter((name) => !cache.has(name));
1393
- if (uncachedUsernames.length > 0) {
1394
- const response = await lookup({ usernames: uncachedUsernames });
1395
- response.results.forEach((result) => {
1396
- cache.set(result.username, result.addresses[0]);
1397
- });
1398
- }
1399
- return new Map(
1400
- usernames.map((name) => [name, cache.get(name)]).filter((entry) => entry[1] !== void 0)
1061
+ async function Ne(r) {
1062
+ const e = r.filter((t) => !R.has(t));
1063
+ return e.length > 0 && (await U({ usernames: e })).results.forEach((a) => {
1064
+ R.set(a.username, a.addresses[0]);
1065
+ }), new Map(
1066
+ r.map((t) => [t, R.get(t)]).filter((t) => t[1] !== void 0)
1401
1067
  );
1402
1068
  }
1403
- async function lookupAddresses(addresses) {
1404
- addresses = addresses.map(num.toHex);
1405
- const uncachedAddresses = addresses.filter((addr) => !cache.has(addr));
1406
- if (uncachedAddresses.length > 0) {
1407
- const response = await lookup({
1408
- addresses: uncachedAddresses
1409
- });
1410
- response.results.forEach((result) => {
1411
- cache.set(result.addresses[0], result.username);
1412
- });
1413
- }
1414
- return new Map(
1415
- addresses.map((addr) => [addr, cache.get(addr)]).filter((entry) => entry[1] !== void 0)
1069
+ async function Be(r) {
1070
+ r = r.map(Y.toHex);
1071
+ const e = r.filter((t) => !R.has(t));
1072
+ return e.length > 0 && (await U({
1073
+ addresses: e
1074
+ })).results.forEach((a) => {
1075
+ R.set(a.addresses[0], a.username);
1076
+ }), new Map(
1077
+ r.map((t) => [t, R.get(t)]).filter((t) => t[1] !== void 0)
1416
1078
  );
1417
1079
  }
1418
-
1419
- // ../../node_modules/.pnpm/@cartridge+presets@https+++codeload.github.com+cartridge-gg+presets+tar.gz+b7d379e/node_modules/@cartridge/presets/dist/index.js
1420
- var configs = {
1080
+ var L = {
1421
1081
  "blob-arena": {
1422
1082
  origin: "blobarena.xyz",
1423
1083
  theme: {
@@ -1427,6 +1087,249 @@ var configs = {
1427
1087
  cover: "https://static.cartridge.gg/presets/blob-arena/cover.png",
1428
1088
  icon: "https://static.cartridge.gg/presets/blob-arena/icon.png",
1429
1089
  name: "Blob Arena"
1090
+ },
1091
+ chains: {
1092
+ SN_MAIN: {
1093
+ policies: {
1094
+ contracts: {
1095
+ "0x0170d4eb49bf626342a15cf77b0809baebee30cafbf7884b2d89bbb27e689f6d": {
1096
+ name: "Lobby Contract",
1097
+ description: "Game invites and responses",
1098
+ methods: [
1099
+ {
1100
+ name: "Send Invite",
1101
+ entrypoint: "send_invite",
1102
+ description: "Send users an invite"
1103
+ },
1104
+ {
1105
+ name: "Rescind Invite",
1106
+ entrypoint: "rescind_invite",
1107
+ description: "Rescind a previously sent invite"
1108
+ },
1109
+ {
1110
+ name: "Respond Invite",
1111
+ entrypoint: "respond_invite",
1112
+ description: "Respond to a received invite"
1113
+ },
1114
+ {
1115
+ name: "Rescind Response",
1116
+ entrypoint: "rescind_response",
1117
+ description: "Rescind a previous response to an invite"
1118
+ },
1119
+ {
1120
+ name: "Reject Invite",
1121
+ entrypoint: "reject_invite",
1122
+ description: "Reject a received invite"
1123
+ },
1124
+ {
1125
+ name: "Reject Response",
1126
+ entrypoint: "reject_response",
1127
+ description: "Reject a response to an invite"
1128
+ },
1129
+ {
1130
+ name: "Accept Response",
1131
+ entrypoint: "accept_response",
1132
+ description: "Accept a response to an invite"
1133
+ }
1134
+ ]
1135
+ },
1136
+ "0x02e4769ec3ac16456e6c6f806efc90f49d46df2a07b431a5a5d8b62e4fb21633": {
1137
+ name: "Game Contract",
1138
+ description: "Manages core gameplay interactions",
1139
+ methods: [
1140
+ {
1141
+ name: "Start Game",
1142
+ entrypoint: "start",
1143
+ description: "Start the game"
1144
+ },
1145
+ {
1146
+ name: "Commit Attack",
1147
+ entrypoint: "commit",
1148
+ description: "Commit an attack in the game"
1149
+ },
1150
+ {
1151
+ name: "Reveal Attack",
1152
+ entrypoint: "reveal",
1153
+ description: "Reveal the committed attack in the game"
1154
+ },
1155
+ {
1156
+ name: "Run Round",
1157
+ entrypoint: "run",
1158
+ description: "Run the next round of the game"
1159
+ },
1160
+ {
1161
+ name: "Forfeit",
1162
+ entrypoint: "forfeit",
1163
+ description: "Forfeit the game"
1164
+ },
1165
+ {
1166
+ name: "Kick Player",
1167
+ entrypoint: "kick_player",
1168
+ description: "Kick an inactive player from the game"
1169
+ }
1170
+ ]
1171
+ },
1172
+ "0x220896431692627f8d0caf9ac45e71c3b3d88c7c009acff756ff2081030a2b1": {
1173
+ name: "Betsy Contract",
1174
+ description: "Wager operations",
1175
+ methods: [
1176
+ {
1177
+ name: "Set Owner's Fee",
1178
+ entrypoint: "set_owners_fee",
1179
+ description: "Set the owner's fee"
1180
+ },
1181
+ {
1182
+ name: "Create Bet",
1183
+ entrypoint: "create",
1184
+ description: "Create a bet"
1185
+ },
1186
+ {
1187
+ name: "Accept Bet",
1188
+ entrypoint: "accept",
1189
+ description: "Accept a bet"
1190
+ },
1191
+ {
1192
+ name: "Reject Bet",
1193
+ entrypoint: "reject",
1194
+ description: "Reject a bet"
1195
+ },
1196
+ {
1197
+ name: "Revoke Bet",
1198
+ entrypoint: "revoke",
1199
+ description: "Revoke a bet"
1200
+ },
1201
+ {
1202
+ name: "Claim Win",
1203
+ entrypoint: "claim_win",
1204
+ description: "Claim the win"
1205
+ },
1206
+ {
1207
+ name: "Approve Release",
1208
+ entrypoint: "approve_release",
1209
+ description: "Approve fund release"
1210
+ },
1211
+ {
1212
+ name: "Revoke Release",
1213
+ entrypoint: "revoke_release",
1214
+ description: "Revoke fund release"
1215
+ },
1216
+ {
1217
+ name: "Release Funds",
1218
+ entrypoint: "release_funds",
1219
+ description: "Release funds"
1220
+ }
1221
+ ]
1222
+ },
1223
+ "0x56e5ae9af38c6eb85c226fbadaa31e37b5ee1a5401a9c371f4e7f154b76dce3": {
1224
+ name: "Arcade Contract",
1225
+ description: "Minting of arcade Bloberts",
1226
+ methods: [
1227
+ {
1228
+ name: "Mint Arcade Blobert",
1229
+ entrypoint: "mint",
1230
+ description: "Mint arcade blobert"
1231
+ }
1232
+ ]
1233
+ },
1234
+ "0x05a929a543e55877c58973a677fbd3b145f5057b39b87c89d879c87715878d52": {
1235
+ name: "AMMA Contract",
1236
+ description: "Minting of AMMA Bloberts",
1237
+ methods: [
1238
+ {
1239
+ name: "Mint AMMA Blobert",
1240
+ entrypoint: "mint",
1241
+ description: "Mint AMMA blobert"
1242
+ }
1243
+ ]
1244
+ },
1245
+ "0x14aefc8245c5f2c17204857372944aba413ec639547359b629682c542eca555": {
1246
+ name: "PVE Contract",
1247
+ description: "Arcade mode contract",
1248
+ methods: [
1249
+ {
1250
+ name: "Start Game",
1251
+ entrypoint: "start_game",
1252
+ description: "Start the game"
1253
+ },
1254
+ {
1255
+ name: "Attack",
1256
+ entrypoint: "attack",
1257
+ description: "Submit an attack"
1258
+ },
1259
+ {
1260
+ name: "Start Challenge",
1261
+ entrypoint: "start_challenge",
1262
+ description: "Start a challenge"
1263
+ },
1264
+ {
1265
+ name: "Next Challenge Round",
1266
+ entrypoint: "next_challenge_round",
1267
+ description: "Go forward"
1268
+ },
1269
+ {
1270
+ name: "Respawn Challenge",
1271
+ entrypoint: "respawn_challenge",
1272
+ description: "Restart a challenge"
1273
+ },
1274
+ {
1275
+ name: "End Challenge",
1276
+ entrypoint: "end_challenge",
1277
+ description: "End a challenge"
1278
+ },
1279
+ {
1280
+ name: "Claim Free Game",
1281
+ entrypoint: "claim_free_game",
1282
+ description: "Claim an arcade game"
1283
+ }
1284
+ ]
1285
+ },
1286
+ "0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7": {
1287
+ name: "ETH Token",
1288
+ description: "ETH ERC20 approval",
1289
+ methods: [
1290
+ {
1291
+ name: "Approve",
1292
+ entrypoint: "approve",
1293
+ description: "ETH allowance"
1294
+ }
1295
+ ]
1296
+ },
1297
+ "0x072599086bffce6593a2e08169c21d23564f08be1e1d0b8e05a9768f20469a3f": {
1298
+ name: "LORDS Token",
1299
+ description: "LORDS ERC20 approval",
1300
+ methods: [
1301
+ {
1302
+ name: "Approve",
1303
+ entrypoint: "approve",
1304
+ description: "LORDS allowance"
1305
+ }
1306
+ ]
1307
+ },
1308
+ "0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d": {
1309
+ name: "STRK Token",
1310
+ description: "STRK ERC20 approval",
1311
+ methods: [
1312
+ {
1313
+ name: "Approve",
1314
+ entrypoint: "approve",
1315
+ description: "STRK allowance"
1316
+ }
1317
+ ]
1318
+ }
1319
+ }
1320
+ }
1321
+ }
1322
+ }
1323
+ },
1324
+ "blob-arena-amma": {
1325
+ origin: "blobarena.xyz",
1326
+ theme: {
1327
+ colors: {
1328
+ primary: "#D7B000"
1329
+ },
1330
+ cover: "https://static.cartridge.gg/presets/blob-arena-amma/cover.png",
1331
+ icon: "https://static.cartridge.gg/presets/blob-arena-amma/icon.png",
1332
+ name: "Blob Arena AMMA"
1430
1333
  }
1431
1334
  },
1432
1335
  budokan: {
@@ -1435,7 +1338,7 @@ var configs = {
1435
1338
  SN_MAIN: {
1436
1339
  policies: {
1437
1340
  contracts: {
1438
- "0x0530d9693304c79b5b506aa2fa09c27681373d71b69a839378ff5fd108aa5fc6": {
1341
+ "0x05fb427962210ac4b3be5e23419b0d9e91ca6a9c57b0665d2ca7783092506f6e": {
1439
1342
  name: "Budokan",
1440
1343
  methods: [
1441
1344
  {
@@ -1471,6 +1374,17 @@ var configs = {
1471
1374
  name: "Budokan"
1472
1375
  }
1473
1376
  },
1377
+ "bytebeasts-tamagotchi": {
1378
+ origin: "bytebeasts.games",
1379
+ theme: {
1380
+ colors: {
1381
+ primary: "#ECECDA"
1382
+ },
1383
+ cover: "https://static.cartridge.gg/presets/bytebeasts-tamagotchi/cover.png",
1384
+ icon: "https://static.cartridge.gg/presets/bytebeasts-tamagotchi/icon.png",
1385
+ name: "ByteBeasts-Tamagotchi"
1386
+ }
1387
+ },
1474
1388
  cartridge: {
1475
1389
  origin: "*",
1476
1390
  theme: {
@@ -1482,6 +1396,112 @@ var configs = {
1482
1396
  }
1483
1397
  }
1484
1398
  },
1399
+ coloniz: {
1400
+ origin: ["coloniz.xyz"],
1401
+ chains: {
1402
+ SN_MAIN: {
1403
+ policies: {
1404
+ contracts: {
1405
+ "0x430d7262fb9ad2c830d793471c3a07e08afe54f9a5f0d28db48712bc918f5f": {
1406
+ name: "Tokenbound Sessions",
1407
+ methods: [
1408
+ {
1409
+ name: "Execute",
1410
+ entrypoint: "execute",
1411
+ description: "Session proxy"
1412
+ }
1413
+ ]
1414
+ },
1415
+ "0x56977e22ad4751ea5b3df958da3080971c7f26036127452b98c154fbea86d06": {
1416
+ name: "Profile Creation",
1417
+ methods: [
1418
+ {
1419
+ name: "Create A Coloniz Profile",
1420
+ entrypoint: "create_profile",
1421
+ description: "Create a profile on Coloniz"
1422
+ }
1423
+ ]
1424
+ },
1425
+ "0x5cc4644374e3f91b52cfe64937dacaec91b2d81fe2f146a860ab5b3bb751ce8": {
1426
+ name: "Handles Minting",
1427
+ methods: [
1428
+ {
1429
+ name: "Mint Handle",
1430
+ entrypoint: "mint_handle",
1431
+ description: "Mint Coloniz Profile Handle"
1432
+ }
1433
+ ]
1434
+ },
1435
+ "0x79914426e3cc5336c479ee87770380ceeda4b60496657e70c3ee7d57a992226": {
1436
+ name: "Handle Registry",
1437
+ methods: [
1438
+ {
1439
+ name: "Link Handle",
1440
+ entrypoint: "link",
1441
+ description: "Link handle to Coloniz Profile"
1442
+ }
1443
+ ]
1444
+ }
1445
+ },
1446
+ messages: [
1447
+ {
1448
+ name: "Sign in to Coloniz",
1449
+ description: "Sign the message to login to Coloniz",
1450
+ types: {
1451
+ StarknetDomain: [
1452
+ {
1453
+ name: "name",
1454
+ type: "shortstring"
1455
+ },
1456
+ {
1457
+ name: "version",
1458
+ type: "shortstring"
1459
+ },
1460
+ {
1461
+ name: "chainId",
1462
+ type: "shortstring"
1463
+ },
1464
+ {
1465
+ name: "revision",
1466
+ type: "shortstring"
1467
+ }
1468
+ ],
1469
+ Signin: [
1470
+ {
1471
+ name: "content",
1472
+ type: "string"
1473
+ },
1474
+ {
1475
+ name: "nonce",
1476
+ type: "string"
1477
+ },
1478
+ {
1479
+ name: "timestamp",
1480
+ type: "string"
1481
+ }
1482
+ ]
1483
+ },
1484
+ primaryType: "Signin",
1485
+ domain: {
1486
+ name: "Coloniz",
1487
+ version: "1",
1488
+ revision: "1",
1489
+ chainId: "SN_MAIN"
1490
+ }
1491
+ }
1492
+ ]
1493
+ }
1494
+ }
1495
+ },
1496
+ theme: {
1497
+ colors: {
1498
+ primary: "#4285F4"
1499
+ },
1500
+ cover: "https://static.cartridge.gg/presets/coloniz/cover.png",
1501
+ icon: "https://static.cartridge.gg/presets/coloniz/icon.png",
1502
+ name: "Coloniz"
1503
+ }
1504
+ },
1485
1505
  credit: {
1486
1506
  origin: "*",
1487
1507
  theme: {
@@ -1504,7 +1524,7 @@ var configs = {
1504
1524
  SN_MAIN: {
1505
1525
  policies: {
1506
1526
  contracts: {
1507
- "0x020fc3c9efd0dde5f53642dac7f53638aeaae98ff9af5f1642546f389ce9dec5": {
1527
+ "0x0320f977f47f0885e376b781d9e244d9f59f10154ce844ae1815c919f0374726": {
1508
1528
  name: "game_systems",
1509
1529
  methods: [
1510
1530
  {
@@ -1515,7 +1535,7 @@ var configs = {
1515
1535
  }
1516
1536
  ]
1517
1537
  },
1518
- "0x036d27fb8604302b7e4f747a73a84b7c9ae9106f3c5f65e51e934fac9f7c753f": {
1538
+ "0x0062cfee20a5be4b305f610a23291aa27f3fca7a5fd14bd8e2d0389556003e12": {
1519
1539
  name: "battle_systems",
1520
1540
  methods: [
1521
1541
  {
@@ -1523,7 +1543,7 @@ var configs = {
1523
1543
  }
1524
1544
  ]
1525
1545
  },
1526
- "0x046f9c2f2f3144059f7332bd989151f782f462f4ea6e3755c2f7b3eac49be73d": {
1546
+ "0x00ae7393b60ad9fd5c26851341b9a4afe61c6ae34326dee79cf5d096e9f55a36": {
1527
1547
  name: "draft_systems",
1528
1548
  methods: [
1529
1549
  {
@@ -1531,7 +1551,7 @@ var configs = {
1531
1551
  }
1532
1552
  ]
1533
1553
  },
1534
- "0x045543452215a2b416d8c52e5a475e7e0eed2e7cbaf5a699ae5fc0599f4afae9": {
1554
+ "0x07c9a684813410b39c776c49544d8ecb2d39f0b91bd83ffec31ebc938e053e25": {
1535
1555
  name: "map_systems",
1536
1556
  methods: [
1537
1557
  {
@@ -1541,14 +1561,6 @@ var configs = {
1541
1561
  entrypoint: "select_node"
1542
1562
  }
1543
1563
  ]
1544
- },
1545
- "0x0530d9693304c79b5b506aa2fa09c27681373d71b69a839378ff5fd108aa5fc6": {
1546
- name: "tournament_component",
1547
- methods: [
1548
- {
1549
- entrypoint: "enter_tournament"
1550
- }
1551
- ]
1552
1564
  }
1553
1565
  }
1554
1566
  }
@@ -2811,8 +2823,7 @@ var configs = {
2811
2823
  name: "zKube"
2812
2824
  }
2813
2825
  }
2814
- };
2815
- var metadata = [
2826
+ }, Ie = [
2816
2827
  {
2817
2828
  name: "Wrapped BTC",
2818
2829
  symbol: "WBTC",
@@ -2838,7 +2849,7 @@ var metadata = [
2838
2849
  l2_token_address: "0x070a76fd48ca0ef910631754d77dd822147fe98a569b826ec85e3c33fde586ac",
2839
2850
  sort_order: 3,
2840
2851
  total_supply: null,
2841
- hidden: true,
2852
+ hidden: !0,
2842
2853
  logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/dc0ae733-5498-4afa-f475-48dba677aa00/logo"
2843
2854
  },
2844
2855
  {
@@ -2866,7 +2877,7 @@ var metadata = [
2866
2877
  l2_token_address: "0x00da114221cb83fa859dbdb4c44beeaa0bb37c7537ad5ae66fe5e0efd20e6eb3",
2867
2878
  sort_order: 4,
2868
2879
  total_supply: null,
2869
- hidden: true,
2880
+ hidden: !0,
2870
2881
  logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/919e761b-56f7-4f53-32aa-5e066f7f6200/logo"
2871
2882
  },
2872
2883
  {
@@ -2921,7 +2932,7 @@ var metadata = [
2921
2932
  l2_token_address: "0x01fa2fb85f624600112040e1f3a848f53a37ed5a7385810063d5fe6887280333",
2922
2933
  sort_order: 3,
2923
2934
  total_supply: null,
2924
- hidden: true,
2935
+ hidden: !0,
2925
2936
  logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/77612e4e-f7ee-4dba-2066-af321843ef00/logo"
2926
2937
  },
2927
2938
  {
@@ -2931,7 +2942,7 @@ var metadata = [
2931
2942
  l2_token_address: "0x009c6b4fb13dfaa025c1383ed6190af8ed8cbb09d9588a3bb020feb152442406",
2932
2943
  sort_order: 1,
2933
2944
  total_supply: 649462235,
2934
- hidden: true,
2945
+ hidden: !0,
2935
2946
  logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/eeaf0779-e492-474c-ef19-b27843525600/logo"
2936
2947
  },
2937
2948
  {
@@ -2941,7 +2952,7 @@ var metadata = [
2941
2952
  l2_token_address: "0x0058efd0e73c33a848ffaa88738d128ebf0af98ea78cf3c14dc757bb02d39ffb",
2942
2953
  sort_order: 1,
2943
2954
  total_supply: null,
2944
- hidden: true,
2955
+ hidden: !0,
2945
2956
  logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/98bea621-1e4f-4d63-9689-bdaef0d56500/logo"
2946
2957
  },
2947
2958
  {
@@ -2951,7 +2962,7 @@ var metadata = [
2951
2962
  l2_token_address: "0x04578fffc279e61b5cb0267a5f8e24b6089d40f93158fbbad2cb23b8622c9233",
2952
2963
  sort_order: 1,
2953
2964
  total_supply: null,
2954
- hidden: true,
2965
+ hidden: !0,
2955
2966
  logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/cd6fe18a-25db-4de9-758a-daf3b364ea00/logo"
2956
2967
  },
2957
2968
  {
@@ -2970,7 +2981,7 @@ var metadata = [
2970
2981
  l2_token_address: "0x0410466536b5ae074f7fea81e5533b8134a9fa08b3dd077dd9db08f64997d113",
2971
2982
  sort_order: 1,
2972
2983
  total_supply: null,
2973
- hidden: true,
2984
+ hidden: !0,
2974
2985
  logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/811f019a-0461-4cff-6c1e-442102863f00/logo"
2975
2986
  },
2976
2987
  {
@@ -2980,8 +2991,8 @@ var metadata = [
2980
2991
  l2_token_address: "0x06f15ec4b6ff0b7f7a216c4b2ccdefc96cbf114d6242292ca82971592f62273b",
2981
2992
  sort_order: 1,
2982
2993
  total_supply: null,
2983
- hidden: true,
2984
- disabled: true
2994
+ hidden: !0,
2995
+ disabled: !0
2985
2996
  },
2986
2997
  {
2987
2998
  name: "StarkNet Token",
@@ -3017,7 +3028,7 @@ var metadata = [
3017
3028
  l2_token_address: "0x023ed2ba4fb5709302c5dfd739fa7613359042f143286c115b6c7f7dc2601015",
3018
3029
  sort_order: 1,
3019
3030
  total_supply: 1e11,
3020
- hidden: true,
3031
+ hidden: !0,
3021
3032
  logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/2db5a2a6-c98e-4b80-35e0-31b489132100/logo"
3022
3033
  },
3023
3034
  {
@@ -3045,7 +3056,7 @@ var metadata = [
3045
3056
  l2_token_address: "0x498edfaf50ca5855666a700c25dd629d577eb9afccdf3b5977aec79aee55ada",
3046
3057
  sort_order: 3,
3047
3058
  total_supply: null,
3048
- hidden: false,
3059
+ hidden: !1,
3049
3060
  logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/6bd6d156-f509-4b51-5dfc-3ee566143600/logo"
3050
3061
  },
3051
3062
  {
@@ -3055,7 +3066,7 @@ var metadata = [
3055
3066
  l2_token_address: "0xe5f10eddc01699dc899a30dbc3c9858148fa4aa0a47c0ffd85f887ffc4653e",
3056
3067
  sort_order: 1,
3057
3068
  total_supply: 1,
3058
- hidden: true,
3069
+ hidden: !0,
3059
3070
  logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/90868d05-cb75-4c42-278c-5a540db2cf00/logo"
3060
3071
  },
3061
3072
  {
@@ -3065,7 +3076,7 @@ var metadata = [
3065
3076
  l2_token_address: "0x01bfe97d729138fc7c2d93c77d6d1d8a24708d5060608017d9b384adf38f04c7",
3066
3077
  sort_order: 1,
3067
3078
  total_supply: null,
3068
- hidden: true,
3079
+ hidden: !0,
3069
3080
  logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/275f0fa8-a691-471c-ace6-0eb0315dde00/logo"
3070
3081
  },
3071
3082
  {
@@ -3075,7 +3086,7 @@ var metadata = [
3075
3086
  l2_token_address: "0x439a1c010e3e1bb2d43d43411000893c0042bd88f6c701611a0ea914d426da4",
3076
3087
  sort_order: 1,
3077
3088
  total_supply: null,
3078
- hidden: true,
3089
+ hidden: !0,
3079
3090
  logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/932e7f83-a4c2-40f0-3048-35af3b194100/logo"
3080
3091
  },
3081
3092
  {
@@ -3085,7 +3096,7 @@ var metadata = [
3085
3096
  l2_token_address: "0xce635e3f241b0ae78c46a929d84a9101910188f9c4024eaa7559556503c31a",
3086
3097
  sort_order: 1,
3087
3098
  total_supply: null,
3088
- hidden: true,
3099
+ hidden: !0,
3089
3100
  logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/cf2ee180-06bf-4443-e3aa-724d7c28e800/logo"
3090
3101
  },
3091
3102
  {
@@ -3095,7 +3106,7 @@ var metadata = [
3095
3106
  l2_token_address: "0x40d8907cec0f7ae9c364dfb12485a1314d84c129bf1898d2f3d4b7fcc7d44f4",
3096
3107
  sort_order: 1,
3097
3108
  total_supply: null,
3098
- hidden: true,
3109
+ hidden: !0,
3099
3110
  logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/1db5f954-c1ef-447e-9f8f-05bd9f3b2b00/logo"
3100
3111
  },
3101
3112
  {
@@ -3105,7 +3116,7 @@ var metadata = [
3105
3116
  l2_token_address: "0x66ed5c928ee027a9419ace1cbea8389885161db5572a7c5c4fef2310e9bf494",
3106
3117
  sort_order: 1,
3107
3118
  total_supply: null,
3108
- hidden: true,
3119
+ hidden: !0,
3109
3120
  logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/6bbcdcc9-6146-404d-9501-92a664cf3100/logo"
3110
3121
  },
3111
3122
  {
@@ -3115,7 +3126,7 @@ var metadata = [
3115
3126
  l2_token_address: "0x1720cf6318bff45e62acc588680ae3cd4d5f8465b1d52cb710533c9299b031a",
3116
3127
  sort_order: 1,
3117
3128
  total_supply: null,
3118
- hidden: true,
3129
+ hidden: !0,
3119
3130
  logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/5af7c03b-e4ae-4aee-eba4-a4e2160a1d00/logo"
3120
3131
  },
3121
3132
  {
@@ -3125,7 +3136,7 @@ var metadata = [
3125
3136
  l2_token_address: "0x3b6448d09dcd023507376402686261f5d6739455fa02f804907b066e488da66",
3126
3137
  sort_order: 1,
3127
3138
  total_supply: null,
3128
- hidden: true,
3139
+ hidden: !0,
3129
3140
  logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/8be9bc66-486b-4181-6804-725a1db8ad00/logo"
3130
3141
  },
3131
3142
  {
@@ -3135,7 +3146,7 @@ var metadata = [
3135
3146
  l2_token_address: "0xdff9dca192609c4e86ab3be22c7ec1e968876c992d21986f3c542be97fa2f",
3136
3147
  sort_order: 1,
3137
3148
  total_supply: null,
3138
- hidden: true,
3149
+ hidden: !0,
3139
3150
  logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/fb9e90f7-3c2f-4c64-7e43-c3f694f35e00/logo"
3140
3151
  },
3141
3152
  {
@@ -3145,7 +3156,7 @@ var metadata = [
3145
3156
  l2_token_address: "0x6fe21d2d4a8a05bdb70f09c9250af9870020d5dcc35f410b4a39d6605c3e353",
3146
3157
  sort_order: 1,
3147
3158
  total_supply: null,
3148
- hidden: true,
3159
+ hidden: !0,
3149
3160
  logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/e443afeb-850b-46a0-a7ba-a473306d6b00/logo"
3150
3161
  },
3151
3162
  {
@@ -3155,7 +3166,7 @@ var metadata = [
3155
3166
  l2_token_address: "0x67ba235c569c23877064b2ac6ebd4d79f32d3c00f5fab8e28a3b5700b957f6",
3156
3167
  sort_order: 1,
3157
3168
  total_supply: null,
3158
- hidden: true,
3169
+ hidden: !0,
3159
3170
  logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/33dc517f-8a66-45eb-f2c5-de5388e47500/logo"
3160
3171
  },
3161
3172
  {
@@ -3165,7 +3176,7 @@ var metadata = [
3165
3176
  l2_token_address: "0x3956a5301e99522038a2e7dcb9c2a89bf087ffa79310ee0a508b5538efd8ddd",
3166
3177
  sort_order: 1,
3167
3178
  total_supply: null,
3168
- hidden: true,
3179
+ hidden: !0,
3169
3180
  logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/3d2e0fd8-4af8-49a0-4bdb-691a4d6ef800/logo"
3170
3181
  },
3171
3182
  {
@@ -3175,7 +3186,7 @@ var metadata = [
3175
3186
  l2_token_address: "0x555d713e59d4ff96b7960447e9bc9e79bfdeab5b0eea74e3df81bce61cfbc77",
3176
3187
  sort_order: 1,
3177
3188
  total_supply: null,
3178
- hidden: true,
3189
+ hidden: !0,
3179
3190
  logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/878c0d8a-8e2c-4281-0896-9cbbb2ef9400/logo"
3180
3191
  },
3181
3192
  {
@@ -3185,7 +3196,7 @@ var metadata = [
3185
3196
  l2_token_address: "0x1d655ac834d38df7921074fc1588411e202b1af83307cbd996983aff52db3a8",
3186
3197
  sort_order: 1,
3187
3198
  total_supply: null,
3188
- hidden: true,
3199
+ hidden: !0,
3189
3200
  logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/1c2c954f-448c-476b-a4a6-19b52efe3e00/logo"
3190
3201
  },
3191
3202
  {
@@ -3195,7 +3206,7 @@ var metadata = [
3195
3206
  l2_token_address: "0x3d9b66720959d0e7687b898292c10e62e78626f2dba5e1909961a2ce3f86612",
3196
3207
  sort_order: 1,
3197
3208
  total_supply: null,
3198
- hidden: true,
3209
+ hidden: !0,
3199
3210
  logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/6a45b34d-3bfe-4994-45b0-f2bee8abac00/logo"
3200
3211
  },
3201
3212
  {
@@ -3205,7 +3216,7 @@ var metadata = [
3205
3216
  l2_token_address: "0xe03ea8ae385f64754820af5c01c36abf1b8130dd6797d3fd9d430e4114e876",
3206
3217
  sort_order: 1,
3207
3218
  total_supply: null,
3208
- hidden: true,
3219
+ hidden: !0,
3209
3220
  logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/b1fa609d-8799-4754-cdea-ab69514ca700/logo"
3210
3221
  },
3211
3222
  {
@@ -3215,7 +3226,7 @@ var metadata = [
3215
3226
  l2_token_address: "0x5620aa7170cd66dbcbc37d03087bfe4633ffef91d3e4d97b501de906004f79b",
3216
3227
  sort_order: 1,
3217
3228
  total_supply: null,
3218
- hidden: true,
3229
+ hidden: !0,
3219
3230
  logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/27e37e85-91bd-4ee1-0552-1e0795077400/logo"
3220
3231
  },
3221
3232
  {
@@ -3225,7 +3236,7 @@ var metadata = [
3225
3236
  l2_token_address: "0x625c1f789b03ebebc7a9322366f38ebad1f693b84b2abd8cb8f5b2748b0cdd5",
3226
3237
  sort_order: 1,
3227
3238
  total_supply: null,
3228
- hidden: true,
3239
+ hidden: !0,
3229
3240
  logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/58591e20-24fb-4353-417a-81d877a5a200/logo"
3230
3241
  },
3231
3242
  {
@@ -3235,7 +3246,7 @@ var metadata = [
3235
3246
  l2_token_address: "0x35e24c02409c3cfe8d5646399a62c4d102bb782938d5f5180e92c9c62d3faf7",
3236
3247
  sort_order: 1,
3237
3248
  total_supply: null,
3238
- hidden: true,
3249
+ hidden: !0,
3239
3250
  logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/2f8cb892-e82a-4af3-bd09-316061faec00/logo"
3240
3251
  },
3241
3252
  {
@@ -3245,7 +3256,7 @@ var metadata = [
3245
3256
  l2_token_address: "0x4485f5a6e16562e1c761cd348e63256d00389e3ddf4f5d98afe7ab44c57c481",
3246
3257
  sort_order: 1,
3247
3258
  total_supply: null,
3248
- hidden: true,
3259
+ hidden: !0,
3249
3260
  logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/fe4bfc17-6553-4dc5-58d2-f452b4aa8a00/logo"
3250
3261
  },
3251
3262
  {
@@ -3255,7 +3266,7 @@ var metadata = [
3255
3266
  l2_token_address: "0x367f838f85a2f5e1580d6f011e4476f581083314cff8721ba3dda9706076eed",
3256
3267
  sort_order: 1,
3257
3268
  total_supply: null,
3258
- hidden: true,
3269
+ hidden: !0,
3259
3270
  logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/13bd026b-3612-480e-0119-04cf4c505a00/logo"
3260
3271
  },
3261
3272
  {
@@ -3265,7 +3276,7 @@ var metadata = [
3265
3276
  l2_token_address: "0x2f8dd022568af8f9f718aa37707a9b858529db56910633a160456838b6cbcbc",
3266
3277
  sort_order: 1,
3267
3278
  total_supply: null,
3268
- hidden: true,
3279
+ hidden: !0,
3269
3280
  logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/0ebf555f-e732-4054-f8e5-55b2ed49ba00/logo"
3270
3281
  },
3271
3282
  {
@@ -3275,7 +3286,7 @@ var metadata = [
3275
3286
  l2_token_address: "0x68b6e23cbbd58a644700f55e96c83580921e9f521b6e5175396b53ba7910e7d",
3276
3287
  sort_order: 1,
3277
3288
  total_supply: null,
3278
- hidden: true,
3289
+ hidden: !0,
3279
3290
  logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/f02a5b43-bfcf-408c-7d1b-fcfe68b02d00/logo"
3280
3291
  },
3281
3292
  {
@@ -3285,7 +3296,7 @@ var metadata = [
3285
3296
  l2_token_address: "0x3bf856515bece3c93f5061b7941b8645f817a0acab93c758b8c7b4bc0afa3c6",
3286
3297
  sort_order: 1,
3287
3298
  total_supply: null,
3288
- hidden: true,
3299
+ hidden: !0,
3289
3300
  logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/e74955fc-5c8a-4dff-4882-a49a46a5a800/logo"
3290
3301
  },
3291
3302
  {
@@ -3295,7 +3306,7 @@ var metadata = [
3295
3306
  l2_token_address: "0x0695b08ecdfdd828c2e6267da62f59e6d7543e690ef56a484df25c8566b332a5",
3296
3307
  sort_order: 1,
3297
3308
  total_supply: null,
3298
- hidden: true,
3309
+ hidden: !0,
3299
3310
  logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/9af855b7-4790-4390-9466-6bed4481ab00/logo"
3300
3311
  },
3301
3312
  {
@@ -3305,7 +3316,7 @@ var metadata = [
3305
3316
  l2_token_address: "0x264be95a4a2ace20add68cb321acdccd2f9f8440ee1c7abd85da44ddab01085",
3306
3317
  sort_order: 1,
3307
3318
  total_supply: null,
3308
- hidden: true,
3319
+ hidden: !0,
3309
3320
  logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/20817378-a45e-4521-f464-10f6dd13c500/logo"
3310
3321
  },
3311
3322
  {
@@ -3315,7 +3326,7 @@ var metadata = [
3315
3326
  l2_token_address: "0xac965f9e67164723c16735a9da8dbc9eb8e43b1bd0323591e87c056badf606",
3316
3327
  sort_order: 1,
3317
3328
  total_supply: null,
3318
- hidden: true,
3329
+ hidden: !0,
3319
3330
  logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/8787ed1f-af5c-4873-c01a-55f05e999a00/logo"
3320
3331
  },
3321
3332
  {
@@ -3325,7 +3336,7 @@ var metadata = [
3325
3336
  l2_token_address: "0x67e4ac00a241be06ba6afc11fa2715ec7da0c42c05a67ef6ecfcfeda725aaa8",
3326
3337
  sort_order: 1,
3327
3338
  total_supply: null,
3328
- hidden: true,
3339
+ hidden: !0,
3329
3340
  logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/dec7f31b-4b1d-46bb-4fca-c0253cf55a00/logo"
3330
3341
  },
3331
3342
  {
@@ -3335,7 +3346,7 @@ var metadata = [
3335
3346
  l2_token_address: "0x3bc86299bee061c7c8d7546ccb62b9daf9bffc653b1508facb722c6593874bc",
3336
3347
  sort_order: 1,
3337
3348
  total_supply: null,
3338
- hidden: true,
3349
+ hidden: !0,
3339
3350
  logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/7d2cd5a5-f38a-49f6-11f8-ba3b59a59e00/logo"
3340
3351
  },
3341
3352
  {
@@ -3345,7 +3356,7 @@ var metadata = [
3345
3356
  l2_token_address: "0x57a3f1ee475e072ce3be41785c0e889b7295d7a0dcc22b992c5b9408dbeb280",
3346
3357
  sort_order: 1,
3347
3358
  total_supply: null,
3348
- hidden: true,
3359
+ hidden: !0,
3349
3360
  logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/c338b6a8-77c4-4dd6-34f5-1af0d3fb1e00/logo"
3350
3361
  },
3351
3362
  {
@@ -3355,14 +3366,28 @@ var metadata = [
3355
3366
  l2_token_address: "0x27719173cfe10f1aa38d2aaed0a075b6077290f1e817aa3485d2b828394f4d9",
3356
3367
  sort_order: 1,
3357
3368
  total_supply: null,
3358
- hidden: true,
3369
+ hidden: !0,
3359
3370
  logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/6deef27f-df40-4248-4e1b-ed1d79a3f000/logo"
3360
3371
  }
3361
- ];
3362
- var controllerConfigs = configs;
3363
- var erc20Metadata = metadata;
3364
- var defaultTheme = configs["cartridge"].theme;
3365
-
3366
- export { ArgentWallet, MetaMaskWallet, NotReadyToConnect, PhantomWallet, ResponseCodes, WalletBridge, controllerConfigs, ControllerProvider as default, defaultTheme, erc20Metadata, humanizeString, lookupAddresses, lookupUsernames, normalizeCalls, parseChainId, toArray, toSessionPolicies, toWasmPolicies };
3372
+ ], Qe = L, Te = Ie, ze = L.cartridge.theme;
3373
+ export {
3374
+ ke as ArgentWallet,
3375
+ we as MetaMaskWallet,
3376
+ g as NotReadyToConnect,
3377
+ ve as PhantomWallet,
3378
+ A as ResponseCodes,
3379
+ Ae as WalletBridge,
3380
+ Qe as controllerConfigs,
3381
+ Me as default,
3382
+ ze as defaultTheme,
3383
+ Te as erc20Metadata,
3384
+ Le as humanizeString,
3385
+ Be as lookupAddresses,
3386
+ Ne as lookupUsernames,
3387
+ Oe as normalizeCalls,
3388
+ K as parseChainId,
3389
+ $ as toArray,
3390
+ Ye as toSessionPolicies,
3391
+ $e as toWasmPolicies
3392
+ };
3367
3393
  //# sourceMappingURL=index.js.map
3368
- //# sourceMappingURL=index.js.map