@subwallet/extension-base 1.1.32-0 → 1.1.32-beta.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 (307) hide show
  1. package/background/KoniTypes.d.ts +112 -69
  2. package/background/KoniTypes.js +19 -13
  3. package/background/errors/TransactionError.js +9 -0
  4. package/cjs/background/KoniTypes.js +20 -16
  5. package/cjs/background/errors/TransactionError.js +9 -0
  6. package/cjs/constants/index.js +19 -4
  7. package/cjs/koni/api/dotsama/balance.js +464 -0
  8. package/cjs/koni/api/nft/config.js +33 -23
  9. package/cjs/koni/api/nft/index.js +14 -0
  10. package/cjs/koni/api/nft/nft.js +1 -22
  11. package/cjs/koni/api/nft/ordinal_nft/constants.js +21 -0
  12. package/cjs/koni/api/nft/ordinal_nft/index.js +121 -0
  13. package/cjs/koni/api/nft/ordinal_nft/utils.js +41 -0
  14. package/cjs/koni/api/staking/bonding/amplitude.js +17 -15
  15. package/cjs/koni/api/staking/bonding/astar.js +11 -10
  16. package/cjs/koni/api/staking/bonding/index.js +4 -1
  17. package/cjs/koni/api/staking/bonding/paraChain.js +25 -23
  18. package/cjs/koni/api/staking/bonding/relayChain.js +48 -45
  19. package/cjs/koni/api/staking/bonding/utils.js +104 -86
  20. package/cjs/koni/api/staking/index.js +6 -5
  21. package/cjs/koni/api/staking/paraChain.js +6 -5
  22. package/cjs/koni/api/staking/relayChain.js +3 -2
  23. package/cjs/koni/api/yield/helper/utils.js +46 -0
  24. package/cjs/koni/background/cron.js +3 -21
  25. package/cjs/koni/background/handlers/Extension.js +368 -69
  26. package/cjs/koni/background/handlers/State.js +18 -12
  27. package/cjs/koni/background/handlers/index.js +4 -2
  28. package/cjs/koni/background/subscription.js +7 -104
  29. package/cjs/services/campaign-service/index.js +28 -6
  30. package/cjs/services/chain-service/constants.js +1 -15
  31. package/cjs/services/chain-service/index.js +3 -2
  32. package/cjs/services/chain-service/utils.js +7 -1
  33. package/cjs/services/earning-service/constants/chains.js +29 -0
  34. package/cjs/services/earning-service/constants/index.js +27 -0
  35. package/cjs/services/earning-service/constants/step.js +18 -0
  36. package/cjs/services/earning-service/handlers/base.js +262 -0
  37. package/cjs/services/earning-service/handlers/index.js +60 -0
  38. package/cjs/services/earning-service/handlers/lending/base.js +81 -0
  39. package/cjs/services/earning-service/handlers/lending/index.js +13 -0
  40. package/cjs/services/earning-service/handlers/lending/interlay.js +192 -0
  41. package/cjs/services/earning-service/handlers/liquid-staking/acala.js +240 -0
  42. package/cjs/services/earning-service/handlers/liquid-staking/base.js +97 -0
  43. package/cjs/services/earning-service/handlers/liquid-staking/bifrost.js +298 -0
  44. package/cjs/services/earning-service/handlers/liquid-staking/index.js +34 -0
  45. package/cjs/services/earning-service/handlers/liquid-staking/parallel.js +227 -0
  46. package/cjs/services/earning-service/handlers/liquid-staking/stella-swap.js +404 -0
  47. package/cjs/services/earning-service/handlers/native-staking/amplitude.js +389 -0
  48. package/cjs/services/earning-service/handlers/native-staking/astar.js +466 -0
  49. package/cjs/services/earning-service/handlers/native-staking/base-para.js +146 -0
  50. package/cjs/services/earning-service/handlers/native-staking/base.js +161 -0
  51. package/cjs/services/earning-service/handlers/native-staking/index.js +34 -0
  52. package/cjs/services/earning-service/handlers/native-staking/para-chain.js +390 -0
  53. package/cjs/services/earning-service/handlers/native-staking/relay-chain.js +567 -0
  54. package/cjs/services/earning-service/handlers/nomination-pool/index.js +566 -0
  55. package/cjs/services/earning-service/handlers/special.js +493 -0
  56. package/cjs/services/earning-service/service.js +720 -0
  57. package/cjs/services/earning-service/utils/index.js +128 -0
  58. package/cjs/services/event-service/index.js +5 -0
  59. package/cjs/services/keyring-service/index.js +14 -2
  60. package/cjs/services/migration-service/scripts/DeleteEarningData.js +21 -0
  61. package/cjs/services/migration-service/scripts/EnableEarningChains.js +21 -0
  62. package/cjs/services/migration-service/scripts/MigrateEthProvider.js +17 -0
  63. package/cjs/services/migration-service/scripts/MigrateLedgerAccount.js +1 -1
  64. package/cjs/services/migration-service/scripts/MigratePioneerProvider.js +17 -0
  65. package/cjs/services/migration-service/scripts/MigrateProvider.js +29 -0
  66. package/cjs/services/migration-service/scripts/MigrateTransactionHistory.js +1 -1
  67. package/cjs/services/migration-service/scripts/databases/MigrateEarningHistory.js +21 -0
  68. package/cjs/services/migration-service/scripts/databases/MigrateEarningVersion.js +21 -0
  69. package/cjs/services/migration-service/scripts/index.js +6 -1
  70. package/cjs/services/mint-campaign-service/campaigns/UnlockDotCampaign.js +149 -0
  71. package/cjs/services/mint-campaign-service/campaigns/index.js +13 -0
  72. package/cjs/services/mint-campaign-service/constants.js +11 -0
  73. package/cjs/services/mint-campaign-service/index.js +18 -0
  74. package/cjs/services/notification-service/NotificationService.js +1 -1
  75. package/cjs/services/storage-service/DatabaseService.js +66 -0
  76. package/cjs/services/storage-service/databases/index.js +4 -0
  77. package/cjs/services/storage-service/db-stores/Campaign.js +9 -3
  78. package/cjs/services/storage-service/db-stores/NominatorMetadata.js +3 -3
  79. package/cjs/services/storage-service/db-stores/YieldPoolStore.js +36 -0
  80. package/cjs/services/storage-service/db-stores/YieldPositionStore.js +71 -0
  81. package/cjs/services/storage-service/index.js +241 -0
  82. package/cjs/services/subscan-service/index.js +16 -0
  83. package/cjs/services/transaction-service/event-parser/index.js +58 -0
  84. package/cjs/services/transaction-service/helpers/index.js +3 -1
  85. package/cjs/services/transaction-service/index.js +245 -75
  86. package/cjs/services/transaction-service/utils.js +1 -0
  87. package/cjs/types/campaigns/index.js +16 -0
  88. package/cjs/types/campaigns/unlock-dot.js +1 -0
  89. package/cjs/types/index.js +44 -0
  90. package/cjs/types/ordinal.js +1 -0
  91. package/cjs/types/transaction.js +1 -0
  92. package/cjs/types/yield/actions/index.js +27 -0
  93. package/cjs/types/yield/actions/join/index.js +38 -0
  94. package/cjs/types/yield/actions/join/step.js +47 -0
  95. package/cjs/types/yield/actions/join/submit.js +1 -0
  96. package/cjs/types/yield/actions/join/validate.js +16 -0
  97. package/cjs/types/yield/actions/others.js +1 -0
  98. package/cjs/types/yield/index.js +27 -0
  99. package/cjs/types/yield/info/account/index.js +49 -0
  100. package/cjs/types/yield/info/account/info.js +1 -0
  101. package/cjs/types/yield/info/account/reward.js +1 -0
  102. package/cjs/types/yield/info/account/target.js +32 -0
  103. package/cjs/types/yield/info/account/unstake.js +27 -0
  104. package/cjs/types/yield/info/base.js +41 -0
  105. package/cjs/types/yield/info/chain/index.js +27 -0
  106. package/cjs/types/yield/info/chain/info.js +1 -0
  107. package/cjs/types/yield/info/chain/target.js +1 -0
  108. package/cjs/types/yield/info/index.js +49 -0
  109. package/cjs/types/yield/info/pallet.js +15 -0
  110. package/cjs/types.js +1 -0
  111. package/cjs/utils/address.js +34 -0
  112. package/cjs/utils/fetchStaticData.js +2 -1
  113. package/cjs/utils/index.js +89 -1
  114. package/cjs/utils/keyring.js +57 -0
  115. package/cjs/utils/number.js +6 -2
  116. package/cjs/utils/object.js +12 -0
  117. package/constants/index.d.ts +6 -1
  118. package/constants/index.js +6 -1
  119. package/koni/api/nft/config.js +33 -23
  120. package/koni/api/nft/index.js +15 -1
  121. package/koni/api/nft/nft.js +2 -23
  122. package/koni/api/nft/ordinal_nft/constants.d.ts +9 -0
  123. package/koni/api/nft/ordinal_nft/constants.js +12 -0
  124. package/koni/api/nft/ordinal_nft/index.d.ts +8 -0
  125. package/koni/api/nft/ordinal_nft/index.js +114 -0
  126. package/koni/api/nft/ordinal_nft/utils.d.ts +2 -0
  127. package/koni/api/nft/ordinal_nft/utils.js +33 -0
  128. package/koni/api/staking/bonding/amplitude.js +11 -9
  129. package/koni/api/staking/bonding/astar.js +9 -8
  130. package/koni/api/staking/bonding/index.d.ts +1 -1
  131. package/koni/api/staking/bonding/index.js +5 -1
  132. package/koni/api/staking/bonding/paraChain.js +12 -10
  133. package/koni/api/staking/bonding/relayChain.d.ts +2 -2
  134. package/koni/api/staking/bonding/relayChain.js +33 -30
  135. package/koni/api/staking/bonding/utils.d.ts +15 -38
  136. package/koni/api/staking/bonding/utils.js +85 -69
  137. package/koni/api/staking/index.js +2 -1
  138. package/koni/api/staking/paraChain.js +7 -6
  139. package/koni/api/staking/relayChain.js +4 -3
  140. package/koni/api/yield/helper/utils.d.ts +10 -0
  141. package/koni/api/yield/helper/utils.js +32 -0
  142. package/koni/background/cron.d.ts +0 -4
  143. package/koni/background/cron.js +4 -22
  144. package/koni/background/handlers/Extension.d.ts +17 -1
  145. package/koni/background/handlers/Extension.js +327 -30
  146. package/koni/background/handlers/State.d.ts +6 -1
  147. package/koni/background/handlers/State.js +17 -12
  148. package/koni/background/handlers/index.js +4 -2
  149. package/koni/background/subscription.d.ts +1 -6
  150. package/koni/background/subscription.js +8 -104
  151. package/package.json +316 -3
  152. package/services/campaign-service/index.js +28 -6
  153. package/services/chain-service/constants.d.ts +0 -11
  154. package/services/chain-service/constants.js +0 -13
  155. package/services/chain-service/index.js +3 -2
  156. package/services/chain-service/utils.d.ts +1 -0
  157. package/services/chain-service/utils.js +5 -1
  158. package/services/earning-service/constants/abis/compound_finance_v2_abi.json +1235 -0
  159. package/services/earning-service/constants/abis/st_liquid_token_abi.json +1355 -0
  160. package/services/earning-service/constants/chains.d.ts +14 -0
  161. package/services/earning-service/constants/chains.js +21 -0
  162. package/services/earning-service/constants/index.d.ts +2 -0
  163. package/services/earning-service/constants/index.js +5 -0
  164. package/services/earning-service/constants/step.d.ts +3 -0
  165. package/services/earning-service/constants/step.js +10 -0
  166. package/services/earning-service/handlers/base.d.ts +113 -0
  167. package/services/earning-service/handlers/base.js +256 -0
  168. package/services/earning-service/handlers/index.d.ts +5 -0
  169. package/services/earning-service/handlers/index.js +8 -0
  170. package/services/earning-service/handlers/lending/base.d.ts +8 -0
  171. package/services/earning-service/handlers/lending/base.js +73 -0
  172. package/services/earning-service/handlers/lending/index.d.ts +1 -0
  173. package/services/earning-service/handlers/lending/index.js +4 -0
  174. package/services/earning-service/handlers/lending/interlay.d.ts +24 -0
  175. package/services/earning-service/handlers/lending/interlay.js +184 -0
  176. package/services/earning-service/handlers/liquid-staking/acala.d.ts +27 -0
  177. package/services/earning-service/handlers/liquid-staking/acala.js +232 -0
  178. package/services/earning-service/handlers/liquid-staking/base.d.ts +11 -0
  179. package/services/earning-service/handlers/liquid-staking/base.js +89 -0
  180. package/services/earning-service/handlers/liquid-staking/bifrost.d.ts +46 -0
  181. package/services/earning-service/handlers/liquid-staking/bifrost.js +287 -0
  182. package/services/earning-service/handlers/liquid-staking/index.d.ts +4 -0
  183. package/services/earning-service/handlers/liquid-staking/index.js +7 -0
  184. package/services/earning-service/handlers/liquid-staking/parallel.d.ts +26 -0
  185. package/services/earning-service/handlers/liquid-staking/parallel.js +219 -0
  186. package/services/earning-service/handlers/liquid-staking/stella-swap.d.ts +34 -0
  187. package/services/earning-service/handlers/liquid-staking/stella-swap.js +394 -0
  188. package/services/earning-service/handlers/native-staking/amplitude.d.ts +22 -0
  189. package/services/earning-service/handlers/native-staking/amplitude.js +380 -0
  190. package/services/earning-service/handlers/native-staking/astar.d.ts +19 -0
  191. package/services/earning-service/handlers/native-staking/astar.js +456 -0
  192. package/services/earning-service/handlers/native-staking/base-para.d.ts +11 -0
  193. package/services/earning-service/handlers/native-staking/base-para.js +138 -0
  194. package/services/earning-service/handlers/native-staking/base.d.ts +21 -0
  195. package/services/earning-service/handlers/native-staking/base.js +152 -0
  196. package/services/earning-service/handlers/native-staking/index.d.ts +4 -0
  197. package/services/earning-service/handlers/native-staking/index.js +7 -0
  198. package/services/earning-service/handlers/native-staking/para-chain.d.ts +15 -0
  199. package/services/earning-service/handlers/native-staking/para-chain.js +382 -0
  200. package/services/earning-service/handlers/native-staking/relay-chain.d.ts +21 -0
  201. package/services/earning-service/handlers/native-staking/relay-chain.js +558 -0
  202. package/services/earning-service/handlers/nomination-pool/index.d.ts +36 -0
  203. package/services/earning-service/handlers/nomination-pool/index.js +556 -0
  204. package/services/earning-service/handlers/special.d.ts +64 -0
  205. package/services/earning-service/handlers/special.js +485 -0
  206. package/services/earning-service/service.d.ts +93 -0
  207. package/services/earning-service/service.js +709 -0
  208. package/services/earning-service/utils/index.d.ts +18 -0
  209. package/services/earning-service/utils/index.js +112 -0
  210. package/services/event-service/index.d.ts +2 -0
  211. package/services/event-service/index.js +5 -0
  212. package/services/event-service/types.d.ts +9 -0
  213. package/services/keyring-service/index.d.ts +2 -1
  214. package/services/keyring-service/index.js +14 -2
  215. package/services/migration-service/scripts/DeleteEarningData.d.ts +4 -0
  216. package/services/migration-service/scripts/DeleteEarningData.js +13 -0
  217. package/services/migration-service/scripts/EnableEarningChains.d.ts +4 -0
  218. package/services/migration-service/scripts/EnableEarningChains.js +13 -0
  219. package/services/migration-service/scripts/MigrateLedgerAccount.js +1 -1
  220. package/services/migration-service/scripts/MigrateTransactionHistory.js +1 -1
  221. package/services/migration-service/scripts/databases/MigrateEarningHistory.d.ts +4 -0
  222. package/services/migration-service/scripts/databases/MigrateEarningHistory.js +13 -0
  223. package/services/migration-service/scripts/databases/MigrateEarningVersion.d.ts +4 -0
  224. package/services/migration-service/scripts/databases/MigrateEarningVersion.js +13 -0
  225. package/services/migration-service/scripts/index.js +6 -1
  226. package/services/mint-campaign-service/campaigns/UnlockDotCampaign.d.ts +13 -0
  227. package/services/mint-campaign-service/campaigns/UnlockDotCampaign.js +139 -0
  228. package/services/mint-campaign-service/campaigns/index.d.ts +1 -0
  229. package/services/mint-campaign-service/campaigns/index.js +4 -0
  230. package/services/mint-campaign-service/constants.d.ts +1 -0
  231. package/services/mint-campaign-service/constants.js +4 -0
  232. package/services/mint-campaign-service/index.d.ts +7 -0
  233. package/services/mint-campaign-service/index.js +11 -0
  234. package/services/notification-service/NotificationService.js +1 -1
  235. package/services/storage-service/DatabaseService.d.ts +23 -1
  236. package/services/storage-service/DatabaseService.js +66 -0
  237. package/services/storage-service/databases/index.d.ts +3 -1
  238. package/services/storage-service/databases/index.js +4 -0
  239. package/services/storage-service/db-stores/Campaign.js +9 -3
  240. package/services/storage-service/db-stores/NominatorMetadata.js +3 -3
  241. package/services/storage-service/db-stores/YieldPoolStore.d.ts +10 -0
  242. package/services/storage-service/db-stores/YieldPoolStore.js +28 -0
  243. package/services/storage-service/db-stores/YieldPositionStore.d.ts +11 -0
  244. package/services/storage-service/db-stores/YieldPositionStore.js +63 -0
  245. package/services/subscan-service/index.d.ts +3 -2
  246. package/services/subscan-service/index.js +15 -0
  247. package/services/subscan-service/types.d.ts +20 -0
  248. package/services/transaction-service/event-parser/index.d.ts +3 -1
  249. package/services/transaction-service/event-parser/index.js +57 -1
  250. package/services/transaction-service/helpers/index.js +3 -1
  251. package/services/transaction-service/index.d.ts +4 -15
  252. package/services/transaction-service/index.js +243 -73
  253. package/services/transaction-service/types.d.ts +2 -0
  254. package/services/transaction-service/utils.js +1 -0
  255. package/types/campaigns/index.d.ts +1 -0
  256. package/types/campaigns/index.js +4 -0
  257. package/types/campaigns/unlock-dot.d.ts +71 -0
  258. package/types/campaigns/unlock-dot.js +1 -0
  259. package/types/index.d.ts +5 -0
  260. package/types/index.js +5 -1
  261. package/types/ordinal.d.ts +69 -0
  262. package/types/ordinal.js +1 -0
  263. package/types/transaction.d.ts +3 -0
  264. package/types/transaction.js +1 -0
  265. package/types/yield/actions/index.d.ts +2 -0
  266. package/types/yield/actions/index.js +5 -0
  267. package/types/yield/actions/join/index.d.ts +3 -0
  268. package/types/yield/actions/join/index.js +6 -0
  269. package/types/yield/actions/join/step.d.ts +95 -0
  270. package/types/yield/actions/join/step.js +46 -0
  271. package/types/yield/actions/join/submit.d.ts +58 -0
  272. package/types/yield/actions/join/submit.js +1 -0
  273. package/types/yield/actions/join/validate.d.ts +18 -0
  274. package/types/yield/actions/join/validate.js +10 -0
  275. package/types/yield/actions/others.d.ts +85 -0
  276. package/types/yield/actions/others.js +1 -0
  277. package/types/yield/index.d.ts +2 -0
  278. package/types/yield/index.js +5 -0
  279. package/types/yield/info/account/index.d.ts +4 -0
  280. package/types/yield/info/account/index.js +7 -0
  281. package/types/yield/info/account/info.d.ts +92 -0
  282. package/types/yield/info/account/info.js +1 -0
  283. package/types/yield/info/account/reward.d.ts +47 -0
  284. package/types/yield/info/account/reward.js +1 -0
  285. package/types/yield/info/account/target.d.ts +43 -0
  286. package/types/yield/info/account/target.js +27 -0
  287. package/types/yield/info/account/unstake.d.ts +31 -0
  288. package/types/yield/info/account/unstake.js +22 -0
  289. package/types/yield/info/base.d.ts +45 -0
  290. package/types/yield/info/base.js +36 -0
  291. package/types/yield/info/chain/index.d.ts +2 -0
  292. package/types/yield/info/chain/index.js +5 -0
  293. package/types/yield/info/chain/info.d.ts +251 -0
  294. package/types/yield/info/chain/info.js +1 -0
  295. package/types/yield/info/chain/target.d.ts +37 -0
  296. package/types/yield/info/chain/target.js +1 -0
  297. package/types/yield/info/index.d.ts +4 -0
  298. package/types/yield/info/index.js +7 -0
  299. package/types/yield/info/pallet.d.ts +143 -0
  300. package/types/yield/info/pallet.js +9 -0
  301. package/utils/fetchStaticData.js +2 -1
  302. package/utils/index.d.ts +5 -0
  303. package/utils/index.js +53 -1
  304. package/utils/number.d.ts +2 -1
  305. package/utils/number.js +2 -1
  306. package/utils/object.d.ts +1 -0
  307. 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,11 +480,21 @@ 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 || '';
465
- historyItem.amount = {
483
+ const slug = data.slug;
484
+ const poolHandler = this.state.earningService.getPoolHandler(slug);
485
+ const amount = {
466
486
  ...baseNativeAmount,
467
487
  value: data.unstakingInfo.claimable || '0'
468
488
  };
489
+ if (poolHandler) {
490
+ const asset = this.state.getAssetBySlug(poolHandler.metadataInfo.inputAsset);
491
+ if (asset) {
492
+ amount.decimals = asset.decimals || 0;
493
+ amount.symbol = asset.symbol;
494
+ }
495
+ }
496
+ historyItem.to = data.unstakingInfo.validatorAddress || '';
497
+ historyItem.amount = amount;
469
498
  break;
470
499
  }
471
500
  case _KoniTypes.ExtrinsicType.STAKING_CANCEL_UNSTAKE:
@@ -486,6 +515,116 @@ class TransactionService {
486
515
  historyItem.to = (data === null || data === void 0 ? void 0 : data.to) || '';
487
516
  break;
488
517
  }
518
+ case _KoniTypes.ExtrinsicType.MINT_STDOT:
519
+ case _KoniTypes.ExtrinsicType.MINT_QDOT:
520
+ case _KoniTypes.ExtrinsicType.MINT_LDOT:
521
+ case _KoniTypes.ExtrinsicType.MINT_SDOT:
522
+
523
+ // eslint-disable-next-line no-fallthrough
524
+ case _KoniTypes.ExtrinsicType.MINT_VDOT:
525
+ {
526
+ const params = (0, _utils2.parseTransactionData)(transaction.data);
527
+ const inputTokenInfo = this.state.chainService.getAssetBySlug(params.inputTokenSlug);
528
+ const isFeePaidWithInputAsset = params.feeTokenSlug === params.inputTokenSlug;
529
+ historyItem.amount = {
530
+ value: params.amount,
531
+ symbol: (0, _utils._getAssetSymbol)(inputTokenInfo),
532
+ decimals: (0, _utils._getAssetDecimals)(inputTokenInfo)
533
+ };
534
+ const additionalInfo = {
535
+ slug: params.slug,
536
+ derivativeTokenSlug: params.derivativeTokenSlug,
537
+ exchangeRate: params.exchangeRate
538
+ };
539
+ historyItem.additionalInfo = additionalInfo;
540
+ eventLogs && !(0, _utils._isChainEvmCompatible)(chainInfo) && (0, _eventParser.parseLiquidStakingEvents)(historyItem, eventLogs, inputTokenInfo, chainInfo, isFeePaidWithInputAsset, extrinsicType);
541
+ break;
542
+ }
543
+ case _KoniTypes.ExtrinsicType.UNSTAKE_QDOT:
544
+
545
+ // eslint-disable-next-line no-fallthrough
546
+ case _KoniTypes.ExtrinsicType.REDEEM_QDOT:
547
+ {
548
+ const data = (0, _utils2.parseTransactionData)(transaction.data);
549
+ const yieldPoolInfo = data.poolInfo;
550
+ if (yieldPoolInfo.metadata.derivativeAssets) {
551
+ const inputTokenSlug = yieldPoolInfo.metadata.inputAsset;
552
+ const inputTokenInfo = this.state.chainService.getAssetBySlug(inputTokenSlug);
553
+ historyItem.amount = {
554
+ value: data.amount,
555
+ symbol: (0, _utils._getAssetSymbol)(inputTokenInfo),
556
+ decimals: (0, _utils._getAssetDecimals)(inputTokenInfo)
557
+ };
558
+ eventLogs && (0, _eventParser.parseLiquidStakingFastUnstakeEvents)(historyItem, eventLogs, chainInfo, extrinsicType);
559
+ const additionalInfo = {
560
+ minAmountPercent: 1,
561
+ symbol: inputTokenInfo.symbol,
562
+ decimals: inputTokenInfo.decimals || 0,
563
+ exchangeRate: 1,
564
+ slug: yieldPoolInfo.slug,
565
+ type: yieldPoolInfo.type,
566
+ chain: yieldPoolInfo.chain,
567
+ group: yieldPoolInfo.group,
568
+ isFast: data.fastLeave
569
+ };
570
+ historyItem.additionalInfo = additionalInfo;
571
+ }
572
+ break;
573
+ }
574
+ case _KoniTypes.ExtrinsicType.UNSTAKE_VDOT:
575
+ case _KoniTypes.ExtrinsicType.UNSTAKE_LDOT:
576
+ case _KoniTypes.ExtrinsicType.UNSTAKE_SDOT:
577
+ case _KoniTypes.ExtrinsicType.UNSTAKE_STDOT:
578
+ case _KoniTypes.ExtrinsicType.REDEEM_STDOT:
579
+ case _KoniTypes.ExtrinsicType.REDEEM_LDOT:
580
+ case _KoniTypes.ExtrinsicType.REDEEM_SDOT:
581
+
582
+ // eslint-disable-next-line no-fallthrough
583
+ case _KoniTypes.ExtrinsicType.REDEEM_VDOT:
584
+ {
585
+ const data = (0, _utils2.parseTransactionData)(transaction.data);
586
+ const yieldPoolInfo = data.poolInfo;
587
+ const minAmountPercents = this.state.earningService.getMinAmountPercent();
588
+ if (yieldPoolInfo.metadata.derivativeAssets) {
589
+ var _yieldPoolInfo$statis;
590
+ const derivativeTokenSlug = yieldPoolInfo.metadata.derivativeAssets[0];
591
+ const derivativeTokenInfo = this.state.chainService.getAssetBySlug(derivativeTokenSlug);
592
+ const chainInfo = this.state.chainService.getChainInfoByKey(data.poolInfo.chain);
593
+ historyItem.amount = {
594
+ value: data.amount,
595
+ symbol: (0, _utils._getAssetSymbol)(derivativeTokenInfo),
596
+ decimals: (0, _utils._getAssetDecimals)(derivativeTokenInfo)
597
+ };
598
+ eventLogs && !(0, _utils._isChainEvmCompatible)(chainInfo) && (0, _eventParser.parseLiquidStakingFastUnstakeEvents)(historyItem, eventLogs, chainInfo, extrinsicType);
599
+ const minAmountPercent = minAmountPercents[yieldPoolInfo.slug] || 1;
600
+ const inputTokenSlug = yieldPoolInfo.metadata.inputAsset;
601
+ const inputTokenInfo = this.state.chainService.getAssetBySlug(inputTokenSlug);
602
+ const additionalInfo = {
603
+ minAmountPercent,
604
+ symbol: inputTokenInfo.symbol,
605
+ decimals: inputTokenInfo.decimals || 0,
606
+ exchangeRate: ((_yieldPoolInfo$statis = yieldPoolInfo.statistic) === null || _yieldPoolInfo$statis === void 0 ? void 0 : _yieldPoolInfo$statis.assetEarning[0].exchangeRate) || 1,
607
+ slug: yieldPoolInfo.slug,
608
+ type: yieldPoolInfo.type,
609
+ chain: yieldPoolInfo.chain,
610
+ group: yieldPoolInfo.group,
611
+ isFast: data.fastLeave
612
+ };
613
+ historyItem.additionalInfo = additionalInfo;
614
+ }
615
+ break;
616
+ }
617
+ case _KoniTypes.ExtrinsicType.TOKEN_APPROVE:
618
+ {
619
+ const data = (0, _utils2.parseTransactionData)(transaction.data);
620
+ const inputAsset = this.state.chainService.getAssetBySlug(data.inputTokenSlug);
621
+ historyItem.amount = {
622
+ value: '0',
623
+ symbol: (0, _utils._getAssetSymbol)(inputAsset),
624
+ decimals: (0, _utils._getAssetDecimals)(inputAsset)
625
+ };
626
+ break;
627
+ }
489
628
  case _KoniTypes.ExtrinsicType.UNKNOWN:
490
629
  break;
491
630
  }
@@ -533,7 +672,7 @@ class TransactionService {
533
672
  });
534
673
 
535
674
  // Create Input History Transaction History
536
- this.historyService.insertHistories(this.transactionToHistories(id, startBlock, nonce)).catch(console.error);
675
+ this.state.historyService.insertHistories(this.transactionToHistories(id, startBlock, nonce)).catch(console.error);
537
676
  console.debug(`Transaction "${id}" is sent`);
538
677
  }
539
678
  onHasTransactionHash(_ref3) {
@@ -551,8 +690,12 @@ class TransactionService {
551
690
  this.updateTransaction(id, updateData);
552
691
 
553
692
  // 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);
693
+ this.state.historyService.updateHistoryByExtrinsicHash(id, updateData).catch(console.error);
555
694
  console.debug(`Transaction "${id}" is submitted with hash ${extrinsicHash || ''}`);
695
+ const transaction = this.getTransaction(id);
696
+ 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)) {
697
+ this.handlePostEarningTransaction(id);
698
+ }
556
699
  }
557
700
  handlePostProcessing(id) {
558
701
  // must be done after success/failure to make sure the transaction is finalized
@@ -561,15 +704,15 @@ class TransactionService {
561
704
  const inputData = (0, _utils2.parseTransactionData)(transaction.data);
562
705
  try {
563
706
  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);
707
+ sender && this.state.dbService.handleNftTransfer(transaction.chain, [sender.address, _constants.ALL_ACCOUNT_KEY], inputData.nftItem).then(() => {
708
+ this.state.eventService.emit('transaction.transferNft', undefined);
566
709
  }).catch(console.error);
567
710
  } catch (e) {
568
711
  console.error(e);
569
712
  }
570
713
  try {
571
714
  const recipient = _uiKeyring.default.getPair(inputData.recipientAddress);
572
- recipient && this.databaseService.addNft(recipient.address, {
715
+ recipient && this.state.dbService.addNft(recipient.address, {
573
716
  ...inputData.nftItem,
574
717
  owner: recipient.address
575
718
  }).catch(console.error);
@@ -577,7 +720,7 @@ class TransactionService {
577
720
  console.error(e);
578
721
  }
579
722
  } 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);
723
+ this.state.eventService.emit('transaction.submitStaking', transaction.chain);
581
724
  }
582
725
  }
583
726
  onSuccess(_ref4) {
@@ -594,14 +737,14 @@ class TransactionService {
594
737
  });
595
738
 
596
739
  // Write success transaction history
597
- this.historyService.updateHistoryByExtrinsicHash(transaction.extrinsicHash, {
740
+ this.state.historyService.updateHistoryByExtrinsicHash(transaction.extrinsicHash, {
598
741
  extrinsicHash,
599
742
  status: _KoniTypes.ExtrinsicStatus.SUCCESS,
600
743
  blockNumber: blockNumber || 0,
601
744
  blockHash: blockHash || ''
602
745
  }).catch(console.error);
603
- const info = (0, _util.isHex)(extrinsicHash) ? extrinsicHash : (0, _helpers.getBaseTransactionInfo)(transaction, this.chainService.getChainInfoMap());
604
- this.notificationService.notify({
746
+ const info = (0, _util.isHex)(extrinsicHash) ? extrinsicHash : (0, _helpers.getBaseTransactionInfo)(transaction, this.state.chainService.getChainInfoMap());
747
+ this.state.notificationService.notify({
605
748
  type: _KoniTypes.NotificationType.SUCCESS,
606
749
  title: (0, _i18next.t)('Transaction completed'),
607
750
  message: (0, _i18next.t)('Transaction {{info}} completed', {
@@ -614,7 +757,7 @@ class TransactionService {
614
757
  },
615
758
  notifyViaBrowser: true
616
759
  });
617
- this.eventService.emit('transaction.done', transaction);
760
+ this.state.eventService.emit('transaction.done', transaction);
618
761
  }
619
762
  onFailed(_ref5) {
620
763
  let {
@@ -634,14 +777,14 @@ class TransactionService {
634
777
  });
635
778
 
636
779
  // Write failed transaction history
637
- this.historyService.updateHistoryByExtrinsicHash(transaction.extrinsicHash, {
780
+ this.state.historyService.updateHistoryByExtrinsicHash(transaction.extrinsicHash, {
638
781
  extrinsicHash: extrinsicHash || transaction.extrinsicHash,
639
782
  status: nextStatus,
640
783
  blockNumber: blockNumber || 0,
641
784
  blockHash: blockHash || ''
642
785
  }).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({
786
+ 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());
787
+ this.state.notificationService.notify({
645
788
  type: _KoniTypes.NotificationType.ERROR,
646
789
  title: (0, _i18next.t)('Transaction failed'),
647
790
  message: (0, _i18next.t)('Transaction {{info}} failed', {
@@ -655,11 +798,11 @@ class TransactionService {
655
798
  notifyViaBrowser: true
656
799
  });
657
800
  }
658
- this.eventService.emit('transaction.failed', transaction);
801
+ this.state.eventService.emit('transaction.failed', transaction);
659
802
  }
660
803
  generateHashPayload(chain, transaction) {
661
804
  var _transaction$nonce;
662
- const chainInfo = this.chainService.getChainInfoByKey(chain);
805
+ const chainInfo = this.state.chainService.getChainInfoByKey(chain);
663
806
  const txObject = {
664
807
  nonce: (_transaction$nonce = transaction.nonce) !== null && _transaction$nonce !== void 0 ? _transaction$nonce : 0,
665
808
  gasPrice: (0, _ethereumjsUtil.addHexPrefix)((0, _eth.anyNumberToBN)(transaction.gasPrice).toString(16)),
@@ -681,8 +824,8 @@ class TransactionService {
681
824
  url
682
825
  } = _ref6;
683
826
  const payload = transaction;
684
- const evmApi = this.chainService.getEvmApi(chain);
685
- const chainInfo = this.chainService.getChainInfoByKey(chain);
827
+ const evmApi = this.state.chainService.getEvmApi(chain);
828
+ const chainInfo = this.state.chainService.getChainInfoByKey(chain);
686
829
  const accountPair = _uiKeyring.default.getPair(address);
687
830
  const account = {
688
831
  address,
@@ -712,7 +855,7 @@ class TransactionService {
712
855
 
713
856
  // Set unique nonce to avoid transaction errors
714
857
  if (!payload.nonce) {
715
- const evmApi = this.chainService.getEvmApi(chain);
858
+ const evmApi = this.state.chainService.getEvmApi(chain);
716
859
  payload.nonce = await evmApi.api.eth.getTransactionCount(address);
717
860
  }
718
861
  if (!payload.chainId) {
@@ -747,7 +890,7 @@ class TransactionService {
747
890
  extrinsicHash: id
748
891
  };
749
892
  if (isInjected) {
750
- this.requestService.addConfirmation(id, url || _constants3.EXTENSION_REQUEST_URL, 'evmWatchTransactionRequest', payload, {}).then(async _ref7 => {
893
+ this.state.requestService.addConfirmation(id, url || _constants2.EXTENSION_REQUEST_URL, 'evmWatchTransactionRequest', payload, {}).then(async _ref7 => {
751
894
  let {
752
895
  isApproved,
753
896
  payload
@@ -756,7 +899,7 @@ class TransactionService {
756
899
  if (!payload) {
757
900
  throw new _EvmProviderError.EvmProviderError(_KoniTypes.EvmProviderErrorType.UNAUTHORIZED, 'Bad signature');
758
901
  }
759
- const web3Api = this.chainService.getEvmApi(chain).api;
902
+ const web3Api = this.state.chainService.getEvmApi(chain).api;
760
903
 
761
904
  // Emit signed event
762
905
  emitter.emit('signed', eventData);
@@ -812,7 +955,7 @@ class TransactionService {
812
955
  emitter.emit('error', eventData);
813
956
  });
814
957
  } else {
815
- this.requestService.addConfirmation(id, url || _constants3.EXTENSION_REQUEST_URL, 'evmSendTransactionRequest', payload, {}).then(async _ref8 => {
958
+ this.state.requestService.addConfirmation(id, url || _constants2.EXTENSION_REQUEST_URL, 'evmSendTransactionRequest', payload, {}).then(async _ref8 => {
816
959
  let {
817
960
  isApproved,
818
961
  payload
@@ -822,7 +965,7 @@ class TransactionService {
822
965
  if (!payload) {
823
966
  throw new _EvmProviderError.EvmProviderError(_KoniTypes.EvmProviderErrorType.UNAUTHORIZED, (0, _i18next.t)('Failed to sign'));
824
967
  }
825
- const web3Api = this.chainService.getEvmApi(chain).api;
968
+ const web3Api = this.state.chainService.getEvmApi(chain).api;
826
969
  if (!isExternal) {
827
970
  signedTransaction = payload;
828
971
  } else {
@@ -890,7 +1033,7 @@ class TransactionService {
890
1033
  transaction.signAsync(address, {
891
1034
  signer: {
892
1035
  signPayload: async payload => {
893
- const signing = await this.requestService.signInternalTransaction(id, address, url || _constants3.EXTENSION_REQUEST_URL, payload);
1036
+ const signing = await this.state.requestService.signInternalTransaction(id, address, url || _constants2.EXTENSION_REQUEST_URL, payload);
894
1037
  return {
895
1038
  id: new Date().getTime(),
896
1039
  signature: signing.signature
@@ -902,7 +1045,7 @@ class TransactionService {
902
1045
  emitter.emit('signed', eventData);
903
1046
 
904
1047
  // Send transaction
905
- const api = this.chainService.getSubstrateApi(chain);
1048
+ const api = this.state.chainService.getSubstrateApi(chain);
906
1049
  eventData.nonce = rs.nonce.toNumber();
907
1050
  eventData.startBlock = (await api.api.query.system.number()).toPrimitive();
908
1051
  this.handleTransactionTimeout(emitter, eventData);
@@ -966,7 +1109,7 @@ class TransactionService {
966
1109
  emitter.emit('error', eventData);
967
1110
  clearTimeout(timeout);
968
1111
  }
969
- }, _constants4.TRANSACTION_TIMEOUT);
1112
+ }, _constants3.TRANSACTION_TIMEOUT);
970
1113
  emitter.once('success', () => {
971
1114
  clearTimeout(timeout);
972
1115
  });
@@ -974,6 +1117,33 @@ class TransactionService {
974
1117
  clearTimeout(timeout);
975
1118
  });
976
1119
  }
1120
+ handlePostEarningTransaction(id) {
1121
+ const transaction = this.getTransaction(id);
1122
+ let slug;
1123
+
1124
+ // TODO
1125
+ if ('data' in transaction.data) {
1126
+ slug = transaction.data.data.slug;
1127
+ } else {
1128
+ slug = transaction.data.slug;
1129
+ }
1130
+ const poolHandler = this.state.earningService.getPoolHandler(slug);
1131
+ if (poolHandler) {
1132
+ const type = poolHandler.type;
1133
+ if (type === _types.YieldPoolType.NATIVE_STAKING) {
1134
+ return;
1135
+ }
1136
+ } else {
1137
+ return;
1138
+ }
1139
+ this.state.mintCampaignService.unlockDotCampaign.mintNft({
1140
+ transactionId: id,
1141
+ address: transaction.address,
1142
+ slug: slug,
1143
+ network: transaction.chain,
1144
+ extrinsicHash: transaction.extrinsicHash
1145
+ }).catch(console.error);
1146
+ }
977
1147
  resetWallet() {
978
1148
  this.transactionSubject.next({});
979
1149
  }
@@ -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";