@nexus-cross/crossx-sdk-core 2.3.0-beta.2 → 2.3.0-beta.4
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/core/constants.d.ts +1 -1
- package/dist/crossx.global +56 -43
- package/dist/index.cjs +58 -45
- package/dist/index.js +178 -163
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createRemoteJWKSet as mt, jwtVerify as yt, decodeJwt as bt } from "jose";
|
|
2
|
-
import { secp256k1 as
|
|
2
|
+
import { secp256k1 as vt } from "@noble/curves/secp256k1.js";
|
|
3
3
|
import { keccak_256 as He } from "@noble/hashes/sha3.js";
|
|
4
|
-
import { bytesToHex as
|
|
4
|
+
import { bytesToHex as St } from "@noble/hashes/utils.js";
|
|
5
5
|
var d = /* @__PURE__ */ ((i) => (i.AUTH_NOT_INITIALIZED = "AUTH_NOT_INITIALIZED", i.AUTH_FAILED = "AUTH_FAILED", i.AUTH_TOKEN_INVALID = "AUTH_TOKEN_INVALID", i.AUTH_TOKEN_EXPIRED = "AUTH_TOKEN_EXPIRED", i.AUTH_NOT_AUTHENTICATED = "AUTH_NOT_AUTHENTICATED", i.ALREADY_AUTHENTICATED = "ALREADY_AUTHENTICATED", i.SESSION_EXPIRED = "SESSION_EXPIRED", i.OAUTH_POPUP_BLOCKED = "OAUTH_POPUP_BLOCKED", i.WALLET_NOT_FOUND = "WALLET_NOT_FOUND", i.WALLET_CREATION_FAILED = "WALLET_CREATION_FAILED", i.WALLET_ALREADY_EXISTS = "WALLET_ALREADY_EXISTS", i.ADDRESS_LIMIT_EXCEEDED = "ADDRESS_LIMIT_EXCEEDED", i.SIGN_FAILED = "SIGN_FAILED", i.SIGN_REJECTED = "SIGN_REJECTED", i.TX_FAILED = "TX_FAILED", i.TX_REJECTED = "TX_REJECTED", i.BROADCAST_FAILED = "BROADCAST_FAILED", i.USER_REJECTED = "USER_REJECTED", i.TX_INVALID_PARAMS = "TX_INVALID_PARAMS", i.NETWORK_ERROR = "NETWORK_ERROR", i.NETWORK_NOT_CONFIGURED = "NETWORK_NOT_CONFIGURED", i.INVALID_CHAIN = "INVALID_CHAIN", i.CHAIN_NOT_SUPPORTED = "CHAIN_NOT_SUPPORTED", i.CHAIN_ADAPTER_NOT_FOUND = "CHAIN_ADAPTER_NOT_FOUND", i.NOT_IMPLEMENTED = "NOT_IMPLEMENTED", i.SIGNATURE_FAILED = "SIGNATURE_FAILED", i.TRANSACTION_FAILED = "TRANSACTION_FAILED", i.PREPARE_FAILED = "PREPARE_FAILED", i.PREPARE_EXPIRED = "PREPARE_EXPIRED", i.PREPARE_MISMATCH = "PREPARE_MISMATCH", i.MIGRATION_FAILED = "MIGRATION_FAILED", i.MIGRATION_BACKUP_EXISTS = "MIGRATION_BACKUP_EXISTS", i.MIGRATION_PIN_LOCKED = "MIGRATION_PIN_LOCKED", i.GATEWAY_INTERNAL_ERROR = "GATEWAY_INTERNAL_ERROR", i.GATEWAY_LOCK_CONFLICT = "GATEWAY_LOCK_CONFLICT", i.WALLET_INCONSISTENT_STATE = "WALLET_INCONSISTENT_STATE", i.PROJECT_ID_MISSING = "PROJECT_ID_MISSING", i.ORIGIN_NOT_ALLOWED = "ORIGIN_NOT_ALLOWED", i.APP_IDENTIFIER_MISSING = "APP_IDENTIFIER_MISSING", i.INVALID_APP_TYPE = "INVALID_APP_TYPE", i.PROJECT_NOT_REGISTERED = "PROJECT_NOT_REGISTERED", i.SIGNATURE_SIGNER_MISMATCH = "SIGNATURE_SIGNER_MISMATCH", i.GAS_ESTIMATION_FAILED = "GAS_ESTIMATION_FAILED", i.TYPED_DATA_CHAIN_ID_MISMATCH = "TYPED_DATA_CHAIN_ID_MISMATCH", i.PIN_NOT_SET = "PIN_NOT_SET", i.PIN_WRONG = "PIN_WRONG", i.PIN_INVALID = "PIN_INVALID", i.PIN_REPEATED_PATTERN = "PIN_REPEATED_PATTERN", i.PIN_CANCELLED = "PIN_CANCELLED", i.EXTERNAL_WALLET_REQUESTED = "EXTERNAL_WALLET_REQUESTED", i.PIN_LOCKED = "PIN_LOCKED", i.HMAC_REQUIRED = "HMAC_REQUIRED", i.HMAC_VERIFICATION_FAILED = "HMAC_VERIFICATION_FAILED", i.WITHDRAW_FAILED = "WITHDRAW_FAILED", i.USER_NOT_FOUND = "USER_NOT_FOUND", i.RN_BRIDGE_NOT_AVAILABLE = "RN_BRIDGE_NOT_AVAILABLE", i.RN_BRIDGE_HANDSHAKE_FAILED = "RN_BRIDGE_HANDSHAKE_FAILED", i.RN_NATIVE_SESSION_EXPIRED = "RN_NATIVE_SESSION_EXPIRED", i.INVALID_CONFIG = "INVALID_CONFIG", i.UNKNOWN_ERROR = "UNKNOWN_ERROR", i))(d || {});
|
|
6
6
|
class h extends Error {
|
|
7
7
|
constructor(e, r, t) {
|
|
@@ -33,7 +33,7 @@ function It(i) {
|
|
|
33
33
|
function kt(i) {
|
|
34
34
|
return Array.isArray(i.connectOtherWallets) && i.connectOtherWallets.length > 0 ? [...i.connectOtherWallets] : i.showConnectOtherWallets === !0 ? [...At] : [];
|
|
35
35
|
}
|
|
36
|
-
const
|
|
36
|
+
const ve = {
|
|
37
37
|
// ─── CROSS ────────────────────────────────────────────
|
|
38
38
|
CROSS_MAINNET: {
|
|
39
39
|
caipId: "eip155:612055",
|
|
@@ -83,12 +83,12 @@ const Se = {
|
|
|
83
83
|
testnet: !0
|
|
84
84
|
}
|
|
85
85
|
}, Ls = Object.fromEntries(
|
|
86
|
-
Object.entries(
|
|
86
|
+
Object.entries(ve).map(([i, e]) => [i, e.caipId])
|
|
87
87
|
), Tt = new Map(
|
|
88
|
-
Object.values(
|
|
88
|
+
Object.values(ve).map((i) => [i.caipId, i])
|
|
89
89
|
);
|
|
90
90
|
new Map(
|
|
91
|
-
Object.values(
|
|
91
|
+
Object.values(ve).map((i) => [i.chainId, i])
|
|
92
92
|
);
|
|
93
93
|
const Rt = { symbol: "", decimals: 18 };
|
|
94
94
|
function Ae(i) {
|
|
@@ -676,16 +676,16 @@ const Ke = "crossx_access_token", ze = "crossx_refresh_token", qe = "crossx_user
|
|
|
676
676
|
const { authApiUrl: _ } = this.config, { accessToken: u, refreshToken: g } = await this.exchangeFirebaseToken(e, _);
|
|
677
677
|
let x, f, m;
|
|
678
678
|
try {
|
|
679
|
-
const
|
|
680
|
-
c.log("[CROSSx] Firebase JWT 필드:", Object.keys(
|
|
681
|
-
const E = ((n =
|
|
682
|
-
m =
|
|
679
|
+
const S = this.crypto.decodeJWT(e);
|
|
680
|
+
c.log("[CROSSx] Firebase JWT 필드:", Object.keys(S).join(", ")), f = (o = S.firebase) == null ? void 0 : o.sign_in_provider;
|
|
681
|
+
const E = ((n = S.firebase) == null ? void 0 : n.identities) ?? {};
|
|
682
|
+
m = S.email ?? ((a = E.email) == null ? void 0 : a[0]), f === "google.com" ? x = (l = E["google.com"]) == null ? void 0 : l[0] : f === "apple.com" && (x = (p = E["apple.com"]) == null ? void 0 : p[0]), c.log("[CROSSx] OAuth provider sub 추출 — provider:", f, "hasProviderSub:", !!x, "email:", m ?? "(없음)");
|
|
683
683
|
} catch {
|
|
684
684
|
c.warn("[CROSSx] firebaseToken에서 providerSub 추출 실패");
|
|
685
685
|
}
|
|
686
686
|
if (u) {
|
|
687
|
-
const
|
|
688
|
-
c.log("[CROSSx] access_token 디코딩 — sub:",
|
|
687
|
+
const S = this.crypto.decodeJWT(u);
|
|
688
|
+
c.log("[CROSSx] access_token 디코딩 — sub:", S.sub, "exp:", S.exp, "필드:", Object.keys(S).join(", "));
|
|
689
689
|
const E = await this.crypto.verifyJWT(u);
|
|
690
690
|
if (s = E.signatureVerified ?? !1, !E.valid)
|
|
691
691
|
throw c.error("[CROSSx] access_token 검증 실패"), new Error("유효하지 않은 access token");
|
|
@@ -706,10 +706,10 @@ const Ke = "crossx_access_token", ze = "crossx_refresh_token", qe = "crossx_user
|
|
|
706
706
|
providerSub: x
|
|
707
707
|
}, this.tokenStore.set(u), this.useCookieAuth || (await this.storage.set(this.STORAGE_KEY_ACCESS_TOKEN, u), g && this.config.secureStorageAvailable !== !1 ? await this.storage.set(this.STORAGE_KEY_REFRESH_TOKEN, g) : g && c.warn("[CROSSx] 안전한 스토리지 미사용 — refresh_token 영속 저장을 건너뜁니다"));
|
|
708
708
|
} else {
|
|
709
|
-
const
|
|
709
|
+
const S = this.crypto.decodeJWT(e);
|
|
710
710
|
t = {
|
|
711
|
-
id:
|
|
712
|
-
email:
|
|
711
|
+
id: S.sub,
|
|
712
|
+
email: S.email ?? r,
|
|
713
713
|
signInProvider: f,
|
|
714
714
|
providerSub: x
|
|
715
715
|
}, c.log("[CROSSx] Cookie 모드 — Firebase 토큰에서 사용자 정보 추출 — id:", t.id);
|
|
@@ -1448,7 +1448,7 @@ function at() {
|
|
|
1448
1448
|
}
|
|
1449
1449
|
return pe.production;
|
|
1450
1450
|
}
|
|
1451
|
-
const Wt = 2e3, Ve = 6e4, Ut = 1e3, Ht = 1e4, Gt = "0x77359400", je = "0x3B9ACA00", Ye = 130, Me = 6, Xe = 18, Je = 3e4, Kt = 5 * 60 * 1e3, zt = 30 * 1e3, Ne = 100, qt = "crossx-sdk-js/2.3.0";
|
|
1451
|
+
const Wt = 2e3, Ve = 6e4, Ut = 1e3, Ht = 1e4, Gt = "0x77359400", je = "0x3B9ACA00", Ye = 130, Me = 6, Xe = 18, Je = 3e4, Kt = 5 * 60 * 1e3, zt = 30 * 1e3, Ne = 100, qt = "crossx-sdk-js/2.3.0-beta.3";
|
|
1452
1452
|
function ct(i) {
|
|
1453
1453
|
let e = i.length;
|
|
1454
1454
|
for (; e > 0 && i.charCodeAt(e - 1) === 48; ) e--;
|
|
@@ -2387,8 +2387,8 @@ const oe = class oe extends Mt {
|
|
|
2387
2387
|
},
|
|
2388
2388
|
getIsRecoveringSession: () => this._isRecoveringSession,
|
|
2389
2389
|
emitAddressChanged: ({ address: f, index: m, walletName: y }) => {
|
|
2390
|
-
const
|
|
2391
|
-
y !== void 0 && (
|
|
2390
|
+
const S = { address: f, index: m };
|
|
2391
|
+
y !== void 0 && (S.walletName = y), this.emit("addressChanged", S);
|
|
2392
2392
|
},
|
|
2393
2393
|
emitAuthChanged: ({ isAuthenticated: f, address: m, userId: y }) => {
|
|
2394
2394
|
this.emit("authChanged", { isAuthenticated: f, address: m, userId: y });
|
|
@@ -2535,7 +2535,7 @@ const oe = class oe extends Mt {
|
|
|
2535
2535
|
}
|
|
2536
2536
|
async _doInitialize(e) {
|
|
2537
2537
|
var r, t;
|
|
2538
|
-
c.log("[CROSSx SDK] v2.3.0 초기화 중..."), this.confirmation.setMessages(J(this._config.locale));
|
|
2538
|
+
c.log("[CROSSx SDK] v2.3.0-beta.3 초기화 중..."), this.confirmation.setMessages(J(this._config.locale));
|
|
2539
2539
|
try {
|
|
2540
2540
|
const s = at();
|
|
2541
2541
|
this.internalConfig.oauthServiceUrl = s.oauthServiceUrl, this.internalConfig.authApiUrl = s.authApiUrl, this.internalConfig.walletGatewayUrl = s.walletGatewayUrl, this.adapterConfig.gatewayUrl = s.walletGatewayUrl, (t = (r = this.crypto).setJWKSEndpoint) == null || t.call(r, `${s.authApiUrl}/.well-known/jwks.json`);
|
|
@@ -2564,7 +2564,7 @@ const oe = class oe extends Mt {
|
|
|
2564
2564
|
c.log("[CROSSx] initialize: 비밀번호 입력 취소 — 지갑 미로드 상태로 계속");
|
|
2565
2565
|
}
|
|
2566
2566
|
}
|
|
2567
|
-
return this.initialized = !0, c.info("[CROSSx SDK] v2.3.0 초기화 완료"), this.emit("initialized", { restored: !!(l != null && l.success) }), l ?? null;
|
|
2567
|
+
return this.initialized = !0, c.info("[CROSSx SDK] v2.3.0-beta.3 초기화 완료"), this.emit("initialized", { restored: !!(l != null && l.success) }), l ?? null;
|
|
2568
2568
|
} catch (s) {
|
|
2569
2569
|
throw new h(d.AUTH_NOT_INITIALIZED, "SDK 초기화에 실패했습니다", s);
|
|
2570
2570
|
}
|
|
@@ -2585,7 +2585,7 @@ const oe = class oe extends Mt {
|
|
|
2585
2585
|
const e = new X({
|
|
2586
2586
|
appId: this._config.projectId,
|
|
2587
2587
|
appVersion: "1.0.0",
|
|
2588
|
-
sdkVersion: "2.3.0",
|
|
2588
|
+
sdkVersion: "2.3.0-beta.3",
|
|
2589
2589
|
keyId: "key-id-1",
|
|
2590
2590
|
userIdHash: "user-hash-placeholder",
|
|
2591
2591
|
projectId: this._config.projectId
|
|
@@ -3515,27 +3515,27 @@ const oe = class oe extends Mt {
|
|
|
3515
3515
|
async sendTransactionWithWaitForReceipt(e, r, t = {}) {
|
|
3516
3516
|
var m, y;
|
|
3517
3517
|
if (this._isAuthenticatedViaRNBridge) {
|
|
3518
|
-
const
|
|
3519
|
-
if (
|
|
3520
|
-
return this.bridgeSendTransactionWithWaitForReceipt(
|
|
3518
|
+
const S = X.getBridge();
|
|
3519
|
+
if (S != null && S.sendTransactionWithWaitForReceipt)
|
|
3520
|
+
return this.bridgeSendTransactionWithWaitForReceipt(S, e, r, t);
|
|
3521
3521
|
}
|
|
3522
3522
|
const { intervalMs: s, timeoutMs: o, ...n } = t, { txHash: a } = await this.sendTransaction(e, r, n), l = s ?? ((m = this._config.receiptPolling) == null ? void 0 : m.intervalMs) ?? Wt, p = o ?? ((y = this._config.receiptPolling) == null ? void 0 : y.timeoutMs) ?? Ve, _ = Ae(e), u = r.from ?? "";
|
|
3523
3523
|
let g, x;
|
|
3524
|
-
const f = this.waitForTxAndGetReceipt(a, e, { intervalMs: l, timeoutMs: p }).then((
|
|
3525
|
-
g =
|
|
3526
|
-
const E = BigInt(
|
|
3524
|
+
const f = this.waitForTxAndGetReceipt(a, e, { intervalMs: l, timeoutMs: p }).then((S) => {
|
|
3525
|
+
g = S;
|
|
3526
|
+
const E = BigInt(S.gasUsed) * BigInt(S.effectiveGasPrice), A = r.value ? BigInt(r.value) : 0n, I = we(r.value, _.symbol, _.decimals, this._config.displayDecimals), T = we("0x" + E.toString(16), _.symbol, _.decimals, this._config.displayDecimals), C = we("0x" + (A + E).toString(16), _.symbol, _.decimals, this._config.displayDecimals);
|
|
3527
3527
|
return {
|
|
3528
3528
|
chainId: e,
|
|
3529
3529
|
txHash: a,
|
|
3530
|
-
from:
|
|
3531
|
-
to:
|
|
3530
|
+
from: S.from,
|
|
3531
|
+
to: S.to ?? r.to,
|
|
3532
3532
|
amount: I,
|
|
3533
3533
|
fees: T,
|
|
3534
3534
|
total: C,
|
|
3535
3535
|
nativeSymbol: _.symbol,
|
|
3536
|
-
status:
|
|
3536
|
+
status: S.status === "0x1" ? "success" : "reverted"
|
|
3537
3537
|
};
|
|
3538
|
-
}).catch((
|
|
3538
|
+
}).catch((S) => (x = S instanceof Error ? S : new Error(String(S)), {
|
|
3539
3539
|
chainId: e,
|
|
3540
3540
|
txHash: a,
|
|
3541
3541
|
from: u,
|
|
@@ -4290,11 +4290,11 @@ ${t.length}`
|
|
|
4290
4290
|
const n = He(o), a = r.startsWith("0x") ? r.slice(2) : r;
|
|
4291
4291
|
if (a.length !== 130)
|
|
4292
4292
|
throw new Error(`서명 길이가 유효하지 않습니다: 130 hex 문자 예상, 현재 ${a.length}`);
|
|
4293
|
-
const l = gr(a), p = l.slice(0, 32), _ = l.slice(32, 64), u = l[64], g = u >= 27 ? u - 27 : u, m = new
|
|
4293
|
+
const l = gr(a), p = l.slice(0, 32), _ = l.slice(32, 64), u = l[64], g = u >= 27 ? u - 27 : u, m = new vt.Signature(
|
|
4294
4294
|
et(p),
|
|
4295
4295
|
et(_)
|
|
4296
4296
|
).addRecoveryBit(g).recoverPublicKey(n).toBytes(!1).slice(1), y = He(m);
|
|
4297
|
-
return "0x" +
|
|
4297
|
+
return "0x" + St(y.slice(12));
|
|
4298
4298
|
}
|
|
4299
4299
|
}
|
|
4300
4300
|
function gr(i) {
|
|
@@ -4441,9 +4441,9 @@ class se {
|
|
|
4441
4441
|
const x = setTimeout(() => {
|
|
4442
4442
|
c.warn("[CROSSx] OAuth 타임아웃 (5분) — postMessage를 수신하지 못했습니다"), I(), t(new Error("Authentication timeout"));
|
|
4443
4443
|
}, 5 * 60 * 1e3), f = 10, m = 30;
|
|
4444
|
-
let y = 0,
|
|
4444
|
+
let y = 0, S = null;
|
|
4445
4445
|
const E = () => {
|
|
4446
|
-
clearInterval(A), c.warn("[CROSSx] COOP 감지 — OAuth 서버 응답을 " + m + "초간 대기합니다"),
|
|
4446
|
+
clearInterval(A), c.warn("[CROSSx] COOP 감지 — OAuth 서버 응답을 " + m + "초간 대기합니다"), S = setTimeout(() => {
|
|
4447
4447
|
I(), t(new Error(
|
|
4448
4448
|
"OAuth 서버로부터 응답을 받지 못했습니다. 브라우저 보안 정책(COOP)으로 인해 팝업 통신이 차단되었을 수 있습니다. 다시 시도해 주세요."
|
|
4449
4449
|
));
|
|
@@ -4458,7 +4458,7 @@ class se {
|
|
|
4458
4458
|
E();
|
|
4459
4459
|
}
|
|
4460
4460
|
}, 1e3), I = () => {
|
|
4461
|
-
clearTimeout(x), clearInterval(A),
|
|
4461
|
+
clearTimeout(x), clearInterval(A), S && clearTimeout(S), window.removeEventListener("message", T);
|
|
4462
4462
|
}, T = (C) => {
|
|
4463
4463
|
if (C.origin !== e.expectedOrigin) return;
|
|
4464
4464
|
if (!yr.has(C.origin)) {
|
|
@@ -4484,16 +4484,16 @@ class se {
|
|
|
4484
4484
|
c.error("[CROSSx] OAuth 실패:", N.error), t(new Error(N.error || "Authentication failed"));
|
|
4485
4485
|
return;
|
|
4486
4486
|
}
|
|
4487
|
-
const z = N == null ? void 0 : N.idToken, P = N == null ? void 0 : N.accessToken, L = P ?? z,
|
|
4487
|
+
const z = N == null ? void 0 : N.idToken, P = N == null ? void 0 : N.accessToken, L = P ?? z, W = (N == null ? void 0 : N.email) || void 0;
|
|
4488
4488
|
if (c.log("[CROSSx] OAuth 토큰 수신:", {
|
|
4489
4489
|
hasAccessToken: !!P,
|
|
4490
4490
|
hasIdToken: !!z,
|
|
4491
|
-
hasEmail: !!
|
|
4491
|
+
hasEmail: !!W
|
|
4492
4492
|
}), !L) {
|
|
4493
4493
|
c.error("[CROSSx] 토큰을 찾을 수 없음:", C.data), t(new Error("Token not found in response"));
|
|
4494
4494
|
return;
|
|
4495
4495
|
}
|
|
4496
|
-
const ne = { token: L, email:
|
|
4496
|
+
const ne = { token: L, email: W }, ae = (ge) => {
|
|
4497
4497
|
se.verifyIdTokenNonce(ge, p).then(() => r(ne)).catch((ce) => {
|
|
4498
4498
|
c.error("[CROSSx] nonce 검증 실패:", ce), t(ce instanceof Error ? ce : new Error("nonce verification failed"));
|
|
4499
4499
|
});
|
|
@@ -4741,9 +4741,9 @@ class ie {
|
|
|
4741
4741
|
d.USER_NOT_FOUND,
|
|
4742
4742
|
ie.getGatewayErrorMessage(x.code, f)
|
|
4743
4743
|
);
|
|
4744
|
-
const y = m === d.AUTH_NOT_AUTHENTICATED ? d.SESSION_EXPIRED : m,
|
|
4744
|
+
const y = m === d.AUTH_NOT_AUTHENTICATED ? d.SESSION_EXPIRED : m, S = y === d.SESSION_EXPIRED ? "인증 세션이 만료되었습니다. 다시 로그인해 주세요." : ie.getGatewayErrorMessage(x.code, f), E = x.data;
|
|
4745
4745
|
let A;
|
|
4746
|
-
throw m === d.PIN_LOCKED ? A = ie.extractLockDetails(E) : m === d.ADDRESS_LIMIT_EXCEEDED ? A = { limit: Ne, raw: E } : A = E ?? void 0, new h(y,
|
|
4746
|
+
throw m === d.PIN_LOCKED ? A = ie.extractLockDetails(E) : m === d.ADDRESS_LIMIT_EXCEEDED ? A = { limit: Ne, raw: E } : A = E ?? void 0, new h(y, S, A);
|
|
4747
4747
|
}
|
|
4748
4748
|
return c.log("[CROSSx] Wallet Gateway API 성공:", { code: x.code, url: n, method: e }), x.data ?? x;
|
|
4749
4749
|
}
|
|
@@ -5141,7 +5141,7 @@ class ie {
|
|
|
5141
5141
|
}
|
|
5142
5142
|
}
|
|
5143
5143
|
}
|
|
5144
|
-
class
|
|
5144
|
+
class vr {
|
|
5145
5145
|
constructor(e, r, t, s = () => {
|
|
5146
5146
|
}) {
|
|
5147
5147
|
this.inner = e, this.getBridge = r, this.isAuthenticatedViaRNBridge = t, this.assertBridgeSessionActive = s, e.checkWallet && (this.checkWallet = () => e.checkWallet()), e.prepare && (this.prepare = (o, n) => e.prepare(o, n)), e.migrateWallet && (this.migrateWallet = (o, n) => e.migrateWallet(o, n)), e.verifyPin && (this.verifyPin = (o) => e.verifyPin(o)), e.getShareC && (this.getShareC = () => e.getShareC()), e.verifyRecoveryPin && (this.verifyRecoveryPin = (o, n) => e.verifyRecoveryPin(o, n));
|
|
@@ -5325,7 +5325,7 @@ class xe {
|
|
|
5325
5325
|
);
|
|
5326
5326
|
}
|
|
5327
5327
|
static fallbackChains() {
|
|
5328
|
-
return Object.values(
|
|
5328
|
+
return Object.values(ve).map((e) => ({
|
|
5329
5329
|
chainId: e.caipId,
|
|
5330
5330
|
rpcUrl: e.rpcUrl
|
|
5331
5331
|
}));
|
|
@@ -5349,7 +5349,7 @@ class xe {
|
|
|
5349
5349
|
}
|
|
5350
5350
|
}
|
|
5351
5351
|
}
|
|
5352
|
-
const tt = "__crossx-confirm-style", M = "__crossx-confirm-overlay",
|
|
5352
|
+
const tt = "__crossx-confirm-style", M = "__crossx-confirm-overlay", Sr = {
|
|
5353
5353
|
light: {
|
|
5354
5354
|
bg: "#FFFFFF",
|
|
5355
5355
|
border: "rgba(0,0,0,0.07)",
|
|
@@ -5362,7 +5362,8 @@ const tt = "__crossx-confirm-style", M = "__crossx-confirm-overlay", vr = {
|
|
|
5362
5362
|
pillFromColor: "rgba(0,0,0,0.65)",
|
|
5363
5363
|
pillAmtColor: "#000000",
|
|
5364
5364
|
divider: "rgba(0,0,0,0.07)",
|
|
5365
|
-
closeColor: "rgba(0,0,0,0.
|
|
5365
|
+
closeColor: "rgba(0,0,0,0.40)",
|
|
5366
|
+
// Figma content/low (#00000066)
|
|
5366
5367
|
closeHoverBg: "#F5F7FA",
|
|
5367
5368
|
copyColor: "rgba(0,0,0,0.65)",
|
|
5368
5369
|
inputBg: "#F5F7FA",
|
|
@@ -5391,7 +5392,8 @@ const tt = "__crossx-confirm-style", M = "__crossx-confirm-overlay", vr = {
|
|
|
5391
5392
|
pillFromColor: "rgba(255,255,255,0.65)",
|
|
5392
5393
|
pillAmtColor: "#FFFFFF",
|
|
5393
5394
|
divider: "rgba(255,255,255,0.07)",
|
|
5394
|
-
closeColor: "rgba(255,255,255,0.
|
|
5395
|
+
closeColor: "rgba(255,255,255,0.40)",
|
|
5396
|
+
// Figma content/low (#FFFFFF66)
|
|
5395
5397
|
closeHoverBg: "#252B39",
|
|
5396
5398
|
copyColor: "rgba(255,255,255,0.65)",
|
|
5397
5399
|
inputBg: "#252B39",
|
|
@@ -5410,7 +5412,7 @@ const tt = "__crossx-confirm-style", M = "__crossx-confirm-overlay", vr = {
|
|
|
5410
5412
|
}
|
|
5411
5413
|
};
|
|
5412
5414
|
function rt(i, e) {
|
|
5413
|
-
const r =
|
|
5415
|
+
const r = Sr[i], t = e == null ? void 0 : e[i];
|
|
5414
5416
|
return t ? {
|
|
5415
5417
|
...r,
|
|
5416
5418
|
// ── Brand
|
|
@@ -5520,16 +5522,22 @@ const Er = `
|
|
|
5520
5522
|
-webkit-appearance: none;
|
|
5521
5523
|
box-shadow: none;
|
|
5522
5524
|
outline: none;
|
|
5525
|
+
/* 아이콘 색은 content/low(--cx-close) 단일 알파값만 사용 — opacity 중첩 금지 */
|
|
5526
|
+
opacity: 1;
|
|
5527
|
+
transition: background-color 0.15s ease, color 0.15s ease, transform 0.1s ease;
|
|
5528
|
+
}
|
|
5529
|
+
.__crossx-close:hover {
|
|
5530
|
+
background: var(--cx-close-hover);
|
|
5531
|
+
color: var(--cx-subtitle);
|
|
5523
5532
|
}
|
|
5524
|
-
.__crossx-close:hover,
|
|
5525
|
-
.__crossx-close:focus,
|
|
5526
5533
|
.__crossx-close:active {
|
|
5527
|
-
background:
|
|
5528
|
-
|
|
5529
|
-
|
|
5530
|
-
|
|
5531
|
-
|
|
5532
|
-
|
|
5534
|
+
background: var(--cx-close-hover);
|
|
5535
|
+
color: var(--cx-title);
|
|
5536
|
+
transform: scale(0.92);
|
|
5537
|
+
}
|
|
5538
|
+
.__crossx-close:focus-visible {
|
|
5539
|
+
outline: 2px solid var(--cx-primary);
|
|
5540
|
+
outline-offset: 2px;
|
|
5533
5541
|
}
|
|
5534
5542
|
.__crossx-close svg { display: block; }
|
|
5535
5543
|
|
|
@@ -6107,6 +6115,9 @@ const Er = `
|
|
|
6107
6115
|
transition: border-color 0.15s, box-shadow 0.15s;
|
|
6108
6116
|
-webkit-text-security: disc;
|
|
6109
6117
|
}
|
|
6118
|
+
.__crossx-pin-input:hover:not(:focus) {
|
|
6119
|
+
border-color: var(--cx-border-medium);
|
|
6120
|
+
}
|
|
6110
6121
|
.__crossx-pin-input:focus {
|
|
6111
6122
|
border-color: var(--cx-primary);
|
|
6112
6123
|
box-shadow: 0 0 0 2px var(--cx-primary-glow);
|
|
@@ -6793,19 +6804,21 @@ button.__crossx-connect-other-block:active {
|
|
|
6793
6804
|
width: 100%;
|
|
6794
6805
|
text-align: left;
|
|
6795
6806
|
font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
|
|
6807
|
+
transition: background-color 0.15s ease, transform 0.1s ease;
|
|
6796
6808
|
}
|
|
6797
6809
|
.__crossx-wallet-item--selected {
|
|
6798
6810
|
border-color: transparent;
|
|
6799
6811
|
}
|
|
6800
|
-
.__crossx-wallet-item:hover
|
|
6801
|
-
|
|
6812
|
+
.__crossx-wallet-item:hover {
|
|
6813
|
+
background: var(--cx-surface-high);
|
|
6814
|
+
}
|
|
6802
6815
|
.__crossx-wallet-item:active {
|
|
6803
|
-
|
|
6804
|
-
|
|
6805
|
-
|
|
6806
|
-
|
|
6807
|
-
|
|
6808
|
-
|
|
6816
|
+
background: var(--cx-surface-high);
|
|
6817
|
+
transform: scale(0.985);
|
|
6818
|
+
}
|
|
6819
|
+
.__crossx-wallet-item:focus-visible {
|
|
6820
|
+
outline: 2px solid var(--cx-primary);
|
|
6821
|
+
outline-offset: 2px;
|
|
6809
6822
|
}
|
|
6810
6823
|
.__crossx-wallet-avatar {
|
|
6811
6824
|
width: 28px;
|
|
@@ -6887,7 +6900,7 @@ button.__crossx-connect-other-block:active {
|
|
|
6887
6900
|
justify-content: center;
|
|
6888
6901
|
gap: 8px;
|
|
6889
6902
|
padding: 16px;
|
|
6890
|
-
border: 1px dashed var(--cx-
|
|
6903
|
+
border: 1px dashed var(--cx-border-medium); /* Figma border/medium */
|
|
6891
6904
|
border-radius: 12px;
|
|
6892
6905
|
cursor: pointer;
|
|
6893
6906
|
appearance: none;
|
|
@@ -6900,16 +6913,18 @@ button.__crossx-connect-other-block:active {
|
|
|
6900
6913
|
flex-shrink: 0;
|
|
6901
6914
|
color: var(--cx-value);
|
|
6902
6915
|
font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
|
|
6916
|
+
transition: background-color 0.15s ease, border-color 0.15s ease, transform 0.1s ease;
|
|
6917
|
+
}
|
|
6918
|
+
.__crossx-wallet-add:hover {
|
|
6919
|
+
background: var(--cx-pill-bg);
|
|
6903
6920
|
}
|
|
6904
|
-
.__crossx-wallet-add:hover,
|
|
6905
|
-
.__crossx-wallet-add:focus,
|
|
6906
6921
|
.__crossx-wallet-add:active {
|
|
6907
|
-
|
|
6908
|
-
|
|
6909
|
-
|
|
6910
|
-
|
|
6911
|
-
|
|
6912
|
-
|
|
6922
|
+
background: var(--cx-surface-high);
|
|
6923
|
+
transform: scale(0.99);
|
|
6924
|
+
}
|
|
6925
|
+
.__crossx-wallet-add:focus-visible {
|
|
6926
|
+
outline: 2px solid var(--cx-primary);
|
|
6927
|
+
outline-offset: 2px;
|
|
6913
6928
|
}
|
|
6914
6929
|
.__crossx-wallet-add:disabled { opacity: 0.5; cursor: not-allowed; }
|
|
6915
6930
|
.__crossx-wallet-add-icon {
|
|
@@ -8250,7 +8265,7 @@ function _t(i, e, r) {
|
|
|
8250
8265
|
const Z = `<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
|
8251
8266
|
<rect x="9" y="9" width="13" height="13" rx="2"/>
|
|
8252
8267
|
<path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/>
|
|
8253
|
-
</svg>`,
|
|
8268
|
+
</svg>`, B = `<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round">
|
|
8254
8269
|
<line x1="18" y1="6" x2="6" y2="18"/>
|
|
8255
8270
|
<line x1="6" y1="6" x2="18" y2="18"/>
|
|
8256
8271
|
</svg>`, Pr = `<svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
@@ -8309,13 +8324,13 @@ function D(i, e) {
|
|
|
8309
8324
|
</div>`;
|
|
8310
8325
|
}
|
|
8311
8326
|
function Br(i, e, r, t) {
|
|
8312
|
-
const s = e, o = i.nativeSymbol ?? "ETH", n = i.nativeDecimals ?? 18, a =
|
|
8327
|
+
const s = e, o = i.nativeSymbol ?? "ETH", n = i.nativeDecimals ?? 18, a = Se(i.dappName), l = i.to ? `<span class="__crossx-addr-text">${Q(i.to)}</span>
|
|
8313
8328
|
<button class="__crossx-copy-btn" data-copy="${w(i.to)}" title="Copy address">${Z}</button>` : "<span>—</span>", p = _t(i, r, t), _ = dt(i.value, o, n, r), u = _ ? D((t == null ? void 0 : t.label_value) ?? "Value", `<span>${_}</span>`) : "", g = i.data ?? "0x", x = document.createElement("div");
|
|
8314
8329
|
return x.id = M, x.innerHTML = `
|
|
8315
8330
|
<div class="__crossx-card __crossx-card--migration __crossx-card--sign-tx" style="${H(s)}" role="dialog" aria-modal="true" aria-labelledby="__crossx-ttl">
|
|
8316
8331
|
<div class="__crossx-header">
|
|
8317
8332
|
<p class="__crossx-title" id="__crossx-ttl">${w((t == null ? void 0 : t.sign_transaction_title) ?? "Signature Request")}</p>
|
|
8318
|
-
<button class="__crossx-close" id="__crossx-close-btn" aria-label="Close">${
|
|
8333
|
+
<button class="__crossx-close" id="__crossx-close-btn" aria-label="Close">${B}</button>
|
|
8319
8334
|
</div>
|
|
8320
8335
|
<hr class="__crossx-divider">
|
|
8321
8336
|
<div class="__crossx-body">
|
|
@@ -8363,13 +8378,13 @@ function Ur(i) {
|
|
|
8363
8378
|
return i ? Wr.has(i.slice(0, 10).toLowerCase()) : !1;
|
|
8364
8379
|
}
|
|
8365
8380
|
function Hr(i, e, r, t) {
|
|
8366
|
-
const s = e, o = i.nativeSymbol ?? "ETH", n = i.nativeDecimals ?? 18, a =
|
|
8381
|
+
const s = e, o = i.nativeSymbol ?? "ETH", n = i.nativeDecimals ?? 18, a = Se(i.dappName), l = i.to ? `<span class="__crossx-addr-text">${Q(i.to)}</span>
|
|
8367
8382
|
<button class="__crossx-copy-btn" data-copy="${w(i.to)}" title="Copy address">${Z}</button>` : "<span>—</span>", p = _t(i, r, t), u = dt(i.value, o, n, r) ?? "—", g = Ur(i.data) ? (t == null ? void 0 : t.send_tx_approve_button) ?? "Approve" : (t == null ? void 0 : t.send_tx_confirm_button) ?? "Confirm", x = document.createElement("div");
|
|
8368
8383
|
return x.id = M, x.innerHTML = `
|
|
8369
8384
|
<div class="__crossx-card __crossx-card--migration __crossx-card--send-tx" style="${H(s)}" role="dialog" aria-modal="true" aria-labelledby="__crossx-ttl">
|
|
8370
8385
|
<div class="__crossx-header">
|
|
8371
8386
|
<p class="__crossx-title" id="__crossx-ttl">${w((t == null ? void 0 : t.send_transaction_title) ?? "Approve transaction")}</p>
|
|
8372
|
-
<button class="__crossx-close" id="__crossx-close-btn" aria-label="Close">${
|
|
8387
|
+
<button class="__crossx-close" id="__crossx-close-btn" aria-label="Close">${B}</button>
|
|
8373
8388
|
</div>
|
|
8374
8389
|
<hr class="__crossx-divider">
|
|
8375
8390
|
<div class="__crossx-body">
|
|
@@ -8392,7 +8407,7 @@ function Hr(i, e, r, t) {
|
|
|
8392
8407
|
</div>
|
|
8393
8408
|
`, x;
|
|
8394
8409
|
}
|
|
8395
|
-
function
|
|
8410
|
+
function Se(i) {
|
|
8396
8411
|
var e;
|
|
8397
8412
|
if (i) return i;
|
|
8398
8413
|
try {
|
|
@@ -8449,7 +8464,7 @@ function jr(i, e, r) {
|
|
|
8449
8464
|
<div class="__crossx-card __crossx-card--migration" style="${H(e)}" role="dialog" aria-modal="true" aria-labelledby="__crossx-ttl">
|
|
8450
8465
|
<div class="__crossx-header">
|
|
8451
8466
|
<p class="__crossx-title" id="__crossx-ttl">${w((r == null ? void 0 : r.tx_success) ?? "Transaction complete")}</p>
|
|
8452
|
-
<button class="__crossx-close" id="__crossx-close-btn" aria-label="Close">${
|
|
8467
|
+
<button class="__crossx-close" id="__crossx-close-btn" aria-label="Close">${B}</button>
|
|
8453
8468
|
</div>
|
|
8454
8469
|
<hr class="__crossx-divider">
|
|
8455
8470
|
<div class="__crossx-body">
|
|
@@ -8491,7 +8506,7 @@ function Xr(i, e, r, t) {
|
|
|
8491
8506
|
}
|
|
8492
8507
|
if (a && !i.querySelector("#__crossx-close-btn")) {
|
|
8493
8508
|
const m = document.createElement("button");
|
|
8494
|
-
m.className = "__crossx-close", m.id = "__crossx-close-btn", m.setAttribute("aria-label", "Close"), m.innerHTML =
|
|
8509
|
+
m.className = "__crossx-close", m.id = "__crossx-close-btn", m.setAttribute("aria-label", "Close"), m.innerHTML = B, a.appendChild(m);
|
|
8495
8510
|
}
|
|
8496
8511
|
const l = i.querySelector("#__crossx-progress-body");
|
|
8497
8512
|
if (!l) return;
|
|
@@ -8516,19 +8531,19 @@ function Xr(i, e, r, t) {
|
|
|
8516
8531
|
m.addEventListener("click", (y) => {
|
|
8517
8532
|
var E;
|
|
8518
8533
|
y.stopPropagation();
|
|
8519
|
-
const
|
|
8520
|
-
|
|
8534
|
+
const S = m.dataset.copy;
|
|
8535
|
+
S && ((E = navigator.clipboard) == null || E.writeText(S).catch(() => {
|
|
8521
8536
|
}));
|
|
8522
8537
|
});
|
|
8523
8538
|
});
|
|
8524
8539
|
}
|
|
8525
8540
|
function Jr(i, e, r) {
|
|
8526
|
-
const t = e, s =
|
|
8541
|
+
const t = e, s = Se(i.dappName), o = w(i.message), n = document.createElement("div");
|
|
8527
8542
|
return n.id = M, n.innerHTML = `
|
|
8528
8543
|
<div class="__crossx-card __crossx-card--migration __crossx-card--sign-msg" style="${H(t)}" role="dialog" aria-modal="true" aria-labelledby="__crossx-ttl">
|
|
8529
8544
|
<div class="__crossx-header">
|
|
8530
8545
|
<p class="__crossx-title" id="__crossx-ttl">${w((r == null ? void 0 : r.sign_message_title) ?? "Signature Request")}</p>
|
|
8531
|
-
<button class="__crossx-close" id="__crossx-close-btn" aria-label="Close">${
|
|
8546
|
+
<button class="__crossx-close" id="__crossx-close-btn" aria-label="Close">${B}</button>
|
|
8532
8547
|
</div>
|
|
8533
8548
|
<hr class="__crossx-divider">
|
|
8534
8549
|
<div class="__crossx-body">
|
|
@@ -8555,7 +8570,7 @@ function Jr(i, e, r) {
|
|
|
8555
8570
|
`, n;
|
|
8556
8571
|
}
|
|
8557
8572
|
function Zr(i, e, r) {
|
|
8558
|
-
const t = e, s =
|
|
8573
|
+
const t = e, s = Se(i.dappName);
|
|
8559
8574
|
let o = {};
|
|
8560
8575
|
if (typeof i.typedData == "string")
|
|
8561
8576
|
try {
|
|
@@ -8583,7 +8598,7 @@ function Zr(i, e, r) {
|
|
|
8583
8598
|
<div class="__crossx-card __crossx-card--migration __crossx-card--sign-typed" style="${H(t)}" role="dialog" aria-modal="true" aria-labelledby="__crossx-ttl">
|
|
8584
8599
|
<div class="__crossx-header">
|
|
8585
8600
|
<p class="__crossx-title" id="__crossx-ttl">${w((r == null ? void 0 : r.sign_typed_data_title) ?? "Signature Request")}</p>
|
|
8586
|
-
<button class="__crossx-close" id="__crossx-close-btn" aria-label="Close">${
|
|
8601
|
+
<button class="__crossx-close" id="__crossx-close-btn" aria-label="Close">${B}</button>
|
|
8587
8602
|
</div>
|
|
8588
8603
|
<hr class="__crossx-divider">
|
|
8589
8604
|
<div class="__crossx-body">
|
|
@@ -8643,7 +8658,7 @@ function is(i, e, r, t) {
|
|
|
8643
8658
|
<p class="__crossx-title" id="__crossx-ttl">${w((t == null ? void 0 : t.wallet_selector_title) ?? "Select Connected Wallet")}</p>
|
|
8644
8659
|
<p class="__crossx-subtitle--body">${w((t == null ? void 0 : t.wallet_selector_description) ?? "Please select the wallet you previously used for this game to continue.")}</p>
|
|
8645
8660
|
</div>
|
|
8646
|
-
<button class="__crossx-close" id="__crossx-close-btn" aria-label="Close">${
|
|
8661
|
+
<button class="__crossx-close" id="__crossx-close-btn" aria-label="Close">${B}</button>
|
|
8647
8662
|
</div>
|
|
8648
8663
|
<hr class="__crossx-divider">
|
|
8649
8664
|
<div class="__crossx-body __crossx-wallet-selector-body">
|
|
@@ -8679,7 +8694,7 @@ function os(i, e) {
|
|
|
8679
8694
|
const n = document.createElement("p");
|
|
8680
8695
|
n.className = "__crossx-title", n.id = "__crossx-ttl", n.style.paddingRight = "48px", n.textContent = (e == null ? void 0 : e.wallet_created_title) ?? "Wallet Created!";
|
|
8681
8696
|
const a = document.createElement("button");
|
|
8682
|
-
a.className = "__crossx-close", a.id = "__crossx-close-btn", a.type = "button", a.ariaLabel = "Close", a.
|
|
8697
|
+
a.className = "__crossx-close", a.id = "__crossx-close-btn", a.type = "button", a.ariaLabel = "Close", a.innerHTML = B, s.append(o, n, a);
|
|
8683
8698
|
const l = document.createElement("hr");
|
|
8684
8699
|
l.className = "__crossx-divider";
|
|
8685
8700
|
const p = document.createElement("div");
|
|
@@ -8751,7 +8766,7 @@ function ds(i, e = [], r) {
|
|
|
8751
8766
|
<p class="__crossx-title" id="__crossx-ttl" style="padding-right:0;">${w((r == null ? void 0 : r.login_selector_title) ?? "CROSS Wallet")}</p>
|
|
8752
8767
|
<p class="__crossx-subtitle">${w((r == null ? void 0 : r.login_selector_subtitle) ?? "Sign in instantly with your social account")}</p>
|
|
8753
8768
|
</div>
|
|
8754
|
-
<button class="__crossx-close" id="__crossx-close-btn" aria-label="Close">${
|
|
8769
|
+
<button class="__crossx-close" id="__crossx-close-btn" aria-label="Close">${B}</button>
|
|
8755
8770
|
</div>
|
|
8756
8771
|
<hr class="__crossx-divider">
|
|
8757
8772
|
<div class="__crossx-body">
|
|
@@ -8783,7 +8798,7 @@ function ps(i, e) {
|
|
|
8783
8798
|
<div class="__crossx-card __crossx-card--migration" style="${H(r)}" role="alertdialog" aria-modal="true" aria-labelledby="__crossx-session-header-title" aria-describedby="__crossx-session-msg">
|
|
8784
8799
|
<div class="__crossx-header">
|
|
8785
8800
|
<p class="__crossx-title" id="__crossx-session-header-title">${w(e.title)}</p>
|
|
8786
|
-
<button class="__crossx-close" id="__crossx-close-btn" aria-label="Close">${
|
|
8801
|
+
<button class="__crossx-close" id="__crossx-close-btn" aria-label="Close">${B}</button>
|
|
8787
8802
|
</div>
|
|
8788
8803
|
<hr class="__crossx-divider">
|
|
8789
8804
|
<div class="__crossx-body" style="padding:20px 24px 24px;display:flex;flex-direction:column;gap:16px;">
|
|
@@ -8801,7 +8816,7 @@ function ps(i, e) {
|
|
|
8801
8816
|
`, t;
|
|
8802
8817
|
}
|
|
8803
8818
|
function _s(i, e = !0) {
|
|
8804
|
-
const r = i, t = e ? `<button class="__crossx-close" id="__crossx-close-btn" aria-label="Close">${
|
|
8819
|
+
const r = i, t = e ? `<button class="__crossx-close" id="__crossx-close-btn" aria-label="Close">${B}</button>` : "", s = e ? '<button class="__crossx-skip-btn" id="__crossx-skip-btn">Skip for Now</button>' : "", o = document.createElement("div");
|
|
8805
8820
|
return o.id = M, o.innerHTML = `
|
|
8806
8821
|
<div class="__crossx-card __crossx-card--migration" style="${H(r)}" role="dialog" aria-modal="true" aria-labelledby="__crossx-ttl">
|
|
8807
8822
|
<div class="__crossx-header">
|
|
@@ -8830,7 +8845,7 @@ function hs(i, e) {
|
|
|
8830
8845
|
<div class="__crossx-card __crossx-card--migration" style="${H(r)}" role="dialog" aria-modal="true" aria-labelledby="__crossx-ttl">
|
|
8831
8846
|
<div class="__crossx-header">
|
|
8832
8847
|
<p class="__crossx-title" id="__crossx-ttl">Import from Social Backup</p>
|
|
8833
|
-
<button class="__crossx-close" id="__crossx-close-btn" aria-label="Close">${
|
|
8848
|
+
<button class="__crossx-close" id="__crossx-close-btn" aria-label="Close">${B}</button>
|
|
8834
8849
|
</div>
|
|
8835
8850
|
<hr class="__crossx-divider">
|
|
8836
8851
|
<div class="__crossx-pin-center">
|
|
@@ -8858,7 +8873,7 @@ function xs(i, e, r) {
|
|
|
8858
8873
|
<div class="__crossx-card __crossx-card--migration" style="${H(t)}" role="dialog" aria-modal="true" aria-labelledby="__crossx-ttl">
|
|
8859
8874
|
<div class="__crossx-header">
|
|
8860
8875
|
<p class="__crossx-title" id="__crossx-ttl">Import from Social Backup</p>
|
|
8861
|
-
<button class="__crossx-close" id="__crossx-close-btn" aria-label="Close">${
|
|
8876
|
+
<button class="__crossx-close" id="__crossx-close-btn" aria-label="Close">${B}</button>
|
|
8862
8877
|
</div>
|
|
8863
8878
|
<hr class="__crossx-divider">
|
|
8864
8879
|
<div class="__crossx-pin-center">
|
|
@@ -8895,7 +8910,7 @@ function gs(i) {
|
|
|
8895
8910
|
<span class="__crossx-pin6-sheet-handle" aria-hidden="true"></span>
|
|
8896
8911
|
<p class="__crossx-title" id="__crossx-ttl" style="padding-right:48px;">${w(i.title)}</p>
|
|
8897
8912
|
<p class="__crossx-pw-subtitle">${w(i.headerSubtitle)}</p>
|
|
8898
|
-
<button class="__crossx-close" id="__crossx-close-btn" aria-label="Close">${
|
|
8913
|
+
<button class="__crossx-close" id="__crossx-close-btn" aria-label="Close">${B}</button>
|
|
8899
8914
|
</div>
|
|
8900
8915
|
<hr class="__crossx-divider">
|
|
8901
8916
|
<div class="__crossx-pw-body">
|
|
@@ -8960,7 +8975,7 @@ function Re(i) {
|
|
|
8960
8975
|
<span class="__crossx-pin6-sheet-handle" aria-hidden="true"></span>
|
|
8961
8976
|
<p class="__crossx-title" id="__crossx-ttl" style="padding-right:48px;">${w(i.title)}</p>
|
|
8962
8977
|
${t}
|
|
8963
|
-
<button class="__crossx-close" id="__crossx-close-btn" aria-label="Close">${
|
|
8978
|
+
<button class="__crossx-close" id="__crossx-close-btn" aria-label="Close">${B}</button>
|
|
8964
8979
|
</div>
|
|
8965
8980
|
<hr class="__crossx-divider">
|
|
8966
8981
|
<div class="__crossx-pin6-body"${r}>
|
|
@@ -9001,42 +9016,42 @@ function ws(i) {
|
|
|
9001
9016
|
function Ce(i, e, r, t, s, o, n) {
|
|
9002
9017
|
var We, Ue;
|
|
9003
9018
|
let a = !!(o && o > Date.now()), l = !1;
|
|
9004
|
-
const p = () => Array.from(i.querySelectorAll(".__crossx-pin6-box")), _ = () => i.querySelector("#__crossx-pin6-boxes"), u = () => i.querySelector("#__crossx-pin6-error"), g = () => i.querySelector("#__crossx-pin6-lock-msg"), x = () => i.querySelector("#__crossx-pin6-lock-countdown"), f = () => i.querySelector(".__crossx-pin6-body"), m = "●", y = (b,
|
|
9005
|
-
b.dataset.digit =
|
|
9006
|
-
},
|
|
9019
|
+
const p = () => Array.from(i.querySelectorAll(".__crossx-pin6-box")), _ = () => i.querySelector("#__crossx-pin6-boxes"), u = () => i.querySelector("#__crossx-pin6-error"), g = () => i.querySelector("#__crossx-pin6-lock-msg"), x = () => i.querySelector("#__crossx-pin6-lock-countdown"), f = () => i.querySelector(".__crossx-pin6-body"), m = "●", y = (b, v) => {
|
|
9020
|
+
b.dataset.digit = v, b.value = m;
|
|
9021
|
+
}, S = (b) => {
|
|
9007
9022
|
delete b.dataset.digit, b.value = "";
|
|
9008
9023
|
}, E = (b) => b.dataset.digit ?? "", A = () => p().map(E).join(""), I = () => Array.from(i.querySelectorAll(".__crossx-pin6-dot")), T = () => {
|
|
9009
9024
|
var k;
|
|
9010
|
-
const b = p(),
|
|
9011
|
-
if (
|
|
9025
|
+
const b = p(), v = I();
|
|
9026
|
+
if (v.length && (v.forEach((R, O) => {
|
|
9012
9027
|
const $ = !!(b[O] && E(b[O]));
|
|
9013
9028
|
R.classList.toggle("--filled", $), R.classList.toggle("--active", !1);
|
|
9014
9029
|
}), !a && !l)) {
|
|
9015
9030
|
const R = b.findIndex(($) => !E($));
|
|
9016
|
-
(k =
|
|
9031
|
+
(k = v[R === -1 ? 5 : R]) == null || k.classList.add("--active");
|
|
9017
9032
|
}
|
|
9018
9033
|
}, C = () => {
|
|
9019
|
-
i.querySelectorAll(".__crossx-pin6-numpad-key[data-key]").forEach((
|
|
9034
|
+
i.querySelectorAll(".__crossx-pin6-numpad-key[data-key]").forEach((v) => v.classList.toggle("--disabled", a)), I().forEach((v) => v.classList.toggle("--locked", a)), T();
|
|
9020
9035
|
}, U = (b) => {
|
|
9021
|
-
a = b, p().forEach((
|
|
9022
|
-
|
|
9036
|
+
a = b, p().forEach((v) => {
|
|
9037
|
+
v.disabled = b, v.classList.toggle("--locked", b);
|
|
9023
9038
|
});
|
|
9024
9039
|
}, N = () => i.querySelector("#__crossx-pin6-attempt"), q = () => {
|
|
9025
9040
|
const b = u();
|
|
9026
9041
|
b && (b.textContent = "");
|
|
9027
9042
|
}, z = () => n ?? "Your account will be locked after further failures.", P = () => i.querySelector("#__crossx-pin6-warning"), L = (b) => {
|
|
9028
9043
|
var k;
|
|
9029
|
-
let
|
|
9030
|
-
if (!
|
|
9031
|
-
|
|
9044
|
+
let v = P();
|
|
9045
|
+
if (!v) {
|
|
9046
|
+
v = document.createElement("p"), v.className = "__crossx-pin6-warning", v.id = "__crossx-pin6-warning";
|
|
9032
9047
|
const R = u();
|
|
9033
|
-
R ? R.insertAdjacentElement("afterend",
|
|
9048
|
+
R ? R.insertAdjacentElement("afterend", v) : (k = f()) == null || k.appendChild(v);
|
|
9034
9049
|
}
|
|
9035
|
-
|
|
9036
|
-
},
|
|
9050
|
+
v.textContent = b;
|
|
9051
|
+
}, W = () => {
|
|
9037
9052
|
const b = P();
|
|
9038
9053
|
b && (b.textContent = "");
|
|
9039
|
-
}, ne = (b,
|
|
9054
|
+
}, ne = (b, v) => {
|
|
9040
9055
|
var R;
|
|
9041
9056
|
let k = N();
|
|
9042
9057
|
if (!k) {
|
|
@@ -9044,23 +9059,23 @@ function Ce(i, e, r, t, s, o, n) {
|
|
|
9044
9059
|
const O = P() ?? u();
|
|
9045
9060
|
O ? O.insertAdjacentElement("afterend", k) : (R = f()) == null || R.appendChild(k);
|
|
9046
9061
|
}
|
|
9047
|
-
k.textContent = `${b}/${
|
|
9062
|
+
k.textContent = `${b}/${v}`;
|
|
9048
9063
|
}, ae = () => {
|
|
9049
9064
|
const b = N();
|
|
9050
9065
|
b && (b.textContent = "");
|
|
9051
9066
|
}, ge = (b) => {
|
|
9052
|
-
const
|
|
9053
|
-
|
|
9067
|
+
const v = u();
|
|
9068
|
+
v && (v.textContent = b);
|
|
9054
9069
|
const k = _();
|
|
9055
|
-
k == null || k.classList.add("--shake"), setTimeout(() => k == null ? void 0 : k.classList.remove("--shake"), 500), p().forEach(
|
|
9070
|
+
k == null || k.classList.add("--shake"), setTimeout(() => k == null ? void 0 : k.classList.remove("--shake"), 500), p().forEach(S), setTimeout(() => {
|
|
9056
9071
|
var R;
|
|
9057
9072
|
(R = p()[0]) == null || R.focus(), T();
|
|
9058
9073
|
}, 50);
|
|
9059
9074
|
}, ce = (b) => {
|
|
9060
9075
|
var $;
|
|
9061
|
-
U(!0), p().forEach(
|
|
9062
|
-
const
|
|
9063
|
-
if (
|
|
9076
|
+
U(!0), p().forEach(S), C();
|
|
9077
|
+
const v = u();
|
|
9078
|
+
if (v && (v.textContent = "Too many failed attempts. Please wait."), !g()) {
|
|
9064
9079
|
const F = document.createElement("p");
|
|
9065
9080
|
F.className = "__crossx-pin6-lock-msg", F.id = "__crossx-pin6-lock-msg", F.innerHTML = `${wt}<span id="__crossx-pin6-lock-countdown"></span>`;
|
|
9066
9081
|
const V = u();
|
|
@@ -9069,7 +9084,7 @@ function Ce(i, e, r, t, s, o, n) {
|
|
|
9069
9084
|
const k = () => {
|
|
9070
9085
|
var ee;
|
|
9071
9086
|
const F = b - Date.now(), V = x();
|
|
9072
|
-
F <= 0 ? (clearInterval(R), U(!1), (ee = g()) == null || ee.remove(),
|
|
9087
|
+
F <= 0 ? (clearInterval(R), U(!1), (ee = g()) == null || ee.remove(), v && (v.textContent = ""), C(), setTimeout(() => {
|
|
9073
9088
|
var fe;
|
|
9074
9089
|
return (fe = p()[0]) == null ? void 0 : fe.focus();
|
|
9075
9090
|
}, 50)) : V && (V.textContent = ` ${ws(F)}`);
|
|
@@ -9083,20 +9098,20 @@ function Ce(i, e, r, t, s, o, n) {
|
|
|
9083
9098
|
if (a || l) return;
|
|
9084
9099
|
const b = A();
|
|
9085
9100
|
if (b.length === 6) {
|
|
9086
|
-
l = !0, p().forEach((
|
|
9087
|
-
|
|
9101
|
+
l = !0, p().forEach((v) => {
|
|
9102
|
+
v.disabled = !0;
|
|
9088
9103
|
});
|
|
9089
9104
|
try {
|
|
9090
9105
|
if (s) {
|
|
9091
|
-
const
|
|
9092
|
-
|
|
9106
|
+
const v = await s(b);
|
|
9107
|
+
v.ok ? e(b) : v.lockExpiresAt ? (ae(), ce(v.lockExpiresAt)) : (ge(v.error ?? "Incorrect PIN. Please try again."), v.attemptCount != null && v.maxAttempts != null ? (L(z()), ne(v.attemptCount, v.maxAttempts)) : (W(), ae()));
|
|
9093
9108
|
} else
|
|
9094
9109
|
e(b);
|
|
9095
|
-
} catch (
|
|
9096
|
-
t && t(
|
|
9110
|
+
} catch (v) {
|
|
9111
|
+
t && t(v);
|
|
9097
9112
|
} finally {
|
|
9098
|
-
l = !1, a || p().forEach((
|
|
9099
|
-
|
|
9113
|
+
l = !1, a || p().forEach((v) => {
|
|
9114
|
+
v.disabled = !1;
|
|
9100
9115
|
}), T();
|
|
9101
9116
|
}
|
|
9102
9117
|
}
|
|
@@ -9107,30 +9122,30 @@ function Ce(i, e, r, t, s, o, n) {
|
|
|
9107
9122
|
}, 100);
|
|
9108
9123
|
const Be = () => {
|
|
9109
9124
|
if (a || l) return;
|
|
9110
|
-
const b = p(),
|
|
9111
|
-
|
|
9125
|
+
const b = p(), v = b.find((k) => !E(k)) ?? b[b.length - 1];
|
|
9126
|
+
v == null || v.focus();
|
|
9112
9127
|
};
|
|
9113
9128
|
(We = _()) == null || We.addEventListener("click", (b) => {
|
|
9114
9129
|
b.target.classList.contains("__crossx-pin6-box") || Be();
|
|
9115
9130
|
}), (Ue = f()) == null || Ue.addEventListener("click", (b) => {
|
|
9116
|
-
const
|
|
9117
|
-
|
|
9118
|
-
}), p().forEach((b,
|
|
9131
|
+
const v = b.target;
|
|
9132
|
+
v.classList.contains("__crossx-pin6-box") || v.closest("button") || Be();
|
|
9133
|
+
}), p().forEach((b, v) => {
|
|
9119
9134
|
b.addEventListener("input", () => {
|
|
9120
9135
|
var R;
|
|
9121
9136
|
const k = b.value.replace(/\D/g, "").slice(-1);
|
|
9122
|
-
k ? y(b, k) :
|
|
9137
|
+
k ? y(b, k) : S(b), q(), k && v < 5 && ((R = p()[v + 1]) == null || R.focus()), T(), A().length === 6 && setTimeout(Ee, 80);
|
|
9123
9138
|
}), b.addEventListener("keydown", (k) => {
|
|
9124
9139
|
var R, O;
|
|
9125
9140
|
if (k.key === "Backspace") {
|
|
9126
9141
|
if (k.preventDefault(), E(b))
|
|
9127
|
-
|
|
9128
|
-
else if (
|
|
9129
|
-
const $ = p()[
|
|
9130
|
-
|
|
9142
|
+
S(b);
|
|
9143
|
+
else if (v > 0) {
|
|
9144
|
+
const $ = p()[v - 1];
|
|
9145
|
+
S($), $.focus();
|
|
9131
9146
|
}
|
|
9132
9147
|
T();
|
|
9133
|
-
} else k.key === "ArrowLeft" &&
|
|
9148
|
+
} else k.key === "ArrowLeft" && v > 0 ? (k.preventDefault(), (R = p()[v - 1]) == null || R.focus()) : k.key === "ArrowRight" && v < 5 ? (k.preventDefault(), (O = p()[v + 1]) == null || O.focus()) : k.key === "Escape" && r();
|
|
9134
9149
|
}), b.addEventListener("paste", (k) => {
|
|
9135
9150
|
var $, F;
|
|
9136
9151
|
k.preventDefault();
|
|
@@ -9145,19 +9160,19 @@ function Ce(i, e, r, t, s, o, n) {
|
|
|
9145
9160
|
const _e = i.querySelector("#__crossx-pin6-numpad");
|
|
9146
9161
|
if (_e) {
|
|
9147
9162
|
let b = null;
|
|
9148
|
-
const
|
|
9163
|
+
const v = () => {
|
|
9149
9164
|
b && (b.classList.remove("--pressed"), b = null);
|
|
9150
9165
|
};
|
|
9151
9166
|
_e.addEventListener("pointerdown", (R) => {
|
|
9152
9167
|
const O = R.target.closest(".__crossx-pin6-numpad-key");
|
|
9153
|
-
!O || a || l || (
|
|
9168
|
+
!O || a || l || (v(), b = O, O.classList.add("--pressed"), O.setPointerCapture(R.pointerId));
|
|
9154
9169
|
});
|
|
9155
9170
|
const k = (R) => {
|
|
9156
9171
|
const O = R.dataset.key;
|
|
9157
9172
|
if (!O) return;
|
|
9158
9173
|
if (O === "backspace") {
|
|
9159
9174
|
const ee = [...p()].reverse().find((fe) => E(fe));
|
|
9160
|
-
ee && (
|
|
9175
|
+
ee && (S(ee), q()), T();
|
|
9161
9176
|
return;
|
|
9162
9177
|
}
|
|
9163
9178
|
if (!/^\d$/.test(O)) return;
|
|
@@ -9167,10 +9182,10 @@ function Ce(i, e, r, t, s, o, n) {
|
|
|
9167
9182
|
_e.addEventListener("pointerup", (R) => {
|
|
9168
9183
|
if (!b) return;
|
|
9169
9184
|
const O = b;
|
|
9170
|
-
|
|
9185
|
+
v();
|
|
9171
9186
|
const $ = O.getBoundingClientRect();
|
|
9172
9187
|
R.clientX >= $.left && R.clientX <= $.right && R.clientY >= $.top && R.clientY <= $.bottom && !a && !l && k(O);
|
|
9173
|
-
}), _e.addEventListener("pointercancel",
|
|
9188
|
+
}), _e.addEventListener("pointercancel", v), _e.addEventListener("pointerleave", v, !0), T(), o && o > Date.now() && C();
|
|
9174
9189
|
}
|
|
9175
9190
|
}
|
|
9176
9191
|
const ms = `<svg width="22" height="17" viewBox="0 0 22 17" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
@@ -9184,7 +9199,7 @@ const ms = `<svg width="22" height="17" viewBox="0 0 22 17" fill="none" xmlns="h
|
|
|
9184
9199
|
</svg>`, bs = `<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
9185
9200
|
<path d="M12 0C18.6274 0 24 5.37258 24 12C23.9999 18.6273 18.6274 24 12 24C5.37264 24 9.89594e-05 18.6273 0 12C0 5.37258 5.37258 0 12 0ZM10.875 15.127V17.377H13.125V15.127H10.875ZM10.875 6.62207V13.627H13.125V6.62207H10.875Z" fill="currentColor"/>
|
|
9186
9201
|
</svg>`;
|
|
9187
|
-
function
|
|
9202
|
+
function vs(i, e, r) {
|
|
9188
9203
|
var o;
|
|
9189
9204
|
const t = i.querySelectorAll(".__crossx-pin-input");
|
|
9190
9205
|
t.forEach((n, a) => {
|
|
@@ -9217,7 +9232,7 @@ function Ss(i, e, r) {
|
|
|
9217
9232
|
}
|
|
9218
9233
|
}), (o = t[0]) == null || o.focus();
|
|
9219
9234
|
}
|
|
9220
|
-
class
|
|
9235
|
+
class Ss {
|
|
9221
9236
|
constructor(e = "light", r, t = Me, s) {
|
|
9222
9237
|
this.theme = e, this.overrides = r, this.tokens = rt(e, r), this.displayDecimals = t, this.pinKeyboard = s;
|
|
9223
9238
|
}
|
|
@@ -9305,10 +9320,10 @@ class vs {
|
|
|
9305
9320
|
}), (E = a.querySelector("#__crossx-close-btn")) == null || E.addEventListener("click", x), a.addEventListener("click", (A) => {
|
|
9306
9321
|
A.target === a && x();
|
|
9307
9322
|
});
|
|
9308
|
-
const
|
|
9309
|
-
A.key === "Escape" && (document.removeEventListener("keydown",
|
|
9323
|
+
const S = (A) => {
|
|
9324
|
+
A.key === "Escape" && (document.removeEventListener("keydown", S), x());
|
|
9310
9325
|
};
|
|
9311
|
-
document.addEventListener("keydown",
|
|
9326
|
+
document.addEventListener("keydown", S);
|
|
9312
9327
|
});
|
|
9313
9328
|
}
|
|
9314
9329
|
showWalletCreatedPrompt() {
|
|
@@ -9373,7 +9388,7 @@ class vs {
|
|
|
9373
9388
|
}), (m = o.querySelector("#__crossx-close-btn")) == null || m.addEventListener("click", _), o.addEventListener("click", (y) => {
|
|
9374
9389
|
y.target === o && _();
|
|
9375
9390
|
}), o.querySelectorAll(".__crossx-login-terms-link").forEach((y) => {
|
|
9376
|
-
y.addEventListener("click", (
|
|
9391
|
+
y.addEventListener("click", (S) => S.stopPropagation());
|
|
9377
9392
|
});
|
|
9378
9393
|
const u = (y) => {
|
|
9379
9394
|
y.key === "Escape" && (document.removeEventListener("keydown", u), _());
|
|
@@ -9507,27 +9522,27 @@ class vs {
|
|
|
9507
9522
|
A.classList.toggle("--disabled", !P), A.textContent = C || T;
|
|
9508
9523
|
}, N = (P, L) => {
|
|
9509
9524
|
if (I.has(L)) return;
|
|
9510
|
-
const
|
|
9511
|
-
I.add(L),
|
|
9525
|
+
const W = P.querySelector(`#__crossx-notice-check-${L}`);
|
|
9526
|
+
I.add(L), W.classList.add("--checked"), P.setAttribute("aria-checked", "true"), U();
|
|
9512
9527
|
}, q = (P, L) => {
|
|
9513
9528
|
if (!I.has(L)) return;
|
|
9514
|
-
const
|
|
9515
|
-
I.delete(L),
|
|
9529
|
+
const W = P.querySelector(`#__crossx-notice-check-${L}`);
|
|
9530
|
+
I.delete(L), W.classList.remove("--checked"), P.setAttribute("aria-checked", "false"), U();
|
|
9516
9531
|
};
|
|
9517
9532
|
E.forEach((P) => {
|
|
9518
9533
|
const L = parseInt(P.dataset.checkIndex ?? "0", 10);
|
|
9519
9534
|
P.addEventListener("click", () => {
|
|
9520
9535
|
I.has(L) ? q(P, L) : N(P, L);
|
|
9521
|
-
}), P.addEventListener("keydown", (
|
|
9522
|
-
(
|
|
9536
|
+
}), P.addEventListener("keydown", (W) => {
|
|
9537
|
+
(W.key === " " || W.key === "Enter") && (W.preventDefault(), I.has(L) ? q(P, L) : N(P, L));
|
|
9523
9538
|
});
|
|
9524
9539
|
}), A.addEventListener("click", () => {
|
|
9525
9540
|
if (I.size === E.length) {
|
|
9526
9541
|
y(e == null ? void 0 : e.errorMessage);
|
|
9527
9542
|
return;
|
|
9528
9543
|
}
|
|
9529
|
-
const P = E.find((
|
|
9530
|
-
const ne = parseInt(
|
|
9544
|
+
const P = E.find((W) => {
|
|
9545
|
+
const ne = parseInt(W.dataset.checkIndex ?? "0", 10);
|
|
9531
9546
|
return !I.has(ne);
|
|
9532
9547
|
});
|
|
9533
9548
|
if (!P) return;
|
|
@@ -9548,7 +9563,7 @@ class vs {
|
|
|
9548
9563
|
*/
|
|
9549
9564
|
showPinInputPrompt(e) {
|
|
9550
9565
|
return new Promise((r, t) => {
|
|
9551
|
-
var
|
|
9566
|
+
var S;
|
|
9552
9567
|
G();
|
|
9553
9568
|
const s = this.messages, o = (e == null ? void 0 : e.verifyMode) === !0, n = o ? (s == null ? void 0 : s.verify_pin_title) ?? "Verify Your PIN" : (s == null ? void 0 : s.pin_input_title) ?? "Enter PIN", a = o ? (s == null ? void 0 : s.verify_pin_subtitle) ?? "Enter your PIN to authorize this transaction." : (s == null ? void 0 : s.pin_input_subtitle) ?? "Enter your 6-digit PIN to continue.", l = (s == null ? void 0 : s.pin_locked_failure_warning) ?? "Your account will be locked after further failures.", p = it(
|
|
9554
9569
|
this.tokens,
|
|
@@ -9573,7 +9588,7 @@ class vs {
|
|
|
9573
9588
|
}, m = (E) => {
|
|
9574
9589
|
g(), t(E);
|
|
9575
9590
|
}, y = p.querySelector(".__crossx-card");
|
|
9576
|
-
this.applyPinKeyboardMode(y), (
|
|
9591
|
+
this.applyPinKeyboardMode(y), (S = y.querySelector("#__crossx-close-btn")) == null || S.addEventListener("click", f), Ce(y, x, f, m, e == null ? void 0 : e.onSubmit, e == null ? void 0 : e.lockExpiresAt, l), p.addEventListener("click", (E) => {
|
|
9577
9592
|
E.target === p && f();
|
|
9578
9593
|
});
|
|
9579
9594
|
});
|
|
@@ -9596,7 +9611,7 @@ class vs {
|
|
|
9596
9611
|
}, n = () => {
|
|
9597
9612
|
s(), r(null);
|
|
9598
9613
|
}, a = t.querySelector(".__crossx-card");
|
|
9599
|
-
a && this.applyPinKeyboardMode(a),
|
|
9614
|
+
a && this.applyPinKeyboardMode(a), vs(t, o, n), (l = t.querySelector("#__crossx-close-btn")) == null || l.addEventListener("click", n), t.addEventListener("click", (p) => {
|
|
9600
9615
|
p.target === t && n();
|
|
9601
9616
|
});
|
|
9602
9617
|
});
|
|
@@ -9955,7 +9970,7 @@ Example: createCROSSxSDK({ projectId: "your-project-id", ... })`
|
|
|
9955
9970
|
var C;
|
|
9956
9971
|
return (C = x == null ? void 0 : x.assertRNBridgeSessionActive) == null ? void 0 : C.call(x);
|
|
9957
9972
|
};
|
|
9958
|
-
g = new
|
|
9973
|
+
g = new vr(
|
|
9959
9974
|
g,
|
|
9960
9975
|
() => {
|
|
9961
9976
|
var C;
|
|
@@ -9964,13 +9979,13 @@ Example: createCROSSxSDK({ projectId: "your-project-id", ... })`
|
|
|
9964
9979
|
f,
|
|
9965
9980
|
m
|
|
9966
9981
|
);
|
|
9967
|
-
const y = new xe(s, l),
|
|
9982
|
+
const y = new xe(s, l), S = new Ss(
|
|
9968
9983
|
i.theme ?? "light",
|
|
9969
9984
|
i.themeTokens,
|
|
9970
9985
|
i.displayDecimals,
|
|
9971
9986
|
i.pinKeyboard
|
|
9972
9987
|
), E = new Es(
|
|
9973
|
-
|
|
9988
|
+
S,
|
|
9974
9989
|
() => {
|
|
9975
9990
|
var C;
|
|
9976
9991
|
return (C = x == null ? void 0 : x.getRNBridge) == null ? void 0 : C.call(x);
|