@subwallet/extension-base 1.1.29-0 → 1.1.29-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 (293) hide show
  1. package/background/KoniTypes.d.ts +95 -68
  2. package/background/KoniTypes.js +16 -13
  3. package/background/errors/TransactionError.js +9 -0
  4. package/cjs/background/KoniTypes.js +17 -16
  5. package/cjs/background/errors/TransactionError.js +9 -0
  6. package/cjs/constants/index.js +19 -4
  7. package/cjs/koni/api/nft/config.js +33 -23
  8. package/cjs/koni/api/nft/index.js +14 -0
  9. package/cjs/koni/api/nft/nft.js +1 -22
  10. package/cjs/koni/api/nft/ordinal_nft/constants.js +21 -0
  11. package/cjs/koni/api/nft/ordinal_nft/index.js +121 -0
  12. package/cjs/koni/api/nft/ordinal_nft/utils.js +41 -0
  13. package/cjs/koni/api/staking/bonding/amplitude.js +17 -15
  14. package/cjs/koni/api/staking/bonding/astar.js +11 -10
  15. package/cjs/koni/api/staking/bonding/index.js +4 -1
  16. package/cjs/koni/api/staking/bonding/paraChain.js +25 -23
  17. package/cjs/koni/api/staking/bonding/relayChain.js +48 -45
  18. package/cjs/koni/api/staking/bonding/utils.js +104 -86
  19. package/cjs/koni/api/staking/index.js +6 -5
  20. package/cjs/koni/api/staking/paraChain.js +6 -5
  21. package/cjs/koni/api/staking/relayChain.js +3 -2
  22. package/cjs/koni/api/yield/helper/utils.js +46 -0
  23. package/cjs/koni/background/cron.js +11 -1
  24. package/cjs/koni/background/handlers/Extension.js +362 -69
  25. package/cjs/koni/background/handlers/State.js +51 -3
  26. package/cjs/koni/background/handlers/index.js +4 -2
  27. package/cjs/koni/background/subscription.js +95 -37
  28. package/cjs/services/campaign-service/index.js +9 -6
  29. package/cjs/services/chain-service/constants.js +2 -16
  30. package/cjs/services/chain-service/utils.js +7 -1
  31. package/cjs/services/earning-service/constants/chains.js +29 -0
  32. package/cjs/services/earning-service/constants/index.js +27 -0
  33. package/cjs/services/earning-service/constants/step.js +18 -0
  34. package/cjs/services/earning-service/handlers/base.js +232 -0
  35. package/cjs/services/earning-service/handlers/index.js +60 -0
  36. package/cjs/services/earning-service/handlers/lending/base.js +20 -0
  37. package/cjs/services/earning-service/handlers/lending/index.js +13 -0
  38. package/cjs/services/earning-service/handlers/lending/interlay.js +184 -0
  39. package/cjs/services/earning-service/handlers/liquid-staking/acala.js +217 -0
  40. package/cjs/services/earning-service/handlers/liquid-staking/base.js +43 -0
  41. package/cjs/services/earning-service/handlers/liquid-staking/bifrost.js +283 -0
  42. package/cjs/services/earning-service/handlers/liquid-staking/index.js +34 -0
  43. package/cjs/services/earning-service/handlers/liquid-staking/parallel.js +196 -0
  44. package/cjs/services/earning-service/handlers/liquid-staking/stella-swap.js +409 -0
  45. package/cjs/services/earning-service/handlers/native-staking/amplitude.js +382 -0
  46. package/cjs/services/earning-service/handlers/native-staking/astar.js +459 -0
  47. package/cjs/services/earning-service/handlers/native-staking/base-para.js +137 -0
  48. package/cjs/services/earning-service/handlers/native-staking/base.js +159 -0
  49. package/cjs/services/earning-service/handlers/native-staking/index.js +34 -0
  50. package/cjs/services/earning-service/handlers/native-staking/para-chain.js +383 -0
  51. package/cjs/services/earning-service/handlers/native-staking/relay-chain.js +542 -0
  52. package/cjs/services/earning-service/handlers/nomination-pool/index.js +541 -0
  53. package/cjs/services/earning-service/handlers/special.js +411 -0
  54. package/cjs/services/earning-service/service.js +387 -0
  55. package/cjs/services/earning-service/utils/index.js +128 -0
  56. package/cjs/services/event-service/index.js +4 -0
  57. package/cjs/services/keyring-service/index.js +14 -2
  58. package/cjs/services/migration-service/scripts/DeleteEarningData.js +21 -0
  59. package/cjs/services/migration-service/scripts/EnableEarningChains.js +21 -0
  60. package/cjs/services/migration-service/scripts/MigrateLedgerAccount.js +1 -1
  61. package/cjs/services/migration-service/scripts/MigrateTransactionHistory.js +1 -1
  62. package/cjs/services/migration-service/scripts/databases/MigrateEarningHistory.js +21 -0
  63. package/cjs/services/migration-service/scripts/databases/MigrateEarningVersion.js +21 -0
  64. package/cjs/services/migration-service/scripts/index.js +7 -1
  65. package/cjs/services/mint-campaign-service/campaigns/UnlockDotCampaign.js +149 -0
  66. package/cjs/services/mint-campaign-service/campaigns/index.js +13 -0
  67. package/cjs/services/mint-campaign-service/constants.js +11 -0
  68. package/cjs/services/mint-campaign-service/index.js +18 -0
  69. package/cjs/services/notification-service/NotificationService.js +1 -1
  70. package/cjs/services/storage-service/DatabaseService.js +51 -0
  71. package/cjs/services/storage-service/databases/index.js +4 -0
  72. package/cjs/services/storage-service/db-stores/NominatorMetadata.js +3 -3
  73. package/cjs/services/storage-service/db-stores/YieldPoolStore.js +36 -0
  74. package/cjs/services/storage-service/db-stores/YieldPositionStore.js +65 -0
  75. package/cjs/services/subscan-service/index.js +16 -0
  76. package/cjs/services/transaction-service/event-parser/index.js +58 -0
  77. package/cjs/services/transaction-service/helpers/index.js +3 -1
  78. package/cjs/services/transaction-service/index.js +185 -74
  79. package/cjs/services/transaction-service/utils.js +1 -0
  80. package/cjs/types/campaigns/index.js +16 -0
  81. package/cjs/types/campaigns/unlock-dot.js +1 -0
  82. package/cjs/types/index.js +44 -0
  83. package/cjs/types/ordinal.js +1 -0
  84. package/cjs/types/transaction.js +1 -0
  85. package/cjs/types/yield/actions/index.js +27 -0
  86. package/cjs/types/yield/actions/join/index.js +38 -0
  87. package/cjs/types/yield/actions/join/step.js +47 -0
  88. package/cjs/types/yield/actions/join/submit.js +1 -0
  89. package/cjs/types/yield/actions/join/validate.js +16 -0
  90. package/cjs/types/yield/actions/others.js +1 -0
  91. package/cjs/types/yield/index.js +27 -0
  92. package/cjs/types/yield/info/account/index.js +49 -0
  93. package/cjs/types/yield/info/account/info.js +1 -0
  94. package/cjs/types/yield/info/account/reward.js +1 -0
  95. package/cjs/types/yield/info/account/target.js +32 -0
  96. package/cjs/types/yield/info/account/unstake.js +27 -0
  97. package/cjs/types/yield/info/base.js +41 -0
  98. package/cjs/types/yield/info/chain/index.js +27 -0
  99. package/cjs/types/yield/info/chain/info.js +1 -0
  100. package/cjs/types/yield/info/chain/target.js +1 -0
  101. package/cjs/types/yield/info/index.js +49 -0
  102. package/cjs/types/yield/info/pallet.js +15 -0
  103. package/cjs/utils/fetchStaticData.js +2 -1
  104. package/cjs/utils/index.js +89 -1
  105. package/cjs/utils/object.js +12 -0
  106. package/cjs/utils/yield/index.js +3 -0
  107. package/constants/index.d.ts +6 -1
  108. package/constants/index.js +6 -1
  109. package/koni/api/nft/config.js +33 -23
  110. package/koni/api/nft/index.js +15 -1
  111. package/koni/api/nft/nft.js +2 -23
  112. package/koni/api/nft/ordinal_nft/constants.d.ts +9 -0
  113. package/koni/api/nft/ordinal_nft/constants.js +12 -0
  114. package/koni/api/nft/ordinal_nft/index.d.ts +8 -0
  115. package/koni/api/nft/ordinal_nft/index.js +114 -0
  116. package/koni/api/nft/ordinal_nft/utils.d.ts +2 -0
  117. package/koni/api/nft/ordinal_nft/utils.js +33 -0
  118. package/koni/api/staking/bonding/amplitude.js +11 -9
  119. package/koni/api/staking/bonding/astar.js +9 -8
  120. package/koni/api/staking/bonding/index.d.ts +1 -1
  121. package/koni/api/staking/bonding/index.js +5 -1
  122. package/koni/api/staking/bonding/paraChain.js +12 -10
  123. package/koni/api/staking/bonding/relayChain.d.ts +2 -2
  124. package/koni/api/staking/bonding/relayChain.js +33 -30
  125. package/koni/api/staking/bonding/utils.d.ts +15 -38
  126. package/koni/api/staking/bonding/utils.js +85 -69
  127. package/koni/api/staking/index.js +2 -1
  128. package/koni/api/staking/paraChain.js +7 -6
  129. package/koni/api/staking/relayChain.js +4 -3
  130. package/koni/api/yield/helper/utils.d.ts +10 -0
  131. package/koni/api/yield/helper/utils.js +32 -0
  132. package/koni/background/cron.d.ts +1 -0
  133. package/koni/background/cron.js +12 -2
  134. package/koni/background/handlers/Extension.d.ts +17 -1
  135. package/koni/background/handlers/Extension.js +321 -30
  136. package/koni/background/handlers/State.d.ts +18 -2
  137. package/koni/background/handlers/State.js +50 -3
  138. package/koni/background/handlers/index.js +4 -2
  139. package/koni/background/subscription.d.ts +6 -1
  140. package/koni/background/subscription.js +97 -38
  141. package/package.json +316 -3
  142. package/services/campaign-service/index.js +9 -6
  143. package/services/chain-service/constants.d.ts +0 -11
  144. package/services/chain-service/constants.js +1 -14
  145. package/services/chain-service/utils.d.ts +1 -0
  146. package/services/chain-service/utils.js +5 -1
  147. package/services/earning-service/constants/abis/compound_finance_v2_abi.json +1235 -0
  148. package/services/earning-service/constants/abis/st_liquid_token_abi.json +1355 -0
  149. package/services/earning-service/constants/chains.d.ts +14 -0
  150. package/services/earning-service/constants/chains.js +21 -0
  151. package/services/earning-service/constants/index.d.ts +2 -0
  152. package/services/earning-service/constants/index.js +5 -0
  153. package/services/earning-service/constants/step.d.ts +3 -0
  154. package/services/earning-service/constants/step.js +10 -0
  155. package/services/earning-service/handlers/base.d.ts +112 -0
  156. package/services/earning-service/handlers/base.js +226 -0
  157. package/services/earning-service/handlers/index.d.ts +5 -0
  158. package/services/earning-service/handlers/index.js +8 -0
  159. package/services/earning-service/handlers/lending/base.d.ts +6 -0
  160. package/services/earning-service/handlers/lending/base.js +12 -0
  161. package/services/earning-service/handlers/lending/index.d.ts +1 -0
  162. package/services/earning-service/handlers/lending/index.js +4 -0
  163. package/services/earning-service/handlers/lending/interlay.d.ts +23 -0
  164. package/services/earning-service/handlers/lending/interlay.js +176 -0
  165. package/services/earning-service/handlers/liquid-staking/acala.d.ts +26 -0
  166. package/services/earning-service/handlers/liquid-staking/acala.js +209 -0
  167. package/services/earning-service/handlers/liquid-staking/base.d.ts +9 -0
  168. package/services/earning-service/handlers/liquid-staking/base.js +35 -0
  169. package/services/earning-service/handlers/liquid-staking/bifrost.d.ts +45 -0
  170. package/services/earning-service/handlers/liquid-staking/bifrost.js +272 -0
  171. package/services/earning-service/handlers/liquid-staking/index.d.ts +4 -0
  172. package/services/earning-service/handlers/liquid-staking/index.js +7 -0
  173. package/services/earning-service/handlers/liquid-staking/parallel.d.ts +25 -0
  174. package/services/earning-service/handlers/liquid-staking/parallel.js +188 -0
  175. package/services/earning-service/handlers/liquid-staking/stella-swap.d.ts +34 -0
  176. package/services/earning-service/handlers/liquid-staking/stella-swap.js +399 -0
  177. package/services/earning-service/handlers/native-staking/amplitude.d.ts +22 -0
  178. package/services/earning-service/handlers/native-staking/amplitude.js +373 -0
  179. package/services/earning-service/handlers/native-staking/astar.d.ts +19 -0
  180. package/services/earning-service/handlers/native-staking/astar.js +449 -0
  181. package/services/earning-service/handlers/native-staking/base-para.d.ts +11 -0
  182. package/services/earning-service/handlers/native-staking/base-para.js +129 -0
  183. package/services/earning-service/handlers/native-staking/base.d.ts +21 -0
  184. package/services/earning-service/handlers/native-staking/base.js +150 -0
  185. package/services/earning-service/handlers/native-staking/index.d.ts +4 -0
  186. package/services/earning-service/handlers/native-staking/index.js +7 -0
  187. package/services/earning-service/handlers/native-staking/para-chain.d.ts +15 -0
  188. package/services/earning-service/handlers/native-staking/para-chain.js +375 -0
  189. package/services/earning-service/handlers/native-staking/relay-chain.d.ts +21 -0
  190. package/services/earning-service/handlers/native-staking/relay-chain.js +533 -0
  191. package/services/earning-service/handlers/nomination-pool/index.d.ts +35 -0
  192. package/services/earning-service/handlers/nomination-pool/index.js +531 -0
  193. package/services/earning-service/handlers/special.d.ts +56 -0
  194. package/services/earning-service/handlers/special.js +403 -0
  195. package/services/earning-service/service.d.ts +45 -0
  196. package/services/earning-service/service.js +379 -0
  197. package/services/earning-service/utils/index.d.ts +18 -0
  198. package/services/earning-service/utils/index.js +112 -0
  199. package/services/event-service/index.d.ts +1 -0
  200. package/services/event-service/index.js +4 -0
  201. package/services/event-service/types.d.ts +8 -0
  202. package/services/keyring-service/index.d.ts +2 -1
  203. package/services/keyring-service/index.js +14 -2
  204. package/services/migration-service/scripts/DeleteEarningData.d.ts +4 -0
  205. package/services/migration-service/scripts/DeleteEarningData.js +13 -0
  206. package/services/migration-service/scripts/EnableEarningChains.d.ts +4 -0
  207. package/services/migration-service/scripts/EnableEarningChains.js +13 -0
  208. package/services/migration-service/scripts/MigrateLedgerAccount.js +1 -1
  209. package/services/migration-service/scripts/MigrateTransactionHistory.js +1 -1
  210. package/services/migration-service/scripts/databases/MigrateEarningHistory.d.ts +4 -0
  211. package/services/migration-service/scripts/databases/MigrateEarningHistory.js +13 -0
  212. package/services/migration-service/scripts/databases/MigrateEarningVersion.d.ts +4 -0
  213. package/services/migration-service/scripts/databases/MigrateEarningVersion.js +13 -0
  214. package/services/migration-service/scripts/index.js +7 -1
  215. package/services/mint-campaign-service/campaigns/UnlockDotCampaign.d.ts +13 -0
  216. package/services/mint-campaign-service/campaigns/UnlockDotCampaign.js +139 -0
  217. package/services/mint-campaign-service/campaigns/index.d.ts +1 -0
  218. package/services/mint-campaign-service/campaigns/index.js +4 -0
  219. package/services/mint-campaign-service/constants.d.ts +1 -0
  220. package/services/mint-campaign-service/constants.js +4 -0
  221. package/services/mint-campaign-service/index.d.ts +7 -0
  222. package/services/mint-campaign-service/index.js +11 -0
  223. package/services/notification-service/NotificationService.js +1 -1
  224. package/services/storage-service/DatabaseService.d.ts +18 -1
  225. package/services/storage-service/DatabaseService.js +51 -0
  226. package/services/storage-service/databases/index.d.ts +3 -1
  227. package/services/storage-service/databases/index.js +4 -0
  228. package/services/storage-service/db-stores/NominatorMetadata.js +3 -3
  229. package/services/storage-service/db-stores/YieldPoolStore.d.ts +10 -0
  230. package/services/storage-service/db-stores/YieldPoolStore.js +28 -0
  231. package/services/storage-service/db-stores/YieldPositionStore.d.ts +9 -0
  232. package/services/storage-service/db-stores/YieldPositionStore.js +57 -0
  233. package/services/subscan-service/index.d.ts +3 -2
  234. package/services/subscan-service/index.js +15 -0
  235. package/services/subscan-service/types.d.ts +20 -0
  236. package/services/transaction-service/event-parser/index.d.ts +3 -1
  237. package/services/transaction-service/event-parser/index.js +57 -1
  238. package/services/transaction-service/helpers/index.js +3 -1
  239. package/services/transaction-service/index.d.ts +4 -15
  240. package/services/transaction-service/index.js +183 -72
  241. package/services/transaction-service/types.d.ts +2 -0
  242. package/services/transaction-service/utils.js +1 -0
  243. package/types/campaigns/index.d.ts +1 -0
  244. package/types/campaigns/index.js +4 -0
  245. package/types/campaigns/unlock-dot.d.ts +71 -0
  246. package/types/campaigns/unlock-dot.js +1 -0
  247. package/types/index.d.ts +5 -0
  248. package/types/index.js +5 -1
  249. package/types/ordinal.d.ts +69 -0
  250. package/types/ordinal.js +1 -0
  251. package/types/transaction.d.ts +3 -0
  252. package/types/transaction.js +1 -0
  253. package/types/yield/actions/index.d.ts +2 -0
  254. package/types/yield/actions/index.js +5 -0
  255. package/types/yield/actions/join/index.d.ts +3 -0
  256. package/types/yield/actions/join/index.js +6 -0
  257. package/types/yield/actions/join/step.d.ts +94 -0
  258. package/types/yield/actions/join/step.js +46 -0
  259. package/types/yield/actions/join/submit.d.ts +53 -0
  260. package/types/yield/actions/join/submit.js +1 -0
  261. package/types/yield/actions/join/validate.d.ts +18 -0
  262. package/types/yield/actions/join/validate.js +10 -0
  263. package/types/yield/actions/others.d.ts +63 -0
  264. package/types/yield/actions/others.js +1 -0
  265. package/types/yield/index.d.ts +2 -0
  266. package/types/yield/index.js +5 -0
  267. package/types/yield/info/account/index.d.ts +4 -0
  268. package/types/yield/info/account/index.js +7 -0
  269. package/types/yield/info/account/info.d.ts +92 -0
  270. package/types/yield/info/account/info.js +1 -0
  271. package/types/yield/info/account/reward.d.ts +45 -0
  272. package/types/yield/info/account/reward.js +1 -0
  273. package/types/yield/info/account/target.d.ts +43 -0
  274. package/types/yield/info/account/target.js +27 -0
  275. package/types/yield/info/account/unstake.d.ts +31 -0
  276. package/types/yield/info/account/unstake.js +22 -0
  277. package/types/yield/info/base.d.ts +45 -0
  278. package/types/yield/info/base.js +36 -0
  279. package/types/yield/info/chain/index.d.ts +2 -0
  280. package/types/yield/info/chain/index.js +5 -0
  281. package/types/yield/info/chain/info.d.ts +243 -0
  282. package/types/yield/info/chain/info.js +1 -0
  283. package/types/yield/info/chain/target.d.ts +37 -0
  284. package/types/yield/info/chain/target.js +1 -0
  285. package/types/yield/info/index.d.ts +4 -0
  286. package/types/yield/info/index.js +7 -0
  287. package/types/yield/info/pallet.d.ts +143 -0
  288. package/types/yield/info/pallet.js +9 -0
  289. package/utils/fetchStaticData.js +2 -1
  290. package/utils/index.d.ts +5 -0
  291. package/utils/index.js +53 -1
  292. package/utils/object.d.ts +1 -0
  293. package/utils/object.js +6 -0
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.StakingAction = exports.PalletParachainStakingRequestType = void 0;
6
+ exports.YieldAction = exports.StakingAction = exports.PalletParachainStakingRequestType = void 0;
7
7
  exports.calcInflationRewardCurve = calcInflationRewardCurve;
8
8
  exports.calcInflationUniformEraPayout = calcInflationUniformEraPayout;
9
9
  exports.calculateAlephZeroValidatorReturn = calculateAlephZeroValidatorReturn;
@@ -13,25 +13,28 @@ exports.calculateTernoaValidatorReturn = calculateTernoaValidatorReturn;
13
13
  exports.calculateValidatorStakedReturn = calculateValidatorStakedReturn;
14
14
  exports.getBondedValidators = getBondedValidators;
15
15
  exports.getCommission = getCommission;
16
+ exports.getEarningStatusByNominations = getEarningStatusByNominations;
16
17
  exports.getExistUnstakeErrorMessage = void 0;
17
18
  exports.getInflationParams = getInflationParams;
18
19
  exports.getMinStakeErrorMessage = exports.getMaxValidatorErrorMessage = void 0;
19
20
  exports.getParaCurrentInflation = getParaCurrentInflation;
20
21
  exports.getStakingAvailableActionsByChain = getStakingAvailableActionsByChain;
21
22
  exports.getStakingAvailableActionsByNominator = getStakingAvailableActionsByNominator;
22
- exports.getStakingStatusByNominations = getStakingStatusByNominations;
23
23
  exports.getValidatorLabel = getValidatorLabel;
24
24
  exports.getWithdrawalInfo = getWithdrawalInfo;
25
+ exports.getYieldAvailableActionsByPosition = getYieldAvailableActionsByPosition;
26
+ exports.getYieldAvailableActionsByType = getYieldAvailableActionsByType;
25
27
  exports.isActionFromValidator = isActionFromValidator;
26
28
  exports.isShowNominationByValidator = isShowNominationByValidator;
27
29
  exports.isUnstakeAll = isUnstakeAll;
28
- exports.parseIdentity = parseIdentity;
29
30
  exports.parsePoolStashAddress = parsePoolStashAddress;
30
31
  exports.transformPoolName = transformPoolName;
31
32
  var _KoniTypes = require("@subwallet/extension-base/background/KoniTypes");
32
33
  var _astar = require("@subwallet/extension-base/koni/api/staking/bonding/astar");
33
34
  var _constants = require("@subwallet/extension-base/services/chain-service/constants");
34
35
  var _utils = require("@subwallet/extension-base/services/chain-service/utils");
36
+ var _constants2 = require("@subwallet/extension-base/services/earning-service/constants");
37
+ var _types = require("@subwallet/extension-base/types");
35
38
  var _utils2 = require("@subwallet/extension-base/utils");
36
39
  var _number = require("@subwallet/extension-base/utils/number");
37
40
  var _i18next = require("i18next");
@@ -57,64 +60,6 @@ function parsePoolStashAddress(api, index, poolId, poolsPalletId) {
57
60
  function transformPoolName(input) {
58
61
  return input.replace(/[^\x20-\x7E]/g, '');
59
62
  }
60
-
61
- /**
62
- * @returns
63
- * <p>
64
- * [0] - identity
65
- * </p>
66
- * <p>
67
- * [1] - isReasonable (isVerified)
68
- * </p>
69
- * */
70
- async function parseIdentity(substrateApi, address, children) {
71
- const compactResult = rs => {
72
- const result = [];
73
- if (rs) {
74
- result.push(rs);
75
- }
76
- if (children) {
77
- result.push(children);
78
- }
79
- if (result.length > 0) {
80
- return result.join('/');
81
- } else {
82
- return undefined;
83
- }
84
- };
85
- if (substrateApi.api.query.identity) {
86
- let identity;
87
- const _parent = await substrateApi.api.query.identity.superOf(address);
88
- const parentInfo = _parent.toHuman();
89
- if (parentInfo) {
90
- const [parentAddress, {
91
- Raw: data
92
- }] = parentInfo;
93
- const child = (0, _util.isHex)(data) ? (0, _util.hexToString)(data) : data;
94
- if (!(0, _utils2.isSameAddress)(address, parentAddress)) {
95
- const [rs, isReasonable] = await parseIdentity(substrateApi, parentAddress, child);
96
- return [compactResult(rs), isReasonable];
97
- }
98
- }
99
- const _identity = await substrateApi.api.query.identity.identityOf(address);
100
- const identityInfo = _identity.toHuman();
101
- if (identityInfo) {
102
- var _identityInfo$info, _identityInfo$info$di, _identityInfo$info2, _identityInfo$info2$w, _identityInfo$info3, _identityInfo$info3$r, _identityInfo$info4, _identityInfo$info4$t;
103
- const displayName = (_identityInfo$info = identityInfo.info) === null || _identityInfo$info === void 0 ? void 0 : (_identityInfo$info$di = _identityInfo$info.display) === null || _identityInfo$info$di === void 0 ? void 0 : _identityInfo$info$di.Raw;
104
- const web = (_identityInfo$info2 = identityInfo.info) === null || _identityInfo$info2 === void 0 ? void 0 : (_identityInfo$info2$w = _identityInfo$info2.web) === null || _identityInfo$info2$w === void 0 ? void 0 : _identityInfo$info2$w.Raw;
105
- const riot = (_identityInfo$info3 = identityInfo.info) === null || _identityInfo$info3 === void 0 ? void 0 : (_identityInfo$info3$r = _identityInfo$info3.riot) === null || _identityInfo$info3$r === void 0 ? void 0 : _identityInfo$info3$r.Raw;
106
- const twitter = (_identityInfo$info4 = identityInfo.info) === null || _identityInfo$info4 === void 0 ? void 0 : (_identityInfo$info4$t = _identityInfo$info4.twitter) === null || _identityInfo$info4$t === void 0 ? void 0 : _identityInfo$info4$t.Raw;
107
- const isReasonable = identityInfo.judgements.length > 0;
108
- if (displayName) {
109
- identity = (0, _util.isHex)(displayName) ? (0, _util.hexToString)(displayName) : displayName;
110
- } else {
111
- identity = twitter || web || riot;
112
- }
113
- return [compactResult(identity), isReasonable];
114
- }
115
- }
116
- return [undefined, false];
117
- }
118
63
  function getInflationParams(networkKey) {
119
64
  return _constants._KNOWN_CHAIN_INFLATION_PARAMS[networkKey] || _constants._SUBSTRATE_DEFAULT_INFLATION_PARAMS;
120
65
  }
@@ -138,7 +83,7 @@ function calculateInflation(totalEraStake, totalIssuance, numAuctions, networkKe
138
83
  const idealStake = stakeTarget - Math.min(auctionMax, numAuctions) * auctionAdjust;
139
84
  const idealInterest = maxInflation / idealStake;
140
85
  const stakedFraction = totalEraStake.mul(_util.BN_MILLION).div(totalIssuance).toNumber() / _util.BN_MILLION.toNumber();
141
- if (_constants._STAKING_CHAIN_GROUP.aleph.includes(networkKey)) {
86
+ if (_constants2._STAKING_CHAIN_GROUP.aleph.includes(networkKey)) {
142
87
  if (inflationParams.yearlyInflationInTokens) {
143
88
  return 100 * calcInflationUniformEraPayout(totalIssuance, inflationParams.yearlyInflationInTokens);
144
89
  } else {
@@ -151,7 +96,7 @@ function calculateInflation(totalEraStake, totalIssuance, numAuctions, networkKe
151
96
  function calculateChainStakedReturn(inflation, totalEraStake, totalIssuance, networkKey) {
152
97
  const stakedFraction = totalEraStake.mul(_util.BN_MILLION).div(totalIssuance).toNumber() / _util.BN_MILLION.toNumber();
153
98
  let stakedReturn = inflation / stakedFraction;
154
- if (_constants._STAKING_CHAIN_GROUP.aleph.includes(networkKey)) {
99
+ if (_constants2._STAKING_CHAIN_GROUP.aleph.includes(networkKey)) {
155
100
  stakedReturn *= 0.9; // 10% goes to treasury
156
101
  }
157
102
 
@@ -193,11 +138,11 @@ function getParaCurrentInflation(totalStaked, inflationConfig) {
193
138
  }
194
139
  // validations and check conditions
195
140
  function isShowNominationByValidator(chain) {
196
- if (_constants._STAKING_CHAIN_GROUP.amplitude.includes(chain)) {
141
+ if (_constants2._STAKING_CHAIN_GROUP.amplitude.includes(chain)) {
197
142
  return 'showByValue';
198
- } else if (_constants._STAKING_CHAIN_GROUP.astar.includes(chain)) {
143
+ } else if (_constants2._STAKING_CHAIN_GROUP.astar.includes(chain)) {
199
144
  return 'mixed';
200
- } else if (_constants._STAKING_CHAIN_GROUP.para.includes(chain)) {
145
+ } else if (_constants2._STAKING_CHAIN_GROUP.para.includes(chain)) {
201
146
  return 'showByValidator';
202
147
  }
203
148
  return 'showByValue';
@@ -228,6 +173,79 @@ function isUnstakeAll(selectedValidator, nominations, unstakeAmount) {
228
173
  }
229
174
  return isUnstakeAll;
230
175
  }
176
+ let YieldAction;
177
+ exports.YieldAction = YieldAction;
178
+ (function (YieldAction) {
179
+ YieldAction["STAKE"] = "STAKE";
180
+ YieldAction["UNSTAKE"] = "UNSTAKE";
181
+ YieldAction["WITHDRAW"] = "WITHDRAW";
182
+ YieldAction["CLAIM_REWARD"] = "CLAIM_REWARD";
183
+ YieldAction["CANCEL_UNSTAKE"] = "CANCEL_UNSTAKE";
184
+ YieldAction["START_EARNING"] = "EARN";
185
+ YieldAction["WITHDRAW_EARNING"] = "WITHDRAW_EARNING";
186
+ YieldAction["CUSTOM_ACTION"] = "CUSTOM_ACTION";
187
+ })(YieldAction || (exports.YieldAction = YieldAction = {}));
188
+ function getYieldAvailableActionsByType(yieldPoolInfo) {
189
+ if ([_types.YieldPoolType.NATIVE_STAKING, _types.YieldPoolType.NOMINATION_POOL].includes(yieldPoolInfo.type)) {
190
+ if (yieldPoolInfo.type === _types.YieldPoolType.NOMINATION_POOL) {
191
+ return [YieldAction.STAKE, YieldAction.CLAIM_REWARD, YieldAction.UNSTAKE, YieldAction.WITHDRAW];
192
+ }
193
+ const chain = yieldPoolInfo.chain;
194
+ if (_constants2._STAKING_CHAIN_GROUP.para.includes(chain)) {
195
+ return [YieldAction.STAKE, YieldAction.UNSTAKE, YieldAction.WITHDRAW, YieldAction.CANCEL_UNSTAKE];
196
+ } else if (_constants2._STAKING_CHAIN_GROUP.astar.includes(chain)) {
197
+ return [YieldAction.STAKE, YieldAction.CLAIM_REWARD, YieldAction.UNSTAKE, YieldAction.WITHDRAW];
198
+ } else if (_constants2._STAKING_CHAIN_GROUP.amplitude.includes(chain)) {
199
+ return [YieldAction.STAKE, YieldAction.UNSTAKE, YieldAction.WITHDRAW];
200
+ }
201
+ }
202
+ if (yieldPoolInfo.type === _types.YieldPoolType.LENDING) {
203
+ return [YieldAction.START_EARNING, YieldAction.WITHDRAW_EARNING];
204
+ } else if (yieldPoolInfo.type === _types.YieldPoolType.LIQUID_STAKING) {
205
+ return [YieldAction.START_EARNING, YieldAction.UNSTAKE, YieldAction.WITHDRAW];
206
+ }
207
+ return [YieldAction.STAKE, YieldAction.UNSTAKE, YieldAction.WITHDRAW, YieldAction.CANCEL_UNSTAKE];
208
+ }
209
+ function getYieldAvailableActionsByPosition(yieldPosition, yieldPoolInfo, unclaimedReward) {
210
+ const result = [];
211
+ if ([_types.YieldPoolType.NATIVE_STAKING, _types.YieldPoolType.NOMINATION_POOL].includes(yieldPoolInfo.type)) {
212
+ result.push(YieldAction.STAKE);
213
+ const bnActiveStake = new _util.BN(yieldPosition.activeStake);
214
+ if (yieldPosition.activeStake && bnActiveStake.gt(_util.BN_ZERO)) {
215
+ result.push(YieldAction.UNSTAKE);
216
+ const isAstarNetwork = _constants2._STAKING_CHAIN_GROUP.astar.includes(yieldPosition.chain);
217
+ const isAmplitudeNetwork = _constants2._STAKING_CHAIN_GROUP.amplitude.includes(yieldPosition.chain);
218
+ const bnUnclaimedReward = new _util.BN(unclaimedReward || '0');
219
+ if ((yieldPosition.type === _types.YieldPoolType.NOMINATION_POOL || isAmplitudeNetwork) && bnUnclaimedReward.gt(_util.BN_ZERO) || isAstarNetwork) {
220
+ result.push(YieldAction.CLAIM_REWARD);
221
+ }
222
+ }
223
+ if (yieldPosition.unstakings.length > 0) {
224
+ result.push(YieldAction.CANCEL_UNSTAKE);
225
+ const hasClaimable = yieldPosition.unstakings.some(unstaking => unstaking.status === _types.UnstakingStatus.CLAIMABLE);
226
+ if (hasClaimable) {
227
+ result.push(YieldAction.WITHDRAW);
228
+ }
229
+ }
230
+ } else if (yieldPoolInfo.type === _types.YieldPoolType.LIQUID_STAKING) {
231
+ result.push(YieldAction.START_EARNING);
232
+ const activeBalance = new _util.BN(yieldPosition.activeStake || '0');
233
+ if (activeBalance.gt(_util.BN_ZERO)) {
234
+ result.push(YieldAction.UNSTAKE);
235
+ }
236
+ const hasWithdrawal = yieldPosition.unstakings.some(unstakingInfo => unstakingInfo.status === _types.UnstakingStatus.CLAIMABLE);
237
+ if (hasWithdrawal) {
238
+ result.push(YieldAction.WITHDRAW);
239
+ }
240
+
241
+ // TODO: check has unstakings to withdraw
242
+ } else {
243
+ result.push(YieldAction.START_EARNING);
244
+ result.push(YieldAction.WITHDRAW_EARNING); // TODO
245
+ }
246
+
247
+ return result;
248
+ }
231
249
  let StakingAction;
232
250
  exports.StakingAction = StakingAction;
233
251
  (function (StakingAction) {
@@ -241,11 +259,11 @@ function getStakingAvailableActionsByChain(chain, type) {
241
259
  if (type === _KoniTypes.StakingType.POOLED) {
242
260
  return [StakingAction.STAKE, StakingAction.UNSTAKE, StakingAction.WITHDRAW, StakingAction.CLAIM_REWARD];
243
261
  }
244
- if (_constants._STAKING_CHAIN_GROUP.para.includes(chain)) {
262
+ if (_constants2._STAKING_CHAIN_GROUP.para.includes(chain)) {
245
263
  return [StakingAction.STAKE, StakingAction.UNSTAKE, StakingAction.WITHDRAW, StakingAction.CANCEL_UNSTAKE];
246
- } else if (_constants._STAKING_CHAIN_GROUP.astar.includes(chain)) {
264
+ } else if (_constants2._STAKING_CHAIN_GROUP.astar.includes(chain)) {
247
265
  return [StakingAction.STAKE, StakingAction.UNSTAKE, StakingAction.WITHDRAW, StakingAction.CLAIM_REWARD];
248
- } else if (_constants._STAKING_CHAIN_GROUP.amplitude.includes(chain)) {
266
+ } else if (_constants2._STAKING_CHAIN_GROUP.amplitude.includes(chain)) {
249
267
  return [StakingAction.STAKE, StakingAction.UNSTAKE, StakingAction.WITHDRAW];
250
268
  }
251
269
  return [StakingAction.STAKE, StakingAction.UNSTAKE, StakingAction.WITHDRAW, StakingAction.CANCEL_UNSTAKE];
@@ -255,8 +273,8 @@ function getStakingAvailableActionsByNominator(nominatorMetadata, unclaimedRewar
255
273
  const bnActiveStake = new _util.BN(nominatorMetadata.activeStake);
256
274
  if (nominatorMetadata.activeStake && bnActiveStake.gt(_util.BN_ZERO)) {
257
275
  result.push(StakingAction.UNSTAKE);
258
- const isAstarNetwork = _constants._STAKING_CHAIN_GROUP.astar.includes(nominatorMetadata.chain);
259
- const isAmplitudeNetwork = _constants._STAKING_CHAIN_GROUP.amplitude.includes(nominatorMetadata.chain);
276
+ const isAstarNetwork = _constants2._STAKING_CHAIN_GROUP.astar.includes(nominatorMetadata.chain);
277
+ const isAmplitudeNetwork = _constants2._STAKING_CHAIN_GROUP.amplitude.includes(nominatorMetadata.chain);
260
278
  const bnUnclaimedReward = new _util.BN(unclaimedReward || '0');
261
279
  if ((nominatorMetadata.type === _KoniTypes.StakingType.POOLED || isAmplitudeNetwork) && bnUnclaimedReward.gt(_util.BN_ZERO) || isAstarNetwork) {
262
280
  result.push(StakingAction.CLAIM_REWARD);
@@ -264,7 +282,7 @@ function getStakingAvailableActionsByNominator(nominatorMetadata, unclaimedRewar
264
282
  }
265
283
  if (nominatorMetadata.unstakings.length > 0) {
266
284
  result.push(StakingAction.CANCEL_UNSTAKE);
267
- const hasClaimable = nominatorMetadata.unstakings.some(unstaking => unstaking.status === _KoniTypes.UnstakingStatus.CLAIMABLE);
285
+ const hasClaimable = nominatorMetadata.unstakings.some(unstaking => unstaking.status === _types.UnstakingStatus.CLAIMABLE);
268
286
  if (hasClaimable) {
269
287
  result.push(StakingAction.WITHDRAW);
270
288
  }
@@ -272,14 +290,14 @@ function getStakingAvailableActionsByNominator(nominatorMetadata, unclaimedRewar
272
290
  return result;
273
291
  }
274
292
  function isActionFromValidator(stakingType, chain) {
275
- if (stakingType === _KoniTypes.StakingType.POOLED) {
293
+ if (stakingType === _KoniTypes.StakingType.POOLED || stakingType === _KoniTypes.StakingType.LIQUID_STAKING) {
276
294
  return false;
277
295
  }
278
- if (_constants._STAKING_CHAIN_GROUP.astar.includes(chain)) {
296
+ if (_constants2._STAKING_CHAIN_GROUP.astar.includes(chain)) {
279
297
  return true;
280
- } else if (_constants._STAKING_CHAIN_GROUP.amplitude.includes(chain)) {
298
+ } else if (_constants2._STAKING_CHAIN_GROUP.amplitude.includes(chain)) {
281
299
  return true;
282
- } else if (_constants._STAKING_CHAIN_GROUP.para.includes(chain)) {
300
+ } else if (_constants2._STAKING_CHAIN_GROUP.para.includes(chain)) {
283
301
  return true;
284
302
  }
285
303
  return false;
@@ -287,40 +305,40 @@ function isActionFromValidator(stakingType, chain) {
287
305
  function getWithdrawalInfo(nominatorMetadata) {
288
306
  const unstakings = nominatorMetadata.unstakings;
289
307
  let result;
290
- if (_constants._STAKING_CHAIN_GROUP.astar.includes(nominatorMetadata.chain)) {
308
+ if (_constants2._STAKING_CHAIN_GROUP.astar.includes(nominatorMetadata.chain)) {
291
309
  return (0, _astar.getAstarWithdrawable)(nominatorMetadata);
292
310
  }
293
311
  for (const unstaking of unstakings) {
294
- if (unstaking.status === _KoniTypes.UnstakingStatus.CLAIMABLE) {
312
+ if (unstaking.status === _types.UnstakingStatus.CLAIMABLE) {
295
313
  result = unstaking; // only get the first withdrawal
296
314
  break;
297
315
  }
298
316
  }
299
317
  return result;
300
318
  }
301
- function getStakingStatusByNominations(bnTotalActiveStake, nominationList) {
302
- let stakingStatus = _KoniTypes.StakingStatus.EARNING_REWARD;
319
+ function getEarningStatusByNominations(bnTotalActiveStake, nominationList) {
320
+ let stakingStatus = _types.EarningStatus.EARNING_REWARD;
303
321
  if (bnTotalActiveStake.isZero()) {
304
- stakingStatus = _KoniTypes.StakingStatus.NOT_EARNING;
322
+ stakingStatus = _types.EarningStatus.NOT_EARNING;
305
323
  } else {
306
324
  let invalidDelegationCount = 0;
307
325
  for (const nomination of nominationList) {
308
- if (nomination.status === _KoniTypes.StakingStatus.NOT_EARNING) {
326
+ if (nomination.status === _types.EarningStatus.NOT_EARNING) {
309
327
  invalidDelegationCount += 1;
310
328
  }
311
329
  }
312
330
  if (invalidDelegationCount > 0 && invalidDelegationCount < nominationList.length) {
313
- stakingStatus = _KoniTypes.StakingStatus.PARTIALLY_EARNING;
331
+ stakingStatus = _types.EarningStatus.PARTIALLY_EARNING;
314
332
  } else if (invalidDelegationCount === nominationList.length) {
315
- stakingStatus = _KoniTypes.StakingStatus.NOT_EARNING;
333
+ stakingStatus = _types.EarningStatus.NOT_EARNING;
316
334
  }
317
335
  }
318
336
  return stakingStatus;
319
337
  }
320
338
  function getValidatorLabel(chain) {
321
- if (_constants._STAKING_CHAIN_GROUP.astar.includes(chain)) {
339
+ if (_constants2._STAKING_CHAIN_GROUP.astar.includes(chain)) {
322
340
  return 'dApp';
323
- } else if (_constants._STAKING_CHAIN_GROUP.relay.includes(chain)) {
341
+ } else if (_constants2._STAKING_CHAIN_GROUP.relay.includes(chain)) {
324
342
  return 'Validator';
325
343
  }
326
344
  return 'Collator';
@@ -11,6 +11,7 @@ var _relayChain = require("@subwallet/extension-base/koni/api/staking/relayChain
11
11
  var _subsquidStaking = require("@subwallet/extension-base/koni/api/staking/subsquidStaking");
12
12
  var _constants = require("@subwallet/extension-base/services/chain-service/constants");
13
13
  var _utils = require("@subwallet/extension-base/services/chain-service/utils");
14
+ var _constants2 = require("@subwallet/extension-base/services/earning-service/constants");
14
15
  var _utils2 = require("@subwallet/extension-base/utils");
15
16
  // Copyright 2019-2022 @subwallet/extension-koni authors & contributors
16
17
  // SPDX-License-Identifier: Apache-2.0
@@ -37,20 +38,20 @@ function stakingOnChainApi(addresses, substrateApiMap, chainInfoMap, stakingCall
37
38
  } = _ref2;
38
39
  const parentApi = await apiPromise.isReady;
39
40
  const useAddresses = (0, _utils._isChainEvmCompatible)(chainInfoMap[chain]) ? evmAddresses : substrateAddresses;
40
- if (_constants._STAKING_CHAIN_GROUP.amplitude.includes(chain)) {
41
+ if (_constants2._STAKING_CHAIN_GROUP.amplitude.includes(chain)) {
41
42
  const unsub = await (0, _paraChain.getAmplitudeStakingOnChain)(parentApi, useAddresses, chainInfoMap, chain, stakingCallback, nominatorStateCallback);
42
43
  unsubList.push(unsub);
43
- } else if (_constants._STAKING_CHAIN_GROUP.astar.includes(chain)) {
44
+ } else if (_constants2._STAKING_CHAIN_GROUP.astar.includes(chain)) {
44
45
  const unsub = await (0, _paraChain.getAstarStakingOnChain)(parentApi, useAddresses, chainInfoMap, chain, stakingCallback, nominatorStateCallback);
45
46
  unsubList.push(unsub);
46
- } else if (_constants._STAKING_CHAIN_GROUP.para.includes(chain)) {
47
+ } else if (_constants2._STAKING_CHAIN_GROUP.para.includes(chain)) {
47
48
  const unsub = await (0, _paraChain.getParaStakingOnChain)(parentApi, useAddresses, chainInfoMap, chain, stakingCallback, nominatorStateCallback);
48
49
  unsubList.push(unsub);
49
- } else if (_constants._STAKING_CHAIN_GROUP.relay.includes(chain)) {
50
+ } else if (_constants2._STAKING_CHAIN_GROUP.relay.includes(chain)) {
50
51
  const unsub = await (0, _relayChain.getRelayStakingOnChain)(parentApi, useAddresses, chainInfoMap, chain, stakingCallback, nominatorStateCallback);
51
52
  unsubList.push(unsub);
52
53
  }
53
- if (_constants._STAKING_CHAIN_GROUP.nominationPool.includes(chain)) {
54
+ if (_constants2._STAKING_CHAIN_GROUP.nominationPool.includes(chain)) {
54
55
  const unsub = await (0, _relayChain.getRelayPoolingOnChain)(parentApi, useAddresses, chainInfoMap, chain, stakingCallback, nominatorStateCallback);
55
56
  unsubList.push(unsub);
56
57
  }
@@ -11,8 +11,9 @@ var _KoniTypes = require("@subwallet/extension-base/background/KoniTypes");
11
11
  var _amplitude = require("@subwallet/extension-base/koni/api/staking/bonding/amplitude");
12
12
  var _astar = require("@subwallet/extension-base/koni/api/staking/bonding/astar");
13
13
  var _paraChain = require("@subwallet/extension-base/koni/api/staking/bonding/paraChain");
14
- var _constants = require("@subwallet/extension-base/services/chain-service/constants");
15
14
  var _utils = require("@subwallet/extension-base/services/chain-service/utils");
15
+ var _constants = require("@subwallet/extension-base/services/earning-service/constants");
16
+ var _types = require("@subwallet/extension-base/types");
16
17
  var _utils2 = require("@subwallet/extension-base/utils");
17
18
  var _util = require("@polkadot/util");
18
19
  var _utilCrypto = require("@polkadot/util-crypto");
@@ -45,7 +46,7 @@ function getSingleStakingAmplitude(substrateApi, address, chainInfoMap, chain, s
45
46
  chain,
46
47
  type: _KoniTypes.StakingType.NOMINATED,
47
48
  address: owner,
48
- status: _KoniTypes.StakingStatus.NOT_STAKING,
49
+ status: _types.EarningStatus.NOT_STAKING,
49
50
  activeStake: '0',
50
51
  nominations: [],
51
52
  unstakings: []
@@ -106,7 +107,7 @@ function getMultiStakingAmplitude(substrateApi, useAddresses, chainInfoMap, chai
106
107
  chain,
107
108
  type: _KoniTypes.StakingType.NOMINATED,
108
109
  address: owner,
109
- status: _KoniTypes.StakingStatus.NOT_STAKING,
110
+ status: _types.EarningStatus.NOT_STAKING,
110
111
  activeStake: '0',
111
112
  nominations: [],
112
113
  unstakings: []
@@ -224,7 +225,7 @@ function getParaStakingOnChain(substrateApi, useAddresses, chainInfoMap, chain,
224
225
  chain,
225
226
  type: _KoniTypes.StakingType.NOMINATED,
226
227
  address: owner,
227
- status: _KoniTypes.StakingStatus.NOT_STAKING,
228
+ status: _types.EarningStatus.NOT_STAKING,
228
229
  activeStake: '0',
229
230
  nominations: [],
230
231
  unstakings: []
@@ -284,7 +285,7 @@ function getAstarStakingOnChain(substrateApi, useAddresses, chainInfoMap, chain,
284
285
  chain,
285
286
  type: _KoniTypes.StakingType.NOMINATED,
286
287
  address: owner,
287
- status: _KoniTypes.StakingStatus.NOT_STAKING,
288
+ status: _types.EarningStatus.NOT_STAKING,
288
289
  activeStake: '0',
289
290
  nominations: [],
290
291
  unstakings: []
@@ -9,6 +9,7 @@ exports.getRelayStakingOnChain = getRelayStakingOnChain;
9
9
  var _KoniTypes = require("@subwallet/extension-base/background/KoniTypes");
10
10
  var _relayChain = require("@subwallet/extension-base/koni/api/staking/bonding/relayChain");
11
11
  var _utils = require("@subwallet/extension-base/services/chain-service/utils");
12
+ var _types = require("@subwallet/extension-base/types");
12
13
  var _utils2 = require("@subwallet/extension-base/utils");
13
14
  var _util = require("@polkadot/util");
14
15
  var _utilCrypto = require("@polkadot/util-crypto");
@@ -59,7 +60,7 @@ function getRelayStakingOnChain(substrateApi, useAddresses, chainInfoMap, chain,
59
60
  nominatorStateCallback({
60
61
  chain,
61
62
  type: _KoniTypes.StakingType.NOMINATED,
62
- status: _KoniTypes.StakingStatus.NOT_STAKING,
63
+ status: _types.EarningStatus.NOT_STAKING,
63
64
  address: owner,
64
65
  activeStake: '0',
65
66
  nominations: [],
@@ -122,7 +123,7 @@ function getRelayPoolingOnChain(substrateApi, useAddresses, chainInfoMap, chain,
122
123
  chain,
123
124
  type: _KoniTypes.StakingType.POOLED,
124
125
  address: owner,
125
- status: _KoniTypes.StakingStatus.NOT_STAKING,
126
+ status: _types.EarningStatus.NOT_STAKING,
126
127
  activeStake: '0',
127
128
  nominations: [],
128
129
  // can only join 1 pool at a time
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.YIELD_POOL_STAT_REFRESH_INTERVAL = exports.YIELD_POOL_MIN_AMOUNT_PERCENT = exports.YIELD_EXTRINSIC_TYPES = exports.DEFAULT_YIELD_FIRST_STEP = void 0;
7
+ exports.calculateAlternativeFee = calculateAlternativeFee;
8
+ exports.convertDerivativeToOriginToken = convertDerivativeToOriginToken;
9
+ exports.syntheticSelectedValidators = void 0;
10
+ var _KoniTypes = require("@subwallet/extension-base/background/KoniTypes");
11
+ var _utils = require("@subwallet/extension-base/services/chain-service/utils");
12
+ var _types = require("@subwallet/extension-base/types");
13
+ // Copyright 2019-2022 @subwallet/extension-base
14
+ // SPDX-License-Identifier: Apache-2.0
15
+
16
+ const syntheticSelectedValidators = ['15MLn9YQaHZ4GMkhK3qXqR5iGGSdULyJ995ctjeBgFRseyi6', '1REAJ1k691g5Eqqg9gL7vvZCBG7FCCZ8zgQkZWd4va5ESih', '1yGJ3h7TQuJWLYSsUVPZbM8aR8UsQXCqMvrFx5Fn1ktiAmq', '16GDRhRYxk42paoK6TfHAqWej8PdDDUwdDazjv4bAn4KGNeb', '13Ybj8CPEArUee78DxUAP9yX3ABmFNVQME1ZH4w8HVncHGzc', '14yx4vPAACZRhoDQm1dyvXD3QdRQyCRRCe5tj1zPomhhS29a', '14Vh8S1DzzycngbAB9vqEgPFR9JpSvmF1ezihTUES1EaHAV', '153YD8ZHD9dRh82U419bSCB5SzWhbdAFzjj4NtA5pMazR2yC', '1LUckyocmz9YzeQZHVpBvYYRGXb3rnSm2tvfz79h3G3JDgP', '14oRE62MB1SWR6h5RTx3GY5HK2oZipi1Gp3zdiLwVYLfEyRZ', '1cFsLn7o74nmjbRyDtMAnMpQMc5ZLsjgCSz9Np2mcejUK83', '15ZvLonEseaWZNy8LDkXXj3Y8bmAjxCjwvpy4pXWSL4nGSBs', '1NebF2xZHb4TJJpiqZZ3reeTo8dZov6LZ49qZqcHHbsmHfo', '1HmAqbBRrWvsqbLkvpiVDkdA2PcctUE5JUe3qokEh1FN455', '15tfUt4iQNjMyhZiJGBf4EpETE2KqtW1nfJwbBT1MvWjvcK9', '12RXTLiaYh59PokjZVhQvKzcfBEB5CvDnjKKUmDUotzcTH3S'];
17
+ exports.syntheticSelectedValidators = syntheticSelectedValidators;
18
+ function calculateAlternativeFee(feeInfo) {
19
+ return feeInfo.partialFee;
20
+ }
21
+ const DEFAULT_YIELD_FIRST_STEP = {
22
+ id: 0,
23
+ name: 'Fill information',
24
+ type: _types.YieldStepType.DEFAULT
25
+ };
26
+ exports.DEFAULT_YIELD_FIRST_STEP = DEFAULT_YIELD_FIRST_STEP;
27
+ const YIELD_EXTRINSIC_TYPES = [_KoniTypes.ExtrinsicType.MINT_VDOT, _KoniTypes.ExtrinsicType.MINT_LDOT, _KoniTypes.ExtrinsicType.MINT_SDOT, _KoniTypes.ExtrinsicType.MINT_QDOT, _KoniTypes.ExtrinsicType.MINT_STDOT, _KoniTypes.ExtrinsicType.REDEEM_QDOT, _KoniTypes.ExtrinsicType.REDEEM_SDOT, _KoniTypes.ExtrinsicType.REDEEM_VDOT, _KoniTypes.ExtrinsicType.REDEEM_LDOT, _KoniTypes.ExtrinsicType.REDEEM_STDOT, _KoniTypes.ExtrinsicType.STAKING_JOIN_POOL, _KoniTypes.ExtrinsicType.STAKING_CLAIM_REWARD, _KoniTypes.ExtrinsicType.STAKING_LEAVE_POOL, _KoniTypes.ExtrinsicType.STAKING_POOL_WITHDRAW];
28
+ exports.YIELD_EXTRINSIC_TYPES = YIELD_EXTRINSIC_TYPES;
29
+ const YIELD_POOL_STAT_REFRESH_INTERVAL = 90000;
30
+ exports.YIELD_POOL_STAT_REFRESH_INTERVAL = YIELD_POOL_STAT_REFRESH_INTERVAL;
31
+ const YIELD_POOL_MIN_AMOUNT_PERCENT = {
32
+ DOT___acala_liquid_staking: 0.98,
33
+ DOT___bifrost_liquid_staking: 0.99,
34
+ DOT___parallel_liquid_staking: 0.97,
35
+ default: 0.98
36
+ };
37
+ exports.YIELD_POOL_MIN_AMOUNT_PERCENT = YIELD_POOL_MIN_AMOUNT_PERCENT;
38
+ function convertDerivativeToOriginToken(amount, poolInfo, derivativeTokenInfo, originTokenInfo) {
39
+ var _poolInfo$statistic, _poolInfo$statistic$a;
40
+ const derivativeDecimals = (0, _utils._getAssetDecimals)(derivativeTokenInfo);
41
+ const originDecimals = (0, _utils._getAssetDecimals)(originTokenInfo);
42
+ const exchangeRate = ((_poolInfo$statistic = poolInfo.statistic) === null || _poolInfo$statistic === void 0 ? void 0 : (_poolInfo$statistic$a = _poolInfo$statistic.assetEarning) === null || _poolInfo$statistic$a === void 0 ? void 0 : _poolInfo$statistic$a[0].exchangeRate) || 1;
43
+ const formattedAmount = parseInt(amount) / 10 ** derivativeDecimals; // TODO: decimals
44
+ const minAmount = formattedAmount * exchangeRate;
45
+ return Math.floor(minAmount * 10 ** originDecimals);
46
+ }
@@ -94,16 +94,20 @@ class KoniCron {
94
94
 
95
95
  // MantaPay
96
96
  reloadMantaPay && this.removeCron('syncMantaPay');
97
+ commonReload && this.removeCron('refreshPoolingStakingReward');
97
98
 
98
99
  // NFT
99
100
  (commonReload || needUpdateNft) && this.resetNft(address);
100
101
  (commonReload || needUpdateNft) && this.removeCron('refreshNft');
102
+ commonReload && this.removeCron('refreshPoolingStakingReward');
101
103
 
102
104
  // Chains
103
105
  if (this.checkNetworkAvailable(serviceInfo)) {
104
- // only add cron job if there's at least 1 active network
106
+ // only add cron jobs if there's at least 1 active network
105
107
  (commonReload || needUpdateNft) && this.addCron('refreshNft', this.refreshNft(address, serviceInfo.chainApiMap, this.state.getSmartContractNfts(), this.state.getActiveChainInfoMap()), _constants.CRON_REFRESH_NFT_INTERVAL);
106
108
  reloadMantaPay && this.addCron('syncMantaPay', this.syncMantaPay, _constants.CRON_SYNC_MANTA_PAY);
109
+ (commonReload || chainUpdated) && this.addCron('refreshPoolingStakingReward', this.refreshStakingRewardFastInterval(currentAccountInfo.address), _constants.CRON_REFRESH_STAKING_REWARD_FAST_INTERVAL);
110
+ (commonReload || chainUpdated) && this.addCron('refreshEarningRewardHistoryInterval', this.refreshEarningRewardHistoryInterval(currentAccountInfo.address), _constants.CRON_REFRESH_EARNING_REWARD_HISTORY_INTERVAL);
107
111
  } else {
108
112
  this.setStakingRewardReady();
109
113
  }
@@ -117,6 +121,7 @@ class KoniCron {
117
121
  this.addCron('refreshNft', this.refreshNft(currentAccountInfo.address, this.state.getApiMap(), this.state.getSmartContractNfts(), this.state.getActiveChainInfoMap()), _constants.CRON_REFRESH_NFT_INTERVAL);
118
122
  // this.addCron('refreshStakingReward', this.refreshStakingReward(currentAccountInfo.address), CRON_REFRESH_STAKING_REWARD_INTERVAL);
119
123
  this.addCron('refreshPoolingStakingReward', this.refreshStakingRewardFastInterval(currentAccountInfo.address), _constants.CRON_REFRESH_STAKING_REWARD_FAST_INTERVAL);
124
+ this.addCron('refreshEarningRewardHistoryInterval', this.refreshEarningRewardHistoryInterval(currentAccountInfo.address), _constants.CRON_REFRESH_EARNING_REWARD_HISTORY_INTERVAL);
120
125
  this.addCron('syncMantaPay', this.syncMantaPay, _constants.CRON_SYNC_MANTA_PAY);
121
126
  } else {
122
127
  this.setStakingRewardReady();
@@ -164,6 +169,11 @@ class KoniCron {
164
169
  this.subscriptions.subscribeStakingRewardFastInterval(address).catch(this.logger.error);
165
170
  };
166
171
  };
172
+ refreshEarningRewardHistoryInterval = address => {
173
+ return () => {
174
+ this.subscriptions.subscribeEarningRewardHistoryInterval(address).catch(this.logger.error);
175
+ };
176
+ };
167
177
  setStakingRewardReady = () => {
168
178
  this.state.updateStakingRewardReady(true);
169
179
  };