@subwallet/extension-base 1.1.28-beta.1 → 1.1.30-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 (292) hide show
  1. package/background/KoniTypes.d.ts +70 -93
  2. package/background/KoniTypes.js +14 -16
  3. package/background/errors/TransactionError.js +4 -9
  4. package/cjs/background/KoniTypes.js +17 -17
  5. package/cjs/background/errors/TransactionError.js +4 -9
  6. package/cjs/constants/index.js +3 -9
  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 +15 -17
  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 +5 -6
  18. package/cjs/koni/api/staking/relayChain.js +2 -3
  19. package/cjs/koni/background/cron.js +0 -2
  20. package/cjs/koni/background/handlers/Extension.js +88 -326
  21. package/cjs/koni/background/handlers/State.js +3 -51
  22. package/cjs/koni/background/handlers/index.js +2 -4
  23. package/cjs/koni/background/subscription.js +18 -88
  24. package/cjs/packageInfo.js +1 -1
  25. package/cjs/services/campaign-service/index.js +6 -9
  26. package/cjs/services/chain-service/constants.js +16 -2
  27. package/cjs/services/chain-service/utils.js +1 -7
  28. package/cjs/services/event-service/index.js +0 -4
  29. package/cjs/services/keyring-service/index.js +2 -14
  30. package/cjs/services/migration-service/scripts/MigrateLedgerAccount.js +1 -1
  31. package/cjs/services/migration-service/scripts/MigrateTransactionHistory.js +1 -1
  32. package/cjs/services/migration-service/scripts/index.js +0 -4
  33. package/cjs/services/notification-service/NotificationService.js +1 -1
  34. package/cjs/services/storage-service/DatabaseService.js +0 -47
  35. package/cjs/services/storage-service/databases/index.js +0 -4
  36. package/cjs/services/storage-service/db-stores/NominatorMetadata.js +3 -3
  37. package/cjs/services/transaction-service/event-parser/index.js +0 -58
  38. package/cjs/services/transaction-service/helpers/index.js +1 -3
  39. package/cjs/services/transaction-service/index.js +74 -180
  40. package/cjs/services/transaction-service/utils.js +0 -1
  41. package/cjs/types/index.js +0 -44
  42. package/cjs/utils/fetchStaticData.js +1 -2
  43. package/cjs/utils/index.js +1 -89
  44. package/constants/index.d.ts +0 -2
  45. package/constants/index.js +0 -2
  46. package/koni/api/nft/config.js +23 -33
  47. package/koni/api/nft/index.js +1 -15
  48. package/koni/api/nft/nft.js +23 -2
  49. package/koni/api/staking/bonding/amplitude.js +9 -11
  50. package/koni/api/staking/bonding/astar.js +8 -9
  51. package/koni/api/staking/bonding/index.d.ts +1 -1
  52. package/koni/api/staking/bonding/index.js +1 -5
  53. package/koni/api/staking/bonding/paraChain.js +10 -12
  54. package/koni/api/staking/bonding/relayChain.d.ts +2 -2
  55. package/koni/api/staking/bonding/relayChain.js +30 -33
  56. package/koni/api/staking/bonding/utils.d.ts +38 -15
  57. package/koni/api/staking/bonding/utils.js +69 -85
  58. package/koni/api/staking/index.js +1 -2
  59. package/koni/api/staking/paraChain.js +6 -7
  60. package/koni/api/staking/relayChain.js +3 -4
  61. package/koni/background/cron.js +0 -2
  62. package/koni/background/handlers/Extension.d.ts +1 -14
  63. package/koni/background/handlers/Extension.js +50 -286
  64. package/koni/background/handlers/State.d.ts +2 -18
  65. package/koni/background/handlers/State.js +3 -50
  66. package/koni/background/handlers/index.js +2 -4
  67. package/koni/background/subscription.d.ts +1 -5
  68. package/koni/background/subscription.js +20 -90
  69. package/package.json +8 -311
  70. package/packageInfo.js +1 -1
  71. package/services/campaign-service/index.js +6 -9
  72. package/services/chain-service/constants.d.ts +11 -0
  73. package/services/chain-service/constants.js +14 -1
  74. package/services/chain-service/utils.d.ts +0 -1
  75. package/services/chain-service/utils.js +1 -5
  76. package/services/event-service/index.d.ts +0 -1
  77. package/services/event-service/index.js +0 -4
  78. package/services/event-service/types.d.ts +0 -8
  79. package/services/keyring-service/index.d.ts +1 -2
  80. package/services/keyring-service/index.js +2 -14
  81. package/services/migration-service/scripts/MigrateLedgerAccount.js +1 -1
  82. package/services/migration-service/scripts/MigrateTransactionHistory.js +1 -1
  83. package/services/migration-service/scripts/index.js +0 -4
  84. package/services/notification-service/NotificationService.js +1 -1
  85. package/services/storage-service/DatabaseService.d.ts +1 -17
  86. package/services/storage-service/DatabaseService.js +0 -47
  87. package/services/storage-service/databases/index.d.ts +1 -3
  88. package/services/storage-service/databases/index.js +0 -4
  89. package/services/storage-service/db-stores/NominatorMetadata.js +3 -3
  90. package/services/subscan-service/index.d.ts +2 -2
  91. package/services/transaction-service/event-parser/index.d.ts +1 -3
  92. package/services/transaction-service/event-parser/index.js +1 -57
  93. package/services/transaction-service/helpers/index.js +1 -3
  94. package/services/transaction-service/index.d.ts +15 -4
  95. package/services/transaction-service/index.js +72 -178
  96. package/services/transaction-service/types.d.ts +0 -2
  97. package/services/transaction-service/utils.js +0 -1
  98. package/types/index.d.ts +0 -5
  99. package/types/index.js +1 -5
  100. package/utils/fetchStaticData.js +1 -2
  101. package/utils/index.d.ts +0 -5
  102. package/utils/index.js +1 -53
  103. package/cjs/koni/api/dotsama/balance.js +0 -464
  104. package/cjs/koni/api/nft/ordinal_nft/constants.js +0 -21
  105. package/cjs/koni/api/nft/ordinal_nft/index.js +0 -121
  106. package/cjs/koni/api/nft/ordinal_nft/utils.js +0 -41
  107. package/cjs/koni/api/yield/helper/utils.js +0 -46
  108. package/cjs/services/earning-service/constants/chains.js +0 -29
  109. package/cjs/services/earning-service/constants/index.js +0 -27
  110. package/cjs/services/earning-service/constants/step.js +0 -18
  111. package/cjs/services/earning-service/handlers/base.js +0 -202
  112. package/cjs/services/earning-service/handlers/index.js +0 -60
  113. package/cjs/services/earning-service/handlers/lending/base.js +0 -20
  114. package/cjs/services/earning-service/handlers/lending/index.js +0 -13
  115. package/cjs/services/earning-service/handlers/lending/interlay.js +0 -168
  116. package/cjs/services/earning-service/handlers/liquid-staking/acala.js +0 -196
  117. package/cjs/services/earning-service/handlers/liquid-staking/base.js +0 -39
  118. package/cjs/services/earning-service/handlers/liquid-staking/bifrost.js +0 -257
  119. package/cjs/services/earning-service/handlers/liquid-staking/index.js +0 -34
  120. package/cjs/services/earning-service/handlers/liquid-staking/parallel.js +0 -180
  121. package/cjs/services/earning-service/handlers/liquid-staking/stella-swap.js +0 -373
  122. package/cjs/services/earning-service/handlers/native-staking/amplitude.js +0 -359
  123. package/cjs/services/earning-service/handlers/native-staking/astar.js +0 -426
  124. package/cjs/services/earning-service/handlers/native-staking/base-para.js +0 -137
  125. package/cjs/services/earning-service/handlers/native-staking/base.js +0 -109
  126. package/cjs/services/earning-service/handlers/native-staking/index.js +0 -34
  127. package/cjs/services/earning-service/handlers/native-staking/para-chain.js +0 -361
  128. package/cjs/services/earning-service/handlers/native-staking/relay-chain.js +0 -512
  129. package/cjs/services/earning-service/handlers/nomination-pool/index.js +0 -501
  130. package/cjs/services/earning-service/handlers/special.js +0 -387
  131. package/cjs/services/earning-service/service.js +0 -327
  132. package/cjs/services/earning-service/utils/index.js +0 -111
  133. package/cjs/services/migration-service/scripts/DeleteEarningData.js +0 -21
  134. package/cjs/services/migration-service/scripts/EnableEarningChains.js +0 -21
  135. package/cjs/services/migration-service/scripts/MigrateEthProvider.js +0 -17
  136. package/cjs/services/migration-service/scripts/MigratePioneerProvider.js +0 -17
  137. package/cjs/services/migration-service/scripts/MigrateProvider.js +0 -29
  138. package/cjs/services/mint-campaign-service/campaigns/UnlockDotCampaign.js +0 -149
  139. package/cjs/services/mint-campaign-service/campaigns/index.js +0 -13
  140. package/cjs/services/mint-campaign-service/constants.js +0 -11
  141. package/cjs/services/mint-campaign-service/index.js +0 -18
  142. package/cjs/services/storage-service/db-stores/YieldPoolStore.js +0 -36
  143. package/cjs/services/storage-service/db-stores/YieldPositionStore.js +0 -65
  144. package/cjs/services/storage-service/index.js +0 -241
  145. package/cjs/types/campaigns/index.js +0 -16
  146. package/cjs/types/campaigns/unlock-dot.js +0 -1
  147. package/cjs/types/ordinal.js +0 -1
  148. package/cjs/types/transaction.js +0 -1
  149. package/cjs/types/yield/actions/index.js +0 -27
  150. package/cjs/types/yield/actions/join/index.js +0 -38
  151. package/cjs/types/yield/actions/join/step.js +0 -37
  152. package/cjs/types/yield/actions/join/submit.js +0 -1
  153. package/cjs/types/yield/actions/join/validate.js +0 -16
  154. package/cjs/types/yield/actions/others.js +0 -1
  155. package/cjs/types/yield/index.js +0 -27
  156. package/cjs/types/yield/info/account/index.js +0 -49
  157. package/cjs/types/yield/info/account/info.js +0 -1
  158. package/cjs/types/yield/info/account/reward.js +0 -1
  159. package/cjs/types/yield/info/account/target.js +0 -32
  160. package/cjs/types/yield/info/account/unstake.js +0 -27
  161. package/cjs/types/yield/info/base.js +0 -34
  162. package/cjs/types/yield/info/chain/index.js +0 -27
  163. package/cjs/types/yield/info/chain/info.js +0 -1
  164. package/cjs/types/yield/info/chain/target.js +0 -1
  165. package/cjs/types/yield/info/index.js +0 -49
  166. package/cjs/types/yield/info/pallet.js +0 -15
  167. package/cjs/types.js +0 -1
  168. package/cjs/utils/address.js +0 -34
  169. package/cjs/utils/keyring.js +0 -57
  170. package/cjs/utils/object.js +0 -12
  171. package/koni/api/nft/ordinal_nft/constants.d.ts +0 -9
  172. package/koni/api/nft/ordinal_nft/constants.js +0 -12
  173. package/koni/api/nft/ordinal_nft/index.d.ts +0 -8
  174. package/koni/api/nft/ordinal_nft/index.js +0 -114
  175. package/koni/api/nft/ordinal_nft/utils.d.ts +0 -2
  176. package/koni/api/nft/ordinal_nft/utils.js +0 -33
  177. package/koni/api/yield/helper/utils.d.ts +0 -10
  178. package/koni/api/yield/helper/utils.js +0 -32
  179. package/services/earning-service/constants/abis/compound_finance_v2_abi.json +0 -1235
  180. package/services/earning-service/constants/abis/st_liquid_token_abi.json +0 -1355
  181. package/services/earning-service/constants/chains.d.ts +0 -14
  182. package/services/earning-service/constants/chains.js +0 -21
  183. package/services/earning-service/constants/index.d.ts +0 -2
  184. package/services/earning-service/constants/index.js +0 -5
  185. package/services/earning-service/constants/step.d.ts +0 -3
  186. package/services/earning-service/constants/step.js +0 -10
  187. package/services/earning-service/handlers/base.d.ts +0 -105
  188. package/services/earning-service/handlers/base.js +0 -195
  189. package/services/earning-service/handlers/index.d.ts +0 -5
  190. package/services/earning-service/handlers/index.js +0 -8
  191. package/services/earning-service/handlers/lending/base.d.ts +0 -6
  192. package/services/earning-service/handlers/lending/base.js +0 -12
  193. package/services/earning-service/handlers/lending/index.d.ts +0 -1
  194. package/services/earning-service/handlers/lending/index.js +0 -4
  195. package/services/earning-service/handlers/lending/interlay.d.ts +0 -22
  196. package/services/earning-service/handlers/lending/interlay.js +0 -160
  197. package/services/earning-service/handlers/liquid-staking/acala.d.ts +0 -27
  198. package/services/earning-service/handlers/liquid-staking/acala.js +0 -188
  199. package/services/earning-service/handlers/liquid-staking/base.d.ts +0 -8
  200. package/services/earning-service/handlers/liquid-staking/base.js +0 -31
  201. package/services/earning-service/handlers/liquid-staking/bifrost.d.ts +0 -44
  202. package/services/earning-service/handlers/liquid-staking/bifrost.js +0 -246
  203. package/services/earning-service/handlers/liquid-staking/index.d.ts +0 -4
  204. package/services/earning-service/handlers/liquid-staking/index.js +0 -7
  205. package/services/earning-service/handlers/liquid-staking/parallel.d.ts +0 -27
  206. package/services/earning-service/handlers/liquid-staking/parallel.js +0 -172
  207. package/services/earning-service/handlers/liquid-staking/stella-swap.d.ts +0 -36
  208. package/services/earning-service/handlers/liquid-staking/stella-swap.js +0 -363
  209. package/services/earning-service/handlers/native-staking/amplitude.d.ts +0 -22
  210. package/services/earning-service/handlers/native-staking/amplitude.js +0 -350
  211. package/services/earning-service/handlers/native-staking/astar.d.ts +0 -18
  212. package/services/earning-service/handlers/native-staking/astar.js +0 -416
  213. package/services/earning-service/handlers/native-staking/base-para.d.ts +0 -11
  214. package/services/earning-service/handlers/native-staking/base-para.js +0 -129
  215. package/services/earning-service/handlers/native-staking/base.d.ts +0 -19
  216. package/services/earning-service/handlers/native-staking/base.js +0 -101
  217. package/services/earning-service/handlers/native-staking/index.d.ts +0 -4
  218. package/services/earning-service/handlers/native-staking/index.js +0 -7
  219. package/services/earning-service/handlers/native-staking/para-chain.d.ts +0 -15
  220. package/services/earning-service/handlers/native-staking/para-chain.js +0 -353
  221. package/services/earning-service/handlers/native-staking/relay-chain.d.ts +0 -21
  222. package/services/earning-service/handlers/native-staking/relay-chain.js +0 -503
  223. package/services/earning-service/handlers/nomination-pool/index.d.ts +0 -33
  224. package/services/earning-service/handlers/nomination-pool/index.js +0 -492
  225. package/services/earning-service/handlers/special.d.ts +0 -56
  226. package/services/earning-service/handlers/special.js +0 -379
  227. package/services/earning-service/service.d.ts +0 -36
  228. package/services/earning-service/service.js +0 -320
  229. package/services/earning-service/utils/index.d.ts +0 -14
  230. package/services/earning-service/utils/index.js +0 -100
  231. package/services/migration-service/scripts/DeleteEarningData.d.ts +0 -4
  232. package/services/migration-service/scripts/DeleteEarningData.js +0 -13
  233. package/services/migration-service/scripts/EnableEarningChains.d.ts +0 -4
  234. package/services/migration-service/scripts/EnableEarningChains.js +0 -13
  235. package/services/mint-campaign-service/campaigns/UnlockDotCampaign.d.ts +0 -13
  236. package/services/mint-campaign-service/campaigns/UnlockDotCampaign.js +0 -139
  237. package/services/mint-campaign-service/campaigns/index.d.ts +0 -1
  238. package/services/mint-campaign-service/campaigns/index.js +0 -4
  239. package/services/mint-campaign-service/constants.d.ts +0 -1
  240. package/services/mint-campaign-service/constants.js +0 -4
  241. package/services/mint-campaign-service/index.d.ts +0 -7
  242. package/services/mint-campaign-service/index.js +0 -11
  243. package/services/storage-service/db-stores/YieldPoolStore.d.ts +0 -10
  244. package/services/storage-service/db-stores/YieldPoolStore.js +0 -28
  245. package/services/storage-service/db-stores/YieldPositionStore.d.ts +0 -9
  246. package/services/storage-service/db-stores/YieldPositionStore.js +0 -57
  247. package/types/campaigns/index.d.ts +0 -1
  248. package/types/campaigns/index.js +0 -4
  249. package/types/campaigns/unlock-dot.d.ts +0 -71
  250. package/types/campaigns/unlock-dot.js +0 -1
  251. package/types/ordinal.d.ts +0 -69
  252. package/types/ordinal.js +0 -1
  253. package/types/transaction.d.ts +0 -3
  254. package/types/transaction.js +0 -1
  255. package/types/yield/actions/index.d.ts +0 -2
  256. package/types/yield/actions/index.js +0 -5
  257. package/types/yield/actions/join/index.d.ts +0 -3
  258. package/types/yield/actions/join/index.js +0 -6
  259. package/types/yield/actions/join/step.d.ts +0 -75
  260. package/types/yield/actions/join/step.js +0 -34
  261. package/types/yield/actions/join/submit.d.ts +0 -53
  262. package/types/yield/actions/join/submit.js +0 -1
  263. package/types/yield/actions/join/validate.d.ts +0 -18
  264. package/types/yield/actions/join/validate.js +0 -10
  265. package/types/yield/actions/others.d.ts +0 -60
  266. package/types/yield/actions/others.js +0 -1
  267. package/types/yield/index.d.ts +0 -2
  268. package/types/yield/index.js +0 -5
  269. package/types/yield/info/account/index.d.ts +0 -4
  270. package/types/yield/info/account/index.js +0 -7
  271. package/types/yield/info/account/info.d.ts +0 -112
  272. package/types/yield/info/account/info.js +0 -1
  273. package/types/yield/info/account/reward.d.ts +0 -41
  274. package/types/yield/info/account/reward.js +0 -1
  275. package/types/yield/info/account/target.d.ts +0 -43
  276. package/types/yield/info/account/target.js +0 -27
  277. package/types/yield/info/account/unstake.d.ts +0 -31
  278. package/types/yield/info/account/unstake.js +0 -22
  279. package/types/yield/info/base.d.ts +0 -28
  280. package/types/yield/info/base.js +0 -28
  281. package/types/yield/info/chain/index.d.ts +0 -2
  282. package/types/yield/info/chain/index.js +0 -5
  283. package/types/yield/info/chain/info.d.ts +0 -190
  284. package/types/yield/info/chain/info.js +0 -1
  285. package/types/yield/info/chain/target.d.ts +0 -33
  286. package/types/yield/info/chain/target.js +0 -1
  287. package/types/yield/info/index.d.ts +0 -4
  288. package/types/yield/info/index.js +0 -7
  289. package/types/yield/info/pallet.d.ts +0 -143
  290. package/types/yield/info/pallet.js +0 -9
  291. package/utils/object.d.ts +0 -1
  292. package/utils/object.js +0 -6
@@ -1,426 +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
- exports.getAstarWithdrawable = getAstarWithdrawable;
9
- var _TransactionError = require("@subwallet/extension-base/background/errors/TransactionError");
10
- var _KoniTypes = require("@subwallet/extension-base/background/KoniTypes");
11
- var _utils = require("@subwallet/extension-base/koni/api/staking/bonding/utils");
12
- var _constants = require("@subwallet/extension-base/services/chain-service/constants");
13
- var _types = require("@subwallet/extension-base/types");
14
- var _utils2 = require("@subwallet/extension-base/utils");
15
- var _crossFetch = _interopRequireDefault(require("cross-fetch"));
16
- var _util = require("@polkadot/util");
17
- var _utilCrypto = require("@polkadot/util-crypto");
18
- var _basePara = _interopRequireDefault(require("./base-para"));
19
- // Copyright 2019-2022 @subwallet/extension-base
20
- // SPDX-License-Identifier: Apache-2.0
21
-
22
- const convertAddress = address => {
23
- return (0, _utilCrypto.isEthereumAddress)(address) ? address.toLowerCase() : address;
24
- };
25
- function getAstarWithdrawable(yieldPosition) {
26
- const unstakingInfo = {
27
- chain: yieldPosition.chain,
28
- status: _types.UnstakingStatus.CLAIMABLE,
29
- claimable: '0',
30
- waitingTime: 0
31
- };
32
- let bnWithdrawable = _util.BN_ZERO;
33
- for (const unstaking of yieldPosition.unstakings) {
34
- if (unstaking.status === _types.UnstakingStatus.CLAIMABLE) {
35
- bnWithdrawable = bnWithdrawable.add(new _util.BN(unstaking.claimable));
36
- }
37
- }
38
- if (bnWithdrawable.gt(_util.BN_ZERO)) {
39
- unstakingInfo.claimable = bnWithdrawable.toString();
40
- return unstakingInfo;
41
- } else {
42
- return undefined;
43
- }
44
- }
45
- class AstarNativeStakingPoolHandler extends _basePara.default {
46
- /* Subscribe pool info */
47
-
48
- async subscribePoolInfo(callback) {
49
- let cancel = false;
50
- const nativeToken = this.nativeToken;
51
- const defaultData = this.defaultInfo;
52
- const apyPromise = new Promise(resolve => {
53
- (0, _crossFetch.default)(`https://api.astar.network/api/v1/${this.chain}/dapps-staking/apy`, {
54
- method: 'GET'
55
- }).then(resp => {
56
- resolve(resp.json());
57
- }).catch(console.error);
58
- });
59
- const timeout = new Promise(resolve => {
60
- const id = setTimeout(() => {
61
- clearTimeout(id);
62
- resolve(null);
63
- }, 8000);
64
- });
65
- const apyRacePromise = Promise.race([timeout, apyPromise]); // need race because API often timeout
66
-
67
- const substrateApi = await this.substrateApi.isReady;
68
- let apyInfo;
69
- try {
70
- apyInfo = await apyRacePromise;
71
- } catch (e) {
72
- apyInfo = null;
73
- }
74
- const unsub = await substrateApi.api.query.dappsStaking.currentEra(_currentEra => {
75
- if (cancel) {
76
- unsub();
77
- return;
78
- }
79
- const era = _currentEra.toString();
80
- const minDelegatorStake = substrateApi.api.consts.dappsStaking.minimumStakingAmount.toString();
81
- const unstakingDelay = substrateApi.api.consts.dappsStaking.unbondingPeriod.toString();
82
- const unstakingPeriod = parseInt(unstakingDelay) * _constants._STAKING_ERA_LENGTH_MAP[this.chain];
83
- const minToHuman = (0, _utils2.formatNumber)(minDelegatorStake, nativeToken.decimals || 0, _utils2.balanceFormatter);
84
- const data = {
85
- // TODO
86
- ...defaultData,
87
- description: this.description.replaceAll('{{amount}}', minToHuman),
88
- type: this.type,
89
- metadata: {
90
- inputAsset: nativeToken.slug,
91
- isAvailable: true,
92
- maxCandidatePerFarmer: 100,
93
- // temporary fix for Astar, there's no limit for now
94
- maxWithdrawalRequestPerFarmer: 1,
95
- // by default
96
- minJoinPool: minDelegatorStake,
97
- farmerCount: 0,
98
- // TODO recheck
99
- era: parseInt(era),
100
- tvl: undefined,
101
- // TODO recheck
102
- totalApy: apyInfo !== null ? apyInfo : undefined,
103
- // TODO recheck
104
- unstakingPeriod,
105
- allowCancelUnstaking: false
106
- }
107
- };
108
- callback(data);
109
- });
110
- return () => {
111
- cancel = true;
112
- unsub();
113
- };
114
- }
115
-
116
- /* Subscribe pool info */
117
-
118
- /* Subscribe pool position */
119
-
120
- async parseNominatorMetadata(chainInfo, address, substrateApi, ledger) {
121
- const nominationList = [];
122
- const unstakingList = [];
123
- const allDappsReq = new Promise(resolve => {
124
- (0, _crossFetch.default)(`https://api.astar.network/api/v1/${chainInfo.slug}/dapps-staking/dapps`, {
125
- method: 'GET'
126
- }).then(resp => {
127
- resolve(resp.json());
128
- }).catch(console.error);
129
- });
130
- const [_allDapps, _era, _stakerInfo] = await Promise.all([allDappsReq, substrateApi.api.query.dappsStaking.currentEra(), substrateApi.api.query.dappsStaking.generalStakerInfo.entries(address)]);
131
- const currentEra = _era.toString();
132
- const minDelegatorStake = substrateApi.api.consts.dappsStaking.minimumStakingAmount.toString();
133
- const allDapps = _allDapps;
134
- let bnTotalActiveStake = _util.BN_ZERO;
135
- if (_stakerInfo.length > 0) {
136
- const dAppInfoMap = {};
137
- allDapps.forEach(dappInfo => {
138
- dAppInfoMap[convertAddress(dappInfo.address)] = dappInfo;
139
- });
140
- for (const item of _stakerInfo) {
141
- const data = item[0].toHuman();
142
- const stakedDapp = data[1];
143
- const stakeData = item[1].toPrimitive();
144
- const stakeList = stakeData.stakes;
145
- const _dappAddress = stakedDapp.Evm ? stakedDapp.Evm.toLowerCase() : stakedDapp.Wasm;
146
- const dappAddress = convertAddress(_dappAddress);
147
- const currentStake = stakeList.slice(-1)[0].staked.toString() || '0';
148
- const bnCurrentStake = new _util.BN(currentStake);
149
- if (bnCurrentStake.gt(_util.BN_ZERO)) {
150
- const dappEarningStatus = bnCurrentStake.gt(_util.BN_ZERO) && bnCurrentStake.gte(new _util.BN(minDelegatorStake)) ? _types.EarningStatus.EARNING_REWARD : _types.EarningStatus.NOT_EARNING;
151
- bnTotalActiveStake = bnTotalActiveStake.add(bnCurrentStake);
152
- const dappInfo = dAppInfoMap[dappAddress];
153
- nominationList.push({
154
- status: dappEarningStatus,
155
- chain: chainInfo.slug,
156
- validatorAddress: dappAddress,
157
- activeStake: currentStake,
158
- validatorMinStake: '0',
159
- validatorIdentity: dappInfo === null || dappInfo === void 0 ? void 0 : dappInfo.name,
160
- hasUnstaking: false // cannot get unstaking info by dapp
161
- });
162
- }
163
- }
164
- }
165
-
166
- const unlockingChunks = ledger.unbondingInfo.unlockingChunks;
167
- if (unlockingChunks.length > 0) {
168
- for (const unlockingChunk of unlockingChunks) {
169
- const isClaimable = unlockingChunk.unlockEra - parseInt(currentEra) < 0;
170
- const remainingEra = unlockingChunk.unlockEra - parseInt(currentEra);
171
- const waitingTime = remainingEra * _constants._STAKING_ERA_LENGTH_MAP[chainInfo.slug];
172
- unstakingList.push({
173
- chain: chainInfo.slug,
174
- status: isClaimable ? _types.UnstakingStatus.CLAIMABLE : _types.UnstakingStatus.UNLOCKING,
175
- claimable: unlockingChunk.amount.toString(),
176
- waitingTime
177
- });
178
- }
179
- }
180
- if (nominationList.length === 0 && unstakingList.length === 0) {
181
- return {
182
- balanceToken: this.nativeToken.slug,
183
- totalStake: '0',
184
- unstakeBalance: '0',
185
- status: _types.EarningStatus.NOT_STAKING,
186
- isBondedBefore: false,
187
- activeStake: '0',
188
- nominations: [],
189
- unstakings: []
190
- };
191
- }
192
- const stakingStatus = (0, _utils.getEarningStatusByNominations)(bnTotalActiveStake, nominationList);
193
- const activeStake = bnTotalActiveStake.toString();
194
- const unstakeBalance = unstakingList.reduce((old, currentValue) => {
195
- return old.add(new _util.BN(currentValue.claimable));
196
- }, _util.BN_ZERO);
197
- const totalStake = unstakeBalance.add(bnTotalActiveStake);
198
- return {
199
- status: stakingStatus,
200
- balanceToken: this.nativeToken.slug,
201
- totalStake: totalStake.toString(),
202
- activeStake: activeStake,
203
- unstakeBalance: unstakeBalance.toString(),
204
- isBondedBefore: totalStake.gt(_util.BN_ZERO),
205
- nominations: nominationList,
206
- unstakings: unstakingList
207
- };
208
- }
209
- async subscribePoolPosition(useAddresses, resultCallback) {
210
- let cancel = false;
211
- const substrateApi = await this.substrateApi.isReady;
212
- const defaultInfo = this.defaultInfo;
213
- const chainInfo = this.chainInfo;
214
- const unsub = await substrateApi.api.query.dappsStaking.ledger.multi(useAddresses, async ledgers => {
215
- if (cancel) {
216
- unsub();
217
- return;
218
- }
219
- if (ledgers) {
220
- await Promise.all(ledgers.map(async (_ledger, i) => {
221
- const owner = (0, _utils2.reformatAddress)(useAddresses[i], 42);
222
- const ledger = _ledger.toPrimitive();
223
- if (ledger && ledger.locked > 0) {
224
- const nominatorMetadata = await this.parseNominatorMetadata(chainInfo, owner, substrateApi, ledger);
225
- resultCallback({
226
- ...defaultInfo,
227
- ...nominatorMetadata,
228
- address: owner,
229
- type: this.type
230
- });
231
- } else {
232
- resultCallback({
233
- ...defaultInfo,
234
- type: this.type,
235
- address: owner,
236
- balanceToken: this.nativeToken.slug,
237
- totalStake: '0',
238
- activeStake: '0',
239
- unstakeBalance: '0',
240
- isBondedBefore: false,
241
- status: _types.EarningStatus.NOT_STAKING,
242
- nominations: [],
243
- unstakings: []
244
- });
245
- }
246
- }));
247
- }
248
- });
249
- return () => {
250
- cancel = true;
251
- unsub();
252
- };
253
- }
254
-
255
- /* Subscribe pool position */
256
-
257
- /* Get pool targets */
258
-
259
- async getPoolTargets() {
260
- const chainApi = await this.substrateApi.isReady;
261
- const rawMaxStakerPerContract = chainApi.api.consts.dappsStaking.maxNumberOfStakersPerContract.toHuman();
262
- const allDappsInfo = [];
263
- const maxStakerPerContract = (0, _utils2.parseRawNumber)(rawMaxStakerPerContract);
264
- const allDappsReq = new Promise(resolve => {
265
- (0, _crossFetch.default)(`https://api.astar.network/api/v1/${this.chain}/dapps-staking/dapps`, {
266
- method: 'GET'
267
- }).then(resp => {
268
- resolve(resp.json());
269
- }).catch(console.error);
270
- });
271
- const [_era, _allDapps] = await Promise.all([chainApi.api.query.dappsStaking.currentEra(), allDappsReq]);
272
- const era = (0, _utils2.parseRawNumber)(_era.toHuman());
273
- const allDapps = _allDapps;
274
- await Promise.all(allDapps.map(async dapp => {
275
- const dappName = dapp.name;
276
- const dappAddress = dapp.address;
277
- const dappIcon = (0, _utils2.isUrl)(dapp.iconUrl) ? dapp.iconUrl : undefined;
278
- const contractParam = (0, _utilCrypto.isEthereumAddress)(dappAddress) ? {
279
- Evm: dappAddress
280
- } : {
281
- Wasm: dappAddress
282
- };
283
- const _contractInfo = await chainApi.api.query.dappsStaking.contractEraStake(contractParam, era);
284
- const contractInfo = _contractInfo.toPrimitive();
285
- let totalStake = '0';
286
- let stakerCount = 0;
287
- if (contractInfo !== null) {
288
- var _contractInfo$total;
289
- // eslint-disable-next-line @typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-assignment
290
- totalStake = contractInfo === null || contractInfo === void 0 ? void 0 : (_contractInfo$total = contractInfo.total) === null || _contractInfo$total === void 0 ? void 0 : _contractInfo$total.toString();
291
- stakerCount = contractInfo.numberOfStakers;
292
- }
293
- allDappsInfo.push({
294
- commission: 0,
295
- expectedReturn: 0,
296
- address: convertAddress(dappAddress),
297
- totalStake: totalStake,
298
- ownStake: '0',
299
- otherStake: totalStake.toString(),
300
- nominatorCount: stakerCount,
301
- blocked: false,
302
- isVerified: false,
303
- minBond: '0',
304
- icon: dappIcon,
305
- identity: dappName,
306
- chain: this.chain,
307
- isCrowded: stakerCount >= maxStakerPerContract
308
- });
309
- }));
310
- return allDappsInfo;
311
- }
312
-
313
- /* Get pool targets */
314
-
315
- /* Join pool action */
316
-
317
- get defaultSubmitStep() {
318
- return [{
319
- name: 'Nominate dApps',
320
- type: _types.YieldStepType.NOMINATE
321
- }, {
322
- slug: this.nativeToken.slug,
323
- amount: '0'
324
- }];
325
- }
326
- async createJoinExtrinsic(data, positionInfo) {
327
- let bondDest = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'Staked';
328
- const {
329
- address,
330
- amount,
331
- selectedValidators: targetValidators
332
- } = data;
333
- const chainApi = await this.substrateApi.isReady;
334
- const binaryAmount = new _util.BN(amount);
335
- const dappInfo = targetValidators[0];
336
- const dappParam = (0, _utilCrypto.isEthereumAddress)(dappInfo.address) ? {
337
- Evm: dappInfo.address
338
- } : {
339
- Wasm: dappInfo.address
340
- };
341
- const extrinsic = chainApi.api.tx.dappsStaking.bondAndStake(dappParam, binaryAmount);
342
- const tokenSlug = this.nativeToken.slug;
343
- const feeInfo = await extrinsic.paymentInfo(address);
344
- const fee = feeInfo.toPrimitive();
345
- return [extrinsic, {
346
- slug: tokenSlug,
347
- amount: fee.partialFee.toString()
348
- }];
349
- }
350
-
351
- /* Join pool action */
352
-
353
- /* Leave pool action */
354
-
355
- async handleYieldUnstake(amount, address, selectedTarget) {
356
- const chainApi = await this.substrateApi.isReady;
357
- const binaryAmount = new _util.BN(amount);
358
- if (!selectedTarget) {
359
- return Promise.reject(new _TransactionError.TransactionError(_KoniTypes.BasicTxErrorType.INVALID_PARAMS));
360
- }
361
- const dappParam = (0, _utilCrypto.isEthereumAddress)(selectedTarget) ? {
362
- Evm: selectedTarget
363
- } : {
364
- Wasm: selectedTarget
365
- };
366
- const extrinsic = chainApi.api.tx.dappsStaking.unbondAndUnstake(dappParam, binaryAmount);
367
- return [_KoniTypes.ExtrinsicType.STAKING_LEAVE_POOL, extrinsic];
368
- }
369
-
370
- /* Leave pool action */
371
-
372
- /* Other action */
373
-
374
- async handleYieldCancelUnstake(params) {
375
- return Promise.reject(new _TransactionError.TransactionError(_KoniTypes.BasicTxErrorType.UNSUPPORTED));
376
- }
377
- async handleYieldWithdraw(address, unstakingInfo) {
378
- const chainApi = await this.substrateApi.isReady;
379
- return chainApi.api.tx.dappsStaking.withdrawUnbonded();
380
- }
381
- async handleYieldClaimReward(address, bondReward) {
382
- const apiPromise = await this.substrateApi.isReady;
383
- const [_stakedDapps, _currentEra] = await Promise.all([apiPromise.api.query.dappsStaking.generalStakerInfo.entries(address), apiPromise.api.query.dappsStaking.currentEra()]);
384
- const currentEra = (0, _utils2.parseRawNumber)(_currentEra.toHuman());
385
- const transactions = [];
386
- for (const item of _stakedDapps) {
387
- const data = item[0].toHuman();
388
- const stakedDapp = data[1];
389
- const stakeData = item[1].toHuman();
390
- const stakes = stakeData.stakes;
391
- const dappAddress = (0, _utilCrypto.isEthereumAddress)(stakedDapp.Evm) ? stakedDapp.Evm.toLowerCase() : stakedDapp.Evm;
392
- let numberOfUnclaimedEra = 0;
393
- const maxTx = 50;
394
- for (let i = 0; i < stakes.length; i++) {
395
- var _stakes;
396
- const {
397
- era,
398
- staked
399
- } = stakes[i];
400
- const bnStaked = new _util.BN(staked.replaceAll(',', ''));
401
- const parsedEra = (0, _utils2.parseRawNumber)(era);
402
- if (bnStaked.eq(new _util.BN(0))) {
403
- continue;
404
- }
405
- const nextEraData = (_stakes = stakes[i + 1]) !== null && _stakes !== void 0 ? _stakes : null;
406
- const nextEra = nextEraData && (0, _utils2.parseRawNumber)(nextEraData.era);
407
- const isLastEra = i === stakes.length - 1;
408
- const eraToClaim = isLastEra ? currentEra - parsedEra : nextEra - parsedEra;
409
- numberOfUnclaimedEra += eraToClaim;
410
- }
411
- const dappParam = (0, _utilCrypto.isEthereumAddress)(dappAddress) ? {
412
- Evm: dappAddress
413
- } : {
414
- Wasm: dappAddress
415
- };
416
- for (let i = 0; i < Math.min(numberOfUnclaimedEra, maxTx); i++) {
417
- const tx = apiPromise.api.tx.dappsStaking.claimStaker(dappParam);
418
- transactions.push(tx);
419
- }
420
- }
421
- return apiPromise.api.tx.utility.batch(transactions);
422
- }
423
-
424
- /* Other actions */
425
- }
426
- exports.default = AstarNativeStakingPoolHandler;
@@ -1,137 +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 _base = _interopRequireDefault(require("@subwallet/extension-base/services/earning-service/handlers/native-staking/base"));
12
- var _types = require("@subwallet/extension-base/types");
13
- var _utils2 = require("@subwallet/extension-base/utils");
14
- var _util = require("@polkadot/util");
15
- // Copyright 2019-2022 @subwallet/extension-base
16
- // SPDX-License-Identifier: Apache-2.0
17
-
18
- class BaseParaNativeStakingPoolHandler extends _base.default {
19
- /* Join pool action */
20
-
21
- get defaultSubmitStep() {
22
- return [{
23
- name: 'Nominate collators',
24
- type: _types.YieldStepType.NOMINATE
25
- }, {
26
- slug: this.nativeToken.slug,
27
- amount: '0'
28
- }];
29
- }
30
- async validateYieldJoin(data, path) {
31
- const {
32
- address,
33
- amount,
34
- selectedValidators
35
- } = data;
36
- const poolInfo = await this.getPoolInfo();
37
- const poolPosition = await this.getPoolPosition(address);
38
- const chainInfo = this.chainInfo;
39
- if (!poolInfo) {
40
- return Promise.resolve([new _TransactionError.TransactionError(_KoniTypes.BasicTxErrorType.INTERNAL_ERROR)]);
41
- }
42
- const errors = [];
43
- const selectedCollator = selectedValidators[0];
44
- let bnTotalStake = new _util.BN(amount);
45
- const bnChainMinStake = new _util.BN(poolInfo.metadata.minJoinPool || '0');
46
- const bnCollatorMinStake = new _util.BN(selectedCollator.minBond || '0');
47
- const bnMinStake = bnCollatorMinStake > bnChainMinStake ? bnCollatorMinStake : bnChainMinStake;
48
- const minStakeErrorMessage = (0, _utils.getMinStakeErrorMessage)(chainInfo, bnMinStake);
49
- const maxValidator = poolInfo.metadata.maxCandidatePerFarmer;
50
- const maxValidatorErrorMessage = (0, _utils.getMaxValidatorErrorMessage)(chainInfo, maxValidator);
51
- const existUnstakeErrorMessage = (0, _utils.getExistUnstakeErrorMessage)(chainInfo.slug, _KoniTypes.StakingType.NOMINATED, true);
52
- if (!poolPosition || poolPosition.status === _types.EarningStatus.NOT_STAKING) {
53
- if (!bnTotalStake.gte(bnMinStake)) {
54
- errors.push(new _TransactionError.TransactionError(_KoniTypes.StakingTxErrorType.NOT_ENOUGH_MIN_STAKE, minStakeErrorMessage));
55
- }
56
- return errors;
57
- }
58
- const {
59
- bondedValidators
60
- } = (0, _utils.getBondedValidators)(poolPosition.nominations);
61
- const parsedSelectedCollatorAddress = (0, _utils2.reformatAddress)(selectedCollator.address, 0);
62
- if (!bondedValidators.includes(parsedSelectedCollatorAddress)) {
63
- // new delegation
64
- if (!bnTotalStake.gte(bnMinStake)) {
65
- errors.push(new _TransactionError.TransactionError(_KoniTypes.StakingTxErrorType.NOT_ENOUGH_MIN_STAKE, minStakeErrorMessage));
66
- }
67
- const delegationCount = poolPosition.nominations.length + 1;
68
- if (delegationCount > maxValidator) {
69
- errors.push(new _TransactionError.TransactionError(_KoniTypes.StakingTxErrorType.EXCEED_MAX_NOMINATIONS, maxValidatorErrorMessage));
70
- }
71
- } else {
72
- let currentDelegationAmount = '0';
73
- let hasUnstaking = false;
74
- for (const delegation of poolPosition.nominations) {
75
- if ((0, _utils2.reformatAddress)(delegation.validatorAddress, 0) === parsedSelectedCollatorAddress) {
76
- currentDelegationAmount = delegation.activeStake;
77
- hasUnstaking = !!delegation.hasUnstaking && delegation.hasUnstaking;
78
- break;
79
- }
80
- }
81
- bnTotalStake = bnTotalStake.add(new _util.BN(currentDelegationAmount));
82
- if (!bnTotalStake.gte(bnMinStake)) {
83
- errors.push(new _TransactionError.TransactionError(_KoniTypes.StakingTxErrorType.NOT_ENOUGH_MIN_STAKE, minStakeErrorMessage));
84
- }
85
- if (hasUnstaking) {
86
- errors.push(new _TransactionError.TransactionError(_KoniTypes.StakingTxErrorType.EXIST_UNSTAKING_REQUEST, existUnstakeErrorMessage));
87
- }
88
- }
89
- return errors;
90
- }
91
-
92
- /* Join pool action */
93
-
94
- /* Leave pool action */
95
-
96
- /**
97
- * @todo Recheck
98
- * */
99
- async validateYieldLeave(amount, address, fastLeave, selectedTarget) {
100
- const errors = [];
101
- const poolInfo = await this.getPoolInfo();
102
- const poolPosition = await this.getPoolPosition(address);
103
- if (!poolInfo || !poolPosition || fastLeave || !selectedTarget) {
104
- return [new _TransactionError.TransactionError(_KoniTypes.BasicTxErrorType.INTERNAL_ERROR)];
105
- }
106
- if (fastLeave) {
107
- return [new _TransactionError.TransactionError(_KoniTypes.BasicTxErrorType.INVALID_PARAMS)];
108
- }
109
- let targetNomination;
110
- for (const nomination of poolPosition.nominations) {
111
- if ((0, _utils2.isSameAddress)(nomination.validatorAddress, selectedTarget)) {
112
- targetNomination = nomination;
113
- break;
114
- }
115
- }
116
- if (!targetNomination) {
117
- errors.push(new _TransactionError.TransactionError(_KoniTypes.BasicTxErrorType.INTERNAL_ERROR));
118
- return errors;
119
- }
120
- const bnActiveStake = new _util.BN(targetNomination.activeStake);
121
- const bnRemainingStake = bnActiveStake.sub(new _util.BN(amount));
122
- const bnChainMinStake = new _util.BN(poolInfo.metadata.minJoinPool || '0');
123
- const bnCollatorMinStake = new _util.BN(targetNomination.validatorMinStake || '0');
124
- const bnMinStake = _util.BN.max(bnCollatorMinStake, bnChainMinStake);
125
- const existUnstakeErrorMessage = (0, _utils.getExistUnstakeErrorMessage)(this.chain, _KoniTypes.StakingType.NOMINATED);
126
- if (targetNomination.hasUnstaking) {
127
- errors.push(new _TransactionError.TransactionError(_KoniTypes.StakingTxErrorType.EXIST_UNSTAKING_REQUEST, existUnstakeErrorMessage));
128
- }
129
- if (!(bnRemainingStake.isZero() || bnRemainingStake.gte(bnMinStake))) {
130
- errors.push(new _TransactionError.TransactionError(_KoniTypes.StakingTxErrorType.INVALID_ACTIVE_STAKE));
131
- }
132
- return errors;
133
- }
134
-
135
- /* Leave pool action */
136
- }
137
- exports.default = BaseParaNativeStakingPoolHandler;
@@ -1,109 +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
- constructor(state, chain) {
19
- super(state, chain);
20
- const _chainAsset = this.nativeToken;
21
- const _chainInfo = this.chainInfo;
22
- const symbol = _chainAsset.symbol;
23
- this.slug = `${symbol}___native_staking___${_chainInfo.slug}`;
24
- this.name = `${_chainInfo.name} Native Staking`;
25
- this.shortName = _chainInfo.name.replaceAll(' Relay Chain', '');
26
- this.description = `Start staking with just {{amount}} ${symbol}`;
27
- }
28
-
29
- /* Get pool reward */
30
-
31
- async getPoolReward(useAddresses, callBack) {
32
- return new Promise(resolve => resolve(_util.noop));
33
- }
34
-
35
- /* Get pool reward */
36
-
37
- /* Join pool action */
38
-
39
- get defaultSubmitStep() {
40
- return [{
41
- name: 'Nominate validators',
42
- type: _types.YieldStepType.NOMINATE
43
- }, {
44
- slug: this.nativeToken.slug,
45
- amount: '0'
46
- }];
47
- }
48
- async getSubmitStep(params) {
49
- const {
50
- address,
51
- amount,
52
- slug,
53
- targets
54
- } = params;
55
- const selectedValidators = !targets ? [] : targets;
56
- const data = {
57
- amount,
58
- address,
59
- slug,
60
- selectedValidators
61
- };
62
- const positionInfo = await this.getPoolPosition(address);
63
- const [, fee] = await this.createJoinExtrinsic(data, positionInfo);
64
- return [this.defaultSubmitStep[0], fee];
65
- }
66
- async handleYieldJoin(_data, path, currentStep) {
67
- const data = _data;
68
- const {
69
- address,
70
- amount,
71
- selectedValidators
72
- } = data;
73
- const positionInfo = await this.getPoolPosition(address);
74
- const [extrinsic] = await this.createJoinExtrinsic(data, positionInfo);
75
- const bondingData = {
76
- poolPosition: positionInfo,
77
- slug: this.slug,
78
- amount,
79
- address,
80
- selectedValidators
81
- };
82
- return {
83
- txChain: this.chain,
84
- extrinsicType: _KoniTypes.ExtrinsicType.STAKING_BOND,
85
- extrinsic,
86
- txData: bondingData,
87
- transferNativeAmount: amount
88
- };
89
- }
90
-
91
- /* Join pool action */
92
-
93
- /* Leave pool action */
94
-
95
- async handleYieldRedeem(amount, address, selectedTarget) {
96
- return Promise.reject(new _TransactionError.TransactionError(_KoniTypes.BasicTxErrorType.UNSUPPORTED));
97
- }
98
-
99
- /* Leave pool action */
100
-
101
- /* Other action */
102
-
103
- async handleYieldClaimReward(address, bondReward) {
104
- return Promise.reject(new _TransactionError.TransactionError(_KoniTypes.BasicTxErrorType.UNSUPPORTED));
105
- }
106
-
107
- /* Other actions */
108
- }
109
- exports.default = BaseNativeStakingPoolHandler;