@waiaas/core 2.0.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/enums/audit.d.ts +5 -0
- package/dist/enums/audit.d.ts.map +1 -0
- package/dist/enums/audit.js +31 -0
- package/dist/enums/audit.js.map +1 -0
- package/dist/enums/chain.d.ts +50 -0
- package/dist/enums/chain.d.ts.map +1 -0
- package/dist/enums/chain.js +123 -0
- package/dist/enums/chain.js.map +1 -0
- package/dist/enums/index.d.ts +10 -0
- package/dist/enums/index.d.ts.map +1 -0
- package/dist/enums/index.js +10 -0
- package/dist/enums/index.js.map +1 -0
- package/dist/enums/notification.d.ts +8 -0
- package/dist/enums/notification.d.ts.map +1 -0
- package/dist/enums/notification.js +34 -0
- package/dist/enums/notification.js.map +1 -0
- package/dist/enums/owner.d.ts +5 -0
- package/dist/enums/owner.d.ts.map +1 -0
- package/dist/enums/owner.js +5 -0
- package/dist/enums/owner.js.map +1 -0
- package/dist/enums/policy.d.ts +8 -0
- package/dist/enums/policy.d.ts.map +1 -0
- package/dist/enums/policy.js +19 -0
- package/dist/enums/policy.js.map +1 -0
- package/dist/enums/session.d.ts +5 -0
- package/dist/enums/session.d.ts.map +1 -0
- package/dist/enums/session.js +5 -0
- package/dist/enums/session.js.map +1 -0
- package/dist/enums/system.d.ts +5 -0
- package/dist/enums/system.d.ts.map +1 -0
- package/dist/enums/system.js +4 -0
- package/dist/enums/system.js.map +1 -0
- package/dist/enums/transaction.d.ts +8 -0
- package/dist/enums/transaction.d.ts.map +1 -0
- package/dist/enums/transaction.js +25 -0
- package/dist/enums/transaction.js.map +1 -0
- package/dist/enums/wallet.d.ts +5 -0
- package/dist/enums/wallet.d.ts.map +1 -0
- package/dist/enums/wallet.js +10 -0
- package/dist/enums/wallet.js.map +1 -0
- package/dist/errors/base-error.d.ts +25 -0
- package/dist/errors/base-error.d.ts.map +1 -0
- package/dist/errors/base-error.js +33 -0
- package/dist/errors/base-error.js.map +1 -0
- package/dist/errors/chain-error.d.ts +48 -0
- package/dist/errors/chain-error.d.ts.map +1 -0
- package/dist/errors/chain-error.js +83 -0
- package/dist/errors/chain-error.js.map +1 -0
- package/dist/errors/error-codes.d.ts +667 -0
- package/dist/errors/error-codes.d.ts.map +1 -0
- package/dist/errors/error-codes.js +671 -0
- package/dist/errors/error-codes.js.map +1 -0
- package/dist/errors/index.d.ts +4 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +4 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/events/event-bus.d.ts +36 -0
- package/dist/events/event-bus.d.ts.map +1 -0
- package/dist/events/event-bus.js +74 -0
- package/dist/events/event-bus.js.map +1 -0
- package/dist/events/event-types.d.ts +59 -0
- package/dist/events/event-types.d.ts.map +1 -0
- package/dist/events/event-types.js +16 -0
- package/dist/events/event-types.js.map +1 -0
- package/dist/events/index.d.ts +3 -0
- package/dist/events/index.d.ts.map +1 -0
- package/dist/events/index.js +3 -0
- package/dist/events/index.js.map +1 -0
- package/dist/i18n/en.d.ts +57 -0
- package/dist/i18n/en.d.ts.map +1 -0
- package/dist/i18n/en.js +194 -0
- package/dist/i18n/en.js.map +1 -0
- package/dist/i18n/index.d.ts +5 -0
- package/dist/i18n/index.d.ts.map +1 -0
- package/dist/i18n/index.js +7 -0
- package/dist/i18n/index.js.map +1 -0
- package/dist/i18n/ko.d.ts +3 -0
- package/dist/i18n/ko.d.ts.map +1 -0
- package/dist/i18n/ko.js +194 -0
- package/dist/i18n/ko.js.map +1 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +26 -0
- package/dist/index.js.map +1 -0
- package/dist/interfaces/IChainAdapter.d.ts +61 -0
- package/dist/interfaces/IChainAdapter.d.ts.map +1 -0
- package/dist/interfaces/IChainAdapter.js +2 -0
- package/dist/interfaces/IChainAdapter.js.map +1 -0
- package/dist/interfaces/ILocalKeyStore.d.ts +24 -0
- package/dist/interfaces/ILocalKeyStore.d.ts.map +1 -0
- package/dist/interfaces/ILocalKeyStore.js +2 -0
- package/dist/interfaces/ILocalKeyStore.js.map +1 -0
- package/dist/interfaces/INotificationChannel.d.ts +32 -0
- package/dist/interfaces/INotificationChannel.d.ts.map +1 -0
- package/dist/interfaces/INotificationChannel.js +2 -0
- package/dist/interfaces/INotificationChannel.js.map +1 -0
- package/dist/interfaces/IPolicyEngine.d.ts +44 -0
- package/dist/interfaces/IPolicyEngine.d.ts.map +1 -0
- package/dist/interfaces/IPolicyEngine.js +2 -0
- package/dist/interfaces/IPolicyEngine.js.map +1 -0
- package/dist/interfaces/action-provider.types.d.ts +123 -0
- package/dist/interfaces/action-provider.types.d.ts.map +1 -0
- package/dist/interfaces/action-provider.types.js +65 -0
- package/dist/interfaces/action-provider.types.js.map +1 -0
- package/dist/interfaces/chain-adapter.types.d.ts +216 -0
- package/dist/interfaces/chain-adapter.types.d.ts.map +1 -0
- package/dist/interfaces/chain-adapter.types.js +2 -0
- package/dist/interfaces/chain-adapter.types.js.map +1 -0
- package/dist/interfaces/forex-rate.types.d.ts +63 -0
- package/dist/interfaces/forex-rate.types.d.ts.map +1 -0
- package/dist/interfaces/forex-rate.types.js +41 -0
- package/dist/interfaces/forex-rate.types.js.map +1 -0
- package/dist/interfaces/index.d.ts +15 -0
- package/dist/interfaces/index.d.ts.map +1 -0
- package/dist/interfaces/index.js +5 -0
- package/dist/interfaces/index.js.map +1 -0
- package/dist/interfaces/price-oracle.types.d.ts +99 -0
- package/dist/interfaces/price-oracle.types.d.ts.map +1 -0
- package/dist/interfaces/price-oracle.types.js +48 -0
- package/dist/interfaces/price-oracle.types.js.map +1 -0
- package/dist/interfaces/x402.types.d.ts +112 -0
- package/dist/interfaces/x402.types.d.ts.map +1 -0
- package/dist/interfaces/x402.types.js +69 -0
- package/dist/interfaces/x402.types.js.map +1 -0
- package/dist/schemas/asset.schema.d.ts +32 -0
- package/dist/schemas/asset.schema.d.ts.map +1 -0
- package/dist/schemas/asset.schema.js +15 -0
- package/dist/schemas/asset.schema.js.map +1 -0
- package/dist/schemas/config.schema.d.ts +58 -0
- package/dist/schemas/config.schema.d.ts.map +1 -0
- package/dist/schemas/config.schema.js +23 -0
- package/dist/schemas/config.schema.js.map +1 -0
- package/dist/schemas/index.d.ts +7 -0
- package/dist/schemas/index.d.ts.map +1 -0
- package/dist/schemas/index.js +9 -0
- package/dist/schemas/index.js.map +1 -0
- package/dist/schemas/policy.schema.d.ts +192 -0
- package/dist/schemas/policy.schema.d.ts.map +1 -0
- package/dist/schemas/policy.schema.js +157 -0
- package/dist/schemas/policy.schema.js.map +1 -0
- package/dist/schemas/session.schema.d.ts +51 -0
- package/dist/schemas/session.schema.d.ts.map +1 -0
- package/dist/schemas/session.schema.js +19 -0
- package/dist/schemas/session.schema.js.map +1 -0
- package/dist/schemas/transaction.schema.d.ts +834 -0
- package/dist/schemas/transaction.schema.d.ts.map +1 -0
- package/dist/schemas/transaction.schema.js +112 -0
- package/dist/schemas/transaction.schema.js.map +1 -0
- package/dist/schemas/wallet.schema.d.ts +54 -0
- package/dist/schemas/wallet.schema.d.ts.map +1 -0
- package/dist/schemas/wallet.schema.js +21 -0
- package/dist/schemas/wallet.schema.js.map +1 -0
- package/dist/testing/chain-adapter-contract.d.ts +42 -0
- package/dist/testing/chain-adapter-contract.d.ts.map +1 -0
- package/dist/testing/chain-adapter-contract.js +370 -0
- package/dist/testing/chain-adapter-contract.js.map +1 -0
- package/dist/testing/index.d.ts +8 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +7 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/utils/format-amount.d.ts +41 -0
- package/dist/utils/format-amount.d.ts.map +1 -0
- package/dist/utils/format-amount.js +60 -0
- package/dist/utils/format-amount.js.map +1 -0
- package/dist/utils/format-currency.d.ts +42 -0
- package/dist/utils/format-currency.d.ts.map +1 -0
- package/dist/utils/format-currency.js +92 -0
- package/dist/utils/format-currency.js.map +1 -0
- package/dist/utils/index.d.ts +3 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +5 -0
- package/dist/utils/index.js.map +1 -0
- package/package.json +50 -0
package/dist/i18n/ko.js
ADDED
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
export const messages = {
|
|
2
|
+
// Error messages (74 error codes)
|
|
3
|
+
errors: {
|
|
4
|
+
// PIPELINE domain (1)
|
|
5
|
+
PIPELINE_HALTED: '파이프라인 중단 (트랜잭션이 지연 또는 승인 대기열에 들어감)',
|
|
6
|
+
// AUTH domain (8)
|
|
7
|
+
INVALID_TOKEN: '유효하지 않은 인증 토큰입니다',
|
|
8
|
+
TOKEN_EXPIRED: '인증 토큰이 만료되었습니다',
|
|
9
|
+
SESSION_REVOKED: '세션이 폐기되었습니다',
|
|
10
|
+
INVALID_SIGNATURE: '유효하지 않은 서명입니다',
|
|
11
|
+
INVALID_NONCE: '유효하지 않거나 만료된 nonce입니다',
|
|
12
|
+
INVALID_MASTER_PASSWORD: '마스터 패스워드가 올바르지 않습니다',
|
|
13
|
+
MASTER_PASSWORD_LOCKED: '로그인 시도 초과로 마스터 패스워드가 잠겼습니다',
|
|
14
|
+
SYSTEM_LOCKED: '시스템이 잠겼습니다 (킬 스위치 활성)',
|
|
15
|
+
// SESSION domain (8)
|
|
16
|
+
SESSION_NOT_FOUND: '세션을 찾을 수 없습니다',
|
|
17
|
+
SESSION_EXPIRED: '세션이 만료되었습니다',
|
|
18
|
+
SESSION_LIMIT_EXCEEDED: '세션 제한을 초과했습니다',
|
|
19
|
+
CONSTRAINT_VIOLATED: '세션 제약 조건을 위반했습니다',
|
|
20
|
+
RENEWAL_LIMIT_REACHED: '세션 갱신 제한에 도달했습니다',
|
|
21
|
+
SESSION_ABSOLUTE_LIFETIME_EXCEEDED: '세션 절대 수명을 초과했습니다',
|
|
22
|
+
RENEWAL_TOO_EARLY: '세션 갱신이 너무 이릅니다',
|
|
23
|
+
SESSION_RENEWAL_MISMATCH: '세션 갱신 토큰이 일치하지 않습니다',
|
|
24
|
+
// TX domain (25)
|
|
25
|
+
INSUFFICIENT_BALANCE: '잔액이 부족합니다',
|
|
26
|
+
INVALID_ADDRESS: '유효하지 않은 주소 형식입니다',
|
|
27
|
+
TX_NOT_FOUND: '트랜잭션을 찾을 수 없습니다',
|
|
28
|
+
TX_EXPIRED: '트랜잭션이 만료되었습니다',
|
|
29
|
+
TX_ALREADY_PROCESSED: '이미 처리된 트랜잭션입니다',
|
|
30
|
+
CHAIN_ERROR: '블록체인 오류가 발생했습니다',
|
|
31
|
+
SIMULATION_FAILED: '트랜잭션 시뮬레이션에 실패했습니다',
|
|
32
|
+
TOKEN_NOT_FOUND: '토큰을 찾을 수 없습니다',
|
|
33
|
+
TOKEN_NOT_ALLOWED: '정책에 의해 허용되지 않는 토큰입니다',
|
|
34
|
+
INSUFFICIENT_TOKEN_BALANCE: '토큰 잔액이 부족합니다',
|
|
35
|
+
CONTRACT_CALL_DISABLED: '컨트랙트 호출이 비활성화되어 있습니다',
|
|
36
|
+
CONTRACT_NOT_WHITELISTED: '화이트리스트에 없는 컨트랙트입니다',
|
|
37
|
+
METHOD_NOT_WHITELISTED: '화이트리스트에 없는 메서드입니다',
|
|
38
|
+
APPROVE_DISABLED: 'Approve 작업이 비활성화되어 있습니다',
|
|
39
|
+
SPENDER_NOT_APPROVED: '승인되지 않은 spender입니다',
|
|
40
|
+
APPROVE_AMOUNT_EXCEEDED: 'Approve 금액을 초과했습니다',
|
|
41
|
+
UNLIMITED_APPROVE_BLOCKED: '무제한 approve가 차단되어 있습니다',
|
|
42
|
+
BATCH_NOT_SUPPORTED: '이 체인에서 배치 트랜잭션이 지원되지 않습니다',
|
|
43
|
+
BATCH_SIZE_EXCEEDED: '배치 크기를 초과했습니다',
|
|
44
|
+
BATCH_POLICY_VIOLATION: '배치 정책 위반입니다',
|
|
45
|
+
ENVIRONMENT_NETWORK_MISMATCH: '네트워크가 이 지갑의 환경에서 허용되지 않습니다',
|
|
46
|
+
INVALID_TRANSACTION: '유효하지 않은 원시 트랜잭션 형식입니다',
|
|
47
|
+
WALLET_NOT_SIGNER: '지갑이 이 트랜잭션의 서명자가 아닙니다',
|
|
48
|
+
UNSUPPORTED_TX_TYPE: '지원하지 않는 트랜잭션 유형입니다',
|
|
49
|
+
CHAIN_ID_MISMATCH: '트랜잭션의 체인 ID가 요청한 네트워크와 일치하지 않습니다',
|
|
50
|
+
ABI_ENCODING_FAILED: 'ABI 인코딩에 실패했습니다',
|
|
51
|
+
// POLICY domain (5)
|
|
52
|
+
POLICY_NOT_FOUND: '정책을 찾을 수 없습니다',
|
|
53
|
+
POLICY_DENIED: '정책에 의해 거부되었습니다',
|
|
54
|
+
SPENDING_LIMIT_EXCEEDED: '지출 한도를 초과했습니다',
|
|
55
|
+
RATE_LIMIT_EXCEEDED: '요청 빈도 제한을 초과했습니다',
|
|
56
|
+
WHITELIST_DENIED: '화이트리스트에 없는 주소입니다',
|
|
57
|
+
// OWNER domain (5)
|
|
58
|
+
OWNER_ALREADY_CONNECTED: 'Owner가 이미 연결되어 있습니다',
|
|
59
|
+
OWNER_NOT_CONNECTED: 'Owner가 연결되지 않았습니다',
|
|
60
|
+
OWNER_NOT_FOUND: 'Owner를 찾을 수 없습니다',
|
|
61
|
+
APPROVAL_TIMEOUT: '승인 요청이 시간 초과되었습니다',
|
|
62
|
+
APPROVAL_NOT_FOUND: '승인 요청을 찾을 수 없습니다',
|
|
63
|
+
OWNER_NOT_SET: 'Owner 주소가 설정되어야 이 작업을 수행할 수 있습니다',
|
|
64
|
+
OWNER_ADDRESS_MISMATCH: '연결된 지갑 주소가 등록된 Owner와 일치하지 않습니다',
|
|
65
|
+
// SYSTEM domain (9)
|
|
66
|
+
KILL_SWITCH_ACTIVE: '킬 스위치가 이미 활성화되어 있습니다',
|
|
67
|
+
KILL_SWITCH_NOT_ACTIVE: '킬 스위치가 활성화되지 않았습니다',
|
|
68
|
+
KILL_SWITCH_ALREADY_ACTIVE: '킬 스위치 상태 전이 충돌이 발생했습니다',
|
|
69
|
+
INVALID_STATE_TRANSITION: '유효하지 않은 킬 스위치 상태 전이입니다',
|
|
70
|
+
KEYSTORE_LOCKED: '키스토어가 잠겨 있습니다',
|
|
71
|
+
CHAIN_NOT_SUPPORTED: '지원하지 않는 체인입니다',
|
|
72
|
+
SHUTTING_DOWN: '서버가 종료 중입니다',
|
|
73
|
+
ADAPTER_NOT_AVAILABLE: '체인 어댑터를 사용할 수 없습니다',
|
|
74
|
+
SKILL_NOT_FOUND: '스킬을 찾을 수 없습니다',
|
|
75
|
+
SCHEMA_INCOMPATIBLE: 'DB 스키마 버전이 현재 코드 버전과 호환되지 않습니다',
|
|
76
|
+
// WALLET domain (6)
|
|
77
|
+
WALLET_NOT_FOUND: '지갑을 찾을 수 없습니다',
|
|
78
|
+
WALLET_SUSPENDED: '지갑이 정지 상태입니다',
|
|
79
|
+
WALLET_TERMINATED: '지갑이 종료되었습니다',
|
|
80
|
+
WC_SESSION_EXISTS: '이 지갑에 이미 활성 WC 세션이 있습니다',
|
|
81
|
+
WC_SESSION_NOT_FOUND: '이 지갑에 활성 WC 세션이 없습니다',
|
|
82
|
+
// SYSTEM domain (WC)
|
|
83
|
+
WC_NOT_CONFIGURED: 'WalletConnect가 설정되지 않았습니다',
|
|
84
|
+
WC_SIGNING_FAILED: 'WalletConnect 서명 요청이 실패했습니다',
|
|
85
|
+
// WITHDRAW domain (4)
|
|
86
|
+
NO_OWNER: '이 지갑에 등록된 Owner가 없습니다',
|
|
87
|
+
WITHDRAW_LOCKED_ONLY: '출금에는 LOCKED Owner 상태가 필요합니다',
|
|
88
|
+
SWEEP_TOTAL_FAILURE: '모든 sweep 작업이 실패했습니다',
|
|
89
|
+
INSUFFICIENT_FOR_FEE: '트랜잭션 수수료에 필요한 잔액이 부족합니다',
|
|
90
|
+
// ACTION domain (8)
|
|
91
|
+
ACTION_NOT_FOUND: '액션을 찾을 수 없습니다',
|
|
92
|
+
API_KEY_REQUIRED: '이 액션 프로바이더에 API 키가 필요합니다',
|
|
93
|
+
ACTION_VALIDATION_FAILED: '액션 검증에 실패했습니다',
|
|
94
|
+
ACTION_RESOLVE_FAILED: '액션 해석에 실패했습니다',
|
|
95
|
+
ACTION_RETURN_INVALID: '액션 반환값이 유효하지 않습니다',
|
|
96
|
+
ACTION_PLUGIN_LOAD_FAILED: '액션 플러그인 로드에 실패했습니다',
|
|
97
|
+
ACTION_NAME_CONFLICT: '액션 이름이 충돌합니다',
|
|
98
|
+
ACTION_CHAIN_MISMATCH: '액션의 체인이 일치하지 않습니다',
|
|
99
|
+
// ADMIN domain (1)
|
|
100
|
+
ROTATION_TOO_RECENT: '시크릿 로테이션이 너무 최근에 수행되었습니다',
|
|
101
|
+
// X402 domain (8)
|
|
102
|
+
X402_DISABLED: 'x402 결제가 비활성화되어 있습니다',
|
|
103
|
+
X402_DOMAIN_NOT_ALLOWED: 'x402 결제에 허용되지 않은 도메인입니다',
|
|
104
|
+
X402_SSRF_BLOCKED: '요청 차단: 대상이 사설/예약 IP로 해석됩니다',
|
|
105
|
+
X402_UNSUPPORTED_SCHEME: '지원하지 않는 x402 결제 스킴 또는 네트워크입니다',
|
|
106
|
+
X402_PAYMENT_REJECTED: 'x402 결제가 리소스 서버에 의해 거부되었습니다',
|
|
107
|
+
X402_DELAY_TIMEOUT: 'x402 결제가 요청 타임아웃을 초과했습니다 (DELAY 계층)',
|
|
108
|
+
X402_APPROVAL_REQUIRED: 'x402 결제에 Owner 승인이 필요합니다 (금액 초과)',
|
|
109
|
+
X402_SERVER_ERROR: 'x402 결제 후 리소스 서버 오류가 발생했습니다',
|
|
110
|
+
},
|
|
111
|
+
// Notification templates (22 event types)
|
|
112
|
+
notifications: {
|
|
113
|
+
TX_REQUESTED: { title: '거래 요청', body: '지갑 {walletId}이 {to}로 {amount} 전송을 요청했습니다 {display_amount}' },
|
|
114
|
+
TX_QUEUED: { title: '거래 대기열 등록', body: '거래 {txId}가 처리 대기열에 등록되었습니다' },
|
|
115
|
+
TX_SUBMITTED: { title: '거래 제출', body: '거래 {txId}가 블록체인에 제출되었습니다 {display_amount}' },
|
|
116
|
+
TX_CONFIRMED: { title: '거래 확인', body: '거래 {txId}가 확인되었습니다. 금액: {amount} {display_amount}' },
|
|
117
|
+
TX_FAILED: { title: '거래 실패', body: '거래 {txId} 실패: {error} {display_amount}' },
|
|
118
|
+
TX_CANCELLED: { title: '거래 취소', body: '거래 {txId}가 취소되었습니다' },
|
|
119
|
+
TX_DOWNGRADED_DELAY: { title: '거래 지연', body: '거래 {txId}가 지연 대기열로 이동되었습니다 ({seconds}초 대기)' },
|
|
120
|
+
TX_APPROVAL_REQUIRED: { title: '승인 필요', body: '거래 {txId}에 Owner 승인이 필요합니다. 금액: {amount}, 수신: {to} {display_amount}' },
|
|
121
|
+
TX_APPROVAL_EXPIRED: { title: '승인 만료', body: '거래 {txId}의 승인이 만료되었습니다' },
|
|
122
|
+
POLICY_VIOLATION: { title: '정책 위반', body: '지갑 {walletId} 정책 위반: {reason}. 정책: {policyType}. 관리: {adminLink}' },
|
|
123
|
+
WALLET_SUSPENDED: { title: '지갑 정지', body: '지갑 {walletId}이 정지되었습니다: {reason}' },
|
|
124
|
+
KILL_SWITCH_ACTIVATED: { title: 'Kill Switch 발동', body: '{activatedBy}에 의해 Kill Switch가 발동되었습니다. 모든 작업이 중단됩니다' },
|
|
125
|
+
KILL_SWITCH_RECOVERED: { title: 'Kill Switch 해제', body: 'Kill Switch가 해제되었습니다. 정상 운영이 재개됩니다' },
|
|
126
|
+
KILL_SWITCH_ESCALATED: { title: 'Kill Switch 격상', body: 'Kill Switch가 LOCKED 상태로 격상되었습니다. 즉시 조치가 필요합니다' },
|
|
127
|
+
AUTO_STOP_TRIGGERED: { title: '자동 정지 발동', body: '월렛 {walletId} 자동 정지: {reason}. 규칙: {rule}' },
|
|
128
|
+
SESSION_EXPIRING_SOON: { title: '세션 만료 임박', body: '지갑 {walletId}의 세션 {sessionId}이 {minutes}분 후 만료됩니다' },
|
|
129
|
+
SESSION_EXPIRED: { title: '세션 만료', body: '지갑 {walletId}의 세션 {sessionId}이 만료되었습니다' },
|
|
130
|
+
SESSION_CREATED: { title: '세션 생성', body: '지갑 {walletId}의 새 세션이 생성되었습니다' },
|
|
131
|
+
OWNER_SET: { title: 'Owner 등록', body: '지갑 {walletId}에 Owner가 등록되었습니다: {ownerAddress}' },
|
|
132
|
+
OWNER_REMOVED: { title: 'Owner 제거', body: '지갑 {walletId}에서 Owner가 제거되었습니다' },
|
|
133
|
+
OWNER_VERIFIED: { title: 'Owner 인증', body: '지갑 {walletId}의 Owner가 인증되었습니다' },
|
|
134
|
+
DAILY_SUMMARY: { title: '일일 요약', body: '지갑: {walletCount}개, 거래: {txCount}건, 세션: {sessionCount}개' },
|
|
135
|
+
CUMULATIVE_LIMIT_WARNING: { title: '누적 지출 경고', body: '지갑 {walletId}의 {type} 누적 지출이 한도의 {ratio}%에 도달했습니다 (${spent} / ${limit}) {display_amount}' },
|
|
136
|
+
LOW_BALANCE: { title: '잔액 부족 알림', body: '월렛 {walletId} 잔액 부족: {balance} {currency}. 임계값: {threshold} {currency}. 자금을 충전해주세요.' },
|
|
137
|
+
APPROVAL_CHANNEL_SWITCHED: { title: '승인 채널 전환', body: '거래 {txId}의 승인 채널이 {from_channel}에서 {to_channel}(으)로 전환되었습니다. 사유: {reason}' },
|
|
138
|
+
},
|
|
139
|
+
// System messages
|
|
140
|
+
system: {
|
|
141
|
+
daemon_started: 'WAIaaS 데몬이 시작되었습니다',
|
|
142
|
+
daemon_stopped: 'WAIaaS 데몬이 종료되었습니다',
|
|
143
|
+
daemon_already_running: '데몬이 이미 실행 중입니다',
|
|
144
|
+
init_complete: 'WAIaaS 초기화가 완료되었습니다',
|
|
145
|
+
},
|
|
146
|
+
// CLI messages
|
|
147
|
+
cli: {
|
|
148
|
+
prompt_master_password: '마스터 패스워드를 입력하세요:',
|
|
149
|
+
confirm_master_password: '마스터 패스워드를 다시 입력하세요:',
|
|
150
|
+
password_mismatch: '패스워드가 일치하지 않습니다',
|
|
151
|
+
status_running: '상태: 실행 중',
|
|
152
|
+
status_stopped: '상태: 정지',
|
|
153
|
+
},
|
|
154
|
+
// Telegram Bot 메시지 (MarkdownV2 사전 이스케이프)
|
|
155
|
+
telegram: {
|
|
156
|
+
bot_welcome: 'WAIaaS Bot에 오신 것을 환영합니다\\! 채팅이 등록되었습니다\\.',
|
|
157
|
+
bot_pending_approval: '관리자 승인을 기다리고 있습니다\\.',
|
|
158
|
+
bot_already_registered: '이미 등록된 사용자입니다\\.',
|
|
159
|
+
bot_help: [
|
|
160
|
+
'*사용 가능한 명령어*',
|
|
161
|
+
'',
|
|
162
|
+
'/start \\- 채팅 등록',
|
|
163
|
+
'/help \\- 도움말 표시',
|
|
164
|
+
'/status \\- 데몬 상태 조회',
|
|
165
|
+
'/wallets \\- 지갑 목록',
|
|
166
|
+
'/newsession \\- 새 세션 생성',
|
|
167
|
+
'/killswitch \\- 킬 스위치 발동',
|
|
168
|
+
'/pending \\- 대기 중인 등록 목록 \\(관리자\\)',
|
|
169
|
+
].join('\n'),
|
|
170
|
+
bot_status_header: '데몬 상태',
|
|
171
|
+
bot_status_body: '가동 시간: {uptime}\n킬 스위치: {killSwitch}\n지갑: {walletCount}개 \\({activeCount}개 활성\\)\n세션: {sessionCount}개 활성',
|
|
172
|
+
bot_unauthorized: '권한이 없습니다\\. 관리자에게 문의하세요\\.',
|
|
173
|
+
bot_admin_only: '이 명령어는 관리자 권한이 필요합니다\\.',
|
|
174
|
+
bot_pending_list_header: '대기 중인 승인',
|
|
175
|
+
bot_pending_empty: '대기 중인 거래가 없습니다\\.',
|
|
176
|
+
bot_approve_success: '거래가 승인되었습니다\\.',
|
|
177
|
+
bot_reject_success: '거래가 거부되었습니다\\.',
|
|
178
|
+
bot_tx_not_found: '트랜잭션을 찾을 수 없습니다\\.',
|
|
179
|
+
bot_killswitch_confirm: '킬 스위치를 발동하시겠습니까\\?',
|
|
180
|
+
bot_killswitch_success: '킬 스위치가 발동되었습니다\\. 모든 작업이 중단됩니다\\.',
|
|
181
|
+
bot_killswitch_cancelled: '킬 스위치 발동이 취소되었습니다\\.',
|
|
182
|
+
bot_killswitch_already_active: '킬 스위치가 이미 발동 상태입니다 \\(상태: {state}\\)\\.',
|
|
183
|
+
bot_wallets_header: '지갑 목록',
|
|
184
|
+
bot_wallets_empty: '등록된 지갑이 없습니다\\.',
|
|
185
|
+
bot_newsession_select: '세션을 생성할 지갑을 선택하세요:',
|
|
186
|
+
bot_newsession_created: '세션이 생성되었습니다\\. 토큰: `{token}`',
|
|
187
|
+
bot_newsession_wallet_not_found: '지갑을 찾을 수 없거나 비활성 상태입니다\\.',
|
|
188
|
+
keyboard_approve: '승인',
|
|
189
|
+
keyboard_reject: '거부',
|
|
190
|
+
keyboard_yes: '예',
|
|
191
|
+
keyboard_no: '아니오',
|
|
192
|
+
},
|
|
193
|
+
};
|
|
194
|
+
//# sourceMappingURL=ko.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ko.js","sourceRoot":"","sources":["../../src/i18n/ko.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export { CHAIN_TYPES, type ChainType, ChainTypeEnum, NETWORK_TYPES, type NetworkType, NetworkTypeEnum, EVM_NETWORK_TYPES, type EvmNetworkType, EvmNetworkTypeEnum, SOLANA_NETWORK_TYPES, type SolanaNetworkType, validateChainNetwork, ENVIRONMENT_TYPES, type EnvironmentType, EnvironmentTypeEnum, ENVIRONMENT_NETWORK_MAP, ENVIRONMENT_DEFAULT_NETWORK, getNetworksForEnvironment, getDefaultNetwork, deriveEnvironment, validateNetworkEnvironment, WALLET_STATUSES, type WalletStatus, WalletStatusEnum, TRANSACTION_STATUSES, type TransactionStatus, TransactionStatusEnum, TRANSACTION_TYPES, type TransactionType, TransactionTypeEnum, POLICY_TYPES, type PolicyType, PolicyTypeEnum, POLICY_TIERS, type PolicyTier, PolicyTierEnum, SESSION_STATUSES, type SessionStatus, SessionStatusEnum, NOTIFICATION_EVENT_TYPES, type NotificationEventType, NotificationEventTypeEnum, NOTIFICATION_LOG_STATUSES, type NotificationLogStatus, NotificationLogStatusEnum, AUDIT_ACTIONS, type AuditAction, AuditActionEnum, KILL_SWITCH_STATES, type KillSwitchState, KillSwitchStateEnum, OWNER_STATES, type OwnerState, OwnerStateEnum, } from './enums/index.js';
|
|
2
|
+
export { WalletSchema, type Wallet, CreateWalletRequestSchema, type CreateWalletRequest, SessionSchema, type Session, CreateSessionRequestSchema, type CreateSessionRequest, TransactionSchema, type Transaction, SendTransactionRequestSchema, type SendTransactionRequest, TransactionRequestSchema, type TransactionRequest, TransferRequestSchema, type TransferRequestInput, TokenTransferRequestSchema, type TokenTransferRequest, ContractCallRequestSchema, type ContractCallRequest, ApproveRequestSchema, type ApproveRequest, BatchRequestSchema, type BatchRequest, PolicySchema, type Policy, CreatePolicyRequestSchema, type CreatePolicyRequest, UpdatePolicyRequestSchema, type UpdatePolicyRequest, SpendingLimitRulesSchema, type SpendingLimitRules, WhitelistRulesSchema, type WhitelistRules, RateLimitRulesSchema, type RateLimitRules, TimeRestrictionRulesSchema, type TimeRestrictionRules, X402AllowedDomainsRulesSchema, type X402AllowedDomainsRules, ConfigSchema, type Config, AssetInfoSchema, type AssetInfoDto, } from './schemas/index.js';
|
|
3
|
+
export { ERROR_CODES, type ErrorCode, type ErrorDomain, type ErrorCodeEntry, WAIaaSError, ChainError, type ChainErrorCategory, type ChainErrorCode, CHAIN_ERROR_CATEGORIES, } from './errors/index.js';
|
|
4
|
+
export type { TokenAmount, TransferRequest, UnsignedTransaction, SimulationResult, SubmitResult, BalanceInfo, HealthInfo, AssetInfo, FeeEstimate, TokenInfo, SweepResult, TokenTransferParams, ContractCallParams, ApproveParams, BatchParams, ParsedOperationType, ParsedOperation, ParsedTransaction, SignedTransaction, IChainAdapter, ILocalKeyStore, IPolicyEngine, PolicyEvaluation, INotificationChannel, NotificationPayload, TokenRef, PriceInfo, CacheStats, IPriceOracle, ForexRate, CurrencyCode, IForexRateService, ActionProviderMetadata, ActionDefinition, ActionContext, IActionProvider, X402FetchRequest, X402FetchResponse, X402PaymentInfo, PaymentRequired, PaymentPayload, PaymentRequirements, } from './interfaces/index.js';
|
|
5
|
+
export { TokenRefSchema, PriceInfoSchema } from './interfaces/index.js';
|
|
6
|
+
export { ForexRateSchema, CurrencyCodeSchema } from './interfaces/index.js';
|
|
7
|
+
export { ActionProviderMetadataSchema, ActionDefinitionSchema, ActionContextSchema, } from './interfaces/index.js';
|
|
8
|
+
export { X402FetchRequestSchema, X402FetchResponseSchema, X402PaymentInfoSchema, CAIP2_TO_NETWORK, NETWORK_TO_CAIP2, parseCaip2, resolveX402Network, PaymentRequiredV2Schema, PaymentPayloadV2Schema, PaymentRequirementsV2Schema, } from './interfaces/index.js';
|
|
9
|
+
export { formatDisplayCurrency, formatRatePreview } from './utils/index.js';
|
|
10
|
+
export { formatAmount, parseAmount } from './utils/index.js';
|
|
11
|
+
export { getMessages, type SupportedLocale, type Messages } from './i18n/index.js';
|
|
12
|
+
export { EventBus } from './events/index.js';
|
|
13
|
+
export type { WaiaasEventMap, TransactionCompletedEvent, TransactionFailedEvent, WalletActivityEvent, } from './events/index.js';
|
|
14
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
// @waiaas/core - shared types, schemas, errors, interfaces
|
|
2
|
+
// Enums (12 SSoT enums + EVM/Solana subsets + validateChainNetwork + environment model)
|
|
3
|
+
export { CHAIN_TYPES, ChainTypeEnum, NETWORK_TYPES, NetworkTypeEnum, EVM_NETWORK_TYPES, EvmNetworkTypeEnum, SOLANA_NETWORK_TYPES, validateChainNetwork, ENVIRONMENT_TYPES, EnvironmentTypeEnum, ENVIRONMENT_NETWORK_MAP, ENVIRONMENT_DEFAULT_NETWORK, getNetworksForEnvironment, getDefaultNetwork, deriveEnvironment, validateNetworkEnvironment, WALLET_STATUSES, WalletStatusEnum, TRANSACTION_STATUSES, TransactionStatusEnum, TRANSACTION_TYPES, TransactionTypeEnum, POLICY_TYPES, PolicyTypeEnum, POLICY_TIERS, PolicyTierEnum, SESSION_STATUSES, SessionStatusEnum, NOTIFICATION_EVENT_TYPES, NotificationEventTypeEnum, NOTIFICATION_LOG_STATUSES, NotificationLogStatusEnum, AUDIT_ACTIONS, AuditActionEnum, KILL_SWITCH_STATES, KillSwitchStateEnum, OWNER_STATES, OwnerStateEnum, } from './enums/index.js';
|
|
4
|
+
// Schemas (5 domain Zod SSoT schemas + v1.4 discriminatedUnion 5-type)
|
|
5
|
+
export { WalletSchema, CreateWalletRequestSchema, SessionSchema, CreateSessionRequestSchema, TransactionSchema, SendTransactionRequestSchema,
|
|
6
|
+
// v1.4 discriminatedUnion 5-type transaction request schemas
|
|
7
|
+
TransactionRequestSchema, TransferRequestSchema, TokenTransferRequestSchema, ContractCallRequestSchema, ApproveRequestSchema, BatchRequestSchema, PolicySchema, CreatePolicyRequestSchema, UpdatePolicyRequestSchema, SpendingLimitRulesSchema, WhitelistRulesSchema, RateLimitRulesSchema, TimeRestrictionRulesSchema, X402AllowedDomainsRulesSchema, ConfigSchema, AssetInfoSchema, } from './schemas/index.js';
|
|
8
|
+
// Errors (84 error codes + WAIaaSError + ChainError)
|
|
9
|
+
export { ERROR_CODES, WAIaaSError, ChainError, CHAIN_ERROR_CATEGORIES, } from './errors/index.js';
|
|
10
|
+
// v1.5 Price Oracle Zod schemas (value exports)
|
|
11
|
+
export { TokenRefSchema, PriceInfoSchema } from './interfaces/index.js';
|
|
12
|
+
// v1.5.3 Forex Rate Zod schemas (value exports)
|
|
13
|
+
export { ForexRateSchema, CurrencyCodeSchema } from './interfaces/index.js';
|
|
14
|
+
// v1.5 Action Provider Zod schemas (value exports)
|
|
15
|
+
export { ActionProviderMetadataSchema, ActionDefinitionSchema, ActionContextSchema, } from './interfaces/index.js';
|
|
16
|
+
// v1.5.1 x402 Zod schemas + CAIP-2 mapping (value exports)
|
|
17
|
+
export { X402FetchRequestSchema, X402FetchResponseSchema, X402PaymentInfoSchema, CAIP2_TO_NETWORK, NETWORK_TO_CAIP2, parseCaip2, resolveX402Network, PaymentRequiredV2Schema, PaymentPayloadV2Schema, PaymentRequirementsV2Schema, } from './interfaces/index.js';
|
|
18
|
+
// v1.5.3 Currency formatting utilities
|
|
19
|
+
export { formatDisplayCurrency, formatRatePreview } from './utils/index.js';
|
|
20
|
+
// v1.7 Blockchain amount formatting utilities (NOTE-01)
|
|
21
|
+
export { formatAmount, parseAmount } from './utils/index.js';
|
|
22
|
+
// i18n (multilingual messages)
|
|
23
|
+
export { getMessages } from './i18n/index.js';
|
|
24
|
+
// v1.6 Events (EventBus + typed event definitions)
|
|
25
|
+
export { EventBus } from './events/index.js';
|
|
26
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAE3D,wFAAwF;AACxF,OAAO,EACL,WAAW,EAEX,aAAa,EACb,aAAa,EAEb,eAAe,EACf,iBAAiB,EAEjB,kBAAkB,EAClB,oBAAoB,EAEpB,oBAAoB,EACpB,iBAAiB,EAEjB,mBAAmB,EACnB,uBAAuB,EACvB,2BAA2B,EAC3B,yBAAyB,EACzB,iBAAiB,EACjB,iBAAiB,EACjB,0BAA0B,EAC1B,eAAe,EAEf,gBAAgB,EAChB,oBAAoB,EAEpB,qBAAqB,EACrB,iBAAiB,EAEjB,mBAAmB,EACnB,YAAY,EAEZ,cAAc,EACd,YAAY,EAEZ,cAAc,EACd,gBAAgB,EAEhB,iBAAiB,EACjB,wBAAwB,EAExB,yBAAyB,EACzB,yBAAyB,EAEzB,yBAAyB,EACzB,aAAa,EAEb,eAAe,EACf,kBAAkB,EAElB,mBAAmB,EACnB,YAAY,EAEZ,cAAc,GACf,MAAM,kBAAkB,CAAC;AAE1B,uEAAuE;AACvE,OAAO,EACL,YAAY,EAEZ,yBAAyB,EAEzB,aAAa,EAEb,0BAA0B,EAE1B,iBAAiB,EAEjB,4BAA4B;AAE5B,6DAA6D;AAC7D,wBAAwB,EAExB,qBAAqB,EAErB,0BAA0B,EAE1B,yBAAyB,EAEzB,oBAAoB,EAEpB,kBAAkB,EAElB,YAAY,EAEZ,yBAAyB,EAEzB,yBAAyB,EAEzB,wBAAwB,EAExB,oBAAoB,EAEpB,oBAAoB,EAEpB,0BAA0B,EAE1B,6BAA6B,EAE7B,YAAY,EAEZ,eAAe,GAEhB,MAAM,oBAAoB,CAAC;AAE5B,qDAAqD;AACrD,OAAO,EACL,WAAW,EAIX,WAAW,EACX,UAAU,EAGV,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAsD3B,gDAAgD;AAChD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExE,gDAAgD;AAChD,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE5E,mDAAmD;AACnD,OAAO,EACL,4BAA4B,EAC5B,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAE/B,2DAA2D;AAC3D,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,EACV,kBAAkB,EAClB,uBAAuB,EACvB,sBAAsB,EACtB,2BAA2B,GAC5B,MAAM,uBAAuB,CAAC;AAE/B,uCAAuC;AACvC,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE5E,wDAAwD;AACxD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE7D,+BAA+B;AAC/B,OAAO,EAAE,WAAW,EAAuC,MAAM,iBAAiB,CAAC;AAEnF,mDAAmD;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import type { ChainType, NetworkType } from '../enums/chain.js';
|
|
2
|
+
import type { TransferRequest, UnsignedTransaction, SimulationResult, SubmitResult, BalanceInfo, HealthInfo, AssetInfo, FeeEstimate, TokenInfo, SweepResult, TokenTransferParams, ContractCallParams, ApproveParams, BatchParams, ParsedTransaction, SignedTransaction } from './chain-adapter.types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Chain adapter interface.
|
|
5
|
+
* Defines the contract for blockchain interactions with a 4-stage transaction pipeline:
|
|
6
|
+
* build -> simulate -> sign -> submit.
|
|
7
|
+
*
|
|
8
|
+
* v1.1 scope: 10 methods (connection 4 + balance 1 + tx pipeline 4 + confirm 1).
|
|
9
|
+
* v1.3 scope: +1 method (getAssets). Total: 11.
|
|
10
|
+
* v1.4 scope: +9 methods (fee estimation 1, token ops 2, contract ops 2, batch 1, utility 3). Total: 20.
|
|
11
|
+
* v1.4.7 scope: +2 methods (sign-only parse/sign). Total: 22.
|
|
12
|
+
*/
|
|
13
|
+
export interface IChainAdapter {
|
|
14
|
+
readonly chain: ChainType;
|
|
15
|
+
readonly network: NetworkType;
|
|
16
|
+
/** Connect to RPC endpoint. */
|
|
17
|
+
connect(rpcUrl: string): Promise<void>;
|
|
18
|
+
/** Disconnect from RPC endpoint. */
|
|
19
|
+
disconnect(): Promise<void>;
|
|
20
|
+
/** Check if connected to RPC. */
|
|
21
|
+
isConnected(): boolean;
|
|
22
|
+
/** Health check the RPC endpoint. */
|
|
23
|
+
getHealth(): Promise<HealthInfo>;
|
|
24
|
+
/** Get native token balance for an address. */
|
|
25
|
+
getBalance(address: string): Promise<BalanceInfo>;
|
|
26
|
+
/** Build an unsigned transaction from a transfer request. */
|
|
27
|
+
buildTransaction(request: TransferRequest): Promise<UnsignedTransaction>;
|
|
28
|
+
/** Simulate a transaction before signing. */
|
|
29
|
+
simulateTransaction(tx: UnsignedTransaction): Promise<SimulationResult>;
|
|
30
|
+
/** Sign a transaction with a private key (from guarded memory). */
|
|
31
|
+
signTransaction(tx: UnsignedTransaction, privateKey: Uint8Array): Promise<Uint8Array>;
|
|
32
|
+
/** Submit a signed transaction to the blockchain. */
|
|
33
|
+
submitTransaction(signedTx: Uint8Array): Promise<SubmitResult>;
|
|
34
|
+
/** Wait for transaction confirmation with optional timeout. */
|
|
35
|
+
waitForConfirmation(txHash: string, timeoutMs?: number): Promise<SubmitResult>;
|
|
36
|
+
/** Get all assets (native + token accounts) for an address. */
|
|
37
|
+
getAssets(address: string): Promise<AssetInfo[]>;
|
|
38
|
+
/** Estimate fee for a transfer or token transfer. */
|
|
39
|
+
estimateFee(request: TransferRequest | TokenTransferParams): Promise<FeeEstimate>;
|
|
40
|
+
/** Build token transfer transaction (SPL/ERC-20). */
|
|
41
|
+
buildTokenTransfer(request: TokenTransferParams): Promise<UnsignedTransaction>;
|
|
42
|
+
/** Get token info by address. */
|
|
43
|
+
getTokenInfo(tokenAddress: string): Promise<TokenInfo>;
|
|
44
|
+
/** Build contract call transaction. */
|
|
45
|
+
buildContractCall(request: ContractCallParams): Promise<UnsignedTransaction>;
|
|
46
|
+
/** Build approve transaction. */
|
|
47
|
+
buildApprove(request: ApproveParams): Promise<UnsignedTransaction>;
|
|
48
|
+
/** Build batch transaction (Solana only). Throws BATCH_NOT_SUPPORTED on EVM. */
|
|
49
|
+
buildBatch(request: BatchParams): Promise<UnsignedTransaction>;
|
|
50
|
+
/** Get transaction fee from a built transaction. */
|
|
51
|
+
getTransactionFee(tx: UnsignedTransaction): Promise<bigint>;
|
|
52
|
+
/** Get current nonce for an address (EVM). Returns 0 for Solana. */
|
|
53
|
+
getCurrentNonce(address: string): Promise<number>;
|
|
54
|
+
/** Sweep all assets from one address to another. */
|
|
55
|
+
sweepAll(from: string, to: string, privateKey: Uint8Array): Promise<SweepResult>;
|
|
56
|
+
/** Parse an unsigned external transaction into structured operations. */
|
|
57
|
+
parseTransaction(rawTx: string): Promise<ParsedTransaction>;
|
|
58
|
+
/** Sign an unsigned external transaction with wallet's private key. */
|
|
59
|
+
signExternalTransaction(rawTx: string, privateKey: Uint8Array): Promise<SignedTransaction>;
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=IChainAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IChainAdapter.d.ts","sourceRoot":"","sources":["../../src/interfaces/IChainAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IChainAdapter.js","sourceRoot":"","sources":["../../src/interfaces/IChainAdapter.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { ChainType } from '../enums/chain.js';
|
|
2
|
+
/**
|
|
3
|
+
* Local keystore interface.
|
|
4
|
+
* Manages cryptographic key pairs with AES-256-GCM encryption and Argon2id KDF.
|
|
5
|
+
* Keys are stored as per-wallet JSON files in ~/.waiaas/keystore/.
|
|
6
|
+
*
|
|
7
|
+
* Design reference: 26-keystore-spec.md
|
|
8
|
+
*/
|
|
9
|
+
export interface ILocalKeyStore {
|
|
10
|
+
/** Generate a key pair and store encrypted with master password. */
|
|
11
|
+
generateKeyPair(walletId: string, chain: ChainType, network: string, masterPassword: string): Promise<{
|
|
12
|
+
publicKey: string;
|
|
13
|
+
encryptedPrivateKey: Uint8Array;
|
|
14
|
+
}>;
|
|
15
|
+
/** Decrypt private key from keystore (returns guarded memory). */
|
|
16
|
+
decryptPrivateKey(walletId: string, masterPassword: string): Promise<Uint8Array>;
|
|
17
|
+
/** Safely release private key from memory (zero-fill). */
|
|
18
|
+
releaseKey(key: Uint8Array): void;
|
|
19
|
+
/** Check if keystore file exists for a wallet. */
|
|
20
|
+
hasKey(walletId: string): Promise<boolean>;
|
|
21
|
+
/** Delete keystore file for a wallet. */
|
|
22
|
+
deleteKey(walletId: string): Promise<void>;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=ILocalKeyStore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ILocalKeyStore.d.ts","sourceRoot":"","sources":["../../src/interfaces/ILocalKeyStore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD;;;;;;GAMG;AACH,MAAM,WAAW,cAAc;IAC7B,oEAAoE;IACpE,eAAe,CACb,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC;QACT,SAAS,EAAE,MAAM,CAAC;QAClB,mBAAmB,EAAE,UAAU,CAAC;KACjC,CAAC,CAAC;IAEH,kEAAkE;IAClE,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAEjF,0DAA0D;IAC1D,UAAU,CAAC,GAAG,EAAE,UAAU,GAAG,IAAI,CAAC;IAElC,kDAAkD;IAClD,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE3C,yCAAyC;IACzC,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ILocalKeyStore.js","sourceRoot":"","sources":["../../src/interfaces/ILocalKeyStore.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { NotificationEventType } from '../enums/notification.js';
|
|
2
|
+
/**
|
|
3
|
+
* Notification payload sent to channels.
|
|
4
|
+
* Contains event type, wallet context, message, and timestamp.
|
|
5
|
+
*/
|
|
6
|
+
export interface NotificationPayload {
|
|
7
|
+
/** Event type triggering the notification. */
|
|
8
|
+
eventType: NotificationEventType;
|
|
9
|
+
/** Wallet ID associated with the event. */
|
|
10
|
+
walletId: string;
|
|
11
|
+
/** Human-readable message. */
|
|
12
|
+
message: string;
|
|
13
|
+
/** Additional event-specific details. */
|
|
14
|
+
details?: Record<string, unknown>;
|
|
15
|
+
/** Unix epoch seconds. */
|
|
16
|
+
timestamp: number;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Notification channel interface.
|
|
20
|
+
* All notification channels (Telegram, Discord, ntfy.sh) implement this interface.
|
|
21
|
+
*
|
|
22
|
+
* Design reference: 35-notification-architecture.md
|
|
23
|
+
*/
|
|
24
|
+
export interface INotificationChannel {
|
|
25
|
+
/** Initialize the channel (validate API keys, etc.). */
|
|
26
|
+
initialize(config: Record<string, unknown>): Promise<void>;
|
|
27
|
+
/** Send a notification payload. */
|
|
28
|
+
send(payload: NotificationPayload): Promise<void>;
|
|
29
|
+
/** Channel display name. */
|
|
30
|
+
readonly name: string;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=INotificationChannel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"INotificationChannel.d.ts","sourceRoot":"","sources":["../../src/interfaces/INotificationChannel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEtE;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,8CAA8C;IAC9C,SAAS,EAAE,qBAAqB,CAAC;IACjC,2CAA2C;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,8BAA8B;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,0BAA0B;IAC1B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,wDAAwD;IACxD,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3D,mCAAmC;IACnC,IAAI,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElD,4BAA4B;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"INotificationChannel.js","sourceRoot":"","sources":["../../src/interfaces/INotificationChannel.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { PolicyTier } from '../enums/policy.js';
|
|
2
|
+
/**
|
|
3
|
+
* Policy evaluation result.
|
|
4
|
+
* Determines the security tier and whether the transaction is allowed.
|
|
5
|
+
*/
|
|
6
|
+
export interface PolicyEvaluation {
|
|
7
|
+
/** Security tier classification. */
|
|
8
|
+
tier: PolicyTier;
|
|
9
|
+
/** Whether the transaction is allowed by policy. */
|
|
10
|
+
allowed: boolean;
|
|
11
|
+
/** Denial reason (when allowed=false). */
|
|
12
|
+
reason?: string;
|
|
13
|
+
/** Delay seconds for DELAY tier. */
|
|
14
|
+
delaySeconds?: number;
|
|
15
|
+
/** Reason for APPROVAL escalation (per_tx / cumulative_daily / cumulative_monthly). */
|
|
16
|
+
approvalReason?: 'per_tx' | 'cumulative_daily' | 'cumulative_monthly';
|
|
17
|
+
/** Cumulative spending warning: ratio (0-1) of limit used, if >= 0.8. */
|
|
18
|
+
cumulativeWarning?: {
|
|
19
|
+
type: 'daily' | 'monthly';
|
|
20
|
+
ratio: number;
|
|
21
|
+
spent: number;
|
|
22
|
+
limit: number;
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Policy engine interface.
|
|
27
|
+
* Evaluates transactions against configured policies and returns tier classification.
|
|
28
|
+
*
|
|
29
|
+
* v1.1: DefaultPolicyEngine (all INSTANT passthrough).
|
|
30
|
+
* v1.2+: DatabasePolicyEngine (DB-backed rules, 4-tier classification).
|
|
31
|
+
*
|
|
32
|
+
* Design reference: 33-time-lock-approval-mechanism.md
|
|
33
|
+
*/
|
|
34
|
+
export interface IPolicyEngine {
|
|
35
|
+
/** Evaluate a transaction against policies. */
|
|
36
|
+
evaluate(walletId: string, transaction: {
|
|
37
|
+
type: string;
|
|
38
|
+
amount: string;
|
|
39
|
+
toAddress: string;
|
|
40
|
+
chain: string;
|
|
41
|
+
network?: string;
|
|
42
|
+
}): Promise<PolicyEvaluation>;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=IPolicyEngine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IPolicyEngine.d.ts","sourceRoot":"","sources":["../../src/interfaces/IPolicyEngine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,oCAAoC;IACpC,IAAI,EAAE,UAAU,CAAC;IACjB,oDAAoD;IACpD,OAAO,EAAE,OAAO,CAAC;IACjB,0CAA0C;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oCAAoC;IACpC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,uFAAuF;IACvF,cAAc,CAAC,EAAE,QAAQ,GAAG,kBAAkB,GAAG,oBAAoB,CAAC;IACtE,yEAAyE;IACzE,iBAAiB,CAAC,EAAE;QAAE,IAAI,EAAE,OAAO,GAAG,SAAS,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CAChG;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,aAAa;IAC5B,+CAA+C;IAC/C,QAAQ,CACN,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,GACA,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAC9B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IPolicyEngine.js","sourceRoot":"","sources":["../../src/interfaces/IPolicyEngine.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Action Provider types and interfaces (Zod SSoT).
|
|
3
|
+
*
|
|
4
|
+
* Defines ActionProviderMetadata, ActionDefinition, ActionContext,
|
|
5
|
+
* and IActionProvider for the v1.5 Action Provider framework.
|
|
6
|
+
* Actual provider implementations (ESM plugins) live in the daemon package
|
|
7
|
+
* or in ~/.waiaas/actions/ user plugin directory.
|
|
8
|
+
*
|
|
9
|
+
* Design source: doc 62 (action-provider-architecture).
|
|
10
|
+
*/
|
|
11
|
+
import { z } from 'zod';
|
|
12
|
+
import type { ContractCallRequest } from '../schemas/transaction.schema.js';
|
|
13
|
+
/** Metadata describing an Action Provider (name, version, chains, flags). */
|
|
14
|
+
export declare const ActionProviderMetadataSchema: z.ZodObject<{
|
|
15
|
+
/** Provider name: lowercase alphanumeric + underscore, 3-50 chars. */
|
|
16
|
+
name: z.ZodString;
|
|
17
|
+
/** Human-readable description, 10-500 chars. */
|
|
18
|
+
description: z.ZodString;
|
|
19
|
+
/** SemVer version string. */
|
|
20
|
+
version: z.ZodString;
|
|
21
|
+
/** Supported chains (at least 1). */
|
|
22
|
+
chains: z.ZodArray<z.ZodEnum<["solana", "ethereum"]>, "many">;
|
|
23
|
+
/** Whether to expose actions as MCP tools. Defaults to false. */
|
|
24
|
+
mcpExpose: z.ZodDefault<z.ZodBoolean>;
|
|
25
|
+
/** Whether this provider requires an API key. Defaults to false. */
|
|
26
|
+
requiresApiKey: z.ZodDefault<z.ZodBoolean>;
|
|
27
|
+
/** List of required external API identifiers. Defaults to []. */
|
|
28
|
+
requiredApis: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
|
|
29
|
+
}, "strip", z.ZodTypeAny, {
|
|
30
|
+
name: string;
|
|
31
|
+
description: string;
|
|
32
|
+
version: string;
|
|
33
|
+
chains: ("solana" | "ethereum")[];
|
|
34
|
+
mcpExpose: boolean;
|
|
35
|
+
requiresApiKey: boolean;
|
|
36
|
+
requiredApis: string[];
|
|
37
|
+
}, {
|
|
38
|
+
name: string;
|
|
39
|
+
description: string;
|
|
40
|
+
version: string;
|
|
41
|
+
chains: ("solana" | "ethereum")[];
|
|
42
|
+
mcpExpose?: boolean | undefined;
|
|
43
|
+
requiresApiKey?: boolean | undefined;
|
|
44
|
+
requiredApis?: string[] | undefined;
|
|
45
|
+
}>;
|
|
46
|
+
/** Action Provider metadata. Derived from ActionProviderMetadataSchema via z.infer. */
|
|
47
|
+
export type ActionProviderMetadata = z.infer<typeof ActionProviderMetadataSchema>;
|
|
48
|
+
/** Definition of a single action within a provider. */
|
|
49
|
+
export declare const ActionDefinitionSchema: z.ZodObject<{
|
|
50
|
+
/** Action name: lowercase alphanumeric + underscore, 3-50 chars. */
|
|
51
|
+
name: z.ZodString;
|
|
52
|
+
/** Human-readable description, 20-1000 chars. */
|
|
53
|
+
description: z.ZodString;
|
|
54
|
+
/** Target chain for this action. */
|
|
55
|
+
chain: z.ZodEnum<["solana", "ethereum"]>;
|
|
56
|
+
/** Zod schema for input validation (duck-typed at registration). */
|
|
57
|
+
inputSchema: z.ZodAny;
|
|
58
|
+
/** Risk level classification. */
|
|
59
|
+
riskLevel: z.ZodEnum<["low", "medium", "high"]>;
|
|
60
|
+
/** Default policy tier for this action. */
|
|
61
|
+
defaultTier: z.ZodEnum<["INSTANT", "NOTIFY", "DELAY", "APPROVAL"]>;
|
|
62
|
+
}, "strip", z.ZodTypeAny, {
|
|
63
|
+
name: string;
|
|
64
|
+
chain: "solana" | "ethereum";
|
|
65
|
+
description: string;
|
|
66
|
+
riskLevel: "low" | "medium" | "high";
|
|
67
|
+
defaultTier: "INSTANT" | "NOTIFY" | "DELAY" | "APPROVAL";
|
|
68
|
+
inputSchema?: any;
|
|
69
|
+
}, {
|
|
70
|
+
name: string;
|
|
71
|
+
chain: "solana" | "ethereum";
|
|
72
|
+
description: string;
|
|
73
|
+
riskLevel: "low" | "medium" | "high";
|
|
74
|
+
defaultTier: "INSTANT" | "NOTIFY" | "DELAY" | "APPROVAL";
|
|
75
|
+
inputSchema?: any;
|
|
76
|
+
}>;
|
|
77
|
+
/** Action definition within a provider. Derived from ActionDefinitionSchema via z.infer. */
|
|
78
|
+
export type ActionDefinition = z.infer<typeof ActionDefinitionSchema>;
|
|
79
|
+
/** Context passed to resolve() containing wallet and session info. */
|
|
80
|
+
export declare const ActionContextSchema: z.ZodObject<{
|
|
81
|
+
/** Wallet address (public key). */
|
|
82
|
+
walletAddress: z.ZodString;
|
|
83
|
+
/** Target chain. */
|
|
84
|
+
chain: z.ZodEnum<["solana", "ethereum"]>;
|
|
85
|
+
/** Wallet UUID. */
|
|
86
|
+
walletId: z.ZodString;
|
|
87
|
+
/** Session UUID (optional for admin-initiated actions). */
|
|
88
|
+
sessionId: z.ZodOptional<z.ZodString>;
|
|
89
|
+
}, "strip", z.ZodTypeAny, {
|
|
90
|
+
chain: "solana" | "ethereum";
|
|
91
|
+
walletId: string;
|
|
92
|
+
walletAddress: string;
|
|
93
|
+
sessionId?: string | undefined;
|
|
94
|
+
}, {
|
|
95
|
+
chain: "solana" | "ethereum";
|
|
96
|
+
walletId: string;
|
|
97
|
+
walletAddress: string;
|
|
98
|
+
sessionId?: string | undefined;
|
|
99
|
+
}>;
|
|
100
|
+
/** Execution context for action resolution. Derived from ActionContextSchema via z.infer. */
|
|
101
|
+
export type ActionContext = z.infer<typeof ActionContextSchema>;
|
|
102
|
+
/**
|
|
103
|
+
* Action Provider contract.
|
|
104
|
+
*
|
|
105
|
+
* Implementations resolve action parameters into ContractCallRequest objects
|
|
106
|
+
* that are then fed into the existing 6-stage pipeline for policy evaluation,
|
|
107
|
+
* signing, and submission.
|
|
108
|
+
*
|
|
109
|
+
* resolve() MUST return a ContractCallRequest -- never sign or submit directly.
|
|
110
|
+
*/
|
|
111
|
+
export interface IActionProvider {
|
|
112
|
+
/** Provider metadata (name, version, chains, flags). */
|
|
113
|
+
readonly metadata: ActionProviderMetadata;
|
|
114
|
+
/** Available actions exposed by this provider. */
|
|
115
|
+
readonly actions: readonly ActionDefinition[];
|
|
116
|
+
/**
|
|
117
|
+
* Resolve action parameters into a ContractCallRequest.
|
|
118
|
+
* The return value is re-validated via ContractCallRequestSchema.parse()
|
|
119
|
+
* by ActionProviderRegistry to prevent policy bypass.
|
|
120
|
+
*/
|
|
121
|
+
resolve(actionName: string, params: Record<string, unknown>, context: ActionContext): Promise<ContractCallRequest>;
|
|
122
|
+
}
|
|
123
|
+
//# sourceMappingURL=action-provider.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"action-provider.types.d.ts","sourceRoot":"","sources":["../../src/interfaces/action-provider.types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAM5E,6EAA6E;AAC7E,eAAO,MAAM,4BAA4B;IACvC,sEAAsE;;IAEtE,gDAAgD;;IAEhD,6BAA6B;;IAE7B,qCAAqC;;IAErC,iEAAiE;;IAEjE,oEAAoE;;IAEpE,iEAAiE;;;;;;;;;;;;;;;;;;EAEjE,CAAC;AAEH,uFAAuF;AACvF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAMlF,uDAAuD;AACvD,eAAO,MAAM,sBAAsB;IACjC,oEAAoE;;IAEpE,iDAAiD;;IAEjD,oCAAoC;;IAEpC,oEAAoE;;IAEpE,iCAAiC;;IAEjC,2CAA2C;;;;;;;;;;;;;;;;EAE3C,CAAC;AAEH,4FAA4F;AAC5F,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAMtE,sEAAsE;AACtE,eAAO,MAAM,mBAAmB;IAC9B,mCAAmC;;IAEnC,oBAAoB;;IAEpB,mBAAmB;;IAEnB,2DAA2D;;;;;;;;;;;;EAE3D,CAAC;AAEH,6FAA6F;AAC7F,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAMhE;;;;;;;;GAQG;AACH,MAAM,WAAW,eAAe;IAC9B,wDAAwD;IACxD,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,CAAC;IAC1C,kDAAkD;IAClD,QAAQ,CAAC,OAAO,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAC9C;;;;OAIG;IACH,OAAO,CACL,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACjC"}
|