@subwallet/extension-base 1.0.4-0 → 1.0.5-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.
Files changed (169) hide show
  1. package/background/KoniTypes.d.ts +37 -16
  2. package/background/KoniTypes.js +2 -0
  3. package/background/errors/TransactionError.js +4 -0
  4. package/background/handlers/State.d.ts +1 -1
  5. package/background/handlers/State.js +2 -8
  6. package/background/handlers/subscriptions.js +0 -1
  7. package/background/types.d.ts +2 -2
  8. package/cjs/background/KoniTypes.js +2 -0
  9. package/cjs/background/errors/TransactionError.js +4 -0
  10. package/cjs/background/handlers/State.js +1 -7
  11. package/cjs/background/handlers/subscriptions.js +0 -1
  12. package/cjs/constants/index.js +6 -6
  13. package/cjs/koni/api/coingecko.js +1 -4
  14. package/cjs/koni/api/dotsama/balance.js +7 -5
  15. package/cjs/koni/api/dotsama/crowdloan.js +0 -4
  16. package/cjs/koni/api/dotsama/transfer.js +0 -4
  17. package/cjs/koni/api/nft/acala_nft/index.js +1 -1
  18. package/cjs/koni/api/nft/bit.country/index.js +1 -1
  19. package/cjs/koni/api/nft/evm_nft/index.js +2 -3
  20. package/cjs/koni/api/nft/index.js +1 -2
  21. package/cjs/koni/api/nft/karura_nft/index.js +1 -1
  22. package/cjs/koni/api/nft/quartz_nft/index.js +1 -1
  23. package/cjs/koni/api/nft/rmrk_nft/index.js +2 -3
  24. package/cjs/koni/api/nft/statemine_nft/index.js +1 -1
  25. package/cjs/koni/api/nft/transfer.js +5 -5
  26. package/cjs/koni/api/nft/unique_nft/index.js +1 -1
  27. package/cjs/koni/api/nft/unique_nft/uniqueNftV2.js +0 -1
  28. package/cjs/koni/api/nft/wasm_nft/index.js +1 -2
  29. package/cjs/koni/api/staking/bonding/amplitude.js +9 -2
  30. package/cjs/koni/api/staking/bonding/astar.js +37 -13
  31. package/cjs/koni/api/staking/bonding/paraChain.js +10 -2
  32. package/cjs/koni/api/staking/bonding/relayChain.js +21 -4
  33. package/cjs/koni/api/staking/bonding/utils.js +4 -0
  34. package/cjs/koni/api/staking/relayChain.js +0 -1
  35. package/cjs/koni/api/staking/subsquidStaking.js +0 -2
  36. package/cjs/koni/api/tokens/wasm/index.js +0 -1
  37. package/cjs/koni/api/tokens/wasm/utils.js +0 -1
  38. package/cjs/koni/api/xcm/index.js +0 -1
  39. package/cjs/koni/background/cron.js +0 -45
  40. package/cjs/koni/background/handlers/Extension.js +204 -132
  41. package/cjs/koni/background/handlers/State.js +30 -3
  42. package/cjs/koni/background/handlers/Tabs.js +34 -2
  43. package/cjs/koni/background/handlers/index.js +3 -2
  44. package/cjs/koni/background/subscription.js +0 -26
  45. package/cjs/packageInfo.js +1 -1
  46. package/cjs/services/chain-service/constants.js +1 -1
  47. package/cjs/services/chain-service/handler/EvmChainHandler.js +1 -1
  48. package/cjs/services/chain-service/handler/SubstrateChainHandler.js +3 -10
  49. package/cjs/services/chain-service/handler/light-client/index.js +9 -6
  50. package/cjs/services/chain-service/index.js +75 -28
  51. package/cjs/services/chain-service/utils.js +3 -0
  52. package/cjs/services/history-service/helpers/recoverHistoryStatus.js +108 -0
  53. package/cjs/services/history-service/index.js +60 -5
  54. package/cjs/services/history-service/subsquid-multi-chain-history.js +3 -2
  55. package/cjs/services/history-service/testChainMap.js +724 -0
  56. package/cjs/services/keyring-service/index.js +9 -2
  57. package/cjs/services/migration-service/index.js +7 -7
  58. package/cjs/services/migration-service/scripts/MigrateAuthUrls.js +39 -0
  59. package/cjs/services/migration-service/scripts/MigrateAutoLock.js +30 -0
  60. package/cjs/services/migration-service/scripts/MigrateChainPatrol.js +30 -0
  61. package/cjs/services/migration-service/scripts/index.js +7 -1
  62. package/cjs/services/price-service/coingecko.js +1 -1
  63. package/cjs/services/price-service/index.js +0 -4
  64. package/cjs/services/request-service/handler/AuthRequestHandler.js +8 -1
  65. package/cjs/services/request-service/handler/EvmRequestHandler.js +21 -0
  66. package/cjs/services/request-service/handler/MetadataRequestHandler.js +6 -0
  67. package/cjs/services/request-service/handler/SubstrateRequestHandler.js +6 -0
  68. package/cjs/services/request-service/index.js +6 -0
  69. package/cjs/services/setting-service/SettingService.js +4 -9
  70. package/cjs/services/setting-service/constants.js +18 -2
  71. package/cjs/services/storage-service/DatabaseService.js +16 -44
  72. package/cjs/services/storage-service/databases/index.js +1 -1
  73. package/cjs/services/storage-service/db-stores/BaseStore.js +3 -0
  74. package/cjs/services/transaction-service/constants.js +11 -0
  75. package/cjs/services/transaction-service/index.js +31 -9
  76. package/cjs/services/transaction-service/utils.js +25 -14
  77. package/constants/index.d.ts +1 -1
  78. package/constants/index.js +1 -1
  79. package/koni/api/coingecko.js +1 -4
  80. package/koni/api/dotsama/balance.js +7 -5
  81. package/koni/api/dotsama/crowdloan.js +0 -4
  82. package/koni/api/dotsama/transfer.js +0 -4
  83. package/koni/api/nft/acala_nft/index.js +1 -1
  84. package/koni/api/nft/bit.country/index.js +1 -1
  85. package/koni/api/nft/evm_nft/index.js +2 -3
  86. package/koni/api/nft/index.js +1 -2
  87. package/koni/api/nft/karura_nft/index.js +1 -1
  88. package/koni/api/nft/quartz_nft/index.js +1 -1
  89. package/koni/api/nft/rmrk_nft/index.js +2 -3
  90. package/koni/api/nft/statemine_nft/index.js +1 -1
  91. package/koni/api/nft/transfer.js +5 -5
  92. package/koni/api/nft/unique_nft/index.js +1 -1
  93. package/koni/api/nft/unique_nft/uniqueNftV2.js +0 -1
  94. package/koni/api/nft/wasm_nft/index.js +1 -2
  95. package/koni/api/staking/bonding/amplitude.js +9 -2
  96. package/koni/api/staking/bonding/astar.d.ts +2 -1
  97. package/koni/api/staking/bonding/astar.js +36 -13
  98. package/koni/api/staking/bonding/paraChain.js +10 -2
  99. package/koni/api/staking/bonding/relayChain.js +21 -4
  100. package/koni/api/staking/bonding/utils.js +4 -0
  101. package/koni/api/staking/relayChain.js +0 -1
  102. package/koni/api/staking/subsquidStaking.js +0 -2
  103. package/koni/api/tokens/wasm/index.js +0 -1
  104. package/koni/api/tokens/wasm/utils.js +0 -1
  105. package/koni/api/xcm/index.js +0 -1
  106. package/koni/background/cron.js +0 -45
  107. package/koni/background/handlers/Extension.d.ts +3 -0
  108. package/koni/background/handlers/Extension.js +120 -51
  109. package/koni/background/handlers/State.d.ts +4 -1
  110. package/koni/background/handlers/State.js +30 -3
  111. package/koni/background/handlers/Tabs.d.ts +1 -0
  112. package/koni/background/handlers/Tabs.js +32 -1
  113. package/koni/background/handlers/index.js +3 -2
  114. package/koni/background/subscription.d.ts +0 -1
  115. package/koni/background/subscription.js +0 -26
  116. package/package.json +65 -39
  117. package/packageInfo.js +1 -1
  118. package/services/chain-service/constants.js +1 -1
  119. package/services/chain-service/handler/EvmChainHandler.js +1 -1
  120. package/services/chain-service/handler/SubstrateChainHandler.js +3 -10
  121. package/services/chain-service/handler/light-client/index.js +8 -6
  122. package/services/chain-service/helper/api-helper/spec/acala.d.ts +3 -3
  123. package/services/chain-service/index.d.ts +2 -1
  124. package/services/chain-service/index.js +75 -28
  125. package/services/chain-service/utils.js +3 -0
  126. package/services/history-service/helpers/recoverHistoryStatus.d.ts +11 -0
  127. package/services/history-service/helpers/recoverHistoryStatus.js +98 -0
  128. package/services/history-service/index.d.ts +6 -0
  129. package/services/history-service/index.js +61 -6
  130. package/services/history-service/subsquid-multi-chain-history.js +3 -2
  131. package/services/history-service/testChainMap.d.ts +3 -0
  132. package/services/history-service/testChainMap.js +716 -0
  133. package/services/keyring-service/index.d.ts +1 -0
  134. package/services/keyring-service/index.js +9 -2
  135. package/services/migration-service/index.js +7 -7
  136. package/services/migration-service/scripts/MigrateAuthUrls.d.ts +4 -0
  137. package/services/migration-service/scripts/MigrateAuthUrls.js +31 -0
  138. package/services/migration-service/scripts/MigrateAutoLock.d.ts +4 -0
  139. package/services/migration-service/scripts/MigrateAutoLock.js +22 -0
  140. package/services/migration-service/scripts/MigrateChainPatrol.d.ts +4 -0
  141. package/services/migration-service/scripts/MigrateChainPatrol.js +22 -0
  142. package/services/migration-service/scripts/index.js +7 -1
  143. package/services/price-service/coingecko.js +1 -1
  144. package/services/price-service/index.js +0 -4
  145. package/services/request-service/handler/AuthRequestHandler.d.ts +1 -0
  146. package/services/request-service/handler/AuthRequestHandler.js +8 -1
  147. package/services/request-service/handler/EvmRequestHandler.d.ts +1 -0
  148. package/services/request-service/handler/EvmRequestHandler.js +21 -0
  149. package/services/request-service/handler/MetadataRequestHandler.d.ts +1 -0
  150. package/services/request-service/handler/MetadataRequestHandler.js +6 -0
  151. package/services/request-service/handler/SubstrateRequestHandler.d.ts +1 -0
  152. package/services/request-service/handler/SubstrateRequestHandler.js +6 -0
  153. package/services/request-service/index.d.ts +1 -0
  154. package/services/request-service/index.js +6 -0
  155. package/services/setting-service/SettingService.d.ts +1 -0
  156. package/services/setting-service/SettingService.js +5 -10
  157. package/services/setting-service/constants.d.ts +4 -1
  158. package/services/setting-service/constants.js +14 -1
  159. package/services/storage-service/DatabaseService.d.ts +1 -0
  160. package/services/storage-service/DatabaseService.js +16 -44
  161. package/services/storage-service/databases/index.js +1 -1
  162. package/services/storage-service/db-stores/BaseStore.d.ts +1 -0
  163. package/services/storage-service/db-stores/BaseStore.js +3 -0
  164. package/services/transaction-service/constants.d.ts +1 -0
  165. package/services/transaction-service/constants.js +4 -0
  166. package/services/transaction-service/index.d.ts +2 -0
  167. package/services/transaction-service/index.js +32 -10
  168. package/services/transaction-service/utils.d.ts +1 -1
  169. package/services/transaction-service/utils.js +24 -13
@@ -290,11 +290,19 @@ export interface UiSettings {
290
290
  accountAllLogo: string;
291
291
  theme: ThemeNames;
292
292
  camera: boolean;
293
+ timeAutoLock: number;
294
+ enableChainPatrol: boolean;
293
295
  }
294
296
  export declare type RequestSettingsType = UiSettings;
295
297
  export declare type RequestCameraSettings = {
296
298
  camera: boolean;
297
299
  };
300
+ export declare type RequestChangeTimeAutoLock = {
301
+ autoLockTime: number;
302
+ };
303
+ export declare type RequestChangeEnableChainPatrol = {
304
+ enable: boolean;
305
+ };
298
306
  export interface RandomTestRequest {
299
307
  start: number;
300
308
  end: number;
@@ -434,6 +442,7 @@ export declare enum BasicTxErrorType {
434
442
  SEND_TRANSACTION_FAILED = "SEND_TRANSACTION_FAILED",
435
443
  INTERNAL_ERROR = "INTERNAL_ERROR",
436
444
  UNSUPPORTED = "UNSUPPORTED",
445
+ TIMEOUT = "TIMEOUT",
437
446
  NOT_ENOUGH_EXISTENTIAL_DEPOSIT = "NOT_ENOUGH_EXISTENTIAL_DEPOSIT"
438
447
  }
439
448
  export declare enum StakingTxErrorType {
@@ -1111,7 +1120,8 @@ export declare enum StakingStatus {
1111
1120
  EARNING_REWARD = "EARNING_REWARD",
1112
1121
  PARTIALLY_EARNING = "PARTIALLY_EARNING",
1113
1122
  NOT_EARNING = "NOT_EARNING",
1114
- WAITING = "WAITING"
1123
+ WAITING = "WAITING",
1124
+ NOT_STAKING = "NOT_STAKING"
1115
1125
  }
1116
1126
  export interface NominatorMetadata {
1117
1127
  chain: string;
@@ -1245,20 +1255,6 @@ export declare type RequestWithdrawStakeExternal = InternalRequestSign<StakeWith
1245
1255
  export declare type RequestClaimRewardExternal = InternalRequestSign<StakeClaimRewardParams>;
1246
1256
  export declare type RequestCreateCompoundStakeExternal = InternalRequestSign<TuringStakeCompoundParams>;
1247
1257
  export declare type RequestCancelCompoundStakeExternal = InternalRequestSign<TuringCancelStakeCompoundParams>;
1248
- export interface KeyringState {
1249
- isReady: boolean;
1250
- hasMasterPassword: boolean;
1251
- isLocked: boolean;
1252
- }
1253
- export interface AddressBookState {
1254
- contacts: AddressJson[];
1255
- recent: AddressJson[];
1256
- }
1257
- export interface RequestChangeMasterPassword {
1258
- oldPassword?: string;
1259
- newPassword: string;
1260
- createNew: boolean;
1261
- }
1262
1258
  export declare enum ChainEditStandard {
1263
1259
  EVM = "EVM",
1264
1260
  SUBSTRATE = "SUBSTRATE",
@@ -1284,6 +1280,20 @@ export interface ChainSpecInfo {
1284
1280
  existentialDeposit: string;
1285
1281
  decimals: number;
1286
1282
  }
1283
+ export interface KeyringState {
1284
+ isReady: boolean;
1285
+ hasMasterPassword: boolean;
1286
+ isLocked: boolean;
1287
+ }
1288
+ export interface AddressBookState {
1289
+ contacts: AddressJson[];
1290
+ recent: AddressJson[];
1291
+ }
1292
+ export interface RequestChangeMasterPassword {
1293
+ oldPassword?: string;
1294
+ newPassword: string;
1295
+ createNew: boolean;
1296
+ }
1287
1297
  export interface ResponseChangeMasterPassword {
1288
1298
  status: boolean;
1289
1299
  errors: string[];
@@ -1310,12 +1320,20 @@ export interface RequestKeyringExportMnemonic {
1310
1320
  export interface ResponseKeyringExportMnemonic {
1311
1321
  result: string;
1312
1322
  }
1323
+ export interface RequestResetWallet {
1324
+ resetAll: boolean;
1325
+ }
1326
+ export interface ResponseResetWallet {
1327
+ status: boolean;
1328
+ errors: string[];
1329
+ }
1313
1330
  export interface RequestSigningApprovePasswordV2 {
1314
1331
  id: string;
1315
1332
  }
1316
1333
  export interface AssetSettingUpdateReq {
1317
1334
  tokenSlug: string;
1318
1335
  assetSetting: AssetSetting;
1336
+ autoEnableNativeToken?: boolean;
1319
1337
  }
1320
1338
  export interface RequestGetTransaction {
1321
1339
  id: string;
@@ -1451,12 +1469,14 @@ export interface KoniRequestSignatures {
1451
1469
  'pri(accounts.subscribeAddresses)': [null, AddressBookInfo, AddressBookInfo];
1452
1470
  'pri(accounts.editContact)': [RequestEditContactAccount, boolean];
1453
1471
  'pri(accounts.deleteContact)': [RequestDeleteContactAccount, boolean];
1454
- 'pri(settings.changeBalancesVisibility)': [null, boolean, UiSettings];
1472
+ 'pri(settings.changeBalancesVisibility)': [null, boolean];
1455
1473
  'pri(settings.subscribe)': [null, UiSettings, UiSettings];
1456
1474
  'pri(settings.saveAccountAllLogo)': [string, boolean, UiSettings];
1457
1475
  'pri(settings.saveTheme)': [ThemeNames, boolean, UiSettings];
1458
1476
  'pri(settings.saveBrowserConfirmationType)': [BrowserConfirmationType, boolean, UiSettings];
1459
1477
  'pri(settings.saveCamera)': [RequestCameraSettings, boolean];
1478
+ 'pri(settings.saveAutoLockTime)': [RequestChangeTimeAutoLock, boolean];
1479
+ 'pri(settings.saveEnableChainPatrol)': [RequestChangeEnableChainPatrol, boolean];
1460
1480
  'pri(settings.getLogoMaps)': [null, AllLogoMap];
1461
1481
  'pri(transaction.history.getSubscription)': [null, TransactionHistoryItem[], TransactionHistoryItem[]];
1462
1482
  'pri(transfer.checkReferenceCount)': [RequestTransferCheckReferenceCount, boolean];
@@ -1493,6 +1513,7 @@ export interface KoniRequestSignatures {
1493
1513
  'pri(keyring.unlock)': [RequestUnlockKeyring, ResponseUnlockKeyring];
1494
1514
  'pri(keyring.lock)': [null, void];
1495
1515
  'pri(keyring.export.mnemonic)': [RequestKeyringExportMnemonic, ResponseKeyringExportMnemonic];
1516
+ 'pri(keyring.reset)': [RequestResetWallet, ResponseResetWallet];
1496
1517
  'pri(signing.approve.passwordV2)': [RequestSigningApprovePasswordV2, boolean];
1497
1518
  'pri(derivation.validateV2)': [RequestDeriveValidateV2, ResponseDeriveValidateV2];
1498
1519
  'pri(derivation.getList)': [RequestGetDeriveAccounts, ResponseGetDeriveAccounts];
@@ -102,6 +102,7 @@ export let BasicTxErrorType;
102
102
  BasicTxErrorType["SEND_TRANSACTION_FAILED"] = "SEND_TRANSACTION_FAILED";
103
103
  BasicTxErrorType["INTERNAL_ERROR"] = "INTERNAL_ERROR";
104
104
  BasicTxErrorType["UNSUPPORTED"] = "UNSUPPORTED";
105
+ BasicTxErrorType["TIMEOUT"] = "TIMEOUT";
105
106
  BasicTxErrorType["NOT_ENOUGH_EXISTENTIAL_DEPOSIT"] = "NOT_ENOUGH_EXISTENTIAL_DEPOSIT";
106
107
  })(BasicTxErrorType || (BasicTxErrorType = {}));
107
108
  export let StakingTxErrorType;
@@ -211,6 +212,7 @@ export let StakingStatus;
211
212
  StakingStatus["PARTIALLY_EARNING"] = "PARTIALLY_EARNING";
212
213
  StakingStatus["NOT_EARNING"] = "NOT_EARNING";
213
214
  StakingStatus["WAITING"] = "WAITING";
215
+ StakingStatus["NOT_STAKING"] = "NOT_STAKING";
214
216
  })(StakingStatus || (StakingStatus = {}));
215
217
  export let ChainEditStandard;
216
218
 
@@ -50,6 +50,10 @@ const defaultErrorMap = {
50
50
  message: 'This transaction is not supported',
51
51
  code: undefined
52
52
  },
53
+ [BasicTxErrorType.TIMEOUT]: {
54
+ message: 'Transaction timeout',
55
+ code: undefined
56
+ },
53
57
  [StakingTxErrorType.NOT_ENOUGH_MIN_STAKE]: {
54
58
  message: 'Not enough min stake',
55
59
  code: undefined
@@ -83,7 +83,7 @@ export default class State {
83
83
  getMetaRequest(id: string): MetaRequest;
84
84
  getSignRequest(id: string): SignRequest;
85
85
  rpcListProviders(): Promise<ResponseRpcListProviders>;
86
- rpcSend(request: RequestRpcSend, port: chrome.runtime.Port): Promise<JsonRpcResponse>;
86
+ rpcSend(request: RequestRpcSend, port: chrome.runtime.Port): Promise<JsonRpcResponse<unknown>>;
87
87
  rpcStartProvider(key: string, port: chrome.runtime.Port): Promise<ProviderMeta>;
88
88
  rpcSubscribe({ method, params, type }: RequestRpcSubscribe, cb: ProviderInterfaceCallback, port: chrome.runtime.Port): Promise<number | string>;
89
89
  rpcSubscribeConnected(_request: null, cb: ProviderInterfaceCallback, port: chrome.runtime.Port): void;
@@ -1,7 +1,7 @@
1
1
  // Copyright 2019-2022 @polkadot/extension-bg authors & contributors
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
 
4
- import { DEFAULT_NOTIFICATION_TYPE, DEFAULT_THEME } from '@subwallet/extension-base/services/setting-service/constants';
4
+ import { DEFAULT_SETTING } from '@subwallet/extension-base/services/setting-service/constants';
5
5
  import SettingsStore from '@subwallet/extension-base/stores/Settings';
6
6
  import { getId } from '@subwallet/extension-base/utils/getId';
7
7
  import { addMetadata, knownMetadata } from '@subwallet/extension-chains';
@@ -156,13 +156,7 @@ export default class State {
156
156
  this.settingsStore.get('Settings', value => {
157
157
  if (!value) {
158
158
  update({
159
- // language: 'en',
160
- browserConfirmationType: DEFAULT_NOTIFICATION_TYPE,
161
- // isShowZeroBalance: true,
162
- isShowBalance: false,
163
- accountAllLogo: '',
164
- theme: DEFAULT_THEME,
165
- camera: false
159
+ ...DEFAULT_SETTING
166
160
  });
167
161
  } else {
168
162
  update(value);
@@ -22,7 +22,6 @@ export function isSubscriptionRunning(id) {
22
22
  // clear a previous subscriber
23
23
  export function unsubscribe(id) {
24
24
  if (subscriptions[id]) {
25
- console.log(`Unsubscribing from ${id}`);
26
25
  delete subscriptions[id];
27
26
  } else {
28
27
  console.error(`Unable to unsubscribe from ${id}`);
@@ -134,9 +134,9 @@ export interface RequestSignatures extends KoniRequestSignatures {
134
134
  'pub(metadata.provide)': [MetadataDef, boolean];
135
135
  'pub(phishing.redirectIfDenied)': [null, boolean];
136
136
  'pub(rpc.listProviders)': [void, ResponseRpcListProviders];
137
- 'pub(rpc.send)': [RequestRpcSend, JsonRpcResponse];
137
+ 'pub(rpc.send)': [RequestRpcSend, JsonRpcResponse<unknown>];
138
138
  'pub(rpc.startProvider)': [string, ProviderMeta];
139
- 'pub(rpc.subscribe)': [RequestRpcSubscribe, number, JsonRpcResponse];
139
+ 'pub(rpc.subscribe)': [RequestRpcSubscribe, number, JsonRpcResponse<unknown>];
140
140
  'pub(rpc.subscribeConnected)': [null, boolean, boolean];
141
141
  'pub(rpc.unsubscribe)': [RequestRpcUnsubscribe, boolean];
142
142
  }
@@ -107,6 +107,7 @@ exports.BasicTxErrorType = BasicTxErrorType;
107
107
  BasicTxErrorType["SEND_TRANSACTION_FAILED"] = "SEND_TRANSACTION_FAILED";
108
108
  BasicTxErrorType["INTERNAL_ERROR"] = "INTERNAL_ERROR";
109
109
  BasicTxErrorType["UNSUPPORTED"] = "UNSUPPORTED";
110
+ BasicTxErrorType["TIMEOUT"] = "TIMEOUT";
110
111
  BasicTxErrorType["NOT_ENOUGH_EXISTENTIAL_DEPOSIT"] = "NOT_ENOUGH_EXISTENTIAL_DEPOSIT";
111
112
  })(BasicTxErrorType || (exports.BasicTxErrorType = BasicTxErrorType = {}));
112
113
  let StakingTxErrorType;
@@ -219,6 +220,7 @@ exports.StakingStatus = StakingStatus;
219
220
  StakingStatus["PARTIALLY_EARNING"] = "PARTIALLY_EARNING";
220
221
  StakingStatus["NOT_EARNING"] = "NOT_EARNING";
221
222
  StakingStatus["WAITING"] = "WAITING";
223
+ StakingStatus["NOT_STAKING"] = "NOT_STAKING";
222
224
  })(StakingStatus || (exports.StakingStatus = StakingStatus = {}));
223
225
  let ChainEditStandard; // ChainService
224
226
  // for custom network
@@ -55,6 +55,10 @@ const defaultErrorMap = {
55
55
  message: 'This transaction is not supported',
56
56
  code: undefined
57
57
  },
58
+ [_KoniTypes.BasicTxErrorType.TIMEOUT]: {
59
+ message: 'Transaction timeout',
60
+ code: undefined
61
+ },
58
62
  [_KoniTypes.StakingTxErrorType.NOT_ENOUGH_MIN_STAKE]: {
59
63
  message: 'Not enough min stake',
60
64
  code: undefined
@@ -181,13 +181,7 @@ class State {
181
181
  this.settingsStore.get('Settings', value => {
182
182
  if (!value) {
183
183
  update({
184
- // language: 'en',
185
- browserConfirmationType: _constants.DEFAULT_NOTIFICATION_TYPE,
186
- // isShowZeroBalance: true,
187
- isShowBalance: false,
188
- accountAllLogo: '',
189
- theme: _constants.DEFAULT_THEME,
190
- camera: false
184
+ ..._constants.DEFAULT_SETTING
191
185
  });
192
186
  } else {
193
187
  update(value);
@@ -30,7 +30,6 @@ function isSubscriptionRunning(id) {
30
30
  // clear a previous subscriber
31
31
  function unsubscribe(id) {
32
32
  if (subscriptions[id]) {
33
- console.log(`Unsubscribing from ${id}`);
34
33
  delete subscriptions[id];
35
34
  } else {
36
35
  console.error(`Unable to unsubscribe from ${id}`);
@@ -17,14 +17,14 @@ var _exportNames = {
17
17
  CRON_GET_API_MAP_STATUS: true,
18
18
  CRON_REFRESH_CHAIN_STAKING_METADATA: true,
19
19
  CRON_REFRESH_CHAIN_NOMINATOR_METADATA: true,
20
+ CRON_RECOVER_HISTORY_INTERVAL: true,
20
21
  ALL_ACCOUNT_KEY: true,
21
22
  ALL_NETWORK_KEY: true,
22
23
  ALL_GENESIS_HASH: true,
23
24
  IGNORE_GET_SUBSTRATE_FEATURES_LIST: true,
24
- IGNORE_QR_SIGNER: true,
25
- DEFAULT_TIME_AUTO_LOCK: true
25
+ IGNORE_QR_SIGNER: true
26
26
  };
27
- exports.SUB_TOKEN_REFRESH_BALANCE_INTERVAL = exports.IGNORE_QR_SIGNER = exports.IGNORE_GET_SUBSTRATE_FEATURES_LIST = exports.DEFAULT_TIME_AUTO_LOCK = exports.CRON_REFRESH_STAKING_REWARD_INTERVAL = exports.CRON_REFRESH_STAKING_REWARD_FAST_INTERVAL = exports.CRON_REFRESH_PRICE_INTERVAL = exports.CRON_REFRESH_NFT_INTERVAL = exports.CRON_REFRESH_HISTORY_INTERVAL = exports.CRON_REFRESH_CHAIN_STAKING_METADATA = exports.CRON_REFRESH_CHAIN_NOMINATOR_METADATA = exports.CRON_GET_API_MAP_STATUS = exports.CRON_AUTO_RECOVER_WEB3_INTERVAL = exports.CRON_AUTO_RECOVER_DOTSAMA_INTERVAL = exports.ASTAR_REFRESH_BALANCE_INTERVAL = exports.ALL_NETWORK_KEY = exports.ALL_GENESIS_HASH = exports.ALL_ACCOUNT_KEY = exports.ACALA_REFRESH_CROWDLOAN_INTERVAL = void 0;
27
+ exports.SUB_TOKEN_REFRESH_BALANCE_INTERVAL = exports.IGNORE_QR_SIGNER = exports.IGNORE_GET_SUBSTRATE_FEATURES_LIST = exports.CRON_REFRESH_STAKING_REWARD_INTERVAL = exports.CRON_REFRESH_STAKING_REWARD_FAST_INTERVAL = exports.CRON_REFRESH_PRICE_INTERVAL = exports.CRON_REFRESH_NFT_INTERVAL = exports.CRON_REFRESH_HISTORY_INTERVAL = exports.CRON_REFRESH_CHAIN_STAKING_METADATA = exports.CRON_REFRESH_CHAIN_NOMINATOR_METADATA = exports.CRON_RECOVER_HISTORY_INTERVAL = exports.CRON_GET_API_MAP_STATUS = exports.CRON_AUTO_RECOVER_WEB3_INTERVAL = exports.CRON_AUTO_RECOVER_DOTSAMA_INTERVAL = exports.ASTAR_REFRESH_BALANCE_INTERVAL = exports.ALL_NETWORK_KEY = exports.ALL_GENESIS_HASH = exports.ALL_ACCOUNT_KEY = exports.ACALA_REFRESH_CROWDLOAN_INTERVAL = void 0;
28
28
  var _staking = require("./staking");
29
29
  Object.keys(_staking).forEach(function (key) {
30
30
  if (key === "default" || key === "__esModule") return;
@@ -66,6 +66,8 @@ const CRON_REFRESH_CHAIN_STAKING_METADATA = 900000;
66
66
  exports.CRON_REFRESH_CHAIN_STAKING_METADATA = CRON_REFRESH_CHAIN_STAKING_METADATA;
67
67
  const CRON_REFRESH_CHAIN_NOMINATOR_METADATA = 1800000;
68
68
  exports.CRON_REFRESH_CHAIN_NOMINATOR_METADATA = CRON_REFRESH_CHAIN_NOMINATOR_METADATA;
69
+ const CRON_RECOVER_HISTORY_INTERVAL = 30000;
70
+ exports.CRON_RECOVER_HISTORY_INTERVAL = CRON_RECOVER_HISTORY_INTERVAL;
69
71
  const ALL_ACCOUNT_KEY = 'ALL';
70
72
  exports.ALL_ACCOUNT_KEY = ALL_ACCOUNT_KEY;
71
73
  const ALL_NETWORK_KEY = 'all';
@@ -75,6 +77,4 @@ exports.ALL_GENESIS_HASH = ALL_GENESIS_HASH;
75
77
  const IGNORE_GET_SUBSTRATE_FEATURES_LIST = ['astarEvm', 'ethereum', 'ethereum_goerli', 'binance', 'binance_test', 'boba_rinkeby', 'boba', 'bobabase', 'bobabeam'];
76
78
  exports.IGNORE_GET_SUBSTRATE_FEATURES_LIST = IGNORE_GET_SUBSTRATE_FEATURES_LIST;
77
79
  const IGNORE_QR_SIGNER = [];
78
- exports.IGNORE_QR_SIGNER = IGNORE_QR_SIGNER;
79
- const DEFAULT_TIME_AUTO_LOCK = 15 * 60 * 1000;
80
- exports.DEFAULT_TIME_AUTO_LOCK = DEFAULT_TIME_AUTO_LOCK;
80
+ exports.IGNORE_QR_SIGNER = IGNORE_QR_SIGNER;
@@ -15,9 +15,6 @@ const getTokenPrice = async function (priceIds) {
15
15
  // const inverseMap: Record<string, string> = {};
16
16
  const idStr = priceIds.join(',');
17
17
  const res = await _axios.default.get(`https://api.coingecko.com/api/v3/coins/markets?vs_currency=${currency}&per_page=1000&ids=${idStr}`);
18
- if (res.status !== 200) {
19
- console.warn('Failed to get token price');
20
- }
21
18
  const responseData = res.data;
22
19
  const priceMap = {};
23
20
  const price24hMap = {};
@@ -39,7 +36,7 @@ const getTokenPrice = async function (priceIds) {
39
36
  price24hMap
40
37
  };
41
38
  } catch (err) {
42
- console.error('Failed to get token price', err);
39
+ console.error(err);
43
40
  throw err;
44
41
  }
45
42
  };
@@ -119,11 +119,13 @@ async function subscribeWithSystemAccountPallet(addresses, chainInfo, networkAPI
119
119
  }
120
120
  }
121
121
  balances.forEach(balance => {
122
- var _balance$data, _balance$data$free, _balance$data2, _balance$data2$reserv, _balance$data3, _balance$data3$miscFr, _balance$data4, _balance$data4$feeFro;
122
+ var _balance$data, _balance$data$free, _balance$data2, _balance$data2$reserv, _balance$data3, _balance$data3$miscFr, _balance$data4, _balance$data4$frozen, _balance$data5, _balance$data5$feeFro;
123
123
  total = total.add(((_balance$data = balance.data) === null || _balance$data === void 0 ? void 0 : (_balance$data$free = _balance$data.free) === null || _balance$data$free === void 0 ? void 0 : _balance$data$free.toBn()) || new _util.BN(0)); // reserved is seperated
124
124
  reserved = reserved.add(((_balance$data2 = balance.data) === null || _balance$data2 === void 0 ? void 0 : (_balance$data2$reserv = _balance$data2.reserved) === null || _balance$data2$reserv === void 0 ? void 0 : _balance$data2$reserv.toBn()) || new _util.BN(0));
125
- miscFrozen = miscFrozen.add(((_balance$data3 = balance.data) === null || _balance$data3 === void 0 ? void 0 : (_balance$data3$miscFr = _balance$data3.miscFrozen) === null || _balance$data3$miscFr === void 0 ? void 0 : _balance$data3$miscFr.toBn()) || new _util.BN(0));
126
- feeFrozen = feeFrozen.add(((_balance$data4 = balance.data) === null || _balance$data4 === void 0 ? void 0 : (_balance$data4$feeFro = _balance$data4.feeFrozen) === null || _balance$data4$feeFro === void 0 ? void 0 : _balance$data4$feeFro.toBn()) || new _util.BN(0));
125
+ // @ts-ignore
126
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-member-access
127
+ miscFrozen = miscFrozen.add(((_balance$data3 = balance.data) === null || _balance$data3 === void 0 ? void 0 : (_balance$data3$miscFr = _balance$data3.miscFrozen) === null || _balance$data3$miscFr === void 0 ? void 0 : _balance$data3$miscFr.toBn()) || (balance === null || balance === void 0 ? void 0 : (_balance$data4 = balance.data) === null || _balance$data4 === void 0 ? void 0 : (_balance$data4$frozen = _balance$data4.frozen) === null || _balance$data4$frozen === void 0 ? void 0 : _balance$data4$frozen.toBn()) || new _util.BN(0)); // TODO: update frozen
128
+ feeFrozen = feeFrozen.add(((_balance$data5 = balance.data) === null || _balance$data5 === void 0 ? void 0 : (_balance$data5$feeFro = _balance$data5.feeFrozen) === null || _balance$data5$feeFro === void 0 ? void 0 : _balance$data5$feeFro.toBn()) || new _util.BN(0));
127
129
  });
128
130
  let locked = reserved.add(miscFrozen);
129
131
  total = total.add(reserved); // total = free + reserved
@@ -169,7 +171,7 @@ function subscribeERC20Interval(addresses, chain, evmApiMap, callBack) {
169
171
  state: _KoniTypes.APIItemState.READY
170
172
  });
171
173
  } catch (err) {
172
- console.log('There is a problem fetching ' + tokenInfo.slug + ' token balance', err);
174
+ console.log(tokenInfo.slug, err);
173
175
  }
174
176
  });
175
177
  };
@@ -208,7 +210,7 @@ function subscribePSP22Balance(addresses, chain, api, callBack) {
208
210
  state: _KoniTypes.APIItemState.READY
209
211
  });
210
212
  } catch (err) {
211
- console.warn('Problem fetching ' + tokenInfo.slug + ' PSP-22 token balance', err); // TODO: error createType
213
+ console.warn(tokenInfo.slug, err); // TODO: error createType
212
214
  }
213
215
  });
214
216
  };
@@ -46,10 +46,6 @@ const subscribeAcalaContributeInterval = (polkadotAddresses, paraState, callback
46
46
  let contribute = new _util.BN(0);
47
47
  resList.forEach(res => {
48
48
  var _res$data$data, _res$data$data$acala, _res$data$data$acala$;
49
- if (res.status !== 200) {
50
- console.warn('Failed to get Acala, Karura crowdloan contribute');
51
- }
52
-
53
49
  // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-argument
54
50
  contribute = contribute.add(new _util.BN(((_res$data$data = res.data.data) === null || _res$data$data === void 0 ? void 0 : (_res$data$data$acala = _res$data$data.acala) === null || _res$data$data$acala === void 0 ? void 0 : (_res$data$data$acala$ = _res$data$data$acala[0]) === null || _res$data$data$acala$ === void 0 ? void 0 : _res$data$data$acala$.totalDOTLocked) || '0'));
55
51
  });
@@ -94,7 +94,6 @@ async function checkSupportTransfer(networkKey, tokenInfo, substrateApiMap, chai
94
94
  return result;
95
95
  }
96
96
  const createTransferExtrinsic = async _ref => {
97
- var _transfer;
98
97
  let {
99
98
  from,
100
99
  networkKey,
@@ -151,9 +150,6 @@ const createTransferExtrinsic = async _ref => {
151
150
  transfer = api.tx.balances.transfer(to, new _util.BN(value));
152
151
  }
153
152
  }
154
-
155
- // eslint-disable-next-line @typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-member-access
156
- console.log('transfer extrinsic: ', (_transfer = transfer) === null || _transfer === void 0 ? void 0 : _transfer.toHex());
157
153
  return [transfer, transferAmount || value];
158
154
  };
159
155
  exports.createTransferExtrinsic = createTransferExtrinsic;
@@ -120,7 +120,7 @@ class AcalaNftApi extends _nft.BaseNftApi {
120
120
  }));
121
121
  params.cleanUpNfts(this.chain, address, collectionIds, nftIds);
122
122
  } catch (e) {
123
- console.error('Failed to fetch acala nft', e);
123
+ console.error(`${this.chain}`, e);
124
124
  }
125
125
  }
126
126
  async handleNfts(params) {
@@ -118,7 +118,7 @@ class BitCountryNftApi extends _nft.BaseNftApi {
118
118
  }));
119
119
  params.cleanUpNfts(this.chain, address, collectionIds, nftIds);
120
120
  } catch (e) {
121
- console.error('Failed to fetch bit.country nft', e);
121
+ console.error(`${this.chain}`, e);
122
122
  }
123
123
  }
124
124
  async handleNfts(params) {
@@ -113,7 +113,6 @@ class EvmNftApi extends _nft.BaseNftApi {
113
113
  const resp = await (0, _crossFetch.default)(detailUrl);
114
114
  const itemDetail = resp && resp.ok && (await resp.json());
115
115
  if (!itemDetail) {
116
- console.warn((resp === null || resp === void 0 ? void 0 : resp.statusText) || `Cannot fetch NFT id [${nftId}] from Web3.`);
117
116
  return;
118
117
  }
119
118
  const parsedItem = this.parseMetadata(itemDetail);
@@ -130,13 +129,13 @@ class EvmNftApi extends _nft.BaseNftApi {
130
129
  ownItem = true;
131
130
  }
132
131
  } catch (e) {
133
- console.error(`error parsing item for ${this.chain} nft`, e);
132
+ console.error(`${this.chain}`, e);
134
133
  }
135
134
  }
136
135
  }));
137
136
  nftOwnerMap[address] = nftIds;
138
137
  } catch (e) {
139
- console.error('EVM NFT error', e);
138
+ console.error(`${this.chain}`, e);
140
139
  }
141
140
  }));
142
141
  if (ownItem) {
@@ -126,10 +126,9 @@ class NftHandler {
126
126
  }
127
127
  });
128
128
  this.needSetupApi = false;
129
- // console.log(`${this.handlers.length} nft handlers connected`, this.handlers);
130
129
  }
131
130
  } catch (e) {
132
- console.error('error setting up nft handlers', e);
131
+ console.error(e);
133
132
  }
134
133
  }
135
134
  async handleNfts(nftContracts, updateItem, updateCollection, cleanUpNfts) {
@@ -126,7 +126,7 @@ class KaruraNftApi extends _nft.BaseNftApi {
126
126
  }));
127
127
  params.cleanUpNfts(this.chain, address, collectionIds, nftIds);
128
128
  } catch (e) {
129
- console.error('Failed to fetch karura nft', e);
129
+ console.error(`${this.chain}`, e);
130
130
  }
131
131
  }
132
132
  async handleNfts(params) {
@@ -188,7 +188,7 @@ class QuartzNftApi extends _nft.BaseNftApi {
188
188
  }
189
189
  }));
190
190
  } catch (e) {
191
- console.error('Failed to fetch quartz nft', e);
191
+ console.error(`${this.chain}`, e);
192
192
  }
193
193
  }
194
194
  async handleNfts(params) {
@@ -200,7 +200,6 @@ class RmrkNftApi extends _nft.BaseNftApi {
200
200
  return {};
201
201
  }
202
202
  } catch (e) {
203
- console.error('error fetching collection info', url);
204
203
  return {};
205
204
  }
206
205
  }));
@@ -227,7 +226,7 @@ class RmrkNftApi extends _nft.BaseNftApi {
227
226
  };
228
227
  }
229
228
  } catch (e) {
230
- console.error('error parsing JSON for RMRK ', item.url, e);
229
+ console.error(item.url, e);
231
230
  }
232
231
  }));
233
232
  allCollections.forEach(item => {
@@ -252,7 +251,7 @@ class RmrkNftApi extends _nft.BaseNftApi {
252
251
  const allNftIds = allNfts.map(nft => nft === null || nft === void 0 ? void 0 : nft.id);
253
252
  params.cleanUpNfts(this.chain, address, allCollectionIds, allNftIds);
254
253
  } catch (e) {
255
- console.error('Failed to fetch rmrk nft', e);
254
+ console.error(`${this.chain}`, e);
256
255
  }
257
256
  }
258
257
  async handleNfts(params) {
@@ -126,7 +126,7 @@ class StatemineNftApi extends _nft.BaseNftApi {
126
126
  }));
127
127
  params.cleanUpNfts(this.chain, address, collectionIds, nftIds);
128
128
  } catch (e) {
129
- console.error('Failed to fetch statemine nft', e);
129
+ console.error(`${this.chain}`, e);
130
130
  }
131
131
  }
132
132
  async handleNfts(params) {
@@ -24,7 +24,7 @@ function acalaGetExtrinsic(substrateApi, senderAddress, recipientAddress, params
24
24
  const collectionId = params.collectionId;
25
25
  return substrateApi.api.tx.nft.transfer(recipientAddress, [collectionId, itemId]);
26
26
  } catch (e) {
27
- console.error('error handling acala transfer nft', e);
27
+ console.error(e);
28
28
  return null;
29
29
  }
30
30
  }
@@ -37,7 +37,7 @@ function rmrkGetExtrinsic(substrateApi, senderAddress, recipientAddress, params)
37
37
  const parsedRemark = remark.concat(recipientAddress.replace(/\\s/g, ''));
38
38
  return substrateApi.api.tx.system.remark(parsedRemark);
39
39
  } catch (e) {
40
- console.error('error handling rmrk transfer nft', e);
40
+ console.error(e);
41
41
  return null;
42
42
  }
43
43
  }
@@ -49,7 +49,7 @@ function uniqueGetExtrinsic(substrateApi, senderAddress, recipientAddress, param
49
49
  Substrate: recipientAddress
50
50
  }, collectionId, itemId, 1);
51
51
  } catch (e) {
52
- console.error('error handling unique transfer nft', e);
52
+ console.error(e);
53
53
  return null;
54
54
  }
55
55
  }
@@ -61,7 +61,7 @@ function quartzGetExtrinsic(substrateApi, senderAddress, recipientAddress, param
61
61
  Substrate: recipientAddress
62
62
  }, collectionId, itemId, 1);
63
63
  } catch (e) {
64
- console.error('error handling quartz transfer nft', e);
64
+ console.error(e);
65
65
  return null;
66
66
  }
67
67
  }
@@ -71,7 +71,7 @@ function statemineGetExtrinsic(substrateApi, senderAddress, recipientAddress, pa
71
71
  const collectionId = params.collectionId;
72
72
  return substrateApi.api.tx.uniques.transfer(collectionId, itemId, recipientAddress);
73
73
  } catch (e) {
74
- console.error('error handling statemine transfer nft', e);
74
+ console.error(e);
75
75
  return null;
76
76
  }
77
77
  }
@@ -183,7 +183,7 @@ class UniqueNftApi extends _nft.BaseNftApi {
183
183
  }));
184
184
  params.cleanUpNfts(this.chain, address, collectionIds, allNftIds);
185
185
  } catch (e) {
186
- console.error('Failed to fetch unique nft', e);
186
+ console.error(`${this.chain}`, e);
187
187
  }
188
188
  }
189
189
  async handleNfts(params) {
@@ -53,7 +53,6 @@ class UniqueNftApiV2 extends _nft.BaseNftApi {
53
53
  const nfts = await this.getNftByAccount(address);
54
54
  allNfts = allNfts.concat(nfts);
55
55
  }));
56
- console.log('allNfts', allNfts);
57
56
  } catch (e) {
58
57
  console.error(`Failed to fetch ${this.chain} nft`, e);
59
58
  }
@@ -222,7 +222,6 @@ class WasmNftApi extends _nft.BaseNftApi {
222
222
  }
223
223
  }
224
224
  if (!itemDetail) {
225
- console.warn(`Cannot fetch NFT metadata [${tokenId}] from PSP-34 contract.`);
226
225
  return nftItem;
227
226
  }
228
227
  nftItem.name = itemDetail.name;
@@ -304,7 +303,7 @@ class WasmNftApi extends _nft.BaseNftApi {
304
303
 
305
304
  nftOwnerMap[address] = nftIds;
306
305
  } catch (e) {
307
- console.error(`error parsing item for ${this.chain} nft`, e);
306
+ console.error(`${this.chain}`, e);
308
307
  }
309
308
  }));
310
309
  if (isFeatured) {
@@ -54,9 +54,16 @@ async function getAmplitudeNominatorMetadata(chainInfo, address, substrateApi) {
54
54
  const minDelegatorStake = chainApi.api.consts.parachainStaking.minDelegatorStake.toString();
55
55
  const delegatorState = _delegatorState.toPrimitive();
56
56
  const unstakingInfo = _unstakingInfo.toPrimitive();
57
- console.log('unstakingInfo ampe', unstakingInfo, !!unstakingInfo);
58
57
  if (!delegatorState && !unstakingInfo) {
59
- return;
58
+ return {
59
+ chain: chainInfo.slug,
60
+ type: _KoniTypes.StakingType.NOMINATED,
61
+ address,
62
+ status: _KoniTypes.StakingStatus.NOT_STAKING,
63
+ activeStake: '0',
64
+ nominations: [],
65
+ unstakings: []
66
+ };
60
67
  }
61
68
  let activeStake = '0';
62
69
  if (delegatorState) {