@taskon/widget-react 0.0.1-beta.5 → 0.0.1-beta.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/README.md +61 -47
  2. package/dist/CommunityTaskList.css +9 -1
  3. package/dist/EligibilityInfo.css +48 -75
  4. package/dist/LeaderboardWidget.css +73 -71
  5. package/dist/PageBuilder.css +5 -0
  6. package/dist/Quest.css +18 -14
  7. package/dist/TaskOnProvider.css +289 -0
  8. package/dist/ThemeProvider.css +227 -0
  9. package/dist/UserCenterWidget.css +6 -6
  10. package/dist/UserCenterWidget2.css +1388 -1621
  11. package/dist/{dynamic-import-helper.css → WidgetShell.css} +0 -227
  12. package/dist/chunks/{CommunityTaskList-CrMvOB8w.js → CommunityTaskList-D0uVD8wD.js} +393 -208
  13. package/dist/chunks/{EligibilityInfo-Beww12QX.js → EligibilityInfo-Cf6hx9-a.js} +459 -679
  14. package/dist/chunks/{LeaderboardWidget-DwuSpVl0.js → LeaderboardWidget-DyoiiNS6.js} +274 -252
  15. package/dist/chunks/{PageBuilder-DsX6Tv0N.js → PageBuilder-DoAFPm6-.js} +5 -5
  16. package/dist/chunks/{Quest-CuD2LElS.js → Quest-ySZlYd4u.js} +74 -57
  17. package/dist/chunks/TaskOnProvider-CxtFIs3n.js +2072 -0
  18. package/dist/chunks/{dynamic-import-helper-WmIF58Sb.js → ThemeProvider-CulHkqqY.js} +1282 -555
  19. package/dist/chunks/UserCenterWidget-BJsc_GSZ.js +3246 -0
  20. package/dist/chunks/{UserCenterWidget-CvU6K4AC.js → UserCenterWidget-STq8kpV4.js} +1174 -1386
  21. package/dist/chunks/WidgetShell-8xn-Jivw.js +659 -0
  22. package/dist/chunks/communitytask-es-CBNnS4o2.js +521 -0
  23. package/dist/chunks/communitytask-ja-GRf9cbdx.js +521 -0
  24. package/dist/chunks/communitytask-ko-Bf24PQKI.js +521 -0
  25. package/dist/chunks/{communitytask-ru-DhySaZL8.js → communitytask-ru-CZm2CPoV.js} +211 -1
  26. package/dist/chunks/leaderboardwidget-es-vKjrjQaz.js +146 -0
  27. package/dist/chunks/leaderboardwidget-ja-Q6u0HxKG.js +146 -0
  28. package/dist/chunks/leaderboardwidget-ko-CG6SWgxf.js +146 -0
  29. package/dist/chunks/leaderboardwidget-ru-DCcHcJGz.js +146 -0
  30. package/dist/chunks/{quest-es-D-b5xcme.js → quest-es-Dyyy0zaw.js} +8 -93
  31. package/dist/chunks/{quest-ja-Dxd2vqBF.js → quest-ja-Depog33y.js} +8 -93
  32. package/dist/chunks/{quest-ko-CSmRWgK_.js → quest-ko-BMu3uRQJ.js} +8 -93
  33. package/dist/chunks/{quest-ru-CkEKv1_F.js → quest-ru-xne814Rw.js} +8 -93
  34. package/dist/chunks/useIsMobile-D6Ybur-6.js +30 -0
  35. package/dist/chunks/useToast-BGJhd3BX.js +93 -0
  36. package/dist/chunks/usercenter-es-Dz3Wp2vV.js +512 -0
  37. package/dist/chunks/usercenter-ja-CKE4DJC6.js +512 -0
  38. package/dist/chunks/usercenter-ko-Dtpkn2qb.js +512 -0
  39. package/dist/chunks/usercenter-ru-DnBGee45.js +512 -0
  40. package/dist/community-task.d.ts +0 -390
  41. package/dist/community-task.js +2 -7
  42. package/dist/core.d.ts +38 -20
  43. package/dist/core.js +9 -10
  44. package/dist/index.d.ts +86 -709
  45. package/dist/index.js +22 -28
  46. package/dist/leaderboard.d.ts +0 -498
  47. package/dist/leaderboard.js +2 -16
  48. package/dist/page-builder.js +1 -1
  49. package/dist/quest.d.ts +0 -971
  50. package/dist/quest.js +2 -7
  51. package/dist/user-center.d.ts +0 -1610
  52. package/dist/user-center.js +2 -494
  53. package/package.json +2 -2
  54. package/dist/chunks/TaskOnProvider-xUeP2Nro.js +0 -1243
  55. package/dist/chunks/ThemeProvider-Bt4UZ33y.js +0 -1334
  56. package/dist/chunks/UserCenterWidget-CB0hnj-L.js +0 -3230
  57. package/dist/chunks/communitytask-es-1zawvXEX.js +0 -311
  58. package/dist/chunks/communitytask-ja-CmW6nP-L.js +0 -311
  59. package/dist/chunks/communitytask-ko-BD0hzQSi.js +0 -311
  60. package/dist/chunks/createLocaleLoader-BameiEhU.js +0 -65
  61. package/dist/chunks/leaderboardwidget-ja-Bj6gz6y1.js +0 -119
  62. package/dist/chunks/leaderboardwidget-ko-f1cLO9ic.js +0 -119
  63. package/dist/chunks/useToast-CaRkylKe.js +0 -304
  64. package/dist/chunks/usercenter-ja-B2465c1O.js +0 -326
  65. package/dist/chunks/usercenter-ko-xAEYxqLg.js +0 -326
@@ -1,304 +0,0 @@
1
- import { useContext, createContext, useMemo, useState, useCallback } from "react";
2
- const defaultWalletContext = {
3
- // EVM state
4
- evmAdapter: null,
5
- evmAddress: null,
6
- evmChainId: null,
7
- isEvmConnected: false,
8
- // Detection status
9
- isDetecting: true,
10
- // Actions (no-op by default)
11
- connectEvm: async () => null,
12
- disconnectEvm: async () => {
13
- },
14
- signEvmMessage: async () => null
15
- };
16
- const WalletContext = createContext(defaultWalletContext);
17
- function useWallet() {
18
- const context = useContext(WalletContext);
19
- return context;
20
- }
21
- function useEvmWallet() {
22
- const context = useWallet();
23
- return useMemo(
24
- () => ({
25
- adapter: context.evmAdapter,
26
- address: context.evmAddress,
27
- chainId: context.evmChainId,
28
- isConnected: context.isEvmConnected,
29
- connect: context.connectEvm,
30
- disconnect: context.disconnectEvm,
31
- signMessage: context.signEvmMessage
32
- }),
33
- [
34
- context.evmAdapter,
35
- context.evmAddress,
36
- context.evmChainId,
37
- context.isEvmConnected,
38
- context.connectEvm,
39
- context.disconnectEvm,
40
- context.signEvmMessage
41
- ]
42
- );
43
- }
44
- let ethersModule = null;
45
- const interfaceCache = /* @__PURE__ */ new Map();
46
- async function loadEthers() {
47
- if (ethersModule) {
48
- return ethersModule;
49
- }
50
- try {
51
- ethersModule = await import("ethers");
52
- return ethersModule;
53
- } catch {
54
- throw new Error(
55
- "ethers.js is required for contract invocation. Please install ethers@^6.0.0"
56
- );
57
- }
58
- }
59
- async function getInterface(abi) {
60
- const { ethers } = await loadEthers();
61
- const cacheKey = JSON.stringify(abi);
62
- let iface = interfaceCache.get(cacheKey);
63
- if (!iface) {
64
- iface = new ethers.Interface(abi);
65
- interfaceCache.set(cacheKey, iface);
66
- }
67
- return iface;
68
- }
69
- function getEthereumProvider() {
70
- if (typeof window === "undefined") return null;
71
- return window.ethereum ?? null;
72
- }
73
- function buildEthereumAdapter(provider, initialAddress = null, initialChainId = null) {
74
- let currentAddress = initialAddress;
75
- let currentChainId = initialChainId;
76
- const adapter = {
77
- /**
78
- * Connect wallet
79
- */
80
- connect: async () => {
81
- const accounts = await provider.request({
82
- method: "eth_requestAccounts"
83
- });
84
- if (!accounts || accounts.length === 0) {
85
- throw new Error("No accounts found");
86
- }
87
- const address = accounts[0];
88
- if (!address) {
89
- throw new Error("No accounts found");
90
- }
91
- currentAddress = address;
92
- const chainIdHex = await provider.request({
93
- method: "eth_chainId"
94
- });
95
- currentChainId = parseInt(chainIdHex, 16);
96
- return address;
97
- },
98
- /**
99
- * Disconnect from wallet
100
- * Note: Most wallets don't support programmatic disconnect, can only clear local state
101
- */
102
- disconnect: async () => {
103
- currentAddress = null;
104
- currentChainId = null;
105
- },
106
- /**
107
- * Sign message (personal_sign)
108
- */
109
- signMessage: async (message) => {
110
- if (!currentAddress) {
111
- throw new Error("Wallet not connected");
112
- }
113
- const signature = await provider.request({
114
- method: "personal_sign",
115
- params: [message, currentAddress]
116
- });
117
- return signature;
118
- },
119
- /**
120
- * Get current address
121
- */
122
- getAddress: () => currentAddress,
123
- /**
124
- * Get current chain ID
125
- */
126
- getChainId: () => currentChainId,
127
- /**
128
- * Switch network
129
- */
130
- switchNetwork: async (chainId) => {
131
- const chainIdHex = `0x${chainId.toString(16)}`;
132
- try {
133
- await provider.request({
134
- method: "wallet_switchEthereumChain",
135
- params: [{ chainId: chainIdHex }]
136
- });
137
- currentChainId = chainId;
138
- } catch (error) {
139
- const err = error;
140
- if (err.code === 4902) {
141
- throw new Error("Chain not found in wallet. Please add the network manually.");
142
- }
143
- throw error;
144
- }
145
- },
146
- /**
147
- * Get wallet's native token balance (for gas estimation)
148
- * @returns Balance in ETH (string, formatted)
149
- */
150
- getBalance: async () => {
151
- if (!currentAddress) {
152
- throw new Error("Wallet not connected");
153
- }
154
- const balanceHex = await provider.request({
155
- method: "eth_getBalance",
156
- params: [currentAddress, "latest"]
157
- });
158
- const balanceWei = BigInt(balanceHex);
159
- const balanceEth = Number(balanceWei) / 1e18;
160
- return balanceEth.toString();
161
- },
162
- /**
163
- * Invoke a smart contract method
164
- *
165
- * 使用 ethers.js 编码合约调用,支持缓存优化:
166
- * - ethers 模块只加载一次
167
- * - 相同 ABI 的 Interface 实例会被缓存复用
168
- *
169
- * @param params - Contract invocation parameters
170
- * @returns Transaction hash
171
- */
172
- invokeContract: async (params) => {
173
- var _a;
174
- if (!currentAddress) {
175
- throw new Error("Wallet not connected");
176
- }
177
- const { contract, abi, method, params: methodParams, chainId, value } = params;
178
- if (chainId && currentChainId !== chainId) {
179
- await ((_a = adapter.switchNetwork) == null ? void 0 : _a.call(adapter, chainId));
180
- }
181
- let encodedData;
182
- try {
183
- const iface = await getInterface(abi);
184
- encodedData = iface.encodeFunctionData(method, methodParams);
185
- } catch (error) {
186
- if (error instanceof Error && error.message.includes("ethers.js is required")) {
187
- throw error;
188
- }
189
- throw new Error(
190
- `Failed to encode contract call "${method}": ${error instanceof Error ? error.message : String(error)}`
191
- );
192
- }
193
- const txParams = {
194
- from: currentAddress,
195
- to: contract,
196
- data: encodedData
197
- };
198
- if (value) {
199
- txParams.value = `0x${BigInt(value).toString(16)}`;
200
- }
201
- const txHash = await provider.request({
202
- method: "eth_sendTransaction",
203
- params: [txParams]
204
- });
205
- return txHash;
206
- },
207
- /**
208
- * Listen to account changes
209
- */
210
- onAccountChange: (callback) => {
211
- var _a;
212
- const handler = (accounts) => {
213
- const accountList = accounts;
214
- currentAddress = accountList[0] ?? null;
215
- callback(currentAddress);
216
- };
217
- (_a = provider.on) == null ? void 0 : _a.call(provider, "accountsChanged", handler);
218
- return () => {
219
- var _a2;
220
- return (_a2 = provider.removeListener) == null ? void 0 : _a2.call(provider, "accountsChanged", handler);
221
- };
222
- },
223
- /**
224
- * Listen to chain changes
225
- */
226
- onChainChange: (callback) => {
227
- var _a;
228
- const handler = (chainIdHex) => {
229
- currentChainId = parseInt(chainIdHex, 16);
230
- callback(currentChainId);
231
- };
232
- (_a = provider.on) == null ? void 0 : _a.call(provider, "chainChanged", handler);
233
- return () => {
234
- var _a2;
235
- return (_a2 = provider.removeListener) == null ? void 0 : _a2.call(provider, "chainChanged", handler);
236
- };
237
- }
238
- };
239
- return adapter;
240
- }
241
- function createEthereumAdapter() {
242
- const provider = getEthereumProvider();
243
- if (!provider) return null;
244
- return buildEthereumAdapter(provider);
245
- }
246
- function createEthereumAdapterFromProvider(provider, options = {}) {
247
- return buildEthereumAdapter(
248
- provider,
249
- options.address ?? null,
250
- options.chainId ?? null
251
- );
252
- }
253
- const ToastContext = createContext(null);
254
- function useToast() {
255
- const context = useContext(ToastContext);
256
- if (!context) {
257
- throw new Error("useToast must be used within TaskOnProvider");
258
- }
259
- return context;
260
- }
261
- let toastId = 0;
262
- function generateId() {
263
- return `toast-${++toastId}-${Date.now()}`;
264
- }
265
- function useToastState() {
266
- const [toasts, setToasts] = useState([]);
267
- const showToast = useCallback(
268
- (message, type = "info", duration) => {
269
- const newToast = {
270
- id: generateId(),
271
- message,
272
- type,
273
- duration
274
- };
275
- setToasts((prev) => [...prev, newToast]);
276
- },
277
- []
278
- );
279
- const removeToast = useCallback((id) => {
280
- setToasts((prev) => prev.filter((t) => t.id !== id));
281
- }, []);
282
- const toast = {
283
- success: (message, duration) => showToast(message, "success", duration),
284
- error: (message, duration) => showToast(message, "error", duration),
285
- warning: (message, duration) => showToast(message, "warning", duration),
286
- info: (message, duration) => showToast(message, "info", duration)
287
- };
288
- return {
289
- toasts,
290
- showToast,
291
- removeToast,
292
- toast
293
- };
294
- }
295
- export {
296
- ToastContext as T,
297
- WalletContext as W,
298
- useEvmWallet as a,
299
- useToastState as b,
300
- createEthereumAdapter as c,
301
- useToast as d,
302
- createEthereumAdapterFromProvider as e,
303
- useWallet as u
304
- };
@@ -1,326 +0,0 @@
1
- const tabMyRewards = "マイリワード";
2
- const tabIdentity = "アイデンティティ";
3
- const tabActivityHistory = "アクティビティ履歴";
4
- const rewardToken = "トークン";
5
- const rewardXpLevel = "XP & レベル";
6
- const rewardNft = "NFT";
7
- const rewardWhitelist = "ホワイトリスト";
8
- const rewardDiscordRole = "Discord ロール";
9
- const rewardPoints = "ポイント";
10
- const withdrawableAssets = "引き出し可能な資産";
11
- const tokenHistory = "トークン履歴";
12
- const withdraw = "引き出し";
13
- const batchWithdraw = "一括引き出し";
14
- const frozenAssets = "凍結資産";
15
- const resend = "再送信";
16
- const pendingWithdrawals = "{count}件の保留中の引き出しがあります";
17
- const withdrawConfirm = "引き出しの確認";
18
- const withdrawSuccess = "引き出し成功";
19
- const withdrawCanceled = "引き出しキャンセル";
20
- const gasNotEnough = "ガス不足";
21
- const retry = "再試行";
22
- const confirmWithdraw = "引き出しを確認";
23
- const withdrawing = "引き出し処理中...";
24
- const confirm = "確認";
25
- const cancel = "キャンセル";
26
- const close = "閉じる";
27
- const columnDetail = "詳細";
28
- const columnDuration = "期間";
29
- const activityName = "アクティビティ名";
30
- const activityTime = "アクティビティ時間";
31
- const level = "レベル";
32
- const totalXp = "合計XP";
33
- const xpToNextLevel = "次のレベルまで";
34
- const xpHistory = "XP履歴";
35
- const totalPoints = "合計";
36
- const emptyPoints = "ポイント履歴はまだありません";
37
- const pointsHistory = "ポイント履歴";
38
- const page = "ページ";
39
- const of = "/";
40
- const previous = "前へ";
41
- const next = "次へ";
42
- const loadMore = "もっと読み込む";
43
- const showing = "{start}-{end} / {total}件を表示";
44
- const socialAccounts = "ソーシャルアカウント";
45
- const walletAddresses = "ネットワークリスト";
46
- const emailAddress = "メールアドレス";
47
- const bind = "連携";
48
- const unbind = "解除";
49
- const connectWallet = "ウォレット接続";
50
- const binding = "連携中...";
51
- const unbinding = "解除中...";
52
- const bindSocialTodo = "OAuth連携は近日公開予定です";
53
- const confirmUnbind = "連携解除の確認";
54
- const unbindWarning = "このアカウントの連携を解除しますか?";
55
- const kycWarning = "このアドレスはKYC認証済みです。連携解除後、再度連携する場合はKYC再認証が必要になります。";
56
- const unbindCooldown = "連携から24時間以内は解除できません";
57
- const lastLoginMethod = "最後のログイン方法は解除できません";
58
- const unbindSuccess = "連携解除成功";
59
- const unbindFailed = "連携解除失敗";
60
- const bindSuccess = "連携成功";
61
- const bindFailed = "連携失敗";
62
- const connectingWallet = "ウォレット接続中...";
63
- const signingMessage = "署名中...";
64
- const emptyIdentity = "設定された認証オプションがありません";
65
- const linkEmailAccount = "メールアドレスを連携";
66
- const pleaseEnterEmail = "メールアドレスを入力してください";
67
- const pleaseEnterValidEmail = "有効なメールアドレスを入力してください";
68
- const verificationCode = "認証コード";
69
- const pleaseEnterCode = "認証コードを入力してください";
70
- const pleaseEnterValidCode = "有効な認証コードを入力してください";
71
- const sendVerificationCode = "認証コードを送信";
72
- const resendCode = "再送信";
73
- const emailAlreadyLinked = "このメールアドレスは既に他のアカウントに連携されています";
74
- const sendCodeSuccess = "認証コードを送信しました";
75
- const sendCodeFailed = "認証コードの送信に失敗しました";
76
- const columnTokenSymbol = "トークンシンボル";
77
- const columnNetwork = "ネットワーク";
78
- const columnWithdrawable = "引き出し可能";
79
- const columnAction = "アクション";
80
- const ok = "OK";
81
- const claimNft = "NFTを請求";
82
- const linked = "連携済み";
83
- const linkPlatformAccount = "{platform}アカウントを連携";
84
- const withdrawCanceledMessage = "引き出しがキャンセルされました。再試行できます。";
85
- const frozenTypeCampaign = "キャンペーン凍結";
86
- const frozenTypeWithdraw = "引き出し保留中";
87
- const frozenTypeReferral = "紹介報酬凍結";
88
- const frozenTypeBenefit = "特典凍結";
89
- const frozenTypeTgMiniApp = "TG Mini App";
90
- const frozenTypeMilestone = "マイルストーン凍結";
91
- const loading = "読み込み中...";
92
- const error = "エラーが発生しました";
93
- const emptyRewards = "リワードはまだありません";
94
- const emptyActivityHistory = "アクティビティ履歴はありません";
95
- const emptyToken = "トークンはまだありません";
96
- const emptyNft = "NFTはまだありません";
97
- const noData = "データがありません";
98
- const claim = "請求";
99
- const claimedTxn = "請求済み (Txn)";
100
- const manualDrop = "手動配布";
101
- const columnNft = "NFT";
102
- const columnWhitelist = "ホワイトリスト";
103
- const columnDiscordRole = "Discord ロール";
104
- const columnTime = "時間";
105
- const columnStatus = "ステータス";
106
- const columnAmount = "数量";
107
- const walletNotBind = "引き出す前にウォレットを連携してください";
108
- const ja = {
109
- tabMyRewards,
110
- tabIdentity,
111
- tabActivityHistory,
112
- rewardToken,
113
- rewardXpLevel,
114
- rewardNft,
115
- rewardWhitelist,
116
- rewardDiscordRole,
117
- rewardPoints,
118
- withdrawableAssets,
119
- tokenHistory,
120
- withdraw,
121
- batchWithdraw,
122
- frozenAssets,
123
- resend,
124
- pendingWithdrawals,
125
- withdrawConfirm,
126
- withdrawSuccess,
127
- withdrawCanceled,
128
- gasNotEnough,
129
- retry,
130
- confirmWithdraw,
131
- withdrawing,
132
- confirm,
133
- cancel,
134
- close,
135
- columnDetail,
136
- columnDuration,
137
- activityName,
138
- activityTime,
139
- level,
140
- totalXp,
141
- xpToNextLevel,
142
- xpHistory,
143
- totalPoints,
144
- emptyPoints,
145
- pointsHistory,
146
- page,
147
- of,
148
- previous,
149
- next,
150
- loadMore,
151
- showing,
152
- socialAccounts,
153
- walletAddresses,
154
- emailAddress,
155
- bind,
156
- unbind,
157
- connectWallet,
158
- binding,
159
- unbinding,
160
- bindSocialTodo,
161
- confirmUnbind,
162
- unbindWarning,
163
- kycWarning,
164
- unbindCooldown,
165
- lastLoginMethod,
166
- unbindSuccess,
167
- unbindFailed,
168
- bindSuccess,
169
- bindFailed,
170
- connectingWallet,
171
- signingMessage,
172
- emptyIdentity,
173
- linkEmailAccount,
174
- pleaseEnterEmail,
175
- pleaseEnterValidEmail,
176
- verificationCode,
177
- pleaseEnterCode,
178
- pleaseEnterValidCode,
179
- sendVerificationCode,
180
- resendCode,
181
- emailAlreadyLinked,
182
- sendCodeSuccess,
183
- sendCodeFailed,
184
- columnTokenSymbol,
185
- columnNetwork,
186
- columnWithdrawable,
187
- columnAction,
188
- ok,
189
- claimNft,
190
- linked,
191
- linkPlatformAccount,
192
- withdrawCanceledMessage,
193
- frozenTypeCampaign,
194
- frozenTypeWithdraw,
195
- frozenTypeReferral,
196
- frozenTypeBenefit,
197
- frozenTypeTgMiniApp,
198
- frozenTypeMilestone,
199
- loading,
200
- error,
201
- emptyRewards,
202
- emptyActivityHistory,
203
- emptyToken,
204
- emptyNft,
205
- noData,
206
- claim,
207
- claimedTxn,
208
- manualDrop,
209
- columnNft,
210
- columnWhitelist,
211
- columnDiscordRole,
212
- columnTime,
213
- columnStatus,
214
- columnAmount,
215
- walletNotBind
216
- };
217
- export {
218
- activityName,
219
- activityTime,
220
- batchWithdraw,
221
- bind,
222
- bindFailed,
223
- bindSocialTodo,
224
- bindSuccess,
225
- binding,
226
- cancel,
227
- claim,
228
- claimNft,
229
- claimedTxn,
230
- close,
231
- columnAction,
232
- columnAmount,
233
- columnDetail,
234
- columnDiscordRole,
235
- columnDuration,
236
- columnNetwork,
237
- columnNft,
238
- columnStatus,
239
- columnTime,
240
- columnTokenSymbol,
241
- columnWhitelist,
242
- columnWithdrawable,
243
- confirm,
244
- confirmUnbind,
245
- confirmWithdraw,
246
- connectWallet,
247
- connectingWallet,
248
- ja as default,
249
- emailAddress,
250
- emailAlreadyLinked,
251
- emptyActivityHistory,
252
- emptyIdentity,
253
- emptyNft,
254
- emptyPoints,
255
- emptyRewards,
256
- emptyToken,
257
- error,
258
- frozenAssets,
259
- frozenTypeBenefit,
260
- frozenTypeCampaign,
261
- frozenTypeMilestone,
262
- frozenTypeReferral,
263
- frozenTypeTgMiniApp,
264
- frozenTypeWithdraw,
265
- gasNotEnough,
266
- kycWarning,
267
- lastLoginMethod,
268
- level,
269
- linkEmailAccount,
270
- linkPlatformAccount,
271
- linked,
272
- loadMore,
273
- loading,
274
- manualDrop,
275
- next,
276
- noData,
277
- of,
278
- ok,
279
- page,
280
- pendingWithdrawals,
281
- pleaseEnterCode,
282
- pleaseEnterEmail,
283
- pleaseEnterValidCode,
284
- pleaseEnterValidEmail,
285
- pointsHistory,
286
- previous,
287
- resend,
288
- resendCode,
289
- retry,
290
- rewardDiscordRole,
291
- rewardNft,
292
- rewardPoints,
293
- rewardToken,
294
- rewardWhitelist,
295
- rewardXpLevel,
296
- sendCodeFailed,
297
- sendCodeSuccess,
298
- sendVerificationCode,
299
- showing,
300
- signingMessage,
301
- socialAccounts,
302
- tabActivityHistory,
303
- tabIdentity,
304
- tabMyRewards,
305
- tokenHistory,
306
- totalPoints,
307
- totalXp,
308
- unbind,
309
- unbindCooldown,
310
- unbindFailed,
311
- unbindSuccess,
312
- unbindWarning,
313
- unbinding,
314
- verificationCode,
315
- walletAddresses,
316
- walletNotBind,
317
- withdraw,
318
- withdrawCanceled,
319
- withdrawCanceledMessage,
320
- withdrawConfirm,
321
- withdrawSuccess,
322
- withdrawableAssets,
323
- withdrawing,
324
- xpHistory,
325
- xpToNextLevel
326
- };