@nexus-cross/crossx-sdk-core 1.0.9 → 1.1.0
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/__tests__/mocks/MockWalletProviderPort.d.ts +15 -0
- package/dist/__tests__/mocks/MockWalletProviderPort.d.ts.map +1 -1
- package/dist/adapters/confirmation/BrowserConfirmationAdapter.d.ts +37 -2
- package/dist/adapters/confirmation/BrowserConfirmationAdapter.d.ts.map +1 -1
- package/dist/adapters/wallet/MockWalletProviderAdapter.d.ts +56 -3
- package/dist/adapters/wallet/MockWalletProviderAdapter.d.ts.map +1 -1
- package/dist/adapters/wallet/RemoteWalletProviderAdapter.d.ts +56 -5
- package/dist/adapters/wallet/RemoteWalletProviderAdapter.d.ts.map +1 -1
- package/dist/adapters/wallet/types.d.ts +73 -8
- package/dist/adapters/wallet/types.d.ts.map +1 -1
- package/dist/core/i18n/messages.en.d.ts.map +1 -1
- package/dist/core/i18n/messages.ko.d.ts.map +1 -1
- package/dist/core/i18n/types.d.ts +26 -0
- package/dist/core/i18n/types.d.ts.map +1 -1
- package/dist/core/ports/ConfirmationPort.d.ts +48 -2
- package/dist/core/ports/ConfirmationPort.d.ts.map +1 -1
- package/dist/core/ports/WalletProviderPort.d.ts +46 -5
- package/dist/core/ports/WalletProviderPort.d.ts.map +1 -1
- package/dist/core/services/PasswordMemoryStore.d.ts +43 -0
- package/dist/core/services/PasswordMemoryStore.d.ts.map +1 -0
- package/dist/core/types/errors.d.ts +30 -0
- package/dist/core/types/errors.d.ts.map +1 -1
- package/dist/core/types/index.d.ts +12 -1
- package/dist/core/types/index.d.ts.map +1 -1
- package/dist/core/usecases/SignInUseCase.d.ts.map +1 -1
- package/dist/crossx.global +694 -107
- package/dist/index.cjs +694 -107
- package/dist/index.js +3128 -1758
- package/dist/sdk/CROSSxSDK.d.ts +94 -3
- package/dist/sdk/CROSSxSDK.d.ts.map +1 -1
- package/dist/sdk/factory.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { WalletProviderPort, WalletData, SignResponse } from '../../core/ports';
|
|
2
2
|
import { AddressInfo } from '../../core/types/chain';
|
|
3
|
+
import { MigrationLockDetails } from '../../core/types/errors';
|
|
3
4
|
|
|
4
5
|
export declare const MOCK_ADDRESS = "0xaabbccdd00112233445566778899aabbccddeeff";
|
|
5
6
|
export declare const MOCK_TX_HASH = "0xaa11bb22cc33dd44ee55ff6600112233445566778899aabbccddeeff00112233";
|
|
@@ -22,6 +23,20 @@ export declare class MockWalletProviderPort implements WalletProviderPort {
|
|
|
22
23
|
sendTransaction: import('vitest').Mock<(_userId: string, _chainId: string, _tx: any) => Promise<{
|
|
23
24
|
txHash: string;
|
|
24
25
|
}>>;
|
|
26
|
+
migrateWallet: import('vitest').Mock<(_pin: string, _sub: string) => Promise<WalletData>>;
|
|
27
|
+
verifyPin: import('vitest').Mock<(_pin: string, _sub: string) => Promise<{
|
|
28
|
+
valid: boolean;
|
|
29
|
+
pinStatus?: {
|
|
30
|
+
maxAttempts: number;
|
|
31
|
+
remainingAttempts: number;
|
|
32
|
+
lockExpiresAt?: number;
|
|
33
|
+
};
|
|
34
|
+
}>>;
|
|
35
|
+
/** verifyPin이 MIGRATION_FAILED(PIN 불일치)를 반환하도록 설정 */
|
|
36
|
+
private _simulateWrongPinCount;
|
|
37
|
+
simulateWrongPin(): void;
|
|
38
|
+
/** verifyPin이 MIGRATION_PIN_LOCKED(잠금) 응답을 반환하도록 설정 */
|
|
39
|
+
simulatePinLocked(overrides?: Partial<MigrationLockDetails>): void;
|
|
25
40
|
}
|
|
26
41
|
export { MOCK_WALLET_DATA, MOCK_SIGN_RESPONSE };
|
|
27
42
|
//# sourceMappingURL=MockWalletProviderPort.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MockWalletProviderPort.d.ts","sourceRoot":"","sources":["../../../src/__tests__/mocks/MockWalletProviderPort.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"MockWalletProviderPort.d.ts","sourceRoot":"","sources":["../../../src/__tests__/mocks/MockWalletProviderPort.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAA0B,KAAK,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAE5F,eAAO,MAAM,YAAY,+CAA+C,CAAC;AACzE,eAAO,MAAM,YAAY,uEAAuE,CAAC;AAEjG,QAAA,MAAM,gBAAgB,EAAE,UAKvB,CAAC;AAIF,QAAA,MAAM,kBAAkB,EAAE,YAKzB,CAAC;AAEF;;;GAGG;AACH,qBAAa,sBAAuB,YAAW,kBAAkB;IAC/D,iBAAiB,kCAAyB,MAAM,KAAG,OAAO,CAAC,UAAU,CAAC,EAAsB;IAE5F,YAAY,kCAAyB,MAAM,KAAG,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,EAE7F;IAEH,UAAU,kCAAyB,MAAM,UAAU,MAAM,KAAG,OAAO,CAAC,WAAW,CAAC,EAG5E;IAEJ,WAAW,kCACO,MAAM,YAAY,MAAM,YAAY,MAAM,WAAW,MAAM,KAAG,OAAO,CAAC,YAAY,CAAC,EAEnG;IAEF,aAAa,kCACK,MAAM,YAAY,MAAM,cAAc,OAAO,WAAW,MAAM,KAAG,OAAO,CAAC,YAAY,CAAC,EAEtG;IAEF,eAAe,kCACG,MAAM,YAAY,MAAM,OAAO,GAAG,WAAW,MAAM,KAAG,OAAO,CAAC,YAAY,CAAC,EAE3F;IAEF,eAAe,kCACG,MAAM,YAAY,MAAM,OAAO,GAAG,KAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,EAEhF;IAEF,aAAa,+BACE,MAAM,QAAQ,MAAM,KAAG,OAAO,CAAC,UAAU,CAAC,EACvD;IAEF,SAAS,+BACM,MAAM,QAAQ,MAAM,KAAG,OAAO,CAAC;QAC1C,KAAK,EAAE,OAAO,CAAC;QACf,SAAS,CAAC,EAAE;YAAE,WAAW,EAAE,MAAM,CAAC;YAAC,iBAAiB,EAAE,MAAM,CAAC;YAAC,aAAa,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;KACxF,CAAC,EACF;IAEF,qDAAqD;IACrD,OAAO,CAAC,sBAAsB,CAAK;IAEnC,gBAAgB;IAShB,uDAAuD;IACvD,iBAAiB,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC;CAoB5D;AAED,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,CAAC"}
|
|
@@ -38,12 +38,47 @@ export declare class BrowserConfirmationAdapter implements ConfirmationPort {
|
|
|
38
38
|
* @returns 'recover' 또는 'skip'
|
|
39
39
|
*/
|
|
40
40
|
showMigrationFoundPrompt(): Promise<'recover' | 'skip'>;
|
|
41
|
+
/**
|
|
42
|
+
* 비밀번호 설정 팝업: "Create Password"
|
|
43
|
+
* Step 1: 동의 화면 (Password Setup Notice) — 3개 체크박스 모두 선택 후 "I Understand"
|
|
44
|
+
* Step 2: 비밀번호 설정 화면 — 비밀번호 정책 검증 및 확인 입력
|
|
45
|
+
* @returns 입력된 비밀번호 또는 null(취소)
|
|
46
|
+
*/
|
|
47
|
+
showPasswordSetupPrompt(options?: {
|
|
48
|
+
errorMessage?: string;
|
|
49
|
+
}): Promise<string | null>;
|
|
50
|
+
/**
|
|
51
|
+
* 비밀번호 입력 팝업: "Enter Password"
|
|
52
|
+
* 이미 비밀번호가 설정된 경우 세션 복원 시 사용됩니다.
|
|
53
|
+
* @returns 입력된 비밀번호 또는 null(취소)
|
|
54
|
+
*/
|
|
55
|
+
showPasswordInputPrompt(options?: {
|
|
56
|
+
errorMessage?: string;
|
|
57
|
+
verifyMode?: boolean;
|
|
58
|
+
onSubmit?: (password: string) => Promise<{
|
|
59
|
+
ok: boolean;
|
|
60
|
+
error?: string;
|
|
61
|
+
}>;
|
|
62
|
+
}): Promise<string | null>;
|
|
41
63
|
/**
|
|
42
64
|
* PIN 입력 팝업: "Recover My Wallet"
|
|
43
|
-
* @param errorMessage 이전 시도
|
|
65
|
+
* @param options.errorMessage 이전 시도 실패/잠금 해제 안내 메시지
|
|
66
|
+
* @param options.attemptCount 현재 시도 횟수 (1~maxAttempts)
|
|
67
|
+
* @param options.maxAttempts 최대 시도 허용 횟수 (기본 5)
|
|
44
68
|
* @returns 4자리 PIN 문자열 또는 null(취소)
|
|
45
69
|
*/
|
|
46
|
-
showPinInputPrompt(
|
|
70
|
+
showPinInputPrompt(options?: {
|
|
71
|
+
errorMessage?: string;
|
|
72
|
+
attemptCount?: number;
|
|
73
|
+
maxAttempts?: number;
|
|
74
|
+
}): Promise<string | null>;
|
|
75
|
+
/**
|
|
76
|
+
* PIN 잠금 화면을 표시합니다.
|
|
77
|
+
* 카운트다운이 만료되거나 Close 버튼 클릭 시 resolve됩니다.
|
|
78
|
+
* @param lockExpiresInSeconds 잠금 만료까지 남은 시간(초, TTL)
|
|
79
|
+
* @param message 잠금 안내 메시지
|
|
80
|
+
*/
|
|
81
|
+
showPinLockedPrompt(lockExpiresInSeconds: number, message: string): Promise<void>;
|
|
47
82
|
/**
|
|
48
83
|
* 트랜잭션 전송 완료 팝업을 표시합니다.
|
|
49
84
|
* "Done" 버튼 클릭, 닫기 버튼 클릭, 배경 클릭, Escape 키로 닫힙니다.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BrowserConfirmationAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/confirmation/BrowserConfirmationAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,mBAAmB,EAEnB,0BAA0B,EAC1B,yBAAyB,EAG1B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"BrowserConfirmationAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/confirmation/BrowserConfirmationAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,mBAAmB,EAEnB,0BAA0B,EAC1B,yBAAyB,EAG1B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,MAAM,CAAC;AAg9FjD,qBAAa,0BAA2B,YAAW,gBAAgB;IACjE,OAAO,CAAC,KAAK,CAAoB;IACjC,OAAO,CAAC,SAAS,CAA6B;IAC9C,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,QAAQ,CAA0B;gBAE9B,KAAK,GAAE,iBAA2B,EAAE,SAAS,CAAC,EAAE,cAAc;IAM1E,QAAQ,CAAC,KAAK,EAAE,iBAAiB,EAAE,SAAS,CAAC,EAAE,cAAc,GAAG,IAAI;IAMpE,WAAW,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI;IAIxC,QAAQ,IAAI,iBAAiB;IAI7B;;;;OAIG;IACH,kBAAkB,CAChB,OAAO,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,EAClD,WAAW,EAAE,MAAM,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,EAC9D,eAAe,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAyErD;;;;OAIG;IACH,iBAAiB,IAAI,OAAO,CAAC,QAAQ,GAAG,OAAO,GAAG,IAAI,CAAC;IA8BvD;;;OAGG;IACH,wBAAwB,IAAI,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC;IA0BvD;;;;;OAKG;IACH,uBAAuB,CAAC,OAAO,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAgEpF;;;;OAIG;IACH,uBAAuB,CAAC,OAAO,CAAC,EAAE;QAChC,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;YAAE,EAAE,EAAE,OAAO,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAC3E,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IA+C1B;;;;;;OAMG;IACH,kBAAkB,CAAC,OAAO,CAAC,EAAE;QAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAiB1B;;;;;OAKG;IACH,mBAAmB,CAAC,oBAAoB,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBjF;;;OAGG;IACH,uBAAuB,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC,IAAI,CAAC;IAiC3E;;;OAGG;IACH,uBAAuB,CACrB,OAAO,EAAE,yBAAyB,EAClC,cAAc,EAAE,OAAO,CAAC,0BAA0B,CAAC,GAClD,OAAO,CAAC,IAAI,CAAC;IAqChB,mBAAmB,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;CA2CpE"}
|
|
@@ -1,12 +1,38 @@
|
|
|
1
|
-
import { WalletProviderPort, WalletData, SignResponse } from '../../core/ports/WalletProviderPort';
|
|
1
|
+
import { WalletProviderPort, WalletCheckResult, WalletData, SignResponse } from '../../core/ports/WalletProviderPort';
|
|
2
2
|
import { StoragePort } from '../../core/ports';
|
|
3
3
|
import { AddressInfo, EvmTransactionRequest } from '../../core/types/chain';
|
|
4
4
|
import { PrepareAction, PrepareContext, PrepareResult } from '../../core/types/prepare';
|
|
5
|
+
import { MigrationLockDetails } from '../../core/types/errors';
|
|
6
|
+
import { PasswordMemoryStore } from '../../core/services/PasswordMemoryStore';
|
|
5
7
|
|
|
6
8
|
export declare class MockWalletProviderAdapter implements WalletProviderPort {
|
|
7
9
|
private storage;
|
|
8
|
-
|
|
10
|
+
/**
|
|
11
|
+
* migrateWallet 호출 시 동작 제어
|
|
12
|
+
* - undefined: 정상 성공
|
|
13
|
+
* - 'wrong_pin': MIGRATION_FAILED 에러 throw
|
|
14
|
+
* - 'locked': MIGRATION_PIN_LOCKED 에러 throw (lockExpiresAt 초 단위)
|
|
15
|
+
*/
|
|
16
|
+
migrateScenario?: 'wrong_pin' | {
|
|
17
|
+
locked: Partial<MigrationLockDetails>;
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* 비밀번호 시나리오 제어 (목 전용)
|
|
21
|
+
* - undefined: 항상 성공 (패스워드 무검증)
|
|
22
|
+
* - 'wrong': changePassword 호출 시 PASSWORD_WRONG 에러 throw
|
|
23
|
+
*/
|
|
24
|
+
passwordScenario?: 'wrong';
|
|
25
|
+
private readonly passwordStore;
|
|
26
|
+
constructor(storage: StoragePort, passwordStore?: PasswordMemoryStore);
|
|
27
|
+
/**
|
|
28
|
+
* GET /mnemonic/check 모킹
|
|
29
|
+
* - migrateScenario 설정 시: migration_required 반환
|
|
30
|
+
* - 저장된 지갑 있으면: exists 반환
|
|
31
|
+
* - 없으면: not_found 반환
|
|
32
|
+
*/
|
|
33
|
+
checkWallet(): Promise<WalletCheckResult>;
|
|
9
34
|
getOrCreateWallet(userId: string): Promise<WalletData>;
|
|
35
|
+
/** GET /mnemonic/addresses 모킹 — 비밀번호 불필요, 캐시된 주소 반환 */
|
|
10
36
|
getAddresses(_userId: string): Promise<Array<{
|
|
11
37
|
address: string;
|
|
12
38
|
index: number;
|
|
@@ -19,8 +45,35 @@ export declare class MockWalletProviderAdapter implements WalletProviderPort {
|
|
|
19
45
|
sendTransaction(userId: string, chainId: string, tx: EvmTransactionRequest, uuid?: string): Promise<{
|
|
20
46
|
txHash: string;
|
|
21
47
|
}>;
|
|
22
|
-
|
|
48
|
+
/**
|
|
49
|
+
* POST /mnemonic/verify-password 모킹
|
|
50
|
+
* 저장된 비밀번호 해시와 비교하여 일치하면 true 반환
|
|
51
|
+
*/
|
|
52
|
+
verifyPassword(password: string): Promise<boolean>;
|
|
53
|
+
/**
|
|
54
|
+
* POST /mnemonic/change-password 모킹
|
|
55
|
+
* body: { password: 현재 비밀번호(passwordStore), newPassword }
|
|
56
|
+
*/
|
|
57
|
+
changePassword(_oldPassword: string, newPassword: string): Promise<void>;
|
|
23
58
|
migrateWallet(pin: string, sub: string): Promise<WalletData>;
|
|
59
|
+
/**
|
|
60
|
+
* POST /mnemonic/share-c 모킹
|
|
61
|
+
* 새로운 Share-C 문자열을 반환합니다.
|
|
62
|
+
*/
|
|
63
|
+
getShareC(): Promise<string>;
|
|
64
|
+
/**
|
|
65
|
+
* POST /mnemonic/verify-pin 모킹
|
|
66
|
+
* PIN과 sub를 검증합니다.
|
|
67
|
+
*/
|
|
68
|
+
verifyPin(_pin: string, _sub: string): Promise<{
|
|
69
|
+
valid: boolean;
|
|
70
|
+
pinStatus?: {
|
|
71
|
+
maxAttempts: number;
|
|
72
|
+
remainingAttempts: number;
|
|
73
|
+
lockExpiresAt?: number;
|
|
74
|
+
permanent?: boolean;
|
|
75
|
+
};
|
|
76
|
+
}>;
|
|
24
77
|
private generateMockEvmAddress;
|
|
25
78
|
private generateMockSignature;
|
|
26
79
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MockWalletProviderAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/wallet/MockWalletProviderAdapter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,kBAAkB,EAClB,UAAU,EACV,YAAY,EACb,MAAM,qCAAqC,CAAC;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AACjF,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"MockWalletProviderAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/wallet/MockWalletProviderAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import { WalletProviderPort, WalletData, SignResponse } from '../../core/ports/WalletProviderPort';
|
|
1
|
+
import { WalletProviderPort, WalletCheckResult, WalletData, SignResponse } from '../../core/ports/WalletProviderPort';
|
|
2
2
|
import { StoragePort } from '../../core/ports/StoragePort';
|
|
3
3
|
import { TransportPort } from '../../core/ports/TransportPort';
|
|
4
4
|
import { TokenMemoryStore } from '../../core/services/TokenMemoryStore';
|
|
5
5
|
import { AddressInfo, EvmTransactionRequest } from '../../core/types/chain';
|
|
6
6
|
import { PrepareAction, PrepareContext, PrepareResult } from '../../core/types/prepare';
|
|
7
|
+
import { VerifyPinResp } from './types';
|
|
8
|
+
import { PasswordMemoryStore } from '../../core/services/PasswordMemoryStore';
|
|
7
9
|
|
|
8
10
|
export interface RemoteWalletProviderConfig {
|
|
9
11
|
gatewayUrl: string;
|
|
@@ -15,17 +17,40 @@ export declare class RemoteWalletProviderAdapter implements WalletProviderPort {
|
|
|
15
17
|
private readonly storage;
|
|
16
18
|
private readonly transport;
|
|
17
19
|
private readonly tokenStore;
|
|
18
|
-
|
|
20
|
+
private readonly passwordStore;
|
|
21
|
+
/** checkWallet 결과 1회용 캐시 — getOrCreateWallet에서 소비 후 null로 초기화 */
|
|
22
|
+
private _walletStatusCache;
|
|
23
|
+
constructor(config: RemoteWalletProviderConfig, storage: StoragePort, transport: TransportPort, tokenStore: TokenMemoryStore, passwordStore?: PasswordMemoryStore);
|
|
24
|
+
private getPassword;
|
|
19
25
|
private get baseUrl();
|
|
20
26
|
private getAuthToken;
|
|
21
27
|
private request;
|
|
28
|
+
/**
|
|
29
|
+
* GET /mnemonic/check — 지갑 존재 여부 확인 (비밀번호 불필요)
|
|
30
|
+
* 결과를 내부 캐시에 저장하여 getOrCreateWallet에서 재사용합니다.
|
|
31
|
+
*/
|
|
32
|
+
checkWallet(): Promise<WalletCheckResult>;
|
|
33
|
+
/**
|
|
34
|
+
* 지갑 생성 또는 로드
|
|
35
|
+
* - checkWallet() 캐시가 있으면 재사용 (이중 요청 방지)
|
|
36
|
+
* - exists: POST /mnemonic/address(index=0) 로 주소 조회 (비밀번호 필요)
|
|
37
|
+
* - not_found: POST /mnemonic/create (비밀번호 필요)
|
|
38
|
+
* - migration_required: MIGRATION_BACKUP_EXISTS 에러 throw
|
|
39
|
+
*/
|
|
22
40
|
getOrCreateWallet(userId: string): Promise<WalletData>;
|
|
41
|
+
/**
|
|
42
|
+
* GET /mnemonic/addresses — 캐시된 주소 목록 조회 (비밀번호 불필요)
|
|
43
|
+
* 서버 캐시가 비어 있으면 빈 배열 반환.
|
|
44
|
+
* 주소를 채우려면 POST /mnemonic/address 로 개별 조회 필요.
|
|
45
|
+
*/
|
|
23
46
|
getAddresses(_userId: string): Promise<Array<{
|
|
24
47
|
address: string;
|
|
25
48
|
index: number;
|
|
26
49
|
}>>;
|
|
27
|
-
|
|
28
|
-
|
|
50
|
+
/**
|
|
51
|
+
* POST /mnemonic/address — 특정 인덱스 주소 조회 (비밀번호 필요)
|
|
52
|
+
*/
|
|
53
|
+
getAddress(_userId: string, index: number): Promise<AddressInfo>;
|
|
29
54
|
prepare(action: PrepareAction, context: PrepareContext): Promise<PrepareResult>;
|
|
30
55
|
signMessage(_userId: string, chainId: string, message: string, _index?: number, uuid?: string, from?: string): Promise<SignResponse>;
|
|
31
56
|
signTypedData(_userId: string, chainId: string, typedData: unknown, _index?: number, uuid?: string, from?: string): Promise<SignResponse>;
|
|
@@ -34,8 +59,34 @@ export declare class RemoteWalletProviderAdapter implements WalletProviderPort {
|
|
|
34
59
|
sendTransaction(userId: string, chainId: string, tx: EvmTransactionRequest, uuid?: string): Promise<{
|
|
35
60
|
txHash: string;
|
|
36
61
|
}>;
|
|
37
|
-
recoverWallet(userId: string, shareC: string): Promise<WalletData>;
|
|
38
62
|
migrateWallet(pin: string, sub: string): Promise<WalletData>;
|
|
63
|
+
/**
|
|
64
|
+
* POST /mnemonic/withdraw — 지갑 및 사용자 데이터 삭제
|
|
65
|
+
* body: { confirmation: string, password: string }
|
|
66
|
+
*/
|
|
67
|
+
withdrawWallet(confirmation: string): Promise<void>;
|
|
68
|
+
/**
|
|
69
|
+
* POST /mnemonic/verify-password — 비밀번호 검증
|
|
70
|
+
* Share-A를 KMS로 복호화해 비밀번호 유효성을 확인합니다 (캐시 없이 항상 Signer 호출).
|
|
71
|
+
*/
|
|
72
|
+
verifyPassword(password: string): Promise<boolean>;
|
|
73
|
+
/**
|
|
74
|
+
* POST /mnemonic/change-password — 비밀번호 변경
|
|
75
|
+
* body: { password: 현재 비밀번호, newPassword: 새 비밀번호 }
|
|
76
|
+
*/
|
|
77
|
+
changePassword(_oldPassword: string, newPassword: string): Promise<void>;
|
|
78
|
+
/**
|
|
79
|
+
* POST /mnemonic/share-c — 새로운 Share-C 발급
|
|
80
|
+
* 기존 Share-C를 무효화하고 새로운 Share-C를 반환합니다.
|
|
81
|
+
*/
|
|
82
|
+
getShareC(): Promise<string>;
|
|
83
|
+
/**
|
|
84
|
+
* POST /mnemonic/verify-pin — 레거시 CROSSx 백업 PIN 검증
|
|
85
|
+
* 마이그레이션 전 PIN 유효성 및 잠금 상태 확인에 사용합니다.
|
|
86
|
+
*/
|
|
87
|
+
verifyPin(pin: string, sub: string): Promise<VerifyPinResp>;
|
|
88
|
+
/** passwordStore에서 비밀번호를 가져오거나 PASSWORD_NOT_SET 에러를 throw */
|
|
89
|
+
private requirePassword;
|
|
39
90
|
private static mapGatewayError;
|
|
40
91
|
private static getGatewayErrorMessage;
|
|
41
92
|
}
|
|
@@ -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,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;
|
|
1
|
+
{"version":3,"file":"RemoteWalletProviderAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/wallet/RemoteWalletProviderAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,43 +14,82 @@ export interface UnsignedTx {
|
|
|
14
14
|
maxFeePerGas?: string;
|
|
15
15
|
maxPriorityFeePerGas?: string;
|
|
16
16
|
}
|
|
17
|
+
/** POST /mnemonic/sign/:chainId */
|
|
17
18
|
export interface SignTxReq {
|
|
18
19
|
unsignedTx: UnsignedTx;
|
|
19
20
|
uuid?: string;
|
|
21
|
+
password?: string;
|
|
20
22
|
}
|
|
23
|
+
/** POST /mnemonic/send/:chainId */
|
|
21
24
|
export interface SendTxReq {
|
|
22
25
|
unsignedTx: UnsignedTx;
|
|
23
26
|
uuid?: string;
|
|
27
|
+
password?: string;
|
|
24
28
|
}
|
|
29
|
+
/** POST /mnemonic/sign-message */
|
|
25
30
|
export interface SignMessageReq {
|
|
26
31
|
message: string;
|
|
27
32
|
from?: string;
|
|
28
33
|
uuid?: string;
|
|
34
|
+
password?: string;
|
|
29
35
|
}
|
|
30
36
|
export interface GatewaySignMessageResp {
|
|
31
37
|
signature: string;
|
|
32
38
|
}
|
|
39
|
+
/** POST /mnemonic/sign-typed-data/:chainId */
|
|
33
40
|
export interface SignTypedDataReq {
|
|
34
41
|
typedData: unknown;
|
|
35
42
|
from?: string;
|
|
36
43
|
uuid?: string;
|
|
44
|
+
password?: string;
|
|
37
45
|
}
|
|
38
46
|
export interface GatewaySignTypedDataResp {
|
|
39
47
|
signature: string;
|
|
40
48
|
}
|
|
49
|
+
/** POST /mnemonic/create */
|
|
41
50
|
export interface CreateWalletReq {
|
|
42
51
|
ignoreBackup: boolean;
|
|
52
|
+
password: string;
|
|
43
53
|
}
|
|
44
|
-
|
|
45
|
-
shareC: string;
|
|
46
|
-
}
|
|
54
|
+
/** POST /mnemonic/migrate */
|
|
47
55
|
export interface MigrateWalletReq {
|
|
48
56
|
pin: string;
|
|
49
57
|
sub: string;
|
|
58
|
+
password: string;
|
|
50
59
|
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
60
|
+
/** POST /mnemonic/withdraw */
|
|
61
|
+
export interface WithdrawWalletReq {
|
|
62
|
+
confirmation: string;
|
|
63
|
+
password: string;
|
|
64
|
+
}
|
|
65
|
+
/** POST /mnemonic/verify-password */
|
|
66
|
+
export interface VerifyPasswordReq {
|
|
67
|
+
password: string;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* POST /mnemonic/address
|
|
71
|
+
* 특정 파생 인덱스의 지갑 주소 조회 (비밀번호 필요)
|
|
72
|
+
*/
|
|
73
|
+
export interface GetAddressReq {
|
|
74
|
+
password: string;
|
|
75
|
+
index: number;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* POST /mnemonic/change-password
|
|
79
|
+
* body 필드명: password (현재), newPassword (변경할 값)
|
|
80
|
+
*/
|
|
81
|
+
export interface ChangePasswordReq {
|
|
82
|
+
password: string;
|
|
83
|
+
newPassword: string;
|
|
84
|
+
}
|
|
85
|
+
/** POST /mnemonic/share-c — 새로운 Share-C 발급 (기존 무효화) */
|
|
86
|
+
export interface GetShareCReq {
|
|
87
|
+
password: string;
|
|
88
|
+
}
|
|
89
|
+
/** POST /mnemonic/verify-pin — 레거시 CROSSx 백업 PIN 검증 */
|
|
90
|
+
export interface VerifyPinReq {
|
|
91
|
+
pin: string;
|
|
92
|
+
sub: string;
|
|
54
93
|
}
|
|
55
94
|
export interface JsonRpcRequest {
|
|
56
95
|
jsonrpc: string;
|
|
@@ -58,6 +97,10 @@ export interface JsonRpcRequest {
|
|
|
58
97
|
params?: any[];
|
|
59
98
|
id?: any;
|
|
60
99
|
}
|
|
100
|
+
/** GET /mnemonic/check */
|
|
101
|
+
export interface CheckWalletResp {
|
|
102
|
+
result: 'exists' | 'migration_required' | 'not_found';
|
|
103
|
+
}
|
|
61
104
|
export interface CreateWalletResp {
|
|
62
105
|
address: string;
|
|
63
106
|
shareC: string;
|
|
@@ -80,9 +123,31 @@ export interface GatewaySignTxResp {
|
|
|
80
123
|
export interface GatewaySendTxResp {
|
|
81
124
|
txHash: string;
|
|
82
125
|
}
|
|
83
|
-
export interface
|
|
126
|
+
export interface WithdrawWalletResp {
|
|
127
|
+
success: boolean;
|
|
128
|
+
}
|
|
129
|
+
export interface VerifyPasswordResp {
|
|
130
|
+
verified: boolean;
|
|
131
|
+
}
|
|
132
|
+
export interface MigrateWalletResp {
|
|
84
133
|
address: string;
|
|
85
|
-
|
|
134
|
+
shareC: string;
|
|
135
|
+
}
|
|
136
|
+
export interface GetShareCResp {
|
|
137
|
+
shareC: string;
|
|
138
|
+
}
|
|
139
|
+
export interface PinLockStatus {
|
|
140
|
+
maxAttempts: number;
|
|
141
|
+
remainingAttempts: number;
|
|
142
|
+
/** 잠금이 발생했을 때만 존재 (Unix 초 단위 타임스탬프) */
|
|
143
|
+
lockExpiresAt?: number;
|
|
144
|
+
/** 영구 잠금 여부 — -10027 에러 본문에서만 사용 */
|
|
145
|
+
permanent?: boolean;
|
|
146
|
+
}
|
|
147
|
+
export interface VerifyPinResp {
|
|
148
|
+
valid: boolean;
|
|
149
|
+
/** PIN 틀림 / 잠금 발생 시에만 존재. valid: true이면 undefined */
|
|
150
|
+
pinStatus?: PinLockStatus;
|
|
86
151
|
}
|
|
87
152
|
export interface JsonRpcError {
|
|
88
153
|
code: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/adapters/wallet/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,UAAU,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/adapters/wallet/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messages.en.d.ts","sourceRoot":"","sources":["../../../src/core/i18n/messages.en.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,eAAO,MAAM,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"messages.en.d.ts","sourceRoot":"","sources":["../../../src/core/i18n/messages.en.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,eAAO,MAAM,WAAW,EAAE,WA4EzB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messages.ko.d.ts","sourceRoot":"","sources":["../../../src/core/i18n/messages.ko.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,eAAO,MAAM,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"messages.ko.d.ts","sourceRoot":"","sources":["../../../src/core/i18n/messages.ko.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,eAAO,MAAM,WAAW,EAAE,WA4EzB,CAAC"}
|
|
@@ -27,5 +27,31 @@ export interface SDKMessages {
|
|
|
27
27
|
walletSelector_title: string;
|
|
28
28
|
walletSelector_addButton: string;
|
|
29
29
|
walletSelector_selected: string;
|
|
30
|
+
passwordNotice_headerSubtitle: string;
|
|
31
|
+
passwordNotice_title: string;
|
|
32
|
+
passwordNotice_description: string;
|
|
33
|
+
passwordNotice_check1: string;
|
|
34
|
+
passwordNotice_check2: string;
|
|
35
|
+
passwordNotice_check3: string;
|
|
36
|
+
passwordNotice_nextButton: string;
|
|
37
|
+
passwordNotice_submitButton: string;
|
|
38
|
+
passwordSetup_title: string;
|
|
39
|
+
passwordSetup_subtitle: string;
|
|
40
|
+
passwordSetup_newPasswordLabel: string;
|
|
41
|
+
passwordSetup_confirmPasswordLabel: string;
|
|
42
|
+
passwordSetup_rule_minLength: string;
|
|
43
|
+
passwordSetup_rule_uppercase: string;
|
|
44
|
+
passwordSetup_rule_number: string;
|
|
45
|
+
passwordSetup_rule_special: string;
|
|
46
|
+
passwordSetup_confirmError: string;
|
|
47
|
+
passwordSetup_submitButton: string;
|
|
48
|
+
passwordInput_title: string;
|
|
49
|
+
passwordInput_subtitle: string;
|
|
50
|
+
passwordInput_passwordLabel: string;
|
|
51
|
+
passwordInput_submitButton: string;
|
|
52
|
+
passwordInput_error: string;
|
|
53
|
+
verifyPassword_title: string;
|
|
54
|
+
verifyPassword_subtitle: string;
|
|
55
|
+
verifyPassword_passwordLabel: string;
|
|
30
56
|
}
|
|
31
57
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/i18n/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,WAAW;IAE1B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IAGd,iBAAiB,EAAE,MAAM,CAAC;IAG1B,mBAAmB,EAAE,MAAM,CAAC;IAG5B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,qBAAqB,EAAE,MAAM,CAAC;IAG9B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IAGnB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,mBAAmB,EAAE,MAAM,CAAC;IAG5B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,0BAA0B,EAAE,MAAM,CAAC;IACnC,uBAAuB,EAAE,MAAM,CAAC;IAChC,oBAAoB,EAAE,MAAM,CAAC;IAG7B,cAAc,EAAE,MAAM,CAAC;IACvB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,cAAc,EAAE,MAAM,CAAC;IAGvB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,wBAAwB,EAAE,MAAM,CAAC;IACjC,uBAAuB,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/i18n/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,WAAW;IAE1B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IAGd,iBAAiB,EAAE,MAAM,CAAC;IAG1B,mBAAmB,EAAE,MAAM,CAAC;IAG5B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,qBAAqB,EAAE,MAAM,CAAC;IAG9B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IAGnB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,mBAAmB,EAAE,MAAM,CAAC;IAG5B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,0BAA0B,EAAE,MAAM,CAAC;IACnC,uBAAuB,EAAE,MAAM,CAAC;IAChC,oBAAoB,EAAE,MAAM,CAAC;IAG7B,cAAc,EAAE,MAAM,CAAC;IACvB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,cAAc,EAAE,MAAM,CAAC;IAGvB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,wBAAwB,EAAE,MAAM,CAAC;IACjC,uBAAuB,EAAE,MAAM,CAAC;IAGhC,6BAA6B,EAAE,MAAM,CAAC;IACtC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,0BAA0B,EAAE,MAAM,CAAC;IACnC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,yBAAyB,EAAE,MAAM,CAAC;IAClC,2BAA2B,EAAE,MAAM,CAAC;IAGpC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,8BAA8B,EAAE,MAAM,CAAC;IACvC,kCAAkC,EAAE,MAAM,CAAC;IAC3C,4BAA4B,EAAE,MAAM,CAAC;IACrC,4BAA4B,EAAE,MAAM,CAAC;IACrC,yBAAyB,EAAE,MAAM,CAAC;IAClC,0BAA0B,EAAE,MAAM,CAAC;IACnC,0BAA0B,EAAE,MAAM,CAAC;IACnC,0BAA0B,EAAE,MAAM,CAAC;IAGnC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,2BAA2B,EAAE,MAAM,CAAC;IACpC,0BAA0B,EAAE,MAAM,CAAC;IACnC,mBAAmB,EAAE,MAAM,CAAC;IAG5B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,uBAAuB,EAAE,MAAM,CAAC;IAChC,4BAA4B,EAAE,MAAM,CAAC;CACtC"}
|
|
@@ -101,10 +101,23 @@ export interface ConfirmationPort {
|
|
|
101
101
|
showMigrationFoundPrompt(): Promise<'recover' | 'skip'>;
|
|
102
102
|
/**
|
|
103
103
|
* 마이그레이션 PIN 입력 UI를 표시합니다.
|
|
104
|
-
* @param errorMessage 이전 시도
|
|
104
|
+
* @param options.errorMessage 이전 시도 실패/잠금 해제 시 표시할 메시지
|
|
105
|
+
* @param options.attemptCount 현재 시도 횟수 (1~maxAttempts). X/maxAttempts 형태로 표시
|
|
106
|
+
* @param options.maxAttempts 최대 시도 허용 횟수 (기본 5)
|
|
105
107
|
* @returns 입력된 PIN 문자열 또는 null(취소)
|
|
106
108
|
*/
|
|
107
|
-
showPinInputPrompt(
|
|
109
|
+
showPinInputPrompt(options?: {
|
|
110
|
+
errorMessage?: string;
|
|
111
|
+
attemptCount?: number;
|
|
112
|
+
maxAttempts?: number;
|
|
113
|
+
}): Promise<string | null>;
|
|
114
|
+
/**
|
|
115
|
+
* PIN 잠금 화면을 표시합니다. 카운트다운이 만료되면 자동으로 resolve됩니다.
|
|
116
|
+
* Close 버튼 클릭 시에도 resolve됩니다 (SDK에서 별도 처리).
|
|
117
|
+
* @param lockExpiresInSeconds 잠금 만료까지 남은 시간(초, TTL)
|
|
118
|
+
* @param message 잠금 안내 메시지 (Lock1/Lock2 구분)
|
|
119
|
+
*/
|
|
120
|
+
showPinLockedPrompt(lockExpiresInSeconds: number, message: string): Promise<void>;
|
|
108
121
|
/**
|
|
109
122
|
* 지갑 선택 UI를 표시합니다.
|
|
110
123
|
* "add a wallet" 클릭 시 onAddWallet 콜백이 호출되고 목록에 추가됩니다.
|
|
@@ -125,6 +138,39 @@ export interface ConfirmationPort {
|
|
|
125
138
|
address: string;
|
|
126
139
|
index: number;
|
|
127
140
|
} | null>;
|
|
141
|
+
/**
|
|
142
|
+
* 비밀번호 최초 설정 UI를 표시합니다. (Create Password)
|
|
143
|
+
* 비밀번호 정책 검증 및 확인 입력을 포함합니다.
|
|
144
|
+
* @param options.errorMessage 이전 시도 실패 시 표시할 메시지
|
|
145
|
+
* @returns 입력된 비밀번호 문자열 또는 null(취소)
|
|
146
|
+
*/
|
|
147
|
+
showPasswordSetupPrompt(options?: {
|
|
148
|
+
errorMessage?: string;
|
|
149
|
+
}): Promise<string | null>;
|
|
150
|
+
/**
|
|
151
|
+
* 비밀번호 입력 UI를 표시합니다. (Enter Password)
|
|
152
|
+
* 이미 비밀번호가 설정된 경우 세션 복원 시 사용됩니다.
|
|
153
|
+
* @param options.errorMessage 이전 시도 실패 시 표시할 메시지
|
|
154
|
+
* @param options.title 모달 제목 오버라이드 (기본: i18n passwordInput_title)
|
|
155
|
+
* @param options.subtitle 모달 부제목 오버라이드 (기본: i18n passwordInput_subtitle)
|
|
156
|
+
* @param options.passwordLabel 입력 필드 레이블 오버라이드 (기본: i18n passwordInput_passwordLabel)
|
|
157
|
+
* @returns 입력된 비밀번호 문자열 또는 null(취소)
|
|
158
|
+
*/
|
|
159
|
+
showPasswordInputPrompt(options?: {
|
|
160
|
+
errorMessage?: string;
|
|
161
|
+
/** true이면 "Verify Your Password" 제목 및 부제목을 사용합니다 (세션 복원 후 검증 플로우) */
|
|
162
|
+
verifyMode?: boolean;
|
|
163
|
+
/**
|
|
164
|
+
* 제출 시 호출되는 비동기 검증 콜백.
|
|
165
|
+
* 제공 시 모달은 검증이 완료될 때까지 닫히지 않습니다.
|
|
166
|
+
* - `{ ok: true }` 반환 → 모달 닫힘
|
|
167
|
+
* - `{ ok: false, error }` 반환 → 에러 메시지를 인라인으로 표시하고 재입력 대기
|
|
168
|
+
*/
|
|
169
|
+
onSubmit?: (password: string) => Promise<{
|
|
170
|
+
ok: boolean;
|
|
171
|
+
error?: string;
|
|
172
|
+
}>;
|
|
173
|
+
}): Promise<string | null>;
|
|
128
174
|
/**
|
|
129
175
|
* 런타임에 UI 테마를 변경합니다.
|
|
130
176
|
* 다음 UI가 열릴 때부터 적용됩니다.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfirmationPort.d.ts","sourceRoot":"","sources":["../../../src/core/ports/ConfirmationPort.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ConfirmationPort.d.ts","sourceRoot":"","sources":["../../../src/core/ports/ConfirmationPort.ts"],"names":[],"mappings":"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"}
|