@subwallet/extension-base 1.1.33-0 → 1.1.33-beta.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 (314) hide show
  1. package/background/KoniTypes.d.ts +120 -69
  2. package/background/KoniTypes.js +22 -13
  3. package/background/errors/TransactionError.js +9 -0
  4. package/cjs/background/KoniTypes.js +23 -16
  5. package/cjs/background/errors/TransactionError.js +9 -0
  6. package/cjs/constants/index.js +19 -4
  7. package/cjs/koni/api/dotsama/balance.js +464 -0
  8. package/cjs/koni/api/nft/config.js +33 -23
  9. package/cjs/koni/api/nft/index.js +14 -0
  10. package/cjs/koni/api/nft/nft.js +1 -22
  11. package/cjs/koni/api/nft/ordinal_nft/constants.js +21 -0
  12. package/cjs/koni/api/nft/ordinal_nft/index.js +121 -0
  13. package/cjs/koni/api/nft/ordinal_nft/utils.js +41 -0
  14. package/cjs/koni/api/staking/bonding/amplitude.js +31 -28
  15. package/cjs/koni/api/staking/bonding/astar.js +11 -10
  16. package/cjs/koni/api/staking/bonding/index.js +4 -1
  17. package/cjs/koni/api/staking/bonding/paraChain.js +25 -23
  18. package/cjs/koni/api/staking/bonding/relayChain.js +48 -45
  19. package/cjs/koni/api/staking/bonding/utils.js +104 -86
  20. package/cjs/koni/api/staking/index.js +6 -5
  21. package/cjs/koni/api/staking/paraChain.js +6 -5
  22. package/cjs/koni/api/staking/relayChain.js +3 -2
  23. package/cjs/koni/api/yield/helper/utils.js +49 -0
  24. package/cjs/koni/background/cron.js +3 -21
  25. package/cjs/koni/background/handlers/Extension.js +368 -69
  26. package/cjs/koni/background/handlers/State.js +18 -12
  27. package/cjs/koni/background/handlers/index.js +4 -2
  28. package/cjs/koni/background/subscription.js +7 -104
  29. package/cjs/services/campaign-service/index.js +9 -6
  30. package/cjs/services/chain-service/constants.js +4 -17
  31. package/cjs/services/chain-service/handler/SubstrateApi.js +10 -5
  32. package/cjs/services/chain-service/index.js +123 -39
  33. package/cjs/services/chain-service/utils.js +75 -1
  34. package/cjs/services/earning-service/constants/chains.js +30 -0
  35. package/cjs/services/earning-service/constants/index.js +27 -0
  36. package/cjs/services/earning-service/constants/step.js +18 -0
  37. package/cjs/services/earning-service/handlers/base.js +262 -0
  38. package/cjs/services/earning-service/handlers/index.js +60 -0
  39. package/cjs/services/earning-service/handlers/lending/base.js +81 -0
  40. package/cjs/services/earning-service/handlers/lending/index.js +13 -0
  41. package/cjs/services/earning-service/handlers/lending/interlay.js +192 -0
  42. package/cjs/services/earning-service/handlers/liquid-staking/acala.js +240 -0
  43. package/cjs/services/earning-service/handlers/liquid-staking/base.js +98 -0
  44. package/cjs/services/earning-service/handlers/liquid-staking/bifrost-manta.js +140 -0
  45. package/cjs/services/earning-service/handlers/liquid-staking/bifrost.js +299 -0
  46. package/cjs/services/earning-service/handlers/liquid-staking/index.js +41 -0
  47. package/cjs/services/earning-service/handlers/liquid-staking/parallel.js +227 -0
  48. package/cjs/services/earning-service/handlers/liquid-staking/stella-swap.js +404 -0
  49. package/cjs/services/earning-service/handlers/native-staking/amplitude.js +434 -0
  50. package/cjs/services/earning-service/handlers/native-staking/astar.js +466 -0
  51. package/cjs/services/earning-service/handlers/native-staking/base-para.js +146 -0
  52. package/cjs/services/earning-service/handlers/native-staking/base.js +161 -0
  53. package/cjs/services/earning-service/handlers/native-staking/index.js +34 -0
  54. package/cjs/services/earning-service/handlers/native-staking/para-chain.js +390 -0
  55. package/cjs/services/earning-service/handlers/native-staking/relay-chain.js +567 -0
  56. package/cjs/services/earning-service/handlers/nomination-pool/index.js +566 -0
  57. package/cjs/services/earning-service/handlers/special.js +497 -0
  58. package/cjs/services/earning-service/service.js +741 -0
  59. package/cjs/services/earning-service/utils/index.js +128 -0
  60. package/cjs/services/event-service/index.js +5 -0
  61. package/cjs/services/keyring-service/index.js +14 -2
  62. package/cjs/services/migration-service/scripts/DeleteEarningData.js +21 -0
  63. package/cjs/services/migration-service/scripts/EnableEarningChains.js +21 -0
  64. package/cjs/services/migration-service/scripts/MigrateEthProvider.js +17 -0
  65. package/cjs/services/migration-service/scripts/MigrateLedgerAccount.js +1 -1
  66. package/cjs/services/migration-service/scripts/MigratePioneerProvider.js +17 -0
  67. package/cjs/services/migration-service/scripts/MigrateProvider.js +29 -0
  68. package/cjs/services/migration-service/scripts/MigrateTransactionHistory.js +1 -1
  69. package/cjs/services/migration-service/scripts/databases/MigrateEarningHistory.js +21 -0
  70. package/cjs/services/migration-service/scripts/databases/MigrateEarningVersion.js +21 -0
  71. package/cjs/services/migration-service/scripts/index.js +6 -1
  72. package/cjs/services/mint-campaign-service/campaigns/UnlockDotCampaign.js +149 -0
  73. package/cjs/services/mint-campaign-service/campaigns/index.js +13 -0
  74. package/cjs/services/mint-campaign-service/constants.js +11 -0
  75. package/cjs/services/mint-campaign-service/index.js +18 -0
  76. package/cjs/services/notification-service/NotificationService.js +1 -1
  77. package/cjs/services/storage-service/DatabaseService.js +92 -1
  78. package/cjs/services/storage-service/databases/index.js +7 -0
  79. package/cjs/services/storage-service/db-stores/AssetRef.js +24 -0
  80. package/cjs/services/storage-service/db-stores/NominatorMetadata.js +3 -3
  81. package/cjs/services/storage-service/db-stores/YieldPoolStore.js +36 -0
  82. package/cjs/services/storage-service/db-stores/YieldPositionStore.js +71 -0
  83. package/cjs/services/storage-service/index.js +241 -0
  84. package/cjs/services/subscan-service/index.js +16 -0
  85. package/cjs/services/transaction-service/event-parser/index.js +58 -0
  86. package/cjs/services/transaction-service/helpers/index.js +3 -1
  87. package/cjs/services/transaction-service/index.js +252 -75
  88. package/cjs/services/transaction-service/utils.js +1 -0
  89. package/cjs/types/campaigns/index.js +16 -0
  90. package/cjs/types/campaigns/unlock-dot.js +1 -0
  91. package/cjs/types/index.js +44 -0
  92. package/cjs/types/ordinal.js +1 -0
  93. package/cjs/types/transaction.js +1 -0
  94. package/cjs/types/yield/actions/index.js +27 -0
  95. package/cjs/types/yield/actions/join/index.js +38 -0
  96. package/cjs/types/yield/actions/join/step.js +48 -0
  97. package/cjs/types/yield/actions/join/submit.js +1 -0
  98. package/cjs/types/yield/actions/join/validate.js +16 -0
  99. package/cjs/types/yield/actions/others.js +1 -0
  100. package/cjs/types/yield/index.js +27 -0
  101. package/cjs/types/yield/info/account/index.js +49 -0
  102. package/cjs/types/yield/info/account/info.js +1 -0
  103. package/cjs/types/yield/info/account/reward.js +1 -0
  104. package/cjs/types/yield/info/account/target.js +32 -0
  105. package/cjs/types/yield/info/account/unstake.js +27 -0
  106. package/cjs/types/yield/info/base.js +41 -0
  107. package/cjs/types/yield/info/chain/index.js +27 -0
  108. package/cjs/types/yield/info/chain/info.js +1 -0
  109. package/cjs/types/yield/info/chain/target.js +1 -0
  110. package/cjs/types/yield/info/index.js +49 -0
  111. package/cjs/types/yield/info/pallet.js +15 -0
  112. package/cjs/types.js +1 -0
  113. package/cjs/utils/address.js +34 -0
  114. package/cjs/utils/fetchStaticData.js +2 -1
  115. package/cjs/utils/index.js +89 -1
  116. package/cjs/utils/keyring.js +57 -0
  117. package/cjs/utils/number.js +6 -2
  118. package/cjs/utils/object.js +12 -0
  119. package/constants/index.d.ts +6 -1
  120. package/constants/index.js +6 -1
  121. package/koni/api/nft/config.js +33 -23
  122. package/koni/api/nft/index.js +15 -1
  123. package/koni/api/nft/nft.js +2 -23
  124. package/koni/api/nft/ordinal_nft/constants.d.ts +9 -0
  125. package/koni/api/nft/ordinal_nft/constants.js +12 -0
  126. package/koni/api/nft/ordinal_nft/index.d.ts +8 -0
  127. package/koni/api/nft/ordinal_nft/index.js +114 -0
  128. package/koni/api/nft/ordinal_nft/utils.d.ts +2 -0
  129. package/koni/api/nft/ordinal_nft/utils.js +33 -0
  130. package/koni/api/staking/bonding/amplitude.js +25 -22
  131. package/koni/api/staking/bonding/astar.js +9 -8
  132. package/koni/api/staking/bonding/index.d.ts +1 -1
  133. package/koni/api/staking/bonding/index.js +5 -1
  134. package/koni/api/staking/bonding/paraChain.js +12 -10
  135. package/koni/api/staking/bonding/relayChain.d.ts +2 -2
  136. package/koni/api/staking/bonding/relayChain.js +33 -30
  137. package/koni/api/staking/bonding/utils.d.ts +15 -38
  138. package/koni/api/staking/bonding/utils.js +85 -69
  139. package/koni/api/staking/index.js +2 -1
  140. package/koni/api/staking/paraChain.js +7 -6
  141. package/koni/api/staking/relayChain.js +4 -3
  142. package/koni/api/yield/helper/utils.d.ts +10 -0
  143. package/koni/api/yield/helper/utils.js +34 -0
  144. package/koni/background/cron.d.ts +0 -4
  145. package/koni/background/cron.js +4 -22
  146. package/koni/background/handlers/Extension.d.ts +17 -1
  147. package/koni/background/handlers/Extension.js +327 -30
  148. package/koni/background/handlers/State.d.ts +6 -1
  149. package/koni/background/handlers/State.js +17 -12
  150. package/koni/background/handlers/index.js +4 -2
  151. package/koni/background/subscription.d.ts +1 -6
  152. package/koni/background/subscription.js +8 -104
  153. package/package.json +327 -4
  154. package/services/campaign-service/index.js +9 -6
  155. package/services/chain-service/constants.d.ts +1 -12
  156. package/services/chain-service/constants.js +1 -14
  157. package/services/chain-service/handler/SubstrateApi.js +10 -5
  158. package/services/chain-service/index.d.ts +11 -1
  159. package/services/chain-service/index.js +119 -36
  160. package/services/chain-service/utils.d.ts +11 -1
  161. package/services/chain-service/utils.js +71 -2
  162. package/services/earning-service/constants/abis/compound_finance_v2_abi.json +1235 -0
  163. package/services/earning-service/constants/abis/st_liquid_token_abi.json +1355 -0
  164. package/services/earning-service/constants/chains.d.ts +15 -0
  165. package/services/earning-service/constants/chains.js +22 -0
  166. package/services/earning-service/constants/index.d.ts +2 -0
  167. package/services/earning-service/constants/index.js +5 -0
  168. package/services/earning-service/constants/step.d.ts +3 -0
  169. package/services/earning-service/constants/step.js +10 -0
  170. package/services/earning-service/handlers/base.d.ts +113 -0
  171. package/services/earning-service/handlers/base.js +256 -0
  172. package/services/earning-service/handlers/index.d.ts +5 -0
  173. package/services/earning-service/handlers/index.js +8 -0
  174. package/services/earning-service/handlers/lending/base.d.ts +8 -0
  175. package/services/earning-service/handlers/lending/base.js +73 -0
  176. package/services/earning-service/handlers/lending/index.d.ts +1 -0
  177. package/services/earning-service/handlers/lending/index.js +4 -0
  178. package/services/earning-service/handlers/lending/interlay.d.ts +24 -0
  179. package/services/earning-service/handlers/lending/interlay.js +184 -0
  180. package/services/earning-service/handlers/liquid-staking/acala.d.ts +27 -0
  181. package/services/earning-service/handlers/liquid-staking/acala.js +232 -0
  182. package/services/earning-service/handlers/liquid-staking/base.d.ts +11 -0
  183. package/services/earning-service/handlers/liquid-staking/base.js +90 -0
  184. package/services/earning-service/handlers/liquid-staking/bifrost-manta.d.ts +37 -0
  185. package/services/earning-service/handlers/liquid-staking/bifrost-manta.js +132 -0
  186. package/services/earning-service/handlers/liquid-staking/bifrost.d.ts +46 -0
  187. package/services/earning-service/handlers/liquid-staking/bifrost.js +288 -0
  188. package/services/earning-service/handlers/liquid-staking/index.d.ts +5 -0
  189. package/services/earning-service/handlers/liquid-staking/index.js +8 -0
  190. package/services/earning-service/handlers/liquid-staking/parallel.d.ts +26 -0
  191. package/services/earning-service/handlers/liquid-staking/parallel.js +219 -0
  192. package/services/earning-service/handlers/liquid-staking/stella-swap.d.ts +34 -0
  193. package/services/earning-service/handlers/liquid-staking/stella-swap.js +394 -0
  194. package/services/earning-service/handlers/native-staking/amplitude.d.ts +22 -0
  195. package/services/earning-service/handlers/native-staking/amplitude.js +425 -0
  196. package/services/earning-service/handlers/native-staking/astar.d.ts +19 -0
  197. package/services/earning-service/handlers/native-staking/astar.js +456 -0
  198. package/services/earning-service/handlers/native-staking/base-para.d.ts +11 -0
  199. package/services/earning-service/handlers/native-staking/base-para.js +138 -0
  200. package/services/earning-service/handlers/native-staking/base.d.ts +21 -0
  201. package/services/earning-service/handlers/native-staking/base.js +152 -0
  202. package/services/earning-service/handlers/native-staking/index.d.ts +4 -0
  203. package/services/earning-service/handlers/native-staking/index.js +7 -0
  204. package/services/earning-service/handlers/native-staking/para-chain.d.ts +15 -0
  205. package/services/earning-service/handlers/native-staking/para-chain.js +382 -0
  206. package/services/earning-service/handlers/native-staking/relay-chain.d.ts +21 -0
  207. package/services/earning-service/handlers/native-staking/relay-chain.js +558 -0
  208. package/services/earning-service/handlers/nomination-pool/index.d.ts +36 -0
  209. package/services/earning-service/handlers/nomination-pool/index.js +556 -0
  210. package/services/earning-service/handlers/special.d.ts +64 -0
  211. package/services/earning-service/handlers/special.js +489 -0
  212. package/services/earning-service/service.d.ts +94 -0
  213. package/services/earning-service/service.js +730 -0
  214. package/services/earning-service/utils/index.d.ts +18 -0
  215. package/services/earning-service/utils/index.js +112 -0
  216. package/services/event-service/index.d.ts +2 -0
  217. package/services/event-service/index.js +5 -0
  218. package/services/event-service/types.d.ts +9 -0
  219. package/services/keyring-service/index.d.ts +2 -1
  220. package/services/keyring-service/index.js +14 -2
  221. package/services/migration-service/scripts/DeleteEarningData.d.ts +4 -0
  222. package/services/migration-service/scripts/DeleteEarningData.js +13 -0
  223. package/services/migration-service/scripts/EnableEarningChains.d.ts +4 -0
  224. package/services/migration-service/scripts/EnableEarningChains.js +13 -0
  225. package/services/migration-service/scripts/MigrateLedgerAccount.js +1 -1
  226. package/services/migration-service/scripts/MigrateTransactionHistory.js +1 -1
  227. package/services/migration-service/scripts/databases/MigrateEarningHistory.d.ts +4 -0
  228. package/services/migration-service/scripts/databases/MigrateEarningHistory.js +13 -0
  229. package/services/migration-service/scripts/databases/MigrateEarningVersion.d.ts +4 -0
  230. package/services/migration-service/scripts/databases/MigrateEarningVersion.js +13 -0
  231. package/services/migration-service/scripts/index.js +6 -1
  232. package/services/mint-campaign-service/campaigns/UnlockDotCampaign.d.ts +13 -0
  233. package/services/mint-campaign-service/campaigns/UnlockDotCampaign.js +139 -0
  234. package/services/mint-campaign-service/campaigns/index.d.ts +1 -0
  235. package/services/mint-campaign-service/campaigns/index.js +4 -0
  236. package/services/mint-campaign-service/constants.d.ts +1 -0
  237. package/services/mint-campaign-service/constants.js +4 -0
  238. package/services/mint-campaign-service/index.d.ts +7 -0
  239. package/services/mint-campaign-service/index.js +11 -0
  240. package/services/notification-service/NotificationService.js +1 -1
  241. package/services/storage-service/DatabaseService.d.ts +30 -3
  242. package/services/storage-service/DatabaseService.js +91 -1
  243. package/services/storage-service/databases/index.d.ts +8 -2
  244. package/services/storage-service/databases/index.js +7 -0
  245. package/services/storage-service/db-stores/AssetRef.d.ts +7 -0
  246. package/services/storage-service/db-stores/AssetRef.js +16 -0
  247. package/services/storage-service/db-stores/NominatorMetadata.js +3 -3
  248. package/services/storage-service/db-stores/YieldPoolStore.d.ts +10 -0
  249. package/services/storage-service/db-stores/YieldPoolStore.js +28 -0
  250. package/services/storage-service/db-stores/YieldPositionStore.d.ts +11 -0
  251. package/services/storage-service/db-stores/YieldPositionStore.js +63 -0
  252. package/services/subscan-service/index.d.ts +3 -2
  253. package/services/subscan-service/index.js +15 -0
  254. package/services/subscan-service/types.d.ts +20 -0
  255. package/services/transaction-service/event-parser/index.d.ts +3 -1
  256. package/services/transaction-service/event-parser/index.js +57 -1
  257. package/services/transaction-service/helpers/index.js +3 -1
  258. package/services/transaction-service/index.d.ts +6 -13
  259. package/services/transaction-service/index.js +250 -73
  260. package/services/transaction-service/types.d.ts +2 -0
  261. package/services/transaction-service/utils.js +1 -0
  262. package/types/campaigns/index.d.ts +1 -0
  263. package/types/campaigns/index.js +4 -0
  264. package/types/campaigns/unlock-dot.d.ts +71 -0
  265. package/types/campaigns/unlock-dot.js +1 -0
  266. package/types/index.d.ts +5 -0
  267. package/types/index.js +5 -1
  268. package/types/ordinal.d.ts +69 -0
  269. package/types/ordinal.js +1 -0
  270. package/types/transaction.d.ts +3 -0
  271. package/types/transaction.js +1 -0
  272. package/types/yield/actions/index.d.ts +2 -0
  273. package/types/yield/actions/index.js +5 -0
  274. package/types/yield/actions/join/index.d.ts +3 -0
  275. package/types/yield/actions/join/index.js +6 -0
  276. package/types/yield/actions/join/step.d.ts +96 -0
  277. package/types/yield/actions/join/step.js +47 -0
  278. package/types/yield/actions/join/submit.d.ts +58 -0
  279. package/types/yield/actions/join/submit.js +1 -0
  280. package/types/yield/actions/join/validate.d.ts +18 -0
  281. package/types/yield/actions/join/validate.js +10 -0
  282. package/types/yield/actions/others.d.ts +85 -0
  283. package/types/yield/actions/others.js +1 -0
  284. package/types/yield/index.d.ts +2 -0
  285. package/types/yield/index.js +5 -0
  286. package/types/yield/info/account/index.d.ts +4 -0
  287. package/types/yield/info/account/index.js +7 -0
  288. package/types/yield/info/account/info.d.ts +92 -0
  289. package/types/yield/info/account/info.js +1 -0
  290. package/types/yield/info/account/reward.d.ts +47 -0
  291. package/types/yield/info/account/reward.js +1 -0
  292. package/types/yield/info/account/target.d.ts +43 -0
  293. package/types/yield/info/account/target.js +27 -0
  294. package/types/yield/info/account/unstake.d.ts +31 -0
  295. package/types/yield/info/account/unstake.js +22 -0
  296. package/types/yield/info/base.d.ts +45 -0
  297. package/types/yield/info/base.js +36 -0
  298. package/types/yield/info/chain/index.d.ts +2 -0
  299. package/types/yield/info/chain/index.js +5 -0
  300. package/types/yield/info/chain/info.d.ts +252 -0
  301. package/types/yield/info/chain/info.js +1 -0
  302. package/types/yield/info/chain/target.d.ts +37 -0
  303. package/types/yield/info/chain/target.js +1 -0
  304. package/types/yield/info/index.d.ts +4 -0
  305. package/types/yield/info/index.js +7 -0
  306. package/types/yield/info/pallet.d.ts +143 -0
  307. package/types/yield/info/pallet.js +9 -0
  308. package/utils/fetchStaticData.js +2 -1
  309. package/utils/index.d.ts +5 -0
  310. package/utils/index.js +52 -0
  311. package/utils/number.d.ts +2 -1
  312. package/utils/number.js +2 -1
  313. package/utils/object.d.ts +1 -0
  314. 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
  }
@@ -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.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,
@@ -277,9 +262,11 @@ exports.EVM_PASS_CONNECT_STATUS = EVM_PASS_CONNECT_STATUS;
277
262
  const EVM_REFORMAT_DECIMALS = {
278
263
  acala: ['acala_evm', 'karura_evm']
279
264
  };
265
+ exports.EVM_REFORMAT_DECIMALS = EVM_REFORMAT_DECIMALS;
266
+ const LATEST_CHAIN_DATA_FETCHING_INTERVAL = 30000;
280
267
 
281
268
  // TODO: review
282
- exports.EVM_REFORMAT_DECIMALS = EVM_REFORMAT_DECIMALS;
269
+ exports.LATEST_CHAIN_DATA_FETCHING_INTERVAL = LATEST_CHAIN_DATA_FETCHING_INTERVAL;
283
270
  const TARGET_BRANCH = process.env.NODE_ENV !== 'production' ? 'koni-dev' : 'master';
284
271
  const _CHAIN_INFO_SRC = `https://raw.githubusercontent.com/Koniverse/SubWallet-Chain/${TARGET_BRANCH}/packages/chain-list/src/data/ChainInfo.json`;
285
272
  exports._CHAIN_INFO_SRC = _CHAIN_INFO_SRC;
@@ -64,7 +64,8 @@ class SubstrateApi {
64
64
  const apiOption = {
65
65
  provider,
66
66
  typesBundle: _api3.typesBundle,
67
- registry: this.registry
67
+ registry: this.registry,
68
+ noInitWarn: true
68
69
  };
69
70
  if (this.metadata) {
70
71
  const metadata = this.metadata;
@@ -78,27 +79,31 @@ class SubstrateApi {
78
79
  api = externalApiPromise;
79
80
  } else if (_constants._API_OPTIONS_CHAIN_GROUP.acala.includes(this.chainSlug)) {
80
81
  api = new _api2.ApiPromise((0, _api.options)({
81
- provider
82
+ provider,
83
+ noInitWarn: true
82
84
  }));
83
85
  } else if (_constants._API_OPTIONS_CHAIN_GROUP.turing.includes(this.chainSlug)) {
84
86
  api = new _api2.ApiPromise({
85
87
  provider,
86
88
  rpc: _types.rpc,
87
- types: _types.types
89
+ types: _types.types,
90
+ noInitWarn: true
88
91
  });
89
92
  } else if (_constants._API_OPTIONS_CHAIN_GROUP.avail.includes(this.chainSlug)) {
90
93
  api = new _api2.ApiPromise({
91
94
  provider,
92
95
  rpc: _availJsSdk.spec.rpc,
93
96
  types: _availJsSdk.spec.types,
94
- signedExtensions: _availJsSdk.spec.signedExtensions
97
+ signedExtensions: _availJsSdk.spec.signedExtensions,
98
+ noInitWarn: true
95
99
  });
96
100
  } else if (_constants._API_OPTIONS_CHAIN_GROUP.goldberg.includes(this.chainSlug)) {
97
101
  api = new _api2.ApiPromise({
98
102
  provider,
99
103
  rpc: _goldberg.default.rpc,
100
104
  types: _goldberg.default.types,
101
- signedExtensions: _goldberg.default.signedExtensions
105
+ signedExtensions: _goldberg.default.signedExtensions,
106
+ noInitWarn: true
102
107
  });
103
108
  } else {
104
109
  api = new _api2.ApiPromise(apiOption);