@nexus-cross/crossx-sdk-core 0.0.0-beta.2 → 1.0.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.
Files changed (68) hide show
  1. package/README.md +129 -83
  2. package/dist/__tests__/adapters/IndexedDBStorageAdapter.test.d.ts +2 -0
  3. package/dist/__tests__/adapters/IndexedDBStorageAdapter.test.d.ts.map +1 -0
  4. package/dist/__tests__/mocks/MockChainRegistryPort.d.ts +9 -0
  5. package/dist/__tests__/mocks/MockChainRegistryPort.d.ts.map +1 -0
  6. package/dist/__tests__/mocks/MockTransportPort.d.ts +10 -5
  7. package/dist/__tests__/mocks/MockTransportPort.d.ts.map +1 -1
  8. package/dist/__tests__/mocks/MockWalletProviderPort.d.ts +3 -8
  9. package/dist/__tests__/mocks/MockWalletProviderPort.d.ts.map +1 -1
  10. package/dist/adapters/chain/RemoteChainRegistryAdapter.d.ts +29 -0
  11. package/dist/adapters/chain/RemoteChainRegistryAdapter.d.ts.map +1 -0
  12. package/dist/adapters/confirmation/BrowserConfirmationAdapter.d.ts +6 -1
  13. package/dist/adapters/confirmation/BrowserConfirmationAdapter.d.ts.map +1 -1
  14. package/dist/adapters/oauth/BrowserOAuthAdapter.d.ts.map +1 -1
  15. package/dist/adapters/storage/IndexedDBStorageAdapter.d.ts +25 -0
  16. package/dist/adapters/storage/IndexedDBStorageAdapter.d.ts.map +1 -0
  17. package/dist/adapters/transport/FetchTransportAdapter.d.ts.map +1 -1
  18. package/dist/adapters/wallet/MockWalletProviderAdapter.d.ts +1 -6
  19. package/dist/adapters/wallet/MockWalletProviderAdapter.d.ts.map +1 -1
  20. package/dist/adapters/wallet/RemoteWalletProviderAdapter.d.ts +1 -11
  21. package/dist/adapters/wallet/RemoteWalletProviderAdapter.d.ts.map +1 -1
  22. package/dist/adapters/wallet/types.d.ts +0 -6
  23. package/dist/adapters/wallet/types.d.ts.map +1 -1
  24. package/dist/core/constants.d.ts +27 -0
  25. package/dist/core/constants.d.ts.map +1 -0
  26. package/dist/core/ports/ChainRegistryPort.d.ts +18 -0
  27. package/dist/core/ports/ChainRegistryPort.d.ts.map +1 -0
  28. package/dist/core/ports/ConfirmationPort.d.ts +46 -6
  29. package/dist/core/ports/ConfirmationPort.d.ts.map +1 -1
  30. package/dist/core/ports/TransportPort.d.ts +2 -0
  31. package/dist/core/ports/TransportPort.d.ts.map +1 -1
  32. package/dist/core/ports/WalletProviderPort.d.ts +3 -28
  33. package/dist/core/ports/WalletProviderPort.d.ts.map +1 -1
  34. package/dist/core/ports/index.d.ts +1 -0
  35. package/dist/core/ports/index.d.ts.map +1 -1
  36. package/dist/core/services/JsonRpcService.d.ts +18 -0
  37. package/dist/core/services/JsonRpcService.d.ts.map +1 -0
  38. package/dist/core/services/TypedEventEmitter.d.ts +23 -0
  39. package/dist/core/services/TypedEventEmitter.d.ts.map +1 -0
  40. package/dist/core/types/chain.d.ts +102 -17
  41. package/dist/core/types/chain.d.ts.map +1 -1
  42. package/dist/core/types/errors.d.ts +8 -3
  43. package/dist/core/types/errors.d.ts.map +1 -1
  44. package/dist/core/types/events.d.ts +23 -0
  45. package/dist/core/types/events.d.ts.map +1 -0
  46. package/dist/core/types/index.d.ts +8 -15
  47. package/dist/core/types/index.d.ts.map +1 -1
  48. package/dist/core/types/internal.d.ts +39 -0
  49. package/dist/core/types/internal.d.ts.map +1 -0
  50. package/dist/core/usecases/SignInUseCase.d.ts +32 -7
  51. package/dist/core/usecases/SignInUseCase.d.ts.map +1 -1
  52. package/dist/core/usecases/SignOutUseCase.d.ts +3 -1
  53. package/dist/core/usecases/SignOutUseCase.d.ts.map +1 -1
  54. package/dist/core/usecases/index.d.ts +0 -1
  55. package/dist/core/usecases/index.d.ts.map +1 -1
  56. package/dist/index.cjs +263 -203
  57. package/dist/index.d.ts +2 -2
  58. package/dist/index.d.ts.map +1 -1
  59. package/dist/index.js +5128 -4410
  60. package/dist/sdk/CROSSxSDK.d.ts +148 -15
  61. package/dist/sdk/CROSSxSDK.d.ts.map +1 -1
  62. package/dist/sdk/EthereumProvider.d.ts.map +1 -1
  63. package/dist/sdk/factory.d.ts.map +1 -1
  64. package/package.json +2 -1
  65. package/dist/__tests__/usecases/WithdrawUseCase.test.d.ts +0 -2
  66. package/dist/__tests__/usecases/WithdrawUseCase.test.d.ts.map +0 -1
  67. package/dist/core/usecases/WithdrawUseCase.d.ts +0 -11
  68. package/dist/core/usecases/WithdrawUseCase.d.ts.map +0 -1
@@ -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,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,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;AAM7F,qBAAa,yBAA0B,YAAW,kBAAkB;IACtD,OAAO,CAAC,OAAO;gBAAP,OAAO,EAAE,WAAW;IAElC,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAoBtD,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAO/D,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI/D,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIxE,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAI5F,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAK1E,OAAO,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;IAMhF,WAAW,CACf,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,KAAK,GAAE,MAAU,EACjB,IAAI,CAAC,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,YAAY,CAAC;IAKlB,aAAa,CACjB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,OAAO,EAClB,KAAK,GAAE,MAAU,EACjB,IAAI,CAAC,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,YAAY,CAAC;IAKlB,eAAe,CACnB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,EAAE,EAAE,qBAAqB,EACzB,KAAK,GAAE,MAAU,EACjB,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,YAAY,CAAC;IAMlB,eAAe,CACnB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,EAAE,EAAE,qBAAqB,EACzB,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAKxB,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7C,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAYlE,aAAa,CACjB,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,UAAU,CAAC;IAYtB,OAAO,CAAC,sBAAsB;IAM9B,OAAO,CAAC,qBAAqB;CAM9B"}
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;AAM7F,qBAAa,yBAA0B,YAAW,kBAAkB;IACtD,OAAO,CAAC,OAAO;gBAAP,OAAO,EAAE,WAAW;IAElC,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAoBtD,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAO/D,OAAO,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;IAMhF,WAAW,CACf,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,KAAK,GAAE,MAAU,EACjB,IAAI,CAAC,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,YAAY,CAAC;IAKlB,aAAa,CACjB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,OAAO,EAClB,KAAK,GAAE,MAAU,EACjB,IAAI,CAAC,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,YAAY,CAAC;IAKlB,eAAe,CACnB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,EAAE,EAAE,qBAAqB,EACzB,KAAK,GAAE,MAAU,EACjB,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,YAAY,CAAC;IAMlB,eAAe,CACnB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,EAAE,EAAE,qBAAqB,EACzB,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAKxB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAYlE,aAAa,CACjB,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,UAAU,CAAC;IAYtB,OAAO,CAAC,sBAAsB;IAM9B,OAAO,CAAC,qBAAqB;CAM9B"}
@@ -2,20 +2,16 @@ import { WalletProviderPort, WalletData, SignResponse } from '../../core/ports/W
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
- import { AddressInfo, EvmTransactionRequest, TransactionReceipt } from '../../core/types/chain';
5
+ import { AddressInfo, EvmTransactionRequest } from '../../core/types/chain';
6
6
  import { PrepareAction, PrepareContext, PrepareResult } from '../../core/types/prepare';
7
7
 
8
8
  export interface RemoteWalletProviderConfig {
9
9
  gatewayUrl: string;
10
10
  projectId: string;
11
- appId?: string;
12
- appType?: 'ios' | 'android';
13
11
  }
14
12
  export declare class RemoteWalletProviderAdapter implements WalletProviderPort {
15
13
  private readonly baseUrl;
16
14
  private readonly projectId;
17
- private readonly appId?;
18
- private readonly appType?;
19
15
  private readonly storage;
20
16
  private readonly transport;
21
17
  private readonly tokenStore;
@@ -25,11 +21,6 @@ export declare class RemoteWalletProviderAdapter implements WalletProviderPort {
25
21
  getOrCreateWallet(userId: string): Promise<WalletData>;
26
22
  getAddress(userId: string, index: number): Promise<AddressInfo>;
27
23
  private isAddressNotFoundError;
28
- private rpcCall;
29
- getBalance(address: string, chainId: string): Promise<string>;
30
- getTransactionCount(address: string, chainId: string): Promise<number>;
31
- getTransactionReceipt(txHash: string, chainId: string): Promise<TransactionReceipt | null>;
32
- rpcRequest(method: string, params: any[], chainId: string): Promise<any>;
33
24
  prepare(action: PrepareAction, context: PrepareContext): Promise<PrepareResult>;
34
25
  signMessage(_userId: string, chainId: string, message: string, _index?: number, uuid?: string, from?: string): Promise<SignResponse>;
35
26
  signTypedData(_userId: string, chainId: string, typedData: unknown, _index?: number, uuid?: string, from?: string): Promise<SignResponse>;
@@ -38,7 +29,6 @@ export declare class RemoteWalletProviderAdapter implements WalletProviderPort {
38
29
  sendTransaction(userId: string, chainId: string, tx: EvmTransactionRequest, uuid?: string): Promise<{
39
30
  txHash: string;
40
31
  }>;
41
- withdraw(confirmation: string): Promise<void>;
42
32
  recoverWallet(userId: string, shareC: string): Promise<WalletData>;
43
33
  migrateWallet(pin: string, sub: string): Promise<WalletData>;
44
34
  private static mapGatewayError;
@@ -1 +1 @@
1
- {"version":3,"file":"RemoteWalletProviderAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/wallet/RemoteWalletProviderAdapter.ts"],"names":[],"mappings":"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"}
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;AAwB7F,MAAM,WAAW,0BAA0B;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,2BAA4B,YAAW,kBAAkB;IACpE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,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;gBAG5C,MAAM,EAAE,0BAA0B,EAClC,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,aAAa,EACxB,UAAU,EAAE,gBAAgB;IAS9B,OAAO,CAAC,YAAY;YAWN,OAAO;IAwEf,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAqDtD,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAoBrE,OAAO,CAAC,sBAAsB;IAWxB,OAAO,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;IA0B/E,WAAW,CACf,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,YAAY,CAAC;IAQlB,aAAa,CACjB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,OAAO,EAClB,MAAM,CAAC,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,YAAY,CAAC;IAYxB,OAAO,CAAC,eAAe;IAgBjB,eAAe,CACnB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,EAAE,EAAE,qBAAqB,EACzB,KAAK,CAAC,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,YAAY,CAAC;IAWlB,eAAe,CACnB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,EAAE,EAAE,qBAAqB,EACzB,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAaxB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAiBlE,aAAa,CACjB,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,UAAU,CAAC;IAkBtB,OAAO,CAAC,MAAM,CAAC,eAAe;IAmD9B,OAAO,CAAC,MAAM,CAAC,sBAAsB;CAoBtC"}
@@ -52,12 +52,6 @@ export interface MigrateWalletResp {
52
52
  address: string;
53
53
  shareC: string;
54
54
  }
55
- export interface WithdrawWalletReq {
56
- confirmation: string;
57
- }
58
- export interface WithdrawWalletResp {
59
- success: boolean;
60
- }
61
55
  export interface JsonRpcRequest {
62
56
  jsonrpc: string;
63
57
  method: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/adapters/wallet/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/adapters/wallet/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * SDK 전역 상수
3
+ * 매직 넘버를 중앙에서 관리하여 유지보수를 용이하게 합니다.
4
+ */
5
+ /** Receipt 폴링 기본 간격 (ms) */
6
+ export declare const DEFAULT_RECEIPT_POLL_INTERVAL_MS = 2000;
7
+ /** Receipt 폴링 최대 대기 시간 (ms) */
8
+ export declare const DEFAULT_RECEIPT_POLL_TIMEOUT_MS = 60000;
9
+ /** waitForTxAndGetReceipt 초기 폴링 간격 (ms) — 이후 exponential backoff */
10
+ export declare const RECEIPT_BASE_INTERVAL_MS = 1000;
11
+ /** waitForTxAndGetReceipt 최대 폴링 간격 (ms) — backoff 상한 */
12
+ export declare const RECEIPT_MAX_INTERVAL_MS = 10000;
13
+ /** Legacy 체인 fallback gasPrice: 2 Gwei */
14
+ export declare const FALLBACK_LEGACY_GAS_PRICE = "0x77359400";
15
+ /** EIP-1559 fallback maxPriorityFeePerGas: 1 Gwei */
16
+ export declare const FALLBACK_MAX_PRIORITY_FEE = "0x3B9ACA00";
17
+ /** ECDSA 서명 hex 길이 (65 bytes = 130 hex chars) */
18
+ export declare const ECDSA_SIGNATURE_HEX_LENGTH = 130;
19
+ /** Wei → ETH 변환 시 표시할 최대 소수점 자릿수 */
20
+ export declare const WEI_DISPLAY_DECIMALS = 6;
21
+ /** ETH 기본 소수점 자릿수 */
22
+ export declare const ETH_DECIMALS = 18;
23
+ /** 체인 레지스트리 API 성공 시 캐시 유효 기간 (0 = 인스턴스 수명 동안 유지) */
24
+ export declare const CHAIN_CACHE_TTL_MS = 0;
25
+ /** 체인 레지스트리 API 실패(fallback) 후 재시도 간격 (30초) */
26
+ export declare const CHAIN_FALLBACK_RETRY_MS: number;
27
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +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,qDAAqD;AACrD,eAAO,MAAM,kBAAkB,IAAI,CAAC;AAEpC,+CAA+C;AAC/C,eAAO,MAAM,uBAAuB,QAAY,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { ChainInfo } from '../types/chain';
2
+
3
+ export interface ChainRegistryPort {
4
+ /**
5
+ * 전체 지원 체인 목록 조회
6
+ * GET /api/v1/chains
7
+ */
8
+ getChains(): Promise<ChainInfo[]>;
9
+ /**
10
+ * 특정 체인 정보 조회
11
+ * GET /api/v1/chains/:chainId
12
+ *
13
+ * @param chainId CAIP-2 체인 ID (예: 'eip155:612044')
14
+ * @throws 미등록 체인인 경우 CROSSxError(CHAIN_NOT_SUPPORTED) throw
15
+ */
16
+ getChain(chainId: string): Promise<ChainInfo>;
17
+ }
18
+ //# sourceMappingURL=ChainRegistryPort.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChainRegistryPort.d.ts","sourceRoot":"","sources":["../../../src/core/ports/ChainRegistryPort.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,SAAS,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IAElC;;;;;;OAMG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;CAC/C"}
@@ -1,7 +1,5 @@
1
- /**
2
- * ConfirmationPort
3
- * 서명/전송 전 사용자 승인을 요청하는 포트
4
- */
1
+ import { SDKThemeTokens } from '../types';
2
+
5
3
  /** 모든 컨펌 상세에 공통으로 포함되는 UI 메타 필드 */
6
4
  interface ConfirmationUIMeta {
7
5
  /** 컨펌 모달에 표시될 요청 앱 이름 (예: 'My DApp') */
@@ -51,12 +49,27 @@ export interface TransactionCompleteDetails {
51
49
  chainId: string;
52
50
  /** 트랜잭션 해시 */
53
51
  txHash: string;
54
- /** 전송 금액 표시 문자열 (예: '0.5 ETH') — 없으면 미표시 */
52
+ /** 보낸 주소 */
53
+ from: string;
54
+ /** 전송 금액 표시 문자열 (예: '0.5 BORA') — 없으면 미표시 */
55
55
  amount?: string;
56
56
  /** 받는 주소 */
57
57
  to?: string;
58
- /** 네이티브 토큰 심볼 (예: 'ETH') */
58
+ /** 네이티브 토큰 심볼 (예: 'BORA') */
59
59
  nativeSymbol?: string;
60
+ /** 실제 수수료 문자열 (예: '0.00042 BORA') — receipt 기반 */
61
+ fees?: string;
62
+ /** 수수료 포함 총액 (예: '0.50042 BORA') */
63
+ total?: string;
64
+ /** 트랜잭션 결과 상태 */
65
+ status?: 'success' | 'reverted' | 'timeout';
66
+ }
67
+ /** showTransactionProgress 에 전달되는 pending 단계 정보 */
68
+ export interface TransactionPendingDetails {
69
+ chainId: string;
70
+ txHash: string;
71
+ from: string;
72
+ to?: string;
60
73
  }
61
74
  export interface ConfirmationPort {
62
75
  /**
@@ -69,6 +82,33 @@ export interface ConfirmationPort {
69
82
  * 사용자가 닫기 버튼을 누르거나 외부를 클릭하면 resolve됩니다.
70
83
  */
71
84
  showTransactionComplete(details: TransactionCompleteDetails): Promise<void>;
85
+ /**
86
+ * 트랜잭션 전송 직후 "대기 중" 모달을 표시하고,
87
+ * receiptPromise 가 resolve되면 결과(성공/실패/타임아웃)로 전환합니다.
88
+ * 사용자가 결과 화면을 닫으면 Promise 가 resolve 됩니다.
89
+ */
90
+ showTransactionProgress(pending: TransactionPendingDetails, receiptPromise: Promise<TransactionCompleteDetails>): Promise<void>;
91
+ /**
92
+ * 로그인 프로바이더 선택 UI를 표시합니다.
93
+ * @returns 선택된 프로바이더 또는 null(취소)
94
+ */
95
+ showLoginSelector(): Promise<'google' | 'apple' | null>;
96
+ /**
97
+ * 기존 지갑 발견 시 마이그레이션 안내 UI를 표시합니다.
98
+ * @returns 'recover'(복구 진행) 또는 'skip'(건너뛰기)
99
+ */
100
+ showMigrationFoundPrompt(): Promise<'recover' | 'skip'>;
101
+ /**
102
+ * 마이그레이션 PIN 입력 UI를 표시합니다.
103
+ * @param errorMessage 이전 시도 실패 시 표시할 에러 메시지
104
+ * @returns 입력된 PIN 문자열 또는 null(취소)
105
+ */
106
+ showPinInputPrompt(errorMessage?: string): Promise<string | null>;
107
+ /**
108
+ * 런타임에 UI 테마를 변경합니다.
109
+ * 다음 UI가 열릴 때부터 적용됩니다.
110
+ */
111
+ setTheme(theme: 'light' | 'dark', overrides?: SDKThemeTokens): void;
72
112
  }
73
113
  export {};
74
114
  //# sourceMappingURL=ConfirmationPort.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConfirmationPort.d.ts","sourceRoot":"","sources":["../../../src/core/ports/ConfirmationPort.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,mCAAmC;AACnC,UAAU,kBAAkB;IAC1B,wCAAwC;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wCAAwC;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,8BAA+B,SAAQ,kBAAkB;IACxE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,wBAAwB;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uBAAuB;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4CAA4C;IAC5C,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,kEAAkE;IAClE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,6DAA6D;IAC7D,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,0BAA2B,SAAQ,kBAAkB;IACpE,IAAI,EAAE,cAAc,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iCAAiC;IACjC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,4BAA6B,SAAQ,kBAAkB;IACtE,IAAI,EAAE,iBAAiB,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8CAA8C;IAC9C,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,MAAM,mBAAmB,GAC3B,8BAA8B,GAC9B,0BAA0B,GAC1B,4BAA4B,CAAC;AAEjC,MAAM,WAAW,0BAA0B;IACzC,wCAAwC;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc;IACd,MAAM,EAAE,MAAM,CAAC;IACf,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY;IACZ,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,4BAA4B;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,mBAAmB,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEpE;;;OAGG;IACH,uBAAuB,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7E"}
1
+ {"version":3,"file":"ConfirmationPort.d.ts","sourceRoot":"","sources":["../../../src/core/ports/ConfirmationPort.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,8 @@ export interface TransportRequest {
9
9
  body?: any;
10
10
  /** 요청 타임아웃 (ms). 기본값은 어댑터 구현에 따라 다름. */
11
11
  timeoutMs?: number;
12
+ /** fetch credentials 모드. 'include'로 설정 시 cross-origin 쿠키 전송. */
13
+ credentials?: 'include' | 'omit' | 'same-origin';
12
14
  }
13
15
  export interface TransportResponse<T = any> {
14
16
  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;IACjC,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,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;IACH,OAAO,CAAC,CAAC,GAAG,GAAG,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;CAC5E"}
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;IACjC,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;CAClD;AAED,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;IACH,OAAO,CAAC,CAAC,GAAG,GAAG,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;CAC5E"}
@@ -1,4 +1,4 @@
1
- import { AddressInfo, EvmTransactionRequest, TransactionReceipt } from '../types/chain';
1
+ import { AddressInfo, EvmTransactionRequest } from '../types/chain';
2
2
  import { PrepareAction, PrepareContext, PrepareResult } from '../types/prepare';
3
3
 
4
4
  export interface WalletProviderPort {
@@ -23,8 +23,8 @@ export interface WalletProviderPort {
23
23
  */
24
24
  signMessage(userId: string, chainId: string, message: string, index?: number, uuid?: string, from?: string): Promise<SignResponse>;
25
25
  /**
26
- * EIP-712 Typed Data 서명 — /mnemonic/sign-typed-data
27
- * @param chainId CAIP-2 체인 ID (예: 'eip155:612055')
26
+ * EIP-712 Typed Data 서명 — /mnemonic/sign-typed-data/:chainId
27
+ * @param chainId 온체인: CAIP-2 체인 ID (예: 'eip155:612044'), 오프체인: '0'
28
28
  * @param uuid prepare 단계에서 발급받은 UUID
29
29
  */
30
30
  signTypedData?(userId: string, chainId: string, typedData: unknown, index?: number, uuid?: string, from?: string): Promise<SignResponse>;
@@ -42,26 +42,6 @@ export interface WalletProviderPort {
42
42
  sendTransaction?(userId: string, chainId: string, tx: EvmTransactionRequest, uuid?: string): Promise<{
43
43
  txHash: string;
44
44
  }>;
45
- /**
46
- * 잔액 조회 — /wallet/rpc (eth_getBalance)
47
- * @returns hex wei 문자열 (예: '0x38d7ea4c68000')
48
- */
49
- getBalance?(address: string, chainId: string): Promise<string>;
50
- /**
51
- * 현재 nonce 조회 — /wallet/rpc (eth_getTransactionCount)
52
- * @returns pending 상태 기준 nonce (숫자)
53
- */
54
- getTransactionCount?(address: string, chainId: string): Promise<number>;
55
- /**
56
- * 트랜잭션 Receipt 조회 — /wallet/rpc (eth_getTransactionReceipt)
57
- * @returns Receipt 또는 null (아직 채굴 안 됨)
58
- */
59
- getTransactionReceipt?(txHash: string, chainId: string): Promise<TransactionReceipt | null>;
60
- /**
61
- * 범용 JSON-RPC 요청 — /wallet/rpc 프록시
62
- * eth_call, eth_getBalance 등 읽기 전용 메서드에 사용
63
- */
64
- rpcRequest?(method: string, params: any[], chainId: string): Promise<any>;
65
45
  /**
66
46
  * Share-C로 지갑 복구 (선택적)
67
47
  */
@@ -74,11 +54,6 @@ export interface WalletProviderPort {
74
54
  * @param sub 사용자 식별자 (OAuth sub)
75
55
  */
76
56
  migrateWallet?(pin: string, sub: string): Promise<WalletData>;
77
- /**
78
- * 계정 탈퇴 — /mnemonic/withdraw
79
- * 게이트웨이의 Redis/DB 캐시 삭제 후 cross-auth withdraw API 호출
80
- */
81
- withdraw?(confirmation: string): Promise<void>;
82
57
  }
83
58
  /**
84
59
  * 지갑 데이터
@@ -1 +1 @@
1
- {"version":3,"file":"WalletProviderPort.d.ts","sourceRoot":"","sources":["../../../src/core/ports/WalletProviderPort.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WalletProviderPort.d.ts","sourceRoot":"","sources":["../../../src/core/ports/WalletProviderPort.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACzE,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAErF,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAEvD;;OAEG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAEhE;;;;OAIG;IACH,OAAO,CAAC,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAEjF;;;;OAIG;IACH,WAAW,CACT,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,YAAY,CAAC,CAAC;IAEzB;;;;OAIG;IACH,aAAa,CAAC,CACZ,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,OAAO,EAClB,KAAK,CAAC,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,YAAY,CAAC,CAAC;IAEzB;;;;OAIG;IACH,eAAe,CACb,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,EAAE,EAAE,qBAAqB,EACzB,KAAK,CAAC,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,YAAY,CAAC,CAAC;IAEzB;;;;OAIG;IACH,eAAe,CAAC,CACd,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,EAAE,EAAE,qBAAqB,EACzB,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAE/B;;OAEG;IACH,aAAa,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAEpE;;;;;;OAMG;IACH,aAAa,CAAC,CACZ,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,UAAU,CAAC,CAAC;CAExB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,mBAAmB;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,kDAAkD;IAClD,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,KAAK,GAAG,QAAQ,GAAG,KAAK,CAAC;IACjC,qCAAqC;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
@@ -9,4 +9,5 @@ export * from './WalletProviderPort';
9
9
  export * from './OAuthPort';
10
10
  export * from './ConfirmationPort';
11
11
  export * from './LoggerPort';
12
+ export * from './ChainRegistryPort';
12
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/ports/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/ports/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { ChainRegistryPort } from '../ports/ChainRegistryPort';
2
+ import { TransportPort } from '../ports/TransportPort';
3
+
4
+ export declare class JsonRpcService {
5
+ private readonly chainRegistry;
6
+ private readonly transport;
7
+ constructor(chainRegistry: ChainRegistryPort, transport: TransportPort);
8
+ /**
9
+ * JSON-RPC 호출
10
+ *
11
+ * @param method JSON-RPC 메서드 (예: 'eth_getBalance')
12
+ * @param params JSON-RPC 파라미터
13
+ * @param chainId CAIP-2 체인 ID (예: 'eip155:612044')
14
+ * @returns JSON-RPC result 필드
15
+ */
16
+ call(method: string, params: unknown[], chainId: string): Promise<unknown>;
17
+ }
18
+ //# sourceMappingURL=JsonRpcService.d.ts.map
@@ -0,0 +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;IAEvB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,SAAS;gBADT,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"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * TypedEventEmitter
3
+ * 타입 안전한 이벤트 발행/구독 — 순수 TypeScript, 환경 의존 없음
4
+ *
5
+ * - emit()은 protected: SDK 내부에서만 이벤트 발행
6
+ * - on()은 unsubscribe 함수를 반환: React useEffect cleanup과 자연스럽게 연결
7
+ */
8
+ type Listener<T> = (payload: T) => void;
9
+ export declare class TypedEventEmitter<EventMap extends {
10
+ [K in keyof EventMap]: unknown;
11
+ }> {
12
+ private listeners;
13
+ /**
14
+ * 이벤트를 구독합니다.
15
+ * @returns unsubscribe 함수
16
+ */
17
+ on<K extends keyof EventMap>(event: K, listener: Listener<EventMap[K]>): () => void;
18
+ off<K extends keyof EventMap>(event: K, listener: Listener<EventMap[K]>): void;
19
+ protected emit<K extends keyof EventMap>(event: K, payload: EventMap[K]): void;
20
+ protected removeAllListeners(): void;
21
+ }
22
+ export {};
23
+ //# sourceMappingURL=TypedEventEmitter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TypedEventEmitter.d.ts","sourceRoot":"","sources":["../../../src/core/services/TypedEventEmitter.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,KAAK,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,IAAI,CAAC;AAExC,qBAAa,iBAAiB,CAAC,QAAQ,SAAS;KAAG,CAAC,IAAI,MAAM,QAAQ,GAAG,OAAO;CAAE;IAChF,OAAO,CAAC,SAAS,CAAiD;IAElE;;;OAGG;IACH,EAAE,CAAC,CAAC,SAAS,MAAM,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI;IAQnF,GAAG,CAAC,CAAC,SAAS,MAAM,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;IAI9E,SAAS,CAAC,IAAI,CAAC,CAAC,SAAS,MAAM,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI;IAI9E,SAAS,CAAC,kBAAkB,IAAI,IAAI;CAGrC"}
@@ -9,34 +9,119 @@
9
9
  * import { ChainId } from '@nexus-cross/crossx-sdk-core';
10
10
  * sdk.signMessage(ChainId.CROSS_MAINNET, message);
11
11
  */
12
+ export interface ChainMeta {
13
+ caipId: string;
14
+ chainId: number;
15
+ name: string;
16
+ nativeCurrency: {
17
+ symbol: string;
18
+ decimals: number;
19
+ };
20
+ /** API 실패 시 사용할 fallback JSON-RPC URL */
21
+ rpcUrl: string;
22
+ testnet?: boolean;
23
+ }
24
+ export declare const CHAIN_REGISTRY: {
25
+ readonly CROSS_MAINNET: {
26
+ readonly caipId: "eip155:612055";
27
+ readonly chainId: 612055;
28
+ readonly name: "CROSS Mainnet";
29
+ readonly nativeCurrency: {
30
+ readonly symbol: "CROSS";
31
+ readonly decimals: 18;
32
+ };
33
+ readonly rpcUrl: "https://mainnet.crosstoken.io:22001";
34
+ };
35
+ readonly CROSS_TESTNET: {
36
+ readonly caipId: "eip155:612044";
37
+ readonly chainId: 612044;
38
+ readonly name: "CROSS Testnet";
39
+ readonly nativeCurrency: {
40
+ readonly symbol: "tCROSS";
41
+ readonly decimals: 18;
42
+ };
43
+ readonly rpcUrl: "https://testnet.crosstoken.io:22001";
44
+ readonly testnet: true;
45
+ };
46
+ readonly BSC_MAINNET: {
47
+ readonly caipId: "eip155:56";
48
+ readonly chainId: 56;
49
+ readonly name: "BNB Smart Chain";
50
+ readonly nativeCurrency: {
51
+ readonly symbol: "BNB";
52
+ readonly decimals: 18;
53
+ };
54
+ readonly rpcUrl: "https://bsc-mainnet.crosstoken.io/2272489872e4f1475ff25d57ce93b51989f933c7";
55
+ };
56
+ readonly BSC_TESTNET: {
57
+ readonly caipId: "eip155:97";
58
+ readonly chainId: 97;
59
+ readonly name: "BNB Smart Chain Testnet";
60
+ readonly nativeCurrency: {
61
+ readonly symbol: "BNB";
62
+ readonly decimals: 18;
63
+ };
64
+ readonly rpcUrl: "https://bsc-testnet.crosstoken.io/110ea3628b77f244e5dbab16790d81bba874b962";
65
+ readonly testnet: true;
66
+ };
67
+ readonly RONIN_MAINNET: {
68
+ readonly caipId: "eip155:2020";
69
+ readonly chainId: 2020;
70
+ readonly name: "Ronin";
71
+ readonly nativeCurrency: {
72
+ readonly symbol: "RON";
73
+ readonly decimals: 18;
74
+ };
75
+ readonly rpcUrl: "https://api.roninchain.com/rpc";
76
+ };
77
+ readonly RONIN_SAIGON: {
78
+ readonly caipId: "eip155:202601";
79
+ readonly chainId: 202601;
80
+ readonly name: "Ronin Saigon";
81
+ readonly nativeCurrency: {
82
+ readonly symbol: "RON";
83
+ readonly decimals: 18;
84
+ };
85
+ readonly rpcUrl: "https://saigon-testnet.roninchain.com/rpc";
86
+ readonly testnet: true;
87
+ };
88
+ };
89
+ export type ChainRegistryKey = keyof typeof CHAIN_REGISTRY;
12
90
  /**
13
91
  * 지원 체인 CAIP-2 상수
14
92
  *
15
93
  * string 리터럴 유니온 타입으로 추론되므로
16
94
  * 메서드 파라미터 타입(string)과 완전히 호환됩니다.
17
95
  */
18
- export declare const ChainId: {
19
- readonly CROSS_MAINNET: "eip155:612055";
20
- readonly CROSS_TESTNET: "eip155:612044";
21
- readonly ETHEREUM_MAINNET: "eip155:1";
22
- readonly ETHEREUM_SEPOLIA: "eip155:11155111";
23
- readonly ETHEREUM_HOLESKY: "eip155:17000";
24
- readonly POLYGON_MAINNET: "eip155:137";
25
- readonly POLYGON_AMOY: "eip155:80002";
26
- readonly BSC_MAINNET: "eip155:56";
27
- readonly BSC_TESTNET: "eip155:97";
28
- readonly ARBITRUM_ONE: "eip155:42161";
29
- readonly ARBITRUM_SEPOLIA: "eip155:421614";
30
- readonly OPTIMISM_MAINNET: "eip155:10";
31
- readonly OPTIMISM_SEPOLIA: "eip155:11155420";
32
- readonly BASE_MAINNET: "eip155:8453";
33
- readonly BASE_SEPOLIA: "eip155:84532";
34
- };
96
+ export declare const ChainId: { readonly [K in ChainRegistryKey]: (typeof CHAIN_REGISTRY)[K]["caipId"]; };
35
97
  /**
36
98
  * ChainId 값 타입 (string 서브타입)
37
99
  * 메서드 파라미터에서 string으로 받으므로 별도 타입 캐스팅 불필요
38
100
  */
39
101
  export type ChainIdValue = (typeof ChainId)[keyof typeof ChainId];
102
+ /**
103
+ * CAIP-2 chainId → native currency 조회
104
+ * 레지스트리에 없으면 기본값 ETH/18 반환
105
+ */
106
+ export declare function getNativeCurrency(caipChainId: string): ChainMeta['nativeCurrency'];
107
+ /**
108
+ * CAIP-2 chainId → ChainMeta 전체 조회
109
+ */
110
+ export declare function getChainMeta(caipChainId: string): ChainMeta | undefined;
111
+ /**
112
+ * 숫자 chainId → ChainMeta 전체 조회
113
+ */
114
+ export declare function getChainMetaByNumericId(numericChainId: number): ChainMeta | undefined;
115
+ /**
116
+ * Gateway에서 조회한 체인 정보
117
+ * GET /api/v1/chains, GET /api/v1/chains/:chainId 응답
118
+ */
119
+ export interface ChainInfo {
120
+ /** CAIP-2 체인 ID (예: 'eip155:612044') */
121
+ chainId: string;
122
+ /** 직접 연결할 JSON-RPC URL */
123
+ rpcUrl: string;
124
+ }
40
125
  /**
41
126
  * 주소 정보
42
127
  */
@@ -1 +1 @@
1
- {"version":3,"file":"chain.d.ts","sourceRoot":"","sources":["../../../src/core/types/chain.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH;;;;;GAKG;AACH,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;CA6BV,CAAC;AAEX;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,OAAO,CAAC,CAAC,MAAM,OAAO,OAAO,CAAC,CAAC;AAElE;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,wCAAwC;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;CAC1C;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,MAAM,EAAE,KAAK,GAAG,KAAK,CAAC;IACtB,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,gBAAgB,EAAE,MAAM,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;CACd"}
1
+ {"version":3,"file":"chain.d.ts","sourceRoot":"","sources":["../../../src/core/types/chain.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IACrD,yCAAyC;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmDmB,CAAC;AAE/C,MAAM,MAAM,gBAAgB,GAAG,MAAM,OAAO,cAAc,CAAC;AAM3D;;;;;GAKG;AACH,eAAO,MAAM,OAAO,EAEf,EAAE,QAAQ,EAAE,CAAC,IAAI,gBAAgB,GAAG,CAAC,OAAO,cAAc,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAE,CAAC;AAEhF;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,OAAO,CAAC,CAAC,MAAM,OAAO,OAAO,CAAC,CAAC;AAgBlE;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC,gBAAgB,CAAC,CAElF;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAEvE;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,cAAc,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAErF;AAED;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB,wCAAwC;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,0BAA0B;IAC1B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,wCAAwC;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;CAC1C;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,MAAM,EAAE,KAAK,GAAG,KAAK,CAAC;IACtB,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,gBAAgB,EAAE,MAAM,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;CACd"}
@@ -31,11 +31,16 @@ export declare enum ErrorCode {
31
31
  GATEWAY_INTERNAL_ERROR = "GATEWAY_INTERNAL_ERROR",// -10006: 내부 통신 실패, 재시도 권장
32
32
  GATEWAY_LOCK_CONFLICT = "GATEWAY_LOCK_CONFLICT",// -10008: 락 충돌(동시 요청), 재시도 권장
33
33
  PROJECT_ID_MISSING = "PROJECT_ID_MISSING",// -10023: X-Project-Id 헤더 누락
34
- ORIGIN_OR_APP_ID_MISSING = "ORIGIN_OR_APP_ID_MISSING",// -10024: Origin 또는 X-App-Id 누락
35
- INVALID_APP_TYPE = "INVALID_APP_TYPE",// -10025: X-App-Type이 android/ios가 아님
36
- PROJECT_NOT_REGISTERED = "PROJECT_NOT_REGISTERED",// -10022: 미등록 프로젝트 또는 origin/app
34
+ ORIGIN_NOT_ALLOWED = "ORIGIN_NOT_ALLOWED",// -10024: Origin 허용 목록에 없음
35
+ APP_IDENTIFIER_MISSING = "APP_IDENTIFIER_MISSING",// -10024: 앱 식별자(Origin/X-App-Id) 누락
36
+ INVALID_APP_TYPE = "INVALID_APP_TYPE",// -10025: 잘못된 X-App-Type
37
+ PROJECT_NOT_REGISTERED = "PROJECT_NOT_REGISTERED",// -10022: 미등록 프로젝트 또는 origin
37
38
  /** Gateway 서명 ecrecover 불일치 — 서명자 주소가 기대 주소와 다름 */
38
39
  SIGNATURE_SIGNER_MISMATCH = "SIGNATURE_SIGNER_MISMATCH",
40
+ /** Gas 자동 조회 실패 (eth_gasPrice / eth_estimateGas) */
41
+ GAS_ESTIMATION_FAILED = "GAS_ESTIMATION_FAILED",
42
+ /** EIP-712 domain.chainId와 path chainId 불일치 (-10026) */
43
+ TYPED_DATA_CHAIN_ID_MISMATCH = "TYPED_DATA_CHAIN_ID_MISMATCH",
39
44
  INVALID_CONFIG = "INVALID_CONFIG",
40
45
  UNKNOWN_ERROR = "UNKNOWN_ERROR"
41
46
  }
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/core/types/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,SAAS;IAEnB,oBAAoB,yBAAyB;IAC7C,WAAW,gBAAgB;IAC3B,kBAAkB,uBAAuB;IACzC,kBAAkB,uBAAuB;IACzC,sBAAsB,2BAA2B;IAGjD,gBAAgB,qBAAqB;IACrC,sBAAsB,2BAA2B;IAGjD,WAAW,gBAAgB;IAC3B,aAAa,kBAAkB;IAG/B,SAAS,cAAc;IACvB,WAAW,gBAAgB;IAG3B,aAAa,kBAAkB;IAC/B,iBAAiB,sBAAsB;IAGvC,aAAa,kBAAkB;IAC/B,sBAAsB,2BAA2B;IAGjD,aAAa,kBAAkB;IAC/B,mBAAmB,wBAAwB;IAC3C,uBAAuB,4BAA4B;IAGnD,eAAe,oBAAoB;IACnC,gBAAgB,qBAAqB;IACrC,kBAAkB,uBAAuB;IAGzC,cAAc,mBAAmB;IACjC,eAAe,oBAAoB;IACnC,gBAAgB,qBAAqB;IAGrC,gBAAgB,qBAAqB;IACrC,uBAAuB,4BAA4B;IAGnD,sBAAsB,2BAA2B,CAAI,2BAA2B;IAChF,qBAAqB,0BAA0B,CAAM,8BAA8B;IAGnF,kBAAkB,uBAAuB,CAAY,6BAA6B;IAClF,wBAAwB,6BAA6B,CAAE,gCAAgC;IACvF,gBAAgB,qBAAqB,CAAgB,sCAAsC;IAC3F,sBAAsB,2BAA2B,CAAI,iCAAiC;IAEtF,mDAAmD;IACnD,yBAAyB,8BAA8B;IAGvD,cAAc,mBAAmB;IACjC,aAAa,kBAAkB;CAChC;AAED;;GAEG;AACH,qBAAa,WAAY,SAAQ,KAAK;IAE3B,IAAI,EAAE,SAAS;IAEf,OAAO,CAAC,EAAE,GAAG;gBAFb,IAAI,EAAE,SAAS,EACtB,OAAO,EAAE,MAAM,EACR,OAAO,CAAC,EAAE,GAAG,YAAA;IAOtB,MAAM;;;;;;CAQP"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/core/types/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,SAAS;IAEnB,oBAAoB,yBAAyB;IAC7C,WAAW,gBAAgB;IAC3B,kBAAkB,uBAAuB;IACzC,kBAAkB,uBAAuB;IACzC,sBAAsB,2BAA2B;IAGjD,gBAAgB,qBAAqB;IACrC,sBAAsB,2BAA2B;IAGjD,WAAW,gBAAgB;IAC3B,aAAa,kBAAkB;IAG/B,SAAS,cAAc;IACvB,WAAW,gBAAgB;IAG3B,aAAa,kBAAkB;IAC/B,iBAAiB,sBAAsB;IAGvC,aAAa,kBAAkB;IAC/B,sBAAsB,2BAA2B;IAGjD,aAAa,kBAAkB;IAC/B,mBAAmB,wBAAwB;IAC3C,uBAAuB,4BAA4B;IAGnD,eAAe,oBAAoB;IACnC,gBAAgB,qBAAqB;IACrC,kBAAkB,uBAAuB;IAGzC,cAAc,mBAAmB;IACjC,eAAe,oBAAoB;IACnC,gBAAgB,qBAAqB;IAGrC,gBAAgB,qBAAqB;IACrC,uBAAuB,4BAA4B;IAGnD,sBAAsB,2BAA2B,CAAI,2BAA2B;IAChF,qBAAqB,0BAA0B,CAAM,8BAA8B;IAGnF,kBAAkB,uBAAuB,CAAY,6BAA6B;IAClF,kBAAkB,uBAAuB,CAAY,4BAA4B;IACjF,sBAAsB,2BAA2B,CAAI,oCAAoC;IACzF,gBAAgB,qBAAqB,CAAgB,2BAA2B;IAChF,sBAAsB,2BAA2B,CAAI,6BAA6B;IAElF,mDAAmD;IACnD,yBAAyB,8BAA8B;IAEvD,oDAAoD;IACpD,qBAAqB,0BAA0B;IAE/C,wDAAwD;IACxD,4BAA4B,iCAAiC;IAG7D,cAAc,mBAAmB;IACjC,aAAa,kBAAkB;CAChC;AAED;;GAEG;AACH,qBAAa,WAAY,SAAQ,KAAK;IAE3B,IAAI,EAAE,SAAS;IAEf,OAAO,CAAC,EAAE,GAAG;gBAFb,IAAI,EAAE,SAAS,EACtB,OAAO,EAAE,MAAM,EACR,OAAO,CAAC,EAAE,GAAG,YAAA;IAOtB,MAAM;;;;;;CAQP"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * SDK Event Types
3
+ * CROSSxSDK가 발행하는 이벤트의 페이로드 타입 정의
4
+ */
5
+ export interface AuthChangedEvent {
6
+ isAuthenticated: boolean;
7
+ address: string | null;
8
+ userId: string | null;
9
+ }
10
+ export interface AddressChangedEvent {
11
+ address: string;
12
+ index: number;
13
+ }
14
+ export interface InitializedEvent {
15
+ /** 기존 세션이 복원되었는지 여부 */
16
+ restored: boolean;
17
+ }
18
+ export interface SDKEventMap {
19
+ authChanged: AuthChangedEvent;
20
+ addressChanged: AddressChangedEvent;
21
+ initialized: InitializedEvent;
22
+ }
23
+ //# sourceMappingURL=events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/core/types/events.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,eAAe,EAAE,OAAO,CAAC;IACzB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,gBAAgB;IAC/B,uBAAuB;IACvB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,gBAAgB,CAAC;IAC9B,cAAc,EAAE,mBAAmB,CAAC;IACpC,WAAW,EAAE,gBAAgB,CAAC;CAC/B"}