@subwallet/extension-base 1.1.29-0 → 1.1.29-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (293) hide show
  1. package/background/KoniTypes.d.ts +95 -68
  2. package/background/KoniTypes.js +16 -13
  3. package/background/errors/TransactionError.js +9 -0
  4. package/cjs/background/KoniTypes.js +17 -16
  5. package/cjs/background/errors/TransactionError.js +9 -0
  6. package/cjs/constants/index.js +19 -4
  7. package/cjs/koni/api/nft/config.js +33 -23
  8. package/cjs/koni/api/nft/index.js +14 -0
  9. package/cjs/koni/api/nft/nft.js +1 -22
  10. package/cjs/koni/api/nft/ordinal_nft/constants.js +21 -0
  11. package/cjs/koni/api/nft/ordinal_nft/index.js +121 -0
  12. package/cjs/koni/api/nft/ordinal_nft/utils.js +41 -0
  13. package/cjs/koni/api/staking/bonding/amplitude.js +17 -15
  14. package/cjs/koni/api/staking/bonding/astar.js +11 -10
  15. package/cjs/koni/api/staking/bonding/index.js +4 -1
  16. package/cjs/koni/api/staking/bonding/paraChain.js +25 -23
  17. package/cjs/koni/api/staking/bonding/relayChain.js +48 -45
  18. package/cjs/koni/api/staking/bonding/utils.js +104 -86
  19. package/cjs/koni/api/staking/index.js +6 -5
  20. package/cjs/koni/api/staking/paraChain.js +6 -5
  21. package/cjs/koni/api/staking/relayChain.js +3 -2
  22. package/cjs/koni/api/yield/helper/utils.js +46 -0
  23. package/cjs/koni/background/cron.js +11 -1
  24. package/cjs/koni/background/handlers/Extension.js +362 -69
  25. package/cjs/koni/background/handlers/State.js +51 -3
  26. package/cjs/koni/background/handlers/index.js +4 -2
  27. package/cjs/koni/background/subscription.js +95 -37
  28. package/cjs/services/campaign-service/index.js +9 -6
  29. package/cjs/services/chain-service/constants.js +2 -16
  30. package/cjs/services/chain-service/utils.js +7 -1
  31. package/cjs/services/earning-service/constants/chains.js +29 -0
  32. package/cjs/services/earning-service/constants/index.js +27 -0
  33. package/cjs/services/earning-service/constants/step.js +18 -0
  34. package/cjs/services/earning-service/handlers/base.js +232 -0
  35. package/cjs/services/earning-service/handlers/index.js +60 -0
  36. package/cjs/services/earning-service/handlers/lending/base.js +20 -0
  37. package/cjs/services/earning-service/handlers/lending/index.js +13 -0
  38. package/cjs/services/earning-service/handlers/lending/interlay.js +184 -0
  39. package/cjs/services/earning-service/handlers/liquid-staking/acala.js +217 -0
  40. package/cjs/services/earning-service/handlers/liquid-staking/base.js +43 -0
  41. package/cjs/services/earning-service/handlers/liquid-staking/bifrost.js +283 -0
  42. package/cjs/services/earning-service/handlers/liquid-staking/index.js +34 -0
  43. package/cjs/services/earning-service/handlers/liquid-staking/parallel.js +196 -0
  44. package/cjs/services/earning-service/handlers/liquid-staking/stella-swap.js +409 -0
  45. package/cjs/services/earning-service/handlers/native-staking/amplitude.js +382 -0
  46. package/cjs/services/earning-service/handlers/native-staking/astar.js +459 -0
  47. package/cjs/services/earning-service/handlers/native-staking/base-para.js +137 -0
  48. package/cjs/services/earning-service/handlers/native-staking/base.js +159 -0
  49. package/cjs/services/earning-service/handlers/native-staking/index.js +34 -0
  50. package/cjs/services/earning-service/handlers/native-staking/para-chain.js +383 -0
  51. package/cjs/services/earning-service/handlers/native-staking/relay-chain.js +542 -0
  52. package/cjs/services/earning-service/handlers/nomination-pool/index.js +541 -0
  53. package/cjs/services/earning-service/handlers/special.js +411 -0
  54. package/cjs/services/earning-service/service.js +387 -0
  55. package/cjs/services/earning-service/utils/index.js +128 -0
  56. package/cjs/services/event-service/index.js +4 -0
  57. package/cjs/services/keyring-service/index.js +14 -2
  58. package/cjs/services/migration-service/scripts/DeleteEarningData.js +21 -0
  59. package/cjs/services/migration-service/scripts/EnableEarningChains.js +21 -0
  60. package/cjs/services/migration-service/scripts/MigrateLedgerAccount.js +1 -1
  61. package/cjs/services/migration-service/scripts/MigrateTransactionHistory.js +1 -1
  62. package/cjs/services/migration-service/scripts/databases/MigrateEarningHistory.js +21 -0
  63. package/cjs/services/migration-service/scripts/databases/MigrateEarningVersion.js +21 -0
  64. package/cjs/services/migration-service/scripts/index.js +7 -1
  65. package/cjs/services/mint-campaign-service/campaigns/UnlockDotCampaign.js +149 -0
  66. package/cjs/services/mint-campaign-service/campaigns/index.js +13 -0
  67. package/cjs/services/mint-campaign-service/constants.js +11 -0
  68. package/cjs/services/mint-campaign-service/index.js +18 -0
  69. package/cjs/services/notification-service/NotificationService.js +1 -1
  70. package/cjs/services/storage-service/DatabaseService.js +51 -0
  71. package/cjs/services/storage-service/databases/index.js +4 -0
  72. package/cjs/services/storage-service/db-stores/NominatorMetadata.js +3 -3
  73. package/cjs/services/storage-service/db-stores/YieldPoolStore.js +36 -0
  74. package/cjs/services/storage-service/db-stores/YieldPositionStore.js +65 -0
  75. package/cjs/services/subscan-service/index.js +16 -0
  76. package/cjs/services/transaction-service/event-parser/index.js +58 -0
  77. package/cjs/services/transaction-service/helpers/index.js +3 -1
  78. package/cjs/services/transaction-service/index.js +185 -74
  79. package/cjs/services/transaction-service/utils.js +1 -0
  80. package/cjs/types/campaigns/index.js +16 -0
  81. package/cjs/types/campaigns/unlock-dot.js +1 -0
  82. package/cjs/types/index.js +44 -0
  83. package/cjs/types/ordinal.js +1 -0
  84. package/cjs/types/transaction.js +1 -0
  85. package/cjs/types/yield/actions/index.js +27 -0
  86. package/cjs/types/yield/actions/join/index.js +38 -0
  87. package/cjs/types/yield/actions/join/step.js +47 -0
  88. package/cjs/types/yield/actions/join/submit.js +1 -0
  89. package/cjs/types/yield/actions/join/validate.js +16 -0
  90. package/cjs/types/yield/actions/others.js +1 -0
  91. package/cjs/types/yield/index.js +27 -0
  92. package/cjs/types/yield/info/account/index.js +49 -0
  93. package/cjs/types/yield/info/account/info.js +1 -0
  94. package/cjs/types/yield/info/account/reward.js +1 -0
  95. package/cjs/types/yield/info/account/target.js +32 -0
  96. package/cjs/types/yield/info/account/unstake.js +27 -0
  97. package/cjs/types/yield/info/base.js +41 -0
  98. package/cjs/types/yield/info/chain/index.js +27 -0
  99. package/cjs/types/yield/info/chain/info.js +1 -0
  100. package/cjs/types/yield/info/chain/target.js +1 -0
  101. package/cjs/types/yield/info/index.js +49 -0
  102. package/cjs/types/yield/info/pallet.js +15 -0
  103. package/cjs/utils/fetchStaticData.js +2 -1
  104. package/cjs/utils/index.js +89 -1
  105. package/cjs/utils/object.js +12 -0
  106. package/cjs/utils/yield/index.js +3 -0
  107. package/constants/index.d.ts +6 -1
  108. package/constants/index.js +6 -1
  109. package/koni/api/nft/config.js +33 -23
  110. package/koni/api/nft/index.js +15 -1
  111. package/koni/api/nft/nft.js +2 -23
  112. package/koni/api/nft/ordinal_nft/constants.d.ts +9 -0
  113. package/koni/api/nft/ordinal_nft/constants.js +12 -0
  114. package/koni/api/nft/ordinal_nft/index.d.ts +8 -0
  115. package/koni/api/nft/ordinal_nft/index.js +114 -0
  116. package/koni/api/nft/ordinal_nft/utils.d.ts +2 -0
  117. package/koni/api/nft/ordinal_nft/utils.js +33 -0
  118. package/koni/api/staking/bonding/amplitude.js +11 -9
  119. package/koni/api/staking/bonding/astar.js +9 -8
  120. package/koni/api/staking/bonding/index.d.ts +1 -1
  121. package/koni/api/staking/bonding/index.js +5 -1
  122. package/koni/api/staking/bonding/paraChain.js +12 -10
  123. package/koni/api/staking/bonding/relayChain.d.ts +2 -2
  124. package/koni/api/staking/bonding/relayChain.js +33 -30
  125. package/koni/api/staking/bonding/utils.d.ts +15 -38
  126. package/koni/api/staking/bonding/utils.js +85 -69
  127. package/koni/api/staking/index.js +2 -1
  128. package/koni/api/staking/paraChain.js +7 -6
  129. package/koni/api/staking/relayChain.js +4 -3
  130. package/koni/api/yield/helper/utils.d.ts +10 -0
  131. package/koni/api/yield/helper/utils.js +32 -0
  132. package/koni/background/cron.d.ts +1 -0
  133. package/koni/background/cron.js +12 -2
  134. package/koni/background/handlers/Extension.d.ts +17 -1
  135. package/koni/background/handlers/Extension.js +321 -30
  136. package/koni/background/handlers/State.d.ts +18 -2
  137. package/koni/background/handlers/State.js +50 -3
  138. package/koni/background/handlers/index.js +4 -2
  139. package/koni/background/subscription.d.ts +6 -1
  140. package/koni/background/subscription.js +97 -38
  141. package/package.json +316 -3
  142. package/services/campaign-service/index.js +9 -6
  143. package/services/chain-service/constants.d.ts +0 -11
  144. package/services/chain-service/constants.js +1 -14
  145. package/services/chain-service/utils.d.ts +1 -0
  146. package/services/chain-service/utils.js +5 -1
  147. package/services/earning-service/constants/abis/compound_finance_v2_abi.json +1235 -0
  148. package/services/earning-service/constants/abis/st_liquid_token_abi.json +1355 -0
  149. package/services/earning-service/constants/chains.d.ts +14 -0
  150. package/services/earning-service/constants/chains.js +21 -0
  151. package/services/earning-service/constants/index.d.ts +2 -0
  152. package/services/earning-service/constants/index.js +5 -0
  153. package/services/earning-service/constants/step.d.ts +3 -0
  154. package/services/earning-service/constants/step.js +10 -0
  155. package/services/earning-service/handlers/base.d.ts +112 -0
  156. package/services/earning-service/handlers/base.js +226 -0
  157. package/services/earning-service/handlers/index.d.ts +5 -0
  158. package/services/earning-service/handlers/index.js +8 -0
  159. package/services/earning-service/handlers/lending/base.d.ts +6 -0
  160. package/services/earning-service/handlers/lending/base.js +12 -0
  161. package/services/earning-service/handlers/lending/index.d.ts +1 -0
  162. package/services/earning-service/handlers/lending/index.js +4 -0
  163. package/services/earning-service/handlers/lending/interlay.d.ts +23 -0
  164. package/services/earning-service/handlers/lending/interlay.js +176 -0
  165. package/services/earning-service/handlers/liquid-staking/acala.d.ts +26 -0
  166. package/services/earning-service/handlers/liquid-staking/acala.js +209 -0
  167. package/services/earning-service/handlers/liquid-staking/base.d.ts +9 -0
  168. package/services/earning-service/handlers/liquid-staking/base.js +35 -0
  169. package/services/earning-service/handlers/liquid-staking/bifrost.d.ts +45 -0
  170. package/services/earning-service/handlers/liquid-staking/bifrost.js +272 -0
  171. package/services/earning-service/handlers/liquid-staking/index.d.ts +4 -0
  172. package/services/earning-service/handlers/liquid-staking/index.js +7 -0
  173. package/services/earning-service/handlers/liquid-staking/parallel.d.ts +25 -0
  174. package/services/earning-service/handlers/liquid-staking/parallel.js +188 -0
  175. package/services/earning-service/handlers/liquid-staking/stella-swap.d.ts +34 -0
  176. package/services/earning-service/handlers/liquid-staking/stella-swap.js +399 -0
  177. package/services/earning-service/handlers/native-staking/amplitude.d.ts +22 -0
  178. package/services/earning-service/handlers/native-staking/amplitude.js +373 -0
  179. package/services/earning-service/handlers/native-staking/astar.d.ts +19 -0
  180. package/services/earning-service/handlers/native-staking/astar.js +449 -0
  181. package/services/earning-service/handlers/native-staking/base-para.d.ts +11 -0
  182. package/services/earning-service/handlers/native-staking/base-para.js +129 -0
  183. package/services/earning-service/handlers/native-staking/base.d.ts +21 -0
  184. package/services/earning-service/handlers/native-staking/base.js +150 -0
  185. package/services/earning-service/handlers/native-staking/index.d.ts +4 -0
  186. package/services/earning-service/handlers/native-staking/index.js +7 -0
  187. package/services/earning-service/handlers/native-staking/para-chain.d.ts +15 -0
  188. package/services/earning-service/handlers/native-staking/para-chain.js +375 -0
  189. package/services/earning-service/handlers/native-staking/relay-chain.d.ts +21 -0
  190. package/services/earning-service/handlers/native-staking/relay-chain.js +533 -0
  191. package/services/earning-service/handlers/nomination-pool/index.d.ts +35 -0
  192. package/services/earning-service/handlers/nomination-pool/index.js +531 -0
  193. package/services/earning-service/handlers/special.d.ts +56 -0
  194. package/services/earning-service/handlers/special.js +403 -0
  195. package/services/earning-service/service.d.ts +45 -0
  196. package/services/earning-service/service.js +379 -0
  197. package/services/earning-service/utils/index.d.ts +18 -0
  198. package/services/earning-service/utils/index.js +112 -0
  199. package/services/event-service/index.d.ts +1 -0
  200. package/services/event-service/index.js +4 -0
  201. package/services/event-service/types.d.ts +8 -0
  202. package/services/keyring-service/index.d.ts +2 -1
  203. package/services/keyring-service/index.js +14 -2
  204. package/services/migration-service/scripts/DeleteEarningData.d.ts +4 -0
  205. package/services/migration-service/scripts/DeleteEarningData.js +13 -0
  206. package/services/migration-service/scripts/EnableEarningChains.d.ts +4 -0
  207. package/services/migration-service/scripts/EnableEarningChains.js +13 -0
  208. package/services/migration-service/scripts/MigrateLedgerAccount.js +1 -1
  209. package/services/migration-service/scripts/MigrateTransactionHistory.js +1 -1
  210. package/services/migration-service/scripts/databases/MigrateEarningHistory.d.ts +4 -0
  211. package/services/migration-service/scripts/databases/MigrateEarningHistory.js +13 -0
  212. package/services/migration-service/scripts/databases/MigrateEarningVersion.d.ts +4 -0
  213. package/services/migration-service/scripts/databases/MigrateEarningVersion.js +13 -0
  214. package/services/migration-service/scripts/index.js +7 -1
  215. package/services/mint-campaign-service/campaigns/UnlockDotCampaign.d.ts +13 -0
  216. package/services/mint-campaign-service/campaigns/UnlockDotCampaign.js +139 -0
  217. package/services/mint-campaign-service/campaigns/index.d.ts +1 -0
  218. package/services/mint-campaign-service/campaigns/index.js +4 -0
  219. package/services/mint-campaign-service/constants.d.ts +1 -0
  220. package/services/mint-campaign-service/constants.js +4 -0
  221. package/services/mint-campaign-service/index.d.ts +7 -0
  222. package/services/mint-campaign-service/index.js +11 -0
  223. package/services/notification-service/NotificationService.js +1 -1
  224. package/services/storage-service/DatabaseService.d.ts +18 -1
  225. package/services/storage-service/DatabaseService.js +51 -0
  226. package/services/storage-service/databases/index.d.ts +3 -1
  227. package/services/storage-service/databases/index.js +4 -0
  228. package/services/storage-service/db-stores/NominatorMetadata.js +3 -3
  229. package/services/storage-service/db-stores/YieldPoolStore.d.ts +10 -0
  230. package/services/storage-service/db-stores/YieldPoolStore.js +28 -0
  231. package/services/storage-service/db-stores/YieldPositionStore.d.ts +9 -0
  232. package/services/storage-service/db-stores/YieldPositionStore.js +57 -0
  233. package/services/subscan-service/index.d.ts +3 -2
  234. package/services/subscan-service/index.js +15 -0
  235. package/services/subscan-service/types.d.ts +20 -0
  236. package/services/transaction-service/event-parser/index.d.ts +3 -1
  237. package/services/transaction-service/event-parser/index.js +57 -1
  238. package/services/transaction-service/helpers/index.js +3 -1
  239. package/services/transaction-service/index.d.ts +4 -15
  240. package/services/transaction-service/index.js +183 -72
  241. package/services/transaction-service/types.d.ts +2 -0
  242. package/services/transaction-service/utils.js +1 -0
  243. package/types/campaigns/index.d.ts +1 -0
  244. package/types/campaigns/index.js +4 -0
  245. package/types/campaigns/unlock-dot.d.ts +71 -0
  246. package/types/campaigns/unlock-dot.js +1 -0
  247. package/types/index.d.ts +5 -0
  248. package/types/index.js +5 -1
  249. package/types/ordinal.d.ts +69 -0
  250. package/types/ordinal.js +1 -0
  251. package/types/transaction.d.ts +3 -0
  252. package/types/transaction.js +1 -0
  253. package/types/yield/actions/index.d.ts +2 -0
  254. package/types/yield/actions/index.js +5 -0
  255. package/types/yield/actions/join/index.d.ts +3 -0
  256. package/types/yield/actions/join/index.js +6 -0
  257. package/types/yield/actions/join/step.d.ts +94 -0
  258. package/types/yield/actions/join/step.js +46 -0
  259. package/types/yield/actions/join/submit.d.ts +53 -0
  260. package/types/yield/actions/join/submit.js +1 -0
  261. package/types/yield/actions/join/validate.d.ts +18 -0
  262. package/types/yield/actions/join/validate.js +10 -0
  263. package/types/yield/actions/others.d.ts +63 -0
  264. package/types/yield/actions/others.js +1 -0
  265. package/types/yield/index.d.ts +2 -0
  266. package/types/yield/index.js +5 -0
  267. package/types/yield/info/account/index.d.ts +4 -0
  268. package/types/yield/info/account/index.js +7 -0
  269. package/types/yield/info/account/info.d.ts +92 -0
  270. package/types/yield/info/account/info.js +1 -0
  271. package/types/yield/info/account/reward.d.ts +45 -0
  272. package/types/yield/info/account/reward.js +1 -0
  273. package/types/yield/info/account/target.d.ts +43 -0
  274. package/types/yield/info/account/target.js +27 -0
  275. package/types/yield/info/account/unstake.d.ts +31 -0
  276. package/types/yield/info/account/unstake.js +22 -0
  277. package/types/yield/info/base.d.ts +45 -0
  278. package/types/yield/info/base.js +36 -0
  279. package/types/yield/info/chain/index.d.ts +2 -0
  280. package/types/yield/info/chain/index.js +5 -0
  281. package/types/yield/info/chain/info.d.ts +243 -0
  282. package/types/yield/info/chain/info.js +1 -0
  283. package/types/yield/info/chain/target.d.ts +37 -0
  284. package/types/yield/info/chain/target.js +1 -0
  285. package/types/yield/info/index.d.ts +4 -0
  286. package/types/yield/info/index.js +7 -0
  287. package/types/yield/info/pallet.d.ts +143 -0
  288. package/types/yield/info/pallet.js +9 -0
  289. package/utils/fetchStaticData.js +2 -1
  290. package/utils/index.d.ts +5 -0
  291. package/utils/index.js +53 -1
  292. package/utils/object.d.ts +1 -0
  293. package/utils/object.js +6 -0
@@ -10,14 +10,14 @@ var _TransactionError = require("@subwallet/extension-base/background/errors/Tra
10
10
  var _KoniTypes = require("@subwallet/extension-base/background/KoniTypes");
11
11
  var _TransactionWarning = require("@subwallet/extension-base/background/warnings/TransactionWarning");
12
12
  var _constants = require("@subwallet/extension-base/constants");
13
- var _constants2 = require("@subwallet/extension-base/services/chain-service/constants");
14
13
  var _utils = require("@subwallet/extension-base/services/chain-service/utils");
15
- var _constants3 = require("@subwallet/extension-base/services/request-service/constants");
16
- var _constants4 = require("@subwallet/extension-base/services/transaction-service/constants");
14
+ var _constants2 = require("@subwallet/extension-base/services/request-service/constants");
15
+ var _constants3 = require("@subwallet/extension-base/services/transaction-service/constants");
17
16
  var _eventParser = require("@subwallet/extension-base/services/transaction-service/event-parser");
18
17
  var _helpers = require("@subwallet/extension-base/services/transaction-service/helpers");
19
18
  var _utils2 = require("@subwallet/extension-base/services/transaction-service/utils");
20
19
  var _helpers2 = require("@subwallet/extension-base/services/wallet-connect-service/helpers");
20
+ var _types = require("@subwallet/extension-base/types");
21
21
  var _utils3 = require("@subwallet/extension-base/utils");
22
22
  var _eth = require("@subwallet/extension-base/utils/eth");
23
23
  var _mergeTransactionAndSignature = require("@subwallet/extension-base/utils/eth/mergeTransactionAndSignature");
@@ -30,6 +30,7 @@ var _eventemitter = _interopRequireDefault(require("eventemitter3"));
30
30
  var _i18next = require("i18next");
31
31
  var _rxjs = require("rxjs");
32
32
  var _util = require("@polkadot/util");
33
+ var _constants4 = require("../chain-service/constants");
33
34
  // Copyright 2019-2022 @subwallet/extension-base authors & contributors
34
35
  // SPDX-License-Identifier: Apache-2.0
35
36
 
@@ -39,14 +40,8 @@ class TransactionService {
39
40
  get transactions() {
40
41
  return this.transactionSubject.getValue();
41
42
  }
42
- constructor(chainService, eventService, requestService, balanceService, historyService, notificationService, databaseService) {
43
- this.chainService = chainService;
44
- this.eventService = eventService;
45
- this.requestService = requestService;
46
- this.balanceService = balanceService;
47
- this.historyService = historyService;
48
- this.notificationService = notificationService;
49
- this.databaseService = databaseService;
43
+ constructor(state) {
44
+ this.state = state;
50
45
  }
51
46
  get allTransactions() {
52
47
  return Object.values(this.transactions);
@@ -103,7 +98,7 @@ class TransactionService {
103
98
  decimals: 0,
104
99
  value: ''
105
100
  };
106
- const chainInfo = this.chainService.getChainInfoByKey(chain);
101
+ const chainInfo = this.state.chainService.getChainInfoByKey(chain);
107
102
  if (!chainInfo) {
108
103
  validationResponse.errors.push(new _TransactionError.TransactionError(_KoniTypes.BasicTxErrorType.INTERNAL_ERROR, (0, _i18next.t)('Cannot find network')));
109
104
  } else {
@@ -118,7 +113,7 @@ class TransactionService {
118
113
  if ((0, _helpers.isSubstrateTransaction)(transaction)) {
119
114
  estimateFee.value = (await transaction.paymentInfo(address)).partialFee.toString();
120
115
  } else {
121
- const web3 = this.chainService.getEvmApi(chain);
116
+ const web3 = this.state.chainService.getEvmApi(chain);
122
117
  if (!web3) {
123
118
  validationResponse.errors.push(new _TransactionError.TransactionError(_KoniTypes.BasicTxErrorType.CHAIN_DISCONNECTED, undefined));
124
119
  } else {
@@ -152,32 +147,35 @@ class TransactionService {
152
147
 
153
148
  // Balance
154
149
  const transferNative = validationResponse.transferNativeAmount || '0';
155
- const nativeTokenInfo = this.chainService.getNativeTokenInfo(chain);
156
- const balance = await this.balanceService.getTokenFreeBalance(address, chain, nativeTokenInfo.slug);
150
+ const nativeTokenInfo = this.state.chainService.getNativeTokenInfo(chain);
151
+ const balance = await this.state.balanceService.getTokenFreeBalance(address, chain, nativeTokenInfo.slug);
157
152
  const existentialDeposit = nativeTokenInfo.minAmount || '0';
158
153
  const feeNum = parseInt(estimateFee.value);
159
154
  const balanceNum = parseInt(balance.value);
160
155
  const edNum = parseInt(existentialDeposit);
161
156
  const transferNativeNum = parseInt(transferNative);
162
- if (!new _bignumber.default(balance.value).gt(0)) {
163
- validationResponse.errors.push(new _TransactionError.TransactionError(_KoniTypes.BasicTxErrorType.NOT_ENOUGH_BALANCE));
164
- }
165
- if (transferNativeNum + feeNum > balanceNum) {
166
- if (!isTransferAll) {
157
+ if (!validationInput.skipFeeValidation) {
158
+ // TODO
159
+ if (!new _bignumber.default(balance.value).gt(0)) {
167
160
  validationResponse.errors.push(new _TransactionError.TransactionError(_KoniTypes.BasicTxErrorType.NOT_ENOUGH_BALANCE));
168
- } else {
169
- if ([..._constants2._TRANSFER_CHAIN_GROUP.acala, ..._constants2._TRANSFER_CHAIN_GROUP.genshiro, ..._constants2._TRANSFER_CHAIN_GROUP.bitcountry, ..._constants2._TRANSFER_CHAIN_GROUP.statemine].includes(chain)) {
170
- // Chain not have transfer all function
161
+ }
162
+ if (transferNativeNum + feeNum > balanceNum) {
163
+ if (!isTransferAll) {
171
164
  validationResponse.errors.push(new _TransactionError.TransactionError(_KoniTypes.BasicTxErrorType.NOT_ENOUGH_BALANCE));
165
+ } else {
166
+ if ([..._constants4._TRANSFER_CHAIN_GROUP.acala, ..._constants4._TRANSFER_CHAIN_GROUP.genshiro, ..._constants4._TRANSFER_CHAIN_GROUP.bitcountry, ..._constants4._TRANSFER_CHAIN_GROUP.statemine].includes(chain)) {
167
+ // Chain not have transfer all function
168
+ validationResponse.errors.push(new _TransactionError.TransactionError(_KoniTypes.BasicTxErrorType.NOT_ENOUGH_BALANCE));
169
+ }
172
170
  }
173
171
  }
174
- }
175
- if (!isTransferAll) {
176
- if (balanceNum - (transferNativeNum + feeNum) < edNum) {
177
- if (edAsWarning) {
178
- validationResponse.warnings.push(new _TransactionWarning.TransactionWarning(_KoniTypes.BasicTxWarningCode.NOT_ENOUGH_EXISTENTIAL_DEPOSIT));
179
- } else {
180
- validationResponse.errors.push(new _TransactionError.TransactionError(_KoniTypes.BasicTxErrorType.NOT_ENOUGH_EXISTENTIAL_DEPOSIT));
172
+ if (!isTransferAll) {
173
+ if (balanceNum - (transferNativeNum + feeNum) < edNum) {
174
+ if (edAsWarning) {
175
+ validationResponse.warnings.push(new _TransactionWarning.TransactionWarning(_KoniTypes.BasicTxWarningCode.NOT_ENOUGH_EXISTENTIAL_DEPOSIT));
176
+ } else {
177
+ validationResponse.errors.push(new _TransactionError.TransactionError(_KoniTypes.BasicTxErrorType.NOT_ENOUGH_EXISTENTIAL_DEPOSIT));
178
+ }
181
179
  }
182
180
  }
183
181
  }
@@ -198,7 +196,7 @@ class TransactionService {
198
196
  updatedAt: new Date().getTime(),
199
197
  errors: transaction.errors || [],
200
198
  warnings: transaction.warnings || [],
201
- url: transaction.url || _constants3.EXTENSION_REQUEST_URL,
199
+ url: transaction.url || _constants2.EXTENSION_REQUEST_URL,
202
200
  status: _KoniTypes.ExtrinsicStatus.QUEUED,
203
201
  isInternal,
204
202
  id: transactionId,
@@ -244,12 +242,21 @@ class TransactionService {
244
242
  }
245
243
  validatedTransaction.warnings = [];
246
244
  const emitter = await this.addTransaction(validatedTransaction);
247
- await new Promise(resolve => {
248
- emitter.on('signed', data => {
249
- validatedTransaction.id = data.id;
250
- validatedTransaction.extrinsicHash = data.extrinsicHash;
251
- resolve();
252
- });
245
+ await new Promise((resolve, reject) => {
246
+ // TODO
247
+ if (transaction.resolveOnDone) {
248
+ emitter.on('success', data => {
249
+ validatedTransaction.id = data.id;
250
+ validatedTransaction.extrinsicHash = data.extrinsicHash;
251
+ resolve();
252
+ });
253
+ } else {
254
+ emitter.on('signed', data => {
255
+ validatedTransaction.id = data.id;
256
+ validatedTransaction.extrinsicHash = data.extrinsicHash;
257
+ resolve();
258
+ });
259
+ }
253
260
  emitter.on('error', data => {
254
261
  if (data.errors.length > 0) {
255
262
  validatedTransaction.errors.push(...data.errors);
@@ -315,7 +322,7 @@ class TransactionService {
315
322
  }
316
323
  getTransactionLink(id) {
317
324
  const transaction = this.getTransaction(id);
318
- const chainInfo = this.chainService.getChainInfoByKey(transaction.chain);
325
+ const chainInfo = this.state.chainService.getChainInfoByKey(transaction.chain);
319
326
  return (0, _utils2.getExplorerLink)(chainInfo, transaction.extrinsicHash, 'tx');
320
327
  }
321
328
  transactionToHistories(id, startBlock, nonce, eventLogs) {
@@ -343,7 +350,7 @@ class TransactionService {
343
350
  nonce: nonce !== null && nonce !== void 0 ? nonce : 0,
344
351
  startBlock: startBlock || 0
345
352
  };
346
- const chainInfo = this.chainService.getChainInfoByKey(transaction.chain);
353
+ const chainInfo = this.state.chainService.getChainInfoByKey(transaction.chain);
347
354
  const nativeAsset = (0, _utils._getChainNativeTokenBasicInfo)(chainInfo);
348
355
  const baseNativeAmount = {
349
356
  value: '0',
@@ -357,7 +364,7 @@ class TransactionService {
357
364
  {
358
365
  const inputData = (0, _utils2.parseTransactionData)(transaction.data);
359
366
  historyItem.to = inputData.to;
360
- const sendingTokenInfo = this.chainService.getAssetBySlug(inputData.tokenSlug);
367
+ const sendingTokenInfo = this.state.chainService.getAssetBySlug(inputData.tokenSlug);
361
368
  historyItem.amount = {
362
369
  value: inputData.value || '0',
363
370
  decimals: sendingTokenInfo.decimals || 0,
@@ -370,7 +377,7 @@ class TransactionService {
370
377
  {
371
378
  const inputData = (0, _utils2.parseTransactionData)(transaction.data);
372
379
  historyItem.to = inputData.to;
373
- const sendingTokenInfo = this.chainService.getAssetBySlug(inputData.tokenSlug);
380
+ const sendingTokenInfo = this.state.chainService.getAssetBySlug(inputData.tokenSlug);
374
381
  historyItem.amount = {
375
382
  value: inputData.value || '0',
376
383
  decimals: sendingTokenInfo.decimals || 0,
@@ -383,7 +390,7 @@ class TransactionService {
383
390
  {
384
391
  const inputData = (0, _utils2.parseTransactionData)(transaction.data);
385
392
  historyItem.to = inputData.to;
386
- const sendingTokenInfo = this.chainService.getAssetBySlug(inputData.tokenSlug);
393
+ const sendingTokenInfo = this.state.chainService.getAssetBySlug(inputData.tokenSlug);
387
394
  historyItem.amount = {
388
395
  value: inputData.value || '0',
389
396
  decimals: sendingTokenInfo.decimals || 0,
@@ -432,17 +439,29 @@ class TransactionService {
432
439
  case _KoniTypes.ExtrinsicType.STAKING_UNBOND:
433
440
  {
434
441
  const data = (0, _utils2.parseTransactionData)(transaction.data);
435
- historyItem.to = data.validatorAddress || '';
436
- historyItem.amount = {
437
- ...baseNativeAmount,
438
- value: data.amount || '0'
439
- };
442
+ if (data.isLiquidStaking && data.derivativeTokenInfo && data.exchangeRate && data.inputTokenInfo) {
443
+ historyItem.amount = {
444
+ decimals: (0, _utils._getAssetDecimals)(data.derivativeTokenInfo),
445
+ symbol: (0, _utils._getAssetSymbol)(data.derivativeTokenInfo),
446
+ value: data.amount
447
+ };
448
+ historyItem.additionalInfo = {
449
+ inputTokenSlug: data.inputTokenInfo.slug,
450
+ exchangeRate: data.exchangeRate
451
+ };
452
+ } else {
453
+ historyItem.to = data.validatorAddress || '';
454
+ historyItem.amount = {
455
+ ...baseNativeAmount,
456
+ value: data.amount || '0'
457
+ };
458
+ }
440
459
  }
441
460
  break;
442
461
  case _KoniTypes.ExtrinsicType.STAKING_LEAVE_POOL:
443
462
  {
444
463
  const data = (0, _utils2.parseTransactionData)(transaction.data);
445
- historyItem.to = data.nominatorMetadata.address || '';
464
+ historyItem.to = data.address || '';
446
465
  historyItem.amount = {
447
466
  ...baseNativeAmount,
448
467
  value: data.amount || '0'
@@ -461,7 +480,7 @@ class TransactionService {
461
480
  case _KoniTypes.ExtrinsicType.STAKING_WITHDRAW:
462
481
  {
463
482
  const data = (0, _utils2.parseTransactionData)(transaction.data);
464
- historyItem.to = data.validatorAddress || '';
483
+ historyItem.to = data.unstakingInfo.validatorAddress || '';
465
484
  historyItem.amount = {
466
485
  ...baseNativeAmount,
467
486
  value: data.unstakingInfo.claimable || '0'
@@ -486,6 +505,67 @@ class TransactionService {
486
505
  historyItem.to = (data === null || data === void 0 ? void 0 : data.to) || '';
487
506
  break;
488
507
  }
508
+ case _KoniTypes.ExtrinsicType.MINT_STDOT:
509
+ case _KoniTypes.ExtrinsicType.MINT_QDOT:
510
+ case _KoniTypes.ExtrinsicType.MINT_LDOT:
511
+ case _KoniTypes.ExtrinsicType.MINT_SDOT:
512
+
513
+ // eslint-disable-next-line no-fallthrough
514
+ case _KoniTypes.ExtrinsicType.MINT_VDOT:
515
+ {
516
+ const params = (0, _utils2.parseTransactionData)(transaction.data);
517
+ const inputTokenInfo = this.state.chainService.getAssetBySlug(params.inputTokenSlug);
518
+ const isFeePaidWithInputAsset = params.feeTokenSlug === params.inputTokenSlug;
519
+ historyItem.amount = {
520
+ value: params.amount,
521
+ symbol: (0, _utils._getAssetSymbol)(inputTokenInfo),
522
+ decimals: (0, _utils._getAssetDecimals)(inputTokenInfo)
523
+ };
524
+ historyItem.additionalInfo = {
525
+ derivativeTokenSlug: params.derivativeTokenSlug,
526
+ exchangeRate: params.exchangeRate
527
+ };
528
+ eventLogs && !(0, _utils._isChainEvmCompatible)(chainInfo) && (0, _eventParser.parseLiquidStakingEvents)(historyItem, eventLogs, inputTokenInfo, chainInfo, isFeePaidWithInputAsset, extrinsicType);
529
+ break;
530
+ }
531
+ case _KoniTypes.ExtrinsicType.REDEEM_QDOT:
532
+ {
533
+ const data = (0, _utils2.parseTransactionData)(transaction.data);
534
+ const yieldPoolInfo = data.poolInfo;
535
+ if (yieldPoolInfo.metadata.derivativeAssets) {
536
+ const inputTokenSlug = yieldPoolInfo.metadata.inputAsset;
537
+ const inputTokenInfo = this.state.chainService.getAssetBySlug(inputTokenSlug);
538
+ historyItem.amount = {
539
+ value: data.amount,
540
+ symbol: (0, _utils._getAssetSymbol)(inputTokenInfo),
541
+ decimals: (0, _utils._getAssetDecimals)(inputTokenInfo)
542
+ };
543
+ eventLogs && (0, _eventParser.parseLiquidStakingFastUnstakeEvents)(historyItem, eventLogs, chainInfo, extrinsicType);
544
+ }
545
+ break;
546
+ }
547
+ case _KoniTypes.ExtrinsicType.REDEEM_STDOT:
548
+ case _KoniTypes.ExtrinsicType.REDEEM_LDOT:
549
+ case _KoniTypes.ExtrinsicType.REDEEM_SDOT:
550
+
551
+ // eslint-disable-next-line no-fallthrough
552
+ case _KoniTypes.ExtrinsicType.REDEEM_VDOT:
553
+ {
554
+ const data = (0, _utils2.parseTransactionData)(transaction.data);
555
+ const yieldPoolInfo = data.poolInfo;
556
+ if (yieldPoolInfo.metadata.derivativeAssets) {
557
+ const derivativeTokenSlug = yieldPoolInfo.metadata.derivativeAssets[0];
558
+ const derivativeTokenInfo = this.state.chainService.getAssetBySlug(derivativeTokenSlug);
559
+ const chainInfo = this.state.chainService.getChainInfoByKey(data.poolInfo.chain);
560
+ historyItem.amount = {
561
+ value: data.amount,
562
+ symbol: (0, _utils._getAssetSymbol)(derivativeTokenInfo),
563
+ decimals: (0, _utils._getAssetDecimals)(derivativeTokenInfo)
564
+ };
565
+ eventLogs && !(0, _utils._isChainEvmCompatible)(chainInfo) && (0, _eventParser.parseLiquidStakingFastUnstakeEvents)(historyItem, eventLogs, chainInfo, extrinsicType);
566
+ }
567
+ break;
568
+ }
489
569
  case _KoniTypes.ExtrinsicType.UNKNOWN:
490
570
  break;
491
571
  }
@@ -533,7 +613,7 @@ class TransactionService {
533
613
  });
534
614
 
535
615
  // Create Input History Transaction History
536
- this.historyService.insertHistories(this.transactionToHistories(id, startBlock, nonce)).catch(console.error);
616
+ this.state.historyService.insertHistories(this.transactionToHistories(id, startBlock, nonce)).catch(console.error);
537
617
  console.debug(`Transaction "${id}" is sent`);
538
618
  }
539
619
  onHasTransactionHash(_ref3) {
@@ -551,8 +631,12 @@ class TransactionService {
551
631
  this.updateTransaction(id, updateData);
552
632
 
553
633
  // In this case transaction id is the same as extrinsic hash and will change after below update
554
- this.historyService.updateHistoryByExtrinsicHash(id, updateData).catch(console.error);
634
+ this.state.historyService.updateHistoryByExtrinsicHash(id, updateData).catch(console.error);
555
635
  console.debug(`Transaction "${id}" is submitted with hash ${extrinsicHash || ''}`);
636
+ const transaction = this.getTransaction(id);
637
+ if ([_KoniTypes.ExtrinsicType.STAKING_JOIN_POOL, _KoniTypes.ExtrinsicType.JOIN_YIELD_POOL, _KoniTypes.ExtrinsicType.MINT_LDOT, _KoniTypes.ExtrinsicType.MINT_QDOT, _KoniTypes.ExtrinsicType.MINT_SDOT, _KoniTypes.ExtrinsicType.MINT_VDOT].includes(transaction.extrinsicType)) {
638
+ this.handlePostEarningTransaction(id);
639
+ }
556
640
  }
557
641
  handlePostProcessing(id) {
558
642
  // must be done after success/failure to make sure the transaction is finalized
@@ -561,15 +645,15 @@ class TransactionService {
561
645
  const inputData = (0, _utils2.parseTransactionData)(transaction.data);
562
646
  try {
563
647
  const sender = _uiKeyring.default.getPair(inputData.senderAddress);
564
- sender && this.databaseService.handleNftTransfer(transaction.chain, [sender.address, _constants.ALL_ACCOUNT_KEY], inputData.nftItem).then(() => {
565
- this.eventService.emit('transaction.transferNft', undefined);
648
+ sender && this.state.dbService.handleNftTransfer(transaction.chain, [sender.address, _constants.ALL_ACCOUNT_KEY], inputData.nftItem).then(() => {
649
+ this.state.eventService.emit('transaction.transferNft', undefined);
566
650
  }).catch(console.error);
567
651
  } catch (e) {
568
652
  console.error(e);
569
653
  }
570
654
  try {
571
655
  const recipient = _uiKeyring.default.getPair(inputData.recipientAddress);
572
- recipient && this.databaseService.addNft(recipient.address, {
656
+ recipient && this.state.dbService.addNft(recipient.address, {
573
657
  ...inputData.nftItem,
574
658
  owner: recipient.address
575
659
  }).catch(console.error);
@@ -577,7 +661,7 @@ class TransactionService {
577
661
  console.error(e);
578
662
  }
579
663
  } else if ([_KoniTypes.ExtrinsicType.STAKING_BOND, _KoniTypes.ExtrinsicType.STAKING_UNBOND, _KoniTypes.ExtrinsicType.STAKING_WITHDRAW, _KoniTypes.ExtrinsicType.STAKING_CANCEL_UNSTAKE, _KoniTypes.ExtrinsicType.STAKING_CLAIM_REWARD, _KoniTypes.ExtrinsicType.STAKING_JOIN_POOL, _KoniTypes.ExtrinsicType.STAKING_POOL_WITHDRAW, _KoniTypes.ExtrinsicType.STAKING_LEAVE_POOL].includes(transaction.extrinsicType)) {
580
- this.eventService.emit('transaction.submitStaking', transaction.chain);
664
+ this.state.eventService.emit('transaction.submitStaking', transaction.chain);
581
665
  }
582
666
  }
583
667
  onSuccess(_ref4) {
@@ -594,14 +678,14 @@ class TransactionService {
594
678
  });
595
679
 
596
680
  // Write success transaction history
597
- this.historyService.updateHistoryByExtrinsicHash(transaction.extrinsicHash, {
681
+ this.state.historyService.updateHistoryByExtrinsicHash(transaction.extrinsicHash, {
598
682
  extrinsicHash,
599
683
  status: _KoniTypes.ExtrinsicStatus.SUCCESS,
600
684
  blockNumber: blockNumber || 0,
601
685
  blockHash: blockHash || ''
602
686
  }).catch(console.error);
603
- const info = (0, _util.isHex)(extrinsicHash) ? extrinsicHash : (0, _helpers.getBaseTransactionInfo)(transaction, this.chainService.getChainInfoMap());
604
- this.notificationService.notify({
687
+ const info = (0, _util.isHex)(extrinsicHash) ? extrinsicHash : (0, _helpers.getBaseTransactionInfo)(transaction, this.state.chainService.getChainInfoMap());
688
+ this.state.notificationService.notify({
605
689
  type: _KoniTypes.NotificationType.SUCCESS,
606
690
  title: (0, _i18next.t)('Transaction completed'),
607
691
  message: (0, _i18next.t)('Transaction {{info}} completed', {
@@ -614,7 +698,7 @@ class TransactionService {
614
698
  },
615
699
  notifyViaBrowser: true
616
700
  });
617
- this.eventService.emit('transaction.done', transaction);
701
+ this.state.eventService.emit('transaction.done', transaction);
618
702
  }
619
703
  onFailed(_ref5) {
620
704
  let {
@@ -634,14 +718,14 @@ class TransactionService {
634
718
  });
635
719
 
636
720
  // Write failed transaction history
637
- this.historyService.updateHistoryByExtrinsicHash(transaction.extrinsicHash, {
721
+ this.state.historyService.updateHistoryByExtrinsicHash(transaction.extrinsicHash, {
638
722
  extrinsicHash: extrinsicHash || transaction.extrinsicHash,
639
723
  status: nextStatus,
640
724
  blockNumber: blockNumber || 0,
641
725
  blockHash: blockHash || ''
642
726
  }).catch(console.error);
643
- const info = (0, _util.isHex)(transaction === null || transaction === void 0 ? void 0 : transaction.extrinsicHash) ? transaction === null || transaction === void 0 ? void 0 : transaction.extrinsicHash : (0, _helpers.getBaseTransactionInfo)(transaction, this.chainService.getChainInfoMap());
644
- this.notificationService.notify({
727
+ const info = (0, _util.isHex)(transaction === null || transaction === void 0 ? void 0 : transaction.extrinsicHash) ? transaction === null || transaction === void 0 ? void 0 : transaction.extrinsicHash : (0, _helpers.getBaseTransactionInfo)(transaction, this.state.chainService.getChainInfoMap());
728
+ this.state.notificationService.notify({
645
729
  type: _KoniTypes.NotificationType.ERROR,
646
730
  title: (0, _i18next.t)('Transaction failed'),
647
731
  message: (0, _i18next.t)('Transaction {{info}} failed', {
@@ -655,11 +739,11 @@ class TransactionService {
655
739
  notifyViaBrowser: true
656
740
  });
657
741
  }
658
- this.eventService.emit('transaction.failed', transaction);
742
+ this.state.eventService.emit('transaction.failed', transaction);
659
743
  }
660
744
  generateHashPayload(chain, transaction) {
661
745
  var _transaction$nonce;
662
- const chainInfo = this.chainService.getChainInfoByKey(chain);
746
+ const chainInfo = this.state.chainService.getChainInfoByKey(chain);
663
747
  const txObject = {
664
748
  nonce: (_transaction$nonce = transaction.nonce) !== null && _transaction$nonce !== void 0 ? _transaction$nonce : 0,
665
749
  gasPrice: (0, _ethereumjsUtil.addHexPrefix)((0, _eth.anyNumberToBN)(transaction.gasPrice).toString(16)),
@@ -681,8 +765,8 @@ class TransactionService {
681
765
  url
682
766
  } = _ref6;
683
767
  const payload = transaction;
684
- const evmApi = this.chainService.getEvmApi(chain);
685
- const chainInfo = this.chainService.getChainInfoByKey(chain);
768
+ const evmApi = this.state.chainService.getEvmApi(chain);
769
+ const chainInfo = this.state.chainService.getChainInfoByKey(chain);
686
770
  const accountPair = _uiKeyring.default.getPair(address);
687
771
  const account = {
688
772
  address,
@@ -712,7 +796,7 @@ class TransactionService {
712
796
 
713
797
  // Set unique nonce to avoid transaction errors
714
798
  if (!payload.nonce) {
715
- const evmApi = this.chainService.getEvmApi(chain);
799
+ const evmApi = this.state.chainService.getEvmApi(chain);
716
800
  payload.nonce = await evmApi.api.eth.getTransactionCount(address);
717
801
  }
718
802
  if (!payload.chainId) {
@@ -747,7 +831,7 @@ class TransactionService {
747
831
  extrinsicHash: id
748
832
  };
749
833
  if (isInjected) {
750
- this.requestService.addConfirmation(id, url || _constants3.EXTENSION_REQUEST_URL, 'evmWatchTransactionRequest', payload, {}).then(async _ref7 => {
834
+ this.state.requestService.addConfirmation(id, url || _constants2.EXTENSION_REQUEST_URL, 'evmWatchTransactionRequest', payload, {}).then(async _ref7 => {
751
835
  let {
752
836
  isApproved,
753
837
  payload
@@ -756,7 +840,7 @@ class TransactionService {
756
840
  if (!payload) {
757
841
  throw new _EvmProviderError.EvmProviderError(_KoniTypes.EvmProviderErrorType.UNAUTHORIZED, 'Bad signature');
758
842
  }
759
- const web3Api = this.chainService.getEvmApi(chain).api;
843
+ const web3Api = this.state.chainService.getEvmApi(chain).api;
760
844
 
761
845
  // Emit signed event
762
846
  emitter.emit('signed', eventData);
@@ -812,7 +896,7 @@ class TransactionService {
812
896
  emitter.emit('error', eventData);
813
897
  });
814
898
  } else {
815
- this.requestService.addConfirmation(id, url || _constants3.EXTENSION_REQUEST_URL, 'evmSendTransactionRequest', payload, {}).then(async _ref8 => {
899
+ this.state.requestService.addConfirmation(id, url || _constants2.EXTENSION_REQUEST_URL, 'evmSendTransactionRequest', payload, {}).then(async _ref8 => {
816
900
  let {
817
901
  isApproved,
818
902
  payload
@@ -822,7 +906,7 @@ class TransactionService {
822
906
  if (!payload) {
823
907
  throw new _EvmProviderError.EvmProviderError(_KoniTypes.EvmProviderErrorType.UNAUTHORIZED, (0, _i18next.t)('Failed to sign'));
824
908
  }
825
- const web3Api = this.chainService.getEvmApi(chain).api;
909
+ const web3Api = this.state.chainService.getEvmApi(chain).api;
826
910
  if (!isExternal) {
827
911
  signedTransaction = payload;
828
912
  } else {
@@ -890,7 +974,7 @@ class TransactionService {
890
974
  transaction.signAsync(address, {
891
975
  signer: {
892
976
  signPayload: async payload => {
893
- const signing = await this.requestService.signInternalTransaction(id, address, url || _constants3.EXTENSION_REQUEST_URL, payload);
977
+ const signing = await this.state.requestService.signInternalTransaction(id, address, url || _constants2.EXTENSION_REQUEST_URL, payload);
894
978
  return {
895
979
  id: new Date().getTime(),
896
980
  signature: signing.signature
@@ -902,7 +986,7 @@ class TransactionService {
902
986
  emitter.emit('signed', eventData);
903
987
 
904
988
  // Send transaction
905
- const api = this.chainService.getSubstrateApi(chain);
989
+ const api = this.state.chainService.getSubstrateApi(chain);
906
990
  eventData.nonce = rs.nonce.toNumber();
907
991
  eventData.startBlock = (await api.api.query.system.number()).toPrimitive();
908
992
  this.handleTransactionTimeout(emitter, eventData);
@@ -966,7 +1050,7 @@ class TransactionService {
966
1050
  emitter.emit('error', eventData);
967
1051
  clearTimeout(timeout);
968
1052
  }
969
- }, _constants4.TRANSACTION_TIMEOUT);
1053
+ }, _constants3.TRANSACTION_TIMEOUT);
970
1054
  emitter.once('success', () => {
971
1055
  clearTimeout(timeout);
972
1056
  });
@@ -974,6 +1058,33 @@ class TransactionService {
974
1058
  clearTimeout(timeout);
975
1059
  });
976
1060
  }
1061
+ handlePostEarningTransaction(id) {
1062
+ const transaction = this.getTransaction(id);
1063
+ let slug;
1064
+
1065
+ // TODO
1066
+ if ('data' in transaction.data) {
1067
+ slug = transaction.data.data.slug;
1068
+ } else {
1069
+ slug = transaction.data.slug;
1070
+ }
1071
+ const poolHandler = this.state.earningService.getPoolHandler(slug);
1072
+ if (poolHandler) {
1073
+ const type = poolHandler.type;
1074
+ if (type === _types.YieldPoolType.NATIVE_STAKING) {
1075
+ return;
1076
+ }
1077
+ } else {
1078
+ return;
1079
+ }
1080
+ this.state.mintCampaignService.unlockDotCampaign.mintNft({
1081
+ transactionId: id,
1082
+ address: transaction.address,
1083
+ slug: slug,
1084
+ network: transaction.chain,
1085
+ extrinsicHash: transaction.extrinsicHash
1086
+ }).catch(console.error);
1087
+ }
977
1088
  resetWallet() {
978
1089
  this.transactionSubject.next({});
979
1090
  }
@@ -11,6 +11,7 @@ var _utils = require("@subwallet/extension-base/services/chain-service/utils");
11
11
 
12
12
  // @ts-ignore
13
13
  function parseTransactionData(data) {
14
+ // @ts-ignore
14
15
  // eslint-disable-next-line @typescript-eslint/no-unsafe-return
15
16
  return data;
16
17
  }
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _unlockDot = require("./unlock-dot");
7
+ Object.keys(_unlockDot).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _unlockDot[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _unlockDot[key];
14
+ }
15
+ });
16
+ });
@@ -0,0 +1 @@
1
+ "use strict";
@@ -24,4 +24,48 @@ Object.keys(_buy).forEach(function (key) {
24
24
  return _buy[key];
25
25
  }
26
26
  });
27
+ });
28
+ var _campaigns = require("./campaigns");
29
+ Object.keys(_campaigns).forEach(function (key) {
30
+ if (key === "default" || key === "__esModule") return;
31
+ if (key in exports && exports[key] === _campaigns[key]) return;
32
+ Object.defineProperty(exports, key, {
33
+ enumerable: true,
34
+ get: function () {
35
+ return _campaigns[key];
36
+ }
37
+ });
38
+ });
39
+ var _ordinal = require("./ordinal");
40
+ Object.keys(_ordinal).forEach(function (key) {
41
+ if (key === "default" || key === "__esModule") return;
42
+ if (key in exports && exports[key] === _ordinal[key]) return;
43
+ Object.defineProperty(exports, key, {
44
+ enumerable: true,
45
+ get: function () {
46
+ return _ordinal[key];
47
+ }
48
+ });
49
+ });
50
+ var _transaction = require("./transaction");
51
+ Object.keys(_transaction).forEach(function (key) {
52
+ if (key === "default" || key === "__esModule") return;
53
+ if (key in exports && exports[key] === _transaction[key]) return;
54
+ Object.defineProperty(exports, key, {
55
+ enumerable: true,
56
+ get: function () {
57
+ return _transaction[key];
58
+ }
59
+ });
60
+ });
61
+ var _yield = require("./yield");
62
+ Object.keys(_yield).forEach(function (key) {
63
+ if (key === "default" || key === "__esModule") return;
64
+ if (key in exports && exports[key] === _yield[key]) return;
65
+ Object.defineProperty(exports, key, {
66
+ enumerable: true,
67
+ get: function () {
68
+ return _yield[key];
69
+ }
70
+ });
27
71
  });
@@ -0,0 +1 @@
1
+ "use strict";
@@ -0,0 +1 @@
1
+ "use strict";
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _join = require("./join");
7
+ Object.keys(_join).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _join[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _join[key];
14
+ }
15
+ });
16
+ });
17
+ var _others = require("./others");
18
+ Object.keys(_others).forEach(function (key) {
19
+ if (key === "default" || key === "__esModule") return;
20
+ if (key in exports && exports[key] === _others[key]) return;
21
+ Object.defineProperty(exports, key, {
22
+ enumerable: true,
23
+ get: function () {
24
+ return _others[key];
25
+ }
26
+ });
27
+ });