@nexus-cross/crossx-sdk-core 1.2.4 → 1.2.5
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/adapters/crypto/JoseCryptoAdapter.d.ts +2 -0
- package/dist/adapters/crypto/JoseCryptoAdapter.d.ts.map +1 -1
- package/dist/adapters/oauth/BrowserOAuthAdapter.d.ts.map +1 -1
- package/dist/adapters/storage/IndexedDBStorageAdapter.d.ts +7 -0
- package/dist/adapters/storage/IndexedDBStorageAdapter.d.ts.map +1 -1
- package/dist/adapters/transport/FetchTransportAdapter.d.ts +1 -0
- package/dist/adapters/transport/FetchTransportAdapter.d.ts.map +1 -1
- package/dist/adapters/wallet/RemoteWalletProviderAdapter.d.ts.map +1 -1
- package/dist/core/constants.d.ts +2 -2
- package/dist/core/constants.d.ts.map +1 -1
- package/dist/core/ports/CryptoPort.d.ts +5 -0
- package/dist/core/ports/CryptoPort.d.ts.map +1 -1
- package/dist/core/ports/TransportPort.d.ts +2 -0
- package/dist/core/ports/TransportPort.d.ts.map +1 -1
- package/dist/core/services/JsonRpcService.d.ts +1 -0
- package/dist/core/services/JsonRpcService.d.ts.map +1 -1
- package/dist/core/services/TokenMemoryStore.d.ts +1 -0
- package/dist/core/services/TokenMemoryStore.d.ts.map +1 -1
- package/dist/core/types/internal.d.ts +5 -0
- package/dist/core/types/internal.d.ts.map +1 -1
- package/dist/core/usecases/SignInUseCase.d.ts +10 -0
- package/dist/core/usecases/SignInUseCase.d.ts.map +1 -1
- package/dist/core/usecases/SignOutUseCase.d.ts +3 -0
- package/dist/core/usecases/SignOutUseCase.d.ts.map +1 -1
- package/dist/crossx.global +116 -116
- package/dist/index.cjs +31 -31
- package/dist/index.js +965 -824
- package/dist/sdk/CROSSxSDK.d.ts +11 -0
- package/dist/sdk/CROSSxSDK.d.ts.map +1 -1
- package/dist/sdk/factory.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -2,6 +2,8 @@ import { CryptoPort, JWTVerifyOptions, JWTVerifyResult } from '../../core/ports'
|
|
|
2
2
|
import { JWTPayload } from '../../core/types';
|
|
3
3
|
|
|
4
4
|
export declare class JoseCryptoAdapter implements CryptoPort {
|
|
5
|
+
private jwks;
|
|
6
|
+
setJWKSEndpoint(url: string): void;
|
|
5
7
|
verifyJWT(token: string, _options?: JWTVerifyOptions): Promise<JWTVerifyResult>;
|
|
6
8
|
decodeJWT(token: string): JWTPayload;
|
|
7
9
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JoseCryptoAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/crypto/JoseCryptoAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACtF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"JoseCryptoAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/crypto/JoseCryptoAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACtF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAKnD,qBAAa,iBAAkB,YAAW,UAAU;IAClD,OAAO,CAAC,IAAI,CAAsD;IAElE,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAS5B,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC;IAyDrF,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU;IAIpC;;;;;;OAMG;IACH,yBAAyB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;CAkCtE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BrowserOAuthAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/oauth/BrowserOAuthAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"BrowserOAuthAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/oauth/BrowserOAuthAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAS/D,qBAAa,mBAAoB,YAAW,SAAS;IACnD,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAMlC,OAAO,CAAC,MAAM,CAAC,eAAe;mBAST,SAAS;IAQ9B;;;;OAIG;mBACkB,kBAAkB;IA8DvC,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;CA0J/C"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { StoragePort } from '../../core/ports';
|
|
2
2
|
|
|
3
3
|
export declare class IndexedDBStorageAdapter implements StoragePort {
|
|
4
|
+
private readonly dbName;
|
|
4
5
|
private db;
|
|
5
6
|
private cryptoKey;
|
|
6
7
|
private initPromise;
|
|
8
|
+
constructor(projectId: string);
|
|
7
9
|
private ensureReady;
|
|
8
10
|
private openDB;
|
|
9
11
|
private idbGet;
|
|
@@ -11,6 +13,11 @@ export declare class IndexedDBStorageAdapter implements StoragePort {
|
|
|
11
13
|
private idbDelete;
|
|
12
14
|
private idbClear;
|
|
13
15
|
private init;
|
|
16
|
+
/**
|
|
17
|
+
* 레거시 DB('crossx-sdk')에서 projectId 스코프 DB로 암호키·데이터 마이그레이션.
|
|
18
|
+
* 마이그레이션 성공 시 레거시 DB 삭제.
|
|
19
|
+
*/
|
|
20
|
+
private migrateFromLegacyDB;
|
|
14
21
|
private encrypt;
|
|
15
22
|
private decrypt;
|
|
16
23
|
set<T>(key: string, value: T): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IndexedDBStorageAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/storage/IndexedDBStorageAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAepD,qBAAa,uBAAwB,YAAW,WAAW;IACzD,OAAO,CAAC,EAAE,CAA4B;IACtC,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,WAAW,CAA8B;
|
|
1
|
+
{"version":3,"file":"IndexedDBStorageAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/storage/IndexedDBStorageAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAepD,qBAAa,uBAAwB,YAAW,WAAW;IACzD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,EAAE,CAA4B;IACtC,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,WAAW,CAA8B;gBAErC,SAAS,EAAE,MAAM;YAIf,WAAW;IAQzB,OAAO,CAAC,MAAM;IAiBd,OAAO,CAAC,MAAM;IASd,OAAO,CAAC,MAAM;IASd,OAAO,CAAC,SAAS;IASjB,OAAO,CAAC,QAAQ;YASF,IAAI;IAuBlB;;;OAGG;YACW,mBAAmB;YAkCnB,OAAO;YAYP,OAAO;IAUf,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAY5C,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAatC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUlC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAU5B;;OAEG;IACH,MAAM,CAAC,WAAW,IAAI,OAAO;CAK9B"}
|
|
@@ -2,5 +2,6 @@ import { TransportPort, TransportRequest, TransportResponse } from '../../core/p
|
|
|
2
2
|
|
|
3
3
|
export declare class FetchTransportAdapter implements TransportPort {
|
|
4
4
|
request<T = any>(request: TransportRequest): Promise<TransportResponse<T>>;
|
|
5
|
+
private _doRequest;
|
|
5
6
|
}
|
|
6
7
|
//# sourceMappingURL=FetchTransportAdapter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FetchTransportAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/transport/FetchTransportAdapter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"FetchTransportAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/transport/FetchTransportAdapter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAK3F,qBAAa,qBAAsB,YAAW,aAAa;IAEnD,OAAO,CAAC,CAAC,GAAG,GAAG,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;YAkBlE,UAAU;CAkCzB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RemoteWalletProviderAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/wallet/RemoteWalletProviderAdapter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,kBAAkB,EAClB,iBAAiB,EACjB,UAAU,EACV,YAAY,EACb,MAAM,qCAAqC,CAAC;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,KAAK,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AACjF,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAG7F,OAAO,KAAK,EA2BV,aAAa,EACd,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAEzE,MAAM,WAAW,0BAA0B;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,2BAA4B,YAAW,kBAAkB;IACpE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA6B;IAC3D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;IACtC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAgB;IAC1C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmB;IAC9C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAwB;IACjD,yCAAyC;IACzC,OAAO,CAAC,eAAe,CAAC,CAAa;IACrC,iEAAiE;IACjE,OAAO,CAAC,kBAAkB,CAAkC;gBAG1D,MAAM,EAAE,0BAA0B,EAClC,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,aAAa,EACxB,UAAU,EAAE,gBAAgB,EAC5B,QAAQ,CAAC,EAAE,cAAc;IAU3B,iBAAiB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;IAI7C,OAAO,CAAC,MAAM;IAId,OAAO,KAAK,OAAO,GAA4C;IAE/D,OAAO,CAAC,YAAY;YAWN,OAAO;
|
|
1
|
+
{"version":3,"file":"RemoteWalletProviderAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/wallet/RemoteWalletProviderAdapter.ts"],"names":[],"mappings":"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"}
|
package/dist/core/constants.d.ts
CHANGED
|
@@ -20,8 +20,8 @@ export declare const ECDSA_SIGNATURE_HEX_LENGTH = 130;
|
|
|
20
20
|
export declare const WEI_DISPLAY_DECIMALS = 6;
|
|
21
21
|
/** ETH 기본 소수점 자릿수 */
|
|
22
22
|
export declare const ETH_DECIMALS = 18;
|
|
23
|
-
/** 체인 레지스트리 API 성공 시 캐시 유효 기간 (
|
|
24
|
-
export declare const CHAIN_CACHE_TTL_MS
|
|
23
|
+
/** 체인 레지스트리 API 성공 시 캐시 유효 기간 (5분) */
|
|
24
|
+
export declare const CHAIN_CACHE_TTL_MS: number;
|
|
25
25
|
/** 체인 레지스트리 API 실패(fallback) 후 재시도 간격 (30초) */
|
|
26
26
|
export declare const CHAIN_FALLBACK_RETRY_MS: number;
|
|
27
27
|
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/core/constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,4BAA4B;AAC5B,eAAO,MAAM,gCAAgC,OAAO,CAAC;AAErD,+BAA+B;AAC/B,eAAO,MAAM,+BAA+B,QAAQ,CAAC;AAErD,oEAAoE;AACpE,eAAO,MAAM,wBAAwB,OAAO,CAAC;AAE7C,wDAAwD;AACxD,eAAO,MAAM,uBAAuB,QAAS,CAAC;AAI9C,0CAA0C;AAC1C,eAAO,MAAM,yBAAyB,eAAe,CAAC;AAEtD,qDAAqD;AACrD,eAAO,MAAM,yBAAyB,eAAe,CAAC;AAItD,iDAAiD;AACjD,eAAO,MAAM,0BAA0B,MAAM,CAAC;AAI9C,oCAAoC;AACpC,eAAO,MAAM,oBAAoB,IAAI,CAAC;AAEtC,qBAAqB;AACrB,eAAO,MAAM,YAAY,KAAK,CAAC;AAI/B,
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/core/constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,4BAA4B;AAC5B,eAAO,MAAM,gCAAgC,OAAO,CAAC;AAErD,+BAA+B;AAC/B,eAAO,MAAM,+BAA+B,QAAQ,CAAC;AAErD,oEAAoE;AACpE,eAAO,MAAM,wBAAwB,OAAO,CAAC;AAE7C,wDAAwD;AACxD,eAAO,MAAM,uBAAuB,QAAS,CAAC;AAI9C,0CAA0C;AAC1C,eAAO,MAAM,yBAAyB,eAAe,CAAC;AAEtD,qDAAqD;AACrD,eAAO,MAAM,yBAAyB,eAAe,CAAC;AAItD,iDAAiD;AACjD,eAAO,MAAM,0BAA0B,MAAM,CAAC;AAI9C,oCAAoC;AACpC,eAAO,MAAM,oBAAoB,IAAI,CAAC;AAEtC,qBAAqB;AACrB,eAAO,MAAM,YAAY,KAAK,CAAC;AAI/B,sCAAsC;AACtC,eAAO,MAAM,kBAAkB,QAAgB,CAAC;AAEhD,+CAA+C;AAC/C,eAAO,MAAM,uBAAuB,QAAY,CAAC"}
|
|
@@ -39,5 +39,10 @@ export interface CryptoPort {
|
|
|
39
39
|
* @returns 체크섬 없는 소문자 Ethereum 주소 (0x...)
|
|
40
40
|
*/
|
|
41
41
|
recoverPersonalSignSigner?(message: string, signature: string): string;
|
|
42
|
+
/**
|
|
43
|
+
* JWKS 엔드포인트를 설정하여 JWT 서명 검증을 활성화합니다.
|
|
44
|
+
* 설정하지 않으면 verifyJWT()는 디코딩만 수행합니다(기존 동작).
|
|
45
|
+
*/
|
|
46
|
+
setJWKSEndpoint?(url: string): void;
|
|
42
47
|
}
|
|
43
48
|
//# sourceMappingURL=CryptoPort.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CryptoPort.d.ts","sourceRoot":"","sources":["../../../src/core/ports/CryptoPort.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C;;GAEG;AACH,MAAM,WAAW,gBAAgB;CAGhC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,UAAU,CAAC;IACpB,KAAK,EAAE,OAAO,CAAC;IACf,sDAAsD;IACtD,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB;;;;;OAKG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAE/E;;;;OAIG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAAC;IAErC;;;;;;OAMG;IACH,yBAAyB,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"CryptoPort.d.ts","sourceRoot":"","sources":["../../../src/core/ports/CryptoPort.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C;;GAEG;AACH,MAAM,WAAW,gBAAgB;CAGhC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,UAAU,CAAC;IACpB,KAAK,EAAE,OAAO,CAAC;IACf,sDAAsD;IACtD,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB;;;;;OAKG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAE/E;;;;OAIG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAAC;IAErC;;;;;;OAMG;IACH,yBAAyB,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IAEvE;;;OAGG;IACH,eAAe,CAAC,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC"}
|
|
@@ -11,6 +11,8 @@ export interface TransportRequest {
|
|
|
11
11
|
timeoutMs?: number;
|
|
12
12
|
/** fetch credentials 모드. 'include'로 설정 시 cross-origin 쿠키 전송. */
|
|
13
13
|
credentials?: 'include' | 'omit' | 'same-origin';
|
|
14
|
+
/** 5xx / 네트워크 에러 시 최대 재시도 횟수 (기본 0 = 재시도 없음). */
|
|
15
|
+
retries?: number;
|
|
14
16
|
}
|
|
15
17
|
export interface TransportResponse<T = any> {
|
|
16
18
|
status: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TransportPort.d.ts","sourceRoot":"","sources":["../../../src/core/ports/TransportPort.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEjC,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gEAAgE;IAChE,WAAW,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"TransportPort.d.ts","sourceRoot":"","sources":["../../../src/core/ports/TransportPort.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEjC,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gEAAgE;IAChE,WAAW,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,aAAa,CAAC;IACjD,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAGD,MAAM,WAAW,iBAAiB,CAAC,CAAC,GAAG,GAAG;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,CAAC,CAAC;IACR,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,aAAa;IAC5B;;OAEG;IAEH,OAAO,CAAC,CAAC,GAAG,GAAG,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;CAC5E"}
|
|
@@ -4,6 +4,7 @@ import { TransportPort } from '../ports/TransportPort';
|
|
|
4
4
|
export declare class JsonRpcService {
|
|
5
5
|
private readonly chainRegistry;
|
|
6
6
|
private readonly transport;
|
|
7
|
+
private _nextId;
|
|
7
8
|
constructor(chainRegistry: ChainRegistryPort, transport: TransportPort);
|
|
8
9
|
/**
|
|
9
10
|
* JSON-RPC 호출
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JsonRpcService.d.ts","sourceRoot":"","sources":["../../../src/core/services/JsonRpcService.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAiB5D,qBAAa,cAAc;
|
|
1
|
+
{"version":3,"file":"JsonRpcService.d.ts","sourceRoot":"","sources":["../../../src/core/services/JsonRpcService.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAiB5D,qBAAa,cAAc;IAIvB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAJ5B,OAAO,CAAC,OAAO,CAAK;gBAGD,aAAa,EAAE,iBAAiB,EAChC,SAAS,EAAE,aAAa;IAG3C;;;;;;;OAOG;IACG,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CA4BjF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TokenMemoryStore.d.ts","sourceRoot":"","sources":["../../../src/core/services/TokenMemoryStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,YAAY,CAAuB;
|
|
1
|
+
{"version":3,"file":"TokenMemoryStore.d.ts","sourceRoot":"","sources":["../../../src/core/services/TokenMemoryStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,UAAU,CAAK;IAEvB,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAUxB,GAAG,IAAI,MAAM,GAAG,IAAI;IAQpB,KAAK,IAAI,IAAI;IAKb,GAAG,IAAI,OAAO;CAGf"}
|
|
@@ -10,6 +10,11 @@ export interface InternalSDKConfig extends SDKConfig {
|
|
|
10
10
|
walletGatewayUrl: string;
|
|
11
11
|
/** 내부 전용 — 백엔드 쿠키 모드 지원 시 활성화 */
|
|
12
12
|
authMode?: 'cookie' | 'token';
|
|
13
|
+
/**
|
|
14
|
+
* IndexedDB(AES-256-GCM) 스토리지 사용 가능 여부.
|
|
15
|
+
* false인 경우 refresh_token을 localStorage에 저장하지 않음 (JS-003).
|
|
16
|
+
*/
|
|
17
|
+
secureStorageAvailable?: boolean;
|
|
13
18
|
}
|
|
14
19
|
/**
|
|
15
20
|
* Firebase JWT 페이로드 (sign_in_provider, identities 포함)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../../src/core/types/internal.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE/D;;;GAGG;AACH,MAAM,WAAW,iBAAkB,SAAQ,SAAS;IAClD,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iCAAiC;IACjC,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../../src/core/types/internal.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE/D;;;GAGG;AACH,MAAM,WAAW,iBAAkB,SAAQ,SAAS;IAClD,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iCAAiC;IACjC,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC9B;;;OAGG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,UAAU;IACpD,QAAQ,CAAC,EAAE;QACT,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;KACvC,CAAC;CACH;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;;GAGG;AACH,MAAM,WAAW,aAAc,SAAQ,QAAQ;IAC7C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB"}
|
|
@@ -12,6 +12,10 @@ export declare class SignInUseCase {
|
|
|
12
12
|
private walletProvider;
|
|
13
13
|
private tokenStore;
|
|
14
14
|
private _refreshPromise;
|
|
15
|
+
private _migrated;
|
|
16
|
+
private readonly STORAGE_KEY_ACCESS_TOKEN;
|
|
17
|
+
private readonly STORAGE_KEY_REFRESH_TOKEN;
|
|
18
|
+
private readonly STORAGE_KEY_USER;
|
|
15
19
|
constructor(config: InternalSDKConfig, storage: StoragePort, crypto: CryptoPort, oauth: OAuthPort, transport: TransportPort, walletProvider: WalletProviderPort, tokenStore: TokenMemoryStore);
|
|
16
20
|
private get useCookieAuth();
|
|
17
21
|
/**
|
|
@@ -56,6 +60,7 @@ export declare class SignInUseCase {
|
|
|
56
60
|
* 동시 호출 시 단일 요청으로 deduplicate.
|
|
57
61
|
* cookie 모드에서는 JWT가 body에 없을 수 있으므로 undefined 반환 가능.
|
|
58
62
|
*/
|
|
63
|
+
private _lastRefreshToken;
|
|
59
64
|
private silentRefresh;
|
|
60
65
|
private _doSilentRefresh;
|
|
61
66
|
/**
|
|
@@ -68,6 +73,11 @@ export declare class SignInUseCase {
|
|
|
68
73
|
* @param refreshToken 선택적 refresh token
|
|
69
74
|
*/
|
|
70
75
|
executeWithJWT(accessToken: string, refreshToken?: string): Promise<AuthResult>;
|
|
76
|
+
/**
|
|
77
|
+
* 레거시 고정 키(`crossx_*`) → projectId 스코프 키(`crossx_{pid}_*`) 마이그레이션.
|
|
78
|
+
* 최초 1회만 실행되며, 레거시 키의 데이터가 있고 새 키에 데이터가 없을 때만 이동.
|
|
79
|
+
*/
|
|
80
|
+
private migrateStorageKeys;
|
|
71
81
|
private loadWallet;
|
|
72
82
|
}
|
|
73
83
|
//# sourceMappingURL=SignInUseCase.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SignInUseCase.d.ts","sourceRoot":"","sources":["../../../src/core/usecases/SignInUseCase.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AACtG,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAG1D,OAAO,KAAK,EACV,iBAAiB,EAIlB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAMrE,qBAAa,aAAa;
|
|
1
|
+
{"version":3,"file":"SignInUseCase.d.ts","sourceRoot":"","sources":["../../../src/core/usecases/SignInUseCase.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AACtG,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAG1D,OAAO,KAAK,EACV,iBAAiB,EAIlB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAMrE,qBAAa,aAAa;IAStB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,UAAU;IAdpB,OAAO,CAAC,eAAe,CAA4C;IACnE,OAAO,CAAC,SAAS,CAAS;IAE1B,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAS;IAClD,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAS;IACnD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;gBAGhC,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,UAAU,EAClB,KAAK,EAAE,SAAS,EAChB,SAAS,EAAE,aAAa,EACxB,cAAc,EAAE,kBAAkB,EAClC,UAAU,EAAE,gBAAgB;IAQtC,OAAO,KAAK,aAAa,GAExB;IAED;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IAmBpB,OAAO,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC;IAiH3D;;;;OAIG;YACW,qBAAqB;IAkDnC;;;;;;;;;;OAUG;IACH,OAAO,CAAC,kBAAkB;IAyB1B,OAAO,CAAC,mBAAmB;IAgB3B,OAAO,CAAC,WAAW;IAInB;;;;;;;;OAQG;IACG,cAAc,IAAI,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAsElD;;;;OAIG;IACH,OAAO,CAAC,iBAAiB,CAAqB;IAE9C,OAAO,CAAC,aAAa;YAUP,gBAAgB;IAuD9B;;;;;;;;OAQG;IACG,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAmErF;;;OAGG;YACW,kBAAkB;YAwBlB,UAAU;CA2DzB"}
|
|
@@ -6,6 +6,9 @@ export declare class SignOutUseCase {
|
|
|
6
6
|
private config;
|
|
7
7
|
private storage;
|
|
8
8
|
private tokenStore;
|
|
9
|
+
private readonly STORAGE_KEY_ACCESS_TOKEN;
|
|
10
|
+
private readonly STORAGE_KEY_REFRESH_TOKEN;
|
|
11
|
+
private readonly STORAGE_KEY_USER;
|
|
9
12
|
constructor(config: InternalSDKConfig, storage: StoragePort, tokenStore: TokenMemoryStore);
|
|
10
13
|
execute(): Promise<void>;
|
|
11
14
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SignOutUseCase.d.ts","sourceRoot":"","sources":["../../../src/core/usecases/SignOutUseCase.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"SignOutUseCase.d.ts","sourceRoot":"","sources":["../../../src/core/usecases/SignOutUseCase.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAErE,qBAAa,cAAc;IAMvB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,UAAU;IAPpB,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAS;IAClD,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAS;IACnD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;gBAGhC,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,WAAW,EACpB,UAAU,EAAE,gBAAgB;IAQhC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAS/B"}
|