@subwallet/extension-base 1.1.33-beta.0 → 1.1.34-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 (312) hide show
  1. package/background/KoniTypes.d.ts +69 -111
  2. package/background/KoniTypes.js +13 -19
  3. package/background/errors/TransactionError.js +0 -9
  4. package/cjs/background/KoniTypes.js +16 -20
  5. package/cjs/background/errors/TransactionError.js +0 -9
  6. package/cjs/constants/index.js +4 -19
  7. package/cjs/koni/api/nft/config.js +23 -33
  8. package/cjs/koni/api/nft/index.js +0 -14
  9. package/cjs/koni/api/nft/nft.js +22 -1
  10. package/cjs/koni/api/staking/bonding/amplitude.js +16 -19
  11. package/cjs/koni/api/staking/bonding/astar.js +10 -11
  12. package/cjs/koni/api/staking/bonding/index.js +1 -4
  13. package/cjs/koni/api/staking/bonding/paraChain.js +23 -25
  14. package/cjs/koni/api/staking/bonding/relayChain.js +45 -48
  15. package/cjs/koni/api/staking/bonding/utils.js +86 -104
  16. package/cjs/koni/api/staking/index.js +5 -6
  17. package/cjs/koni/api/staking/paraChain.js +17 -10
  18. package/cjs/koni/api/staking/relayChain.js +2 -3
  19. package/cjs/koni/background/cron.js +21 -3
  20. package/cjs/koni/background/handlers/Extension.js +69 -368
  21. package/cjs/koni/background/handlers/State.js +12 -18
  22. package/cjs/koni/background/handlers/index.js +2 -4
  23. package/cjs/koni/background/subscription.js +104 -7
  24. package/cjs/packageInfo.js +1 -1
  25. package/cjs/services/balance-service/helpers/subscribe/substrate/index.js +1 -3
  26. package/cjs/services/campaign-service/index.js +6 -9
  27. package/cjs/services/chain-service/constants.js +19 -2
  28. package/cjs/services/chain-service/handler/SubstrateApi.js +10 -5
  29. package/cjs/services/chain-service/index.js +101 -40
  30. package/cjs/services/chain-service/utils.js +69 -7
  31. package/cjs/services/event-service/index.js +0 -5
  32. package/cjs/services/keyring-service/index.js +2 -14
  33. package/cjs/services/migration-service/scripts/MigrateLedgerAccount.js +1 -1
  34. package/cjs/services/migration-service/scripts/MigrateTransactionHistory.js +1 -1
  35. package/cjs/services/migration-service/scripts/index.js +1 -6
  36. package/cjs/services/notification-service/NotificationService.js +1 -1
  37. package/cjs/services/storage-service/DatabaseService.js +0 -63
  38. package/cjs/services/storage-service/databases/index.js +0 -4
  39. package/cjs/services/storage-service/db-stores/NominatorMetadata.js +3 -3
  40. package/cjs/services/subscan-service/index.js +0 -16
  41. package/cjs/services/transaction-service/event-parser/index.js +0 -58
  42. package/cjs/services/transaction-service/helpers/index.js +1 -3
  43. package/cjs/services/transaction-service/index.js +75 -249
  44. package/cjs/services/transaction-service/utils.js +0 -1
  45. package/cjs/types/index.js +0 -44
  46. package/cjs/utils/fetchStaticData.js +1 -2
  47. package/cjs/utils/index.js +1 -89
  48. package/cjs/utils/number.js +2 -6
  49. package/constants/index.d.ts +1 -6
  50. package/constants/index.js +1 -6
  51. package/koni/api/nft/config.js +23 -33
  52. package/koni/api/nft/index.js +1 -15
  53. package/koni/api/nft/nft.js +23 -2
  54. package/koni/api/staking/bonding/amplitude.js +10 -13
  55. package/koni/api/staking/bonding/astar.js +8 -9
  56. package/koni/api/staking/bonding/index.d.ts +1 -1
  57. package/koni/api/staking/bonding/index.js +1 -5
  58. package/koni/api/staking/bonding/paraChain.js +10 -12
  59. package/koni/api/staking/bonding/relayChain.d.ts +2 -2
  60. package/koni/api/staking/bonding/relayChain.js +30 -33
  61. package/koni/api/staking/bonding/utils.d.ts +38 -15
  62. package/koni/api/staking/bonding/utils.js +69 -85
  63. package/koni/api/staking/index.js +1 -2
  64. package/koni/api/staking/paraChain.js +18 -11
  65. package/koni/api/staking/relayChain.js +3 -4
  66. package/koni/background/cron.d.ts +4 -0
  67. package/koni/background/cron.js +22 -4
  68. package/koni/background/handlers/Extension.d.ts +1 -17
  69. package/koni/background/handlers/Extension.js +30 -327
  70. package/koni/background/handlers/State.d.ts +1 -6
  71. package/koni/background/handlers/State.js +12 -17
  72. package/koni/background/handlers/index.js +2 -4
  73. package/koni/background/subscription.d.ts +6 -1
  74. package/koni/background/subscription.js +104 -8
  75. package/package.json +7 -320
  76. package/packageInfo.js +1 -1
  77. package/services/balance-service/helpers/subscribe/substrate/index.js +2 -4
  78. package/services/campaign-service/index.js +6 -9
  79. package/services/chain-service/constants.d.ts +13 -0
  80. package/services/chain-service/constants.js +15 -0
  81. package/services/chain-service/handler/SubstrateApi.js +10 -5
  82. package/services/chain-service/index.d.ts +9 -1
  83. package/services/chain-service/index.js +97 -37
  84. package/services/chain-service/utils.d.ts +10 -2
  85. package/services/chain-service/utils.js +67 -6
  86. package/services/event-service/index.d.ts +0 -2
  87. package/services/event-service/index.js +0 -5
  88. package/services/event-service/types.d.ts +0 -9
  89. package/services/keyring-service/index.d.ts +1 -2
  90. package/services/keyring-service/index.js +2 -14
  91. package/services/migration-service/scripts/MigrateLedgerAccount.js +1 -1
  92. package/services/migration-service/scripts/MigrateTransactionHistory.js +1 -1
  93. package/services/migration-service/scripts/index.js +1 -6
  94. package/services/notification-service/NotificationService.js +1 -1
  95. package/services/storage-service/DatabaseService.d.ts +1 -22
  96. package/services/storage-service/DatabaseService.js +0 -63
  97. package/services/storage-service/databases/index.d.ts +1 -3
  98. package/services/storage-service/databases/index.js +0 -4
  99. package/services/storage-service/db-stores/NominatorMetadata.js +3 -3
  100. package/services/subscan-service/index.d.ts +2 -3
  101. package/services/subscan-service/index.js +0 -15
  102. package/services/subscan-service/types.d.ts +0 -20
  103. package/services/transaction-service/event-parser/index.d.ts +1 -3
  104. package/services/transaction-service/event-parser/index.js +1 -57
  105. package/services/transaction-service/helpers/index.js +1 -3
  106. package/services/transaction-service/index.d.ts +13 -6
  107. package/services/transaction-service/index.js +73 -247
  108. package/services/transaction-service/types.d.ts +0 -2
  109. package/services/transaction-service/utils.js +0 -1
  110. package/types/index.d.ts +0 -5
  111. package/types/index.js +1 -5
  112. package/utils/fetchStaticData.js +1 -2
  113. package/utils/index.d.ts +0 -5
  114. package/utils/index.js +0 -52
  115. package/utils/number.d.ts +1 -2
  116. package/utils/number.js +1 -2
  117. package/cjs/koni/api/dotsama/balance.js +0 -464
  118. package/cjs/koni/api/nft/ordinal_nft/constants.js +0 -21
  119. package/cjs/koni/api/nft/ordinal_nft/index.js +0 -121
  120. package/cjs/koni/api/nft/ordinal_nft/utils.js +0 -41
  121. package/cjs/koni/api/yield/helper/utils.js +0 -46
  122. package/cjs/services/earning-service/constants/chains.js +0 -30
  123. package/cjs/services/earning-service/constants/index.js +0 -27
  124. package/cjs/services/earning-service/constants/step.js +0 -18
  125. package/cjs/services/earning-service/handlers/base.js +0 -262
  126. package/cjs/services/earning-service/handlers/index.js +0 -60
  127. package/cjs/services/earning-service/handlers/lending/base.js +0 -81
  128. package/cjs/services/earning-service/handlers/lending/index.js +0 -13
  129. package/cjs/services/earning-service/handlers/lending/interlay.js +0 -192
  130. package/cjs/services/earning-service/handlers/liquid-staking/acala.js +0 -240
  131. package/cjs/services/earning-service/handlers/liquid-staking/base.js +0 -97
  132. package/cjs/services/earning-service/handlers/liquid-staking/bifrost.js +0 -298
  133. package/cjs/services/earning-service/handlers/liquid-staking/index.js +0 -34
  134. package/cjs/services/earning-service/handlers/liquid-staking/parallel.js +0 -227
  135. package/cjs/services/earning-service/handlers/liquid-staking/stella-swap.js +0 -404
  136. package/cjs/services/earning-service/handlers/native-staking/amplitude.js +0 -434
  137. package/cjs/services/earning-service/handlers/native-staking/astar.js +0 -466
  138. package/cjs/services/earning-service/handlers/native-staking/base-para.js +0 -146
  139. package/cjs/services/earning-service/handlers/native-staking/base.js +0 -161
  140. package/cjs/services/earning-service/handlers/native-staking/index.js +0 -34
  141. package/cjs/services/earning-service/handlers/native-staking/para-chain.js +0 -390
  142. package/cjs/services/earning-service/handlers/native-staking/relay-chain.js +0 -567
  143. package/cjs/services/earning-service/handlers/nomination-pool/index.js +0 -566
  144. package/cjs/services/earning-service/handlers/special.js +0 -493
  145. package/cjs/services/earning-service/service.js +0 -740
  146. package/cjs/services/earning-service/utils/index.js +0 -128
  147. package/cjs/services/migration-service/scripts/DeleteEarningData.js +0 -21
  148. package/cjs/services/migration-service/scripts/EnableEarningChains.js +0 -21
  149. package/cjs/services/migration-service/scripts/MigrateEthProvider.js +0 -17
  150. package/cjs/services/migration-service/scripts/MigratePioneerProvider.js +0 -17
  151. package/cjs/services/migration-service/scripts/MigrateProvider.js +0 -29
  152. package/cjs/services/migration-service/scripts/databases/MigrateEarningHistory.js +0 -21
  153. package/cjs/services/migration-service/scripts/databases/MigrateEarningVersion.js +0 -21
  154. package/cjs/services/mint-campaign-service/campaigns/UnlockDotCampaign.js +0 -149
  155. package/cjs/services/mint-campaign-service/campaigns/index.js +0 -13
  156. package/cjs/services/mint-campaign-service/constants.js +0 -11
  157. package/cjs/services/mint-campaign-service/index.js +0 -18
  158. package/cjs/services/storage-service/db-stores/YieldPoolStore.js +0 -36
  159. package/cjs/services/storage-service/db-stores/YieldPositionStore.js +0 -71
  160. package/cjs/services/storage-service/index.js +0 -241
  161. package/cjs/types/campaigns/index.js +0 -16
  162. package/cjs/types/campaigns/unlock-dot.js +0 -1
  163. package/cjs/types/ordinal.js +0 -1
  164. package/cjs/types/transaction.js +0 -1
  165. package/cjs/types/yield/actions/index.js +0 -27
  166. package/cjs/types/yield/actions/join/index.js +0 -38
  167. package/cjs/types/yield/actions/join/step.js +0 -47
  168. package/cjs/types/yield/actions/join/submit.js +0 -1
  169. package/cjs/types/yield/actions/join/validate.js +0 -16
  170. package/cjs/types/yield/actions/others.js +0 -1
  171. package/cjs/types/yield/index.js +0 -27
  172. package/cjs/types/yield/info/account/index.js +0 -49
  173. package/cjs/types/yield/info/account/info.js +0 -1
  174. package/cjs/types/yield/info/account/reward.js +0 -1
  175. package/cjs/types/yield/info/account/target.js +0 -32
  176. package/cjs/types/yield/info/account/unstake.js +0 -27
  177. package/cjs/types/yield/info/base.js +0 -41
  178. package/cjs/types/yield/info/chain/index.js +0 -27
  179. package/cjs/types/yield/info/chain/info.js +0 -1
  180. package/cjs/types/yield/info/chain/target.js +0 -1
  181. package/cjs/types/yield/info/index.js +0 -49
  182. package/cjs/types/yield/info/pallet.js +0 -15
  183. package/cjs/types.js +0 -1
  184. package/cjs/utils/address.js +0 -34
  185. package/cjs/utils/keyring.js +0 -57
  186. package/cjs/utils/object.js +0 -12
  187. package/koni/api/nft/ordinal_nft/constants.d.ts +0 -9
  188. package/koni/api/nft/ordinal_nft/constants.js +0 -12
  189. package/koni/api/nft/ordinal_nft/index.d.ts +0 -8
  190. package/koni/api/nft/ordinal_nft/index.js +0 -114
  191. package/koni/api/nft/ordinal_nft/utils.d.ts +0 -2
  192. package/koni/api/nft/ordinal_nft/utils.js +0 -33
  193. package/koni/api/yield/helper/utils.d.ts +0 -10
  194. package/koni/api/yield/helper/utils.js +0 -32
  195. package/services/earning-service/constants/abis/compound_finance_v2_abi.json +0 -1235
  196. package/services/earning-service/constants/abis/st_liquid_token_abi.json +0 -1355
  197. package/services/earning-service/constants/chains.d.ts +0 -15
  198. package/services/earning-service/constants/chains.js +0 -22
  199. package/services/earning-service/constants/index.d.ts +0 -2
  200. package/services/earning-service/constants/index.js +0 -5
  201. package/services/earning-service/constants/step.d.ts +0 -3
  202. package/services/earning-service/constants/step.js +0 -10
  203. package/services/earning-service/handlers/base.d.ts +0 -113
  204. package/services/earning-service/handlers/base.js +0 -256
  205. package/services/earning-service/handlers/index.d.ts +0 -5
  206. package/services/earning-service/handlers/index.js +0 -8
  207. package/services/earning-service/handlers/lending/base.d.ts +0 -8
  208. package/services/earning-service/handlers/lending/base.js +0 -73
  209. package/services/earning-service/handlers/lending/index.d.ts +0 -1
  210. package/services/earning-service/handlers/lending/index.js +0 -4
  211. package/services/earning-service/handlers/lending/interlay.d.ts +0 -24
  212. package/services/earning-service/handlers/lending/interlay.js +0 -184
  213. package/services/earning-service/handlers/liquid-staking/acala.d.ts +0 -27
  214. package/services/earning-service/handlers/liquid-staking/acala.js +0 -232
  215. package/services/earning-service/handlers/liquid-staking/base.d.ts +0 -11
  216. package/services/earning-service/handlers/liquid-staking/base.js +0 -89
  217. package/services/earning-service/handlers/liquid-staking/bifrost.d.ts +0 -46
  218. package/services/earning-service/handlers/liquid-staking/bifrost.js +0 -287
  219. package/services/earning-service/handlers/liquid-staking/index.d.ts +0 -4
  220. package/services/earning-service/handlers/liquid-staking/index.js +0 -7
  221. package/services/earning-service/handlers/liquid-staking/parallel.d.ts +0 -26
  222. package/services/earning-service/handlers/liquid-staking/parallel.js +0 -219
  223. package/services/earning-service/handlers/liquid-staking/stella-swap.d.ts +0 -34
  224. package/services/earning-service/handlers/liquid-staking/stella-swap.js +0 -394
  225. package/services/earning-service/handlers/native-staking/amplitude.d.ts +0 -22
  226. package/services/earning-service/handlers/native-staking/amplitude.js +0 -425
  227. package/services/earning-service/handlers/native-staking/astar.d.ts +0 -19
  228. package/services/earning-service/handlers/native-staking/astar.js +0 -456
  229. package/services/earning-service/handlers/native-staking/base-para.d.ts +0 -11
  230. package/services/earning-service/handlers/native-staking/base-para.js +0 -138
  231. package/services/earning-service/handlers/native-staking/base.d.ts +0 -21
  232. package/services/earning-service/handlers/native-staking/base.js +0 -152
  233. package/services/earning-service/handlers/native-staking/index.d.ts +0 -4
  234. package/services/earning-service/handlers/native-staking/index.js +0 -7
  235. package/services/earning-service/handlers/native-staking/para-chain.d.ts +0 -15
  236. package/services/earning-service/handlers/native-staking/para-chain.js +0 -382
  237. package/services/earning-service/handlers/native-staking/relay-chain.d.ts +0 -21
  238. package/services/earning-service/handlers/native-staking/relay-chain.js +0 -558
  239. package/services/earning-service/handlers/nomination-pool/index.d.ts +0 -36
  240. package/services/earning-service/handlers/nomination-pool/index.js +0 -556
  241. package/services/earning-service/handlers/special.d.ts +0 -64
  242. package/services/earning-service/handlers/special.js +0 -485
  243. package/services/earning-service/service.d.ts +0 -94
  244. package/services/earning-service/service.js +0 -729
  245. package/services/earning-service/utils/index.d.ts +0 -18
  246. package/services/earning-service/utils/index.js +0 -112
  247. package/services/migration-service/scripts/DeleteEarningData.d.ts +0 -4
  248. package/services/migration-service/scripts/DeleteEarningData.js +0 -13
  249. package/services/migration-service/scripts/EnableEarningChains.d.ts +0 -4
  250. package/services/migration-service/scripts/EnableEarningChains.js +0 -13
  251. package/services/migration-service/scripts/databases/MigrateEarningHistory.d.ts +0 -4
  252. package/services/migration-service/scripts/databases/MigrateEarningHistory.js +0 -13
  253. package/services/migration-service/scripts/databases/MigrateEarningVersion.d.ts +0 -4
  254. package/services/migration-service/scripts/databases/MigrateEarningVersion.js +0 -13
  255. package/services/mint-campaign-service/campaigns/UnlockDotCampaign.d.ts +0 -13
  256. package/services/mint-campaign-service/campaigns/UnlockDotCampaign.js +0 -139
  257. package/services/mint-campaign-service/campaigns/index.d.ts +0 -1
  258. package/services/mint-campaign-service/campaigns/index.js +0 -4
  259. package/services/mint-campaign-service/constants.d.ts +0 -1
  260. package/services/mint-campaign-service/constants.js +0 -4
  261. package/services/mint-campaign-service/index.d.ts +0 -7
  262. package/services/mint-campaign-service/index.js +0 -11
  263. package/services/storage-service/db-stores/YieldPoolStore.d.ts +0 -10
  264. package/services/storage-service/db-stores/YieldPoolStore.js +0 -28
  265. package/services/storage-service/db-stores/YieldPositionStore.d.ts +0 -11
  266. package/services/storage-service/db-stores/YieldPositionStore.js +0 -63
  267. package/types/campaigns/index.d.ts +0 -1
  268. package/types/campaigns/index.js +0 -4
  269. package/types/campaigns/unlock-dot.d.ts +0 -71
  270. package/types/campaigns/unlock-dot.js +0 -1
  271. package/types/ordinal.d.ts +0 -69
  272. package/types/ordinal.js +0 -1
  273. package/types/transaction.d.ts +0 -3
  274. package/types/transaction.js +0 -1
  275. package/types/yield/actions/index.d.ts +0 -2
  276. package/types/yield/actions/index.js +0 -5
  277. package/types/yield/actions/join/index.d.ts +0 -3
  278. package/types/yield/actions/join/index.js +0 -6
  279. package/types/yield/actions/join/step.d.ts +0 -95
  280. package/types/yield/actions/join/step.js +0 -46
  281. package/types/yield/actions/join/submit.d.ts +0 -58
  282. package/types/yield/actions/join/submit.js +0 -1
  283. package/types/yield/actions/join/validate.d.ts +0 -18
  284. package/types/yield/actions/join/validate.js +0 -10
  285. package/types/yield/actions/others.d.ts +0 -85
  286. package/types/yield/actions/others.js +0 -1
  287. package/types/yield/index.d.ts +0 -2
  288. package/types/yield/index.js +0 -5
  289. package/types/yield/info/account/index.d.ts +0 -4
  290. package/types/yield/info/account/index.js +0 -7
  291. package/types/yield/info/account/info.d.ts +0 -92
  292. package/types/yield/info/account/info.js +0 -1
  293. package/types/yield/info/account/reward.d.ts +0 -47
  294. package/types/yield/info/account/reward.js +0 -1
  295. package/types/yield/info/account/target.d.ts +0 -43
  296. package/types/yield/info/account/target.js +0 -27
  297. package/types/yield/info/account/unstake.d.ts +0 -31
  298. package/types/yield/info/account/unstake.js +0 -22
  299. package/types/yield/info/base.d.ts +0 -45
  300. package/types/yield/info/base.js +0 -36
  301. package/types/yield/info/chain/index.d.ts +0 -2
  302. package/types/yield/info/chain/index.js +0 -5
  303. package/types/yield/info/chain/info.d.ts +0 -252
  304. package/types/yield/info/chain/info.js +0 -1
  305. package/types/yield/info/chain/target.d.ts +0 -37
  306. package/types/yield/info/chain/target.js +0 -1
  307. package/types/yield/info/index.d.ts +0 -4
  308. package/types/yield/info/index.js +0 -7
  309. package/types/yield/info/pallet.d.ts +0 -143
  310. package/types/yield/info/pallet.js +0 -9
  311. package/utils/object.d.ts +0 -1
  312. package/utils/object.js +0 -6
@@ -1,740 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = void 0;
8
- var _TransactionError = require("@subwallet/extension-base/background/errors/TransactionError");
9
- var _KoniTypes = require("@subwallet/extension-base/background/KoniTypes");
10
- var _constants = require("@subwallet/extension-base/constants");
11
- var _types = require("@subwallet/extension-base/services/base/types");
12
- var _utils = require("@subwallet/extension-base/services/chain-service/utils");
13
- var _constants2 = require("@subwallet/extension-base/services/earning-service/constants");
14
- var _base = _interopRequireDefault(require("@subwallet/extension-base/services/earning-service/handlers/liquid-staking/base"));
15
- var _types2 = require("@subwallet/extension-base/types");
16
- var _utils2 = require("@subwallet/extension-base/utils");
17
- var _crossFetch = _interopRequireDefault(require("cross-fetch"));
18
- var _rxjs = require("rxjs");
19
- var _handlers = require("./handlers");
20
- // Copyright 2019-2022 @subwallet/extension-base
21
- // SPDX-License-Identifier: Apache-2.0
22
-
23
- const POOLS_DATA_URLS = 'https://sw-static-cache.pages.dev/earning/yield-pools.json';
24
- const fetchPoolsData = async () => {
25
- const res = await (0, _crossFetch.default)(POOLS_DATA_URLS);
26
- if (res.status !== 200) {
27
- return {};
28
- }
29
- const fetchData = await res.json();
30
- return fetchData.data;
31
- };
32
- class EarningService {
33
- handlers = {};
34
- earningRewardSubject = new _rxjs.BehaviorSubject({
35
- ready: false,
36
- data: {}
37
- });
38
- earningRewardHistorySubject = new _rxjs.BehaviorSubject({});
39
- minAmountPercentSubject = new _rxjs.BehaviorSubject({});
40
-
41
- // earning
42
- yieldPoolInfoSubject = new _rxjs.BehaviorSubject({});
43
- yieldPositionSubject = new _rxjs.BehaviorSubject({});
44
- yieldPositionListSubject = new _rxjs.BehaviorSubject([]); // virtual list of yieldPositionSubject with filter values
45
-
46
- constructor(state) {
47
- this.state = state;
48
- this.dbService = state.dbService;
49
- this.eventService = state.eventService;
50
- }
51
- async initHandlers() {
52
- await this.eventService.waitChainReady;
53
- const chains = [];
54
- for (const chain of Object.values(this.state.getChainInfoMap())) {
55
- if (chain.chainStatus === 'ACTIVE') {
56
- chains.push(chain.slug);
57
- }
58
- }
59
- const minAmountPercent = {};
60
- for (const chain of chains) {
61
- const handlers = [];
62
- if (_constants2._STAKING_CHAIN_GROUP.relay.includes(chain)) {
63
- handlers.push(new _handlers.RelayNativeStakingPoolHandler(this.state, chain));
64
- }
65
- if (_constants2._STAKING_CHAIN_GROUP.para.includes(chain)) {
66
- handlers.push(new _handlers.ParaNativeStakingPoolHandler(this.state, chain));
67
- }
68
- if (_constants2._STAKING_CHAIN_GROUP.astar.includes(chain)) {
69
- handlers.push(new _handlers.AstarNativeStakingPoolHandler(this.state, chain));
70
- }
71
- if (_constants2._STAKING_CHAIN_GROUP.amplitude.includes(chain)) {
72
- handlers.push(new _handlers.AmplitudeNativeStakingPoolHandler(this.state, chain));
73
- }
74
- if (_constants2._STAKING_CHAIN_GROUP.nominationPool.includes(chain)) {
75
- handlers.push(new _handlers.NominationPoolHandler(this.state, chain));
76
- }
77
- if (_constants2._STAKING_CHAIN_GROUP.liquidStaking.includes(chain)) {
78
- if (chain === 'bifrost_dot') {
79
- handlers.push(new _handlers.BifrostLiquidStakingPoolHandler(this.state, chain));
80
- }
81
- if (chain === 'acala') {
82
- handlers.push(new _handlers.AcalaLiquidStakingPoolHandler(this.state, chain));
83
- }
84
- if (chain === 'parallel') {
85
- handlers.push(new _handlers.ParallelLiquidStakingPoolHandler(this.state, chain));
86
- }
87
- if (chain === 'moonbeam') {
88
- handlers.push(new _handlers.StellaSwapLiquidStakingPoolHandler(this.state, chain));
89
- }
90
- }
91
- if (_constants2._STAKING_CHAIN_GROUP.lending.includes(chain)) {
92
- if (chain === 'interlay') {
93
- handlers.push(new _handlers.InterlayLendingPoolHandler(this.state, chain));
94
- }
95
- }
96
- for (const handler of handlers) {
97
- this.handlers[handler.slug] = handler;
98
- }
99
- }
100
- for (const handler of Object.values(this.handlers)) {
101
- if (handler.type === _types2.YieldPoolType.LIQUID_STAKING) {
102
- minAmountPercent[handler.slug] = handler.minAmountPercent;
103
- }
104
- }
105
- minAmountPercent.default = _base.default.defaultMinAmountPercent;
106
- this.minAmountPercentSubject.next(minAmountPercent);
107
-
108
- // Emit earning ready
109
- this.eventService.emit('earning.ready', true);
110
- }
111
- startPromiseHandler = (0, _utils2.createPromiseHandler)();
112
- stopPromiseHandler = (0, _utils2.createPromiseHandler)();
113
- status = _types.ServiceStatus.NOT_INITIALIZED;
114
- async init() {
115
- this.status = _types.ServiceStatus.INITIALIZING;
116
- await this.initHandlers();
117
-
118
- // Load data from db
119
- await this.loadData();
120
-
121
- // Pin list with value from map
122
- this.yieldPositionSubject.subscribe({
123
- next: data => {
124
- const activeMap = this.state.getActiveChainInfoMap();
125
- const activePositions = Object.values(data).filter(item => {
126
- return !!activeMap[item.chain];
127
- });
128
- this.yieldPositionListSubject.next(Object.values(activePositions));
129
- }
130
- });
131
- this.status = _types.ServiceStatus.INITIALIZED;
132
- await this.start();
133
- this.handleActions();
134
- }
135
- handleActions() {
136
- this.eventService.onLazy((events, eventTypes) => {
137
- (async () => {
138
- const removedAddresses = [];
139
- events.forEach(event => {
140
- if (event.type === 'account.remove') {
141
- removedAddresses.push(event.data[0]);
142
- }
143
- });
144
- if (removedAddresses.length > 0) {
145
- await this.removeYieldPositions(undefined, removedAddresses);
146
- }
147
-
148
- // Account changed or chain changed (active or inactive)
149
- // Chain changed (active or inactive)
150
- // Todo: Optimize performance of chain active or inactive in the future
151
- if (eventTypes.includes('account.updateCurrent') || eventTypes.includes('account.remove') || eventTypes.includes('chain.updateState')) {
152
- await this.reloadEarning();
153
- }
154
- })().catch(console.error);
155
- });
156
- }
157
- async loadData() {
158
- await this.getYieldPoolInfoFromDB();
159
- await this.getYieldPositionFromDB();
160
- }
161
- persistData() {
162
- // Data is auto persisted with lazy queue
163
- return Promise.resolve(undefined);
164
- }
165
- async start() {
166
- if (this.status === _types.ServiceStatus.STOPPING) {
167
- await this.waitForStopped();
168
- }
169
- if (this.status === _types.ServiceStatus.STARTED || this.status === _types.ServiceStatus.STARTING) {
170
- return this.waitForStarted();
171
- }
172
- this.status = _types.ServiceStatus.STARTING;
173
-
174
- // Start subscribe pools' info
175
- await this.runSubscribePoolsInfo();
176
-
177
- // Start subscribe pools' position
178
- await this.runSubscribePoolsPosition();
179
-
180
- // Start subscribe pools' reward
181
- this.runSubscribeStakingRewardInterval();
182
-
183
- // Start subscribe pools' reward history
184
- this.runSubscribeEarningRewardHistoryInterval();
185
-
186
- // Update promise handler
187
- this.startPromiseHandler.resolve();
188
- this.stopPromiseHandler = (0, _utils2.createPromiseHandler)();
189
- this.status = _types.ServiceStatus.STARTED;
190
- }
191
- async stop() {
192
- if (this.status === _types.ServiceStatus.STARTING) {
193
- await this.waitForStarted();
194
- }
195
- if (this.status === _types.ServiceStatus.STOPPED || this.status === _types.ServiceStatus.STOPPING) {
196
- return this.waitForStopped();
197
- }
198
- this.status = _types.ServiceStatus.STOPPING;
199
- await this.persistData();
200
-
201
- // Stop subscribe pools' info
202
- this.runUnsubscribePoolsInfo();
203
-
204
- // Stop subscribe pools' position
205
- this.runUnsubscribePoolsPosition();
206
-
207
- // Stop subscribe pools' reward
208
- this.runUnsubscribeStakingRewardInterval();
209
-
210
- // Stop subscribe pools' reward history
211
- this.runUnsubscribeEarningRewardHistoryInterval();
212
-
213
- // Update promise handler
214
- this.stopPromiseHandler.resolve();
215
- this.startPromiseHandler = (0, _utils2.createPromiseHandler)();
216
- this.status = _types.ServiceStatus.STOPPED;
217
- }
218
- waitForStarted() {
219
- return this.startPromiseHandler.promise;
220
- }
221
- waitForStopped() {
222
- return this.stopPromiseHandler.promise;
223
- }
224
-
225
- /* Pools' info methods */
226
-
227
- getPoolHandler(slug) {
228
- return this.handlers[slug];
229
- }
230
- isPoolSupportAlternativeFee(slug) {
231
- const handler = this.getPoolHandler(slug);
232
- if (handler) {
233
- return handler.isPoolSupportAlternativeFee;
234
- } else {
235
- throw new _TransactionError.TransactionError(_KoniTypes.BasicTxErrorType.INTERNAL_ERROR);
236
- }
237
- }
238
- subscribeMinAmountPercent() {
239
- return this.minAmountPercentSubject;
240
- }
241
- getMinAmountPercent() {
242
- return this.minAmountPercentSubject.getValue();
243
- }
244
- async getYieldPool(slug) {
245
- await this.eventService.waitEarningReady;
246
- return this.yieldPoolInfoSubject.getValue()[slug];
247
- }
248
- async subscribePoolsInfo(callback) {
249
- let cancel = false;
250
- await this.eventService.waitChainReady;
251
- const unsubList = [];
252
- for (const handler of Object.values(this.handlers)) {
253
- handler.subscribePoolInfo(callback).then(unsub => {
254
- if (!cancel) {
255
- unsubList.push(unsub);
256
- } else {
257
- unsub();
258
- }
259
- }).catch(console.error);
260
- }
261
- return () => {
262
- cancel = true;
263
- unsubList.forEach(unsub => {
264
- unsub === null || unsub === void 0 ? void 0 : unsub();
265
- });
266
- };
267
- }
268
- async getYieldPoolInfoFromDB() {
269
- // Get online pool data
270
- const yieldPoolInfo = {};
271
- const existedYieldPoolInfo = await this.dbService.getYieldPools();
272
- existedYieldPoolInfo.forEach(info => {
273
- yieldPoolInfo[info.slug] = info;
274
- });
275
- this.yieldPoolInfoSubject.next(yieldPoolInfo);
276
- }
277
- subscribeYieldPoolInfo() {
278
- return this.yieldPoolInfoSubject;
279
- }
280
- async getYieldPoolInfo() {
281
- await this.eventService.waitEarningReady;
282
- return Object.values(this.yieldPoolInfoSubject.getValue());
283
- }
284
- yieldPoolPersistQueue = [];
285
- updateYieldPoolInfo(data) {
286
- this.yieldPoolPersistQueue.push(data);
287
- (0, _utils2.addLazy)('persistYieldPoolInfo', () => {
288
- const yieldPoolInfo = this.yieldPoolInfoSubject.getValue();
289
- const queue = [...this.yieldPoolPersistQueue];
290
- this.yieldPoolPersistQueue = [];
291
-
292
- // Update yield pool info
293
- queue.forEach(item => {
294
- const existed = yieldPoolInfo[item.slug];
295
- if (item.statistic && (!(existed !== null && existed !== void 0 && existed.lastUpdated) || existed.lastUpdated < ((item === null || item === void 0 ? void 0 : item.lastUpdated) || 0))) {
296
- // Only update item has statistic information
297
- yieldPoolInfo[item.slug] = item;
298
- }
299
- });
300
- this.yieldPoolInfoSubject.next(yieldPoolInfo);
301
-
302
- // Persist data
303
- this.dbService.updateYieldPoolsStore(queue).catch(console.warn);
304
- }, 300, 900);
305
- }
306
- async fetchingPoolsInfoOnline() {
307
- const onlineData = await Promise.race([fetchPoolsData(), new Promise(resolve => {
308
- setTimeout(() => {
309
- resolve({});
310
- }, 1800);
311
- })]);
312
- Object.values(onlineData).forEach(item => {
313
- this.updateYieldPoolInfo(item);
314
- });
315
- }
316
- async runSubscribePoolsInfo() {
317
- await this.eventService.waitChainReady;
318
- this.runUnsubscribePoolsInfo();
319
-
320
- // Fetching online data
321
- await this.fetchingPoolsInfoOnline();
322
- const interval = setInterval(() => {
323
- this.fetchingPoolsInfoOnline().catch(console.error);
324
- }, _constants.CRON_REFRESH_CHAIN_STAKING_METADATA);
325
-
326
- // Fetching from chains
327
- this.subscribePoolsInfo(data => {
328
- data.lastUpdated = Date.now();
329
- this.updateYieldPoolInfo(data);
330
- }).then(rs => {
331
- this.yieldPoolsInfoUnsub = () => {
332
- rs();
333
- clearInterval(interval);
334
- };
335
- }).catch(console.error);
336
- }
337
- runUnsubscribePoolsInfo() {
338
- var _this$yieldPoolsInfoU;
339
- (_this$yieldPoolsInfoU = this.yieldPoolsInfoUnsub) === null || _this$yieldPoolsInfoU === void 0 ? void 0 : _this$yieldPoolsInfoU.call(this);
340
- }
341
-
342
- /* Pools' info methods */
343
-
344
- /* Pools' position methods */
345
-
346
- async getYieldPosition(address, slug) {
347
- await this.eventService.waitEarningReady;
348
- return this.yieldPositionSubject.getValue()[`${slug}---${address}`];
349
- }
350
- async subscribePoolPositions(addresses, callback) {
351
- let cancel = false;
352
- await this.eventService.waitChainReady;
353
- const [substrateAddresses, evmAddresses] = (0, _utils2.categoryAddresses)(addresses);
354
- const activeChains = this.state.activeChainSlugs;
355
- const unsubList = [];
356
- for (const handler of Object.values(this.handlers)) {
357
- if (activeChains.includes(handler.chain)) {
358
- const chainInfo = handler.chainInfo;
359
- const useAddresses = (0, _utils._isChainEvmCompatible)(chainInfo) ? evmAddresses : substrateAddresses;
360
- handler.subscribePoolPosition(useAddresses, callback).then(unsub => {
361
- if (cancel) {
362
- unsub();
363
- } else {
364
- unsubList.push(unsub);
365
- }
366
- }).catch(console.error);
367
- }
368
- }
369
- return () => {
370
- cancel = true;
371
- unsubList.forEach(unsub => {
372
- unsub === null || unsub === void 0 ? void 0 : unsub();
373
- });
374
- };
375
- }
376
- async removeYieldPositions(chains, addresses) {
377
- const removeKeys = [];
378
- chains && chains.length > 0 && Object.entries(this.yieldPositionSubject.getValue()).forEach(_ref => {
379
- let [key, value] = _ref;
380
- console.log('removeYieldPositions', key, value.chain, chains.indexOf(value.chain) > -1);
381
- if (chains.indexOf(value.chain) > -1 && !removeKeys.includes(key)) {
382
- removeKeys.push(key);
383
- }
384
- });
385
- addresses && addresses.length > 0 && Object.entries(this.yieldPositionSubject.getValue()).forEach(_ref2 => {
386
- let [key, value] = _ref2;
387
- if (addresses.indexOf(value.address) > -1 && !removeKeys.includes(key)) {
388
- removeKeys.push(key);
389
- }
390
- });
391
-
392
- // Remove by keys
393
- const yieldPositionInfo = this.yieldPositionSubject.getValue();
394
- for (const key of removeKeys) {
395
- delete yieldPositionInfo[key];
396
- }
397
- this.yieldPositionSubject.next(yieldPositionInfo);
398
- addresses && addresses.length > 0 && (await this.dbService.removeYieldPositionByAddresses(addresses));
399
- chains && chains.length > 0 && (await this.dbService.removeYieldPositionByChains(chains));
400
- }
401
- async getYieldPositionFromDB() {
402
- await this.eventService.waitChainReady;
403
- await this.eventService.waitKeyringReady;
404
- const addresses = this.state.getDecodedAddresses();
405
- const existedYieldPosition = await this.dbService.getYieldNominationPoolPosition(addresses, this.state.activeChainSlugs);
406
- const yieldPositionInfo = this.yieldPositionSubject.getValue();
407
- existedYieldPosition.forEach(item => {
408
- yieldPositionInfo[this._getYieldPositionKey(item.slug, item.address)] = item;
409
- });
410
- this.yieldPositionSubject.next(yieldPositionInfo);
411
- }
412
- subscribeYieldPosition() {
413
- return this.yieldPositionListSubject;
414
- }
415
- async getYieldPositionInfo() {
416
- await this.eventService.waitEarningReady;
417
- return Promise.resolve(this.yieldPositionListSubject.getValue());
418
- }
419
- yieldPositionPersistQueue = [];
420
- resetYieldPositionQueue() {
421
- this.yieldPositionPersistQueue = [];
422
- }
423
- resetYieldPosition() {
424
- this.yieldPositionSubject.next({});
425
- this.yieldPositionPersistQueue = [];
426
- }
427
- _getYieldPositionKey(slug, address) {
428
- return `${slug}---${address}`;
429
- }
430
- updateYieldPosition(data) {
431
- this.yieldPositionPersistQueue.push(data);
432
- (0, _utils2.addLazy)('persistYieldPositionInfo', () => {
433
- const yieldPositionInfo = this.yieldPositionSubject.getValue();
434
- const queue = [...this.yieldPositionPersistQueue];
435
- this.yieldPositionPersistQueue = [];
436
-
437
- // Update yield position info
438
- queue.forEach(item => {
439
- yieldPositionInfo[this._getYieldPositionKey(item.slug, item.address)] = item;
440
- });
441
- this.yieldPositionSubject.next(yieldPositionInfo);
442
-
443
- // Persist data
444
- this.dbService.updateYieldPositions(queue).catch(console.warn);
445
- }, 300, 900);
446
- }
447
- async reloadEarning() {
448
- let reset = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
449
- await this.waitForStarted();
450
- this.runUnsubscribePoolsPosition();
451
- this.runUnsubscribeStakingRewardInterval();
452
- this.runUnsubscribeEarningRewardHistoryInterval();
453
- reset && this.resetYieldPosition();
454
- await this.runSubscribePoolsPosition();
455
- this.runSubscribeStakingRewardInterval();
456
- this.runSubscribeEarningRewardHistoryInterval();
457
- }
458
- async runSubscribePoolsPosition() {
459
- await this.eventService.waitKeyringReady;
460
- this.runUnsubscribePoolsPosition();
461
- const addresses = this.state.getDecodedAddresses();
462
- this.subscribePoolPositions(addresses, data => {
463
- this.updateYieldPosition(data);
464
- }).then(rs => {
465
- this.yieldPositionUnsub = rs;
466
- }).catch(console.error);
467
- }
468
- runUnsubscribePoolsPosition() {
469
- var _this$yieldPositionUn;
470
- (_this$yieldPositionUn = this.yieldPositionUnsub) === null || _this$yieldPositionUn === void 0 ? void 0 : _this$yieldPositionUn.call(this);
471
- this.yieldPositionPersistQueue = [];
472
- }
473
-
474
- /* Pools' position methods */
475
-
476
- /* Get pools' reward */
477
-
478
- updateEarningReward(stakingRewardData) {
479
- const stakingRewardState = this.earningRewardSubject.getValue();
480
- stakingRewardState.ready = true;
481
- const key = `${stakingRewardData.slug}---${stakingRewardData.address}`;
482
- stakingRewardState.data[key] = stakingRewardData;
483
- this.earningRewardSubject.next(stakingRewardState);
484
- }
485
- async getPoolReward(addresses, callback) {
486
- let cancel = false;
487
- await this.eventService.waitChainReady;
488
- const [substrateAddresses, evmAddresses] = (0, _utils2.categoryAddresses)(addresses);
489
- const activeChains = this.state.activeChainSlugs;
490
- const unsubList = [];
491
- for (const handler of Object.values(this.handlers)) {
492
- if (activeChains.includes(handler.chain)) {
493
- const chainInfo = handler.chainInfo;
494
- const useAddresses = (0, _utils._isChainEvmCompatible)(chainInfo) ? evmAddresses : substrateAddresses;
495
- handler.getPoolReward(useAddresses, callback).then(unsub => {
496
- if (cancel) {
497
- unsub();
498
- } else {
499
- unsubList.push(unsub);
500
- }
501
- }).catch(console.error);
502
- }
503
- }
504
- return () => {
505
- cancel = true;
506
- unsubList.forEach(unsub => {
507
- unsub === null || unsub === void 0 ? void 0 : unsub();
508
- });
509
- };
510
- }
511
- subscribeEarningReward() {
512
- return this.earningRewardSubject;
513
- }
514
- getEarningRewards() {
515
- return this.earningRewardSubject.getValue();
516
- }
517
- runSubscribeStakingRewardInterval() {
518
- const addresses = this.state.getDecodedAddresses();
519
- if (!addresses.length) {
520
- return;
521
- }
522
- this.getPoolReward(addresses, result => {
523
- this.updateEarningReward(result);
524
- }).catch(console.error);
525
- this.earningsRewardInterval = setInterval(() => {
526
- this.getPoolReward(addresses, result => {
527
- this.updateEarningReward(result);
528
- }).catch(console.error);
529
- }, _constants.CRON_REFRESH_STAKING_REWARD_FAST_INTERVAL);
530
- }
531
- runUnsubscribeStakingRewardInterval() {
532
- this.earningsRewardInterval && clearInterval(this.earningsRewardInterval);
533
- }
534
- async fetchPoolRewardHistory(addresses, callback) {
535
- let cancel = false;
536
- await this.eventService.waitChainReady;
537
- const [substrateAddresses, evmAddresses] = (0, _utils2.categoryAddresses)(addresses);
538
- const activeChains = this.state.activeChainSlugs;
539
- const unsubList = [];
540
- for (const handler of Object.values(this.handlers)) {
541
- if (activeChains.includes(handler.chain)) {
542
- const chainInfo = handler.chainInfo;
543
- const useAddresses = (0, _utils._isChainEvmCompatible)(chainInfo) ? evmAddresses : substrateAddresses;
544
- handler.getPoolRewardHistory(useAddresses, callback).then(unsub => {
545
- if (cancel) {
546
- unsub();
547
- } else {
548
- unsubList.push(unsub);
549
- }
550
- }).catch(console.error);
551
- }
552
- }
553
- return () => {
554
- cancel = true;
555
- unsubList.forEach(unsub => {
556
- unsub === null || unsub === void 0 ? void 0 : unsub();
557
- });
558
- };
559
- }
560
- updateEarningRewardHistory(earningRewardHistory) {
561
- const earningRewardHistoryState = this.earningRewardHistorySubject.getValue();
562
- const key = `${earningRewardHistory.slug}---${earningRewardHistory.address}---${earningRewardHistory.eventIndex}`;
563
- earningRewardHistoryState[key] = earningRewardHistory;
564
- this.earningRewardHistorySubject.next(earningRewardHistoryState);
565
- }
566
- subscribeEarningRewardHistory() {
567
- return this.earningRewardHistorySubject;
568
- }
569
- getEarningRewardHistory() {
570
- return this.earningRewardHistorySubject.getValue();
571
- }
572
- runSubscribeEarningRewardHistoryInterval() {
573
- this.runUnsubscribeEarningRewardHistoryInterval();
574
- const addresses = this.state.getDecodedAddresses();
575
- if (!addresses.length) {
576
- return;
577
- }
578
- this.fetchPoolRewardHistory(addresses, result => {
579
- this.updateEarningRewardHistory(result);
580
- }).catch(console.error);
581
- this.earningsRewardHistoryInterval = setInterval(() => {
582
- this.fetchPoolRewardHistory(addresses, result => {
583
- this.updateEarningRewardHistory(result);
584
- }).catch(console.error);
585
- }, _constants.CRON_REFRESH_EARNING_REWARD_HISTORY_INTERVAL);
586
- }
587
- runUnsubscribeEarningRewardHistoryInterval() {
588
- this.earningsRewardHistoryInterval && clearInterval(this.earningsRewardHistoryInterval);
589
- }
590
-
591
- /* Get pools' reward */
592
-
593
- /* Get pool's targets */
594
-
595
- /**
596
- * @async
597
- * @function getPoolTargets
598
- * @param {string} slug - Pool's slug
599
- * @return {Promise<YieldPoolTarget[]>} List of pool's target
600
- * */
601
- async getPoolTargets(slug) {
602
- await this.eventService.waitChainReady;
603
- const handler = this.getPoolHandler(slug);
604
- if (handler) {
605
- return await handler.getPoolTargets();
606
- } else {
607
- return [];
608
- }
609
- }
610
-
611
- /* Get pool's targets */
612
-
613
- /* Handle actions */
614
-
615
- /* Join */
616
-
617
- async earlyValidateJoin(request) {
618
- await this.eventService.waitChainReady;
619
- const {
620
- slug
621
- } = request;
622
- const handler = this.getPoolHandler(slug);
623
- if (handler) {
624
- return handler.earlyValidate(request);
625
- } else {
626
- throw new _TransactionError.TransactionError(_KoniTypes.BasicTxErrorType.INTERNAL_ERROR);
627
- }
628
- }
629
- async generateOptimalSteps(params) {
630
- await this.eventService.waitChainReady;
631
- const {
632
- slug
633
- } = params;
634
- const handler = this.getPoolHandler(slug);
635
- if (handler) {
636
- return handler.generateOptimalPath(params);
637
- } else {
638
- throw new _TransactionError.TransactionError(_KoniTypes.BasicTxErrorType.INTERNAL_ERROR);
639
- }
640
- }
641
- async validateYieldJoin(params) {
642
- await this.eventService.waitChainReady;
643
- const {
644
- slug
645
- } = params.data;
646
- const handler = this.getPoolHandler(slug);
647
- if (handler) {
648
- return handler.validateYieldJoin(params.data, params.path);
649
- } else {
650
- return [new _TransactionError.TransactionError(_KoniTypes.BasicTxErrorType.INTERNAL_ERROR)];
651
- }
652
- }
653
- async handleYieldJoin(params) {
654
- await this.eventService.waitChainReady;
655
- const {
656
- slug
657
- } = params.data;
658
- const handler = this.getPoolHandler(slug);
659
- if (handler) {
660
- return handler.handleYieldJoin(params.data, params.path, params.currentStep);
661
- } else {
662
- return Promise.reject(new _TransactionError.TransactionError(_KoniTypes.BasicTxErrorType.INTERNAL_ERROR));
663
- }
664
- }
665
-
666
- /* Join */
667
-
668
- /* Leave */
669
-
670
- async validateYieldLeave(params) {
671
- await this.eventService.waitChainReady;
672
- const {
673
- slug
674
- } = params;
675
- const handler = this.getPoolHandler(slug);
676
- if (handler) {
677
- return handler.validateYieldLeave(params.amount, params.address, params.fastLeave, params.selectedTarget);
678
- } else {
679
- return Promise.reject(new _TransactionError.TransactionError(_KoniTypes.BasicTxErrorType.INTERNAL_ERROR));
680
- }
681
- }
682
- async handleYieldLeave(params) {
683
- await this.eventService.waitChainReady;
684
- const {
685
- slug
686
- } = params;
687
- const handler = this.getPoolHandler(slug);
688
- if (handler) {
689
- return handler.handleYieldLeave(params.fastLeave, params.amount, params.address, params.selectedTarget);
690
- } else {
691
- return Promise.reject(new _TransactionError.TransactionError(_KoniTypes.BasicTxErrorType.INTERNAL_ERROR));
692
- }
693
- }
694
-
695
- /* Leave */
696
-
697
- /* Other */
698
-
699
- async handleYieldWithdraw(params) {
700
- await this.eventService.waitChainReady;
701
- const {
702
- slug
703
- } = params;
704
- const handler = this.getPoolHandler(slug);
705
- if (handler) {
706
- return handler.handleYieldWithdraw(params.address, params.unstakingInfo);
707
- } else {
708
- return Promise.reject(new _TransactionError.TransactionError(_KoniTypes.BasicTxErrorType.INTERNAL_ERROR));
709
- }
710
- }
711
- async handleYieldCancelUnstake(params) {
712
- await this.eventService.waitChainReady;
713
- const {
714
- slug
715
- } = params;
716
- const handler = this.getPoolHandler(slug);
717
- if (handler) {
718
- return handler.handleYieldCancelUnstake(params);
719
- } else {
720
- return Promise.reject(new _TransactionError.TransactionError(_KoniTypes.BasicTxErrorType.INTERNAL_ERROR));
721
- }
722
- }
723
- async handleYieldClaimReward(params) {
724
- await this.eventService.waitChainReady;
725
- const {
726
- slug
727
- } = params;
728
- const handler = this.getPoolHandler(slug);
729
- if (handler) {
730
- return handler.handleYieldClaimReward(params.address, params.bondReward);
731
- } else {
732
- return Promise.reject(new _TransactionError.TransactionError(_KoniTypes.BasicTxErrorType.INTERNAL_ERROR));
733
- }
734
- }
735
-
736
- /* Other */
737
-
738
- /* Handle actions */
739
- }
740
- exports.default = EarningService;