@tokenflight/swap 0.0.4 → 0.1.2
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/README.md +3 -1
- package/dist/custom-elements.d.ts +24 -0
- package/dist/deposit.d.ts +304 -0
- package/dist/deposit.js +1 -0
- package/dist/dist-D4PEwqKq.js +2 -0
- package/dist/en-US-Dg7NZU3M.js +1 -0
- package/dist/fiat.d.ts +360 -0
- package/dist/fiat.js +1 -0
- package/dist/ja-JP-FXTra_NF.js +1 -0
- package/dist/ko-KR-D4gcrXFl.js +1 -0
- package/dist/receive.d.ts +333 -0
- package/dist/receive.js +1 -0
- package/dist/register-deposit-COFuKwk-.js +1 -0
- package/dist/register-swap-a_E08H4c.js +2 -0
- package/dist/register-widget-CTcQPmpL.js +1 -0
- package/dist/swap.css +2 -0
- package/dist/swap.d.ts +283 -0
- package/dist/swap.js +1 -0
- package/dist/tokenflight-swap.d.ts +829 -0
- package/dist/tokenflight-swap.js +1 -11182
- package/dist/tokenflight-swap.umd.cjs +225 -8
- package/dist/widget-9I201q7O.js +223 -0
- package/dist/widget.d.ts +319 -0
- package/dist/widget.js +1 -0
- package/dist/zh-CN-CuSlgEdI.js +1 -0
- package/dist/zh-TW-DkEqrPgE.js +1 -0
- package/package.json +35 -6
- package/dist/index.d.ts +0 -688
- package/dist/ja-JP-CCPQw3wd.js +0 -113
- package/dist/ko-KR-C28W7gug.js +0 -113
- package/dist/tokenflight-swap.css +0 -1
- package/dist/zh-CN-DVc1QrCz.js +0 -113
- package/dist/zh-TW-t3fL4aXT.js +0 -113
package/dist/ja-JP-CCPQw3wd.js
DELETED
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
const jaJP = {
|
|
2
|
-
"swap.title": "TokenFlight",
|
|
3
|
-
"swap.youPay": "支払い",
|
|
4
|
-
"swap.youReceive": "受取り",
|
|
5
|
-
"swap.balance": "残高: {balance}",
|
|
6
|
-
"swap.selectToken": "トークンを選択",
|
|
7
|
-
"swap.connectWallet": "ウォレットを接続",
|
|
8
|
-
"swap.reviewSwap": "スワップを確認",
|
|
9
|
-
"swap.confirmSwap": "スワップを実行",
|
|
10
|
-
"swap.executing": "実行中...",
|
|
11
|
-
"swap.success": "スワップ成功",
|
|
12
|
-
"swap.error.generic": "取引失敗 — 再試行",
|
|
13
|
-
"swap.viewExplorer": "エクスプローラーで表示",
|
|
14
|
-
"swap.max": "最大",
|
|
15
|
-
"swap.rate": "レート",
|
|
16
|
-
"swap.fee": "手数料",
|
|
17
|
-
"swap.estTime": "推定時間",
|
|
18
|
-
"swap.poweredBy": "Powered by",
|
|
19
|
-
"swap.approx": "~{value}",
|
|
20
|
-
"swap.fiatValue": "≈ ${value}",
|
|
21
|
-
"swap.account": "ウォレットアカウント",
|
|
22
|
-
"swap.recipient": "受取アドレス",
|
|
23
|
-
"swap.required": "必須",
|
|
24
|
-
"swap.recipientPlaceholder": "宛先アドレスを入力",
|
|
25
|
-
"swap.enterRecipient": "受取アドレスを入力",
|
|
26
|
-
"swap.recipientTitle": "受取アドレス",
|
|
27
|
-
"swap.recipientConfirm": "確認",
|
|
28
|
-
"swap.recipientInvalid": "このチェーンのアドレス形式が無効です",
|
|
29
|
-
"swap.noRoutesAvailable": "利用可能なルートがありません",
|
|
30
|
-
"receive.title": "TokenFlight",
|
|
31
|
-
"receive.youReceive": "受取り",
|
|
32
|
-
"receive.payWith": "支払い方法",
|
|
33
|
-
"receive.buy": "{amount} {symbol}を購入",
|
|
34
|
-
"receive.processing": "処理中...",
|
|
35
|
-
"receive.success": "購入完了",
|
|
36
|
-
"receive.noPaymentOptions": "利用可能なトークンがありません",
|
|
37
|
-
"receive.noPaymentHint": "トークンを検索して支払い方法を選択してください",
|
|
38
|
-
"receive.connectToSeeTokens": "ウォレットを接続して支払いオプションを表示",
|
|
39
|
-
"receive.findingBestSource": "最適なソースを検索中...",
|
|
40
|
-
"receive.noOfferAvailable": "利用可能なオファーがありません",
|
|
41
|
-
"receive.browseAll": "すべてのトークンを見る",
|
|
42
|
-
"receive.changePayment": "支払いトークンを変更",
|
|
43
|
-
"receive.best": "最適",
|
|
44
|
-
"receive.fee": "手数料: {value}",
|
|
45
|
-
"receive.viewExplorer": "エクスプローラーで表示",
|
|
46
|
-
"selector.title.from": "支払いトークンを選択",
|
|
47
|
-
"selector.title.to": "受取りトークンを選択",
|
|
48
|
-
"selector.search": "名前またはアドレスで検索",
|
|
49
|
-
"selector.allChains": "全チェーン",
|
|
50
|
-
"selector.noResults": "トークンが見つかりません",
|
|
51
|
-
"tracking.step1.title": "署名完了",
|
|
52
|
-
"tracking.step1.subtitle": "署名を提出しました",
|
|
53
|
-
"tracking.step1.signing": "ウォレットで署名",
|
|
54
|
-
"tracking.step1.signingSubtitle": "ウォレットで確認してください...",
|
|
55
|
-
"tracking.step2.title": "{chain}への入金",
|
|
56
|
-
"tracking.step2.waiting": "確認待ち...",
|
|
57
|
-
"tracking.step2.confirmed": "オンチェーンで確認済み",
|
|
58
|
-
"tracking.step3.title": "プロバイダーが注文を処理中",
|
|
59
|
-
"tracking.step3.subtitle": "{provider}経由",
|
|
60
|
-
"tracking.step3.expired": "注文が期限切れ",
|
|
61
|
-
"tracking.step3.expiredSubtitle": "フィラーが注文を受け付けませんでした",
|
|
62
|
-
"tracking.step3.failed": "注文が失敗",
|
|
63
|
-
"tracking.step3.failedSubtitle": "完了できませんでした",
|
|
64
|
-
"tracking.step4.title": "{chain}で完了",
|
|
65
|
-
"tracking.step4.subtitle": "トークンが送達されました",
|
|
66
|
-
"tracking.step4.refundPending": "返金処理中",
|
|
67
|
-
"tracking.step4.refundSubtitle": "{chain}でトークンを返還中",
|
|
68
|
-
"tracking.step4.failed": "注文が失敗",
|
|
69
|
-
"tracking.step4.failedSubtitle": "送達に失敗しました",
|
|
70
|
-
"tracking.viewOnExplorer": "表示",
|
|
71
|
-
"tracking.retry": "リトライ",
|
|
72
|
-
"tracking.via": "{provider}経由",
|
|
73
|
-
"failure.title": "注文が失敗しました",
|
|
74
|
-
"failure.refundedTitle": "注文が返金されました",
|
|
75
|
-
"failure.subtitle": "注文を完了できませんでした。",
|
|
76
|
-
"failure.refundedSubtitle": "資金がウォレットに返金されました。",
|
|
77
|
-
"failure.refundAmount": "返金額",
|
|
78
|
-
"failure.refundTx": "返金トランザクション",
|
|
79
|
-
"success.title": "取引完了",
|
|
80
|
-
"success.tokensLanded": "トークンが到着しました!",
|
|
81
|
-
"success.deliveredIn": "{seconds}秒で送達",
|
|
82
|
-
"success.delivered": "トークンが送達されました",
|
|
83
|
-
"success.onChain": "{chain}上",
|
|
84
|
-
"success.journeyDetails": "取引詳細",
|
|
85
|
-
"success.from": "送金元",
|
|
86
|
-
"success.to": "送金先",
|
|
87
|
-
"success.sender": "送信者",
|
|
88
|
-
"success.recipient": "受取人",
|
|
89
|
-
"success.depositTx": "入金取引",
|
|
90
|
-
"success.fillTx": "完了取引",
|
|
91
|
-
"success.provider": "プロバイダー",
|
|
92
|
-
"success.sent": "送金",
|
|
93
|
-
"success.received": "受取",
|
|
94
|
-
"success.viewExplorer": "エクスプローラーで表示",
|
|
95
|
-
"success.newSwap": "新しいスワップ",
|
|
96
|
-
"success.newPurchase": "新しい購入",
|
|
97
|
-
"error.invalidConfig": "設定が無効です",
|
|
98
|
-
"error.walletNotConnected": "ウォレットが接続されていません",
|
|
99
|
-
"error.transactionFailed": "取引が失敗しました",
|
|
100
|
-
"error.quoteFailed": "見積もりの取得に失敗しました",
|
|
101
|
-
"error.timeout": "リクエストがタイムアウトしました",
|
|
102
|
-
"error.insufficientBalance": "残高不足",
|
|
103
|
-
"error.walletChainMismatch": "ウォレットがソースチェーンと一致しません",
|
|
104
|
-
"swap.swapTokens": "トークンを入れ替える",
|
|
105
|
-
"selector.close": "閉じる",
|
|
106
|
-
"time.seconds": "~{value}秒",
|
|
107
|
-
"time.minutes": "~{value}分",
|
|
108
|
-
"quote.refresh": "見積もり更新",
|
|
109
|
-
"amount.zero": "0"
|
|
110
|
-
};
|
|
111
|
-
export {
|
|
112
|
-
jaJP as default
|
|
113
|
-
};
|
package/dist/ko-KR-C28W7gug.js
DELETED
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
const koKR = {
|
|
2
|
-
"swap.title": "TokenFlight",
|
|
3
|
-
"swap.youPay": "지불",
|
|
4
|
-
"swap.youReceive": "수령",
|
|
5
|
-
"swap.balance": "잔액: {balance}",
|
|
6
|
-
"swap.selectToken": "토큰 선택",
|
|
7
|
-
"swap.connectWallet": "지갑 연결",
|
|
8
|
-
"swap.reviewSwap": "스왑 확인",
|
|
9
|
-
"swap.confirmSwap": "스왑 실행",
|
|
10
|
-
"swap.executing": "실행 중...",
|
|
11
|
-
"swap.success": "스왑 성공",
|
|
12
|
-
"swap.error.generic": "거래 실패 — 재시도",
|
|
13
|
-
"swap.viewExplorer": "익스플로러에서 보기",
|
|
14
|
-
"swap.max": "최대",
|
|
15
|
-
"swap.rate": "환율",
|
|
16
|
-
"swap.fee": "수수료",
|
|
17
|
-
"swap.estTime": "예상 시간",
|
|
18
|
-
"swap.poweredBy": "Powered by",
|
|
19
|
-
"swap.approx": "~{value}",
|
|
20
|
-
"swap.fiatValue": "≈ ${value}",
|
|
21
|
-
"swap.account": "지갑 계정",
|
|
22
|
-
"swap.recipient": "수신 주소",
|
|
23
|
-
"swap.required": "필수",
|
|
24
|
-
"swap.recipientPlaceholder": "대상 주소 입력",
|
|
25
|
-
"swap.enterRecipient": "수신 주소 입력",
|
|
26
|
-
"swap.recipientTitle": "수신 주소",
|
|
27
|
-
"swap.recipientConfirm": "확인",
|
|
28
|
-
"swap.recipientInvalid": "이 체인의 주소 형식이 올바르지 않습니다",
|
|
29
|
-
"swap.noRoutesAvailable": "이용 가능한 경로 없음",
|
|
30
|
-
"receive.title": "TokenFlight",
|
|
31
|
-
"receive.youReceive": "수령",
|
|
32
|
-
"receive.payWith": "결제 수단",
|
|
33
|
-
"receive.buy": "{amount} {symbol} 구매",
|
|
34
|
-
"receive.processing": "처리 중...",
|
|
35
|
-
"receive.success": "구매 완료",
|
|
36
|
-
"receive.noPaymentOptions": "사용 가능한 토큰이 없습니다",
|
|
37
|
-
"receive.noPaymentHint": "토큰을 검색하여 결제 수단을 선택하세요",
|
|
38
|
-
"receive.connectToSeeTokens": "지갑을 연결하여 결제 옵션을 확인하세요",
|
|
39
|
-
"receive.findingBestSource": "최적의 소스를 찾는 중...",
|
|
40
|
-
"receive.noOfferAvailable": "이용 가능한 오퍼 없음",
|
|
41
|
-
"receive.browseAll": "모든 토큰 보기",
|
|
42
|
-
"receive.changePayment": "결제 토큰 변경",
|
|
43
|
-
"receive.best": "최적",
|
|
44
|
-
"receive.fee": "수수료: {value}",
|
|
45
|
-
"receive.viewExplorer": "익스플로러에서 보기",
|
|
46
|
-
"selector.title.from": "결제 토큰 선택",
|
|
47
|
-
"selector.title.to": "수령 토큰 선택",
|
|
48
|
-
"selector.search": "이름 또는 주소로 검색",
|
|
49
|
-
"selector.allChains": "모든 체인",
|
|
50
|
-
"selector.noResults": "토큰을 찾을 수 없습니다",
|
|
51
|
-
"tracking.step1.title": "서명 완료",
|
|
52
|
-
"tracking.step1.subtitle": "서명이 제출되었습니다",
|
|
53
|
-
"tracking.step1.signing": "지갑에서 서명",
|
|
54
|
-
"tracking.step1.signingSubtitle": "지갑에서 확인해 주세요...",
|
|
55
|
-
"tracking.step2.title": "{chain}에 입금",
|
|
56
|
-
"tracking.step2.waiting": "확인 대기 중...",
|
|
57
|
-
"tracking.step2.confirmed": "온체인에서 확인됨",
|
|
58
|
-
"tracking.step3.title": "제공자가 주문 처리 중",
|
|
59
|
-
"tracking.step3.subtitle": "{provider} 경유",
|
|
60
|
-
"tracking.step3.expired": "주문 만료",
|
|
61
|
-
"tracking.step3.expiredSubtitle": "필러가 주문을 수락하지 않았습니다",
|
|
62
|
-
"tracking.step3.failed": "주문 실패",
|
|
63
|
-
"tracking.step3.failedSubtitle": "완료할 수 없습니다",
|
|
64
|
-
"tracking.step4.title": "{chain}에서 완료",
|
|
65
|
-
"tracking.step4.subtitle": "토큰이 전달되었습니다",
|
|
66
|
-
"tracking.step4.refundPending": "환불 진행 중",
|
|
67
|
-
"tracking.step4.refundSubtitle": "{chain}에서 토큰 반환 중",
|
|
68
|
-
"tracking.step4.failed": "주문 실패",
|
|
69
|
-
"tracking.step4.failedSubtitle": "전달 실패",
|
|
70
|
-
"tracking.viewOnExplorer": "보기",
|
|
71
|
-
"tracking.retry": "재시도",
|
|
72
|
-
"tracking.via": "{provider} 경유",
|
|
73
|
-
"failure.title": "주문 실패",
|
|
74
|
-
"failure.refundedTitle": "주문 환불 완료",
|
|
75
|
-
"failure.subtitle": "주문을 완료할 수 없습니다.",
|
|
76
|
-
"failure.refundedSubtitle": "자금이 지갑으로 반환되었습니다.",
|
|
77
|
-
"failure.refundAmount": "환불됨",
|
|
78
|
-
"failure.refundTx": "환불 트랜잭션",
|
|
79
|
-
"success.title": "거래 완료",
|
|
80
|
-
"success.tokensLanded": "토큰이 도착했습니다!",
|
|
81
|
-
"success.deliveredIn": "{seconds}초 만에 전달",
|
|
82
|
-
"success.delivered": "토큰이 전달되었습니다",
|
|
83
|
-
"success.onChain": "{chain}에서",
|
|
84
|
-
"success.journeyDetails": "거래 상세",
|
|
85
|
-
"success.from": "보낸 곳",
|
|
86
|
-
"success.to": "받는 곳",
|
|
87
|
-
"success.sender": "보낸 사람",
|
|
88
|
-
"success.recipient": "받는 사람",
|
|
89
|
-
"success.depositTx": "입금 트랜잭션",
|
|
90
|
-
"success.fillTx": "완료 트랜잭션",
|
|
91
|
-
"success.provider": "제공자",
|
|
92
|
-
"success.sent": "전송",
|
|
93
|
-
"success.received": "수령",
|
|
94
|
-
"success.viewExplorer": "익스플로러에서 보기",
|
|
95
|
-
"success.newSwap": "새 스왑",
|
|
96
|
-
"success.newPurchase": "새 구매",
|
|
97
|
-
"error.invalidConfig": "잘못된 설정",
|
|
98
|
-
"error.walletNotConnected": "지갑이 연결되지 않았습니다",
|
|
99
|
-
"error.transactionFailed": "거래 실패",
|
|
100
|
-
"error.quoteFailed": "견적 조회 실패",
|
|
101
|
-
"error.timeout": "요청 시간 초과",
|
|
102
|
-
"error.insufficientBalance": "잔액 부족",
|
|
103
|
-
"error.walletChainMismatch": "지갑 주소가 소스 체인과 일치하지 않습니다",
|
|
104
|
-
"swap.swapTokens": "토큰 교환",
|
|
105
|
-
"selector.close": "닫기",
|
|
106
|
-
"time.seconds": "~{value}초",
|
|
107
|
-
"time.minutes": "~{value}분",
|
|
108
|
-
"quote.refresh": "견적 갱신",
|
|
109
|
-
"amount.zero": "0"
|
|
110
|
-
};
|
|
111
|
-
export {
|
|
112
|
-
koKR as default
|
|
113
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.tf-c63ac0{border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--tf-text-on-primary);font-weight:700;font-family:var(--tf-font-family);flex-shrink:0;overflow:hidden}.tf-59aca7{width:100%;height:100%;object-fit:cover;border-radius:50%}.tf-dbfbb3{border-radius:50%;flex-shrink:0;overflow:hidden;display:flex;align-items:center;justify-content:center}.tf-f89395{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}.tf-cdfe94{display:flex;align-items:center;justify-content:center;gap:6px;padding:12px 0 14px;border-top:1px solid var(--tf-border-light);margin:8px 20px 0;text-decoration:none}.tf-7c0c36{font-size:var(--tf-font-sm);color:var(--tf-text-tertiary)}.tf-26d5ea{font-size:var(--tf-font-base);line-height:1}.tf-8b1e15{font-size:var(--tf-font-sm);font-weight:600;letter-spacing:.02em;color:var(--tf-text-secondary)}.tf-3852e5,.tf-b35860{color:var(--tf-primary)}.tf-2de115{width:100%;padding:14px 0;border-radius:14px;border:none;background:linear-gradient(135deg,var(--tf-primary),color-mix(in srgb,var(--tf-primary) 80%,#000));color:var(--tf-text-on-primary);font-weight:600;font-size:var(--tf-font-xl);cursor:pointer;box-shadow:0 4px 16px var(--tf-primary-glow);letter-spacing:-.01em;font-family:var(--tf-font-family);transition:transform .15s ease,opacity .15s ease,box-shadow .15s ease}.tf-2de115:hover{opacity:.95;transform:translateY(-1px);box-shadow:0 6px 20px var(--tf-primary-glow)}.tf-2de115:active{transform:translateY(0)}.tf-47dc2a{background:var(--tf-primary);cursor:wait;opacity:.85}.tf-44b8f1{width:100%;padding:14px 0;border-radius:14px;border:1px solid var(--tf-primary);background:var(--tf-primary-light);color:var(--tf-primary);font-weight:600;font-size:var(--tf-font-xl);cursor:pointer;font-family:var(--tf-font-family);transition:transform .15s ease,background .15s ease}.tf-44b8f1:hover{transform:translateY(-1px)}.tf-44b8f1:active{transform:translateY(0)}.tf-04fe16{width:100%;padding:14px 0;border-radius:14px;border:1.5px dashed var(--tf-primary);background:var(--tf-primary-light);color:var(--tf-primary);font-weight:600;font-size:var(--tf-font-xl);cursor:pointer;font-family:var(--tf-font-family);transition:transform .15s ease,background .15s ease;animation:tf-d53743 2s ease-in-out infinite}.tf-04fe16:hover{transform:translateY(-1px);background:var(--tf-primary-glow)}.tf-04fe16:active{transform:translateY(0)}.tf-65cf23{width:100%;padding:14px 0;border-radius:14px;text-align:center;background:var(--tf-success-bg);color:var(--tf-success);font-weight:600;font-size:var(--tf-font-xl);display:flex;align-items:center;justify-content:center;gap:8px;border:none}.tf-2f0314{width:100%;padding:14px 0;border-radius:14px;text-align:center;background:var(--tf-error-bg);color:var(--tf-error);font-weight:600;font-size:var(--tf-font-xl);display:flex;align-items:center;justify-content:center;gap:8px;border:none;cursor:pointer}.tf-20b1ac{display:flex;align-items:center;justify-content:center;gap:8px}.tf-e6dae0{display:inline-block;width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.3);border-top-color:var(--tf-text-on-primary, #fff);animation:tf-8a3bc2 .8s linear infinite}.tf-90e712{width:14px;height:14px}.tf-ba406b{display:inline-flex;align-items:baseline}.tf-9d81a4{font-size:.7em;line-height:1;opacity:.85}.tf-7977ef{cursor:help}@keyframes tf-d36961{to{transform:rotate(360deg)}}.tf-5835df{width:100%;min-width:0;padding:24px 20px 16px;animation:tf-e061c9 .3s ease both;overflow:hidden;box-sizing:border-box}.tf-9322ae{display:flex;align-items:center;justify-content:center;gap:12px;padding-bottom:20px;margin-bottom:4px;border-bottom:1px solid var(--tf-border-light)}.tf-7d5519{display:flex;align-items:center;justify-content:flex-start;min-width:0;flex:1}.tf-0b8d30{justify-content:flex-end}.tf-bfbd0b{display:flex;align-items:center;gap:8px;min-width:0}.tf-7e8fdf{position:relative;width:32px;height:32px;flex-shrink:0}.tf-37f3cf{position:absolute;bottom:-2px;right:-2px;width:16px;height:16px;border-radius:50%;background:var(--tf-bg);display:flex;align-items:center;justify-content:center;border:1.5px solid var(--tf-bg)}.tf-9401fd{display:flex;flex-direction:column;min-width:0;overflow:hidden}.tf-832fae{font-family:var(--tf-font-family-mono);font-weight:600;font-size:var(--tf-font-lg);color:var(--tf-text);white-space:nowrap;line-height:1.2}.tf-b557fc{font-size:var(--tf-font-sm);color:var(--tf-text-tertiary);font-weight:500;line-height:1.2}.tf-5953e8{color:var(--tf-text-tertiary);flex-shrink:0}.tf-a168c7{display:flex;align-items:center;justify-content:center;gap:6px;text-align:center;font-size:var(--tf-font-sm);color:var(--tf-text-tertiary);padding-bottom:16px}.tf-062404{width:16px;height:16px;border-radius:4px;object-fit:contain}.tf-26af4c{display:flex;flex-direction:column}.tf-4b9be7{display:flex;gap:12px}.tf-036db2{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:var(--tf-font-base);font-weight:600;z-index:1}.tf-09b7bb{background:var(--tf-success-bg);color:var(--tf-success)}.tf-aef7e0{background:var(--tf-primary-light)}.tf-5c628c{background:var(--tf-input-bg);color:var(--tf-text-tertiary);border:1px solid var(--tf-border-light)}.tf-a5abdf{background:var(--tf-error-bg);color:var(--tf-error)}.tf-9efe7c{width:14px;height:14px;border-radius:50%;border:2px solid var(--tf-primary-light);border-top-color:var(--tf-primary);animation:tf-d36961 .8s linear infinite}.tf-5c7806{border-color:#ff475733;border-top-color:var(--tf-error)}.tf-185719{flex:1;min-width:0;padding-bottom:20px;position:relative}.tf-185719:before{content:"";position:absolute;left:-26px;top:28px;bottom:0;width:2px;background:var(--tf-border-light)}.tf-4b9be7:last-child .tf-185719:before{display:none}.tf-4b9be7:last-child .tf-185719{padding-bottom:4px}.tf-84527b .tf-185719:before{background:var(--tf-success)}.tf-417d35 .tf-185719:before{background:var(--tf-error)}.tf-aad7e9{font-size:var(--tf-font-md);font-weight:600;color:var(--tf-text);line-height:28px}.tf-8de1c6 .tf-aad7e9{color:var(--tf-text-tertiary)}.tf-417d35 .tf-aad7e9{color:var(--tf-error)}.tf-bcb46a{font-size:var(--tf-font-sm);color:var(--tf-text-tertiary);margin-top:2px;display:flex;align-items:center;gap:6px;flex-wrap:wrap;word-break:break-word;overflow-wrap:break-word}.tf-16cfdc .tf-bcb46a{color:var(--tf-primary)}.tf-0aa291{font-size:var(--tf-font-sm);color:var(--tf-primary);text-decoration:none;display:inline-flex;align-items:center;gap:3px;transition:opacity .15s}.tf-0aa291:hover{opacity:.7}.tf-234e31{margin-top:20px;padding:16px;border-radius:12px;background:var(--tf-error-alpha, rgba(239, 68, 68, .06));border:1px solid var(--tf-error-bg);text-align:center}.tf-adb588{font-size:var(--tf-font-md);color:var(--tf-text-secondary);line-height:1.5;margin-bottom:12px}.tf-11fa21{display:inline-flex;align-items:center;gap:4px;font-size:var(--tf-font-base);color:var(--tf-primary);text-decoration:none;margin-bottom:12px;transition:opacity .15s}.tf-11fa21:hover{opacity:.7}.tf-4f7573{width:100%;padding:12px;border-radius:12px;background:linear-gradient(135deg,var(--tf-success),color-mix(in srgb,var(--tf-success) 80%,#000));color:var(--tf-text-on-primary);font-size:var(--tf-font-lg);font-weight:600;cursor:pointer;border:none;transition:opacity .2s,transform .15s}.tf-4f7573:hover{opacity:.9;transform:translateY(-1px)}.tf-4f7573:active{transform:scale(.98)}.tf-c918a2{margin-top:16px;text-align:center}.tf-ad7aab{visibility:hidden;pointer-events:none}.tf-1e22cb{width:100%;padding:12px;border-radius:12px;background:var(--tf-bg-secondary);color:var(--tf-text);font-size:var(--tf-font-lg);font-weight:600;cursor:pointer;border:1px solid var(--tf-border);transition:opacity .2s,transform .15s}.tf-1e22cb:hover{opacity:.85;transform:translateY(-1px)}.tf-1e22cb:active{transform:scale(.98)}@keyframes tf-36c468{0%{transform:scale(.3);opacity:0}to{transform:scale(1);opacity:1}}@keyframes tf-dc4326{0%{stroke-dashoffset:24}to{stroke-dashoffset:0}}@keyframes tf-13e6cd{0%{transform:scale(1);opacity:.5}to{transform:scale(1.6);opacity:0}}@keyframes tf-2b6de5{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes tf-5b8ef8{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.tf-e98a9a{width:100%;min-width:0;padding:28px 20px 24px;display:flex;flex-direction:column;align-items:center;animation:tf-2b6de5 .35s ease both;box-sizing:border-box}.tf-1f9019{position:relative;width:64px;height:64px;border-radius:50%;background:linear-gradient(145deg,var(--tf-success),#00E6A0);padding:2px;display:flex;align-items:center;justify-content:center;margin-bottom:16px;animation:tf-36c468 .5s cubic-bezier(.34,1.56,.64,1) both;box-shadow:0 2px 8px #00c48c4d,0 8px 32px #00c48c33}.tf-1f9019:before{content:"";position:absolute;inset:-2px;border-radius:50%;border:2px solid var(--tf-success);animation:tf-13e6cd 3s ease-out infinite;pointer-events:none}.tf-fd4d56{width:100%;height:100%;border-radius:50%;background:var(--tf-bg);display:flex;align-items:center;justify-content:center}.tf-d3c8df{display:flex;color:var(--tf-success)}.tf-d3c8df svg{stroke-dasharray:24;stroke-dashoffset:24;animation:tf-dc4326 .4s ease .35s forwards}.tf-9e3a66{font-size:var(--tf-font-heading);font-weight:700;color:var(--tf-text);margin-bottom:4px;letter-spacing:-.01em}.tf-db06d4{font-size:var(--tf-font-md);color:var(--tf-text-secondary);margin-bottom:20px}.tf-c9a5e1{position:relative;width:100%;padding:20px;border-radius:16px;background:linear-gradient(135deg,#00c48c14,#00e6a00a);border:1px solid rgba(0,196,140,.15);display:flex;flex-direction:column;align-items:center;gap:6px;margin-bottom:16px;animation:tf-2b6de5 .4s ease .2s both;overflow:hidden}.tf-c9a5e1:after{content:"";position:absolute;bottom:-20px;left:50%;transform:translate(-50%);width:60%;height:40px;background:radial-gradient(ellipse at center,rgba(0,196,140,.12),transparent 70%);pointer-events:none}.tf-7b3b5b{position:relative;width:40px;height:40px;margin-bottom:4px}.tf-651299{position:absolute;bottom:-2px;right:-2px;width:16px;height:16px;border-radius:50%;background:var(--tf-bg);display:flex;align-items:center;justify-content:center;border:1.5px solid rgba(0,196,140,.15)}.tf-f52291{font-size:var(--tf-font-amount-lg);font-weight:700;color:var(--tf-text);font-family:var(--tf-font-family-mono);letter-spacing:-.02em;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;justify-content:center}.tf-8cfc86{font-size:var(--tf-font-lg);font-weight:500;color:var(--tf-text-secondary)}.tf-5f768d{font-size:var(--tf-font-sm);font-weight:500;font-family:var(--tf-font-family);color:var(--tf-text-tertiary);letter-spacing:0}.tf-75f592{width:100%;margin-bottom:16px}.tf-73910d{width:100%;display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--tf-input-bg);border:1px solid var(--tf-border-light);border-radius:10px;cursor:pointer;font-size:var(--tf-font-base);font-weight:500;color:var(--tf-text-secondary);font-family:var(--tf-font-family);transition:background .15s}.tf-73910d:hover{background:var(--tf-bg-secondary)}.tf-ae94a0{border-radius:10px 10px 0 0}.tf-1afb0a{transition:transform .2s ease;color:var(--tf-text-tertiary);display:flex;justify-content:center;align-items:center}.tf-7737cf{transform:rotate(180deg)}.tf-92a530{padding:8px 14px 12px;border:1px solid var(--tf-border-light);border-top:none;border-radius:0 0 10px 10px;background:var(--tf-input-bg);animation:tf-5b8ef8 .15s ease both}.tf-6e8c3e{display:flex;justify-content:space-between;align-items:center;font-size:var(--tf-font-sm);padding:5px 0}.tf-4b5396{color:var(--tf-text-tertiary);font-weight:500}.tf-63cca1{color:var(--tf-text-secondary);font-family:var(--tf-font-family-mono);font-size:var(--tf-font-sm);display:flex;align-items:center;gap:4px}.tf-18c122{color:var(--tf-primary);text-decoration:none;font-size:var(--tf-font-sm);font-family:var(--tf-font-family-mono);display:inline-flex;align-items:center;gap:3px;transition:opacity .15s}.tf-18c122:hover{opacity:.7}.tf-d7e813{width:100%;padding:14px 0;border-radius:14px;border:none;background:var(--tf-primary);color:var(--tf-text-on-primary);font-weight:600;font-size:var(--tf-font-xl);cursor:pointer;font-family:var(--tf-font-family);box-shadow:0 4px 16px color-mix(in srgb,var(--tf-primary) 25%,transparent);transition:transform .15s ease,opacity .15s ease}.tf-d7e813:hover{opacity:.95;transform:translateY(-1px)}.tf-d7e813:active{transform:translateY(0)}.tf-216412{display:inline-flex;align-items:center;gap:4px}.tf-52dc68{flex-shrink:0}.tf-fd32be{font-size:var(--tf-font-sm);color:var(--tf-text-secondary);min-width:20px}.tf-1019c2{margin:12px 20px 0;padding:14px;background:var(--tf-primary-light);border-radius:10px;font-size:var(--tf-font-base);color:var(--tf-text-secondary);animation:tf-42889f .25s ease both}.tf-4922f1{display:flex;justify-content:space-between;align-items:center;min-height:16px;margin-bottom:4px}.tf-4922f1:last-child{margin-bottom:0}.tf-57f45f{font-family:var(--tf-font-family-mono);font-size:var(--tf-font-sm)}.tf-a57ec8{display:block;height:118px;box-sizing:border-box}.tf-d74ccc{display:flex;justify-content:space-between;align-items:center;height:22px}.tf-92e7a8{width:68px;height:14px}.tf-d20f50{width:56px}.tf-a9a96f{width:150px;height:14px}.tf-0134eb{width:126px}.tf-91635c{width:80px}.tf-ca1291{cursor:pointer;border-bottom:1px solid var(--tf-border-light);margin-bottom:10px;transition:opacity .15s}.tf-ca1291:hover{opacity:.7}.tf-ca1291 .tf-57f45f{display:inline-flex;align-items:center;gap:4px}.tf-ca1291 .tf-57f45f svg{opacity:.35;flex-shrink:0;transition:opacity .15s}.tf-ca1291:hover .tf-57f45f svg{opacity:.7}.tf-a249b3 .tf-recipient-placeholder{color:var(--tf-error)}.tf-adeddd{border:1px dashed var(--tf-primary);border-radius:var(--tf-radius, 10px);padding:8px 12px;margin-bottom:10px;animation:tf-d990e5 2s ease-in-out infinite}.tf-adeddd .tf-recipient-placeholder{color:var(--tf-primary);font-style:normal}.tf-1ac2ef{border-radius:6px;background:var(--tf-skeleton);animation:tf-90e981 1.5s infinite}.tf-68a980{position:absolute;inset:0;border-radius:20px;display:flex;align-items:flex-start;z-index:10;overflow:hidden;animation:tf-552c66 .2s ease both}.tf-e7b9c7{width:100%;max-width:400px;min-width:360px;border-radius:20px;overflow:hidden;background:var(--tf-bg);border:1px solid var(--tf-border);box-shadow:var(--tf-shadow-lg);font-family:var(--tf-font-family);color:var(--tf-text);position:relative;transition:background .25s ease,border-color .25s ease,box-shadow .25s ease}.tf-b4f391{background:transparent}.tf-118b57{border:none;box-shadow:none}.tf-118b57 .tf-07225e{display:none}.tf-07225e{height:2px;background:linear-gradient(90deg,transparent,var(--tf-primary),transparent);opacity:.6}.tf-d01dff{padding:16px 20px 20px;animation:tf-ed0355 .3s ease .1s both}.tf-5bb68c{padding:12px 20px 0}.tf-04e1e2{margin:12px 20px 0;padding:14px;background:var(--tf-primary-light);border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;height:131px;box-sizing:border-box;animation:tf-b61e63 .25s ease both}.tf-d01908{color:var(--tf-text-tertiary);opacity:.4}.tf-1cc72b{font-size:var(--tf-font-base);color:var(--tf-text-secondary)}.tf-480f1a{padding:0 20px 16px;text-align:center}.tf-480f1a a{font-size:var(--tf-font-base);color:var(--tf-primary);text-decoration:none;font-family:var(--tf-font-family-mono)}.tf-bc7950{text-align:center;margin-top:8px;margin-bottom:10px}.tf-bc7950 a{font-size:var(--tf-font-sm);color:var(--tf-primary);text-decoration:none;font-family:var(--tf-font-family-mono)}.tf-d9b7b4{display:inline-flex;align-items:center;gap:4px;background:var(--tf-surface);border:1px solid var(--tf-border);border-radius:6px;padding:2px 8px;cursor:pointer;font-size:var(--tf-font-sm);font-family:var(--tf-font-family-mono);color:var(--tf-text-secondary);transition:background .15s,border-color .15s}.tf-d9b7b4:hover{background:var(--tf-surface-hover)}.tf-d9b7b4 svg{opacity:.4;transition:opacity .15s}.tf-d9b7b4:hover svg{opacity:.7}.tf-9398ea{border-style:dashed;border-color:var(--tf-primary)}.tf-9398ea .tf-2d9323{color:var(--tf-primary);font-style:italic;font-family:var(--tf-font-family)}.tf-4567e1{cursor:default;opacity:.8}.tf-4567e1:hover{background:var(--tf-surface)}.tf-58881e{color:var(--tf-text-tertiary);font-style:italic}@keyframes tf-540423{to{transform:rotate(360deg)}}.tf-d61a98{padding:0 20px}.tf-4574e9{height:162px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--tf-border) transparent}.tf-4574e9::-webkit-scrollbar{width:4px}.tf-4574e9::-webkit-scrollbar-track{background:transparent}.tf-4574e9::-webkit-scrollbar-thumb{background:var(--tf-border);border-radius:2px}.tf-2f8db2{display:flex;align-items:center;justify-content:space-between;padding:9px 11px;border-radius:11px;margin-bottom:4px;cursor:pointer;border:1px solid var(--tf-border-light);background:transparent;width:100%;font-family:var(--tf-font-family);transition:background .15s ease,border-color .15s ease}.tf-aaf1d0{border-color:var(--tf-primary);outline:.5px solid var(--tf-primary);outline-offset:-1px;background:var(--tf-primary-light)}.tf-328e9e{opacity:.4;cursor:not-allowed}.tf-af2c71{cursor:default;pointer-events:none}.tf-d7d776{width:32px;height:32px;border-radius:50%}.tf-c3e864{display:flex;align-items:center;padding:11px 14px;border-radius:12px;border:1px solid var(--tf-border-light);background:var(--tf-input-bg);cursor:default;pointer-events:none}.tf-44450a{display:flex;flex-direction:column;gap:6px}.tf-6c1e97{height:10px}.tf-2174f1{width:52px}.tf-2d3530{width:40px}.tf-2733a9{display:flex;flex-direction:column;align-items:flex-end;gap:6px;margin-left:auto}.tf-54150b{width:60px}.tf-7aabe1{width:44px}.tf-c41b7c{display:flex;align-items:center;gap:9px}.tf-142024{position:relative}.tf-3b42da{position:absolute;bottom:-1px;right:-1px;width:11px;height:11px;border-radius:50%;background:var(--tf-surface);border:1px solid var(--tf-border);display:flex;align-items:center;justify-content:center}.tf-b7faa4{text-align:left}.tf-1ae7a3{display:flex;align-items:center;gap:5px}.tf-b949b8{font-size:var(--tf-font-base);font-weight:600;color:var(--tf-text)}.tf-2f811b{font-size:var(--tf-font-2xs);font-weight:700;padding:1px 4px;border-radius:3px;background:var(--tf-success-bg);color:var(--tf-success);letter-spacing:.03em}.tf-6542b9{font-size:var(--tf-font-xs);color:var(--tf-text-tertiary)}.tf-e613ff{text-align:right}.tf-630df3{font-size:var(--tf-font-base);font-weight:600;font-family:var(--tf-font-family-mono);color:var(--tf-text)}.tf-0be2ff{font-size:var(--tf-font-xs);color:var(--tf-text-tertiary);font-family:var(--tf-font-family-mono)}.tf-dad192{font-size:var(--tf-font-base);font-weight:600;font-family:var(--tf-font-family-mono);color:var(--tf-text)}.tf-840c29{font-size:var(--tf-font-xs);color:var(--tf-text-tertiary);font-family:var(--tf-font-family-mono)}.tf-09818b{display:flex;align-items:center;padding:10px 14px;border-radius:12px;border:1px solid var(--tf-border-light);background:var(--tf-input-bg);cursor:pointer;width:100%;font-family:var(--tf-font-family);transition:background .15s ease,border-color .15s ease}.tf-09818b:hover{border-color:var(--tf-primary);background:var(--tf-primary-light)}.tf-c7ba0f{display:flex;align-items:center;gap:9px}.tf-dea0cb{text-align:left}.tf-41931a{display:flex;align-items:center;gap:5px}.tf-3d2f5a{margin-left:auto;text-align:right;margin-right:8px}.tf-9a379d{font-size:var(--tf-font-lg);font-weight:500;font-family:var(--tf-font-family-mono);color:var(--tf-text);letter-spacing:-.02em}.tf-c11354{font-size:var(--tf-font-xs);color:var(--tf-text-tertiary);font-family:var(--tf-font-family-mono)}.tf-864468{color:var(--tf-text-tertiary);display:flex;align-items:center;flex-shrink:0;transition:transform .2s ease}.tf-8299cf{flex:1;overflow-y:auto;padding:0 8px 8px;scrollbar-width:thin;scrollbar-color:var(--tf-border) transparent}.tf-176d77{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:12px;cursor:pointer;background:transparent;transition:background .1s;border:none;width:100%;font-family:var(--tf-font-family);color:var(--tf-text)}.tf-176d77:hover{background:var(--tf-surface-hover)}.tf-2df5d9{background:var(--tf-primary-light)}.tf-dc503e{opacity:.4;cursor:not-allowed}.tf-ebbc44{display:flex;align-items:center;gap:12px}.tf-5f455f{text-align:left}.tf-15ee78{display:flex;align-items:center;gap:6px}.tf-976d83{font-size:var(--tf-font-lg);font-weight:600;color:var(--tf-text)}.tf-ba2eec{font-size:var(--tf-font-sm);color:var(--tf-text-tertiary)}.tf-a37921{text-align:right}.tf-cf71b6{font-size:var(--tf-font-md);font-weight:600;font-family:var(--tf-font-family-mono);color:var(--tf-text)}.tf-7474a9{font-size:var(--tf-font-sm);color:var(--tf-text-tertiary);font-family:var(--tf-font-family-mono)}.tf-772a9c{flex-shrink:0;padding:4px 8px 12px;border-top:1px solid var(--tf-border-light)}.tf-5fb6ad{display:flex;flex-direction:column;align-items:center;justify-content:center;height:197px;gap:8px;padding:16px 20px}.tf-86e8e0{flex-direction:row;gap:10px}.tf-66007c{color:var(--tf-text-tertiary);opacity:.5}.tf-73bbbc{width:24px;height:24px;display:flex;align-items:center;justify-content:center;opacity:.6;color:var(--tf-primary);animation:tf-540423 1s linear infinite}.tf-12c6bb{font-size:var(--tf-font-md);font-weight:600;color:var(--tf-text-secondary)}.tf-7a8fe0{font-size:var(--tf-font-sm);color:var(--tf-text-tertiary);text-align:center;line-height:1.4}.tf-22f94f{display:flex;align-items:center;justify-content:center;gap:4px;padding:4px 0 2px;font-size:var(--tf-font-sm);color:var(--tf-primary);cursor:pointer;font-weight:500;background:none;border:none;width:100%;font-family:var(--tf-font-family)}.tf-140273{width:100%;max-width:400px;border-radius:20px;overflow:hidden;background:var(--tf-bg);border:1px solid var(--tf-border);box-shadow:var(--tf-shadow-lg);font-family:var(--tf-font-family);color:var(--tf-text);height:100%;display:flex;flex-direction:column}.tf-45030f{padding:18px 20px 14px;flex-shrink:0}.tf-ce0622{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.tf-0c1692{font-size:var(--tf-font-xl);font-weight:600}.tf-64aa3f{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--tf-text-tertiary);font-size:var(--tf-font-2xl);font-weight:300;background:var(--tf-input-bg);border:none;font-family:var(--tf-font-family)}.tf-9819ca{display:flex;align-items:center;gap:10px;background:var(--tf-input-bg);border-radius:12px;padding:10px 14px;border:1px solid var(--tf-border-light);transition:border-color .15s}.tf-9819ca.tf-d9fcd6{border-color:var(--tf-primary)}.tf-4ad0e7{color:var(--tf-text-tertiary);font-size:var(--tf-font-lg);flex-shrink:0}.tf-9ea859{flex:1;border:none;background:none;outline:none;font-size:var(--tf-font-lg);color:var(--tf-text);font-family:var(--tf-font-family)}.tf-9ea859::placeholder{color:var(--tf-text-tertiary)}.tf-25e112{display:flex;gap:4px;margin-top:12px;overflow-x:auto;padding-bottom:2px}.tf-478cb9{display:flex;align-items:center;gap:5px;padding:4px 10px;border-radius:8px;border:none;font-size:var(--tf-font-sm);font-weight:500;cursor:pointer;white-space:nowrap;font-family:var(--tf-font-family);background:var(--tf-input-bg);color:var(--tf-text-secondary)}.tf-478cb9.tf-125be5{background:var(--tf-primary-light);color:var(--tf-primary);outline:1px solid var(--tf-primary);outline-offset:-1px}.tf-bb4fb1{height:24px;border-radius:8px;flex-shrink:0}.tf-ad5703{height:1px;background:var(--tf-border);margin:0 20px;flex-shrink:0}.tf-de9986{flex:1;min-height:0;overflow-y:auto;padding:6px 8px}.tf-7ac0fe{display:flex;flex-direction:column}.tf-c6ef08{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:12px}.tf-3643cf{display:flex;align-items:center;gap:12px}.tf-9b3d59{width:36px;height:36px;border-radius:50%}.tf-a4cc17{display:flex;flex-direction:column;gap:6px}.tf-7f1baf{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.tf-9171a2{height:10px}.tf-9171a2.tf-71ea5d{width:88px}.tf-9171a2.tf-dfb33a{width:64px}.tf-9171a2.tf-43fbf4{width:56px}.tf-9171a2.tf-61ca3c{width:44px}.tf-512365{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:12px;cursor:pointer;background:transparent;transition:background .1s;border:none;width:100%;font-family:var(--tf-font-family)}.tf-512365:hover{background:var(--tf-surface-hover)}.tf-512365.tf-9f601f{background:var(--tf-primary-light)}.tf-a0b0d9{display:flex;align-items:center;gap:12px}.tf-1e7a62{position:relative}.tf-67f18a{position:absolute;bottom:-1px;right:-1px;width:13px;height:13px;border-radius:50%;background:var(--tf-surface);border:1px solid var(--tf-border);display:flex;align-items:center;justify-content:center}.tf-cd76b9{text-align:left;display:flex;flex-direction:column;align-items:flex-start}.tf-8f4efd{font-size:var(--tf-font-lg);font-weight:600;color:var(--tf-text)}.tf-51bf2b{font-size:var(--tf-font-sm);color:var(--tf-text-tertiary)}.tf-87740a{text-align:right}.tf-43fbf4{color:var(--tf-text);font-size:var(--tf-font-md);font-weight:500;font-family:var(--tf-font-family-mono)}.tf-43fbf4.tf-2ee375{color:var(--tf-text-tertiary)}.tf-61ca3c{font-size:var(--tf-font-sm);color:var(--tf-text-tertiary);font-family:var(--tf-font-family-mono)}.tf-636daf{width:100%;height:100%;background:var(--tf-bg);display:flex;flex-direction:column;border-radius:20px;overflow:hidden}.tf-fddfab{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--tf-border-light)}.tf-970eb9{font-size:var(--tf-font-2xl);font-weight:600;color:var(--tf-text)}.tf-de123a{background:none;border:none;padding:4px;cursor:pointer;color:var(--tf-text-secondary);display:flex;align-items:center;justify-content:center;border-radius:6px;transition:background .15s}.tf-de123a:hover{background:var(--tf-bg-elevated)}.tf-0445e3{flex:1;padding:20px;display:flex;flex-direction:column;gap:8px}.tf-9a65ec{width:100%;min-height:80px;background:var(--tf-input-bg);border:1px solid var(--tf-border-light);border-radius:12px;padding:12px 14px;font-size:var(--tf-font-lg);font-family:var(--tf-font-family-mono);color:var(--tf-text);outline:none;resize:none;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.tf-9a65ec::placeholder{color:var(--tf-text-tertiary)}.tf-9a65ec:focus{border-color:var(--tf-primary);box-shadow:0 0 0 3px var(--tf-primary-alpha)}.tf-c5ea21{border-color:var(--tf-error)}.tf-c5ea21:focus{border-color:var(--tf-error);box-shadow:0 0 0 3px var(--tf-error-alpha)}.tf-9d4bba{font-size:var(--tf-font-base);color:var(--tf-error);padding:0 2px}.tf-cb9b60{padding:16px 20px 20px}.tf-2cba65{width:100%}.tf-2cba65:disabled{opacity:.5;cursor:not-allowed}.tf-9b71d6{padding:16px 20px 12px;display:flex;justify-content:space-between;align-items:center;gap:7px}.tf-4c9136{padding:0 20px 10px}.tf-febe61{font-size:var(--tf-font-sm);color:var(--tf-text-tertiary);font-weight:500;margin-bottom:6px;text-align:left}.tf-a27aab{display:flex;align-items:center;gap:10px;padding:8px 14px;background:var(--tf-input-bg);border-radius:12px;border:1px solid var(--tf-border-light)}.tf-f0b3f5{position:relative;flex-shrink:0}.tf-7a6fbc{position:absolute;bottom:-1px;right:-1px;width:12px;height:12px}.tf-e9e9a1{font-size:var(--tf-font-amount-sm);font-weight:700;letter-spacing:-.02em}.tf-f3baad{font-size:var(--tf-font-lg);font-weight:500;color:var(--tf-text-secondary)}.tf-0131e4{margin-left:auto;font-size:var(--tf-font-sm);color:var(--tf-text-tertiary);font-family:var(--tf-font-family-mono)}@keyframes tf-07c947{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.tf-dc5721{padding:18px 20px 0;display:flex;justify-content:space-between;align-items:center}.tf-68123c{display:flex;align-items:center;gap:7px}.tf-43dda9{visibility:hidden}.tf-532d07{width:22px;height:22px;object-fit:contain;flex-shrink:0}.tf-b7936a{font-size:var(--tf-font-xl);font-weight:600;letter-spacing:-.01em}.tf-883305{color:var(--tf-primary)}.tf-6da3db{display:flex;gap:6px;align-items:center;cursor:pointer;background:none;border:none;padding:4px 8px;border-radius:8px;font-family:inherit;transition:background .15s ease}.tf-6da3db:hover{background:var(--tf-surface-hover)}.tf-6da3db:focus-visible{outline:2px solid var(--tf-primary);outline-offset:2px}.tf-d25568{width:8px;height:8px;border-radius:50%;background:var(--tf-primary);box-shadow:0 0 8px var(--tf-primary-glow)}.tf-16ce7d{background:var(--tf-success);box-shadow:0 0 8px var(--tf-success)}.tf-11bb1d{font-size:var(--tf-font-base);color:var(--tf-text-secondary);font-family:var(--tf-font-family-mono)}.tf-98d625{padding:14px 20px 0;animation:tf-07c947 .3s ease both}.tf-8b7743{padding:0 20px;animation:tf-07c947 .35s ease both}.tf-677ece{background:var(--tf-input-bg);border-radius:14px;padding:14px 16px;border:1px solid var(--tf-border-light);transition:border-color .2s,background .25s ease,box-shadow .2s ease}.tf-635915{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.tf-b8a04a{display:inline-flex;align-items:center;gap:8px}.tf-0d1ef8{font-size:var(--tf-font-base);color:var(--tf-text-tertiary);font-weight:500;text-align:left}.tf-d04a4e{font-size:var(--tf-font-sm);color:var(--tf-text-tertiary);font-family:var(--tf-font-family-mono)}.tf-d7140f{display:flex;justify-content:space-between;align-items:center}.tf-dcd620{display:flex;align-items:center;gap:8px;background:var(--tf-surface);border-radius:10px;padding:6px 12px 6px 8px;height:36px;box-sizing:border-box;border:1px solid var(--tf-border);cursor:pointer;flex-shrink:0;font-family:var(--tf-font-family);transition:background .15s ease,border-color .15s ease,transform .1s ease}.tf-dcd620:hover{background:var(--tf-surface-hover);transform:scale(1.02)}.tf-e25a5c{padding:0 12px}.tf-038cf1{font-size:var(--tf-font-lg);font-weight:600;color:var(--tf-text)}.tf-33c9cb{font-size:var(--tf-font-md);font-weight:600;color:var(--tf-primary)}.tf-b1e4a6{font-size:var(--tf-font-xs);color:var(--tf-text-tertiary)}.tf-d168ae{display:flex;justify-content:space-between;align-items:center;margin-top:6px;min-height:16px;font-size:var(--tf-font-base);line-height:100%}.tf-b2b098{margin-top:6px;min-height:16px;display:flex;align-items:center}.tf-92acfd{display:inline-block;min-height:16px;font-size:var(--tf-font-base);line-height:100%;color:var(--tf-text-tertiary)}.tf-bd2f5c{visibility:hidden}.tf-5f8805{font-size:var(--tf-font-sm);font-weight:600;color:var(--tf-primary);background:var(--tf-primary-light);border:none;padding:2px 8px;border-radius:6px;cursor:pointer;font-family:var(--tf-font-family)}.tf-5f8805:hover{opacity:.8}.tf-af41ab{display:flex;justify-content:center;margin:-6px 0;position:relative;z-index:2}.tf-18c3f4{width:36px;height:36px;padding:0;appearance:none;-webkit-appearance:none;border-radius:10px;background:var(--tf-surface);border:3px solid var(--tf-bg);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 8px #0000000f;font-size:var(--tf-font-lg);color:var(--tf-text-secondary);transition:transform .2s ease,background .15s ease,color .15s ease}.tf-18c3f4:hover{transform:scale(1.1);color:var(--tf-primary)}.tf-18c3f4:active{transform:scale(.95) rotate(180deg)}.tf-a04b23{position:relative;flex-shrink:0}.tf-57762e{position:absolute;bottom:-2px;right:-2px}
|
package/dist/zh-CN-DVc1QrCz.js
DELETED
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
const zhCN = {
|
|
2
|
-
"swap.title": "TokenFlight",
|
|
3
|
-
"swap.youPay": "支付",
|
|
4
|
-
"swap.youReceive": "收到",
|
|
5
|
-
"swap.balance": "余额: {balance}",
|
|
6
|
-
"swap.selectToken": "选择代币",
|
|
7
|
-
"swap.connectWallet": "连接钱包",
|
|
8
|
-
"swap.reviewSwap": "查看兑换",
|
|
9
|
-
"swap.confirmSwap": "确认兑换",
|
|
10
|
-
"swap.executing": "执行中...",
|
|
11
|
-
"swap.success": "兑换成功",
|
|
12
|
-
"swap.error.generic": "交易失败 — 重试",
|
|
13
|
-
"swap.viewExplorer": "在浏览器中查看",
|
|
14
|
-
"swap.max": "最大",
|
|
15
|
-
"swap.rate": "汇率",
|
|
16
|
-
"swap.fee": "费用",
|
|
17
|
-
"swap.estTime": "预计时间",
|
|
18
|
-
"swap.poweredBy": "由",
|
|
19
|
-
"swap.approx": "~{value}",
|
|
20
|
-
"swap.fiatValue": "≈ ${value}",
|
|
21
|
-
"swap.account": "钱包账户",
|
|
22
|
-
"swap.recipient": "接收地址",
|
|
23
|
-
"swap.required": "必填",
|
|
24
|
-
"swap.recipientPlaceholder": "输入目标地址",
|
|
25
|
-
"swap.enterRecipient": "输入收款地址",
|
|
26
|
-
"swap.recipientTitle": "收款地址",
|
|
27
|
-
"swap.recipientConfirm": "确认",
|
|
28
|
-
"swap.recipientInvalid": "此链地址格式无效",
|
|
29
|
-
"swap.noRoutesAvailable": "暂无可用路由",
|
|
30
|
-
"receive.title": "TokenFlight",
|
|
31
|
-
"receive.youReceive": "您将收到",
|
|
32
|
-
"receive.payWith": "使用支付",
|
|
33
|
-
"receive.buy": "购买 {amount} {symbol}",
|
|
34
|
-
"receive.processing": "处理中...",
|
|
35
|
-
"receive.success": "购买完成",
|
|
36
|
-
"receive.noPaymentOptions": "没有可用的代币",
|
|
37
|
-
"receive.noPaymentHint": "浏览代币以选择支付方式",
|
|
38
|
-
"receive.connectToSeeTokens": "连接钱包以查看支付选项",
|
|
39
|
-
"receive.findingBestSource": "正在寻找最优来源...",
|
|
40
|
-
"receive.noOfferAvailable": "暂无可用报价",
|
|
41
|
-
"receive.browseAll": "浏览所有代币",
|
|
42
|
-
"receive.changePayment": "更换支付代币",
|
|
43
|
-
"receive.best": "最佳",
|
|
44
|
-
"receive.fee": "费用: {value}",
|
|
45
|
-
"receive.viewExplorer": "在浏览器中查看",
|
|
46
|
-
"selector.title.from": "选择支付代币",
|
|
47
|
-
"selector.title.to": "选择目标代币",
|
|
48
|
-
"selector.search": "按名称或地址搜索",
|
|
49
|
-
"selector.allChains": "所有链",
|
|
50
|
-
"selector.noResults": "未找到代币",
|
|
51
|
-
"tracking.step1.title": "已签名",
|
|
52
|
-
"tracking.step1.subtitle": "签名已提交",
|
|
53
|
-
"tracking.step1.signing": "钱包签名",
|
|
54
|
-
"tracking.step1.signingSubtitle": "请在钱包中确认...",
|
|
55
|
-
"tracking.step2.title": "在 {chain} 上存入",
|
|
56
|
-
"tracking.step2.waiting": "等待确认中...",
|
|
57
|
-
"tracking.step2.confirmed": "已上链确认",
|
|
58
|
-
"tracking.step3.title": "提供商正在执行订单",
|
|
59
|
-
"tracking.step3.subtitle": "通过 {provider}",
|
|
60
|
-
"tracking.step3.expired": "订单已过期",
|
|
61
|
-
"tracking.step3.expiredSubtitle": "无做市商接受此订单",
|
|
62
|
-
"tracking.step3.failed": "订单失败",
|
|
63
|
-
"tracking.step3.failedSubtitle": "无法完成",
|
|
64
|
-
"tracking.step4.title": "已在 {chain} 上完成",
|
|
65
|
-
"tracking.step4.subtitle": "代币已送达",
|
|
66
|
-
"tracking.step4.refundPending": "退款进行中",
|
|
67
|
-
"tracking.step4.refundSubtitle": "正在 {chain} 上退还代币",
|
|
68
|
-
"tracking.step4.failed": "订单失败",
|
|
69
|
-
"tracking.step4.failedSubtitle": "交付未成功",
|
|
70
|
-
"tracking.viewOnExplorer": "查看",
|
|
71
|
-
"tracking.retry": "重试",
|
|
72
|
-
"tracking.via": "通过 {provider}",
|
|
73
|
-
"failure.title": "订单失败",
|
|
74
|
-
"failure.refundedTitle": "订单已退款",
|
|
75
|
-
"failure.subtitle": "您的订单无法完成。",
|
|
76
|
-
"failure.refundedSubtitle": "您的资金已退回钱包。",
|
|
77
|
-
"failure.refundAmount": "已退款",
|
|
78
|
-
"failure.refundTx": "退款交易",
|
|
79
|
-
"success.title": "交易完成",
|
|
80
|
-
"success.tokensLanded": "代币已到账!",
|
|
81
|
-
"success.deliveredIn": "{seconds}秒内送达",
|
|
82
|
-
"success.delivered": "您的代币已送达",
|
|
83
|
-
"success.onChain": "在 {chain} 上",
|
|
84
|
-
"success.journeyDetails": "交易详情",
|
|
85
|
-
"success.from": "发送",
|
|
86
|
-
"success.to": "接收",
|
|
87
|
-
"success.sender": "发送方",
|
|
88
|
-
"success.recipient": "接收方",
|
|
89
|
-
"success.depositTx": "存入交易",
|
|
90
|
-
"success.fillTx": "完成交易",
|
|
91
|
-
"success.provider": "提供商",
|
|
92
|
-
"success.sent": "已发送",
|
|
93
|
-
"success.received": "已收到",
|
|
94
|
-
"success.viewExplorer": "在浏览器中查看",
|
|
95
|
-
"success.newSwap": "新交易",
|
|
96
|
-
"success.newPurchase": "新购买",
|
|
97
|
-
"error.invalidConfig": "配置无效",
|
|
98
|
-
"error.walletNotConnected": "钱包未连接",
|
|
99
|
-
"error.transactionFailed": "交易失败",
|
|
100
|
-
"error.quoteFailed": "获取报价失败",
|
|
101
|
-
"error.timeout": "请求超时",
|
|
102
|
-
"error.insufficientBalance": "余额不足",
|
|
103
|
-
"error.walletChainMismatch": "钱包地址与源链不匹配",
|
|
104
|
-
"swap.swapTokens": "切换代币",
|
|
105
|
-
"selector.close": "关闭",
|
|
106
|
-
"time.seconds": "~{value}秒",
|
|
107
|
-
"time.minutes": "~{value}分钟",
|
|
108
|
-
"quote.refresh": "报价刷新",
|
|
109
|
-
"amount.zero": "0"
|
|
110
|
-
};
|
|
111
|
-
export {
|
|
112
|
-
zhCN as default
|
|
113
|
-
};
|
package/dist/zh-TW-t3fL4aXT.js
DELETED
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
const zhTW = {
|
|
2
|
-
"swap.title": "TokenFlight",
|
|
3
|
-
"swap.youPay": "支付",
|
|
4
|
-
"swap.youReceive": "收到",
|
|
5
|
-
"swap.balance": "餘額: {balance}",
|
|
6
|
-
"swap.selectToken": "選擇代幣",
|
|
7
|
-
"swap.connectWallet": "連接錢包",
|
|
8
|
-
"swap.reviewSwap": "查看兌換",
|
|
9
|
-
"swap.confirmSwap": "確認兌換",
|
|
10
|
-
"swap.executing": "執行中...",
|
|
11
|
-
"swap.success": "兌換成功",
|
|
12
|
-
"swap.error.generic": "交易失敗 — 重試",
|
|
13
|
-
"swap.viewExplorer": "在瀏覽器中查看",
|
|
14
|
-
"swap.max": "最大",
|
|
15
|
-
"swap.rate": "匯率",
|
|
16
|
-
"swap.fee": "費用",
|
|
17
|
-
"swap.estTime": "預計時間",
|
|
18
|
-
"swap.poweredBy": "由",
|
|
19
|
-
"swap.approx": "~{value}",
|
|
20
|
-
"swap.fiatValue": "≈ ${value}",
|
|
21
|
-
"swap.account": "錢包帳戶",
|
|
22
|
-
"swap.recipient": "接收地址",
|
|
23
|
-
"swap.required": "必填",
|
|
24
|
-
"swap.recipientPlaceholder": "輸入目標地址",
|
|
25
|
-
"swap.enterRecipient": "輸入收款地址",
|
|
26
|
-
"swap.recipientTitle": "收款地址",
|
|
27
|
-
"swap.recipientConfirm": "確認",
|
|
28
|
-
"swap.recipientInvalid": "此鏈地址格式無效",
|
|
29
|
-
"swap.noRoutesAvailable": "暫無可用路由",
|
|
30
|
-
"receive.title": "TokenFlight",
|
|
31
|
-
"receive.youReceive": "您將收到",
|
|
32
|
-
"receive.payWith": "使用支付",
|
|
33
|
-
"receive.buy": "購買 {amount} {symbol}",
|
|
34
|
-
"receive.processing": "處理中...",
|
|
35
|
-
"receive.success": "購買完成",
|
|
36
|
-
"receive.noPaymentOptions": "沒有可用的代幣",
|
|
37
|
-
"receive.noPaymentHint": "瀏覽代幣以選擇支付方式",
|
|
38
|
-
"receive.connectToSeeTokens": "連接錢包以查看支付選項",
|
|
39
|
-
"receive.findingBestSource": "正在尋找最優來源...",
|
|
40
|
-
"receive.noOfferAvailable": "暫無可用報價",
|
|
41
|
-
"receive.browseAll": "瀏覽所有代幣",
|
|
42
|
-
"receive.changePayment": "更換支付代幣",
|
|
43
|
-
"receive.best": "最佳",
|
|
44
|
-
"receive.fee": "費用: {value}",
|
|
45
|
-
"receive.viewExplorer": "在瀏覽器中查看",
|
|
46
|
-
"selector.title.from": "選擇支付代幣",
|
|
47
|
-
"selector.title.to": "選擇目標代幣",
|
|
48
|
-
"selector.search": "按名稱或地址搜索",
|
|
49
|
-
"selector.allChains": "所有鏈",
|
|
50
|
-
"selector.noResults": "未找到代幣",
|
|
51
|
-
"tracking.step1.title": "已簽名",
|
|
52
|
-
"tracking.step1.subtitle": "簽名已提交",
|
|
53
|
-
"tracking.step1.signing": "錢包簽名",
|
|
54
|
-
"tracking.step1.signingSubtitle": "請在錢包中確認...",
|
|
55
|
-
"tracking.step2.title": "在 {chain} 上存入",
|
|
56
|
-
"tracking.step2.waiting": "等待確認中...",
|
|
57
|
-
"tracking.step2.confirmed": "已上鏈確認",
|
|
58
|
-
"tracking.step3.title": "提供商正在執行訂單",
|
|
59
|
-
"tracking.step3.subtitle": "透過 {provider}",
|
|
60
|
-
"tracking.step3.expired": "訂單已過期",
|
|
61
|
-
"tracking.step3.expiredSubtitle": "無做市商接受此訂單",
|
|
62
|
-
"tracking.step3.failed": "訂單失敗",
|
|
63
|
-
"tracking.step3.failedSubtitle": "無法完成",
|
|
64
|
-
"tracking.step4.title": "已在 {chain} 上完成",
|
|
65
|
-
"tracking.step4.subtitle": "代幣已送達",
|
|
66
|
-
"tracking.step4.refundPending": "退款進行中",
|
|
67
|
-
"tracking.step4.refundSubtitle": "正在 {chain} 上退還代幣",
|
|
68
|
-
"tracking.step4.failed": "訂單失敗",
|
|
69
|
-
"tracking.step4.failedSubtitle": "交付未成功",
|
|
70
|
-
"tracking.viewOnExplorer": "查看",
|
|
71
|
-
"tracking.retry": "重試",
|
|
72
|
-
"tracking.via": "透過 {provider}",
|
|
73
|
-
"failure.title": "訂單失敗",
|
|
74
|
-
"failure.refundedTitle": "訂單已退款",
|
|
75
|
-
"failure.subtitle": "您的訂單無法完成。",
|
|
76
|
-
"failure.refundedSubtitle": "您的資金已退回錢包。",
|
|
77
|
-
"failure.refundAmount": "已退款",
|
|
78
|
-
"failure.refundTx": "退款交易",
|
|
79
|
-
"success.title": "交易完成",
|
|
80
|
-
"success.tokensLanded": "代幣已到帳!",
|
|
81
|
-
"success.deliveredIn": "{seconds}秒內送達",
|
|
82
|
-
"success.delivered": "您的代幣已送達",
|
|
83
|
-
"success.onChain": "在 {chain} 上",
|
|
84
|
-
"success.journeyDetails": "交易詳情",
|
|
85
|
-
"success.from": "發送",
|
|
86
|
-
"success.to": "接收",
|
|
87
|
-
"success.sender": "發送方",
|
|
88
|
-
"success.recipient": "接收方",
|
|
89
|
-
"success.depositTx": "存入交易",
|
|
90
|
-
"success.fillTx": "完成交易",
|
|
91
|
-
"success.provider": "提供商",
|
|
92
|
-
"success.sent": "已發送",
|
|
93
|
-
"success.received": "已收到",
|
|
94
|
-
"success.viewExplorer": "在瀏覽器中查看",
|
|
95
|
-
"success.newSwap": "新交易",
|
|
96
|
-
"success.newPurchase": "新購買",
|
|
97
|
-
"error.invalidConfig": "配置無效",
|
|
98
|
-
"error.walletNotConnected": "錢包未連接",
|
|
99
|
-
"error.transactionFailed": "交易失敗",
|
|
100
|
-
"error.quoteFailed": "獲取報價失敗",
|
|
101
|
-
"error.timeout": "請求超時",
|
|
102
|
-
"error.insufficientBalance": "餘額不足",
|
|
103
|
-
"error.walletChainMismatch": "錢包地址與源鏈不匹配",
|
|
104
|
-
"swap.swapTokens": "切換代幣",
|
|
105
|
-
"selector.close": "關閉",
|
|
106
|
-
"time.seconds": "~{value}秒",
|
|
107
|
-
"time.minutes": "~{value}分鐘",
|
|
108
|
-
"quote.refresh": "報價刷新",
|
|
109
|
-
"amount.zero": "0"
|
|
110
|
-
};
|
|
111
|
-
export {
|
|
112
|
-
zhTW as default
|
|
113
|
-
};
|