@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,140 +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 _KoniTypes = require("@subwallet/extension-base/background/KoniTypes");
9
- var _utils = require("@subwallet/extension-base/services/chain-service/utils");
10
- var _types = require("@subwallet/extension-base/types");
11
- var _crossFetch = _interopRequireDefault(require("cross-fetch"));
12
- var _bifrost = _interopRequireDefault(require("./bifrost"));
13
- // Copyright 2019-2022 @subwallet/extension-base
14
- // SPDX-License-Identifier: Apache-2.0
15
-
16
- const STATS_URL = 'https://api.bifrost.app/api/site';
17
- const RATIO_URL = 'https://api.bifrost.app/api/omni/MANTA';
18
- class BifrostMantaLiquidStakingPoolHandler extends _bifrost.default {
19
- altInputAsset = 'manta_network-NATIVE-MANTA';
20
- derivativeAssets = ['bifrost_dot-LOCAL-vMANTA'];
21
- inputAsset = 'bifrost_dot-LOCAL-MANTA';
22
- rewardAssets = ['bifrost_dot-LOCAL-MANTA'];
23
- feeAssets = ['bifrost_dot-NATIVE-BNC', 'bifrost_dot-LOCAL-MANTA'];
24
- minAmountPercent = 0.985;
25
- constructor(state, chain) {
26
- super(state, chain);
27
- const chainInfo = this.chainInfo;
28
- this.slug = `MANTA___liquid_staking___${chain}`;
29
- this.name = `${chainInfo.name} Liquid Staking Manta`;
30
- this.shortName = chainInfo.name.replaceAll(' Relay Chain', '');
31
- }
32
- getDescription() {
33
- return 'Stake MANTA to earn yield on vMANTA';
34
- }
35
-
36
- /* Subscribe pool info */
37
-
38
- async getPoolStat() {
39
- const substrateApi = await this.substrateApi.isReady;
40
- const stakingMetaPromise = new Promise(function (resolve) {
41
- (0, _crossFetch.default)(STATS_URL, {
42
- method: 'GET'
43
- }).then(res => {
44
- resolve(res.json());
45
- }).catch(console.error);
46
- });
47
- const exchangeRatePromise = new Promise(function (resolve) {
48
- (0, _crossFetch.default)(RATIO_URL, {
49
- method: 'GET'
50
- }).then(resp => {
51
- resolve(resp.json());
52
- }).catch(console.error);
53
- });
54
- const derivativeTokenInfo = this.state.getAssetBySlug(this.derivativeAssets[0]);
55
- const inputTokenInfo = this.state.getAssetBySlug(this.inputAsset);
56
- const [_stakingMeta, _exchangeRate, _minimumRedeem, _minimumMint] = await Promise.all([stakingMetaPromise, exchangeRatePromise, substrateApi.api.query.vtokenMinting.minimumRedeem((0, _utils._getTokenOnChainInfo)(derivativeTokenInfo)), substrateApi.api.query.vtokenMinting.minimumMint((0, _utils._getTokenOnChainInfo)(inputTokenInfo))]);
57
- const minimumRedeem = _minimumRedeem.toString();
58
- const minimumMint = _minimumMint.toString();
59
- const stakingMeta = _stakingMeta;
60
- const exchangeRate = _exchangeRate;
61
- const vMANTAStats = stakingMeta.vMANTA;
62
- const assetInfo = this.state.getAssetBySlug(this.inputAsset);
63
- const assetDecimals = 10 ** (0, _utils._getAssetDecimals)(assetInfo);
64
- const rate = parseFloat(exchangeRate.ratio[exchangeRate.ratio.length - 1].ratio); // TODO
65
-
66
- this.updateExchangeRate(rate);
67
- return {
68
- ...this.baseInfo,
69
- type: this.type,
70
- metadata: {
71
- ...this.metadataInfo,
72
- description: this.getDescription()
73
- },
74
- statistic: {
75
- assetEarning: [{
76
- slug: this.rewardAssets[0],
77
- apy: parseFloat(vMANTAStats.apyBase),
78
- exchangeRate: rate
79
- }],
80
- farmerCount: vMANTAStats.holders,
81
- unstakingPeriod: 24 * 7,
82
- maxCandidatePerFarmer: 1,
83
- maxWithdrawalRequestPerFarmer: 1,
84
- earningThreshold: {
85
- join: minimumMint,
86
- defaultUnstake: minimumRedeem,
87
- fastUnstake: '0'
88
- },
89
- totalApy: parseFloat(vMANTAStats.apyBase),
90
- tvl: (vMANTAStats.tvm * assetDecimals).toString()
91
- }
92
- };
93
- }
94
-
95
- /* Subscribe pool info */
96
-
97
- /* Join pool action */
98
-
99
- get submitJoinStepInfo() {
100
- return {
101
- name: 'Mint vMANTA',
102
- type: _types.YieldStepType.MINT_VMANTA
103
- };
104
- }
105
- async handleSubmitStep(data, path) {
106
- const substrateApi = await this.substrateApi.isReady;
107
- const inputTokenSlug = this.inputAsset;
108
- const inputTokenInfo = this.state.getAssetBySlug(inputTokenSlug);
109
- const extrinsic = substrateApi.api.tx.vtokenMinting.mint((0, _utils._getTokenOnChainInfo)(inputTokenInfo), data.amount, undefined, undefined);
110
- return {
111
- txChain: this.chain,
112
- extrinsicType: _KoniTypes.ExtrinsicType.MINT_VMANTA,
113
- extrinsic,
114
- txData: data,
115
- transferNativeAmount: '0',
116
- chainType: _KoniTypes.ChainType.SUBSTRATE
117
- };
118
- }
119
-
120
- /* Join pool action */
121
-
122
- /* Leave pool action */
123
-
124
- async handleYieldRedeem(amount, address, selectedTarget) {
125
- const substrateApi = await this.substrateApi.isReady;
126
- const weightedMinAmount = await this.createParamToRedeem(amount, address);
127
- const extrinsic = substrateApi.api.tx.stablePool.swap(5, 1, 0, amount, weightedMinAmount);
128
- return [_KoniTypes.ExtrinsicType.REDEEM_VMANTA, extrinsic];
129
- }
130
- async handleYieldUnstake(amount, address, selectedTarget) {
131
- const chainApi = await this.substrateApi.isReady;
132
- const derivativeTokenSlug = this.derivativeAssets[0];
133
- const derivativeTokenInfo = this.state.getAssetBySlug(derivativeTokenSlug);
134
- const extrinsic = chainApi.api.tx.vtokenMinting.redeem((0, _utils._getTokenOnChainInfo)(derivativeTokenInfo), amount);
135
- return [_KoniTypes.ExtrinsicType.UNSTAKE_VMANTA, extrinsic];
136
- }
137
-
138
- /* Leave pool action */
139
- }
140
- exports.default = BifrostMantaLiquidStakingPoolHandler;
@@ -1,299 +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 _KoniTypes = require("@subwallet/extension-base/background/KoniTypes");
9
- var _constants = require("@subwallet/extension-base/services/chain-service/constants");
10
- var _utils = require("@subwallet/extension-base/services/chain-service/utils");
11
- var _constants2 = require("@subwallet/extension-base/services/earning-service/constants");
12
- var _types = require("@subwallet/extension-base/types");
13
- var _utils2 = require("@subwallet/extension-base/utils");
14
- var _bignumber = _interopRequireDefault(require("bignumber.js"));
15
- var _crossFetch = _interopRequireDefault(require("cross-fetch"));
16
- var _util = require("@polkadot/util");
17
- var _base = _interopRequireDefault(require("./base"));
18
- // Copyright 2019-2022 @subwallet/extension-base
19
- // SPDX-License-Identifier: Apache-2.0
20
-
21
- const STATS_URL = 'https://api.bifrost.app/api/site';
22
- const BIFROST_GRAPHQL_ENDPOINT = 'https://bifrost-subsql.liebi.com/v1/graphql';
23
- const BIFROST_EXCHANGE_RATE_REQUEST = 'query MyQuery{slp_polkadot_ratio(limit:1 where:{key:{_eq:"0"}} order_by:{timestamp:desc_nulls_first}){ratio key timestamp total_issuance token_pool}}';
24
- class BifrostLiquidStakingPoolHandler extends _base.default {
25
- altInputAsset = 'polkadot-NATIVE-DOT';
26
- derivativeAssets = ['bifrost_dot-LOCAL-vDOT'];
27
- inputAsset = 'bifrost_dot-LOCAL-DOT';
28
- rewardAssets = ['bifrost_dot-LOCAL-DOT'];
29
- feeAssets = ['bifrost_dot-NATIVE-BNC', 'bifrost_dot-LOCAL-DOT'];
30
- minAmountPercent = 0.99;
31
- availableMethod = {
32
- join: true,
33
- defaultUnstake: true,
34
- fastUnstake: true,
35
- cancelUnstake: false,
36
- withdraw: false,
37
- claimReward: false
38
- };
39
- rateDecimals = 0;
40
- constructor(state, chain) {
41
- super(state, chain);
42
- const chainInfo = this.chainInfo;
43
- this.slug = `DOT___liquid_staking___${chain}`;
44
- this.name = `${chainInfo.name} Liquid Staking DOT`;
45
- this.shortName = chainInfo.name.replaceAll(' Relay Chain', '');
46
- }
47
- getDescription() {
48
- return 'Stake DOT to earn yield on vDOT';
49
- }
50
-
51
- /* Subscribe pool info */
52
-
53
- async getPoolStat() {
54
- const substrateApi = await this.substrateApi.isReady;
55
- const stakingMetaPromise = new Promise(function (resolve) {
56
- (0, _crossFetch.default)(STATS_URL, {
57
- method: 'GET'
58
- }).then(res => {
59
- resolve(res.json());
60
- }).catch(console.error);
61
- });
62
- const exchangeRatePromise = new Promise(function (resolve) {
63
- (0, _crossFetch.default)(BIFROST_GRAPHQL_ENDPOINT, {
64
- method: 'POST',
65
- headers: {
66
- 'Content-Type': 'application/json'
67
- },
68
- body: JSON.stringify({
69
- query: BIFROST_EXCHANGE_RATE_REQUEST
70
- })
71
- }).then(resp => {
72
- resolve(resp.json());
73
- }).catch(console.error);
74
- });
75
- const derivativeTokenInfo = this.state.getAssetBySlug(this.derivativeAssets[0]);
76
- const inputTokenInfo = this.state.getAssetBySlug(this.inputAsset);
77
- const [_stakingMeta, _exchangeRate, _minimumRedeem, _minimumMint] = await Promise.all([stakingMetaPromise, exchangeRatePromise, substrateApi.api.query.vtokenMinting.minimumRedeem((0, _utils._getTokenOnChainInfo)(derivativeTokenInfo)), substrateApi.api.query.vtokenMinting.minimumMint((0, _utils._getTokenOnChainInfo)(inputTokenInfo))]);
78
- const minimumRedeem = _minimumRedeem.toString();
79
- const minimumMint = _minimumMint.toString();
80
- const stakingMeta = _stakingMeta;
81
- const exchangeRate = _exchangeRate;
82
- const vDOTStats = stakingMeta.vDOT;
83
- const assetInfo = this.state.getAssetBySlug(this.inputAsset);
84
- const assetDecimals = 10 ** (0, _utils._getAssetDecimals)(assetInfo);
85
- const rate = parseFloat(exchangeRate.data.slp_polkadot_ratio[0].ratio);
86
- this.updateExchangeRate(rate);
87
- return {
88
- ...this.baseInfo,
89
- type: this.type,
90
- metadata: {
91
- ...this.metadataInfo,
92
- description: this.getDescription()
93
- },
94
- statistic: {
95
- assetEarning: [{
96
- slug: this.rewardAssets[0],
97
- apy: parseFloat(vDOTStats.apyBase),
98
- exchangeRate: rate
99
- }],
100
- unstakingPeriod: 24 * 28,
101
- maxCandidatePerFarmer: 1,
102
- maxWithdrawalRequestPerFarmer: 1,
103
- farmerCount: vDOTStats.holders,
104
- earningThreshold: {
105
- join: minimumMint,
106
- defaultUnstake: minimumRedeem,
107
- fastUnstake: '0'
108
- },
109
- totalApy: parseFloat(vDOTStats.apyBase),
110
- tvl: (vDOTStats.tvm * assetDecimals).toString()
111
- }
112
- };
113
- }
114
-
115
- /* Subscribe pool info */
116
-
117
- /* Subscribe pool position */
118
-
119
- async subscribePoolPosition(useAddresses, resultCallback) {
120
- let cancel = false;
121
- const substrateApi = this.substrateApi;
122
- await substrateApi.isReady;
123
-
124
- // @ts-ignore
125
- const derivativeTokenSlug = this.derivativeAssets[0];
126
- const derivativeTokenInfo = this.state.getAssetBySlug(derivativeTokenSlug);
127
- const inputTokenSlug = this.inputAsset;
128
- const inputTokenInfo = this.state.getAssetBySlug(inputTokenSlug);
129
- const unsub = await substrateApi.api.query.tokens.accounts.multi(useAddresses.map(address => [address, (0, _utils._getTokenOnChainInfo)(derivativeTokenInfo)]), async _balance => {
130
- if (cancel) {
131
- unsub();
132
- return;
133
- }
134
- const balances = _balance;
135
- const [_unlockLedgerList, _currentRelayEra, rate] = await Promise.all([substrateApi.api.query.vtokenMinting.userUnlockLedger.multi(useAddresses.map(address => [address, (0, _utils._getTokenOnChainInfo)(inputTokenInfo)])), substrateApi.api.query.vtokenMinting.ongoingTimeUnit((0, _utils._getTokenOnChainInfo)(inputTokenInfo)), this.getExchangeRate()]);
136
- const exchangeRate = new _bignumber.default(rate);
137
- const currentRelayEraObj = _currentRelayEra.toPrimitive();
138
- const currentRelayEra = currentRelayEraObj.Era;
139
- const unlockLedgerList = [];
140
- const activeBalanceMap = {};
141
- for (let i = 0; i < balances.length; i++) {
142
- const balanceItem = balances[i];
143
- const address = useAddresses[i];
144
- const formattedAddress = (0, _utils2.reformatAddress)(address);
145
- activeBalanceMap[formattedAddress] = balanceItem.free || _util.BN_ZERO;
146
- const _unlockLedger = _unlockLedgerList[i];
147
- const unlockLedger = _unlockLedger.toPrimitive();
148
- if (unlockLedger) {
149
- // @ts-ignore
150
- // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
151
- const unstakingLedgerIds = unlockLedger[1];
152
- unstakingLedgerIds.forEach(ledgerId => {
153
- unlockLedgerList.push({
154
- address: formattedAddress,
155
- ledgerId
156
- });
157
- });
158
- }
159
-
160
- // const bnTotalBalance = bnActiveBalance.add(bnUnstakingBalance);
161
- }
162
-
163
- const unlockingMap = {};
164
-
165
- // TODO: review unstaking info vtokenMinting.userUnlockLedger
166
- const _unlockInfoList = await substrateApi.api.query.vtokenMinting.tokenUnlockLedger.multi(unlockLedgerList.map(_ref => {
167
- let {
168
- ledgerId
169
- } = _ref;
170
- return [(0, _utils._getTokenOnChainInfo)(inputTokenInfo), ledgerId];
171
- }));
172
- for (let i = 0; i < _unlockInfoList.length; i++) {
173
- const unlockInfo = _unlockInfoList[i].toPrimitive();
174
- const owner = (0, _utils2.reformatAddress)(unlockInfo[0]);
175
- const amount = unlockInfo[1].toString();
176
- // @ts-ignore
177
- const withdrawalEra = unlockInfo[2].era;
178
- if (owner in unlockingMap) {
179
- unlockingMap[owner].push({
180
- balance: amount,
181
- era: withdrawalEra
182
- });
183
- } else {
184
- unlockingMap[owner] = [{
185
- balance: amount,
186
- era: withdrawalEra
187
- }];
188
- }
189
- }
190
- const unstakingList = [];
191
- useAddresses.forEach(address => {
192
- const formattedAddress = (0, _utils2.reformatAddress)(address);
193
- const bnActiveBalance = activeBalanceMap[formattedAddress];
194
- const unlockings = unlockingMap[formattedAddress];
195
- let unlockBalance = _util.BN_ZERO;
196
- if (unlockings) {
197
- unlockings.forEach(unlocking => {
198
- const isClaimable = unlocking.era - currentRelayEra < 0;
199
- const remainingEra = unlocking.era - currentRelayEra;
200
- const waitingTime = remainingEra * _constants._STAKING_ERA_LENGTH_MAP[this.chain];
201
- unlockBalance = unlockBalance.add(new _util.BN(unlocking.balance));
202
- unstakingList.push({
203
- chain: this.chain,
204
- status: isClaimable ? _types.UnstakingStatus.CLAIMABLE : _types.UnstakingStatus.UNLOCKING,
205
- claimable: unlocking.balance,
206
- waitingTime: waitingTime
207
- });
208
- });
209
- }
210
- const activeToTotalBalance = exchangeRate.multipliedBy(bnActiveBalance.toString());
211
- const totalBalance = activeToTotalBalance.plus(unlockBalance.toString());
212
- const result = {
213
- ...this.baseInfo,
214
- type: this.type,
215
- address,
216
- balanceToken: this.inputAsset,
217
- derivativeToken: derivativeTokenSlug,
218
- totalStake: totalBalance.toString(),
219
- activeStake: bnActiveBalance.toString(),
220
- unstakeBalance: unlockBalance.toString(),
221
- status: bnActiveBalance.gt(_util.BN_ZERO) ? _types.EarningStatus.EARNING_REWARD : _types.EarningStatus.NOT_EARNING,
222
- isBondedBefore: totalBalance.gt(_util.BN_ZERO.toString()),
223
- nominations: [],
224
- unstakings: unstakingList
225
- };
226
- resultCallback(result);
227
- });
228
- });
229
- return () => {
230
- cancel = true;
231
- unsub();
232
- };
233
- }
234
-
235
- /* Subscribe pool position */
236
-
237
- /* Join pool action */
238
-
239
- get submitJoinStepInfo() {
240
- return {
241
- name: 'Mint vDOT',
242
- type: _types.YieldStepType.MINT_VDOT
243
- };
244
- }
245
- async getSubmitStepFee(params) {
246
- const poolOriginSubstrateApi = await this.substrateApi.isReady;
247
- const inputTokenSlug = this.inputAsset;
248
- const inputTokenInfo = this.state.getAssetBySlug(inputTokenSlug);
249
- const defaultFeeTokenSlug = this.feeAssets[0];
250
- if (new _util.BN(params.amount).gt(_util.BN_ZERO)) {
251
- const _mintFeeInfo = await poolOriginSubstrateApi.api.tx.vtokenMinting.mint((0, _utils._getTokenOnChainInfo)(inputTokenInfo), params.amount, undefined, undefined).paymentInfo(_constants2.fakeAddress);
252
- const mintFeeInfo = _mintFeeInfo.toPrimitive();
253
- return {
254
- amount: mintFeeInfo.partialFee.toString(),
255
- slug: defaultFeeTokenSlug
256
- };
257
- } else {
258
- return {
259
- amount: '0',
260
- slug: defaultFeeTokenSlug
261
- };
262
- }
263
- }
264
- async handleSubmitStep(data, path) {
265
- const substrateApi = await this.substrateApi.isReady;
266
- const inputTokenSlug = this.inputAsset;
267
- const inputTokenInfo = this.state.getAssetBySlug(inputTokenSlug);
268
- const extrinsic = substrateApi.api.tx.vtokenMinting.mint((0, _utils._getTokenOnChainInfo)(inputTokenInfo), data.amount, undefined, undefined);
269
- return {
270
- txChain: this.chain,
271
- extrinsicType: _KoniTypes.ExtrinsicType.MINT_VDOT,
272
- extrinsic,
273
- txData: data,
274
- transferNativeAmount: '0',
275
- chainType: _KoniTypes.ChainType.SUBSTRATE
276
- };
277
- }
278
-
279
- /* Join pool action */
280
-
281
- /* Leave pool action */
282
-
283
- async handleYieldRedeem(amount, address, selectedTarget) {
284
- const substrateApi = await this.substrateApi.isReady;
285
- const weightedMinAmount = await this.createParamToRedeem(amount, address);
286
- const extrinsic = substrateApi.api.tx.stablePool.swap(0, 1, 0, amount, weightedMinAmount);
287
- return [_KoniTypes.ExtrinsicType.REDEEM_VDOT, extrinsic];
288
- }
289
- async handleYieldUnstake(amount, address, selectedTarget) {
290
- const chainApi = await this.substrateApi.isReady;
291
- const derivativeTokenSlug = this.derivativeAssets[0];
292
- const derivativeTokenInfo = this.state.getAssetBySlug(derivativeTokenSlug);
293
- const extrinsic = chainApi.api.tx.vtokenMinting.redeem((0, _utils._getTokenOnChainInfo)(derivativeTokenInfo), amount);
294
- return [_KoniTypes.ExtrinsicType.UNSTAKE_VDOT, extrinsic];
295
- }
296
-
297
- /* Leave pool action */
298
- }
299
- exports.default = BifrostLiquidStakingPoolHandler;
@@ -1,41 +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, "AcalaLiquidStakingPoolHandler", {
8
- enumerable: true,
9
- get: function () {
10
- return _acala.default;
11
- }
12
- });
13
- Object.defineProperty(exports, "BifrostLiquidStakingPoolHandler", {
14
- enumerable: true,
15
- get: function () {
16
- return _bifrost.default;
17
- }
18
- });
19
- Object.defineProperty(exports, "BifrostMantaLiquidStakingPoolHandler", {
20
- enumerable: true,
21
- get: function () {
22
- return _bifrostManta.default;
23
- }
24
- });
25
- Object.defineProperty(exports, "ParallelLiquidStakingPoolHandler", {
26
- enumerable: true,
27
- get: function () {
28
- return _parallel.default;
29
- }
30
- });
31
- Object.defineProperty(exports, "StellaSwapLiquidStakingPoolHandler", {
32
- enumerable: true,
33
- get: function () {
34
- return _stellaSwap.default;
35
- }
36
- });
37
- var _acala = _interopRequireDefault(require("./acala"));
38
- var _bifrost = _interopRequireDefault(require("./bifrost"));
39
- var _bifrostManta = _interopRequireDefault(require("./bifrost-manta"));
40
- var _parallel = _interopRequireDefault(require("./parallel"));
41
- var _stellaSwap = _interopRequireDefault(require("./stella-swap"));