@aurum-sdk/core 0.2.0 → 0.2.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.
- package/dist/{chunk-NKWY4I4L.js → chunk-AFVK5GA5.js} +99 -553
- package/dist/chunk-AFVK5GA5.js.map +1 -0
- package/dist/{chunk-NRC534B3.mjs → chunk-BSMOPBPL.mjs} +83 -537
- package/dist/chunk-BSMOPBPL.mjs.map +1 -0
- package/dist/index.d.mts +4 -8
- package/dist/index.d.ts +4 -8
- package/dist/index.js +581 -145
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +504 -68
- package/dist/index.mjs.map +1 -1
- package/dist/widgets.d.mts +3 -0
- package/dist/widgets.d.ts +3 -0
- package/dist/widgets.js +14 -15
- package/dist/widgets.js.map +1 -1
- package/dist/widgets.mjs +2 -3
- package/dist/widgets.mjs.map +1 -1
- package/package.json +3 -3
- package/dist/chunk-NKWY4I4L.js.map +0 -1
- package/dist/chunk-NRC534B3.mjs.map +0 -1
|
@@ -119,325 +119,6 @@ function sortWallets(wallets, options = {}) {
|
|
|
119
119
|
return result;
|
|
120
120
|
}
|
|
121
121
|
|
|
122
|
-
// src/services/sentry.ts
|
|
123
|
-
var _browser = require('@sentry/browser'); var Sentry = _interopRequireWildcard(_browser);
|
|
124
|
-
var initialized = false;
|
|
125
|
-
var telemetryEnabled = true;
|
|
126
|
-
function getEnvironment() {
|
|
127
|
-
if (typeof window !== "undefined") {
|
|
128
|
-
const hostname = window.location.hostname;
|
|
129
|
-
if (hostname === "localhost" || hostname === "127.0.0.1") {
|
|
130
|
-
return "development";
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
return "production";
|
|
134
|
-
}
|
|
135
|
-
function initSentry(enabled = true) {
|
|
136
|
-
telemetryEnabled = enabled;
|
|
137
|
-
if (initialized || !telemetryEnabled || false) return;
|
|
138
|
-
initialized = true;
|
|
139
|
-
Sentry.init({
|
|
140
|
-
dsn: "https://0bb16fd7057ac7b45ae0ab416cdbea8b@o4505953815494656.ingest.us.sentry.io/4509747448184832",
|
|
141
|
-
environment: getEnvironment(),
|
|
142
|
-
release: `@aurum-sdk/core@${"0.2.0"}`,
|
|
143
|
-
sendDefaultPii: false,
|
|
144
|
-
enableLogs: true
|
|
145
|
-
});
|
|
146
|
-
}
|
|
147
|
-
function getUrl() {
|
|
148
|
-
if (typeof window !== "undefined") {
|
|
149
|
-
return window.location.href;
|
|
150
|
-
}
|
|
151
|
-
return void 0;
|
|
152
|
-
}
|
|
153
|
-
var sentryLogger = {
|
|
154
|
-
info: (message, attributes) => {
|
|
155
|
-
if (telemetryEnabled) Sentry.logger.info(message, { url: getUrl(), ...attributes });
|
|
156
|
-
},
|
|
157
|
-
warn: (message, attributes) => {
|
|
158
|
-
if (telemetryEnabled) Sentry.logger.warn(message, { url: getUrl(), ...attributes });
|
|
159
|
-
},
|
|
160
|
-
error: (message, attributes) => {
|
|
161
|
-
if (telemetryEnabled) Sentry.logger.error(message, { url: getUrl(), ...attributes });
|
|
162
|
-
}
|
|
163
|
-
};
|
|
164
|
-
|
|
165
|
-
// src/wallet-adapters/AppKitAdapter.ts
|
|
166
|
-
var _logos = require('@aurum-sdk/logos');
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
// src/utils/isConfigError.ts
|
|
170
|
-
var isConfigError = (error) => {
|
|
171
|
-
const name = _optionalChain([error, 'optionalAccess', _2 => _2.name]);
|
|
172
|
-
return name === "ConfigError";
|
|
173
|
-
};
|
|
174
|
-
var createConfigError = (adapterName) => {
|
|
175
|
-
const error = new Error(`Missing required project ID for ${adapterName}`);
|
|
176
|
-
error.name = "ConfigError";
|
|
177
|
-
return error;
|
|
178
|
-
};
|
|
179
|
-
|
|
180
|
-
// src/wallet-adapters/AppKitAdapter.ts
|
|
181
|
-
var AppKitAdapter = class {
|
|
182
|
-
constructor(config) {
|
|
183
|
-
this.id = _types.WalletId.WalletConnect;
|
|
184
|
-
this.name = _types.WalletName.WalletConnect;
|
|
185
|
-
this.icon = _nullishCoalesce(_logos.getLogoDataUri.call(void 0, _types.WalletId.WalletConnect, "brand"), () => ( ""));
|
|
186
|
-
this.hide = true;
|
|
187
|
-
this.downloadUrl = null;
|
|
188
|
-
this.wcDeepLinkUrl = null;
|
|
189
|
-
this.modal = null;
|
|
190
|
-
this.wagmiAdapter = null;
|
|
191
|
-
this.provider = null;
|
|
192
|
-
this.address = null;
|
|
193
|
-
this.accountsChangedCallback = null;
|
|
194
|
-
this.unsubscribeFunctions = [];
|
|
195
|
-
this.initPromise = null;
|
|
196
|
-
this.config = {
|
|
197
|
-
projectId: config.projectId,
|
|
198
|
-
appName: config.appName,
|
|
199
|
-
modalZIndex: config.modalZIndex,
|
|
200
|
-
theme: config.theme
|
|
201
|
-
};
|
|
202
|
-
}
|
|
203
|
-
async ensureInitialized() {
|
|
204
|
-
if (this.modal) return;
|
|
205
|
-
if (!this.initPromise) {
|
|
206
|
-
this.initPromise = this.initializeAppKit();
|
|
207
|
-
}
|
|
208
|
-
await this.initPromise;
|
|
209
|
-
}
|
|
210
|
-
async initializeAppKit() {
|
|
211
|
-
if (typeof window === "undefined") return;
|
|
212
|
-
const [{ createAppKit }, { WagmiAdapter }, { mainnet }] = await Promise.all([
|
|
213
|
-
Promise.resolve().then(() => _interopRequireWildcard(require("@reown/appkit"))),
|
|
214
|
-
Promise.resolve().then(() => _interopRequireWildcard(require("@reown/appkit-adapter-wagmi"))),
|
|
215
|
-
Promise.resolve().then(() => _interopRequireWildcard(require("@reown/appkit/networks")))
|
|
216
|
-
]);
|
|
217
|
-
const networks = [mainnet];
|
|
218
|
-
this.wagmiAdapter = new WagmiAdapter({
|
|
219
|
-
projectId: this.config.projectId,
|
|
220
|
-
networks,
|
|
221
|
-
ssr: true
|
|
222
|
-
});
|
|
223
|
-
this.modal = createAppKit({
|
|
224
|
-
adapters: [this.wagmiAdapter],
|
|
225
|
-
networks,
|
|
226
|
-
projectId: this.config.projectId,
|
|
227
|
-
metadata: {
|
|
228
|
-
name: this.config.appName,
|
|
229
|
-
description: this.config.appName,
|
|
230
|
-
url: window.location.origin,
|
|
231
|
-
icons: []
|
|
232
|
-
},
|
|
233
|
-
allowUnsupportedChain: true,
|
|
234
|
-
themeMode: this.config.theme,
|
|
235
|
-
themeVariables: {
|
|
236
|
-
"--apkt-z-index": this.config.modalZIndex + 1
|
|
237
|
-
}
|
|
238
|
-
});
|
|
239
|
-
this.setupEventListeners();
|
|
240
|
-
}
|
|
241
|
-
setupEventListeners() {
|
|
242
|
-
if (!this.modal) return;
|
|
243
|
-
const unsubscribeProviders = this.modal.subscribeProviders((state) => {
|
|
244
|
-
const eip155Provider = state["eip155"];
|
|
245
|
-
this.provider = eip155Provider || null;
|
|
246
|
-
if (!eip155Provider) {
|
|
247
|
-
this.address = null;
|
|
248
|
-
}
|
|
249
|
-
});
|
|
250
|
-
this.unsubscribeFunctions.push(unsubscribeProviders);
|
|
251
|
-
}
|
|
252
|
-
syncAddressFromWagmi() {
|
|
253
|
-
if (!_optionalChain([this, 'access', _3 => _3.wagmiAdapter, 'optionalAccess', _4 => _4.wagmiConfig])) return;
|
|
254
|
-
const { state } = this.wagmiAdapter.wagmiConfig;
|
|
255
|
-
if (state.current && state.connections) {
|
|
256
|
-
const connection = state.connections.get(state.current);
|
|
257
|
-
if (_optionalChain([connection, 'optionalAccess', _5 => _5.accounts, 'optionalAccess', _6 => _6[0]])) {
|
|
258
|
-
this.address = connection.accounts[0];
|
|
259
|
-
}
|
|
260
|
-
}
|
|
261
|
-
}
|
|
262
|
-
async syncProviderFromModal() {
|
|
263
|
-
if (!this.modal) return;
|
|
264
|
-
try {
|
|
265
|
-
const getProvidersFn = this.modal.getProviders;
|
|
266
|
-
if (typeof getProvidersFn === "function") {
|
|
267
|
-
const providers = getProvidersFn.call(this.modal);
|
|
268
|
-
const eip155Provider = _optionalChain([providers, 'optionalAccess', _7 => _7["eip155"]]);
|
|
269
|
-
if (eip155Provider) {
|
|
270
|
-
this.provider = eip155Provider;
|
|
271
|
-
return;
|
|
272
|
-
}
|
|
273
|
-
}
|
|
274
|
-
if (_optionalChain([this, 'access', _8 => _8.wagmiAdapter, 'optionalAccess', _9 => _9.wagmiConfig])) {
|
|
275
|
-
const { state } = this.wagmiAdapter.wagmiConfig;
|
|
276
|
-
if (state.current && state.connections) {
|
|
277
|
-
const connection = state.connections.get(state.current);
|
|
278
|
-
const connector = _optionalChain([connection, 'optionalAccess', _10 => _10.connector]);
|
|
279
|
-
if (connector && typeof connector.getProvider === "function") {
|
|
280
|
-
try {
|
|
281
|
-
const provider = await connector.getProvider();
|
|
282
|
-
if (provider) {
|
|
283
|
-
this.provider = provider;
|
|
284
|
-
}
|
|
285
|
-
} catch (error) {
|
|
286
|
-
sentryLogger.warn("Failed to get provider from wagmi connector", { error });
|
|
287
|
-
}
|
|
288
|
-
}
|
|
289
|
-
}
|
|
290
|
-
}
|
|
291
|
-
} catch (error) {
|
|
292
|
-
sentryLogger.warn("Failed to get provider from WalletConnect modal", { error });
|
|
293
|
-
}
|
|
294
|
-
}
|
|
295
|
-
isInstalled() {
|
|
296
|
-
return true;
|
|
297
|
-
}
|
|
298
|
-
async connect() {
|
|
299
|
-
if (!this.config.projectId) {
|
|
300
|
-
throw createConfigError("WalletConnect");
|
|
301
|
-
}
|
|
302
|
-
await this.ensureInitialized();
|
|
303
|
-
if (!this.modal) {
|
|
304
|
-
sentryLogger.error("WalletConnect modal is not available");
|
|
305
|
-
throw new Error("WalletConnect modal is not available");
|
|
306
|
-
}
|
|
307
|
-
const existingAddress = this.modal.getAddress();
|
|
308
|
-
if (this.modal.getIsConnectedState() && existingAddress) {
|
|
309
|
-
await this.syncProviderFromModal();
|
|
310
|
-
if (this.provider) {
|
|
311
|
-
this.address = existingAddress;
|
|
312
|
-
return {
|
|
313
|
-
address: existingAddress,
|
|
314
|
-
provider: this.provider,
|
|
315
|
-
walletId: this.id
|
|
316
|
-
};
|
|
317
|
-
}
|
|
318
|
-
await this.disconnect();
|
|
319
|
-
}
|
|
320
|
-
this.modal.open({ view: "AllWallets" });
|
|
321
|
-
return await this.waitForConnection();
|
|
322
|
-
}
|
|
323
|
-
waitForConnection(timeout = 6e4) {
|
|
324
|
-
return new Promise((resolve, reject) => {
|
|
325
|
-
const startTime = Date.now();
|
|
326
|
-
let unsubscribeState = null;
|
|
327
|
-
let isResolved = false;
|
|
328
|
-
const cleanup = () => {
|
|
329
|
-
_optionalChain([unsubscribeState, 'optionalCall', _11 => _11()]);
|
|
330
|
-
};
|
|
331
|
-
const checkConnection = async () => {
|
|
332
|
-
if (isResolved) return true;
|
|
333
|
-
this.syncAddressFromWagmi();
|
|
334
|
-
if (this.address && !this.provider) {
|
|
335
|
-
await this.syncProviderFromModal();
|
|
336
|
-
}
|
|
337
|
-
if (this.provider && this.address) {
|
|
338
|
-
try {
|
|
339
|
-
const accounts = await this.provider.request({ method: "eth_accounts" });
|
|
340
|
-
if (accounts && accounts.length > 0) {
|
|
341
|
-
isResolved = true;
|
|
342
|
-
cleanup();
|
|
343
|
-
_optionalChain([this, 'access', _12 => _12.modal, 'optionalAccess', _13 => _13.close, 'call', _14 => _14()]);
|
|
344
|
-
resolve({
|
|
345
|
-
address: this.address,
|
|
346
|
-
provider: this.provider,
|
|
347
|
-
walletId: this.id
|
|
348
|
-
});
|
|
349
|
-
return true;
|
|
350
|
-
}
|
|
351
|
-
return false;
|
|
352
|
-
} catch (e2) {
|
|
353
|
-
return false;
|
|
354
|
-
}
|
|
355
|
-
}
|
|
356
|
-
return false;
|
|
357
|
-
};
|
|
358
|
-
unsubscribeState = this.modal.subscribeState(async (state) => {
|
|
359
|
-
if (await checkConnection()) return;
|
|
360
|
-
if (state.open === false && !this.address && !isResolved) {
|
|
361
|
-
cleanup();
|
|
362
|
-
reject(new Error("Connection rejected by user"));
|
|
363
|
-
}
|
|
364
|
-
});
|
|
365
|
-
const pollTimeout = async () => {
|
|
366
|
-
if (await checkConnection()) return;
|
|
367
|
-
if (Date.now() - startTime > timeout) {
|
|
368
|
-
cleanup();
|
|
369
|
-
reject(new Error("Connection timeout"));
|
|
370
|
-
return;
|
|
371
|
-
}
|
|
372
|
-
setTimeout(pollTimeout, 500);
|
|
373
|
-
};
|
|
374
|
-
pollTimeout();
|
|
375
|
-
});
|
|
376
|
-
}
|
|
377
|
-
async tryRestoreConnection() {
|
|
378
|
-
await this.ensureInitialized();
|
|
379
|
-
if (!this.modal || !this.wagmiAdapter) return null;
|
|
380
|
-
try {
|
|
381
|
-
await new Promise((resolve) => setTimeout(resolve, 1e3));
|
|
382
|
-
const wagmiConfig = this.wagmiAdapter.wagmiConfig;
|
|
383
|
-
if (_optionalChain([wagmiConfig, 'optionalAccess', _15 => _15.state, 'optionalAccess', _16 => _16.current]) && wagmiConfig.state.connections) {
|
|
384
|
-
const connection = wagmiConfig.state.connections.get(wagmiConfig.state.current);
|
|
385
|
-
if (_optionalChain([connection, 'optionalAccess', _17 => _17.accounts, 'optionalAccess', _18 => _18[0]])) {
|
|
386
|
-
this.address = connection.accounts[0];
|
|
387
|
-
if (this.provider && this.address) {
|
|
388
|
-
return {
|
|
389
|
-
address: this.address,
|
|
390
|
-
provider: this.provider,
|
|
391
|
-
walletId: this.id
|
|
392
|
-
};
|
|
393
|
-
}
|
|
394
|
-
}
|
|
395
|
-
}
|
|
396
|
-
return null;
|
|
397
|
-
} catch (e3) {
|
|
398
|
-
return null;
|
|
399
|
-
}
|
|
400
|
-
}
|
|
401
|
-
async disconnect() {
|
|
402
|
-
if (!this.modal) {
|
|
403
|
-
this.address = null;
|
|
404
|
-
this.provider = null;
|
|
405
|
-
return;
|
|
406
|
-
}
|
|
407
|
-
await this.modal.disconnect("eip155");
|
|
408
|
-
const timeout = Date.now() + 2e3;
|
|
409
|
-
while (Date.now() < timeout && (this.modal.getIsConnectedState() || this.modal.getAddress())) {
|
|
410
|
-
await new Promise((r) => setTimeout(r, 100));
|
|
411
|
-
}
|
|
412
|
-
this.address = null;
|
|
413
|
-
this.provider = null;
|
|
414
|
-
}
|
|
415
|
-
getProvider() {
|
|
416
|
-
return this.provider;
|
|
417
|
-
}
|
|
418
|
-
onAccountsChanged(callback) {
|
|
419
|
-
if (!_optionalChain([this, 'access', _19 => _19.provider, 'optionalAccess', _20 => _20.on])) return;
|
|
420
|
-
if (this.accountsChangedCallback) {
|
|
421
|
-
_optionalChain([this, 'access', _21 => _21.provider, 'access', _22 => _22.removeListener, 'optionalCall', _23 => _23("accountsChanged", this.accountsChangedCallback)]);
|
|
422
|
-
}
|
|
423
|
-
this.accountsChangedCallback = (accounts) => {
|
|
424
|
-
this.address = accounts[0] || null;
|
|
425
|
-
callback(accounts);
|
|
426
|
-
};
|
|
427
|
-
this.provider.on("accountsChanged", this.accountsChangedCallback);
|
|
428
|
-
}
|
|
429
|
-
removeListeners() {
|
|
430
|
-
if (_optionalChain([this, 'access', _24 => _24.provider, 'optionalAccess', _25 => _25.removeListener]) && this.accountsChangedCallback) {
|
|
431
|
-
this.provider.removeListener("accountsChanged", this.accountsChangedCallback);
|
|
432
|
-
this.accountsChangedCallback = null;
|
|
433
|
-
}
|
|
434
|
-
this.unsubscribeFunctions.forEach((unsub) => unsub());
|
|
435
|
-
this.unsubscribeFunctions = [];
|
|
436
|
-
}
|
|
437
|
-
};
|
|
438
|
-
/** Internal identifier for distinguishing from WalletConnectAdapter */
|
|
439
|
-
AppKitAdapter.INTERNAL_ID = "appkit-modal";
|
|
440
|
-
|
|
441
122
|
// src/utils/platform/isMobile.ts
|
|
442
123
|
var _mobiledetect = require('mobile-detect'); var _mobiledetect2 = _interopRequireDefault(_mobiledetect);
|
|
443
124
|
function isMobile() {
|
|
@@ -653,7 +334,7 @@ var Divider = ({ children }) => {
|
|
|
653
334
|
var FOCUSABLE_SELECTOR = 'button:not([disabled]), [href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])';
|
|
654
335
|
function getDeepActiveElement() {
|
|
655
336
|
let active = document.activeElement;
|
|
656
|
-
while (_optionalChain([active, 'optionalAccess',
|
|
337
|
+
while (_optionalChain([active, 'optionalAccess', _2 => _2.shadowRoot, 'optionalAccess', _3 => _3.activeElement])) {
|
|
657
338
|
active = active.shadowRoot.activeElement;
|
|
658
339
|
}
|
|
659
340
|
return active;
|
|
@@ -662,7 +343,7 @@ function useFocusTrap(containerRef, { isActive, onEscape, refocusKey }) {
|
|
|
662
343
|
_react.useEffect.call(void 0, () => {
|
|
663
344
|
if (isActive && containerRef.current) {
|
|
664
345
|
const timer = setTimeout(() => {
|
|
665
|
-
_optionalChain([containerRef, 'access',
|
|
346
|
+
_optionalChain([containerRef, 'access', _4 => _4.current, 'optionalAccess', _5 => _5.focus, 'call', _6 => _6()]);
|
|
666
347
|
}, 50);
|
|
667
348
|
return () => clearTimeout(timer);
|
|
668
349
|
}
|
|
@@ -671,7 +352,7 @@ function useFocusTrap(containerRef, { isActive, onEscape, refocusKey }) {
|
|
|
671
352
|
if (!isActive) return;
|
|
672
353
|
const handleKeyDown = (e) => {
|
|
673
354
|
if (e.key === "Escape") {
|
|
674
|
-
_optionalChain([onEscape, 'optionalCall',
|
|
355
|
+
_optionalChain([onEscape, 'optionalCall', _7 => _7()]);
|
|
675
356
|
return;
|
|
676
357
|
}
|
|
677
358
|
if (e.key !== "Tab" || !containerRef.current) return;
|
|
@@ -873,7 +554,7 @@ var Modal = ({
|
|
|
873
554
|
if (animState !== "entering") return;
|
|
874
555
|
const rafId = requestAnimationFrame(() => {
|
|
875
556
|
setAnimState("open");
|
|
876
|
-
_optionalChain([dialogRef, 'access',
|
|
557
|
+
_optionalChain([dialogRef, 'access', _8 => _8.current, 'optionalAccess', _9 => _9.focus, 'call', _10 => _10()]);
|
|
877
558
|
});
|
|
878
559
|
return () => cancelAnimationFrame(rafId);
|
|
879
560
|
}, [animState]);
|
|
@@ -1055,6 +736,62 @@ var ModalHeader = ({ leftAction, rightAction, title }) => {
|
|
|
1055
736
|
// src/contexts/EmailAuthContext.tsx
|
|
1056
737
|
|
|
1057
738
|
|
|
739
|
+
// src/services/sentry.ts
|
|
740
|
+
var _browser = require('@sentry/browser'); var Sentry = _interopRequireWildcard(_browser);
|
|
741
|
+
var initialized = false;
|
|
742
|
+
var telemetryEnabled = true;
|
|
743
|
+
function getEnvironment() {
|
|
744
|
+
if (typeof window !== "undefined") {
|
|
745
|
+
const hostname = window.location.hostname;
|
|
746
|
+
if (hostname === "localhost" || hostname === "127.0.0.1") {
|
|
747
|
+
return "development";
|
|
748
|
+
}
|
|
749
|
+
}
|
|
750
|
+
return "production";
|
|
751
|
+
}
|
|
752
|
+
function initSentry(enabled = true) {
|
|
753
|
+
telemetryEnabled = enabled;
|
|
754
|
+
if (initialized || !telemetryEnabled || false) return;
|
|
755
|
+
initialized = true;
|
|
756
|
+
Sentry.init({
|
|
757
|
+
dsn: "https://0bb16fd7057ac7b45ae0ab416cdbea8b@o4505953815494656.ingest.us.sentry.io/4509747448184832",
|
|
758
|
+
environment: getEnvironment(),
|
|
759
|
+
release: `@aurum-sdk/core@${"0.2.1"}`,
|
|
760
|
+
sendDefaultPii: false,
|
|
761
|
+
enableLogs: true
|
|
762
|
+
});
|
|
763
|
+
}
|
|
764
|
+
function getUrl() {
|
|
765
|
+
if (typeof window !== "undefined") {
|
|
766
|
+
return window.location.href;
|
|
767
|
+
}
|
|
768
|
+
return void 0;
|
|
769
|
+
}
|
|
770
|
+
var sentryLogger = {
|
|
771
|
+
info: (message, attributes) => {
|
|
772
|
+
if (telemetryEnabled) Sentry.logger.info(message, { url: getUrl(), ...attributes });
|
|
773
|
+
},
|
|
774
|
+
warn: (message, attributes) => {
|
|
775
|
+
if (telemetryEnabled) Sentry.logger.warn(message, { url: getUrl(), ...attributes });
|
|
776
|
+
},
|
|
777
|
+
error: (message, attributes) => {
|
|
778
|
+
if (telemetryEnabled) Sentry.logger.error(message, { url: getUrl(), ...attributes });
|
|
779
|
+
}
|
|
780
|
+
};
|
|
781
|
+
|
|
782
|
+
// src/utils/isConfigError.ts
|
|
783
|
+
var isConfigError = (error) => {
|
|
784
|
+
const name = _optionalChain([error, 'optionalAccess', _11 => _11.name]);
|
|
785
|
+
return name === "ConfigError";
|
|
786
|
+
};
|
|
787
|
+
var createConfigError = (adapterName) => {
|
|
788
|
+
const error = new Error(`Missing required project ID for ${adapterName}`);
|
|
789
|
+
error.name = "ConfigError";
|
|
790
|
+
return error;
|
|
791
|
+
};
|
|
792
|
+
|
|
793
|
+
// src/contexts/EmailAuthContext.tsx
|
|
794
|
+
|
|
1058
795
|
var EmailAuthContext = _react.createContext.call(void 0, null);
|
|
1059
796
|
var useEmailAuth = () => {
|
|
1060
797
|
const context = _react.useContext.call(void 0, EmailAuthContext);
|
|
@@ -1115,14 +852,14 @@ var EmailAuthProvider = ({
|
|
|
1115
852
|
await attemptEmailAuth(email, emailAdapter);
|
|
1116
853
|
} catch (error2) {
|
|
1117
854
|
setEmailAuthState((prev) => ({ ...prev, step: "email" }));
|
|
1118
|
-
const errorMessage = _nullishCoalesce(_optionalChain([error2, 'access',
|
|
855
|
+
const errorMessage = _nullishCoalesce(_optionalChain([error2, 'access', _12 => _12.message, 'optionalAccess', _13 => _13.toLowerCase, 'call', _14 => _14()]), () => ( ""));
|
|
1119
856
|
const isAlreadyAuthenticated = errorMessage.includes("user is already authenticated");
|
|
1120
857
|
if (isConfigError(error2)) {
|
|
1121
858
|
navigateTo(PAGE_IDS.CONFIG_ERROR);
|
|
1122
859
|
} else if (isAlreadyAuthenticated) {
|
|
1123
860
|
try {
|
|
1124
861
|
await handleAlreadyAuthenticatedError(email, emailAdapter);
|
|
1125
|
-
} catch (
|
|
862
|
+
} catch (e2) {
|
|
1126
863
|
setError("Failed to send email verification");
|
|
1127
864
|
}
|
|
1128
865
|
} else {
|
|
@@ -1152,12 +889,12 @@ var EmailAuthProvider = ({
|
|
|
1152
889
|
setTimeout(() => {
|
|
1153
890
|
onConnect({
|
|
1154
891
|
walletId: emailAdapter.id,
|
|
1155
|
-
address: _nullishCoalesce(_optionalChain([verifyResult, 'access',
|
|
892
|
+
address: _nullishCoalesce(_optionalChain([verifyResult, 'access', _15 => _15.user, 'optionalAccess', _16 => _16.evmAccounts, 'optionalAccess', _17 => _17[0]]), () => ( "")),
|
|
1156
893
|
provider: emailAdapter.getProvider(),
|
|
1157
894
|
email: emailAuthState.email
|
|
1158
895
|
});
|
|
1159
896
|
}, 1500);
|
|
1160
|
-
} catch (
|
|
897
|
+
} catch (e3) {
|
|
1161
898
|
setError("Invalid or expired code");
|
|
1162
899
|
setEmailAuthState((prev) => ({ ...prev, step: "otp" }));
|
|
1163
900
|
}
|
|
@@ -1655,8 +1392,8 @@ var ConnectionStatusPage = () => {
|
|
|
1655
1392
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1656
1393
|
ConnectionStatusBase,
|
|
1657
1394
|
{
|
|
1658
|
-
pendingHeaderText: `Approve in ${_optionalChain([selectedWallet, 'optionalAccess',
|
|
1659
|
-
pendingSubContent: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Text, { align: "center", size: "sm", variant: "secondary", children: _optionalChain([selectedWallet, 'optionalAccess',
|
|
1395
|
+
pendingHeaderText: `Approve in ${_optionalChain([selectedWallet, 'optionalAccess', _18 => _18.name])}`,
|
|
1396
|
+
pendingSubContent: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Text, { align: "center", size: "sm", variant: "secondary", children: _optionalChain([selectedWallet, 'optionalAccess', _19 => _19.id]) === _types.WalletId.Ledger ? `Please wait for the Ledger Live modal to open` : `Please check your wallet to
|
|
1660
1397
|
approve the connection` })
|
|
1661
1398
|
}
|
|
1662
1399
|
);
|
|
@@ -1675,11 +1412,11 @@ var ConnectionStatusMobilePage = () => {
|
|
|
1675
1412
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1676
1413
|
ConnectionStatusBase,
|
|
1677
1414
|
{
|
|
1678
|
-
title: _optionalChain([selectedWallet, 'optionalAccess',
|
|
1679
|
-
pendingHeaderText: `Opening ${_optionalChain([selectedWallet, 'optionalAccess',
|
|
1415
|
+
title: _optionalChain([selectedWallet, 'optionalAccess', _20 => _20.name]),
|
|
1416
|
+
pendingHeaderText: `Opening ${_optionalChain([selectedWallet, 'optionalAccess', _21 => _21.name])}`,
|
|
1680
1417
|
pendingSubContent: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Text, { size: "sm", variant: "secondary", align: "center", style: { maxWidth: "18.75rem" }, children: [
|
|
1681
1418
|
"If ",
|
|
1682
|
-
_optionalChain([selectedWallet, 'optionalAccess',
|
|
1419
|
+
_optionalChain([selectedWallet, 'optionalAccess', _22 => _22.name]),
|
|
1683
1420
|
" doesn't open automatically, click the button below"
|
|
1684
1421
|
] }),
|
|
1685
1422
|
extraContent: showLaunchButton && !success && !error ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Button, { variant: "tertiary", size: "md", onClick: retryConnection, style: { width: "100%", marginTop: "0.5rem" }, children: "Launch App" }) : void 0
|
|
@@ -1695,10 +1432,10 @@ var ConnectionStatusMobilePage = () => {
|
|
|
1695
1432
|
var _reactqrcodelogo = require('react-qrcode-logo');
|
|
1696
1433
|
|
|
1697
1434
|
// src/utils/generateQrCodeWalletLogo.tsx
|
|
1698
|
-
|
|
1435
|
+
var _logos = require('@aurum-sdk/logos');
|
|
1699
1436
|
|
|
1700
1437
|
var generateQrCodeWalletLogo = (walletAdapter) => {
|
|
1701
|
-
if (walletAdapter &&
|
|
1438
|
+
if (walletAdapter && walletAdapter.id !== _types.WalletId.AppKit && walletAdapter.icon) {
|
|
1702
1439
|
return walletAdapter.icon;
|
|
1703
1440
|
}
|
|
1704
1441
|
return _nullishCoalesce(_logos.getLogoDataUri.call(void 0, _types.WalletId.WalletConnect), () => ( ""));
|
|
@@ -1861,6 +1598,7 @@ var QRCodeSkeleton = ({ size = 128 }) => {
|
|
|
1861
1598
|
|
|
1862
1599
|
// src/components/QRCodeDisplay/QRCodeDisplay.tsx
|
|
1863
1600
|
|
|
1601
|
+
|
|
1864
1602
|
var QRCodeDisplay = ({ uri, size = 256 }) => {
|
|
1865
1603
|
const { brandConfig } = useWidgetContext();
|
|
1866
1604
|
const { selectedWallet, displayedWallets, connectWallet } = useConnectModal();
|
|
@@ -1868,12 +1606,12 @@ var QRCodeDisplay = ({ uri, size = 256 }) => {
|
|
|
1868
1606
|
const bgColor = brandConfig.theme === "light" ? "#ffffff" : "#121212";
|
|
1869
1607
|
const logoWalletRef = _react.useRef.call(void 0, null);
|
|
1870
1608
|
_react.useEffect.call(void 0, () => {
|
|
1871
|
-
if (selectedWallet &&
|
|
1609
|
+
if (selectedWallet && selectedWallet.id !== _types.WalletId.AppKit) {
|
|
1872
1610
|
logoWalletRef.current = selectedWallet;
|
|
1873
1611
|
}
|
|
1874
1612
|
}, [selectedWallet]);
|
|
1875
1613
|
const logoWallet = logoWalletRef.current || selectedWallet;
|
|
1876
|
-
const appKitAdapter = displayedWallets.find((
|
|
1614
|
+
const appKitAdapter = displayedWallets.find(({ id }) => id === _types.WalletId.AppKit);
|
|
1877
1615
|
const handleAppKitConnect = async () => {
|
|
1878
1616
|
if (appKitAdapter) {
|
|
1879
1617
|
connectWallet(appKitAdapter);
|
|
@@ -1934,7 +1672,7 @@ var QRCodePage = () => {
|
|
|
1934
1672
|
const [connectionUri, setConnectionUri] = _react.useState.call(void 0, null);
|
|
1935
1673
|
const originalWalletRef = _react.useRef.call(void 0, null);
|
|
1936
1674
|
_react.useEffect.call(void 0, () => {
|
|
1937
|
-
if (selectedWallet &&
|
|
1675
|
+
if (selectedWallet && selectedWallet.id !== _types.WalletId.AppKit) {
|
|
1938
1676
|
originalWalletRef.current = selectedWallet;
|
|
1939
1677
|
}
|
|
1940
1678
|
}, [selectedWallet]);
|
|
@@ -1942,7 +1680,7 @@ var QRCodePage = () => {
|
|
|
1942
1680
|
const goBackToHome = () => {
|
|
1943
1681
|
navigateTo(PAGE_IDS.SELECT_WALLET);
|
|
1944
1682
|
};
|
|
1945
|
-
const title = _optionalChain([displayWallet, 'optionalAccess',
|
|
1683
|
+
const title = _optionalChain([displayWallet, 'optionalAccess', _23 => _23.name]) === _types.WalletName.WalletConnect || _optionalChain([displayWallet, 'optionalAccess', _24 => _24.name]) === _types.WalletName.AppKit ? "Scan QR code" : `Scan with ${_optionalChain([displayWallet, 'optionalAccess', _25 => _25.name])} app`;
|
|
1946
1684
|
_react.useEffect.call(void 0, () => {
|
|
1947
1685
|
const handleWalletConnectURI = (event) => {
|
|
1948
1686
|
setConnectionUri(event.detail.uri);
|
|
@@ -1972,7 +1710,7 @@ var QRCodePage = () => {
|
|
|
1972
1710
|
),
|
|
1973
1711
|
qrSuccess ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Column, { align: "center", style: { height: "8rem" }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.CircleCheck, { color: "var(--aurum-primary-color)", size: 46 }) }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
1974
1712
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, Column, { align: "center", gap: 24, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, QRCodeDisplay, { uri: error ? null : connectionUri }) }),
|
|
1975
|
-
_optionalChain([displayWallet, 'optionalAccess',
|
|
1713
|
+
_optionalChain([displayWallet, 'optionalAccess', _26 => _26.downloadUrl]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
1976
1714
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, Spacer, { size: 15 }),
|
|
1977
1715
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
1978
1716
|
Button,
|
|
@@ -2147,12 +1885,12 @@ var useOtpInputs = ({
|
|
|
2147
1885
|
newOtp[index] = value.slice(-1);
|
|
2148
1886
|
setOtp(newOtp);
|
|
2149
1887
|
if (value && index < OTP_LENGTH - 1) {
|
|
2150
|
-
_optionalChain([inputRefs, 'access',
|
|
1888
|
+
_optionalChain([inputRefs, 'access', _27 => _27.current, 'access', _28 => _28[index + 1], 'optionalAccess', _29 => _29.focus, 'call', _30 => _30()]);
|
|
2151
1889
|
}
|
|
2152
1890
|
};
|
|
2153
1891
|
const handleKeyDown = (index, e) => {
|
|
2154
1892
|
if (e.key === "Backspace" && !otp[index] && index > 0) {
|
|
2155
|
-
_optionalChain([inputRefs, 'access',
|
|
1893
|
+
_optionalChain([inputRefs, 'access', _31 => _31.current, 'access', _32 => _32[index - 1], 'optionalAccess', _33 => _33.focus, 'call', _34 => _34()]);
|
|
2156
1894
|
}
|
|
2157
1895
|
};
|
|
2158
1896
|
const handlePaste = (e) => {
|
|
@@ -2164,7 +1902,7 @@ var useOtpInputs = ({
|
|
|
2164
1902
|
setOtp(newOtp);
|
|
2165
1903
|
const nextEmptyIndex = newOtp.findIndex((digit) => !digit);
|
|
2166
1904
|
if (nextEmptyIndex !== -1) {
|
|
2167
|
-
_optionalChain([inputRefs, 'access',
|
|
1905
|
+
_optionalChain([inputRefs, 'access', _35 => _35.current, 'access', _36 => _36[nextEmptyIndex], 'optionalAccess', _37 => _37.focus, 'call', _38 => _38()]);
|
|
2168
1906
|
}
|
|
2169
1907
|
};
|
|
2170
1908
|
_react.useEffect.call(void 0, () => {
|
|
@@ -2173,16 +1911,16 @@ var useOtpInputs = ({
|
|
|
2173
1911
|
}
|
|
2174
1912
|
}, [otp]);
|
|
2175
1913
|
_react.useEffect.call(void 0, () => {
|
|
2176
|
-
_optionalChain([inputRefs, 'access',
|
|
1914
|
+
_optionalChain([inputRefs, 'access', _39 => _39.current, 'access', _40 => _40[0], 'optionalAccess', _41 => _41.focus, 'call', _42 => _42()]);
|
|
2177
1915
|
const timer = setTimeout(() => {
|
|
2178
|
-
_optionalChain([inputRefs, 'access',
|
|
1916
|
+
_optionalChain([inputRefs, 'access', _43 => _43.current, 'access', _44 => _44[0], 'optionalAccess', _45 => _45.focus, 'call', _46 => _46()]);
|
|
2179
1917
|
}, 100);
|
|
2180
1918
|
return () => clearTimeout(timer);
|
|
2181
1919
|
}, []);
|
|
2182
1920
|
_react.useEffect.call(void 0, () => {
|
|
2183
1921
|
if (error) {
|
|
2184
1922
|
setOtp(Array(OTP_LENGTH).fill(""));
|
|
2185
|
-
_optionalChain([inputRefs, 'access',
|
|
1923
|
+
_optionalChain([inputRefs, 'access', _47 => _47.current, 'access', _48 => _48[0], 'optionalAccess', _49 => _49.focus, 'call', _50 => _50()]);
|
|
2186
1924
|
}
|
|
2187
1925
|
}, [error]);
|
|
2188
1926
|
_react.useEffect.call(void 0, () => {
|
|
@@ -2231,7 +1969,7 @@ var EmailVerifyOTP = () => {
|
|
|
2231
1969
|
startCountdown(RESEND_COUNTDOWN_SECONDS);
|
|
2232
1970
|
await sendEmailOTP(emailAuthState.email);
|
|
2233
1971
|
setOtp(Array(OTP_LENGTH).fill(""));
|
|
2234
|
-
_optionalChain([inputRefs, 'access',
|
|
1972
|
+
_optionalChain([inputRefs, 'access', _51 => _51.current, 'access', _52 => _52[0], 'optionalAccess', _53 => _53.focus, 'call', _54 => _54()]);
|
|
2235
1973
|
};
|
|
2236
1974
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { children: [
|
|
2237
1975
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -2418,209 +2156,19 @@ var registerGlobalCleanup = (cleanupFn) => {
|
|
|
2418
2156
|
if (index > -1) cleanupList.splice(index, 1);
|
|
2419
2157
|
cleanupFn();
|
|
2420
2158
|
};
|
|
2421
|
-
_optionalChain([window, 'access',
|
|
2159
|
+
_optionalChain([window, 'access', _55 => _55.__aurumDeepLinkListeners, 'optionalAccess', _56 => _56.push, 'call', _57 => _57(cleanup)]);
|
|
2422
2160
|
return cleanup;
|
|
2423
2161
|
};
|
|
2424
2162
|
|
|
2425
|
-
// src/wallet-adapters/WalletConnectAdapter.ts
|
|
2426
|
-
|
|
2427
|
-
|
|
2428
|
-
var WalletConnectAdapter = class {
|
|
2429
|
-
constructor(config) {
|
|
2430
|
-
this.id = _types.WalletId.WalletConnect;
|
|
2431
|
-
this.name = _types.WalletName.WalletConnect;
|
|
2432
|
-
this.icon = _nullishCoalesce(_logos.getLogoDataUri.call(void 0, _types.WalletId.WalletConnect, "brand"), () => ( ""));
|
|
2433
|
-
this.hide = false;
|
|
2434
|
-
this.downloadUrl = null;
|
|
2435
|
-
this.wcDeepLinkUrl = null;
|
|
2436
|
-
this.provider = null;
|
|
2437
|
-
this.connectionUri = null;
|
|
2438
|
-
this.accountsChangedCallback = null;
|
|
2439
|
-
this.initPromise = null;
|
|
2440
|
-
this.config = {
|
|
2441
|
-
projectId: config.projectId,
|
|
2442
|
-
appName: config.appName
|
|
2443
|
-
};
|
|
2444
|
-
}
|
|
2445
|
-
async ensureInitialized() {
|
|
2446
|
-
if (this.provider) return;
|
|
2447
|
-
if (!this.initPromise) {
|
|
2448
|
-
this.initPromise = this.initializeProvider();
|
|
2449
|
-
}
|
|
2450
|
-
await this.initPromise;
|
|
2451
|
-
}
|
|
2452
|
-
async initializeProvider() {
|
|
2453
|
-
if (typeof window === "undefined") return;
|
|
2454
|
-
const { EthereumProvider } = await Promise.resolve().then(() => _interopRequireWildcard(require("@walletconnect/ethereum-provider")));
|
|
2455
|
-
this.provider = await EthereumProvider.init({
|
|
2456
|
-
projectId: _nullishCoalesce(this.config.projectId, () => ( "")),
|
|
2457
|
-
optionalChains: [1],
|
|
2458
|
-
showQrModal: false,
|
|
2459
|
-
metadata: {
|
|
2460
|
-
name: this.config.appName,
|
|
2461
|
-
description: this.config.appName,
|
|
2462
|
-
url: window.location.origin,
|
|
2463
|
-
icons: []
|
|
2464
|
-
}
|
|
2465
|
-
});
|
|
2466
|
-
this.provider.on("display_uri", (uri) => {
|
|
2467
|
-
this.connectionUri = uri;
|
|
2468
|
-
if (typeof window !== "undefined") {
|
|
2469
|
-
window.dispatchEvent(new CustomEvent("walletconnect:uri", { detail: { uri } }));
|
|
2470
|
-
}
|
|
2471
|
-
});
|
|
2472
|
-
this.provider.on("connect", (session) => {
|
|
2473
|
-
if (typeof window !== "undefined") {
|
|
2474
|
-
window.dispatchEvent(new CustomEvent("walletconnect:connect", { detail: { session } }));
|
|
2475
|
-
}
|
|
2476
|
-
});
|
|
2477
|
-
this.provider.on("disconnect", () => {
|
|
2478
|
-
this.connectionUri = null;
|
|
2479
|
-
});
|
|
2480
|
-
this.provider.on("session_delete", () => {
|
|
2481
|
-
if (typeof window !== "undefined") {
|
|
2482
|
-
window.dispatchEvent(new CustomEvent("walletconnect:disconnect"));
|
|
2483
|
-
}
|
|
2484
|
-
});
|
|
2485
|
-
}
|
|
2486
|
-
isInstalled() {
|
|
2487
|
-
return true;
|
|
2488
|
-
}
|
|
2489
|
-
async connect() {
|
|
2490
|
-
if (!this.config.projectId) {
|
|
2491
|
-
throw createConfigError("WalletConnect");
|
|
2492
|
-
}
|
|
2493
|
-
try {
|
|
2494
|
-
await this.ensureInitialized();
|
|
2495
|
-
if (!this.provider) {
|
|
2496
|
-
sentryLogger.error("connect: WalletConnect is not available");
|
|
2497
|
-
throw new Error("WalletConnect is not available");
|
|
2498
|
-
}
|
|
2499
|
-
const accounts = await this.provider.enable();
|
|
2500
|
-
if (!accounts || accounts.length === 0 || !accounts[0]) {
|
|
2501
|
-
sentryLogger.error("connect: No accounts returned from WalletConnect");
|
|
2502
|
-
throw new Error("No accounts returned from WalletConnect");
|
|
2503
|
-
}
|
|
2504
|
-
return {
|
|
2505
|
-
address: accounts[0],
|
|
2506
|
-
provider: this.provider,
|
|
2507
|
-
walletId: this.id
|
|
2508
|
-
};
|
|
2509
|
-
} catch (e6) {
|
|
2510
|
-
this.connectionUri = null;
|
|
2511
|
-
throw new Error("Failed to connect to WalletConnect");
|
|
2512
|
-
}
|
|
2513
|
-
}
|
|
2514
|
-
getConnectionUri() {
|
|
2515
|
-
return this.connectionUri;
|
|
2516
|
-
}
|
|
2517
|
-
/**
|
|
2518
|
-
* Starts a WalletConnect session for headless/custom QR code flows.
|
|
2519
|
-
* Returns the URI immediately and a function to wait for the connection.
|
|
2520
|
-
*/
|
|
2521
|
-
async startSession(timeout = 1e4) {
|
|
2522
|
-
if (!this.config.projectId) {
|
|
2523
|
-
throw new Error("WalletConnect projectId is required");
|
|
2524
|
-
}
|
|
2525
|
-
await this.ensureInitialized();
|
|
2526
|
-
if (!this.provider) {
|
|
2527
|
-
sentryLogger.error("startSession: WalletConnect is not available");
|
|
2528
|
-
throw new Error("WalletConnect is not available");
|
|
2529
|
-
}
|
|
2530
|
-
this.connectionUri = null;
|
|
2531
|
-
const uriPromise = new Promise((resolve, reject) => {
|
|
2532
|
-
const timeoutId = setTimeout(() => {
|
|
2533
|
-
reject(new Error("Timeout waiting for WalletConnect URI"));
|
|
2534
|
-
}, timeout);
|
|
2535
|
-
this.provider.once("display_uri", (uri2) => {
|
|
2536
|
-
clearTimeout(timeoutId);
|
|
2537
|
-
this.connectionUri = uri2;
|
|
2538
|
-
resolve(uri2);
|
|
2539
|
-
});
|
|
2540
|
-
});
|
|
2541
|
-
const connectionPromise = (async () => {
|
|
2542
|
-
const accounts = await this.provider.enable();
|
|
2543
|
-
if (!accounts || accounts.length === 0 || !accounts[0]) {
|
|
2544
|
-
sentryLogger.error("startSession: No accounts returned from WalletConnect");
|
|
2545
|
-
throw new Error("No accounts returned from WalletConnect");
|
|
2546
|
-
}
|
|
2547
|
-
return {
|
|
2548
|
-
address: accounts[0],
|
|
2549
|
-
provider: this.provider,
|
|
2550
|
-
walletId: this.id
|
|
2551
|
-
};
|
|
2552
|
-
})();
|
|
2553
|
-
const uri = await uriPromise;
|
|
2554
|
-
return {
|
|
2555
|
-
uri,
|
|
2556
|
-
waitForConnection: async () => {
|
|
2557
|
-
try {
|
|
2558
|
-
return await connectionPromise;
|
|
2559
|
-
} catch (e7) {
|
|
2560
|
-
this.connectionUri = null;
|
|
2561
|
-
throw new Error("Failed to connect via WalletConnect");
|
|
2562
|
-
}
|
|
2563
|
-
}
|
|
2564
|
-
};
|
|
2565
|
-
}
|
|
2566
|
-
async tryRestoreConnection() {
|
|
2567
|
-
try {
|
|
2568
|
-
await this.ensureInitialized();
|
|
2569
|
-
if (!this.provider) {
|
|
2570
|
-
return null;
|
|
2571
|
-
}
|
|
2572
|
-
const accounts = this.provider.accounts;
|
|
2573
|
-
if (!accounts || accounts.length === 0 || !accounts[0]) {
|
|
2574
|
-
return null;
|
|
2575
|
-
}
|
|
2576
|
-
return {
|
|
2577
|
-
address: accounts[0],
|
|
2578
|
-
provider: this.provider,
|
|
2579
|
-
walletId: this.id
|
|
2580
|
-
};
|
|
2581
|
-
} catch (e8) {
|
|
2582
|
-
return null;
|
|
2583
|
-
}
|
|
2584
|
-
}
|
|
2585
|
-
async disconnect() {
|
|
2586
|
-
try {
|
|
2587
|
-
if (this.provider) {
|
|
2588
|
-
await this.provider.disconnect();
|
|
2589
|
-
}
|
|
2590
|
-
} finally {
|
|
2591
|
-
this.connectionUri = null;
|
|
2592
|
-
this.provider = null;
|
|
2593
|
-
this.initPromise = null;
|
|
2594
|
-
}
|
|
2595
|
-
}
|
|
2596
|
-
getProvider() {
|
|
2597
|
-
return this.provider;
|
|
2598
|
-
}
|
|
2599
|
-
// Called by Aurum when user connects wallet
|
|
2600
|
-
// Passes Aurum.ts --> syncStateFromAccountsChanged() to handle the provider accounts changed event
|
|
2601
|
-
onAccountsChanged(callback) {
|
|
2602
|
-
if (!_optionalChain([this, 'access', _80 => _80.provider, 'optionalAccess', _81 => _81.on])) return;
|
|
2603
|
-
if (this.accountsChangedCallback) {
|
|
2604
|
-
_optionalChain([this, 'access', _82 => _82.provider, 'access', _83 => _83.removeListener, 'optionalCall', _84 => _84("accountsChanged", this.accountsChangedCallback)]);
|
|
2605
|
-
}
|
|
2606
|
-
this.accountsChangedCallback = callback;
|
|
2607
|
-
this.provider.on("accountsChanged", this.accountsChangedCallback);
|
|
2608
|
-
}
|
|
2609
|
-
removeListeners() {
|
|
2610
|
-
if (!_optionalChain([this, 'access', _85 => _85.provider, 'optionalAccess', _86 => _86.removeListener]) || !this.accountsChangedCallback) return;
|
|
2611
|
-
this.provider.removeListener("accountsChanged", this.accountsChangedCallback);
|
|
2612
|
-
this.accountsChangedCallback = null;
|
|
2613
|
-
}
|
|
2614
|
-
};
|
|
2615
|
-
|
|
2616
2163
|
// src/hooks/useConnectSelectedWallet.tsx
|
|
2164
|
+
|
|
2617
2165
|
var useConnectSelectedWallet = () => {
|
|
2618
2166
|
const { navigateTo } = useNavigation();
|
|
2619
2167
|
const connectInstalledWallet = async ({ adapter, onConnect, setSuccess }) => {
|
|
2620
2168
|
navigateTo(PAGE_IDS.CONNECTING);
|
|
2621
2169
|
try {
|
|
2622
2170
|
const { address, provider } = await adapter.connect();
|
|
2623
|
-
_optionalChain([setSuccess, 'optionalCall',
|
|
2171
|
+
_optionalChain([setSuccess, 'optionalCall', _58 => _58(true)]);
|
|
2624
2172
|
setTimeout(() => {
|
|
2625
2173
|
onConnect({ walletId: adapter.id, address, provider });
|
|
2626
2174
|
}, 1e3);
|
|
@@ -2633,7 +2181,7 @@ var useConnectSelectedWallet = () => {
|
|
|
2633
2181
|
}
|
|
2634
2182
|
};
|
|
2635
2183
|
const connectUninstalledWalletQRCode = async ({ displayedWallets, onConnect, setSuccess }) => {
|
|
2636
|
-
const walletConnectAdapter = _optionalChain([displayedWallets, 'optionalAccess',
|
|
2184
|
+
const walletConnectAdapter = _optionalChain([displayedWallets, 'optionalAccess', _59 => _59.find, 'call', _60 => _60(({ id }) => id === _types.WalletId.WalletConnect)]);
|
|
2637
2185
|
if (!walletConnectAdapter) {
|
|
2638
2186
|
sentryLogger.error("connectUninstalledWalletQRCode: WalletConnect adapter not found");
|
|
2639
2187
|
throw new Error("WalletConnect adapter not found");
|
|
@@ -2641,7 +2189,7 @@ var useConnectSelectedWallet = () => {
|
|
|
2641
2189
|
navigateTo(PAGE_IDS.QR_CODE);
|
|
2642
2190
|
try {
|
|
2643
2191
|
const { address, provider } = await walletConnectAdapter.connect();
|
|
2644
|
-
_optionalChain([setSuccess, 'optionalCall',
|
|
2192
|
+
_optionalChain([setSuccess, 'optionalCall', _61 => _61(true)]);
|
|
2645
2193
|
setTimeout(() => {
|
|
2646
2194
|
onConnect({ walletId: walletConnectAdapter.id, address, provider });
|
|
2647
2195
|
}, 1e3);
|
|
@@ -2659,7 +2207,7 @@ var useConnectSelectedWallet = () => {
|
|
|
2659
2207
|
onConnect,
|
|
2660
2208
|
setSuccess
|
|
2661
2209
|
}) => {
|
|
2662
|
-
const walletConnectAdapter = _optionalChain([displayedWallets, 'optionalAccess',
|
|
2210
|
+
const walletConnectAdapter = _optionalChain([displayedWallets, 'optionalAccess', _62 => _62.find, 'call', _63 => _63(({ id }) => id === _types.WalletId.WalletConnect)]);
|
|
2663
2211
|
if (!walletConnectAdapter) {
|
|
2664
2212
|
sentryLogger.error("connectWithMobileDeepLink: WalletConnect adapter not found");
|
|
2665
2213
|
throw new Error("WalletConnect adapter not found");
|
|
@@ -2678,7 +2226,7 @@ var useConnectSelectedWallet = () => {
|
|
|
2678
2226
|
if (isRejected) {
|
|
2679
2227
|
return;
|
|
2680
2228
|
}
|
|
2681
|
-
_optionalChain([setSuccess, 'optionalCall',
|
|
2229
|
+
_optionalChain([setSuccess, 'optionalCall', _64 => _64(true)]);
|
|
2682
2230
|
setTimeout(() => {
|
|
2683
2231
|
onConnect({ walletId: walletConnectAdapter.id, address, provider });
|
|
2684
2232
|
}, 1e3);
|
|
@@ -2694,7 +2242,7 @@ var useConnectSelectedWallet = () => {
|
|
|
2694
2242
|
const connectAppKit = async ({ adapter, onConnect, setSuccess }) => {
|
|
2695
2243
|
try {
|
|
2696
2244
|
const { address, provider } = await adapter.connect();
|
|
2697
|
-
_optionalChain([setSuccess, 'optionalCall',
|
|
2245
|
+
_optionalChain([setSuccess, 'optionalCall', _65 => _65(true)]);
|
|
2698
2246
|
setTimeout(() => {
|
|
2699
2247
|
onConnect({ walletId: adapter.id, address, provider });
|
|
2700
2248
|
}, 1e3);
|
|
@@ -2756,7 +2304,7 @@ var ConnectModalProvider = ({ children, displayedWallets, onConnect }) => {
|
|
|
2756
2304
|
const isDesktop = !isOnMobile;
|
|
2757
2305
|
const hasDeepLink = Boolean(wallet.wcDeepLinkUrl);
|
|
2758
2306
|
if (isDesktop) {
|
|
2759
|
-
if (wallet
|
|
2307
|
+
if (wallet.id === _types.WalletId.AppKit)
|
|
2760
2308
|
return await connectAppKit({ adapter: wallet, onConnect, setSuccess: setQrSuccess });
|
|
2761
2309
|
if (!wallet.isInstalled() && !hasDeepLink) {
|
|
2762
2310
|
return await redirectToDownloadPage();
|
|
@@ -2771,11 +2319,11 @@ var ConnectModalProvider = ({ children, displayedWallets, onConnect }) => {
|
|
|
2771
2319
|
return await connectInstalledWallet({ adapter: wallet, onConnect, setSuccess });
|
|
2772
2320
|
}
|
|
2773
2321
|
if (isOnMobile) {
|
|
2774
|
-
if (wallet.id === _types.WalletId.WalletConnect) {
|
|
2775
|
-
const appkitAdapter = _optionalChain([displayedWallets, 'optionalAccess',
|
|
2322
|
+
if (wallet.id === _types.WalletId.WalletConnect || wallet.id === _types.WalletId.AppKit) {
|
|
2323
|
+
const appkitAdapter = _optionalChain([displayedWallets, 'optionalAccess', _66 => _66.find, 'call', _67 => _67(({ id }) => id === _types.WalletId.AppKit)]);
|
|
2776
2324
|
if (!appkitAdapter) {
|
|
2777
|
-
sentryLogger.error("
|
|
2778
|
-
throw new Error("
|
|
2325
|
+
sentryLogger.error("AppKit adapter not found");
|
|
2326
|
+
throw new Error("AppKit adapter not found");
|
|
2779
2327
|
}
|
|
2780
2328
|
return await connectAppKit({ adapter: appkitAdapter, onConnect, setSuccess: setQrSuccess });
|
|
2781
2329
|
}
|
|
@@ -2887,7 +2435,5 @@ ${generateBrandCssVariables(brandConfig)}`;
|
|
|
2887
2435
|
|
|
2888
2436
|
|
|
2889
2437
|
|
|
2890
|
-
|
|
2891
|
-
|
|
2892
|
-
exports.useAurumStore = useAurumStore; exports.waitForStoreHydration = waitForStoreHydration; exports.useWidgetContext = useWidgetContext; exports.WidgetProvider = WidgetProvider; exports.DEFAULT_THEME = DEFAULT_THEME; exports.getDefaultThemeConfig = getDefaultThemeConfig; exports.POWERED_BY_SPACER_REM = POWERED_BY_SPACER_REM; exports.PageTransitionContainer = PageTransitionContainer; exports.PoweredBy = PoweredBy; exports.Modal = Modal; exports.Spacer = Spacer; exports.ThemeContainer = ThemeContainer; exports.useNavigation = useNavigation; exports.sortWallets = sortWallets; exports.initSentry = initSentry; exports.sentryLogger = sentryLogger; exports.createConfigError = createConfigError; exports.AppKitAdapter = AppKitAdapter; exports.isMobile = isMobile; exports.WalletConnectAdapter = WalletConnectAdapter; exports.ConnectUIProviders = ConnectUIProviders; exports.ConnectPages = ConnectPages; exports.generateCompleteStyles = generateCompleteStyles;
|
|
2893
|
-
//# sourceMappingURL=chunk-NKWY4I4L.js.map
|
|
2438
|
+
exports.useAurumStore = useAurumStore; exports.waitForStoreHydration = waitForStoreHydration; exports.useWidgetContext = useWidgetContext; exports.WidgetProvider = WidgetProvider; exports.DEFAULT_THEME = DEFAULT_THEME; exports.getDefaultThemeConfig = getDefaultThemeConfig; exports.POWERED_BY_SPACER_REM = POWERED_BY_SPACER_REM; exports.PageTransitionContainer = PageTransitionContainer; exports.PoweredBy = PoweredBy; exports.Modal = Modal; exports.Spacer = Spacer; exports.ThemeContainer = ThemeContainer; exports.useNavigation = useNavigation; exports.sortWallets = sortWallets; exports.initSentry = initSentry; exports.sentryLogger = sentryLogger; exports.createConfigError = createConfigError; exports.isMobile = isMobile; exports.ConnectUIProviders = ConnectUIProviders; exports.ConnectPages = ConnectPages; exports.generateCompleteStyles = generateCompleteStyles;
|
|
2439
|
+
//# sourceMappingURL=chunk-AFVK5GA5.js.map
|