@deloraprotocol/widget 1.0.12 → 1.0.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (128) hide show
  1. package/README.md +66 -12
  2. package/dist/PhArrowCircleDown-lsK25DCk.js +74 -0
  3. package/dist/PhArrowCircleDown-lsK25DCk.js.map +1 -0
  4. package/dist/PhArrowClockwise-NeKHZ1co.js +74 -0
  5. package/dist/PhArrowClockwise-NeKHZ1co.js.map +1 -0
  6. package/dist/PhArrowDown-C9AkNvLs.js +74 -0
  7. package/dist/PhArrowDown-C9AkNvLs.js.map +1 -0
  8. package/dist/PhArrowLeft-RNfIQP1X.js +74 -0
  9. package/dist/PhArrowLeft-RNfIQP1X.js.map +1 -0
  10. package/dist/PhArrowRight-DM1tna0G.js +74 -0
  11. package/dist/PhArrowRight-DM1tna0G.js.map +1 -0
  12. package/dist/PhArrowSquareOut-S5XYbAZj.js +74 -0
  13. package/dist/PhArrowSquareOut-S5XYbAZj.js.map +1 -0
  14. package/dist/PhArrowUp-DmktzOWy.js +74 -0
  15. package/dist/PhArrowUp-DmktzOWy.js.map +1 -0
  16. package/dist/PhArrowUpRight-BkNeW_5i.js +74 -0
  17. package/dist/PhArrowUpRight-BkNeW_5i.js.map +1 -0
  18. package/dist/PhArrowsClockwise-CQ4pG76b.js +74 -0
  19. package/dist/PhArrowsClockwise-CQ4pG76b.js.map +1 -0
  20. package/dist/PhArrowsDownUp-H6gxaNM6.js +74 -0
  21. package/dist/PhArrowsDownUp-H6gxaNM6.js.map +1 -0
  22. package/dist/PhArrowsLeftRight-DZSsfMR6.js +74 -0
  23. package/dist/PhArrowsLeftRight-DZSsfMR6.js.map +1 -0
  24. package/dist/PhBank-4_9QzqIB.js +74 -0
  25. package/dist/PhBank-4_9QzqIB.js.map +1 -0
  26. package/dist/PhBrowser-B-JSznId.js +74 -0
  27. package/dist/PhBrowser-B-JSznId.js.map +1 -0
  28. package/dist/PhCaretDown-vV5oHMNi.js +74 -0
  29. package/dist/PhCaretDown-vV5oHMNi.js.map +1 -0
  30. package/dist/PhCaretLeft-BLo6Y_f4.js +74 -0
  31. package/dist/PhCaretLeft-BLo6Y_f4.js.map +1 -0
  32. package/dist/PhCaretRight-CqQN4TT3.js +74 -0
  33. package/dist/PhCaretRight-CqQN4TT3.js.map +1 -0
  34. package/dist/PhCaretUp-Df7UCAHy.js +74 -0
  35. package/dist/PhCaretUp-Df7UCAHy.js.map +1 -0
  36. package/dist/PhCheck-gtpfK4ed.js +74 -0
  37. package/dist/PhCheck-gtpfK4ed.js.map +1 -0
  38. package/dist/PhCircleHalf-Uq7dwDYw.js +74 -0
  39. package/dist/PhCircleHalf-Uq7dwDYw.js.map +1 -0
  40. package/dist/PhClock-SDCW-NmF.js +74 -0
  41. package/dist/PhClock-SDCW-NmF.js.map +1 -0
  42. package/dist/PhCompass-B7hgtdx-.js +74 -0
  43. package/dist/PhCompass-B7hgtdx-.js.map +1 -0
  44. package/dist/PhCopy-BcnhyXCy.js +74 -0
  45. package/dist/PhCopy-BcnhyXCy.js.map +1 -0
  46. package/dist/PhCreditCard-BJjByVgu.js +74 -0
  47. package/dist/PhCreditCard-BJjByVgu.js.map +1 -0
  48. package/dist/PhCurrencyDollar-B7ZXqXBy.js +74 -0
  49. package/dist/PhCurrencyDollar-B7ZXqXBy.js.map +1 -0
  50. package/dist/PhDesktop-B3VKPuJx.js +74 -0
  51. package/dist/PhDesktop-B3VKPuJx.js.map +1 -0
  52. package/dist/PhDeviceMobile-Bnd0TYEH.js +74 -0
  53. package/dist/PhDeviceMobile-Bnd0TYEH.js.map +1 -0
  54. package/dist/PhDotsThree-yyMWyZ-R.js +74 -0
  55. package/dist/PhDotsThree-yyMWyZ-R.js.map +1 -0
  56. package/dist/PhEnvelope-67uzHbI9.js +74 -0
  57. package/dist/PhEnvelope-67uzHbI9.js.map +1 -0
  58. package/dist/PhFunnelSimple-B-DCsloI.js +74 -0
  59. package/dist/PhFunnelSimple-B-DCsloI.js.map +1 -0
  60. package/dist/PhGlobe-TMm_6qGk.js +74 -0
  61. package/dist/PhGlobe-TMm_6qGk.js.map +1 -0
  62. package/dist/PhIdentificationCard-CePPD2xc.js +74 -0
  63. package/dist/PhIdentificationCard-CePPD2xc.js.map +1 -0
  64. package/dist/PhImage-gY96WtHR.js +74 -0
  65. package/dist/PhImage-gY96WtHR.js.map +1 -0
  66. package/dist/PhInfo-DRQM_ZDP.js +74 -0
  67. package/dist/PhInfo-DRQM_ZDP.js.map +1 -0
  68. package/dist/PhLightbulb-B0TxPfZ1.js +74 -0
  69. package/dist/PhLightbulb-B0TxPfZ1.js.map +1 -0
  70. package/dist/PhMagnifyingGlass-B8si5_6W.js +74 -0
  71. package/dist/PhMagnifyingGlass-B8si5_6W.js.map +1 -0
  72. package/dist/PhPaperPlaneRight-DVu5PLYd.js +74 -0
  73. package/dist/PhPaperPlaneRight-DVu5PLYd.js.map +1 -0
  74. package/dist/PhPlus-BfTsQnUz.js +74 -0
  75. package/dist/PhPlus-BfTsQnUz.js.map +1 -0
  76. package/dist/PhPower-CxYUGOWn.js +74 -0
  77. package/dist/PhPower-CxYUGOWn.js.map +1 -0
  78. package/dist/PhPuzzlePiece-CQ4wh0gV.js +74 -0
  79. package/dist/PhPuzzlePiece-CQ4wh0gV.js.map +1 -0
  80. package/dist/PhQrCode-BuJ97NYJ.js +74 -0
  81. package/dist/PhQrCode-BuJ97NYJ.js.map +1 -0
  82. package/dist/PhQuestion-kJoP8Mja.js +74 -0
  83. package/dist/PhQuestion-kJoP8Mja.js.map +1 -0
  84. package/dist/PhQuestionMark-C46ZkFpu.js +74 -0
  85. package/dist/PhQuestionMark-C46ZkFpu.js.map +1 -0
  86. package/dist/PhSealCheck-Eh8jVqSN.js +74 -0
  87. package/dist/PhSealCheck-Eh8jVqSN.js.map +1 -0
  88. package/dist/PhSignOut-jk97OSVt.js +74 -0
  89. package/dist/PhSignOut-jk97OSVt.js.map +1 -0
  90. package/dist/PhSpinner-CiYOhwMg.js +74 -0
  91. package/dist/PhSpinner-CiYOhwMg.js.map +1 -0
  92. package/dist/PhTrash-pxerMqzd.js +74 -0
  93. package/dist/PhTrash-pxerMqzd.js.map +1 -0
  94. package/dist/PhUser-BMg0VV4A.js +74 -0
  95. package/dist/PhUser-BMg0VV4A.js.map +1 -0
  96. package/dist/PhVault-DYQvx5A-.js +74 -0
  97. package/dist/PhVault-DYQvx5A-.js.map +1 -0
  98. package/dist/PhWallet-uTRV6YNK.js +74 -0
  99. package/dist/PhWallet-uTRV6YNK.js.map +1 -0
  100. package/dist/PhWarning-NLC5Mj87.js +74 -0
  101. package/dist/PhWarning-NLC5Mj87.js.map +1 -0
  102. package/dist/PhWarningCircle-Ch2jU9fA.js +74 -0
  103. package/dist/PhWarningCircle-Ch2jU9fA.js.map +1 -0
  104. package/dist/PhX-Bx4wpwm3.js +74 -0
  105. package/dist/PhX-Bx4wpwm3.js.map +1 -0
  106. package/dist/basic-DnbZIXNv.js +4454 -0
  107. package/dist/basic-DnbZIXNv.js.map +1 -0
  108. package/dist/core-BJbRYjpA.js +23617 -0
  109. package/dist/core-BJbRYjpA.js.map +1 -0
  110. package/dist/features-CLDSyjhj.js +275 -0
  111. package/dist/features-CLDSyjhj.js.map +1 -0
  112. package/dist/index-CRoLJyUl.js +32642 -0
  113. package/dist/index-CRoLJyUl.js.map +1 -0
  114. package/dist/index-CuaRapFw.js +9670 -0
  115. package/dist/index-CuaRapFw.js.map +1 -0
  116. package/dist/index-DNOgT607.js +15873 -0
  117. package/dist/index-DNOgT607.js.map +1 -0
  118. package/dist/index-yOQrbpOR.js +2540 -0
  119. package/dist/index-yOQrbpOR.js.map +1 -0
  120. package/dist/index.d.ts +167 -9
  121. package/dist/index.js +5 -98494
  122. package/dist/index.js.map +1 -1
  123. package/dist/property-Bd8U3_QP.js +619 -0
  124. package/dist/property-Bd8U3_QP.js.map +1 -0
  125. package/dist/styles.css +1 -1
  126. package/dist/w3m-modal-C2bO0YW4.js +6015 -0
  127. package/dist/w3m-modal-C2bO0YW4.js.map +1 -0
  128. package/package.json +1 -1
@@ -0,0 +1,275 @@
1
+ import { j as g, a1 as w, a2 as y, a3 as A, c as k, a4 as u, B as N, A as m } from "./core-BJbRYjpA.js";
2
+ class p {
3
+ constructor(e) {
4
+ this.getNonce = e.getNonce;
5
+ }
6
+ async createMessage(e) {
7
+ const t = {
8
+ accountAddress: e.accountAddress,
9
+ chainId: e.chainId,
10
+ version: "1",
11
+ domain: typeof document > "u" ? "Unknown Domain" : document.location.host,
12
+ uri: typeof document > "u" ? "Unknown URI" : document.location.href,
13
+ resources: this.resources,
14
+ nonce: await this.getNonce(e),
15
+ issuedAt: this.stringifyDate(/* @__PURE__ */ new Date()),
16
+ statement: void 0,
17
+ expirationTime: void 0,
18
+ notBefore: void 0
19
+ };
20
+ return Object.assign(t, {
21
+ toString: () => this.stringify(t)
22
+ });
23
+ }
24
+ stringify(e) {
25
+ var n;
26
+ const t = this.getNetworkName(e.chainId);
27
+ return [
28
+ `${e.domain} wants you to sign in with your ${t} account:`,
29
+ e.accountAddress,
30
+ e.statement ? `
31
+ ${e.statement}
32
+ ` : "",
33
+ `URI: ${e.uri}`,
34
+ `Version: ${e.version}`,
35
+ `Chain ID: ${e.chainId}`,
36
+ `Nonce: ${e.nonce}`,
37
+ e.issuedAt && `Issued At: ${e.issuedAt}`,
38
+ e.expirationTime && `Expiration Time: ${e.expirationTime}`,
39
+ e.notBefore && `Not Before: ${e.notBefore}`,
40
+ e.requestId && `Request ID: ${e.requestId}`,
41
+ ((n = e.resources) == null ? void 0 : n.length) && e.resources.reduce((s, o) => `${s}
42
+ - ${o}`, "Resources:")
43
+ ].filter((s) => typeof s == "string").join(`
44
+ `).trim();
45
+ }
46
+ getNetworkName(e) {
47
+ const t = g.getAllRequestedCaipNetworks();
48
+ return w.getNetworkNameByCaipNetworkId(t, e);
49
+ }
50
+ stringifyDate(e) {
51
+ return e.toISOString();
52
+ }
53
+ }
54
+ class E {
55
+ constructor(e = {}) {
56
+ this.otpUuid = null, this.listeners = {
57
+ sessionChanged: []
58
+ }, this.localAuthStorageKey = e.localAuthStorageKey || y.SIWX_AUTH_TOKEN, this.localNonceStorageKey = e.localNonceStorageKey || y.SIWX_NONCE_TOKEN, this.required = e.required ?? !0, this.messenger = new p({
59
+ getNonce: this.getNonce.bind(this)
60
+ });
61
+ }
62
+ async createMessage(e) {
63
+ return this.messenger.createMessage(e);
64
+ }
65
+ async addSession(e) {
66
+ const t = await this.request({
67
+ method: "POST",
68
+ key: "authenticate",
69
+ body: {
70
+ data: e.data,
71
+ message: e.message,
72
+ signature: e.signature,
73
+ clientId: this.getClientId(),
74
+ walletInfo: this.getWalletInfo()
75
+ },
76
+ headers: ["nonce", "otp"]
77
+ });
78
+ this.setStorageToken(t.token, this.localAuthStorageKey), this.emit("sessionChanged", e), this.setAppKitAccountUser(I(t.token)), this.otpUuid = null;
79
+ }
80
+ async getSessions(e, t) {
81
+ try {
82
+ if (!this.getStorageToken(this.localAuthStorageKey))
83
+ return [];
84
+ const n = await this.request({
85
+ method: "GET",
86
+ key: "me",
87
+ query: {},
88
+ headers: ["auth"]
89
+ });
90
+ if (!n)
91
+ return [];
92
+ const s = n.address.toLowerCase() === t.toLowerCase(), o = n.caip2Network === e;
93
+ if (!s || !o)
94
+ return [];
95
+ const r = {
96
+ data: {
97
+ accountAddress: n.address,
98
+ chainId: n.caip2Network
99
+ },
100
+ message: "",
101
+ signature: ""
102
+ };
103
+ return this.emit("sessionChanged", r), this.setAppKitAccountUser(n), [r];
104
+ } catch {
105
+ return [];
106
+ }
107
+ }
108
+ async revokeSession(e, t) {
109
+ return Promise.resolve(this.clearStorageTokens());
110
+ }
111
+ async setSessions(e) {
112
+ if (e.length === 0)
113
+ this.clearStorageTokens();
114
+ else {
115
+ const t = e.find((n) => {
116
+ var s;
117
+ return n.data.chainId === ((s = A()) == null ? void 0 : s.caipNetworkId);
118
+ }) || e[0];
119
+ await this.addSession(t);
120
+ }
121
+ }
122
+ getRequired() {
123
+ return this.required;
124
+ }
125
+ async getSessionAccount() {
126
+ if (!this.getStorageToken(this.localAuthStorageKey))
127
+ throw new Error("Not authenticated");
128
+ return this.request({
129
+ method: "GET",
130
+ key: "me",
131
+ body: void 0,
132
+ query: {
133
+ includeAppKitAccount: !0
134
+ },
135
+ headers: ["auth"]
136
+ });
137
+ }
138
+ async setSessionAccountMetadata(e = null) {
139
+ if (!this.getStorageToken(this.localAuthStorageKey))
140
+ throw new Error("Not authenticated");
141
+ return this.request({
142
+ method: "PUT",
143
+ key: "account-metadata",
144
+ body: { metadata: e },
145
+ headers: ["auth"]
146
+ });
147
+ }
148
+ on(e, t) {
149
+ return this.listeners[e].push(t), () => {
150
+ this.listeners[e] = this.listeners[e].filter((n) => n !== t);
151
+ };
152
+ }
153
+ removeAllListeners() {
154
+ Object.keys(this.listeners).forEach((t) => {
155
+ this.listeners[t] = [];
156
+ });
157
+ }
158
+ async requestEmailOtp({ email: e, account: t }) {
159
+ const n = await this.request({
160
+ method: "POST",
161
+ key: "otp",
162
+ body: { email: e, account: t }
163
+ });
164
+ return this.otpUuid = n.uuid, this.messenger.resources = [`email:${e}`], n;
165
+ }
166
+ confirmEmailOtp({ code: e }) {
167
+ return this.request({
168
+ method: "PUT",
169
+ key: "otp",
170
+ body: { code: e },
171
+ headers: ["otp"]
172
+ });
173
+ }
174
+ async request({ method: e, key: t, query: n, body: s, headers: o }) {
175
+ var f;
176
+ const { projectId: r, st: h, sv: S } = this.getSDKProperties(), a = new URL(`${k.W3M_API_URL}/auth/v1/${String(t)}`);
177
+ a.searchParams.set("projectId", r), a.searchParams.set("st", h), a.searchParams.set("sv", S), n && Object.entries(n).forEach(([i, l]) => a.searchParams.set(i, String(l)));
178
+ const c = await fetch(a, {
179
+ method: e,
180
+ body: s ? JSON.stringify(s) : void 0,
181
+ headers: Array.isArray(o) ? o.reduce((i, l) => {
182
+ switch (l) {
183
+ case "nonce":
184
+ i["x-nonce-jwt"] = `Bearer ${this.getStorageToken(this.localNonceStorageKey)}`;
185
+ break;
186
+ case "auth":
187
+ i.Authorization = `Bearer ${this.getStorageToken(this.localAuthStorageKey)}`;
188
+ break;
189
+ case "otp":
190
+ this.otpUuid && (i["x-otp"] = this.otpUuid);
191
+ break;
192
+ }
193
+ return i;
194
+ }, {}) : void 0
195
+ });
196
+ if (!c.ok)
197
+ throw new Error(await c.text());
198
+ return (f = c.headers.get("content-type")) != null && f.includes("application/json") ? c.json() : null;
199
+ }
200
+ getStorageToken(e) {
201
+ return u.getItem(e);
202
+ }
203
+ setStorageToken(e, t) {
204
+ u.setItem(t, e);
205
+ }
206
+ clearStorageTokens() {
207
+ this.otpUuid = null, u.removeItem(this.localAuthStorageKey), u.removeItem(this.localNonceStorageKey), this.emit("sessionChanged", void 0);
208
+ }
209
+ async getNonce() {
210
+ const { nonce: e, token: t } = await this.request({
211
+ method: "GET",
212
+ key: "nonce"
213
+ });
214
+ return this.setStorageToken(t, this.localNonceStorageKey), e;
215
+ }
216
+ getClientId() {
217
+ return N.state.clientId;
218
+ }
219
+ getWalletInfo() {
220
+ var o;
221
+ const e = (o = g.getAccountData()) == null ? void 0 : o.connectedWalletInfo;
222
+ if (!e)
223
+ return;
224
+ if ("social" in e && "identifier" in e) {
225
+ const r = e.social, h = e.identifier;
226
+ return { type: "social", social: r, identifier: h };
227
+ }
228
+ const { name: t, icon: n } = e;
229
+ let s = "unknown";
230
+ switch (e.type) {
231
+ case "EXTERNAL":
232
+ case "INJECTED":
233
+ case "ANNOUNCED":
234
+ s = "extension";
235
+ break;
236
+ case "WALLET_CONNECT":
237
+ s = "walletconnect";
238
+ break;
239
+ default:
240
+ s = "unknown";
241
+ }
242
+ return {
243
+ type: s,
244
+ name: t,
245
+ icon: n
246
+ };
247
+ }
248
+ getSDKProperties() {
249
+ return m._getSdkProperties();
250
+ }
251
+ emit(e, t) {
252
+ this.listeners[e].forEach((n) => n(t));
253
+ }
254
+ setAppKitAccountUser(e) {
255
+ const { email: t } = e;
256
+ t && Object.values(k.CHAIN).forEach((n) => {
257
+ g.setAccountProp("user", { email: t }, n);
258
+ });
259
+ }
260
+ }
261
+ function I(d) {
262
+ const e = d.split(".");
263
+ if (e.length !== 3)
264
+ throw new Error("Invalid token");
265
+ const t = e[1];
266
+ if (typeof t != "string")
267
+ throw new Error("Invalid token");
268
+ const n = t.replace(/-/gu, "+").replace(/_/gu, "/"), s = n.padEnd(n.length + (4 - n.length % 4) % 4, "=");
269
+ return JSON.parse(atob(s));
270
+ }
271
+ export {
272
+ E as ReownAuthentication,
273
+ p as ReownAuthenticationMessenger
274
+ };
275
+ //# sourceMappingURL=features-CLDSyjhj.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features-CLDSyjhj.js","sources":["../node_modules/@reown/appkit-controllers/dist/esm/src/features/siwx/reown-authentication/ReownAuthenticationMessenger.js","../node_modules/@reown/appkit-controllers/dist/esm/src/features/siwx/reown-authentication/ReownAuthentication.js"],"sourcesContent":["import { NetworkUtil } from '@reown/appkit-common';\nimport { ChainController } from '../../../controllers/ChainController.js';\nexport class ReownAuthenticationMessenger {\n constructor(params) {\n this.getNonce = params.getNonce;\n }\n async createMessage(input) {\n const params = {\n accountAddress: input.accountAddress,\n chainId: input.chainId,\n version: '1',\n domain: typeof document === 'undefined' ? 'Unknown Domain' : document.location.host,\n uri: typeof document === 'undefined' ? 'Unknown URI' : document.location.href,\n resources: this.resources,\n nonce: await this.getNonce(input),\n issuedAt: this.stringifyDate(new Date()),\n statement: undefined,\n expirationTime: undefined,\n notBefore: undefined\n };\n const methods = {\n toString: () => this.stringify(params)\n };\n return Object.assign(params, methods);\n }\n stringify(params) {\n const networkName = this.getNetworkName(params.chainId);\n return [\n `${params.domain} wants you to sign in with your ${networkName} account:`,\n params.accountAddress,\n params.statement ? `\\n${params.statement}\\n` : '',\n `URI: ${params.uri}`,\n `Version: ${params.version}`,\n `Chain ID: ${params.chainId}`,\n `Nonce: ${params.nonce}`,\n params.issuedAt && `Issued At: ${params.issuedAt}`,\n params.expirationTime && `Expiration Time: ${params.expirationTime}`,\n params.notBefore && `Not Before: ${params.notBefore}`,\n params.requestId && `Request ID: ${params.requestId}`,\n params.resources?.length &&\n params.resources.reduce((acc, resource) => `${acc}\\n- ${resource}`, 'Resources:')\n ]\n .filter(line => typeof line === 'string')\n .join('\\n')\n .trim();\n }\n getNetworkName(chainId) {\n const requestedNetworks = ChainController.getAllRequestedCaipNetworks();\n return NetworkUtil.getNetworkNameByCaipNetworkId(requestedNetworks, chainId);\n }\n stringifyDate(date) {\n return date.toISOString();\n }\n}\n//# sourceMappingURL=ReownAuthenticationMessenger.js.map","//\nimport { ConstantsUtil, SafeLocalStorage, SafeLocalStorageKeys } from '@reown/appkit-common';\nimport { ApiController } from '../../../controllers/ApiController.js';\nimport { BlockchainApiController } from '../../../controllers/BlockchainApiController.js';\nimport { ChainController } from '../../../controllers/ChainController.js';\nimport { getActiveCaipNetwork } from '../../../utils/ChainControllerUtil.js';\nimport { ReownAuthenticationMessenger } from './ReownAuthenticationMessenger.js';\n/**\n * This is the configuration for using SIWX with Reown Authentication service.\n * It allows you to authenticate and capture user sessions through the Cloud Dashboard.\n */\nexport class ReownAuthentication {\n constructor(params = {}) {\n this.otpUuid = null;\n this.listeners = {\n sessionChanged: []\n };\n this.localAuthStorageKey =\n params.localAuthStorageKey ||\n SafeLocalStorageKeys.SIWX_AUTH_TOKEN;\n this.localNonceStorageKey =\n params.localNonceStorageKey ||\n SafeLocalStorageKeys.SIWX_NONCE_TOKEN;\n this.required = params.required ?? true;\n this.messenger = new ReownAuthenticationMessenger({\n getNonce: this.getNonce.bind(this)\n });\n }\n async createMessage(input) {\n return this.messenger.createMessage(input);\n }\n async addSession(session) {\n const response = await this.request({\n method: 'POST',\n key: 'authenticate',\n body: {\n data: session.data,\n message: session.message,\n signature: session.signature,\n clientId: this.getClientId(),\n walletInfo: this.getWalletInfo()\n },\n headers: ['nonce', 'otp']\n });\n this.setStorageToken(response.token, this.localAuthStorageKey);\n this.emit('sessionChanged', session);\n this.setAppKitAccountUser(jwtDecode(response.token));\n this.otpUuid = null;\n }\n async getSessions(chainId, address) {\n try {\n if (!this.getStorageToken(this.localAuthStorageKey)) {\n return [];\n }\n const account = await this.request({\n method: 'GET',\n key: 'me',\n query: {},\n headers: ['auth']\n });\n if (!account) {\n return [];\n }\n const isSameAddress = account.address.toLowerCase() === address.toLowerCase();\n const isSameNetwork = account.caip2Network === chainId;\n if (!isSameAddress || !isSameNetwork) {\n return [];\n }\n const session = {\n data: {\n accountAddress: account.address,\n chainId: account.caip2Network\n },\n message: '',\n signature: ''\n };\n this.emit('sessionChanged', session);\n this.setAppKitAccountUser(account);\n return [session];\n }\n catch {\n return [];\n }\n }\n async revokeSession(_chainId, _address) {\n return Promise.resolve(this.clearStorageTokens());\n }\n async setSessions(sessions) {\n if (sessions.length === 0) {\n this.clearStorageTokens();\n }\n else {\n const session = (sessions.find(s => s.data.chainId === getActiveCaipNetwork()?.caipNetworkId) || sessions[0]);\n await this.addSession(session);\n }\n }\n getRequired() {\n return this.required;\n }\n async getSessionAccount() {\n if (!this.getStorageToken(this.localAuthStorageKey)) {\n throw new Error('Not authenticated');\n }\n return this.request({\n method: 'GET',\n key: 'me',\n body: undefined,\n query: {\n includeAppKitAccount: true\n },\n headers: ['auth']\n });\n }\n async setSessionAccountMetadata(metadata = null) {\n if (!this.getStorageToken(this.localAuthStorageKey)) {\n throw new Error('Not authenticated');\n }\n return this.request({\n method: 'PUT',\n key: 'account-metadata',\n body: { metadata },\n headers: ['auth']\n });\n }\n on(event, callback) {\n this.listeners[event].push(callback);\n return () => {\n this.listeners[event] = this.listeners[event].filter(cb => cb !== callback);\n };\n }\n removeAllListeners() {\n const keys = Object.keys(this.listeners);\n keys.forEach(key => {\n this.listeners[key] = [];\n });\n }\n async requestEmailOtp({ email, account }) {\n const otp = await this.request({\n method: 'POST',\n key: 'otp',\n body: { email, account }\n });\n this.otpUuid = otp.uuid;\n this.messenger.resources = [`email:${email}`];\n return otp;\n }\n confirmEmailOtp({ code }) {\n return this.request({\n method: 'PUT',\n key: 'otp',\n body: { code },\n headers: ['otp']\n });\n }\n async request({ method, key, query, body, headers }) {\n const { projectId, st, sv } = this.getSDKProperties();\n const url = new URL(`${ConstantsUtil.W3M_API_URL}/auth/v1/${String(key)}`);\n url.searchParams.set('projectId', projectId);\n url.searchParams.set('st', st);\n url.searchParams.set('sv', sv);\n if (query) {\n Object.entries(query).forEach(([queryKey, queryValue]) => url.searchParams.set(queryKey, String(queryValue)));\n }\n const response = await fetch(url, {\n method,\n body: body ? JSON.stringify(body) : undefined,\n headers: Array.isArray(headers)\n ? headers.reduce((acc, header) => {\n switch (header) {\n case 'nonce':\n acc['x-nonce-jwt'] = `Bearer ${this.getStorageToken(this.localNonceStorageKey)}`;\n break;\n case 'auth':\n acc['Authorization'] = `Bearer ${this.getStorageToken(this.localAuthStorageKey)}`;\n break;\n case 'otp':\n if (this.otpUuid) {\n acc['x-otp'] = this.otpUuid;\n }\n break;\n default:\n break;\n }\n return acc;\n }, {})\n : undefined\n });\n if (!response.ok) {\n throw new Error(await response.text());\n }\n if (response.headers.get('content-type')?.includes('application/json')) {\n return response.json();\n }\n return null;\n }\n getStorageToken(key) {\n return SafeLocalStorage.getItem(key);\n }\n setStorageToken(token, key) {\n SafeLocalStorage.setItem(key, token);\n }\n clearStorageTokens() {\n this.otpUuid = null;\n SafeLocalStorage.removeItem(this.localAuthStorageKey);\n SafeLocalStorage.removeItem(this.localNonceStorageKey);\n this.emit('sessionChanged', undefined);\n }\n async getNonce() {\n const { nonce, token } = await this.request({\n method: 'GET',\n key: 'nonce'\n });\n this.setStorageToken(token, this.localNonceStorageKey);\n return nonce;\n }\n getClientId() {\n return BlockchainApiController.state.clientId;\n }\n getWalletInfo() {\n const walletInfo = ChainController.getAccountData()?.connectedWalletInfo;\n if (!walletInfo) {\n return undefined;\n }\n if ('social' in walletInfo && 'identifier' in walletInfo) {\n const social = walletInfo['social'];\n const identifier = walletInfo['identifier'];\n return { type: 'social', social, identifier };\n }\n const { name, icon } = walletInfo;\n let type = 'unknown';\n switch (walletInfo.type) {\n case 'EXTERNAL':\n case 'INJECTED':\n case 'ANNOUNCED':\n type = 'extension';\n break;\n case 'WALLET_CONNECT':\n type = 'walletconnect';\n break;\n default:\n type = 'unknown';\n }\n return {\n type,\n name,\n icon\n };\n }\n getSDKProperties() {\n return ApiController._getSdkProperties();\n }\n emit(event, data) {\n this.listeners[event].forEach(listener => listener(data));\n }\n setAppKitAccountUser(session) {\n const { email } = session;\n if (email) {\n Object.values(ConstantsUtil.CHAIN).forEach(chainNamespace => {\n ChainController.setAccountProp('user', { email }, chainNamespace);\n });\n }\n }\n}\n/**\n * Decodes a JWT token and returns its payload\n * @param token - The JWT token to decode\n * @returns The decoded payload or null if invalid\n */\nfunction jwtDecode(token) {\n // Split the token into parts\n const parts = token.split('.');\n // Check if the token has the correct format (header.payload.signature)\n if (parts.length !== 3) {\n throw new Error('Invalid token');\n }\n // Decode the payload (second part)\n const payload = parts[1];\n if (typeof payload !== 'string') {\n throw new Error('Invalid token');\n }\n // Convert base64url to base64\n const base64 = payload.replace(/-/gu, '+').replace(/_/gu, '/');\n // Add padding if needed\n const padded = base64.padEnd(base64.length + ((4 - (base64.length % 4)) % 4), '=');\n // Decode and parse the JSON\n const decoded = JSON.parse(atob(padded));\n return decoded;\n}\n//# sourceMappingURL=ReownAuthentication.js.map"],"names":["ReownAuthenticationMessenger","params","input","networkName","_a","acc","resource","line","chainId","requestedNetworks","ChainController","NetworkUtil","date","ReownAuthentication","SafeLocalStorageKeys","session","response","jwtDecode","address","account","isSameAddress","isSameNetwork","_chainId","_address","sessions","s","getActiveCaipNetwork","metadata","event","callback","cb","key","email","otp","code","method","query","body","headers","projectId","st","sv","url","ConstantsUtil","queryKey","queryValue","header","SafeLocalStorage","token","nonce","BlockchainApiController","walletInfo","social","identifier","name","icon","type","ApiController","data","listener","chainNamespace","parts","payload","base64","padded"],"mappings":"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","x_google_ignoreList":[0,1]}