@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
@@ -21,7 +21,9 @@ var _KoniTypes = require("@subwallet/extension-base/background/KoniTypes");
21
21
  var _utils = require("@subwallet/extension-base/koni/api/staking/bonding/utils");
22
22
  var _constants = require("@subwallet/extension-base/services/chain-service/constants");
23
23
  var _utils2 = require("@subwallet/extension-base/services/chain-service/utils");
24
- var _utils3 = require("@subwallet/extension-base/utils");
24
+ var _utils3 = require("@subwallet/extension-base/services/earning-service/utils");
25
+ var _types = require("@subwallet/extension-base/types");
26
+ var _utils4 = require("@subwallet/extension-base/utils");
25
27
  var _util = require("@polkadot/util");
26
28
  var _utilCrypto = require("@polkadot/util-crypto");
27
29
  // Copyright 2019-2022 @subwallet/extension-koni authors & contributors
@@ -31,7 +33,7 @@ function validateParaChainUnbondingCondition(amount, nominatorMetadata, chainSta
31
33
  const errors = [];
32
34
  let targetNomination;
33
35
  for (const nomination of nominatorMetadata.nominations) {
34
- if ((0, _utils3.isSameAddress)(nomination.validatorAddress, selectedCollator)) {
36
+ if ((0, _utils4.isSameAddress)(nomination.validatorAddress, selectedCollator)) {
35
37
  targetNomination = nomination;
36
38
  break;
37
39
  }
@@ -64,7 +66,7 @@ function validateParaChainBondingCondition(chainInfo, amount, selectedCollators,
64
66
  const minStakeErrorMessage = (0, _utils.getMinStakeErrorMessage)(chainInfo, bnMinStake);
65
67
  const maxValidatorErrorMessage = (0, _utils.getMaxValidatorErrorMessage)(chainInfo, chainStakingMetadata.maxValidatorPerNominator);
66
68
  const existUnstakeErrorMessage = (0, _utils.getExistUnstakeErrorMessage)(chainInfo.slug, nominatorMetadata === null || nominatorMetadata === void 0 ? void 0 : nominatorMetadata.type, true);
67
- if (!nominatorMetadata || nominatorMetadata.status === _KoniTypes.StakingStatus.NOT_STAKING) {
69
+ if (!nominatorMetadata || nominatorMetadata.status === _types.EarningStatus.NOT_STAKING) {
68
70
  if (!bnTotalStake.gte(bnMinStake)) {
69
71
  errors.push(new _TransactionError.TransactionError(_KoniTypes.StakingTxErrorType.NOT_ENOUGH_MIN_STAKE, minStakeErrorMessage));
70
72
  }
@@ -73,7 +75,7 @@ function validateParaChainBondingCondition(chainInfo, amount, selectedCollators,
73
75
  const {
74
76
  bondedValidators
75
77
  } = (0, _utils.getBondedValidators)(nominatorMetadata.nominations);
76
- const parsedSelectedCollatorAddress = (0, _utils3.reformatAddress)(selectedCollator.address, 0);
78
+ const parsedSelectedCollatorAddress = (0, _utils4.reformatAddress)(selectedCollator.address, 0);
77
79
  if (!bondedValidators.includes(parsedSelectedCollatorAddress)) {
78
80
  // new delegation
79
81
  if (!bnTotalStake.gte(bnMinStake)) {
@@ -87,7 +89,7 @@ function validateParaChainBondingCondition(chainInfo, amount, selectedCollators,
87
89
  let currentDelegationAmount = '0';
88
90
  let hasUnstaking = false;
89
91
  for (const delegation of nominatorMetadata.nominations) {
90
- if ((0, _utils3.reformatAddress)(delegation.validatorAddress, 0) === parsedSelectedCollatorAddress) {
92
+ if ((0, _utils4.reformatAddress)(delegation.validatorAddress, 0) === parsedSelectedCollatorAddress) {
91
93
  currentDelegationAmount = delegation.activeStake;
92
94
  hasUnstaking = !!delegation.hasUnstaking && delegation.hasUnstaking;
93
95
  break;
@@ -107,7 +109,7 @@ function subscribeParaChainStakingMetadata(chain, substrateApi, callback) {
107
109
  return substrateApi.api.query.parachainStaking.round(_round => {
108
110
  var _substrateApi$api$con, _substrateApi$api$con2, _substrateApi$api$con3;
109
111
  const roundObj = _round.toHuman();
110
- const round = (0, _utils3.parseRawNumber)(roundObj.current);
112
+ const round = (0, _utils4.parseRawNumber)(roundObj.current);
111
113
  const maxDelegations = (_substrateApi$api$con = substrateApi.api.consts) === null || _substrateApi$api$con === void 0 ? void 0 : (_substrateApi$api$con2 = _substrateApi$api$con.parachainStaking) === null || _substrateApi$api$con2 === void 0 ? void 0 : (_substrateApi$api$con3 = _substrateApi$api$con2.maxDelegationsPerDelegator) === null || _substrateApi$api$con3 === void 0 ? void 0 : _substrateApi$api$con3.toString();
112
114
  const unstakingDelay = substrateApi.api.consts.parachainStaking.delegationBondLessDelay.toString();
113
115
  const unstakingPeriod = parseInt(unstakingDelay) * (_constants._STAKING_ERA_LENGTH_MAP[chain] || _constants._STAKING_ERA_LENGTH_MAP.default);
@@ -127,7 +129,7 @@ function subscribeParaChainStakingMetadata(chain, substrateApi, callback) {
127
129
  async function getParaChainStakingMetadata(chain, substrateApi) {
128
130
  const chainApi = await substrateApi.isReady;
129
131
  const _round = (await chainApi.api.query.parachainStaking.round()).toHuman();
130
- const round = (0, _utils3.parseRawNumber)(_round.current);
132
+ const round = (0, _utils4.parseRawNumber)(_round.current);
131
133
  const maxDelegations = chainApi.api.consts.parachainStaking.maxDelegationsPerDelegator.toString();
132
134
  const unstakingDelay = chainApi.api.consts.parachainStaking.delegationBondLessDelay.toString();
133
135
  let _unvestedAllocation;
@@ -147,7 +149,7 @@ async function getParaChainStakingMetadata(chain, substrateApi) {
147
149
  }
148
150
 
149
151
  const inflationConfig = _inflation.toHuman();
150
- const inflation = (0, _utils.getParaCurrentInflation)((0, _utils3.parseRawNumber)(totalStake.toString()), inflationConfig);
152
+ const inflation = (0, _utils.getParaCurrentInflation)((0, _utils4.parseRawNumber)(totalStake.toString()), inflationConfig);
151
153
  const unstakingPeriod = parseInt(unstakingDelay) * _constants._STAKING_ERA_LENGTH_MAP[chain];
152
154
  return {
153
155
  chain,
@@ -170,17 +172,17 @@ async function subscribeParaChainNominatorMetadata(chainInfo, address, substrate
170
172
  const roundInfo = _roundInfo.toPrimitive();
171
173
  const currentRound = roundInfo.current;
172
174
  await Promise.all(delegatorState.delegations.map(async delegation => {
173
- const [_delegationScheduledRequests, [identity], _collatorInfo] = await Promise.all([substrateApi.api.query.parachainStaking.delegationScheduledRequests(delegation.owner), (0, _utils.parseIdentity)(substrateApi, delegation.owner), substrateApi.api.query.parachainStaking.candidateInfo(delegation.owner)]);
175
+ const [_delegationScheduledRequests, [identity], _collatorInfo] = await Promise.all([substrateApi.api.query.parachainStaking.delegationScheduledRequests(delegation.owner), (0, _utils3.parseIdentity)(substrateApi, delegation.owner), substrateApi.api.query.parachainStaking.candidateInfo(delegation.owner)]);
174
176
  const collatorInfo = _collatorInfo.toPrimitive();
175
177
  const minDelegation = collatorInfo === null || collatorInfo === void 0 ? void 0 : collatorInfo.lowestTopDelegationAmount.toString();
176
178
  const delegationScheduledRequests = _delegationScheduledRequests.toPrimitive();
177
179
  let hasUnstaking = false;
178
- let delegationStatus = _KoniTypes.StakingStatus.NOT_EARNING;
180
+ let delegationStatus = _types.EarningStatus.NOT_EARNING;
179
181
 
180
182
  // parse unstaking info
181
183
  if (delegationScheduledRequests) {
182
184
  for (const scheduledRequest of delegationScheduledRequests) {
183
- if ((0, _utils3.reformatAddress)(scheduledRequest.delegator, 0) === (0, _utils3.reformatAddress)(address, 0)) {
185
+ if ((0, _utils4.reformatAddress)(scheduledRequest.delegator, 0) === (0, _utils4.reformatAddress)(address, 0)) {
184
186
  // add network prefix
185
187
  const isClaimable = scheduledRequest.whenExecutable - currentRound < 0;
186
188
  const remainingEra = scheduledRequest.whenExecutable - currentRound;
@@ -188,7 +190,7 @@ async function subscribeParaChainNominatorMetadata(chainInfo, address, substrate
188
190
  const claimable = Object.values(scheduledRequest.action)[0];
189
191
  unstakingMap[delegation.owner] = {
190
192
  chain: chainInfo.slug,
191
- status: isClaimable ? _KoniTypes.UnstakingStatus.CLAIMABLE : _KoniTypes.UnstakingStatus.UNLOCKING,
193
+ status: isClaimable ? _types.UnstakingStatus.CLAIMABLE : _types.UnstakingStatus.UNLOCKING,
192
194
  validatorAddress: delegation.owner,
193
195
  claimable: claimable.toString(),
194
196
  waitingTime
@@ -203,7 +205,7 @@ async function subscribeParaChainNominatorMetadata(chainInfo, address, substrate
203
205
  const bnUnstakeBalance = unstakingMap[delegation.owner] ? new _util.BN(unstakingMap[delegation.owner].claimable) : _util.BN_ZERO;
204
206
  const bnActiveStake = bnStake.sub(bnUnstakeBalance);
205
207
  if (bnActiveStake.gt(_util.BN_ZERO) && bnActiveStake.gte(new _util.BN(minDelegation))) {
206
- delegationStatus = _KoniTypes.StakingStatus.EARNING_REWARD;
208
+ delegationStatus = _types.EarningStatus.EARNING_REWARD;
207
209
  }
208
210
  bnTotalActiveStake = bnTotalActiveStake.add(bnActiveStake);
209
211
  nominationList.push({
@@ -224,7 +226,7 @@ async function subscribeParaChainNominatorMetadata(chainInfo, address, substrate
224
226
  // nomination.validatorMinStake = collatorInfo.lowestTopDelegationAmount.toString();
225
227
  // }));
226
228
 
227
- const stakingStatus = (0, _utils.getStakingStatusByNominations)(bnTotalActiveStake, nominationList);
229
+ const stakingStatus = (0, _utils.getEarningStatusByNominations)(bnTotalActiveStake, nominationList);
228
230
  return {
229
231
  chain: chainInfo.slug,
230
232
  type: _KoniTypes.StakingType.NOMINATED,
@@ -254,7 +256,7 @@ async function getParaChainNominatorMetadata(chainInfo, address, substrateApi) {
254
256
  chain: chainInfo.slug,
255
257
  type: _KoniTypes.StakingType.NOMINATED,
256
258
  address,
257
- status: _KoniTypes.StakingStatus.NOT_STAKING,
259
+ status: _types.EarningStatus.NOT_STAKING,
258
260
  activeStake: '0',
259
261
  nominations: [],
260
262
  unstakings: []
@@ -262,19 +264,19 @@ async function getParaChainNominatorMetadata(chainInfo, address, substrateApi) {
262
264
  }
263
265
  let bnTotalActiveStake = _util.BN_ZERO;
264
266
  await Promise.all(delegatorState.delegations.map(async delegation => {
265
- const [_delegationScheduledRequests, [identity], _roundInfo, _collatorInfo] = await Promise.all([chainApi.api.query.parachainStaking.delegationScheduledRequests(delegation.owner), (0, _utils.parseIdentity)(substrateApi, delegation.owner), chainApi.api.query.parachainStaking.round(), chainApi.api.query.parachainStaking.candidateInfo(delegation.owner)]);
267
+ const [_delegationScheduledRequests, [identity], _roundInfo, _collatorInfo] = await Promise.all([chainApi.api.query.parachainStaking.delegationScheduledRequests(delegation.owner), (0, _utils3.parseIdentity)(substrateApi, delegation.owner), chainApi.api.query.parachainStaking.round(), chainApi.api.query.parachainStaking.candidateInfo(delegation.owner)]);
266
268
  const rawCollatorInfo = _collatorInfo.toHuman();
267
269
  const minDelegation = (rawCollatorInfo === null || rawCollatorInfo === void 0 ? void 0 : rawCollatorInfo.lowestTopDelegationAmount).replaceAll(',', '');
268
270
  const roundInfo = _roundInfo.toPrimitive();
269
271
  const delegationScheduledRequests = _delegationScheduledRequests.toPrimitive();
270
272
  const currentRound = roundInfo.current;
271
273
  let hasUnstaking = false;
272
- let delegationStatus = _KoniTypes.StakingStatus.NOT_EARNING;
274
+ let delegationStatus = _types.EarningStatus.NOT_EARNING;
273
275
 
274
276
  // parse unstaking info
275
277
  if (delegationScheduledRequests) {
276
278
  for (const scheduledRequest of delegationScheduledRequests) {
277
- if ((0, _utils3.reformatAddress)(scheduledRequest.delegator, 0) === (0, _utils3.reformatAddress)(address, 0)) {
279
+ if ((0, _utils4.reformatAddress)(scheduledRequest.delegator, 0) === (0, _utils4.reformatAddress)(address, 0)) {
278
280
  // add network prefix
279
281
  const isClaimable = scheduledRequest.whenExecutable - currentRound < 0;
280
282
  const remainingEra = scheduledRequest.whenExecutable - (currentRound + 1);
@@ -282,7 +284,7 @@ async function getParaChainNominatorMetadata(chainInfo, address, substrateApi) {
282
284
  const claimable = Object.values(scheduledRequest.action)[0];
283
285
  unstakingMap[delegation.owner] = {
284
286
  chain,
285
- status: isClaimable ? _KoniTypes.UnstakingStatus.CLAIMABLE : _KoniTypes.UnstakingStatus.UNLOCKING,
287
+ status: isClaimable ? _types.UnstakingStatus.CLAIMABLE : _types.UnstakingStatus.UNLOCKING,
286
288
  validatorAddress: delegation.owner,
287
289
  claimable: claimable.toString(),
288
290
  waitingTime: waitingTime
@@ -297,7 +299,7 @@ async function getParaChainNominatorMetadata(chainInfo, address, substrateApi) {
297
299
  const bnUnstakeBalance = unstakingMap[delegation.owner] ? new _util.BN(unstakingMap[delegation.owner].claimable) : _util.BN_ZERO;
298
300
  const bnActiveStake = bnStake.sub(bnUnstakeBalance);
299
301
  if (bnActiveStake.gt(_util.BN_ZERO) && bnActiveStake.gte(new _util.BN(minDelegation))) {
300
- delegationStatus = _KoniTypes.StakingStatus.EARNING_REWARD;
302
+ delegationStatus = _types.EarningStatus.EARNING_REWARD;
301
303
  }
302
304
  bnTotalActiveStake = bnTotalActiveStake.add(bnActiveStake);
303
305
  nominationList.push({
@@ -314,7 +316,7 @@ async function getParaChainNominatorMetadata(chainInfo, address, substrateApi) {
314
316
  const collatorInfo = _collatorInfo.toPrimitive();
315
317
  nomination.validatorMinStake = collatorInfo.lowestTopDelegationAmount.toString();
316
318
  }));
317
- const stakingStatus = (0, _utils.getStakingStatusByNominations)(bnTotalActiveStake, nominationList);
319
+ const stakingStatus = (0, _utils.getEarningStatusByNominations)(bnTotalActiveStake, nominationList);
318
320
  return {
319
321
  chain,
320
322
  type: _KoniTypes.StakingType.NOMINATED,
@@ -357,7 +359,7 @@ async function getParachainCollatorsInfo(chain, substrateApi) {
357
359
  }
358
360
  const extraInfoMap = {};
359
361
  await Promise.all(allCollators.map(async collator => {
360
- const [_info, [identity, isReasonable]] = await Promise.all([apiProps.api.query.parachainStaking.candidateInfo(collator.address), (0, _utils.parseIdentity)(apiProps, collator.address)]);
362
+ const [_info, [identity, isReasonable]] = await Promise.all([apiProps.api.query.parachainStaking.candidateInfo(collator.address), (0, _utils3.parseIdentity)(apiProps, collator.address)]);
361
363
  const rawInfo = _info.toHuman();
362
364
  const active = (rawInfo === null || rawInfo === void 0 ? void 0 : rawInfo.status) === 'Active';
363
365
  extraInfoMap[collator.address] = {
@@ -385,7 +387,7 @@ async function getParaBondingExtrinsic(chainInfo, substrateApi, amount, selected
385
387
  bondedValidators,
386
388
  nominationCount
387
389
  } = (0, _utils.getBondedValidators)(nominatorMetadata.nominations);
388
- const parsedSelectedCollatorAddress = (0, _utils3.reformatAddress)(selectedCollatorInfo.address, 0);
390
+ const parsedSelectedCollatorAddress = (0, _utils4.reformatAddress)(selectedCollatorInfo.address, 0);
389
391
  if (!bondedValidators.includes(parsedSelectedCollatorAddress)) {
390
392
  return apiPromise.api.tx.parachainStaking.delegate(selectedCollatorInfo.address, binaryAmount, new _util.BN(selectedCollatorInfo.nominatorCount), nominationCount);
391
393
  } else {
@@ -29,7 +29,10 @@ var _constants = require("@subwallet/extension-base/constants");
29
29
  var _utils = require("@subwallet/extension-base/koni/api/staking/bonding/utils");
30
30
  var _constants2 = require("@subwallet/extension-base/services/chain-service/constants");
31
31
  var _utils2 = require("@subwallet/extension-base/services/chain-service/utils");
32
- var _utils3 = require("@subwallet/extension-base/utils");
32
+ var _constants3 = require("@subwallet/extension-base/services/earning-service/constants");
33
+ var _utils3 = require("@subwallet/extension-base/services/earning-service/utils");
34
+ var _types = require("@subwallet/extension-base/types");
35
+ var _utils4 = require("@subwallet/extension-base/utils");
33
36
  var _bignumber = _interopRequireDefault(require("bignumber.js"));
34
37
  var _i18next = require("i18next");
35
38
  var _util = require("@polkadot/util");
@@ -83,7 +86,7 @@ function validateRelayBondingCondition(chainInfo, amount, selectedValidators, ad
83
86
  const bnMinStake = new _util.BN(chainStakingMetadata.minStake);
84
87
  const minStakeErrorMessage = (0, _utils.getMinStakeErrorMessage)(chainInfo, bnMinStake);
85
88
  const maxValidatorErrorMessage = (0, _utils.getMaxValidatorErrorMessage)(chainInfo, chainStakingMetadata.maxValidatorPerNominator);
86
- if (!nominatorMetadata || nominatorMetadata.status === _KoniTypes.StakingStatus.NOT_STAKING) {
89
+ if (!nominatorMetadata || nominatorMetadata.status === _types.EarningStatus.NOT_STAKING) {
87
90
  if (!bnTotalStake.gte(bnMinStake)) {
88
91
  errors.push(new _TransactionError.TransactionError(_KoniTypes.StakingTxErrorType.NOT_ENOUGH_MIN_STAKE, minStakeErrorMessage));
89
92
  }
@@ -128,7 +131,7 @@ function subscribeRelayChainStakingMetadata(chainInfo, substrateApi, callback) {
128
131
  callback(chainInfo.slug, {
129
132
  chain: chainInfo.slug,
130
133
  type: _KoniTypes.StakingType.NOMINATED,
131
- expectedReturn: !_constants2._STAKING_CHAIN_GROUP.ternoa.includes(chainInfo.slug) ? expectedReturn : undefined,
134
+ expectedReturn: !_constants3._STAKING_CHAIN_GROUP.ternoa.includes(chainInfo.slug) ? expectedReturn : undefined,
132
135
  // in %, annually
133
136
  inflation,
134
137
  era: parseInt(currentEra),
@@ -142,12 +145,12 @@ function subscribeRelayChainStakingMetadata(chainInfo, substrateApi, callback) {
142
145
  });
143
146
  }
144
147
  async function getRelayChainStakingMetadata(chainInfo, substrateApi) {
145
- var _chainApi$api$query$a, _chainApi$api$query, _chainApi$api$query$s, _chainApi$api$query2, _chainApi$api$query2$, _chainApi$api$query3, _chainApi$api$query3$;
148
+ var _chainApi$api$consts$, _chainApi$api$consts$2, _chainApi$api$query$a, _chainApi$api$query, _chainApi$api$query$s, _chainApi$api$query2, _chainApi$api$query2$, _chainApi$api$query3, _chainApi$api$query3$;
146
149
  const chain = chainInfo.slug;
147
150
  const chainApi = await substrateApi.isReady;
148
151
  const _era = await chainApi.api.query.staking.currentEra();
149
152
  const currentEra = _era.toString();
150
- const maxNominations = chainApi.api.consts.staking.maxNominations.toString();
153
+ const maxNominations = ((_chainApi$api$consts$ = chainApi.api.consts.staking) === null || _chainApi$api$consts$ === void 0 ? void 0 : (_chainApi$api$consts$2 = _chainApi$api$consts$.maxNominations) === null || _chainApi$api$consts$2 === void 0 ? void 0 : _chainApi$api$consts$2.toString()) || '16'; // TODO
151
154
  const maxUnlockingChunks = chainApi.api.consts.staking.maxUnlockingChunks.toString();
152
155
  const unlockingEras = chainApi.api.consts.staking.bondingDuration.toString();
153
156
  const [_totalEraStake, _totalIssuance, _auctionCounter, _minimumActiveStake, _minNominatorBond, _minPoolJoin, _eraStakers] = await Promise.all([chainApi.api.query.staking.erasTotalStake(parseInt(currentEra)), chainApi.api.query.balances.totalIssuance(), (_chainApi$api$query$a = chainApi.api.query.auctions) === null || _chainApi$api$query$a === void 0 ? void 0 : _chainApi$api$query$a.auctionCounter(), ((_chainApi$api$query = chainApi.api.query) === null || _chainApi$api$query === void 0 ? void 0 : (_chainApi$api$query$s = _chainApi$api$query.staking) === null || _chainApi$api$query$s === void 0 ? void 0 : _chainApi$api$query$s.minimumActiveStake) && ((_chainApi$api$query2 = chainApi.api.query) === null || _chainApi$api$query2 === void 0 ? void 0 : (_chainApi$api$query2$ = _chainApi$api$query2.staking) === null || _chainApi$api$query2$ === void 0 ? void 0 : _chainApi$api$query2$.minimumActiveStake()), chainApi.api.query.staking.minNominatorBond(), (_chainApi$api$query3 = chainApi.api.query) === null || _chainApi$api$query3 === void 0 ? void 0 : (_chainApi$api$query3$ = _chainApi$api$query3.nominationPools) === null || _chainApi$api$query3$ === void 0 ? void 0 : _chainApi$api$query3$.minJoinBond(), chainApi.api.query.staking.erasStakers.entries(parseInt(currentEra))]);
@@ -184,7 +187,7 @@ async function getRelayChainStakingMetadata(chainInfo, substrateApi) {
184
187
  chain,
185
188
  type: _KoniTypes.StakingType.NOMINATED,
186
189
  era: parseInt(currentEra),
187
- expectedReturn: !_constants2._STAKING_CHAIN_GROUP.ternoa.includes(chain) ? expectedReturn : undefined,
190
+ expectedReturn: !_constants3._STAKING_CHAIN_GROUP.ternoa.includes(chain) ? expectedReturn : undefined,
188
191
  // in %, annually
189
192
  inflation,
190
193
  minStake: minStake.toString(),
@@ -218,8 +221,8 @@ async function subscribeRelayChainNominatorMetadata(chainInfo, address, substrat
218
221
  if (nominations) {
219
222
  const validatorList = nominations.targets;
220
223
  await Promise.all(validatorList.map(async validatorAddress => {
221
- let nominationStatus = _KoniTypes.StakingStatus.NOT_EARNING;
222
- const [[identity], _eraStaker] = await Promise.all([(0, _utils.parseIdentity)(chainApi, validatorAddress), chainApi.api.query.staking.erasStakers(currentEra, validatorAddress)]);
224
+ let nominationStatus = _types.EarningStatus.NOT_EARNING;
225
+ const [[identity], _eraStaker] = await Promise.all([(0, _utils3.parseIdentity)(chainApi, validatorAddress), chainApi.api.query.staking.erasStakers(currentEra, validatorAddress)]);
223
226
  const eraStaker = _eraStaker.toPrimitive();
224
227
  const sortedNominators = eraStaker.others.sort((a, b) => {
225
228
  return new _bignumber.default(b.value).minus(a.value).toNumber();
@@ -227,12 +230,12 @@ async function subscribeRelayChainNominatorMetadata(chainInfo, address, substrat
227
230
  const topNominators = sortedNominators.map(nominator => {
228
231
  return nominator.who;
229
232
  });
230
- if (!topNominators.includes((0, _utils3.reformatAddress)(address, (0, _utils2._getChainSubstrateAddressPrefix)(chainInfo)))) {
233
+ if (!topNominators.includes((0, _utils4.reformatAddress)(address, (0, _utils2._getChainSubstrateAddressPrefix)(chainInfo)))) {
231
234
  // if nominator has target but not in nominator list
232
- nominationStatus = _KoniTypes.StakingStatus.WAITING;
233
- } else if (topNominators.slice(0, unlimitedNominatorRewarded ? undefined : maxNominatorRewardedPerValidator).includes((0, _utils3.reformatAddress)(address, (0, _utils2._getChainSubstrateAddressPrefix)(chainInfo)))) {
235
+ nominationStatus = _types.EarningStatus.WAITING;
236
+ } else if (topNominators.slice(0, unlimitedNominatorRewarded ? undefined : maxNominatorRewardedPerValidator).includes((0, _utils4.reformatAddress)(address, (0, _utils2._getChainSubstrateAddressPrefix)(chainInfo)))) {
234
237
  // if address in top nominators
235
- nominationStatus = _KoniTypes.StakingStatus.EARNING_REWARD;
238
+ nominationStatus = _types.EarningStatus.EARNING_REWARD;
236
239
  }
237
240
  nominationList.push({
238
241
  chain,
@@ -244,20 +247,20 @@ async function subscribeRelayChainNominatorMetadata(chainInfo, address, substrat
244
247
  }));
245
248
  }
246
249
 
247
- let stakingStatus = _KoniTypes.StakingStatus.NOT_EARNING;
250
+ let stakingStatus = _types.EarningStatus.NOT_EARNING;
248
251
  const bnActiveStake = new _util.BN(activeStake);
249
252
  let waitingNominationCount = 0;
250
253
  if (bnActiveStake.gte(minStake)) {
251
254
  for (const nomination of nominationList) {
252
- if (nomination.status === _KoniTypes.StakingStatus.EARNING_REWARD) {
255
+ if (nomination.status === _types.EarningStatus.EARNING_REWARD) {
253
256
  // only need 1 earning nomination to count
254
- stakingStatus = _KoniTypes.StakingStatus.EARNING_REWARD;
255
- } else if (nomination.status === _KoniTypes.StakingStatus.WAITING) {
257
+ stakingStatus = _types.EarningStatus.EARNING_REWARD;
258
+ } else if (nomination.status === _types.EarningStatus.WAITING) {
256
259
  waitingNominationCount += 1;
257
260
  }
258
261
  }
259
262
  if (waitingNominationCount === nominationList.length) {
260
- stakingStatus = _KoniTypes.StakingStatus.WAITING;
263
+ stakingStatus = _types.EarningStatus.WAITING;
261
264
  }
262
265
  }
263
266
  ledger.unlocking.forEach(unlockingChunk => {
@@ -274,7 +277,7 @@ async function subscribeRelayChainNominatorMetadata(chainInfo, address, substrat
274
277
  const waitingTime = remainingEra * _constants2._STAKING_ERA_LENGTH_MAP[chain] + remainingHours;
275
278
  unstakingList.push({
276
279
  chain,
277
- status: isClaimable ? _KoniTypes.UnstakingStatus.CLAIMABLE : _KoniTypes.UnstakingStatus.UNLOCKING,
280
+ status: isClaimable ? _types.UnstakingStatus.CLAIMABLE : _types.UnstakingStatus.UNLOCKING,
278
281
  claimable: unlockingChunk.value.toString(),
279
282
  waitingTime: waitingTime
280
283
  });
@@ -318,7 +321,7 @@ async function getRelayChainNominatorMetadata(chainInfo, address, substrateApi)
318
321
  return {
319
322
  chain,
320
323
  type: _KoniTypes.StakingType.NOMINATED,
321
- status: _KoniTypes.StakingStatus.NOT_STAKING,
324
+ status: _types.EarningStatus.NOT_STAKING,
322
325
  address: address,
323
326
  activeStake: '0',
324
327
  nominations: [],
@@ -331,8 +334,8 @@ async function getRelayChainNominatorMetadata(chainInfo, address, substrateApi)
331
334
  if (nominations) {
332
335
  const validatorList = nominations.targets;
333
336
  await Promise.all(validatorList.map(async validatorAddress => {
334
- let nominationStatus = _KoniTypes.StakingStatus.NOT_EARNING;
335
- const [[identity], _eraStaker] = await Promise.all([(0, _utils.parseIdentity)(chainApi, validatorAddress), chainApi.api.query.staking.erasStakers(currentEra, validatorAddress)]);
337
+ let nominationStatus = _types.EarningStatus.NOT_EARNING;
338
+ const [[identity], _eraStaker] = await Promise.all([(0, _utils3.parseIdentity)(chainApi, validatorAddress), chainApi.api.query.staking.erasStakers(currentEra, validatorAddress)]);
336
339
  const eraStaker = _eraStaker.toPrimitive();
337
340
  const sortedNominators = eraStaker.others.sort((a, b) => {
338
341
  return new _bignumber.default(b.value).minus(a.value).toNumber();
@@ -340,12 +343,12 @@ async function getRelayChainNominatorMetadata(chainInfo, address, substrateApi)
340
343
  const topNominators = sortedNominators.map(nominator => {
341
344
  return nominator.who;
342
345
  });
343
- if (!topNominators.includes((0, _utils3.reformatAddress)(address, (0, _utils2._getChainSubstrateAddressPrefix)(chainInfo)))) {
346
+ if (!topNominators.includes((0, _utils4.reformatAddress)(address, (0, _utils2._getChainSubstrateAddressPrefix)(chainInfo)))) {
344
347
  // if nominator has target but not in nominator list
345
- nominationStatus = _KoniTypes.StakingStatus.WAITING;
346
- } else if (topNominators.slice(0, unlimitedNominatorRewarded ? undefined : maxNominatorRewardedPerValidator).includes((0, _utils3.reformatAddress)(address, (0, _utils2._getChainSubstrateAddressPrefix)(chainInfo)))) {
348
+ nominationStatus = _types.EarningStatus.WAITING;
349
+ } else if (topNominators.slice(0, unlimitedNominatorRewarded ? undefined : maxNominatorRewardedPerValidator).includes((0, _utils4.reformatAddress)(address, (0, _utils2._getChainSubstrateAddressPrefix)(chainInfo)))) {
347
350
  // if address in top nominators
348
- nominationStatus = _KoniTypes.StakingStatus.EARNING_REWARD;
351
+ nominationStatus = _types.EarningStatus.EARNING_REWARD;
349
352
  }
350
353
  nominationList.push({
351
354
  chain,
@@ -357,20 +360,20 @@ async function getRelayChainNominatorMetadata(chainInfo, address, substrateApi)
357
360
  }));
358
361
  }
359
362
 
360
- let stakingStatus = _KoniTypes.StakingStatus.NOT_EARNING;
363
+ let stakingStatus = _types.EarningStatus.NOT_EARNING;
361
364
  const bnActiveStake = new _util.BN(activeStake);
362
365
  let waitingNominationCount = 0;
363
366
  if (bnActiveStake.gte(minStake)) {
364
367
  for (const nomination of nominationList) {
365
- if (nomination.status === _KoniTypes.StakingStatus.EARNING_REWARD) {
368
+ if (nomination.status === _types.EarningStatus.EARNING_REWARD) {
366
369
  // only need 1 earning nomination to count
367
- stakingStatus = _KoniTypes.StakingStatus.EARNING_REWARD;
368
- } else if (nomination.status === _KoniTypes.StakingStatus.WAITING) {
370
+ stakingStatus = _types.EarningStatus.EARNING_REWARD;
371
+ } else if (nomination.status === _types.EarningStatus.WAITING) {
369
372
  waitingNominationCount += 1;
370
373
  }
371
374
  }
372
375
  if (waitingNominationCount === nominationList.length) {
373
- stakingStatus = _KoniTypes.StakingStatus.WAITING;
376
+ stakingStatus = _types.EarningStatus.WAITING;
374
377
  }
375
378
  }
376
379
  ledger.unlocking.forEach(unlockingChunk => {
@@ -379,7 +382,7 @@ async function getRelayChainNominatorMetadata(chainInfo, address, substrateApi)
379
382
  const waitingTime = remainingEra * _constants2._STAKING_ERA_LENGTH_MAP[chain];
380
383
  unstakingList.push({
381
384
  chain,
382
- status: isClaimable ? _KoniTypes.UnstakingStatus.CLAIMABLE : _KoniTypes.UnstakingStatus.UNLOCKING,
385
+ status: isClaimable ? _types.UnstakingStatus.CLAIMABLE : _types.UnstakingStatus.UNLOCKING,
383
386
  claimable: unlockingChunk.value.toString(),
384
387
  waitingTime: waitingTime
385
388
  });
@@ -406,7 +409,7 @@ async function subscribeRelayChainPoolMemberMetadata(chainInfo, address, substra
406
409
  const poolMetadata = _poolMetadata.toPrimitive();
407
410
  const currentEra = _currentEra.toString();
408
411
  const nominations = _nominations.toJSON();
409
- let stakingStatus = _KoniTypes.StakingStatus.NOT_EARNING;
412
+ let stakingStatus = _types.EarningStatus.NOT_EARNING;
410
413
  const getPoolName = () => {
411
414
  if (poolMetadata.isUtf8) {
412
415
  return poolMetadata.toUtf8();
@@ -427,9 +430,9 @@ async function subscribeRelayChainPoolMemberMetadata(chainInfo, address, substra
427
430
  const topNominators = sortedNominators.map(nominator => {
428
431
  return nominator.who;
429
432
  }).slice(0, unlimitedNominatorRewarded ? undefined : maxNominatorRewardedPerValidator);
430
- if (topNominators.includes((0, _utils3.reformatAddress)(poolStashAccount, (0, _utils2._getChainSubstrateAddressPrefix)(chainInfo)))) {
433
+ if (topNominators.includes((0, _utils4.reformatAddress)(poolStashAccount, (0, _utils2._getChainSubstrateAddressPrefix)(chainInfo)))) {
431
434
  // if address in top nominators
432
- stakingStatus = _KoniTypes.StakingStatus.EARNING_REWARD;
435
+ stakingStatus = _types.EarningStatus.EARNING_REWARD;
433
436
  }
434
437
  }));
435
438
  }
@@ -458,14 +461,14 @@ async function subscribeRelayChainPoolMemberMetadata(chainInfo, address, substra
458
461
  const waitingTime = remainingEra * _constants2._STAKING_ERA_LENGTH_MAP[chainInfo.slug] + remainingHours;
459
462
  unstakings.push({
460
463
  chain: chainInfo.slug,
461
- status: isClaimable ? _KoniTypes.UnstakingStatus.CLAIMABLE : _KoniTypes.UnstakingStatus.UNLOCKING,
464
+ status: isClaimable ? _types.UnstakingStatus.CLAIMABLE : _types.UnstakingStatus.UNLOCKING,
462
465
  claimable: amount.toString(),
463
466
  waitingTime: waitingTime
464
467
  });
465
468
  });
466
469
  const bnActiveStake = new _util.BN(poolMemberInfo.points.toString());
467
470
  if (!bnActiveStake.gt(_util.BN_ZERO)) {
468
- stakingStatus = _KoniTypes.StakingStatus.NOT_EARNING;
471
+ stakingStatus = _types.EarningStatus.NOT_EARNING;
469
472
  }
470
473
  return {
471
474
  chain: chainInfo.slug,
@@ -496,14 +499,14 @@ async function getRelayChainPoolMemberMetadata(chainInfo, address, substrateApi)
496
499
  chain: chainInfo.slug,
497
500
  type: _KoniTypes.StakingType.POOLED,
498
501
  address,
499
- status: _KoniTypes.StakingStatus.NOT_STAKING,
502
+ status: _types.EarningStatus.NOT_STAKING,
500
503
  activeStake: '0',
501
504
  nominations: [],
502
505
  // can only join 1 pool at a time
503
506
  unstakings: []
504
507
  };
505
508
  }
506
- let stakingStatus = _KoniTypes.StakingStatus.NOT_EARNING;
509
+ let stakingStatus = _types.EarningStatus.NOT_EARNING;
507
510
  const _poolMetadata = await chainApi.api.query.nominationPools.metadata(poolMemberInfo.poolId);
508
511
  const poolMetadata = _poolMetadata.toPrimitive();
509
512
  const getPoolName = () => {
@@ -529,9 +532,9 @@ async function getRelayChainPoolMemberMetadata(chainInfo, address, substrateApi)
529
532
  const topNominators = sortedNominators.map(nominator => {
530
533
  return nominator.who;
531
534
  }).slice(0, unlimitedNominatorRewarded ? undefined : maxNominatorRewardedPerValidator);
532
- if (topNominators.includes((0, _utils3.reformatAddress)(poolStashAccount, (0, _utils2._getChainSubstrateAddressPrefix)(chainInfo)))) {
535
+ if (topNominators.includes((0, _utils4.reformatAddress)(poolStashAccount, (0, _utils2._getChainSubstrateAddressPrefix)(chainInfo)))) {
533
536
  // if address in top nominators
534
- stakingStatus = _KoniTypes.StakingStatus.EARNING_REWARD;
537
+ stakingStatus = _types.EarningStatus.EARNING_REWARD;
535
538
  }
536
539
  }));
537
540
  }
@@ -552,14 +555,14 @@ async function getRelayChainPoolMemberMetadata(chainInfo, address, substrateApi)
552
555
  const waitingTime = remainingEra * _constants2._STAKING_ERA_LENGTH_MAP[chainInfo.slug];
553
556
  unstakings.push({
554
557
  chain: chainInfo.slug,
555
- status: isClaimable ? _KoniTypes.UnstakingStatus.CLAIMABLE : _KoniTypes.UnstakingStatus.UNLOCKING,
558
+ status: isClaimable ? _types.UnstakingStatus.CLAIMABLE : _types.UnstakingStatus.UNLOCKING,
556
559
  claimable: amount.toString(),
557
560
  waitingTime: waitingTime
558
561
  });
559
562
  });
560
563
  const bnActiveStake = new _util.BN(poolMemberInfo.points.toString());
561
564
  if (!bnActiveStake.gt(_util.BN_ZERO)) {
562
- stakingStatus = _KoniTypes.StakingStatus.NOT_EARNING;
565
+ stakingStatus = _types.EarningStatus.NOT_EARNING;
563
566
  }
564
567
  return {
565
568
  chain: chainInfo.slug,
@@ -625,7 +628,7 @@ async function getRelayValidatorsInfo(chain, substrateApi, decimals, chainStakin
625
628
  const extraInfoMap = {};
626
629
  await Promise.all(allValidators.map(async address => {
627
630
  // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
628
- const [_commissionInfo, [identity, isVerified]] = await Promise.all([chainApi.api.query.staking.validators(address), (0, _utils.parseIdentity)(chainApi, address)]);
631
+ const [_commissionInfo, [identity, isVerified]] = await Promise.all([chainApi.api.query.staking.validators(address), (0, _utils3.parseIdentity)(chainApi, address)]);
629
632
  const commissionInfo = _commissionInfo.toHuman();
630
633
  extraInfoMap[address] = {
631
634
  commission: commissionInfo.commission,
@@ -638,9 +641,9 @@ async function getRelayValidatorsInfo(chain, substrateApi, decimals, chainStakin
638
641
  for (const validator of validatorInfoList) {
639
642
  const commission = extraInfoMap[validator.address].commission;
640
643
  const bnValidatorStake = totalStakeMap[validator.address].div(bnDecimals);
641
- if (_constants2._STAKING_CHAIN_GROUP.aleph.includes(chain)) {
644
+ if (_constants3._STAKING_CHAIN_GROUP.aleph.includes(chain)) {
642
645
  validator.expectedReturn = (0, _utils.calculateAlephZeroValidatorReturn)(chainStakingMetadata.expectedReturn, (0, _utils.getCommission)(commission));
643
- } else if (_constants2._STAKING_CHAIN_GROUP.ternoa.includes(chain)) {
646
+ } else if (_constants3._STAKING_CHAIN_GROUP.ternoa.includes(chain)) {
644
647
  const rewardPerValidator = new _util.BN(stakingRewards.sessionExtraRewardPayout).divn(allValidators.length).div(bnDecimals);
645
648
  const validatorStake = totalStakeMap[validator.address].div(bnDecimals).toNumber();
646
649
  validator.expectedReturn = (0, _utils.calculateTernoaValidatorReturn)(rewardPerValidator.toNumber(), validatorStake, (0, _utils.getCommission)(commission));