@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
@@ -18,10 +18,12 @@ var _campaignService = _interopRequireDefault(require("@subwallet/extension-base
18
18
  var _chainService = require("@subwallet/extension-base/services/chain-service");
19
19
  var _constants2 = require("@subwallet/extension-base/services/chain-service/constants");
20
20
  var _utils = require("@subwallet/extension-base/services/chain-service/utils");
21
+ var _service = _interopRequireDefault(require("@subwallet/extension-base/services/earning-service/service"));
21
22
  var _eventService = require("@subwallet/extension-base/services/event-service");
22
23
  var _historyService = require("@subwallet/extension-base/services/history-service");
23
24
  var _keyringService = require("@subwallet/extension-base/services/keyring-service");
24
25
  var _migrationService = _interopRequireDefault(require("@subwallet/extension-base/services/migration-service"));
26
+ var _mintCampaignService = _interopRequireDefault(require("@subwallet/extension-base/services/mint-campaign-service"));
25
27
  var _NotificationService = _interopRequireDefault(require("@subwallet/extension-base/services/notification-service/NotificationService"));
26
28
  var _priceService = require("@subwallet/extension-base/services/price-service");
27
29
  var _requestService = _interopRequireDefault(require("@subwallet/extension-base/services/request-service"));
@@ -100,11 +102,13 @@ class KoniState {
100
102
  this.priceService = new _priceService.PriceService(this.dbService, this.eventService, this.chainService);
101
103
  this.balanceService = new _balanceService.BalanceService(this);
102
104
  this.historyService = new _historyService.HistoryService(this.dbService, this.chainService, this.eventService, this.keyringService, this.subscanService);
103
- this.transactionService = new _transactionService.default(this.chainService, this.eventService, this.requestService, this.balanceService, this.historyService, this.notificationService, this.dbService);
105
+ this.mintCampaignService = new _mintCampaignService.default(this);
104
106
  this.walletConnectService = new _walletConnectService.default(this, this.requestService);
105
107
  this.migrationService = new _migrationService.default(this, this.eventService);
106
108
  this.campaignService = new _campaignService.default(this);
107
109
  this.buyService = new _buyService.default(this);
110
+ this.transactionService = new _transactionService.default(this);
111
+ this.earningService = new _service.default(this);
108
112
  this.subscription = new _subscription.KoniSubscription(this, this.dbService);
109
113
  this.cron = new _cron.KoniCron(this, this.subscription, this.dbService);
110
114
  this.logger = (0, _util.logger)('State');
@@ -226,6 +230,7 @@ class KoniState {
226
230
  await this.migrationService.run();
227
231
  this.campaignService.init();
228
232
  this.eventService.emit('chain.ready', true);
233
+ await this.earningService.init();
229
234
  this.onReady();
230
235
  this.onAccountAdd();
231
236
  this.onAccountRemove();
@@ -248,20 +253,13 @@ class KoniState {
248
253
  }
249
254
  async startSubscription() {
250
255
  await this.eventService.waitKeyringReady;
256
+ await this.eventService.waitAssetReady;
251
257
  this.dbService.subscribeChainStakingMetadata([], data => {
252
258
  this.chainStakingMetadataSubject.next(data);
253
259
  });
254
260
  this.dbService.subscribeMantaPayConfig(_constants2._DEFAULT_MANTA_ZK_CHAIN, data => {
255
261
  this.mantaPayConfigSubject.next(data);
256
262
  });
257
- let unsub;
258
- this.keyringService.accountSubject.subscribe(accounts => {
259
- // TODO: improve this
260
- unsub && unsub.unsubscribe();
261
- unsub = this.dbService.subscribeNominatorMetadata(Object.keys(accounts), data => {
262
- this.stakingNominatorMetadataSubject.next(data);
263
- });
264
- });
265
263
  }
266
264
  onReady() {
267
265
  // Todo: Need optimize in the future to, only run important services onetime to save resources
@@ -1431,7 +1429,7 @@ class KoniState {
1431
1429
  // Stopping services
1432
1430
  await Promise.all([this.cron.stop(), this.subscription.stop()]);
1433
1431
  await this.pauseAllNetworks(undefined, 'IDLE mode');
1434
- await Promise.all([this.historyService.stop(), this.priceService.stop()]);
1432
+ await Promise.all([this.historyService.stop(), this.priceService.stop(), this.earningService.stop()]);
1435
1433
 
1436
1434
  // Complete sleeping
1437
1435
  sleeping.resolve();
@@ -1464,7 +1462,7 @@ class KoniState {
1464
1462
  }
1465
1463
 
1466
1464
  // Start services
1467
- await Promise.all([this.cron.start(), this.subscription.start(), this.historyService.start(), this.priceService.start()]);
1465
+ await Promise.all([this.cron.start(), this.subscription.start(), this.historyService.start(), this.priceService.start(), this.earningService.start()]);
1468
1466
 
1469
1467
  // Complete starting
1470
1468
  starting.resolve();
@@ -1566,7 +1564,7 @@ class KoniState {
1566
1564
  return await this.cron.reloadNft();
1567
1565
  }
1568
1566
  async reloadStaking() {
1569
- await this.subscription.reloadStaking();
1567
+ await this.earningService.reloadEarning(true);
1570
1568
  return true;
1571
1569
  }
1572
1570
  async reloadBalance() {
@@ -1765,5 +1763,13 @@ class KoniState {
1765
1763
  specVersion: parseInt((metadata === null || metadata === void 0 ? void 0 : metadata.specVersion) || '0')
1766
1764
  };
1767
1765
  }
1766
+ getCrowdloanContributions(_ref11) {
1767
+ let {
1768
+ address,
1769
+ page,
1770
+ relayChain
1771
+ } = _ref11;
1772
+ return this.subscanService.getCrowdloanContributions(relayChain, address, page);
1773
+ }
1768
1774
  }
1769
1775
  exports.default = KoniState;
@@ -72,7 +72,8 @@ function handlers(_ref, port) {
72
72
  (0, _util.assert)(port, 'Port has been disconnected');
73
73
  port.postMessage({
74
74
  id,
75
- response
75
+ response,
76
+ sender: 'BACKGROUND'
76
77
  });
77
78
  }).catch(error => {
78
79
  console.error(error);
@@ -84,7 +85,8 @@ function handlers(_ref, port) {
84
85
  error: error.message,
85
86
  errorCode: error.code,
86
87
  errorData: error.data,
87
- id
88
+ id,
89
+ sender: 'BACKGROUND'
88
90
  });
89
91
  }
90
92
  });
@@ -6,8 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.KoniSubscription = void 0;
7
7
  var _crowdloan = require("@subwallet/extension-base/koni/api/dotsama/crowdloan");
8
8
  var _staking = require("@subwallet/extension-base/koni/api/staking");
9
- var _bonding = require("@subwallet/extension-base/koni/api/staking/bonding");
10
- var _paraChain = require("@subwallet/extension-base/koni/api/staking/paraChain");
11
9
  var _handlers = require("@subwallet/extension-base/koni/background/handlers");
12
10
  var _balance = require("@subwallet/extension-base/services/balance-service/helpers/subscribe/balance");
13
11
  var _utils = require("@subwallet/extension-base/services/chain-service/utils");
@@ -21,8 +19,8 @@ class KoniSubscription {
21
19
  subscriptionMap = {
22
20
  crowdloan: undefined,
23
21
  balance: undefined,
24
- stakingOnChain: undefined,
25
- essentialChainStakingMetadata: undefined
22
+ yieldPoolStats: undefined,
23
+ yieldPosition: undefined
26
24
  };
27
25
  constructor(state, dbService) {
28
26
  this.dbService = dbService;
@@ -49,10 +47,6 @@ class KoniSubscription {
49
47
  this.subscriptionMap.crowdloan();
50
48
  delete this.subscriptionMap.crowdloan;
51
49
  }
52
- if (this.subscriptionMap.stakingOnChain) {
53
- this.subscriptionMap.stakingOnChain();
54
- delete this.subscriptionMap.stakingOnChain;
55
- }
56
50
  }
57
51
  async start() {
58
52
  var _this$state$keyringSe;
@@ -61,7 +55,6 @@ class KoniSubscription {
61
55
  if (currentAddress) {
62
56
  this.subscribeBalances(currentAddress, this.state.getChainInfoMap(), this.state.getChainStateMap(), this.state.getSubstrateApiMap(), this.state.getEvmApiMap());
63
57
  this.subscribeCrowdloans(currentAddress, this.state.getSubstrateApiMap());
64
- this.subscribeStakingOnChain(currentAddress, this.state.getSubstrateApiMap());
65
58
  }
66
59
  this.eventHandler = (events, eventTypes) => {
67
60
  var _serviceInfo$currentA;
@@ -76,7 +69,6 @@ class KoniSubscription {
76
69
  }
77
70
  this.subscribeBalances(address, serviceInfo.chainInfoMap, serviceInfo.chainStateMap, serviceInfo.chainApiMap.substrate, serviceInfo.chainApiMap.evm);
78
71
  this.subscribeCrowdloans(address, serviceInfo.chainApiMap.substrate);
79
- this.subscribeStakingOnChain(address, serviceInfo.chainApiMap.substrate);
80
72
  };
81
73
  this.state.eventService.onLazy(this.eventHandler.bind(this));
82
74
  }
@@ -106,55 +98,6 @@ class KoniSubscription {
106
98
  this.updateSubscription('crowdloan', this.initCrowdloanSubscription(addresses, substrateApiMap, onlyRunOnFirstTime));
107
99
  }).catch(console.error);
108
100
  }
109
- subscribeStakingOnChain(address, substrateApiMap, onlyRunOnFirstTime) {
110
- this.state.resetStaking(address);
111
- const addresses = this.state.getDecodedAddresses(address);
112
- if (!addresses.length) {
113
- return;
114
- }
115
- this.updateSubscription('stakingOnChain', this.initStakingOnChainSubscription(addresses, substrateApiMap, onlyRunOnFirstTime));
116
- this.updateSubscription('essentialChainStakingMetadata', this.initEssentialChainStakingMetadataSubscription(substrateApiMap, onlyRunOnFirstTime)); // TODO: might not need to re-subscribe on changing account
117
- }
118
-
119
- initStakingOnChainSubscription(addresses, substrateApiMap, onlyRunOnFirstTime) {
120
- const stakingCallback = (networkKey, rs) => {
121
- this.state.setStakingItem(networkKey, rs);
122
- };
123
- const nominatorStateCallback = nominatorMetadata => {
124
- this.state.updateStakingNominatorMetadata(nominatorMetadata);
125
- };
126
- const unsub = (0, _staking.stakingOnChainApi)(addresses, substrateApiMap, this.state.getActiveChainInfoMap(), stakingCallback, nominatorStateCallback);
127
- if (onlyRunOnFirstTime) {
128
- unsub && unsub();
129
- return;
130
- }
131
- return () => {
132
- unsub && unsub();
133
- };
134
- }
135
- initEssentialChainStakingMetadataSubscription(substrateApiMap, onlyRunOnFirstTime) {
136
- const unsub = (0, _bonding.subscribeEssentialChainStakingMetadata)(substrateApiMap, this.state.getActiveChainInfoMap(), (networkKey, rs) => {
137
- this.state.updateChainStakingMetadata(rs, {
138
- era: rs.era,
139
- minStake: rs.minStake,
140
- maxValidatorPerNominator: rs.maxValidatorPerNominator,
141
- // temporary fix for Astar, there's no limit for now
142
- maxWithdrawalRequestPerValidator: rs.maxWithdrawalRequestPerValidator,
143
- // by default
144
- allowCancelUnstaking: rs.allowCancelUnstaking,
145
- unstakingPeriod: rs.unstakingPeriod,
146
- expectedReturn: rs.expectedReturn,
147
- inflation: rs.inflation
148
- });
149
- });
150
- if (onlyRunOnFirstTime) {
151
- unsub && unsub();
152
- return;
153
- }
154
- return () => {
155
- unsub && unsub();
156
- };
157
- }
158
101
  initBalanceSubscription(addresses, chainInfoMap, chainStateMap, substrateApiMap, evmApiMap, onlyRunOnFirstTime) {
159
102
  const filteredChainInfoMap = {};
160
103
  Object.values(chainStateMap).forEach(chainState => {
@@ -181,15 +124,11 @@ class KoniSubscription {
181
124
  this.state.setCrowdloanItem(networkKey, rs);
182
125
  });
183
126
  if (onlyRunOnFirstTime) {
184
- subscriptionPromise.then(unsub => {
185
- unsub && unsub();
186
- }).catch(this.logger.warn);
127
+ subscriptionPromise.then(unsub => unsub === null || unsub === void 0 ? void 0 : unsub()).catch(this.logger.warn);
187
128
  return;
188
129
  }
189
130
  return () => {
190
- subscriptionPromise.then(unsub => {
191
- unsub && unsub();
192
- }).catch(this.logger.warn);
131
+ subscriptionPromise.then(unsub => unsub === null || unsub === void 0 ? void 0 : unsub()).catch(this.logger.warn);
193
132
  };
194
133
  }
195
134
  subscribeNft(address, substrateApiMap, evmApiMap, smartContractNfts, chainInfoMap) {
@@ -229,52 +168,16 @@ class KoniSubscription {
229
168
  this.state.updateStakingReward(rewardItem);
230
169
  });
231
170
  }
232
- async subscribeStakingRewardFastInterval(address) {
233
- const addresses = this.state.getDecodedAddresses(address);
234
- if (!addresses.length) {
235
- return;
236
- }
237
- const pooledStakingItems = await this.state.getPooledStakingRecordsByAddress(addresses);
238
- const pooledAddresses = [];
239
- pooledStakingItems.forEach(pooledItem => {
240
- if (!pooledAddresses.includes(pooledItem.address)) {
241
- pooledAddresses.push(pooledItem.address);
242
- }
243
- });
244
- const chainInfoMap = this.state.getChainInfoMap();
245
- const targetChainMap = {};
246
- Object.entries(chainInfoMap).forEach(_ref2 => {
247
- let [key, network] = _ref2;
248
- const chainState = this.state.getChainStateByKey(key);
249
- if ((0, _utils._isChainEnabled)(chainState) && (0, _utils._isChainSupportSubstrateStaking)(network)) {
250
- targetChainMap[key] = network;
251
- }
252
- });
253
- const activeNetworks = [];
254
- Object.keys(targetChainMap).forEach(key => {
255
- activeNetworks.push(key);
256
- });
257
- const updateState = result => {
258
- this.state.updateStakingReward(result);
259
- };
260
- await Promise.all([(0, _staking.getPoolingStakingRewardData)(pooledAddresses, targetChainMap, this.state.getSubstrateApiMap(), updateState), (0, _paraChain.getAmplitudeUnclaimedStakingReward)(this.state.getSubstrateApiMap(), addresses, chainInfoMap, activeNetworks, updateState)]);
261
- }
262
- async reloadStaking() {
171
+ async reloadBalance() {
263
172
  var _this$state$keyringSe2;
264
173
  const currentAddress = (_this$state$keyringSe2 = this.state.keyringService.currentAccount) === null || _this$state$keyringSe2 === void 0 ? void 0 : _this$state$keyringSe2.address;
265
- this.subscribeStakingOnChain(currentAddress, this.state.getSubstrateApiMap());
266
- await (0, _utils2.waitTimeout)(1800);
267
- }
268
- async reloadBalance() {
269
- var _this$state$keyringSe3;
270
- const currentAddress = (_this$state$keyringSe3 = this.state.keyringService.currentAccount) === null || _this$state$keyringSe3 === void 0 ? void 0 : _this$state$keyringSe3.address;
271
174
  await this.state.handleResetBalance(currentAddress, true);
272
175
  this.subscribeBalances(currentAddress, this.state.getChainInfoMap(), this.state.getChainStateMap(), this.state.getSubstrateApiMap(), this.state.getEvmApiMap());
273
176
  await (0, _utils2.waitTimeout)(1800);
274
177
  }
275
178
  async reloadCrowdloan() {
276
- var _this$state$keyringSe4;
277
- const currentAddress = (_this$state$keyringSe4 = this.state.keyringService.currentAccount) === null || _this$state$keyringSe4 === void 0 ? void 0 : _this$state$keyringSe4.address;
179
+ var _this$state$keyringSe3;
180
+ const currentAddress = (_this$state$keyringSe3 = this.state.keyringService.currentAccount) === null || _this$state$keyringSe3 === void 0 ? void 0 : _this$state$keyringSe3.address;
278
181
  this.subscribeCrowdloans(currentAddress, this.state.getSubstrateApiMap());
279
182
  await (0, _utils2.waitTimeout)(1800);
280
183
  }
@@ -13,6 +13,6 @@ const packageInfo = {
13
13
  name: '@subwallet/extension-base',
14
14
  path: typeof __dirname === 'string' ? __dirname : 'auto',
15
15
  type: 'cjs',
16
- version: '1.1.34-0'
16
+ version: '1.1.35-0'
17
17
  };
18
18
  exports.packageInfo = packageInfo;
@@ -11,18 +11,21 @@ var _helpers = require("./helpers");
11
11
  // Copyright 2019-2022 @subwallet/extension-base authors & contributors
12
12
  // SPDX-License-Identifier: Apache-2.0
13
13
 
14
+ const targetEnvs = ['extension', 'mobile'];
14
15
  class CampaignService {
15
16
  #state;
16
17
  constructor(state) {
17
18
  this.#state = state;
18
19
  }
19
20
  init() {
20
- this.fetchCampaign().catch(e => {
21
- console.error('Error on fetch campaigns', e);
22
- });
23
- this.runCampaign().catch(e => {
24
- console.error('Error on run campaigns', e);
25
- });
21
+ if (targetEnvs.includes(_utils.TARGET_ENV)) {
22
+ this.fetchCampaign().catch(e => {
23
+ console.error('Error on fetch campaigns', e);
24
+ });
25
+ this.runCampaign().catch(e => {
26
+ console.error('Error on run campaigns', e);
27
+ });
28
+ }
26
29
  }
27
30
  async fetchCampaign() {
28
31
  const respData = await (0, _fetchStaticData.fetchStaticData)('marketing-campaigns');
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports._ZK_ASSET_PREFIX = exports._XCM_TYPE = exports._XCM_CHAIN_GROUP = exports._TRANSFER_NOT_SUPPORTED_CHAINS = exports._TRANSFER_CHAIN_GROUP = exports._SUBSTRATE_DEFAULT_INFLATION_PARAMS = exports._STAKING_ERA_LENGTH_MAP = exports._STAKING_CHAIN_GROUP = exports._PURE_EVM_CHAINS = exports._PREDEFINED_SINGLE_MODES = exports._PARACHAIN_INFLATION_DISTRIBUTION = exports._NFT_CHAIN_GROUP = exports._MULTI_CHAIN_ASSET_SRC = exports._MANTA_ZK_CHAIN_GROUP = exports._KNOWN_CHAIN_INFLATION_PARAMS = exports._EXPECTED_BLOCK_TIME = exports._DEFAULT_MANTA_ZK_CHAIN = exports._DEFAULT_ACTIVE_CHAINS = exports._CHAIN_LOGO_MAP_SRC = exports._CHAIN_INFO_SRC = exports._CHAIN_ASSET_SRC = exports._BALANCE_TOKEN_GROUP = exports._BALANCE_PARSING_CHAIN_GROUP = exports._BALANCE_CHAIN_GROUP = exports._ASSET_REF_SRC = exports._ASSET_LOGO_MAP_SRC = exports._API_OPTIONS_CHAIN_GROUP = exports.LATEST_CHAIN_DATA_FETCHING_INTERVAL = exports.EVM_REFORMAT_DECIMALS = exports.EVM_PASS_CONNECT_STATUS = exports.API_MAX_RETRY = exports.API_CONNECT_TIMEOUT = exports.API_AUTO_CONNECT_MS = void 0;
6
+ exports._ZK_ASSET_PREFIX = exports._XCM_TYPE = exports._XCM_CHAIN_GROUP = exports._TRANSFER_NOT_SUPPORTED_CHAINS = exports._TRANSFER_CHAIN_GROUP = exports._SUBSTRATE_DEFAULT_INFLATION_PARAMS = exports._STAKING_ERA_LENGTH_MAP = exports._PURE_EVM_CHAINS = exports._PREDEFINED_SINGLE_MODES = exports._PARACHAIN_INFLATION_DISTRIBUTION = exports._NFT_CHAIN_GROUP = exports._MULTI_CHAIN_ASSET_SRC = exports._MANTA_ZK_CHAIN_GROUP = exports._KNOWN_CHAIN_INFLATION_PARAMS = exports._EXPECTED_BLOCK_TIME = exports._DEFAULT_MANTA_ZK_CHAIN = exports._DEFAULT_ACTIVE_CHAINS = exports._CHAIN_LOGO_MAP_SRC = exports._CHAIN_INFO_SRC = exports._CHAIN_ASSET_SRC = exports._BALANCE_TOKEN_GROUP = exports._BALANCE_PARSING_CHAIN_GROUP = exports._BALANCE_CHAIN_GROUP = exports._ASSET_REF_SRC = exports._ASSET_LOGO_MAP_SRC = exports._API_OPTIONS_CHAIN_GROUP = exports.LATEST_CHAIN_DATA_FETCHING_INTERVAL = exports.EVM_REFORMAT_DECIMALS = exports.EVM_PASS_CONNECT_STATUS = exports.API_MAX_RETRY = exports.API_CONNECT_TIMEOUT = exports.API_AUTO_CONNECT_MS = void 0;
7
7
  var _chainList = require("@subwallet/chain-list");
8
8
  var _types = require("@subwallet/chain-list/types");
9
9
  var _KoniTypes = require("@subwallet/extension-base/background/KoniTypes");
@@ -65,21 +65,6 @@ const _NFT_CHAIN_GROUP = {
65
65
 
66
66
  // Staking--------------------------------------------------------------------------------------------------------------
67
67
  exports._NFT_CHAIN_GROUP = _NFT_CHAIN_GROUP;
68
- const _STAKING_CHAIN_GROUP = {
69
- relay: ['polkadot', 'kusama', 'aleph', 'polkadex', 'ternoa', 'ternoa_alphanet', 'alephTest', 'polkadexTest', 'westend', 'kate', 'edgeware', 'creditcoin', 'vara_network', 'goldberg_testnet'],
70
- para: ['moonbeam', 'moonriver', 'moonbase', 'turing', 'turingStaging', 'bifrost', 'bifrost_testnet', 'calamari_test', 'calamari', 'manta_network'],
71
- astar: ['astar', 'shiden', 'shibuya'],
72
- amplitude: ['amplitude', 'amplitude_test', 'kilt', 'kilt_peregrine', 'pendulum', 'krest_network'],
73
- // amplitude and kilt only share some common logic
74
- krest_network: ['krest_network'],
75
- kilt: ['kilt', 'kilt_peregrine'],
76
- nominationPool: ['polkadot', 'kusama', 'westend', 'alephTest', 'aleph', 'kate', 'vara_network', 'goldberg_testnet'],
77
- bifrost: ['bifrost', 'bifrost_testnet'],
78
- aleph: ['aleph', 'alephTest'],
79
- // A0 has distinct tokenomics
80
- ternoa: ['ternoa', 'ternoa_alphanet']
81
- };
82
- exports._STAKING_CHAIN_GROUP = _STAKING_CHAIN_GROUP;
83
68
  const _STAKING_ERA_LENGTH_MAP = {
84
69
  // in hours
85
70
  alephTest: 24,
@@ -278,7 +263,7 @@ const EVM_REFORMAT_DECIMALS = {
278
263
  acala: ['acala_evm', 'karura_evm']
279
264
  };
280
265
  exports.EVM_REFORMAT_DECIMALS = EVM_REFORMAT_DECIMALS;
281
- const LATEST_CHAIN_DATA_FETCHING_INTERVAL = 300000;
266
+ const LATEST_CHAIN_DATA_FETCHING_INTERVAL = 120000;
282
267
 
283
268
  // TODO: review
284
269
  exports.LATEST_CHAIN_DATA_FETCHING_INTERVAL = LATEST_CHAIN_DATA_FETCHING_INTERVAL;
@@ -226,8 +226,9 @@ class ChainService {
226
226
  getActiveChainInfos() {
227
227
  const result = {};
228
228
  Object.values(this.getChainStateMap()).forEach(chainState => {
229
- if (chainState.active) {
230
- result[chainState.slug] = this.getChainInfoByKey(chainState.slug);
229
+ const chainInfo = this.getChainInfoByKey(chainState.slug);
230
+ if (chainState.active && chainInfo && chainInfo.chainStatus === _types._ChainStatus.ACTIVE) {
231
+ result[chainState.slug] = chainInfo;
231
232
  }
232
233
  });
233
234
  return result;
@@ -410,7 +411,10 @@ class ChainService {
410
411
 
411
412
  // TODO: reconsider the flow of initiation
412
413
  this.multiChainAssetMapSubject.next(_chainList.MultiChainAssetMap);
413
- this.dataMap.assetRefMap = _chainList.AssetRefMap;
414
+ // const storedAssetRefMap = await this.dbService.getAssetRefMap();
415
+ //
416
+ // this.dataMap.assetRefMap = storedAssetRefMap && Object.values(storedAssetRefMap).length > 0 ? storedAssetRefMap : AssetRefMap;
417
+
414
418
  await this.initChains();
415
419
  this.chainInfoMapSubject.next(this.getChainInfoMap());
416
420
  this.updateChainStateMapSubscription();
@@ -418,10 +422,34 @@ class ChainService {
418
422
  this.xcmRefMapSubject.next(this.dataMap.assetRefMap);
419
423
  await this.initApis();
420
424
  await this.initAssetSettings();
425
+ await this.initAssetRefMap();
421
426
  this.checkLatestData();
422
427
  }
428
+ async initAssetRefMap() {
429
+ try {
430
+ const fetchPromise = this.fetchLatestBlockedAssetRef();
431
+ const timeout = new Promise(resolve => {
432
+ const id = setTimeout(() => {
433
+ clearTimeout(id);
434
+ resolve(null);
435
+ }, 1000);
436
+ });
437
+ const disabledAssetRefs = (await Promise.race([timeout, fetchPromise])) || null;
438
+ if (disabledAssetRefs) {
439
+ this.handleLatestBlockedAssetRef(disabledAssetRefs);
440
+ } else {
441
+ this.dataMap.assetRefMap = _chainList.AssetRefMap;
442
+ }
443
+ } catch (e) {
444
+ this.dataMap.assetRefMap = _chainList.AssetRefMap;
445
+ }
446
+ }
423
447
  checkLatestData() {
424
448
  clearInterval(this.refreshLatestChainDataTimeOut);
449
+ this.handleLatestData();
450
+ this.handleLatestData();
451
+ this.handleLatestData();
452
+ this.handleLatestData();
425
453
  this.refreshLatestChainDataTimeOut = setInterval(this.handleLatestData.bind(this), _constants.LATEST_CHAIN_DATA_FETCHING_INTERVAL);
426
454
  }
427
455
  stopCheckLatestChainData() {
@@ -446,6 +474,19 @@ class ChainService {
446
474
  console.error('Error fetching latest chain data');
447
475
  }
448
476
  }
477
+ handleLatestBlockedAssetRef(latestBlockedAssetRefList) {
478
+ const updatedAssetRefMap = {
479
+ ..._chainList.AssetRefMap
480
+ };
481
+ latestBlockedAssetRefList.forEach(blockedAssetRef => {
482
+ delete updatedAssetRefMap[blockedAssetRef];
483
+ });
484
+ this.dataMap.assetRefMap = updatedAssetRefMap;
485
+
486
+ // this.dbService.setAssetRef(this.dataMap.assetRefMap).catch(console.error);
487
+ this.xcmRefMapSubject.next(this.dataMap.assetRefMap);
488
+ this.logger.log('Finished updating latest asset ref');
489
+ }
449
490
  handleLatestPriceId(latestPriceIds) {
450
491
  Object.entries(latestPriceIds).forEach(_ref3 => {
451
492
  let [slug, priceId] = _ref3;
@@ -461,6 +502,9 @@ class ChainService {
461
502
  this.fetchLatestChainData().then(latestChainInfo => {
462
503
  this.handleLatestProviderData(latestChainInfo);
463
504
  }).catch(console.error);
505
+ this.fetchLatestBlockedAssetRef().then(latestAssetRef => {
506
+ this.handleLatestBlockedAssetRef(latestAssetRef);
507
+ }).catch(console.error);
464
508
 
465
509
  // this.fetchLatestPriceIdsData().then((latestPriceIds) => {
466
510
  // this.handleLatestPriceId(latestPriceIds);
@@ -666,6 +710,9 @@ class ChainService {
666
710
  async fetchLatestPriceIdsData() {
667
711
  return await (0, _utils2.fetchStaticData)('chain-assets/price-map');
668
712
  }
713
+ async fetchLatestBlockedAssetRef() {
714
+ return await (0, _utils2.fetchStaticData)('chain-assets/disabled-xcm-channels');
715
+ }
669
716
  async initChains() {
670
717
  const storedChainSettings = await this.dbService.getAllChainStore();
671
718
  const defaultChainInfoMap = _chainList.ChainInfoMap;
@@ -60,6 +60,7 @@ exports._isSmartContractToken = _isSmartContractToken;
60
60
  exports._isSubstrateChain = _isSubstrateChain;
61
61
  exports._isSubstrateParaChain = _isSubstrateParaChain;
62
62
  exports._isSubstrateRelayChain = _isSubstrateRelayChain;
63
+ exports._isSupportOrdinal = void 0;
63
64
  exports._isTokenEvmSmartContract = _isTokenEvmSmartContract;
64
65
  exports._isTokenTransferredByEvm = _isTokenTransferredByEvm;
65
66
  exports._isTokenWasmSmartContract = _isTokenWasmSmartContract;
@@ -163,7 +164,7 @@ function _getTokenMinAmount(tokenInfo) {
163
164
  return tokenInfo.minAmount || '0';
164
165
  }
165
166
  function _isChainEvmCompatible(chainInfo) {
166
- return chainInfo.evmInfo !== undefined && chainInfo.evmInfo !== null;
167
+ return !!chainInfo.evmInfo;
167
168
  }
168
169
  function _isNativeToken(tokenInfo) {
169
170
  return tokenInfo.assetType === _types._AssetType.NATIVE;
@@ -218,6 +219,11 @@ function _isChainSupportWasmNft(chainInfo) {
218
219
  var _chainInfo$substrateI8, _chainInfo$substrateI9;
219
220
  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(_types._AssetType.PSP34)) || false;
220
221
  }
222
+ const _isSupportOrdinal = chain => {
223
+ const chains = ['polkadot', 'astar', 'bifrost_dot', 'moonbeam'];
224
+ return chains.includes(chain);
225
+ };
226
+ exports._isSupportOrdinal = _isSupportOrdinal;
221
227
  function _getNftTypesSupportedByChain(chainInfo) {
222
228
  const result = [];
223
229
  if (chainInfo.substrateInfo && chainInfo.substrateInfo.supportSmartContract) {
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports._STAKING_CHAIN_GROUP = exports.ST_LIQUID_TOKEN_ABI = void 0;
7
+ // Copyright 2019-2022 @subwallet/extension-base
8
+ // SPDX-License-Identifier: Apache-2.0
9
+
10
+ const _STAKING_CHAIN_GROUP = {
11
+ relay: ['polkadot', 'kusama', 'aleph', 'polkadex', 'ternoa', 'ternoa_alphanet', 'alephTest', 'polkadexTest', 'westend', 'kate', 'edgeware', 'creditcoin', 'vara_network', 'goldberg_testnet'],
12
+ para: ['moonbeam', 'moonriver', 'moonbase', 'turing', 'turingStaging', 'bifrost', 'bifrost_testnet', 'calamari_test', 'calamari', 'manta_network'],
13
+ astar: ['astar', 'shiden', 'shibuya'],
14
+ amplitude: ['amplitude', 'amplitude_test', 'kilt', 'kilt_peregrine', 'pendulum', 'krest_network'],
15
+ // amplitude and kilt only share some common logic
16
+ kilt: ['kilt', 'kilt_peregrine'],
17
+ nominationPool: ['polkadot', 'kusama', 'westend', 'alephTest', 'aleph', 'kate', 'vara_network', 'goldberg_testnet'],
18
+ bifrost: ['bifrost', 'bifrost_testnet'],
19
+ aleph: ['aleph', 'alephTest'],
20
+ // A0 has distinct tokenomics
21
+ ternoa: ['ternoa', 'ternoa_alphanet'],
22
+ liquidStaking: ['bifrost_dot', 'acala', 'parallel', 'moonbeam'],
23
+ lending: ['interlay'],
24
+ krest_network: ['krest_network']
25
+ };
26
+
27
+ // eslint-disable-next-line @typescript-eslint/no-var-requires,@typescript-eslint/no-unsafe-assignment
28
+ exports._STAKING_CHAIN_GROUP = _STAKING_CHAIN_GROUP;
29
+ const ST_LIQUID_TOKEN_ABI = require('./abis/st_liquid_token_abi.json');
30
+ exports.ST_LIQUID_TOKEN_ABI = ST_LIQUID_TOKEN_ABI;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _chains = require("./chains");
7
+ Object.keys(_chains).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _chains[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _chains[key];
14
+ }
15
+ });
16
+ });
17
+ var _step = require("./step");
18
+ Object.keys(_step).forEach(function (key) {
19
+ if (key === "default" || key === "__esModule") return;
20
+ if (key in exports && exports[key] === _step[key]) return;
21
+ Object.defineProperty(exports, key, {
22
+ enumerable: true,
23
+ get: function () {
24
+ return _step[key];
25
+ }
26
+ });
27
+ });
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.fakeAddress = exports.DEFAULT_YIELD_FIRST_STEP = void 0;
7
+ var _types = require("@subwallet/extension-base/types");
8
+ // Copyright 2019-2022 @subwallet/extension-base
9
+ // SPDX-License-Identifier: Apache-2.0
10
+
11
+ const DEFAULT_YIELD_FIRST_STEP = {
12
+ id: 0,
13
+ name: 'Fill information',
14
+ type: _types.YieldStepType.DEFAULT
15
+ };
16
+ exports.DEFAULT_YIELD_FIRST_STEP = DEFAULT_YIELD_FIRST_STEP;
17
+ const fakeAddress = '15MLn9YQaHZ4GMkhK3qXqR5iGGSdULyJ995ctjeBgFRseyi6';
18
+ exports.fakeAddress = fakeAddress;