@subwallet/extension-base 1.1.33-beta.1 → 1.1.34-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (316) hide show
  1. package/background/KoniTypes.d.ts +69 -120
  2. package/background/KoniTypes.js +13 -22
  3. package/background/errors/TransactionError.js +0 -9
  4. package/cjs/background/KoniTypes.js +16 -23
  5. package/cjs/background/errors/TransactionError.js +0 -9
  6. package/cjs/constants/index.js +4 -19
  7. package/cjs/koni/api/nft/config.js +23 -33
  8. package/cjs/koni/api/nft/index.js +0 -14
  9. package/cjs/koni/api/nft/nft.js +22 -1
  10. package/cjs/koni/api/staking/bonding/amplitude.js +16 -19
  11. package/cjs/koni/api/staking/bonding/astar.js +10 -11
  12. package/cjs/koni/api/staking/bonding/index.js +1 -4
  13. package/cjs/koni/api/staking/bonding/paraChain.js +23 -25
  14. package/cjs/koni/api/staking/bonding/relayChain.js +45 -48
  15. package/cjs/koni/api/staking/bonding/utils.js +86 -104
  16. package/cjs/koni/api/staking/index.js +5 -6
  17. package/cjs/koni/api/staking/paraChain.js +17 -10
  18. package/cjs/koni/api/staking/relayChain.js +2 -3
  19. package/cjs/koni/background/cron.js +21 -3
  20. package/cjs/koni/background/handlers/Extension.js +69 -368
  21. package/cjs/koni/background/handlers/State.js +12 -18
  22. package/cjs/koni/background/handlers/index.js +2 -4
  23. package/cjs/koni/background/subscription.js +104 -7
  24. package/cjs/packageInfo.js +1 -1
  25. package/cjs/services/balance-service/helpers/subscribe/substrate/index.js +1 -3
  26. package/cjs/services/campaign-service/index.js +6 -9
  27. package/cjs/services/chain-service/constants.js +17 -2
  28. package/cjs/services/chain-service/index.js +3 -25
  29. package/cjs/services/chain-service/utils.js +1 -7
  30. package/cjs/services/event-service/index.js +0 -5
  31. package/cjs/services/keyring-service/index.js +2 -14
  32. package/cjs/services/migration-service/scripts/MigrateLedgerAccount.js +1 -1
  33. package/cjs/services/migration-service/scripts/MigrateTransactionHistory.js +1 -1
  34. package/cjs/services/migration-service/scripts/index.js +1 -6
  35. package/cjs/services/notification-service/NotificationService.js +1 -1
  36. package/cjs/services/storage-service/DatabaseService.js +1 -92
  37. package/cjs/services/storage-service/databases/index.js +0 -7
  38. package/cjs/services/storage-service/db-stores/NominatorMetadata.js +3 -3
  39. package/cjs/services/subscan-service/index.js +0 -16
  40. package/cjs/services/transaction-service/event-parser/index.js +0 -58
  41. package/cjs/services/transaction-service/helpers/index.js +1 -3
  42. package/cjs/services/transaction-service/index.js +75 -252
  43. package/cjs/services/transaction-service/utils.js +0 -1
  44. package/cjs/types/index.js +0 -44
  45. package/cjs/utils/fetchStaticData.js +1 -2
  46. package/cjs/utils/index.js +1 -89
  47. package/cjs/utils/number.js +2 -6
  48. package/constants/index.d.ts +1 -6
  49. package/constants/index.js +1 -6
  50. package/koni/api/nft/config.js +23 -33
  51. package/koni/api/nft/index.js +1 -15
  52. package/koni/api/nft/nft.js +23 -2
  53. package/koni/api/staking/bonding/amplitude.js +10 -13
  54. package/koni/api/staking/bonding/astar.js +8 -9
  55. package/koni/api/staking/bonding/index.d.ts +1 -1
  56. package/koni/api/staking/bonding/index.js +1 -5
  57. package/koni/api/staking/bonding/paraChain.js +10 -12
  58. package/koni/api/staking/bonding/relayChain.d.ts +2 -2
  59. package/koni/api/staking/bonding/relayChain.js +30 -33
  60. package/koni/api/staking/bonding/utils.d.ts +38 -15
  61. package/koni/api/staking/bonding/utils.js +69 -85
  62. package/koni/api/staking/index.js +1 -2
  63. package/koni/api/staking/paraChain.js +18 -11
  64. package/koni/api/staking/relayChain.js +3 -4
  65. package/koni/background/cron.d.ts +4 -0
  66. package/koni/background/cron.js +22 -4
  67. package/koni/background/handlers/Extension.d.ts +1 -17
  68. package/koni/background/handlers/Extension.js +30 -327
  69. package/koni/background/handlers/State.d.ts +1 -6
  70. package/koni/background/handlers/State.js +12 -17
  71. package/koni/background/handlers/index.js +2 -4
  72. package/koni/background/subscription.d.ts +6 -1
  73. package/koni/background/subscription.js +104 -8
  74. package/package.json +8 -331
  75. package/packageInfo.js +1 -1
  76. package/services/balance-service/helpers/subscribe/substrate/index.js +2 -4
  77. package/services/campaign-service/index.js +6 -9
  78. package/services/chain-service/constants.d.ts +13 -1
  79. package/services/chain-service/constants.js +15 -1
  80. package/services/chain-service/index.d.ts +0 -2
  81. package/services/chain-service/index.js +3 -25
  82. package/services/chain-service/utils.d.ts +0 -1
  83. package/services/chain-service/utils.js +1 -5
  84. package/services/event-service/index.d.ts +0 -2
  85. package/services/event-service/index.js +0 -5
  86. package/services/event-service/types.d.ts +0 -9
  87. package/services/keyring-service/index.d.ts +1 -2
  88. package/services/keyring-service/index.js +2 -14
  89. package/services/migration-service/scripts/MigrateLedgerAccount.js +1 -1
  90. package/services/migration-service/scripts/MigrateTransactionHistory.js +1 -1
  91. package/services/migration-service/scripts/index.js +1 -6
  92. package/services/notification-service/NotificationService.js +1 -1
  93. package/services/storage-service/DatabaseService.d.ts +3 -30
  94. package/services/storage-service/DatabaseService.js +1 -91
  95. package/services/storage-service/databases/index.d.ts +2 -8
  96. package/services/storage-service/databases/index.js +0 -7
  97. package/services/storage-service/db-stores/NominatorMetadata.js +3 -3
  98. package/services/subscan-service/index.d.ts +2 -3
  99. package/services/subscan-service/index.js +0 -15
  100. package/services/subscan-service/types.d.ts +0 -20
  101. package/services/transaction-service/event-parser/index.d.ts +1 -3
  102. package/services/transaction-service/event-parser/index.js +1 -57
  103. package/services/transaction-service/helpers/index.js +1 -3
  104. package/services/transaction-service/index.d.ts +13 -6
  105. package/services/transaction-service/index.js +73 -250
  106. package/services/transaction-service/types.d.ts +0 -2
  107. package/services/transaction-service/utils.js +0 -1
  108. package/types/index.d.ts +0 -5
  109. package/types/index.js +1 -5
  110. package/utils/fetchStaticData.js +1 -2
  111. package/utils/index.d.ts +0 -5
  112. package/utils/index.js +0 -52
  113. package/utils/number.d.ts +1 -2
  114. package/utils/number.js +1 -2
  115. package/cjs/koni/api/dotsama/balance.js +0 -464
  116. package/cjs/koni/api/nft/ordinal_nft/constants.js +0 -21
  117. package/cjs/koni/api/nft/ordinal_nft/index.js +0 -121
  118. package/cjs/koni/api/nft/ordinal_nft/utils.js +0 -41
  119. package/cjs/koni/api/yield/helper/utils.js +0 -49
  120. package/cjs/services/earning-service/constants/chains.js +0 -30
  121. package/cjs/services/earning-service/constants/index.js +0 -27
  122. package/cjs/services/earning-service/constants/step.js +0 -18
  123. package/cjs/services/earning-service/handlers/base.js +0 -262
  124. package/cjs/services/earning-service/handlers/index.js +0 -60
  125. package/cjs/services/earning-service/handlers/lending/base.js +0 -81
  126. package/cjs/services/earning-service/handlers/lending/index.js +0 -13
  127. package/cjs/services/earning-service/handlers/lending/interlay.js +0 -192
  128. package/cjs/services/earning-service/handlers/liquid-staking/acala.js +0 -240
  129. package/cjs/services/earning-service/handlers/liquid-staking/base.js +0 -98
  130. package/cjs/services/earning-service/handlers/liquid-staking/bifrost-manta.js +0 -140
  131. package/cjs/services/earning-service/handlers/liquid-staking/bifrost.js +0 -299
  132. package/cjs/services/earning-service/handlers/liquid-staking/index.js +0 -41
  133. package/cjs/services/earning-service/handlers/liquid-staking/parallel.js +0 -227
  134. package/cjs/services/earning-service/handlers/liquid-staking/stella-swap.js +0 -404
  135. package/cjs/services/earning-service/handlers/native-staking/amplitude.js +0 -434
  136. package/cjs/services/earning-service/handlers/native-staking/astar.js +0 -466
  137. package/cjs/services/earning-service/handlers/native-staking/base-para.js +0 -146
  138. package/cjs/services/earning-service/handlers/native-staking/base.js +0 -161
  139. package/cjs/services/earning-service/handlers/native-staking/index.js +0 -34
  140. package/cjs/services/earning-service/handlers/native-staking/para-chain.js +0 -390
  141. package/cjs/services/earning-service/handlers/native-staking/relay-chain.js +0 -567
  142. package/cjs/services/earning-service/handlers/nomination-pool/index.js +0 -566
  143. package/cjs/services/earning-service/handlers/special.js +0 -497
  144. package/cjs/services/earning-service/service.js +0 -741
  145. package/cjs/services/earning-service/utils/index.js +0 -128
  146. package/cjs/services/migration-service/scripts/DeleteEarningData.js +0 -21
  147. package/cjs/services/migration-service/scripts/EnableEarningChains.js +0 -21
  148. package/cjs/services/migration-service/scripts/MigrateEthProvider.js +0 -17
  149. package/cjs/services/migration-service/scripts/MigratePioneerProvider.js +0 -17
  150. package/cjs/services/migration-service/scripts/MigrateProvider.js +0 -29
  151. package/cjs/services/migration-service/scripts/databases/MigrateEarningHistory.js +0 -21
  152. package/cjs/services/migration-service/scripts/databases/MigrateEarningVersion.js +0 -21
  153. package/cjs/services/mint-campaign-service/campaigns/UnlockDotCampaign.js +0 -149
  154. package/cjs/services/mint-campaign-service/campaigns/index.js +0 -13
  155. package/cjs/services/mint-campaign-service/constants.js +0 -11
  156. package/cjs/services/mint-campaign-service/index.js +0 -18
  157. package/cjs/services/storage-service/db-stores/AssetRef.js +0 -24
  158. package/cjs/services/storage-service/db-stores/YieldPoolStore.js +0 -36
  159. package/cjs/services/storage-service/db-stores/YieldPositionStore.js +0 -71
  160. package/cjs/services/storage-service/index.js +0 -241
  161. package/cjs/types/campaigns/index.js +0 -16
  162. package/cjs/types/campaigns/unlock-dot.js +0 -1
  163. package/cjs/types/ordinal.js +0 -1
  164. package/cjs/types/transaction.js +0 -1
  165. package/cjs/types/yield/actions/index.js +0 -27
  166. package/cjs/types/yield/actions/join/index.js +0 -38
  167. package/cjs/types/yield/actions/join/step.js +0 -48
  168. package/cjs/types/yield/actions/join/submit.js +0 -1
  169. package/cjs/types/yield/actions/join/validate.js +0 -16
  170. package/cjs/types/yield/actions/others.js +0 -1
  171. package/cjs/types/yield/index.js +0 -27
  172. package/cjs/types/yield/info/account/index.js +0 -49
  173. package/cjs/types/yield/info/account/info.js +0 -1
  174. package/cjs/types/yield/info/account/reward.js +0 -1
  175. package/cjs/types/yield/info/account/target.js +0 -32
  176. package/cjs/types/yield/info/account/unstake.js +0 -27
  177. package/cjs/types/yield/info/base.js +0 -41
  178. package/cjs/types/yield/info/chain/index.js +0 -27
  179. package/cjs/types/yield/info/chain/info.js +0 -1
  180. package/cjs/types/yield/info/chain/target.js +0 -1
  181. package/cjs/types/yield/info/index.js +0 -49
  182. package/cjs/types/yield/info/pallet.js +0 -15
  183. package/cjs/types.js +0 -1
  184. package/cjs/utils/address.js +0 -34
  185. package/cjs/utils/keyring.js +0 -57
  186. package/cjs/utils/object.js +0 -12
  187. package/koni/api/nft/ordinal_nft/constants.d.ts +0 -9
  188. package/koni/api/nft/ordinal_nft/constants.js +0 -12
  189. package/koni/api/nft/ordinal_nft/index.d.ts +0 -8
  190. package/koni/api/nft/ordinal_nft/index.js +0 -114
  191. package/koni/api/nft/ordinal_nft/utils.d.ts +0 -2
  192. package/koni/api/nft/ordinal_nft/utils.js +0 -33
  193. package/koni/api/yield/helper/utils.d.ts +0 -10
  194. package/koni/api/yield/helper/utils.js +0 -34
  195. package/services/earning-service/constants/abis/compound_finance_v2_abi.json +0 -1235
  196. package/services/earning-service/constants/abis/st_liquid_token_abi.json +0 -1355
  197. package/services/earning-service/constants/chains.d.ts +0 -15
  198. package/services/earning-service/constants/chains.js +0 -22
  199. package/services/earning-service/constants/index.d.ts +0 -2
  200. package/services/earning-service/constants/index.js +0 -5
  201. package/services/earning-service/constants/step.d.ts +0 -3
  202. package/services/earning-service/constants/step.js +0 -10
  203. package/services/earning-service/handlers/base.d.ts +0 -113
  204. package/services/earning-service/handlers/base.js +0 -256
  205. package/services/earning-service/handlers/index.d.ts +0 -5
  206. package/services/earning-service/handlers/index.js +0 -8
  207. package/services/earning-service/handlers/lending/base.d.ts +0 -8
  208. package/services/earning-service/handlers/lending/base.js +0 -73
  209. package/services/earning-service/handlers/lending/index.d.ts +0 -1
  210. package/services/earning-service/handlers/lending/index.js +0 -4
  211. package/services/earning-service/handlers/lending/interlay.d.ts +0 -24
  212. package/services/earning-service/handlers/lending/interlay.js +0 -184
  213. package/services/earning-service/handlers/liquid-staking/acala.d.ts +0 -27
  214. package/services/earning-service/handlers/liquid-staking/acala.js +0 -232
  215. package/services/earning-service/handlers/liquid-staking/base.d.ts +0 -11
  216. package/services/earning-service/handlers/liquid-staking/base.js +0 -90
  217. package/services/earning-service/handlers/liquid-staking/bifrost-manta.d.ts +0 -37
  218. package/services/earning-service/handlers/liquid-staking/bifrost-manta.js +0 -132
  219. package/services/earning-service/handlers/liquid-staking/bifrost.d.ts +0 -46
  220. package/services/earning-service/handlers/liquid-staking/bifrost.js +0 -288
  221. package/services/earning-service/handlers/liquid-staking/index.d.ts +0 -5
  222. package/services/earning-service/handlers/liquid-staking/index.js +0 -8
  223. package/services/earning-service/handlers/liquid-staking/parallel.d.ts +0 -26
  224. package/services/earning-service/handlers/liquid-staking/parallel.js +0 -219
  225. package/services/earning-service/handlers/liquid-staking/stella-swap.d.ts +0 -34
  226. package/services/earning-service/handlers/liquid-staking/stella-swap.js +0 -394
  227. package/services/earning-service/handlers/native-staking/amplitude.d.ts +0 -22
  228. package/services/earning-service/handlers/native-staking/amplitude.js +0 -425
  229. package/services/earning-service/handlers/native-staking/astar.d.ts +0 -19
  230. package/services/earning-service/handlers/native-staking/astar.js +0 -456
  231. package/services/earning-service/handlers/native-staking/base-para.d.ts +0 -11
  232. package/services/earning-service/handlers/native-staking/base-para.js +0 -138
  233. package/services/earning-service/handlers/native-staking/base.d.ts +0 -21
  234. package/services/earning-service/handlers/native-staking/base.js +0 -152
  235. package/services/earning-service/handlers/native-staking/index.d.ts +0 -4
  236. package/services/earning-service/handlers/native-staking/index.js +0 -7
  237. package/services/earning-service/handlers/native-staking/para-chain.d.ts +0 -15
  238. package/services/earning-service/handlers/native-staking/para-chain.js +0 -382
  239. package/services/earning-service/handlers/native-staking/relay-chain.d.ts +0 -21
  240. package/services/earning-service/handlers/native-staking/relay-chain.js +0 -558
  241. package/services/earning-service/handlers/nomination-pool/index.d.ts +0 -36
  242. package/services/earning-service/handlers/nomination-pool/index.js +0 -556
  243. package/services/earning-service/handlers/special.d.ts +0 -64
  244. package/services/earning-service/handlers/special.js +0 -489
  245. package/services/earning-service/service.d.ts +0 -94
  246. package/services/earning-service/service.js +0 -730
  247. package/services/earning-service/utils/index.d.ts +0 -18
  248. package/services/earning-service/utils/index.js +0 -112
  249. package/services/migration-service/scripts/DeleteEarningData.d.ts +0 -4
  250. package/services/migration-service/scripts/DeleteEarningData.js +0 -13
  251. package/services/migration-service/scripts/EnableEarningChains.d.ts +0 -4
  252. package/services/migration-service/scripts/EnableEarningChains.js +0 -13
  253. package/services/migration-service/scripts/databases/MigrateEarningHistory.d.ts +0 -4
  254. package/services/migration-service/scripts/databases/MigrateEarningHistory.js +0 -13
  255. package/services/migration-service/scripts/databases/MigrateEarningVersion.d.ts +0 -4
  256. package/services/migration-service/scripts/databases/MigrateEarningVersion.js +0 -13
  257. package/services/mint-campaign-service/campaigns/UnlockDotCampaign.d.ts +0 -13
  258. package/services/mint-campaign-service/campaigns/UnlockDotCampaign.js +0 -139
  259. package/services/mint-campaign-service/campaigns/index.d.ts +0 -1
  260. package/services/mint-campaign-service/campaigns/index.js +0 -4
  261. package/services/mint-campaign-service/constants.d.ts +0 -1
  262. package/services/mint-campaign-service/constants.js +0 -4
  263. package/services/mint-campaign-service/index.d.ts +0 -7
  264. package/services/mint-campaign-service/index.js +0 -11
  265. package/services/storage-service/db-stores/AssetRef.d.ts +0 -7
  266. package/services/storage-service/db-stores/AssetRef.js +0 -16
  267. package/services/storage-service/db-stores/YieldPoolStore.d.ts +0 -10
  268. package/services/storage-service/db-stores/YieldPoolStore.js +0 -28
  269. package/services/storage-service/db-stores/YieldPositionStore.d.ts +0 -11
  270. package/services/storage-service/db-stores/YieldPositionStore.js +0 -63
  271. package/types/campaigns/index.d.ts +0 -1
  272. package/types/campaigns/index.js +0 -4
  273. package/types/campaigns/unlock-dot.d.ts +0 -71
  274. package/types/campaigns/unlock-dot.js +0 -1
  275. package/types/ordinal.d.ts +0 -69
  276. package/types/ordinal.js +0 -1
  277. package/types/transaction.d.ts +0 -3
  278. package/types/transaction.js +0 -1
  279. package/types/yield/actions/index.d.ts +0 -2
  280. package/types/yield/actions/index.js +0 -5
  281. package/types/yield/actions/join/index.d.ts +0 -3
  282. package/types/yield/actions/join/index.js +0 -6
  283. package/types/yield/actions/join/step.d.ts +0 -96
  284. package/types/yield/actions/join/step.js +0 -47
  285. package/types/yield/actions/join/submit.d.ts +0 -58
  286. package/types/yield/actions/join/submit.js +0 -1
  287. package/types/yield/actions/join/validate.d.ts +0 -18
  288. package/types/yield/actions/join/validate.js +0 -10
  289. package/types/yield/actions/others.d.ts +0 -85
  290. package/types/yield/actions/others.js +0 -1
  291. package/types/yield/index.d.ts +0 -2
  292. package/types/yield/index.js +0 -5
  293. package/types/yield/info/account/index.d.ts +0 -4
  294. package/types/yield/info/account/index.js +0 -7
  295. package/types/yield/info/account/info.d.ts +0 -92
  296. package/types/yield/info/account/info.js +0 -1
  297. package/types/yield/info/account/reward.d.ts +0 -47
  298. package/types/yield/info/account/reward.js +0 -1
  299. package/types/yield/info/account/target.d.ts +0 -43
  300. package/types/yield/info/account/target.js +0 -27
  301. package/types/yield/info/account/unstake.d.ts +0 -31
  302. package/types/yield/info/account/unstake.js +0 -22
  303. package/types/yield/info/base.d.ts +0 -45
  304. package/types/yield/info/base.js +0 -36
  305. package/types/yield/info/chain/index.d.ts +0 -2
  306. package/types/yield/info/chain/index.js +0 -5
  307. package/types/yield/info/chain/info.d.ts +0 -252
  308. package/types/yield/info/chain/info.js +0 -1
  309. package/types/yield/info/chain/target.d.ts +0 -37
  310. package/types/yield/info/chain/target.js +0 -1
  311. package/types/yield/info/index.d.ts +0 -4
  312. package/types/yield/info/index.js +0 -7
  313. package/types/yield/info/pallet.d.ts +0 -143
  314. package/types/yield/info/pallet.js +0 -9
  315. package/utils/object.d.ts +0 -1
  316. package/utils/object.js +0 -6
@@ -1,161 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = void 0;
8
- var _TransactionError = require("@subwallet/extension-base/background/errors/TransactionError");
9
- var _KoniTypes = require("@subwallet/extension-base/background/KoniTypes");
10
- var _types = require("@subwallet/extension-base/types");
11
- var _util = require("@polkadot/util");
12
- var _base = _interopRequireDefault(require("../base"));
13
- // Copyright 2019-2022 @subwallet/extension-base
14
- // SPDX-License-Identifier: Apache-2.0
15
-
16
- class BaseNativeStakingPoolHandler extends _base.default {
17
- type = _types.YieldPoolType.NATIVE_STAKING;
18
- availableMethod = {
19
- join: true,
20
- defaultUnstake: true,
21
- fastUnstake: false,
22
- cancelUnstake: true,
23
- withdraw: true,
24
- claimReward: false
25
- };
26
- constructor(state, chain) {
27
- super(state, chain);
28
- const _chainAsset = this.nativeToken;
29
- const _chainInfo = this.chainInfo;
30
- const symbol = _chainAsset.symbol;
31
- this.slug = `${symbol}___native_staking___${_chainInfo.slug}`;
32
- this.name = `${_chainInfo.name} Native Staking`;
33
- this.shortName = _chainInfo.name.replaceAll(' Relay Chain', '');
34
- }
35
- getDescription() {
36
- let amount = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '0';
37
- const _chainAsset = this.nativeToken;
38
- const symbol = _chainAsset.symbol;
39
- return `Start staking with just {{amount}} ${symbol}`.replace('{{amount}}', amount);
40
- }
41
-
42
- /* Get pool reward */
43
-
44
- async getPoolReward(useAddresses, callBack) {
45
- return new Promise(resolve => resolve(_util.noop));
46
- }
47
- async getPoolRewardHistory(useAddresses, callBack) {
48
- let cancel = false;
49
- const haveSubscanService = this.state.subscanService.checkSupportedSubscanChain(this.chain);
50
- if (haveSubscanService) {
51
- for (const address of useAddresses) {
52
- if (cancel) {
53
- break;
54
- }
55
- try {
56
- const rs = await this.state.subscanService.getRewardHistoryList(this.chain, address);
57
- const items = rs.list;
58
- if (items) {
59
- for (const item of items) {
60
- const now = new Date();
61
- const isMillisecond = now.getTime().toString().length === item.block_timestamp.toString().length;
62
- const timeStamp = isMillisecond ? item.block_timestamp : item.block_timestamp * 1000;
63
- const data = {
64
- slug: this.slug,
65
- type: this.type,
66
- chain: this.chain,
67
- address: address,
68
- group: this.group,
69
- blockTimestamp: timeStamp,
70
- amount: item.amount,
71
- eventIndex: item.event_index
72
- };
73
- callBack(data);
74
- }
75
- }
76
- } catch (e) {
77
- console.error(e);
78
- }
79
- }
80
- }
81
- return () => {
82
- cancel = false;
83
- };
84
- }
85
-
86
- /* Get pool reward */
87
-
88
- /* Join pool action */
89
-
90
- get defaultSubmitStep() {
91
- return [{
92
- name: 'Nominate validators',
93
- type: _types.YieldStepType.NOMINATE
94
- }, {
95
- slug: this.nativeToken.slug,
96
- amount: '0'
97
- }];
98
- }
99
- async getSubmitStep(params) {
100
- const {
101
- address,
102
- amount,
103
- slug,
104
- targets
105
- } = params;
106
- const selectedValidators = !targets ? [] : targets;
107
- const data = {
108
- amount,
109
- address,
110
- slug,
111
- selectedValidators
112
- };
113
- const positionInfo = await this.getPoolPosition(address);
114
- const [, fee] = await this.createJoinExtrinsic(data, positionInfo);
115
- return [this.defaultSubmitStep[0], fee];
116
- }
117
- async handleYieldJoin(_data, path, currentStep) {
118
- const data = _data;
119
- const {
120
- address,
121
- amount,
122
- selectedValidators
123
- } = data;
124
- const positionInfo = await this.getPoolPosition(address);
125
- const [extrinsic] = await this.createJoinExtrinsic(data, positionInfo);
126
- const bondingData = {
127
- poolPosition: positionInfo,
128
- slug: this.slug,
129
- amount,
130
- address,
131
- selectedValidators
132
- };
133
- return {
134
- txChain: this.chain,
135
- extrinsicType: _KoniTypes.ExtrinsicType.STAKING_BOND,
136
- extrinsic,
137
- txData: bondingData,
138
- transferNativeAmount: amount,
139
- chainType: _KoniTypes.ChainType.SUBSTRATE
140
- };
141
- }
142
-
143
- /* Join pool action */
144
-
145
- /* Leave pool action */
146
-
147
- async handleYieldRedeem(amount, address, selectedTarget) {
148
- return Promise.reject(new _TransactionError.TransactionError(_KoniTypes.BasicTxErrorType.UNSUPPORTED));
149
- }
150
-
151
- /* Leave pool action */
152
-
153
- /* Other action */
154
-
155
- async handleYieldClaimReward(address, bondReward) {
156
- return Promise.reject(new _TransactionError.TransactionError(_KoniTypes.BasicTxErrorType.UNSUPPORTED));
157
- }
158
-
159
- /* Other actions */
160
- }
161
- exports.default = BaseNativeStakingPoolHandler;
@@ -1,34 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- Object.defineProperty(exports, "AmplitudeNativeStakingPoolHandler", {
8
- enumerable: true,
9
- get: function () {
10
- return _amplitude.default;
11
- }
12
- });
13
- Object.defineProperty(exports, "AstarNativeStakingPoolHandler", {
14
- enumerable: true,
15
- get: function () {
16
- return _astar.default;
17
- }
18
- });
19
- Object.defineProperty(exports, "ParaNativeStakingPoolHandler", {
20
- enumerable: true,
21
- get: function () {
22
- return _paraChain.default;
23
- }
24
- });
25
- Object.defineProperty(exports, "RelayNativeStakingPoolHandler", {
26
- enumerable: true,
27
- get: function () {
28
- return _relayChain.default;
29
- }
30
- });
31
- var _amplitude = _interopRequireDefault(require("./amplitude"));
32
- var _astar = _interopRequireDefault(require("./astar"));
33
- var _relayChain = _interopRequireDefault(require("./relay-chain"));
34
- var _paraChain = _interopRequireDefault(require("./para-chain"));
@@ -1,390 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = void 0;
8
- var _TransactionError = require("@subwallet/extension-base/background/errors/TransactionError");
9
- var _KoniTypes = require("@subwallet/extension-base/background/KoniTypes");
10
- var _utils = require("@subwallet/extension-base/koni/api/staking/bonding/utils");
11
- var _constants = require("@subwallet/extension-base/services/chain-service/constants");
12
- var _utils2 = require("@subwallet/extension-base/services/earning-service/utils");
13
- var _types = require("@subwallet/extension-base/types");
14
- var _utils3 = require("@subwallet/extension-base/utils");
15
- var _util = require("@polkadot/util");
16
- var _basePara = _interopRequireDefault(require("./base-para"));
17
- // Copyright 2019-2022 @subwallet/extension-base
18
- // SPDX-License-Identifier: Apache-2.0
19
-
20
- class ParaNativeStakingPoolHandler extends _basePara.default {
21
- /* Subscribe pool info */
22
-
23
- async subscribePoolInfo(callback) {
24
- let cancel = false;
25
- const chainApi = this.substrateApi;
26
- const nativeToken = this.nativeToken;
27
- const defaultCallback = async () => {
28
- const data = {
29
- ...this.baseInfo,
30
- type: this.type,
31
- metadata: {
32
- ...this.metadataInfo,
33
- description: this.getDescription()
34
- }
35
- };
36
- const poolInfo = await this.getPoolInfo();
37
- !poolInfo && callback(data);
38
- };
39
- if (!this.isActive) {
40
- await defaultCallback();
41
- return () => {
42
- cancel = true;
43
- };
44
- }
45
- await defaultCallback();
46
- await chainApi.isReady;
47
- const unsub = await chainApi.api.query.parachainStaking.round(async _round => {
48
- var _chainApi$api$consts, _chainApi$api$consts$, _chainApi$api$consts$2;
49
- if (cancel) {
50
- unsub();
51
- return;
52
- }
53
- const roundObj = _round.toHuman();
54
- const round = (0, _utils3.parseRawNumber)(roundObj.current);
55
- const maxDelegations = (_chainApi$api$consts = chainApi.api.consts) === null || _chainApi$api$consts === void 0 ? void 0 : (_chainApi$api$consts$ = _chainApi$api$consts.parachainStaking) === null || _chainApi$api$consts$ === void 0 ? void 0 : (_chainApi$api$consts$2 = _chainApi$api$consts$.maxDelegationsPerDelegator) === null || _chainApi$api$consts$2 === void 0 ? void 0 : _chainApi$api$consts$2.toString();
56
- const unstakingDelay = chainApi.api.consts.parachainStaking.delegationBondLessDelay.toString();
57
- let _unvestedAllocation;
58
- if (chainApi.api.query.vesting && chainApi.api.query.vesting.totalUnvestedAllocation) {
59
- _unvestedAllocation = await chainApi.api.query.vesting.totalUnvestedAllocation();
60
- }
61
- const [_totalStake, _totalIssuance, _inflation] = await Promise.all([chainApi.api.query.parachainStaking.staked(round), chainApi.api.query.balances.totalIssuance(), chainApi.api.query.parachainStaking.inflationConfig()]);
62
- let unvestedAllocation;
63
- if (_unvestedAllocation) {
64
- const rawUnvestedAllocation = _unvestedAllocation.toString();
65
- unvestedAllocation = new _util.BN(rawUnvestedAllocation);
66
- }
67
- const totalStake = _totalStake ? new _util.BN(_totalStake.toString()) : _util.BN_ZERO;
68
- const totalIssuance = new _util.BN(_totalIssuance.toString());
69
- if (unvestedAllocation) {
70
- totalIssuance.add(unvestedAllocation); // for Turing network, read more at https://hackmd.io/@sbAqOuXkRvyiZPOB3Ryn6Q/Sypr3ZJh5
71
- }
72
-
73
- const inflationConfig = _inflation.toHuman();
74
- const inflation = (0, _utils.getParaCurrentInflation)((0, _utils3.parseRawNumber)(totalStake.toString()), inflationConfig);
75
- const eraTime = _constants._STAKING_ERA_LENGTH_MAP[this.chain] || _constants._STAKING_ERA_LENGTH_MAP.default; // in hours
76
- const unstakingPeriod = parseInt(unstakingDelay) * eraTime;
77
- const minStake = '0';
78
- const minToHuman = (0, _utils3.formatNumber)(minStake.toString(), nativeToken.decimals || 0, _utils3.balanceFormatter);
79
- const data = {
80
- ...this.baseInfo,
81
- type: this.type,
82
- metadata: {
83
- ...this.metadataInfo,
84
- description: this.getDescription(minToHuman)
85
- },
86
- statistic: {
87
- assetEarning: [{
88
- slug: this.nativeToken.slug
89
- }],
90
- maxCandidatePerFarmer: parseInt(maxDelegations),
91
- maxWithdrawalRequestPerFarmer: 1,
92
- // by default
93
- earningThreshold: {
94
- join: minStake.toString(),
95
- defaultUnstake: '0',
96
- fastUnstake: '0'
97
- },
98
- farmerCount: 0,
99
- // TODO recheck
100
- era: round,
101
- eraTime,
102
- totalApy: undefined,
103
- // not have
104
- tvl: totalStake.toString(),
105
- unstakingPeriod: unstakingPeriod,
106
- inflation
107
- }
108
- };
109
- callback(data);
110
- });
111
- return () => {
112
- cancel = true;
113
- unsub();
114
- };
115
- }
116
-
117
- /* Subscribe pool info */
118
-
119
- /* Subscribe pool position */
120
-
121
- async parseNominatorMetadata(chainInfo, address, substrateApi, delegatorState) {
122
- const nominationList = [];
123
- const unstakingMap = {};
124
- let bnTotalActiveStake = _util.BN_ZERO;
125
- let bnTotalStake = _util.BN_ZERO;
126
- let bnTotalUnstaking = _util.BN_ZERO;
127
- const _roundInfo = await substrateApi.api.query.parachainStaking.round();
128
- const roundInfo = _roundInfo.toPrimitive();
129
- const currentRound = roundInfo.current;
130
- await Promise.all(delegatorState.delegations.map(async delegation => {
131
- const [_delegationScheduledRequests, [identity], _collatorInfo] = await Promise.all([substrateApi.api.query.parachainStaking.delegationScheduledRequests(delegation.owner), (0, _utils2.parseIdentity)(substrateApi, delegation.owner), substrateApi.api.query.parachainStaking.candidateInfo(delegation.owner)]);
132
- const collatorInfo = _collatorInfo.toPrimitive();
133
- const minDelegation = collatorInfo === null || collatorInfo === void 0 ? void 0 : collatorInfo.lowestTopDelegationAmount.toString();
134
- const delegationScheduledRequests = _delegationScheduledRequests.toPrimitive();
135
- let hasUnstaking = false;
136
- let delegationStatus = _types.EarningStatus.NOT_EARNING;
137
-
138
- // parse unstaking info
139
- if (delegationScheduledRequests) {
140
- for (const scheduledRequest of delegationScheduledRequests) {
141
- if ((0, _utils3.reformatAddress)(scheduledRequest.delegator, 0) === (0, _utils3.reformatAddress)(address, 0)) {
142
- // add network prefix
143
- const isClaimable = scheduledRequest.whenExecutable - currentRound < 0;
144
- const remainingEra = scheduledRequest.whenExecutable - currentRound;
145
- const waitingTime = remainingEra * _constants._STAKING_ERA_LENGTH_MAP[chainInfo.slug];
146
- const claimable = Object.values(scheduledRequest.action)[0];
147
- unstakingMap[delegation.owner] = {
148
- chain: chainInfo.slug,
149
- status: isClaimable ? _types.UnstakingStatus.CLAIMABLE : _types.UnstakingStatus.UNLOCKING,
150
- validatorAddress: delegation.owner,
151
- claimable: claimable.toString(),
152
- waitingTime
153
- };
154
- hasUnstaking = true;
155
- break; // only handle 1 scheduledRequest per collator
156
- }
157
- }
158
- }
159
-
160
- const bnStake = new _util.BN(delegation.amount);
161
- const bnUnstakeBalance = unstakingMap[delegation.owner] ? new _util.BN(unstakingMap[delegation.owner].claimable) : _util.BN_ZERO;
162
- const bnActiveStake = bnStake.sub(bnUnstakeBalance);
163
- if (bnActiveStake.gt(_util.BN_ZERO) && bnActiveStake.gte(new _util.BN(minDelegation))) {
164
- delegationStatus = _types.EarningStatus.EARNING_REWARD;
165
- }
166
- bnTotalActiveStake = bnTotalActiveStake.add(bnActiveStake);
167
- bnTotalStake = bnTotalStake.add(bnStake);
168
- bnTotalUnstaking = bnTotalUnstaking.add(bnUnstakeBalance);
169
- nominationList.push({
170
- chain: chainInfo.slug,
171
- status: delegationStatus,
172
- validatorAddress: delegation.owner,
173
- validatorIdentity: identity,
174
- activeStake: bnActiveStake.toString(),
175
- hasUnstaking,
176
- validatorMinStake: collatorInfo.lowestTopDelegationAmount.toString()
177
- });
178
- }));
179
-
180
- // await Promise.all(nominationList.map(async (nomination) => {
181
- // const _collatorInfo = await substrateApi.api.query.parachainStaking.candidateInfo(nomination.validatorAddress);
182
- // const collatorInfo = _collatorInfo.toPrimitive() as unknown as ParachainStakingCandidateMetadata;
183
- //
184
- // nomination.validatorMinStake = collatorInfo.lowestTopDelegationAmount.toString();
185
- // }));
186
-
187
- const stakingStatus = (0, _utils.getEarningStatusByNominations)(bnTotalActiveStake, nominationList);
188
- const totalStake = bnTotalStake.toString();
189
- const activeStake = bnTotalActiveStake.toString();
190
- const unstakingBalance = bnTotalUnstaking.toString();
191
- return {
192
- status: stakingStatus,
193
- totalStake,
194
- balanceToken: this.nativeToken.slug,
195
- activeStake: activeStake,
196
- unstakeBalance: unstakingBalance,
197
- isBondedBefore: !!nominationList.length,
198
- nominations: nominationList,
199
- unstakings: Object.values(unstakingMap)
200
- };
201
- }
202
- async subscribePoolPosition(useAddresses, resultCallback) {
203
- let cancel = false;
204
- const substrateApi = this.substrateApi;
205
- const defaultInfo = this.baseInfo;
206
- const chainInfo = this.chainInfo;
207
- await substrateApi.isReady;
208
- const unsub = await substrateApi.api.query.parachainStaking.delegatorState.multi(useAddresses, async ledgers => {
209
- if (cancel) {
210
- unsub();
211
- return;
212
- }
213
- if (ledgers) {
214
- await Promise.all(ledgers.map(async (_delegatorState, i) => {
215
- const delegatorState = _delegatorState.toPrimitive();
216
- const owner = (0, _utils3.reformatAddress)(useAddresses[i], 42);
217
- if (delegatorState) {
218
- const nominatorMetadata = await this.parseNominatorMetadata(chainInfo, owner, substrateApi, delegatorState);
219
- resultCallback({
220
- ...defaultInfo,
221
- ...nominatorMetadata,
222
- address: owner,
223
- type: this.type
224
- });
225
- } else {
226
- resultCallback({
227
- ...defaultInfo,
228
- type: this.type,
229
- address: owner,
230
- balanceToken: this.nativeToken.slug,
231
- totalStake: '0',
232
- activeStake: '0',
233
- unstakeBalance: '0',
234
- status: _types.EarningStatus.NOT_STAKING,
235
- isBondedBefore: false,
236
- nominations: [],
237
- unstakings: []
238
- });
239
- }
240
- }));
241
- }
242
- });
243
- return () => {
244
- cancel = true;
245
- unsub();
246
- };
247
- }
248
-
249
- /* Subscribe pool position */
250
-
251
- /* Get pool targets */
252
-
253
- async getPoolTargets() {
254
- const apiProps = await this.substrateApi.isReady;
255
- const allCollators = [];
256
- const [_allCollators, _collatorCommission] = await Promise.all([apiProps.api.query.parachainStaking.candidateInfo.entries(), apiProps.api.query.parachainStaking.collatorCommission()]);
257
- const maxDelegationPerCollator = apiProps.api.consts.parachainStaking.maxTopDelegationsPerCandidate.toString();
258
- const rawCollatorCommission = _collatorCommission.toHuman();
259
- const collatorCommission = parseFloat(rawCollatorCommission.split('%')[0]);
260
- for (const collator of _allCollators) {
261
- const _collatorAddress = collator[0].toHuman();
262
- const collatorAddress = _collatorAddress[0];
263
- const collatorInfo = collator[1].toPrimitive();
264
- const bnTotalStake = new _util.BN(collatorInfo.totalCounted);
265
- const bnOwnStake = new _util.BN(collatorInfo.bond);
266
- const bnOtherStake = bnTotalStake.sub(bnOwnStake);
267
- const bnMinBond = new _util.BN(collatorInfo.lowestTopDelegationAmount);
268
- allCollators.push({
269
- commission: 0,
270
- expectedReturn: 0,
271
- address: collatorAddress,
272
- totalStake: bnTotalStake.toString(),
273
- ownStake: bnOwnStake.toString(),
274
- otherStake: bnOtherStake.toString(),
275
- nominatorCount: collatorInfo.delegationCount,
276
- blocked: false,
277
- isVerified: false,
278
- minBond: bnMinBond.toString(),
279
- chain: this.chain,
280
- isCrowded: parseInt(maxDelegationPerCollator) > 0
281
- });
282
- }
283
- const extraInfoMap = {};
284
- await Promise.all(allCollators.map(async collator => {
285
- const [_info, [identity, isReasonable]] = await Promise.all([apiProps.api.query.parachainStaking.candidateInfo(collator.address), (0, _utils2.parseIdentity)(apiProps, collator.address)]);
286
- const rawInfo = _info.toHuman();
287
- const active = (rawInfo === null || rawInfo === void 0 ? void 0 : rawInfo.status) === 'Active';
288
- extraInfoMap[collator.address] = {
289
- identity,
290
- isVerified: isReasonable,
291
- active
292
- };
293
- }));
294
- for (const validator of allCollators) {
295
- validator.blocked = !extraInfoMap[validator.address].active;
296
- validator.identity = extraInfoMap[validator.address].identity;
297
- validator.isVerified = extraInfoMap[validator.address].isVerified;
298
- // @ts-ignore
299
- validator.commission = collatorCommission;
300
- }
301
- return allCollators;
302
- }
303
-
304
- /* Get pool targets */
305
-
306
- /* Join pool action */
307
-
308
- async createJoinExtrinsic(data, positionInfo) {
309
- const {
310
- amount,
311
- selectedValidators
312
- } = data;
313
- const apiPromise = await this.substrateApi.isReady;
314
- const binaryAmount = new _util.BN(amount);
315
- const selectedCollatorInfo = selectedValidators[0];
316
-
317
- // eslint-disable-next-line @typescript-eslint/require-await
318
- const compoundResult = async extrinsic => {
319
- const tokenSlug = this.nativeToken.slug;
320
- // const feeInfo = await extrinsic.paymentInfo(address);
321
- // const fee = feeInfo.toPrimitive() as unknown as RuntimeDispatchInfo;
322
-
323
- // Not use the fee to validate and to display on UI
324
- return [extrinsic, {
325
- slug: tokenSlug,
326
- amount: '0'
327
- }];
328
- };
329
- if (!positionInfo) {
330
- const extrinsic = apiPromise.api.tx.parachainStaking.delegate(selectedCollatorInfo.address, binaryAmount, new _util.BN(selectedCollatorInfo.nominatorCount), 0);
331
- return compoundResult(extrinsic);
332
- }
333
- const {
334
- bondedValidators,
335
- nominationCount
336
- } = (0, _utils.getBondedValidators)(positionInfo.nominations);
337
- const parsedSelectedCollatorAddress = (0, _utils3.reformatAddress)(selectedCollatorInfo.address, 0);
338
- if (!bondedValidators.includes(parsedSelectedCollatorAddress)) {
339
- const extrinsic = apiPromise.api.tx.parachainStaking.delegate(selectedCollatorInfo.address, binaryAmount, new _util.BN(selectedCollatorInfo.nominatorCount), nominationCount);
340
- return compoundResult(extrinsic);
341
- } else {
342
- const extrinsic = apiPromise.api.tx.parachainStaking.delegatorBondMore(selectedCollatorInfo.address, binaryAmount);
343
- return compoundResult(extrinsic);
344
- }
345
- }
346
-
347
- /* Join pool action */
348
-
349
- /* Leave pool action */
350
-
351
- async handleYieldUnstake(amount, address, selectedTarget) {
352
- const apiPromise = await this.substrateApi.isReady;
353
- const binaryAmount = new _util.BN(amount);
354
- const poolPosition = await this.getPoolPosition(address);
355
- if (!selectedTarget || !poolPosition) {
356
- return Promise.reject(new _TransactionError.TransactionError(_KoniTypes.BasicTxErrorType.INVALID_PARAMS));
357
- }
358
- const unstakeAll = (0, _utils.isUnstakeAll)(selectedTarget, poolPosition.nominations, amount);
359
- let extrinsic;
360
- if (!unstakeAll) {
361
- extrinsic = apiPromise.api.tx.parachainStaking.scheduleDelegatorBondLess(selectedTarget, binaryAmount);
362
- } else {
363
- extrinsic = apiPromise.api.tx.parachainStaking.scheduleRevokeDelegation(selectedTarget);
364
- }
365
- return [_KoniTypes.ExtrinsicType.STAKING_LEAVE_POOL, extrinsic];
366
- }
367
-
368
- /* Leave pool action */
369
-
370
- /* Other action */
371
-
372
- async handleYieldCancelUnstake(params) {
373
- const {
374
- selectedUnstaking
375
- } = params;
376
- const chainApi = await this.substrateApi.isReady;
377
- return chainApi.api.tx.parachainStaking.cancelDelegationRequest(selectedUnstaking.validatorAddress);
378
- }
379
- async handleYieldWithdraw(address, unstakingInfo) {
380
- const collatorAddress = unstakingInfo.validatorAddress;
381
- if (!collatorAddress) {
382
- return Promise.reject(new _TransactionError.TransactionError(_KoniTypes.BasicTxErrorType.INVALID_PARAMS));
383
- }
384
- const chainApi = await this.substrateApi.isReady;
385
- return chainApi.api.tx.parachainStaking.executeDelegationRequest(address, collatorAddress);
386
- }
387
-
388
- /* Other actions */
389
- }
390
- exports.default = ParaNativeStakingPoolHandler;