@subwallet/extension-base 1.1.31-beta.0 → 1.1.33-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 (319) hide show
  1. package/background/KoniTypes.d.ts +71 -111
  2. package/background/KoniTypes.js +14 -19
  3. package/background/errors/TransactionError.js +0 -9
  4. package/cjs/background/KoniTypes.js +17 -20
  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 +108 -76
  11. package/cjs/koni/api/staking/bonding/astar.js +10 -11
  12. package/cjs/koni/api/staking/bonding/index.js +3 -4
  13. package/cjs/koni/api/staking/bonding/paraChain.js +29 -28
  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 +36 -11
  18. package/cjs/koni/api/staking/relayChain.js +2 -3
  19. package/cjs/koni/api/xcm/xTokens.js +1 -1
  20. package/cjs/koni/background/cron.js +1 -11
  21. package/cjs/koni/background/handlers/Extension.js +69 -362
  22. package/cjs/koni/background/handlers/State.js +3 -51
  23. package/cjs/koni/background/handlers/Tabs.js +19 -2
  24. package/cjs/koni/background/handlers/index.js +2 -4
  25. package/cjs/koni/background/subscription.js +37 -95
  26. package/cjs/packageInfo.js +1 -1
  27. package/cjs/services/campaign-service/index.js +25 -9
  28. package/cjs/services/chain-service/constants.js +21 -4
  29. package/cjs/services/chain-service/index.js +2 -3
  30. package/cjs/services/chain-service/utils.js +1 -7
  31. package/cjs/services/event-service/index.js +0 -4
  32. package/cjs/services/history-service/index.js +12 -8
  33. package/cjs/services/keyring-service/index.js +2 -14
  34. package/cjs/services/migration-service/scripts/MigrateLedgerAccount.js +1 -1
  35. package/cjs/services/migration-service/scripts/MigrateTransactionHistory.js +1 -1
  36. package/cjs/services/migration-service/scripts/index.js +1 -7
  37. package/cjs/services/notification-service/NotificationService.js +1 -1
  38. package/cjs/services/storage-service/DatabaseService.js +3 -51
  39. package/cjs/services/storage-service/databases/index.js +0 -4
  40. package/cjs/services/storage-service/db-stores/Campaign.js +9 -3
  41. package/cjs/services/storage-service/db-stores/NominatorMetadata.js +3 -3
  42. package/cjs/services/subscan-service/index.js +0 -16
  43. package/cjs/services/transaction-service/event-parser/index.js +0 -58
  44. package/cjs/services/transaction-service/helpers/index.js +1 -3
  45. package/cjs/services/transaction-service/index.js +131 -242
  46. package/cjs/services/transaction-service/utils.js +0 -1
  47. package/cjs/types/index.js +0 -44
  48. package/cjs/utils/fetchEvmChainInfo.js +20 -0
  49. package/cjs/utils/fetchStaticData.js +1 -2
  50. package/cjs/utils/index.js +17 -81
  51. package/cjs/utils/number.js +1 -3
  52. package/constants/index.d.ts +1 -6
  53. package/constants/index.js +1 -6
  54. package/koni/api/nft/config.js +23 -33
  55. package/koni/api/nft/index.js +1 -15
  56. package/koni/api/nft/nft.js +23 -2
  57. package/koni/api/staking/bonding/amplitude.d.ts +1 -1
  58. package/koni/api/staking/bonding/amplitude.js +105 -73
  59. package/koni/api/staking/bonding/astar.js +8 -9
  60. package/koni/api/staking/bonding/index.d.ts +2 -1
  61. package/koni/api/staking/bonding/index.js +3 -5
  62. package/koni/api/staking/bonding/paraChain.js +16 -15
  63. package/koni/api/staking/bonding/relayChain.d.ts +2 -2
  64. package/koni/api/staking/bonding/relayChain.js +30 -33
  65. package/koni/api/staking/bonding/utils.d.ts +42 -15
  66. package/koni/api/staking/bonding/utils.js +69 -85
  67. package/koni/api/staking/index.js +1 -2
  68. package/koni/api/staking/paraChain.js +37 -12
  69. package/koni/api/staking/relayChain.js +3 -4
  70. package/koni/api/xcm/xTokens.js +1 -1
  71. package/koni/background/cron.d.ts +0 -1
  72. package/koni/background/cron.js +2 -12
  73. package/koni/background/handlers/Extension.d.ts +1 -17
  74. package/koni/background/handlers/Extension.js +30 -321
  75. package/koni/background/handlers/State.d.ts +2 -18
  76. package/koni/background/handlers/State.js +3 -50
  77. package/koni/background/handlers/Tabs.js +20 -3
  78. package/koni/background/handlers/index.js +2 -4
  79. package/koni/background/subscription.d.ts +1 -6
  80. package/koni/background/subscription.js +38 -97
  81. package/package.json +13 -321
  82. package/packageInfo.js +1 -1
  83. package/services/campaign-service/index.js +25 -9
  84. package/services/chain-service/constants.d.ts +12 -0
  85. package/services/chain-service/constants.js +19 -3
  86. package/services/chain-service/index.js +2 -3
  87. package/services/chain-service/utils.d.ts +0 -1
  88. package/services/chain-service/utils.js +1 -5
  89. package/services/event-service/index.d.ts +0 -1
  90. package/services/event-service/index.js +0 -4
  91. package/services/event-service/types.d.ts +1 -8
  92. package/services/history-service/index.js +12 -8
  93. package/services/keyring-service/index.d.ts +1 -2
  94. package/services/keyring-service/index.js +2 -14
  95. package/services/migration-service/scripts/MigrateLedgerAccount.js +1 -1
  96. package/services/migration-service/scripts/MigrateTransactionHistory.js +1 -1
  97. package/services/migration-service/scripts/index.js +1 -7
  98. package/services/notification-service/NotificationService.js +1 -1
  99. package/services/storage-service/DatabaseService.d.ts +2 -18
  100. package/services/storage-service/DatabaseService.js +3 -51
  101. package/services/storage-service/databases/index.d.ts +1 -3
  102. package/services/storage-service/databases/index.js +0 -4
  103. package/services/storage-service/db-stores/Campaign.js +9 -3
  104. package/services/storage-service/db-stores/NominatorMetadata.js +3 -3
  105. package/services/subscan-service/index.d.ts +2 -3
  106. package/services/subscan-service/index.js +0 -15
  107. package/services/subscan-service/types.d.ts +0 -20
  108. package/services/transaction-service/event-parser/index.d.ts +1 -3
  109. package/services/transaction-service/event-parser/index.js +1 -57
  110. package/services/transaction-service/helpers/index.js +1 -3
  111. package/services/transaction-service/index.d.ts +16 -4
  112. package/services/transaction-service/index.js +118 -230
  113. package/services/transaction-service/types.d.ts +1 -2
  114. package/services/transaction-service/utils.js +0 -1
  115. package/types/index.d.ts +0 -5
  116. package/types/index.js +1 -5
  117. package/utils/fetchEvmChainInfo.d.ts +17 -0
  118. package/utils/fetchEvmChainInfo.js +14 -0
  119. package/utils/fetchStaticData.js +1 -2
  120. package/utils/index.d.ts +2 -5
  121. package/utils/index.js +2 -52
  122. package/utils/number.d.ts +1 -1
  123. package/utils/number.js +1 -1
  124. package/cjs/koni/api/dotsama/balance.js +0 -464
  125. package/cjs/koni/api/nft/ordinal_nft/constants.js +0 -21
  126. package/cjs/koni/api/nft/ordinal_nft/index.js +0 -121
  127. package/cjs/koni/api/nft/ordinal_nft/utils.js +0 -41
  128. package/cjs/koni/api/yield/helper/utils.js +0 -46
  129. package/cjs/services/earning-service/constants/chains.js +0 -29
  130. package/cjs/services/earning-service/constants/index.js +0 -27
  131. package/cjs/services/earning-service/constants/step.js +0 -18
  132. package/cjs/services/earning-service/handlers/base.js +0 -259
  133. package/cjs/services/earning-service/handlers/index.js +0 -60
  134. package/cjs/services/earning-service/handlers/lending/base.js +0 -20
  135. package/cjs/services/earning-service/handlers/lending/index.js +0 -13
  136. package/cjs/services/earning-service/handlers/lending/interlay.js +0 -191
  137. package/cjs/services/earning-service/handlers/liquid-staking/acala.js +0 -239
  138. package/cjs/services/earning-service/handlers/liquid-staking/base.js +0 -43
  139. package/cjs/services/earning-service/handlers/liquid-staking/bifrost.js +0 -297
  140. package/cjs/services/earning-service/handlers/liquid-staking/index.js +0 -34
  141. package/cjs/services/earning-service/handlers/liquid-staking/parallel.js +0 -226
  142. package/cjs/services/earning-service/handlers/liquid-staking/stella-swap.js +0 -395
  143. package/cjs/services/earning-service/handlers/native-staking/amplitude.js +0 -384
  144. package/cjs/services/earning-service/handlers/native-staking/astar.js +0 -461
  145. package/cjs/services/earning-service/handlers/native-staking/base-para.js +0 -146
  146. package/cjs/services/earning-service/handlers/native-staking/base.js +0 -159
  147. package/cjs/services/earning-service/handlers/native-staking/index.js +0 -34
  148. package/cjs/services/earning-service/handlers/native-staking/para-chain.js +0 -385
  149. package/cjs/services/earning-service/handlers/native-staking/relay-chain.js +0 -558
  150. package/cjs/services/earning-service/handlers/nomination-pool/index.js +0 -560
  151. package/cjs/services/earning-service/handlers/special.js +0 -503
  152. package/cjs/services/earning-service/service.js +0 -387
  153. package/cjs/services/earning-service/utils/index.js +0 -128
  154. package/cjs/services/migration-service/scripts/DeleteEarningData.js +0 -21
  155. package/cjs/services/migration-service/scripts/EnableEarningChains.js +0 -21
  156. package/cjs/services/migration-service/scripts/MigrateEthProvider.js +0 -17
  157. package/cjs/services/migration-service/scripts/MigratePioneerProvider.js +0 -17
  158. package/cjs/services/migration-service/scripts/MigrateProvider.js +0 -29
  159. package/cjs/services/migration-service/scripts/databases/MigrateEarningHistory.js +0 -21
  160. package/cjs/services/migration-service/scripts/databases/MigrateEarningVersion.js +0 -21
  161. package/cjs/services/mint-campaign-service/campaigns/UnlockDotCampaign.js +0 -149
  162. package/cjs/services/mint-campaign-service/campaigns/index.js +0 -13
  163. package/cjs/services/mint-campaign-service/constants.js +0 -11
  164. package/cjs/services/mint-campaign-service/index.js +0 -18
  165. package/cjs/services/storage-service/db-stores/YieldPoolStore.js +0 -36
  166. package/cjs/services/storage-service/db-stores/YieldPositionStore.js +0 -65
  167. package/cjs/services/storage-service/index.js +0 -241
  168. package/cjs/types/campaigns/index.js +0 -16
  169. package/cjs/types/campaigns/unlock-dot.js +0 -1
  170. package/cjs/types/ordinal.js +0 -1
  171. package/cjs/types/transaction.js +0 -1
  172. package/cjs/types/yield/actions/index.js +0 -27
  173. package/cjs/types/yield/actions/join/index.js +0 -38
  174. package/cjs/types/yield/actions/join/step.js +0 -47
  175. package/cjs/types/yield/actions/join/submit.js +0 -1
  176. package/cjs/types/yield/actions/join/validate.js +0 -16
  177. package/cjs/types/yield/actions/others.js +0 -1
  178. package/cjs/types/yield/index.js +0 -27
  179. package/cjs/types/yield/info/account/index.js +0 -49
  180. package/cjs/types/yield/info/account/info.js +0 -1
  181. package/cjs/types/yield/info/account/reward.js +0 -1
  182. package/cjs/types/yield/info/account/target.js +0 -32
  183. package/cjs/types/yield/info/account/unstake.js +0 -27
  184. package/cjs/types/yield/info/base.js +0 -41
  185. package/cjs/types/yield/info/chain/index.js +0 -27
  186. package/cjs/types/yield/info/chain/info.js +0 -1
  187. package/cjs/types/yield/info/chain/target.js +0 -1
  188. package/cjs/types/yield/info/index.js +0 -49
  189. package/cjs/types/yield/info/pallet.js +0 -15
  190. package/cjs/types.js +0 -1
  191. package/cjs/utils/address.js +0 -34
  192. package/cjs/utils/keyring.js +0 -57
  193. package/cjs/utils/object.js +0 -12
  194. package/koni/api/nft/ordinal_nft/constants.d.ts +0 -9
  195. package/koni/api/nft/ordinal_nft/constants.js +0 -12
  196. package/koni/api/nft/ordinal_nft/index.d.ts +0 -8
  197. package/koni/api/nft/ordinal_nft/index.js +0 -114
  198. package/koni/api/nft/ordinal_nft/utils.d.ts +0 -2
  199. package/koni/api/nft/ordinal_nft/utils.js +0 -33
  200. package/koni/api/yield/helper/utils.d.ts +0 -10
  201. package/koni/api/yield/helper/utils.js +0 -32
  202. package/services/earning-service/constants/abis/compound_finance_v2_abi.json +0 -1235
  203. package/services/earning-service/constants/abis/st_liquid_token_abi.json +0 -1355
  204. package/services/earning-service/constants/chains.d.ts +0 -14
  205. package/services/earning-service/constants/chains.js +0 -21
  206. package/services/earning-service/constants/index.d.ts +0 -2
  207. package/services/earning-service/constants/index.js +0 -5
  208. package/services/earning-service/constants/step.d.ts +0 -3
  209. package/services/earning-service/constants/step.js +0 -10
  210. package/services/earning-service/handlers/base.d.ts +0 -112
  211. package/services/earning-service/handlers/base.js +0 -253
  212. package/services/earning-service/handlers/index.d.ts +0 -5
  213. package/services/earning-service/handlers/index.js +0 -8
  214. package/services/earning-service/handlers/lending/base.d.ts +0 -6
  215. package/services/earning-service/handlers/lending/base.js +0 -12
  216. package/services/earning-service/handlers/lending/index.d.ts +0 -1
  217. package/services/earning-service/handlers/lending/index.js +0 -4
  218. package/services/earning-service/handlers/lending/interlay.d.ts +0 -24
  219. package/services/earning-service/handlers/lending/interlay.js +0 -183
  220. package/services/earning-service/handlers/liquid-staking/acala.d.ts +0 -27
  221. package/services/earning-service/handlers/liquid-staking/acala.js +0 -231
  222. package/services/earning-service/handlers/liquid-staking/base.d.ts +0 -9
  223. package/services/earning-service/handlers/liquid-staking/base.js +0 -35
  224. package/services/earning-service/handlers/liquid-staking/bifrost.d.ts +0 -46
  225. package/services/earning-service/handlers/liquid-staking/bifrost.js +0 -286
  226. package/services/earning-service/handlers/liquid-staking/index.d.ts +0 -4
  227. package/services/earning-service/handlers/liquid-staking/index.js +0 -7
  228. package/services/earning-service/handlers/liquid-staking/parallel.d.ts +0 -26
  229. package/services/earning-service/handlers/liquid-staking/parallel.js +0 -218
  230. package/services/earning-service/handlers/liquid-staking/stella-swap.d.ts +0 -34
  231. package/services/earning-service/handlers/liquid-staking/stella-swap.js +0 -385
  232. package/services/earning-service/handlers/native-staking/amplitude.d.ts +0 -22
  233. package/services/earning-service/handlers/native-staking/amplitude.js +0 -375
  234. package/services/earning-service/handlers/native-staking/astar.d.ts +0 -19
  235. package/services/earning-service/handlers/native-staking/astar.js +0 -451
  236. package/services/earning-service/handlers/native-staking/base-para.d.ts +0 -11
  237. package/services/earning-service/handlers/native-staking/base-para.js +0 -138
  238. package/services/earning-service/handlers/native-staking/base.d.ts +0 -21
  239. package/services/earning-service/handlers/native-staking/base.js +0 -150
  240. package/services/earning-service/handlers/native-staking/index.d.ts +0 -4
  241. package/services/earning-service/handlers/native-staking/index.js +0 -7
  242. package/services/earning-service/handlers/native-staking/para-chain.d.ts +0 -15
  243. package/services/earning-service/handlers/native-staking/para-chain.js +0 -377
  244. package/services/earning-service/handlers/native-staking/relay-chain.d.ts +0 -21
  245. package/services/earning-service/handlers/native-staking/relay-chain.js +0 -549
  246. package/services/earning-service/handlers/nomination-pool/index.d.ts +0 -36
  247. package/services/earning-service/handlers/nomination-pool/index.js +0 -550
  248. package/services/earning-service/handlers/special.d.ts +0 -65
  249. package/services/earning-service/handlers/special.js +0 -495
  250. package/services/earning-service/service.d.ts +0 -45
  251. package/services/earning-service/service.js +0 -379
  252. package/services/earning-service/utils/index.d.ts +0 -18
  253. package/services/earning-service/utils/index.js +0 -112
  254. package/services/migration-service/scripts/DeleteEarningData.d.ts +0 -4
  255. package/services/migration-service/scripts/DeleteEarningData.js +0 -13
  256. package/services/migration-service/scripts/EnableEarningChains.d.ts +0 -4
  257. package/services/migration-service/scripts/EnableEarningChains.js +0 -13
  258. package/services/migration-service/scripts/databases/MigrateEarningHistory.d.ts +0 -4
  259. package/services/migration-service/scripts/databases/MigrateEarningHistory.js +0 -13
  260. package/services/migration-service/scripts/databases/MigrateEarningVersion.d.ts +0 -4
  261. package/services/migration-service/scripts/databases/MigrateEarningVersion.js +0 -13
  262. package/services/mint-campaign-service/campaigns/UnlockDotCampaign.d.ts +0 -13
  263. package/services/mint-campaign-service/campaigns/UnlockDotCampaign.js +0 -139
  264. package/services/mint-campaign-service/campaigns/index.d.ts +0 -1
  265. package/services/mint-campaign-service/campaigns/index.js +0 -4
  266. package/services/mint-campaign-service/constants.d.ts +0 -1
  267. package/services/mint-campaign-service/constants.js +0 -4
  268. package/services/mint-campaign-service/index.d.ts +0 -7
  269. package/services/mint-campaign-service/index.js +0 -11
  270. package/services/storage-service/db-stores/YieldPoolStore.d.ts +0 -10
  271. package/services/storage-service/db-stores/YieldPoolStore.js +0 -28
  272. package/services/storage-service/db-stores/YieldPositionStore.d.ts +0 -9
  273. package/services/storage-service/db-stores/YieldPositionStore.js +0 -57
  274. package/types/campaigns/index.d.ts +0 -1
  275. package/types/campaigns/index.js +0 -4
  276. package/types/campaigns/unlock-dot.d.ts +0 -71
  277. package/types/campaigns/unlock-dot.js +0 -1
  278. package/types/ordinal.d.ts +0 -69
  279. package/types/ordinal.js +0 -1
  280. package/types/transaction.d.ts +0 -3
  281. package/types/transaction.js +0 -1
  282. package/types/yield/actions/index.d.ts +0 -2
  283. package/types/yield/actions/index.js +0 -5
  284. package/types/yield/actions/join/index.d.ts +0 -3
  285. package/types/yield/actions/join/index.js +0 -6
  286. package/types/yield/actions/join/step.d.ts +0 -95
  287. package/types/yield/actions/join/step.js +0 -46
  288. package/types/yield/actions/join/submit.d.ts +0 -57
  289. package/types/yield/actions/join/submit.js +0 -1
  290. package/types/yield/actions/join/validate.d.ts +0 -18
  291. package/types/yield/actions/join/validate.js +0 -10
  292. package/types/yield/actions/others.d.ts +0 -85
  293. package/types/yield/actions/others.js +0 -1
  294. package/types/yield/index.d.ts +0 -2
  295. package/types/yield/index.js +0 -5
  296. package/types/yield/info/account/index.d.ts +0 -4
  297. package/types/yield/info/account/index.js +0 -7
  298. package/types/yield/info/account/info.d.ts +0 -92
  299. package/types/yield/info/account/info.js +0 -1
  300. package/types/yield/info/account/reward.d.ts +0 -45
  301. package/types/yield/info/account/reward.js +0 -1
  302. package/types/yield/info/account/target.d.ts +0 -43
  303. package/types/yield/info/account/target.js +0 -27
  304. package/types/yield/info/account/unstake.d.ts +0 -31
  305. package/types/yield/info/account/unstake.js +0 -22
  306. package/types/yield/info/base.d.ts +0 -45
  307. package/types/yield/info/base.js +0 -36
  308. package/types/yield/info/chain/index.d.ts +0 -2
  309. package/types/yield/info/chain/index.js +0 -5
  310. package/types/yield/info/chain/info.d.ts +0 -251
  311. package/types/yield/info/chain/info.js +0 -1
  312. package/types/yield/info/chain/target.d.ts +0 -37
  313. package/types/yield/info/chain/target.js +0 -1
  314. package/types/yield/info/index.d.ts +0 -4
  315. package/types/yield/info/index.js +0 -7
  316. package/types/yield/info/pallet.d.ts +0 -143
  317. package/types/yield/info/pallet.js +0 -9
  318. package/utils/object.d.ts +0 -1
  319. package/utils/object.js +0 -6
@@ -1,191 +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/services/chain-service/utils");
11
- var _types = require("@subwallet/extension-base/types");
12
- var _util = require("@polkadot/util");
13
- var _constants = require("../../constants");
14
- var _base = _interopRequireDefault(require("./base"));
15
- // Copyright 2019-2022 @subwallet/extension-base
16
- // SPDX-License-Identifier: Apache-2.0
17
-
18
- class InterlayLendingPoolHandler extends _base.default {
19
- altInputAsset = 'polkadot-NATIVE-DOT';
20
- derivativeAssets = ['interlay-LOCAL-qDOT'];
21
- inputAsset = 'interlay-LOCAL-DOT';
22
- rewardAssets = ['interlay-LOCAL-DOT'];
23
- feeAssets = ['interlay-NATIVE-INTR', 'interlay-LOCAL-DOT'];
24
- availableMethod = {
25
- join: true,
26
- defaultUnstake: false,
27
- fastUnstake: true,
28
- cancelUnstake: false,
29
- withdraw: false,
30
- claimReward: false
31
- };
32
- rateDecimals = 18;
33
- constructor(state, chain) {
34
- super(state, chain);
35
- const chainInfo = this.chainInfo;
36
- this.slug = `DOT___lending___${chain}`;
37
- this.name = `${chainInfo.name} Lending`;
38
- this.shortName = chainInfo.name.replaceAll(' Relay Chain', '');
39
- }
40
- getDescription() {
41
- return 'Earn rewards by lending DOT';
42
- }
43
-
44
- /* Subscribe pool info */
45
-
46
- async getPoolStat() {
47
- const substrateApi = await this.substrateApi.isReady;
48
- const inputTokenSlug = this.inputAsset;
49
- const inputTokenInfo = this.state.getAssetBySlug(inputTokenSlug);
50
- const _exchangeRate = await substrateApi.api.query.loans.exchangeRate((0, _utils._getTokenOnChainInfo)(inputTokenInfo));
51
- const exchangeRate = _exchangeRate.toPrimitive();
52
- const decimals = 10 ** this.rateDecimals;
53
- this.updateExchangeRate(exchangeRate);
54
- return {
55
- ...this.baseInfo,
56
- type: this.type,
57
- metadata: {
58
- ...this.metadataInfo,
59
- description: this.getDescription()
60
- },
61
- statistic: {
62
- assetEarning: [{
63
- slug: this.rewardAssets[0],
64
- apr: 1.29,
65
- exchangeRate: exchangeRate / decimals
66
- }],
67
- maxCandidatePerFarmer: 1,
68
- maxWithdrawalRequestPerFarmer: 1,
69
- earningThreshold: {
70
- join: '10000000000',
71
- defaultUnstake: '0',
72
- fastUnstake: '0'
73
- },
74
- totalApr: 1.29,
75
- tvl: '291890000000000'
76
- }
77
- };
78
- }
79
-
80
- /* Subscribe pool info */
81
-
82
- /* Subscribe pool position */
83
-
84
- async subscribePoolPosition(useAddresses, resultCallback) {
85
- let cancel = false;
86
- const substrateApi = this.substrateApi;
87
- await substrateApi.isReady;
88
- const derivativeTokenSlug = this.derivativeAssets[0];
89
- const derivativeTokenInfo = this.state.getAssetBySlug(derivativeTokenSlug);
90
- const unsub = await substrateApi.api.query.tokens.accounts.multi(useAddresses.map(address => [address, (0, _utils._getTokenOnChainInfo)(derivativeTokenInfo)]), async _balances => {
91
- if (cancel) {
92
- unsub();
93
- return;
94
- }
95
- const exchangeRate = await this.getExchangeRate();
96
- const decimals = _util.BN_TEN.pow(new _util.BN(this.rateDecimals));
97
- const balances = _balances;
98
- for (let i = 0; i < balances.length; i++) {
99
- const balanceItem = balances[i];
100
- const address = useAddresses[i];
101
- const bnActiveBalance = balanceItem.free || _util.BN_ZERO;
102
- const bnTotalBalance = bnActiveBalance.mul(new _util.BN(exchangeRate)).div(decimals);
103
- const result = {
104
- ...this.baseInfo,
105
- type: this.type,
106
- address,
107
- balanceToken: this.inputAsset,
108
- totalStake: bnTotalBalance.toString(),
109
- activeStake: bnActiveBalance.toString(),
110
- unstakeBalance: '0',
111
- status: _types.EarningStatus.EARNING_REWARD,
112
- derivativeToken: derivativeTokenSlug,
113
- isBondedBefore: bnTotalBalance.gt(_util.BN_ZERO),
114
- nominations: [],
115
- unstakings: []
116
- };
117
- resultCallback(result);
118
- }
119
- });
120
- return () => {
121
- cancel = true;
122
- unsub();
123
- };
124
- }
125
-
126
- /* Subscribe pool position */
127
-
128
- /* Join pool action */
129
-
130
- get submitJoinStepInfo() {
131
- return {
132
- name: 'Mint qDOT',
133
- type: _types.YieldStepType.MINT_QDOT
134
- };
135
- }
136
- async getSubmitStepFee(params) {
137
- const poolOriginSubstrateApi = await this.substrateApi.isReady;
138
- const inputTokenSlug = this.inputAsset;
139
- const inputTokenInfo = this.state.getAssetBySlug(inputTokenSlug);
140
- const defaultFeeTokenSlug = this.feeAssets[0];
141
- if (new _util.BN(params.amount).gt(_util.BN_ZERO)) {
142
- const _mintFeeInfo = await poolOriginSubstrateApi.api.tx.loans.mint((0, _utils._getTokenOnChainInfo)(inputTokenInfo), params.amount).paymentInfo(_constants.fakeAddress);
143
- const mintFeeInfo = _mintFeeInfo.toPrimitive();
144
- return {
145
- amount: mintFeeInfo.partialFee.toString(),
146
- slug: defaultFeeTokenSlug
147
- };
148
- } else {
149
- return {
150
- amount: '0',
151
- slug: defaultFeeTokenSlug
152
- };
153
- }
154
- }
155
- async handleSubmitStep(data, path) {
156
- const substrateApi = await this.substrateApi.isReady;
157
- const inputTokenSlug = this.inputAsset;
158
- const inputTokenInfo = this.state.getAssetBySlug(inputTokenSlug);
159
- const extrinsic = substrateApi.api.tx.loans.mint((0, _utils._getTokenOnChainInfo)(inputTokenInfo), data.amount);
160
- return {
161
- txChain: this.chain,
162
- extrinsicType: _KoniTypes.ExtrinsicType.MINT_QDOT,
163
- extrinsic,
164
- txData: data,
165
- transferNativeAmount: '0'
166
- };
167
- }
168
-
169
- /* Join pool action */
170
-
171
- /* Leave pool action */
172
-
173
- async handleYieldRedeem(amount, address, selectedTarget) {
174
- const substrateApi = await this.substrateApi.isReady;
175
- // @ts-ignore
176
- const inputTokenSlug = this.inputAsset;
177
- const inputTokenInfo = this.state.getAssetBySlug(inputTokenSlug);
178
- const yieldPositionInfo = await this.getPoolPosition(address);
179
- if (!yieldPositionInfo) {
180
- return Promise.reject(new _TransactionError.TransactionError(_KoniTypes.BasicTxErrorType.INVALID_PARAMS));
181
- }
182
- const bnAmount = new _util.BN(amount);
183
- const bnActiveBalance = new _util.BN(yieldPositionInfo.activeStake);
184
- const redeemAll = bnAmount.eq(bnActiveBalance);
185
- const extrinsic = !redeemAll ? substrateApi.api.tx.loans.redeem((0, _utils._getTokenOnChainInfo)(inputTokenInfo), amount) : substrateApi.api.tx.loans.redeemAll((0, _utils._getTokenOnChainInfo)(inputTokenInfo));
186
- return [_KoniTypes.ExtrinsicType.REDEEM_QDOT, extrinsic];
187
- }
188
-
189
- /* Leave pool action */
190
- }
191
- exports.default = InterlayLendingPoolHandler;
@@ -1,239 +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 _constants = require("@subwallet/extension-base/services/earning-service/constants");
11
- var _types = require("@subwallet/extension-base/types");
12
- var _crossFetch = _interopRequireDefault(require("cross-fetch"));
13
- var _util = require("@polkadot/util");
14
- var _base = _interopRequireDefault(require("./base"));
15
- // Copyright 2019-2022 @subwallet/extension-base
16
- // SPDX-License-Identifier: Apache-2.0
17
-
18
- const GRAPHQL_API = 'https://api.polkawallet.io/acala-liquid-staking-subql';
19
- const EXCHANGE_RATE_REQUEST = 'query { dailySummaries(first:30, orderBy:TIMESTAMP_DESC) {nodes { exchangeRate timestamp }}}';
20
- class AcalaLiquidStakingPoolHandler extends _base.default {
21
- altInputAsset = 'polkadot-NATIVE-DOT';
22
- derivativeAssets = ['acala-LOCAL-LDOT'];
23
- inputAsset = 'acala-LOCAL-DOT';
24
- rewardAssets = ['acala-LOCAL-DOT'];
25
- feeAssets = ['acala-NATIVE-ACA', 'acala-LOCAL-DOT'];
26
- minAmountPercent = 0.98;
27
- rateDecimals = 10;
28
- availableMethod = {
29
- join: true,
30
- defaultUnstake: true,
31
- fastUnstake: true,
32
- cancelUnstake: false,
33
- withdraw: true,
34
- claimReward: false
35
- };
36
- constructor(state, chain) {
37
- super(state, chain);
38
- const chainInfo = this.chainInfo;
39
- this.slug = `DOT___liquid_staking___${chain}`;
40
- this.name = `${chainInfo.name} Liquid Staking`;
41
- this.shortName = chainInfo.name.replaceAll(' Relay Chain', '');
42
- }
43
- getDescription() {
44
- return 'Stake DOT to earn yield on LDOT';
45
- }
46
-
47
- /* Subscribe pool info */
48
-
49
- async getPoolStat() {
50
- const substrateApi = await this.substrateApi.isReady;
51
- const stakingMetaPromise = new Promise(function (resolve) {
52
- (0, _crossFetch.default)(GRAPHQL_API, {
53
- method: 'POST',
54
- headers: {
55
- 'Content-Type': 'application/json'
56
- },
57
- body: JSON.stringify({
58
- query: EXCHANGE_RATE_REQUEST
59
- })
60
- }).then(res => {
61
- resolve(res.json());
62
- }).catch(console.error);
63
- });
64
- const [_toBondPool, _totalStakingBonded, _stakingMeta] = await Promise.all([substrateApi.api.query.homa.toBondPool(), substrateApi.api.query.homa.totalStakingBonded(), stakingMetaPromise]);
65
- const mintThreshold = substrateApi.api.consts.homa.mintThreshold.toString();
66
- const redeemThreshold = substrateApi.api.consts.homa.redeemThreshold.toString();
67
- const stakingMeta = _stakingMeta;
68
- const stakingMetaList = stakingMeta.data.dailySummaries.nodes;
69
- const latestExchangeRate = parseInt(stakingMetaList[0].exchangeRate);
70
- const decimals = 10 ** this.rateDecimals;
71
- this.updateExchangeRate(latestExchangeRate);
72
- const endingBalance = parseInt(stakingMetaList[0].exchangeRate);
73
- const beginBalance = parseInt(stakingMetaList[29].exchangeRate);
74
- const diff = endingBalance / beginBalance;
75
- const apy = diff ** (365 / 30) - 1;
76
- const toBondPool = new _util.BN(_toBondPool.toString());
77
- const totalStakingBonded = new _util.BN(_totalStakingBonded.toString());
78
- return {
79
- ...this.baseInfo,
80
- type: this.type,
81
- metadata: {
82
- ...this.metadataInfo,
83
- description: this.getDescription()
84
- },
85
- statistic: {
86
- assetEarning: [{
87
- slug: this.rewardAssets[0],
88
- apy: apy * 100,
89
- exchangeRate: latestExchangeRate / decimals
90
- }],
91
- unstakingPeriod: 24 * 28,
92
- maxCandidatePerFarmer: 1,
93
- maxWithdrawalRequestPerFarmer: 1,
94
- earningThreshold: {
95
- join: mintThreshold,
96
- defaultUnstake: redeemThreshold,
97
- fastUnstake: '0'
98
- },
99
- totalApy: apy * 100,
100
- tvl: totalStakingBonded.add(toBondPool).toString()
101
- }
102
- };
103
- }
104
-
105
- /* Subscribe pool info */
106
-
107
- /* Subscribe pool position */
108
-
109
- async subscribePoolPosition(useAddresses, resultCallback) {
110
- let cancel = false;
111
- const substrateApi = this.substrateApi;
112
- await substrateApi.isReady;
113
- const derivativeTokenSlug = this.derivativeAssets[0];
114
- const derivativeTokenInfo = this.state.getAssetBySlug(derivativeTokenSlug);
115
- const unsub = await substrateApi.api.query.tokens.accounts.multi(useAddresses.map(address => [address, (0, _utils._getTokenOnChainInfo)(derivativeTokenInfo)]), async _balances => {
116
- if (cancel) {
117
- unsub();
118
- return;
119
- }
120
- const balances = _balances;
121
- const redeemRequests = await substrateApi.api.query.homa.redeemRequests.multi(useAddresses);
122
- const exchangeRate = await this.getExchangeRate();
123
- const decimals = _util.BN_TEN.pow(new _util.BN(this.rateDecimals));
124
- for (let i = 0; i < balances.length; i++) {
125
- const balanceItem = balances[i];
126
- const address = useAddresses[i];
127
- const activeTotalBalance = balanceItem.free || _util.BN_ZERO;
128
- let totalBalance = activeTotalBalance.mul(new _util.BN(exchangeRate)).div(decimals);
129
- let unlockingBalance = _util.BN_ZERO;
130
- const unstakings = [];
131
- const redeemRequest = redeemRequests[i].toPrimitive();
132
- if (redeemRequest) {
133
- const [redeemAmount, withdrawable] = redeemRequest;
134
- const amount = new _util.BN(redeemAmount);
135
- totalBalance = totalBalance.add(amount);
136
- unlockingBalance = unlockingBalance.add(amount);
137
- unstakings.push({
138
- chain: this.chain,
139
- status: withdrawable ? _types.UnstakingStatus.CLAIMABLE : _types.UnstakingStatus.UNLOCKING,
140
- claimable: redeemAmount.toString()
141
- });
142
- }
143
- const result = {
144
- ...this.baseInfo,
145
- type: this.type,
146
- address,
147
- balanceToken: this.inputAsset,
148
- totalStake: totalBalance.toString(),
149
- activeStake: activeTotalBalance.toString(),
150
- unstakeBalance: unlockingBalance.toString(),
151
- status: _types.EarningStatus.EARNING_REWARD,
152
- derivativeToken: derivativeTokenSlug,
153
- isBondedBefore: totalBalance.gt(_util.BN_ZERO),
154
- nominations: [],
155
- unstakings: unstakings
156
- };
157
- resultCallback(result);
158
- }
159
- });
160
- return () => {
161
- cancel = true;
162
- unsub();
163
- };
164
- }
165
-
166
- /* Subscribe pool position */
167
-
168
- /* Join pool action */
169
-
170
- get submitJoinStepInfo() {
171
- return {
172
- name: 'Mint LDOT',
173
- type: _types.YieldStepType.MINT_LDOT
174
- };
175
- }
176
- async getSubmitStepFee(params) {
177
- const poolOriginSubstrateApi = await this.substrateApi.isReady;
178
- const defaultFeeTokenSlug = this.feeAssets[0];
179
- if (new _util.BN(params.amount).gt(_util.BN_ZERO)) {
180
- const _mintFeeInfo = await poolOriginSubstrateApi.api.tx.homa.mint(params.amount).paymentInfo(_constants.fakeAddress);
181
- const mintFeeInfo = _mintFeeInfo.toPrimitive();
182
- return {
183
- amount: mintFeeInfo.partialFee.toString(),
184
- slug: defaultFeeTokenSlug
185
- };
186
- } else {
187
- return {
188
- amount: '0',
189
- slug: defaultFeeTokenSlug
190
- };
191
- }
192
- }
193
- async handleSubmitStep(data, path) {
194
- const substrateApi = await this.substrateApi.isReady;
195
- const extrinsic = substrateApi.api.tx.homa.mint(data.amount);
196
- return {
197
- txChain: this.chain,
198
- extrinsicType: _KoniTypes.ExtrinsicType.MINT_LDOT,
199
- extrinsic,
200
- txData: data,
201
- transferNativeAmount: '0'
202
- };
203
- }
204
-
205
- /* Join pool action */
206
-
207
- /* Leave pool action */
208
-
209
- async handleYieldRedeem(amount, address, selectedTarget) {
210
- const substrateApi = await this.substrateApi.isReady;
211
- const weightedMinAmount = await this.createParamToRedeem(amount, address);
212
- const extrinsic = substrateApi.api.tx.aggregatedDex.swapWithExactSupply(
213
- // Swap path
214
- [{
215
- Taiga: [0, /* pool id */
216
- 1, /* supply asset */
217
- 0 /* target asset */]
218
- }],
219
- // Supply amount
220
- amount,
221
- // Min target amount
222
- weightedMinAmount // should always set a min target to prevent unexpected result
223
- );
224
-
225
- return [_KoniTypes.ExtrinsicType.REDEEM_LDOT, extrinsic];
226
- }
227
- async handleYieldUnstake(amount, address, selectedTarget) {
228
- const chainApi = await this.substrateApi.isReady;
229
- const extrinsic = chainApi.api.tx.homa.requestRedeem(amount, false);
230
- return [_KoniTypes.ExtrinsicType.UNSTAKE_LDOT, extrinsic];
231
- }
232
- async handleYieldWithdraw(address, unstakingInfo) {
233
- const chainApi = await this.substrateApi.isReady;
234
- return chainApi.api.tx.homa.claimRedemption(address);
235
- }
236
-
237
- /* Leave pool action */
238
- }
239
- exports.default = AcalaLiquidStakingPoolHandler;
@@ -1,43 +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/yield/helper/utils");
11
- var _types = require("@subwallet/extension-base/types");
12
- var _special = _interopRequireDefault(require("../special"));
13
- // Copyright 2019-2022 @subwallet/extension-base
14
- // SPDX-License-Identifier: Apache-2.0
15
-
16
- const DEFAULT_MIN_AMOUNT_PERCENT = 0.98;
17
- class BaseLiquidStakingPoolHandler extends _special.default {
18
- type = _types.YieldPoolType.LIQUID_STAKING;
19
- /** Rate convert token when redeem */
20
- minAmountPercent = DEFAULT_MIN_AMOUNT_PERCENT;
21
- static get defaultMinAmountPercent() {
22
- return DEFAULT_MIN_AMOUNT_PERCENT;
23
- }
24
-
25
- /* Leave pool action */
26
-
27
- async createParamToRedeem(amount, address) {
28
- const yieldPositionInfo = await this.getPoolPosition(address);
29
- const poolInfo = await this.getPoolInfo();
30
- const originTokenSlug = this.inputAsset;
31
- const derivativeTokenSlug = this.derivativeAssets[0];
32
- const derivativeTokenInfo = this.state.getAssetBySlug(derivativeTokenSlug);
33
- const originTokenInfo = this.state.getAssetBySlug(originTokenSlug);
34
- if (!yieldPositionInfo || !poolInfo) {
35
- return Promise.reject(new _TransactionError.TransactionError(_KoniTypes.BasicTxErrorType.INVALID_PARAMS));
36
- }
37
- const formattedMinAmount = (0, _utils.convertDerivativeToOriginToken)(amount, poolInfo, derivativeTokenInfo, originTokenInfo);
38
- return Math.floor(this.minAmountPercent * formattedMinAmount);
39
- }
40
-
41
- /* Leave pool action */
42
- }
43
- exports.default = BaseLiquidStakingPoolHandler;