@subwallet/extension-base 1.1.34-0 → 1.1.35-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (325) hide show
  1. package/background/KoniTypes.d.ts +111 -69
  2. package/background/KoniTypes.js +19 -13
  3. package/background/errors/TransactionError.js +9 -0
  4. package/cjs/background/KoniTypes.js +20 -16
  5. package/cjs/background/errors/TransactionError.js +9 -0
  6. package/cjs/constants/index.js +19 -4
  7. package/cjs/constants/staking.js +1 -1
  8. package/cjs/koni/api/dotsama/balance.js +464 -0
  9. package/cjs/koni/api/nft/config.js +33 -23
  10. package/cjs/koni/api/nft/index.js +14 -0
  11. package/cjs/koni/api/nft/nft.js +1 -22
  12. package/cjs/koni/api/nft/ordinal_nft/constants.js +21 -0
  13. package/cjs/koni/api/nft/ordinal_nft/index.js +121 -0
  14. package/cjs/koni/api/nft/ordinal_nft/utils.js +41 -0
  15. package/cjs/koni/api/staking/bonding/amplitude.js +19 -16
  16. package/cjs/koni/api/staking/bonding/astar.js +11 -10
  17. package/cjs/koni/api/staking/bonding/index.js +4 -1
  18. package/cjs/koni/api/staking/bonding/paraChain.js +25 -23
  19. package/cjs/koni/api/staking/bonding/relayChain.js +48 -45
  20. package/cjs/koni/api/staking/bonding/utils.js +104 -86
  21. package/cjs/koni/api/staking/index.js +6 -5
  22. package/cjs/koni/api/staking/paraChain.js +6 -5
  23. package/cjs/koni/api/staking/relayChain.js +3 -2
  24. package/cjs/koni/api/yield/helper/utils.js +46 -0
  25. package/cjs/koni/background/cron.js +3 -21
  26. package/cjs/koni/background/handlers/Extension.js +368 -69
  27. package/cjs/koni/background/handlers/State.js +18 -12
  28. package/cjs/koni/background/handlers/index.js +4 -2
  29. package/cjs/koni/background/subscription.js +7 -104
  30. package/cjs/packageInfo.js +1 -1
  31. package/cjs/services/campaign-service/index.js +9 -6
  32. package/cjs/services/chain-service/constants.js +2 -17
  33. package/cjs/services/chain-service/index.js +50 -3
  34. package/cjs/services/chain-service/utils.js +7 -1
  35. package/cjs/services/earning-service/constants/chains.js +30 -0
  36. package/cjs/services/earning-service/constants/index.js +27 -0
  37. package/cjs/services/earning-service/constants/step.js +18 -0
  38. package/cjs/services/earning-service/handlers/base.js +262 -0
  39. package/cjs/services/earning-service/handlers/index.js +60 -0
  40. package/cjs/services/earning-service/handlers/lending/base.js +81 -0
  41. package/cjs/services/earning-service/handlers/lending/index.js +13 -0
  42. package/cjs/services/earning-service/handlers/lending/interlay.js +192 -0
  43. package/cjs/services/earning-service/handlers/liquid-staking/acala.js +240 -0
  44. package/cjs/services/earning-service/handlers/liquid-staking/base.js +97 -0
  45. package/cjs/services/earning-service/handlers/liquid-staking/bifrost-manta.js +140 -0
  46. package/cjs/services/earning-service/handlers/liquid-staking/bifrost.js +298 -0
  47. package/cjs/services/earning-service/handlers/liquid-staking/index.js +34 -0
  48. package/cjs/services/earning-service/handlers/liquid-staking/parallel.js +227 -0
  49. package/cjs/services/earning-service/handlers/liquid-staking/stella-swap.js +404 -0
  50. package/cjs/services/earning-service/handlers/native-staking/amplitude.js +434 -0
  51. package/cjs/services/earning-service/handlers/native-staking/astar.js +466 -0
  52. package/cjs/services/earning-service/handlers/native-staking/base-para.js +146 -0
  53. package/cjs/services/earning-service/handlers/native-staking/base.js +161 -0
  54. package/cjs/services/earning-service/handlers/native-staking/index.js +34 -0
  55. package/cjs/services/earning-service/handlers/native-staking/para-chain.js +390 -0
  56. package/cjs/services/earning-service/handlers/native-staking/relay-chain.js +567 -0
  57. package/cjs/services/earning-service/handlers/nomination-pool/index.js +566 -0
  58. package/cjs/services/earning-service/handlers/special.js +493 -0
  59. package/cjs/services/earning-service/service.js +733 -0
  60. package/cjs/services/earning-service/utils/index.js +128 -0
  61. package/cjs/services/event-service/index.js +5 -0
  62. package/cjs/services/keyring-service/index.js +14 -2
  63. package/cjs/services/migration-service/scripts/DeleteEarningData.js +21 -0
  64. package/cjs/services/migration-service/scripts/EnableEarningChains.js +21 -0
  65. package/cjs/services/migration-service/scripts/MigrateEthProvider.js +17 -0
  66. package/cjs/services/migration-service/scripts/MigrateLedgerAccount.js +1 -1
  67. package/cjs/services/migration-service/scripts/MigratePioneerProvider.js +17 -0
  68. package/cjs/services/migration-service/scripts/MigrateProvider.js +29 -0
  69. package/cjs/services/migration-service/scripts/MigrateTransactionHistory.js +1 -1
  70. package/cjs/services/migration-service/scripts/databases/MigrateEarningHistory.js +21 -0
  71. package/cjs/services/migration-service/scripts/databases/MigrateEarningVersion.js +21 -0
  72. package/cjs/services/migration-service/scripts/index.js +6 -1
  73. package/cjs/services/mint-campaign-service/campaigns/UnlockDotCampaign.js +149 -0
  74. package/cjs/services/mint-campaign-service/campaigns/index.js +13 -0
  75. package/cjs/services/mint-campaign-service/constants.js +11 -0
  76. package/cjs/services/mint-campaign-service/index.js +18 -0
  77. package/cjs/services/notification-service/NotificationService.js +3 -2
  78. package/cjs/services/request-service/handler/PopupHandler.js +2 -3
  79. package/cjs/services/storage-service/DatabaseService.js +97 -0
  80. package/cjs/services/storage-service/databases/index.js +4 -0
  81. package/cjs/services/storage-service/db-stores/AssetRef.js +24 -0
  82. package/cjs/services/storage-service/db-stores/NominatorMetadata.js +3 -3
  83. package/cjs/services/storage-service/db-stores/YieldPoolStore.js +36 -0
  84. package/cjs/services/storage-service/db-stores/YieldPositionStore.js +71 -0
  85. package/cjs/services/storage-service/index.js +241 -0
  86. package/cjs/services/subscan-service/index.js +16 -0
  87. package/cjs/services/transaction-service/event-parser/index.js +58 -0
  88. package/cjs/services/transaction-service/helpers/index.js +3 -1
  89. package/cjs/services/transaction-service/index.js +249 -75
  90. package/cjs/services/transaction-service/utils.js +1 -0
  91. package/cjs/types/campaigns/index.js +16 -0
  92. package/cjs/types/campaigns/unlock-dot.js +1 -0
  93. package/cjs/types/index.js +44 -0
  94. package/cjs/types/ordinal.js +1 -0
  95. package/cjs/types/transaction.js +1 -0
  96. package/cjs/types/yield/actions/index.js +27 -0
  97. package/cjs/types/yield/actions/join/index.js +38 -0
  98. package/cjs/types/yield/actions/join/step.js +47 -0
  99. package/cjs/types/yield/actions/join/submit.js +1 -0
  100. package/cjs/types/yield/actions/join/validate.js +16 -0
  101. package/cjs/types/yield/actions/others.js +1 -0
  102. package/cjs/types/yield/index.js +27 -0
  103. package/cjs/types/yield/info/account/index.js +49 -0
  104. package/cjs/types/yield/info/account/info.js +1 -0
  105. package/cjs/types/yield/info/account/reward.js +1 -0
  106. package/cjs/types/yield/info/account/target.js +32 -0
  107. package/cjs/types/yield/info/account/unstake.js +27 -0
  108. package/cjs/types/yield/info/base.js +41 -0
  109. package/cjs/types/yield/info/chain/index.js +27 -0
  110. package/cjs/types/yield/info/chain/info.js +1 -0
  111. package/cjs/types/yield/info/chain/target.js +1 -0
  112. package/cjs/types/yield/info/index.js +49 -0
  113. package/cjs/types/yield/info/pallet.js +15 -0
  114. package/cjs/types.js +1 -0
  115. package/cjs/utils/address.js +34 -0
  116. package/cjs/utils/environment.js +23 -28
  117. package/cjs/utils/fetchStaticCache.js +22 -0
  118. package/cjs/utils/fetchStaticData.js +2 -1
  119. package/cjs/utils/index.js +94 -10
  120. package/cjs/utils/keyring.js +57 -0
  121. package/cjs/utils/mv3.js +14 -0
  122. package/cjs/utils/number.js +6 -2
  123. package/cjs/utils/object.js +12 -0
  124. package/constants/index.d.ts +6 -1
  125. package/constants/index.js +6 -1
  126. package/constants/staking.js +1 -1
  127. package/koni/api/nft/config.js +33 -23
  128. package/koni/api/nft/index.js +15 -1
  129. package/koni/api/nft/nft.js +2 -23
  130. package/koni/api/nft/ordinal_nft/constants.d.ts +9 -0
  131. package/koni/api/nft/ordinal_nft/constants.js +12 -0
  132. package/koni/api/nft/ordinal_nft/index.d.ts +8 -0
  133. package/koni/api/nft/ordinal_nft/index.js +114 -0
  134. package/koni/api/nft/ordinal_nft/utils.d.ts +2 -0
  135. package/koni/api/nft/ordinal_nft/utils.js +33 -0
  136. package/koni/api/staking/bonding/amplitude.js +13 -10
  137. package/koni/api/staking/bonding/astar.js +9 -8
  138. package/koni/api/staking/bonding/index.d.ts +1 -1
  139. package/koni/api/staking/bonding/index.js +5 -1
  140. package/koni/api/staking/bonding/paraChain.js +12 -10
  141. package/koni/api/staking/bonding/relayChain.d.ts +2 -2
  142. package/koni/api/staking/bonding/relayChain.js +33 -30
  143. package/koni/api/staking/bonding/utils.d.ts +15 -38
  144. package/koni/api/staking/bonding/utils.js +85 -69
  145. package/koni/api/staking/index.js +2 -1
  146. package/koni/api/staking/paraChain.js +7 -6
  147. package/koni/api/staking/relayChain.js +4 -3
  148. package/koni/api/yield/helper/utils.d.ts +10 -0
  149. package/koni/api/yield/helper/utils.js +32 -0
  150. package/koni/background/cron.d.ts +0 -4
  151. package/koni/background/cron.js +4 -22
  152. package/koni/background/handlers/Extension.d.ts +17 -1
  153. package/koni/background/handlers/Extension.js +327 -30
  154. package/koni/background/handlers/State.d.ts +6 -1
  155. package/koni/background/handlers/State.js +17 -12
  156. package/koni/background/handlers/index.js +4 -2
  157. package/koni/background/subscription.d.ts +1 -6
  158. package/koni/background/subscription.js +8 -104
  159. package/package.json +335 -7
  160. package/packageInfo.js +1 -1
  161. package/services/campaign-service/index.js +9 -6
  162. package/services/chain-service/constants.d.ts +1 -13
  163. package/services/chain-service/constants.js +1 -15
  164. package/services/chain-service/index.d.ts +3 -0
  165. package/services/chain-service/index.js +50 -3
  166. package/services/chain-service/utils.d.ts +1 -0
  167. package/services/chain-service/utils.js +5 -1
  168. package/services/earning-service/constants/abis/compound_finance_v2_abi.json +1235 -0
  169. package/services/earning-service/constants/abis/st_liquid_token_abi.json +1355 -0
  170. package/services/earning-service/constants/chains.d.ts +15 -0
  171. package/services/earning-service/constants/chains.js +22 -0
  172. package/services/earning-service/constants/index.d.ts +2 -0
  173. package/services/earning-service/constants/index.js +5 -0
  174. package/services/earning-service/constants/step.d.ts +3 -0
  175. package/services/earning-service/constants/step.js +10 -0
  176. package/services/earning-service/handlers/base.d.ts +113 -0
  177. package/services/earning-service/handlers/base.js +256 -0
  178. package/services/earning-service/handlers/index.d.ts +5 -0
  179. package/services/earning-service/handlers/index.js +8 -0
  180. package/services/earning-service/handlers/lending/base.d.ts +8 -0
  181. package/services/earning-service/handlers/lending/base.js +73 -0
  182. package/services/earning-service/handlers/lending/index.d.ts +1 -0
  183. package/services/earning-service/handlers/lending/index.js +4 -0
  184. package/services/earning-service/handlers/lending/interlay.d.ts +24 -0
  185. package/services/earning-service/handlers/lending/interlay.js +184 -0
  186. package/services/earning-service/handlers/liquid-staking/acala.d.ts +27 -0
  187. package/services/earning-service/handlers/liquid-staking/acala.js +232 -0
  188. package/services/earning-service/handlers/liquid-staking/base.d.ts +11 -0
  189. package/services/earning-service/handlers/liquid-staking/base.js +89 -0
  190. package/services/earning-service/handlers/liquid-staking/bifrost.d.ts +46 -0
  191. package/services/earning-service/handlers/liquid-staking/bifrost.js +287 -0
  192. package/services/earning-service/handlers/liquid-staking/index.d.ts +4 -0
  193. package/services/earning-service/handlers/liquid-staking/index.js +7 -0
  194. package/services/earning-service/handlers/liquid-staking/parallel.d.ts +26 -0
  195. package/services/earning-service/handlers/liquid-staking/parallel.js +219 -0
  196. package/services/earning-service/handlers/liquid-staking/stella-swap.d.ts +34 -0
  197. package/services/earning-service/handlers/liquid-staking/stella-swap.js +394 -0
  198. package/services/earning-service/handlers/native-staking/amplitude.d.ts +22 -0
  199. package/services/earning-service/handlers/native-staking/amplitude.js +425 -0
  200. package/services/earning-service/handlers/native-staking/astar.d.ts +19 -0
  201. package/services/earning-service/handlers/native-staking/astar.js +456 -0
  202. package/services/earning-service/handlers/native-staking/base-para.d.ts +11 -0
  203. package/services/earning-service/handlers/native-staking/base-para.js +138 -0
  204. package/services/earning-service/handlers/native-staking/base.d.ts +21 -0
  205. package/services/earning-service/handlers/native-staking/base.js +152 -0
  206. package/services/earning-service/handlers/native-staking/index.d.ts +4 -0
  207. package/services/earning-service/handlers/native-staking/index.js +7 -0
  208. package/services/earning-service/handlers/native-staking/para-chain.d.ts +15 -0
  209. package/services/earning-service/handlers/native-staking/para-chain.js +382 -0
  210. package/services/earning-service/handlers/native-staking/relay-chain.d.ts +21 -0
  211. package/services/earning-service/handlers/native-staking/relay-chain.js +558 -0
  212. package/services/earning-service/handlers/nomination-pool/index.d.ts +36 -0
  213. package/services/earning-service/handlers/nomination-pool/index.js +556 -0
  214. package/services/earning-service/handlers/special.d.ts +64 -0
  215. package/services/earning-service/handlers/special.js +485 -0
  216. package/services/earning-service/service.d.ts +94 -0
  217. package/services/earning-service/service.js +722 -0
  218. package/services/earning-service/utils/index.d.ts +18 -0
  219. package/services/earning-service/utils/index.js +112 -0
  220. package/services/event-service/index.d.ts +2 -0
  221. package/services/event-service/index.js +5 -0
  222. package/services/event-service/types.d.ts +9 -0
  223. package/services/keyring-service/index.d.ts +2 -1
  224. package/services/keyring-service/index.js +14 -2
  225. package/services/migration-service/scripts/DeleteEarningData.d.ts +4 -0
  226. package/services/migration-service/scripts/DeleteEarningData.js +13 -0
  227. package/services/migration-service/scripts/EnableEarningChains.d.ts +4 -0
  228. package/services/migration-service/scripts/EnableEarningChains.js +13 -0
  229. package/services/migration-service/scripts/MigrateLedgerAccount.js +1 -1
  230. package/services/migration-service/scripts/MigrateTransactionHistory.js +1 -1
  231. package/services/migration-service/scripts/databases/MigrateEarningHistory.d.ts +4 -0
  232. package/services/migration-service/scripts/databases/MigrateEarningHistory.js +13 -0
  233. package/services/migration-service/scripts/databases/MigrateEarningVersion.d.ts +4 -0
  234. package/services/migration-service/scripts/databases/MigrateEarningVersion.js +13 -0
  235. package/services/migration-service/scripts/index.js +6 -1
  236. package/services/mint-campaign-service/campaigns/UnlockDotCampaign.d.ts +13 -0
  237. package/services/mint-campaign-service/campaigns/UnlockDotCampaign.js +139 -0
  238. package/services/mint-campaign-service/campaigns/index.d.ts +1 -0
  239. package/services/mint-campaign-service/campaigns/index.js +4 -0
  240. package/services/mint-campaign-service/constants.d.ts +1 -0
  241. package/services/mint-campaign-service/constants.js +4 -0
  242. package/services/mint-campaign-service/index.d.ts +7 -0
  243. package/services/mint-campaign-service/index.js +11 -0
  244. package/services/notification-service/NotificationService.js +3 -2
  245. package/services/request-service/handler/PopupHandler.js +3 -4
  246. package/services/storage-service/DatabaseService.d.ts +22 -1
  247. package/services/storage-service/DatabaseService.js +97 -0
  248. package/services/storage-service/databases/index.d.ts +7 -2
  249. package/services/storage-service/databases/index.js +4 -0
  250. package/services/storage-service/db-stores/AssetRef.d.ts +7 -0
  251. package/services/storage-service/db-stores/AssetRef.js +16 -0
  252. package/services/storage-service/db-stores/NominatorMetadata.js +3 -3
  253. package/services/storage-service/db-stores/YieldPoolStore.d.ts +10 -0
  254. package/services/storage-service/db-stores/YieldPoolStore.js +28 -0
  255. package/services/storage-service/db-stores/YieldPositionStore.d.ts +11 -0
  256. package/services/storage-service/db-stores/YieldPositionStore.js +63 -0
  257. package/services/subscan-service/index.d.ts +3 -2
  258. package/services/subscan-service/index.js +15 -0
  259. package/services/subscan-service/types.d.ts +20 -0
  260. package/services/transaction-service/event-parser/index.d.ts +3 -1
  261. package/services/transaction-service/event-parser/index.js +57 -1
  262. package/services/transaction-service/helpers/index.js +3 -1
  263. package/services/transaction-service/index.d.ts +6 -13
  264. package/services/transaction-service/index.js +247 -73
  265. package/services/transaction-service/types.d.ts +2 -0
  266. package/services/transaction-service/utils.js +1 -0
  267. package/types/campaigns/index.d.ts +1 -0
  268. package/types/campaigns/index.js +4 -0
  269. package/types/campaigns/unlock-dot.d.ts +71 -0
  270. package/types/campaigns/unlock-dot.js +1 -0
  271. package/types/index.d.ts +5 -0
  272. package/types/index.js +5 -1
  273. package/types/ordinal.d.ts +69 -0
  274. package/types/ordinal.js +1 -0
  275. package/types/transaction.d.ts +3 -0
  276. package/types/transaction.js +1 -0
  277. package/types/yield/actions/index.d.ts +2 -0
  278. package/types/yield/actions/index.js +5 -0
  279. package/types/yield/actions/join/index.d.ts +3 -0
  280. package/types/yield/actions/join/index.js +6 -0
  281. package/types/yield/actions/join/step.d.ts +95 -0
  282. package/types/yield/actions/join/step.js +46 -0
  283. package/types/yield/actions/join/submit.d.ts +58 -0
  284. package/types/yield/actions/join/submit.js +1 -0
  285. package/types/yield/actions/join/validate.d.ts +18 -0
  286. package/types/yield/actions/join/validate.js +10 -0
  287. package/types/yield/actions/others.d.ts +85 -0
  288. package/types/yield/actions/others.js +1 -0
  289. package/types/yield/index.d.ts +2 -0
  290. package/types/yield/index.js +5 -0
  291. package/types/yield/info/account/index.d.ts +4 -0
  292. package/types/yield/info/account/index.js +7 -0
  293. package/types/yield/info/account/info.d.ts +92 -0
  294. package/types/yield/info/account/info.js +1 -0
  295. package/types/yield/info/account/reward.d.ts +47 -0
  296. package/types/yield/info/account/reward.js +1 -0
  297. package/types/yield/info/account/target.d.ts +43 -0
  298. package/types/yield/info/account/target.js +27 -0
  299. package/types/yield/info/account/unstake.d.ts +31 -0
  300. package/types/yield/info/account/unstake.js +22 -0
  301. package/types/yield/info/base.d.ts +45 -0
  302. package/types/yield/info/base.js +36 -0
  303. package/types/yield/info/chain/index.d.ts +2 -0
  304. package/types/yield/info/chain/index.js +5 -0
  305. package/types/yield/info/chain/info.d.ts +252 -0
  306. package/types/yield/info/chain/info.js +1 -0
  307. package/types/yield/info/chain/target.d.ts +37 -0
  308. package/types/yield/info/chain/target.js +1 -0
  309. package/types/yield/info/index.d.ts +4 -0
  310. package/types/yield/info/index.js +7 -0
  311. package/types/yield/info/pallet.d.ts +143 -0
  312. package/types/yield/info/pallet.js +9 -0
  313. package/utils/environment.d.ts +9 -2
  314. package/utils/environment.js +14 -26
  315. package/utils/fetchStaticCache.d.ts +1 -0
  316. package/utils/fetchStaticCache.js +14 -0
  317. package/utils/fetchStaticData.js +2 -1
  318. package/utils/index.d.ts +5 -1
  319. package/utils/index.js +53 -3
  320. package/utils/mv3.d.ts +2 -0
  321. package/utils/mv3.js +6 -0
  322. package/utils/number.d.ts +2 -1
  323. package/utils/number.js +2 -1
  324. package/utils/object.d.ts +1 -0
  325. package/utils/object.js +6 -0
@@ -5,18 +5,21 @@ import { CampaignDataType } from '@subwallet/extension-base/background/KoniTypes
5
5
  import { TARGET_ENV } from '@subwallet/extension-base/utils';
6
6
  import { fetchStaticData } from '@subwallet/extension-base/utils/fetchStaticData';
7
7
  import { runCampaign } from "./helpers.js";
8
+ const targetEnvs = ['extension', 'mobile'];
8
9
  export default class CampaignService {
9
10
  #state;
10
11
  constructor(state) {
11
12
  this.#state = state;
12
13
  }
13
14
  init() {
14
- this.fetchCampaign().catch(e => {
15
- console.error('Error on fetch campaigns', e);
16
- });
17
- this.runCampaign().catch(e => {
18
- console.error('Error on run campaigns', e);
19
- });
15
+ if (targetEnvs.includes(TARGET_ENV)) {
16
+ this.fetchCampaign().catch(e => {
17
+ console.error('Error on fetch campaigns', e);
18
+ });
19
+ this.runCampaign().catch(e => {
20
+ console.error('Error on run campaigns', e);
21
+ });
22
+ }
20
23
  }
21
24
  async fetchCampaign() {
22
25
  const respData = await fetchStaticData('marketing-campaigns');
@@ -33,18 +33,6 @@ export declare const _NFT_CHAIN_GROUP: {
33
33
  bitcountry: string[];
34
34
  vara: string[];
35
35
  };
36
- export declare const _STAKING_CHAIN_GROUP: {
37
- relay: string[];
38
- para: string[];
39
- astar: string[];
40
- amplitude: string[];
41
- krest_network: string[];
42
- kilt: string[];
43
- nominationPool: string[];
44
- bifrost: string[];
45
- aleph: string[];
46
- ternoa: string[];
47
- };
48
36
  export declare const _STAKING_ERA_LENGTH_MAP: Record<string, number>;
49
37
  export declare const _EXPECTED_BLOCK_TIME: Record<string, number>;
50
38
  export declare const _PARACHAIN_INFLATION_DISTRIBUTION: Record<string, Record<string, number>>;
@@ -96,7 +84,7 @@ export declare const EVM_PASS_CONNECT_STATUS: Record<string, string[]>;
96
84
  export declare const EVM_REFORMAT_DECIMALS: {
97
85
  acala: string[];
98
86
  };
99
- export declare const LATEST_CHAIN_DATA_FETCHING_INTERVAL = 300000;
87
+ export declare const LATEST_CHAIN_DATA_FETCHING_INTERVAL = 120000;
100
88
  export declare const _CHAIN_INFO_SRC: string;
101
89
  export declare const _CHAIN_ASSET_SRC: string;
102
90
  export declare const _ASSET_REF_SRC: string;
@@ -52,20 +52,6 @@ export const _NFT_CHAIN_GROUP = {
52
52
 
53
53
  // Staking--------------------------------------------------------------------------------------------------------------
54
54
 
55
- export const _STAKING_CHAIN_GROUP = {
56
- relay: ['polkadot', 'kusama', 'aleph', 'polkadex', 'ternoa', 'ternoa_alphanet', 'alephTest', 'polkadexTest', 'westend', 'kate', 'edgeware', 'creditcoin', 'vara_network', 'goldberg_testnet'],
57
- para: ['moonbeam', 'moonriver', 'moonbase', 'turing', 'turingStaging', 'bifrost', 'bifrost_testnet', 'calamari_test', 'calamari', 'manta_network'],
58
- astar: ['astar', 'shiden', 'shibuya'],
59
- amplitude: ['amplitude', 'amplitude_test', 'kilt', 'kilt_peregrine', 'pendulum', 'krest_network'],
60
- // amplitude and kilt only share some common logic
61
- krest_network: ['krest_network'],
62
- kilt: ['kilt', 'kilt_peregrine'],
63
- nominationPool: ['polkadot', 'kusama', 'westend', 'alephTest', 'aleph', 'kate', 'vara_network', 'goldberg_testnet'],
64
- bifrost: ['bifrost', 'bifrost_testnet'],
65
- aleph: ['aleph', 'alephTest'],
66
- // A0 has distinct tokenomics
67
- ternoa: ['ternoa', 'ternoa_alphanet']
68
- };
69
55
  export const _STAKING_ERA_LENGTH_MAP = {
70
56
  // in hours
71
57
  alephTest: 24,
@@ -252,7 +238,7 @@ export const EVM_PASS_CONNECT_STATUS = {
252
238
  export const EVM_REFORMAT_DECIMALS = {
253
239
  acala: ['acala_evm', 'karura_evm']
254
240
  };
255
- export const LATEST_CHAIN_DATA_FETCHING_INTERVAL = 300000;
241
+ export const LATEST_CHAIN_DATA_FETCHING_INTERVAL = 120000;
256
242
 
257
243
  // TODO: review
258
244
  const TARGET_BRANCH = process.env.NODE_ENV !== 'production' ? 'koni-dev' : 'master';
@@ -71,9 +71,11 @@ export declare class ChainService {
71
71
  deleteAssetsByChain(chainSlug: string): void;
72
72
  deleteCustomAssets(targetAssets: string[]): void;
73
73
  init(): Promise<void>;
74
+ initAssetRefMap(): Promise<void>;
74
75
  checkLatestData(): void;
75
76
  stopCheckLatestChainData(): void;
76
77
  handleLatestProviderData(latestChainInfo: _ChainInfo[]): void;
78
+ handleLatestBlockedAssetRef(latestBlockedAssetRefList: string[]): void;
77
79
  handleLatestPriceId(latestPriceIds: Record<string, string | null>): void;
78
80
  handleLatestData(): void;
79
81
  private initApis;
@@ -86,6 +88,7 @@ export declare class ChainService {
86
88
  private checkExistedPredefinedChain;
87
89
  private fetchLatestChainData;
88
90
  private fetchLatestPriceIdsData;
91
+ private fetchLatestBlockedAssetRef;
89
92
  private initChains;
90
93
  private initAssetRegistry;
91
94
  private updateChainStateMapSubscription;
@@ -213,8 +213,9 @@ export class ChainService {
213
213
  getActiveChainInfos() {
214
214
  const result = {};
215
215
  Object.values(this.getChainStateMap()).forEach(chainState => {
216
- if (chainState.active) {
217
- result[chainState.slug] = this.getChainInfoByKey(chainState.slug);
216
+ const chainInfo = this.getChainInfoByKey(chainState.slug);
217
+ if (chainState.active && chainInfo && chainInfo.chainStatus === _ChainStatus.ACTIVE) {
218
+ result[chainState.slug] = chainInfo;
218
219
  }
219
220
  });
220
221
  return result;
@@ -396,7 +397,10 @@ export class ChainService {
396
397
 
397
398
  // TODO: reconsider the flow of initiation
398
399
  this.multiChainAssetMapSubject.next(MultiChainAssetMap);
399
- this.dataMap.assetRefMap = AssetRefMap;
400
+ // const storedAssetRefMap = await this.dbService.getAssetRefMap();
401
+ //
402
+ // this.dataMap.assetRefMap = storedAssetRefMap && Object.values(storedAssetRefMap).length > 0 ? storedAssetRefMap : AssetRefMap;
403
+
400
404
  await this.initChains();
401
405
  this.chainInfoMapSubject.next(this.getChainInfoMap());
402
406
  this.updateChainStateMapSubscription();
@@ -404,10 +408,34 @@ export class ChainService {
404
408
  this.xcmRefMapSubject.next(this.dataMap.assetRefMap);
405
409
  await this.initApis();
406
410
  await this.initAssetSettings();
411
+ await this.initAssetRefMap();
407
412
  this.checkLatestData();
408
413
  }
414
+ async initAssetRefMap() {
415
+ try {
416
+ const fetchPromise = this.fetchLatestBlockedAssetRef();
417
+ const timeout = new Promise(resolve => {
418
+ const id = setTimeout(() => {
419
+ clearTimeout(id);
420
+ resolve(null);
421
+ }, 1000);
422
+ });
423
+ const disabledAssetRefs = (await Promise.race([timeout, fetchPromise])) || null;
424
+ if (disabledAssetRefs) {
425
+ this.handleLatestBlockedAssetRef(disabledAssetRefs);
426
+ } else {
427
+ this.dataMap.assetRefMap = AssetRefMap;
428
+ }
429
+ } catch (e) {
430
+ this.dataMap.assetRefMap = AssetRefMap;
431
+ }
432
+ }
409
433
  checkLatestData() {
410
434
  clearInterval(this.refreshLatestChainDataTimeOut);
435
+ this.handleLatestData();
436
+ this.handleLatestData();
437
+ this.handleLatestData();
438
+ this.handleLatestData();
411
439
  this.refreshLatestChainDataTimeOut = setInterval(this.handleLatestData.bind(this), LATEST_CHAIN_DATA_FETCHING_INTERVAL);
412
440
  }
413
441
  stopCheckLatestChainData() {
@@ -432,6 +460,19 @@ export class ChainService {
432
460
  console.error('Error fetching latest chain data');
433
461
  }
434
462
  }
463
+ handleLatestBlockedAssetRef(latestBlockedAssetRefList) {
464
+ const updatedAssetRefMap = {
465
+ ...AssetRefMap
466
+ };
467
+ latestBlockedAssetRefList.forEach(blockedAssetRef => {
468
+ delete updatedAssetRefMap[blockedAssetRef];
469
+ });
470
+ this.dataMap.assetRefMap = updatedAssetRefMap;
471
+
472
+ // this.dbService.setAssetRef(this.dataMap.assetRefMap).catch(console.error);
473
+ this.xcmRefMapSubject.next(this.dataMap.assetRefMap);
474
+ this.logger.log('Finished updating latest asset ref');
475
+ }
435
476
  handleLatestPriceId(latestPriceIds) {
436
477
  Object.entries(latestPriceIds).forEach(([slug, priceId]) => {
437
478
  if (this.dataMap.assetRegistry[slug]) {
@@ -446,6 +487,9 @@ export class ChainService {
446
487
  this.fetchLatestChainData().then(latestChainInfo => {
447
488
  this.handleLatestProviderData(latestChainInfo);
448
489
  }).catch(console.error);
490
+ this.fetchLatestBlockedAssetRef().then(latestAssetRef => {
491
+ this.handleLatestBlockedAssetRef(latestAssetRef);
492
+ }).catch(console.error);
449
493
 
450
494
  // this.fetchLatestPriceIdsData().then((latestPriceIds) => {
451
495
  // this.handleLatestPriceId(latestPriceIds);
@@ -649,6 +693,9 @@ export class ChainService {
649
693
  async fetchLatestPriceIdsData() {
650
694
  return await fetchStaticData('chain-assets/price-map');
651
695
  }
696
+ async fetchLatestBlockedAssetRef() {
697
+ return await fetchStaticData('chain-assets/disabled-xcm-channels');
698
+ }
652
699
  async initChains() {
653
700
  const storedChainSettings = await this.dbService.getAllChainStore();
654
701
  const defaultChainInfoMap = ChainInfoMap;
@@ -31,6 +31,7 @@ export declare function _getChainSubstrateAddressPrefix(chainInfo: _ChainInfo):
31
31
  export declare function _isChainSupportNativeNft(chainInfo: _ChainInfo): boolean;
32
32
  export declare function _isChainSupportEvmNft(chainInfo: _ChainInfo): boolean;
33
33
  export declare function _isChainSupportWasmNft(chainInfo: _ChainInfo): boolean;
34
+ export declare const _isSupportOrdinal: (chain: string) => boolean;
34
35
  export declare function _getNftTypesSupportedByChain(chainInfo: _ChainInfo): _AssetType[];
35
36
  export declare function _getTokenTypesSupportedByChain(chainInfo: _ChainInfo): _AssetType[];
36
37
  export declare function _getChainNativeTokenBasicInfo(chainInfo: _ChainInfo): BasicTokenInfo;
@@ -92,7 +92,7 @@ export function _getTokenMinAmount(tokenInfo) {
92
92
  return tokenInfo.minAmount || '0';
93
93
  }
94
94
  export function _isChainEvmCompatible(chainInfo) {
95
- return chainInfo.evmInfo !== undefined && chainInfo.evmInfo !== null;
95
+ return !!chainInfo.evmInfo;
96
96
  }
97
97
  export function _isNativeToken(tokenInfo) {
98
98
  return tokenInfo.assetType === _AssetType.NATIVE;
@@ -147,6 +147,10 @@ export function _isChainSupportWasmNft(chainInfo) {
147
147
  var _chainInfo$substrateI8, _chainInfo$substrateI9;
148
148
  return ((_chainInfo$substrateI8 = chainInfo.substrateInfo) === null || _chainInfo$substrateI8 === void 0 ? void 0 : (_chainInfo$substrateI9 = _chainInfo$substrateI8.supportSmartContract) === null || _chainInfo$substrateI9 === void 0 ? void 0 : _chainInfo$substrateI9.includes(_AssetType.PSP34)) || false;
149
149
  }
150
+ export const _isSupportOrdinal = chain => {
151
+ const chains = ['polkadot', 'astar', 'bifrost_dot', 'moonbeam'];
152
+ return chains.includes(chain);
153
+ };
150
154
  export function _getNftTypesSupportedByChain(chainInfo) {
151
155
  const result = [];
152
156
  if (chainInfo.substrateInfo && chainInfo.substrateInfo.supportSmartContract) {