@subwallet/extension-base 1.1.33-0 → 1.1.33-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 (314) hide show
  1. package/background/KoniTypes.d.ts +120 -69
  2. package/background/KoniTypes.js +22 -13
  3. package/background/errors/TransactionError.js +9 -0
  4. package/cjs/background/KoniTypes.js +23 -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 +31 -28
  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 +49 -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 +9 -6
  30. package/cjs/services/chain-service/constants.js +4 -17
  31. package/cjs/services/chain-service/handler/SubstrateApi.js +10 -5
  32. package/cjs/services/chain-service/index.js +123 -39
  33. package/cjs/services/chain-service/utils.js +75 -1
  34. package/cjs/services/earning-service/constants/chains.js +30 -0
  35. package/cjs/services/earning-service/constants/index.js +27 -0
  36. package/cjs/services/earning-service/constants/step.js +18 -0
  37. package/cjs/services/earning-service/handlers/base.js +262 -0
  38. package/cjs/services/earning-service/handlers/index.js +60 -0
  39. package/cjs/services/earning-service/handlers/lending/base.js +81 -0
  40. package/cjs/services/earning-service/handlers/lending/index.js +13 -0
  41. package/cjs/services/earning-service/handlers/lending/interlay.js +192 -0
  42. package/cjs/services/earning-service/handlers/liquid-staking/acala.js +240 -0
  43. package/cjs/services/earning-service/handlers/liquid-staking/base.js +98 -0
  44. package/cjs/services/earning-service/handlers/liquid-staking/bifrost-manta.js +140 -0
  45. package/cjs/services/earning-service/handlers/liquid-staking/bifrost.js +299 -0
  46. package/cjs/services/earning-service/handlers/liquid-staking/index.js +41 -0
  47. package/cjs/services/earning-service/handlers/liquid-staking/parallel.js +227 -0
  48. package/cjs/services/earning-service/handlers/liquid-staking/stella-swap.js +404 -0
  49. package/cjs/services/earning-service/handlers/native-staking/amplitude.js +434 -0
  50. package/cjs/services/earning-service/handlers/native-staking/astar.js +466 -0
  51. package/cjs/services/earning-service/handlers/native-staking/base-para.js +146 -0
  52. package/cjs/services/earning-service/handlers/native-staking/base.js +161 -0
  53. package/cjs/services/earning-service/handlers/native-staking/index.js +34 -0
  54. package/cjs/services/earning-service/handlers/native-staking/para-chain.js +390 -0
  55. package/cjs/services/earning-service/handlers/native-staking/relay-chain.js +567 -0
  56. package/cjs/services/earning-service/handlers/nomination-pool/index.js +566 -0
  57. package/cjs/services/earning-service/handlers/special.js +497 -0
  58. package/cjs/services/earning-service/service.js +741 -0
  59. package/cjs/services/earning-service/utils/index.js +128 -0
  60. package/cjs/services/event-service/index.js +5 -0
  61. package/cjs/services/keyring-service/index.js +14 -2
  62. package/cjs/services/migration-service/scripts/DeleteEarningData.js +21 -0
  63. package/cjs/services/migration-service/scripts/EnableEarningChains.js +21 -0
  64. package/cjs/services/migration-service/scripts/MigrateEthProvider.js +17 -0
  65. package/cjs/services/migration-service/scripts/MigrateLedgerAccount.js +1 -1
  66. package/cjs/services/migration-service/scripts/MigratePioneerProvider.js +17 -0
  67. package/cjs/services/migration-service/scripts/MigrateProvider.js +29 -0
  68. package/cjs/services/migration-service/scripts/MigrateTransactionHistory.js +1 -1
  69. package/cjs/services/migration-service/scripts/databases/MigrateEarningHistory.js +21 -0
  70. package/cjs/services/migration-service/scripts/databases/MigrateEarningVersion.js +21 -0
  71. package/cjs/services/migration-service/scripts/index.js +6 -1
  72. package/cjs/services/mint-campaign-service/campaigns/UnlockDotCampaign.js +149 -0
  73. package/cjs/services/mint-campaign-service/campaigns/index.js +13 -0
  74. package/cjs/services/mint-campaign-service/constants.js +11 -0
  75. package/cjs/services/mint-campaign-service/index.js +18 -0
  76. package/cjs/services/notification-service/NotificationService.js +1 -1
  77. package/cjs/services/storage-service/DatabaseService.js +92 -1
  78. package/cjs/services/storage-service/databases/index.js +7 -0
  79. package/cjs/services/storage-service/db-stores/AssetRef.js +24 -0
  80. package/cjs/services/storage-service/db-stores/NominatorMetadata.js +3 -3
  81. package/cjs/services/storage-service/db-stores/YieldPoolStore.js +36 -0
  82. package/cjs/services/storage-service/db-stores/YieldPositionStore.js +71 -0
  83. package/cjs/services/storage-service/index.js +241 -0
  84. package/cjs/services/subscan-service/index.js +16 -0
  85. package/cjs/services/transaction-service/event-parser/index.js +58 -0
  86. package/cjs/services/transaction-service/helpers/index.js +3 -1
  87. package/cjs/services/transaction-service/index.js +252 -75
  88. package/cjs/services/transaction-service/utils.js +1 -0
  89. package/cjs/types/campaigns/index.js +16 -0
  90. package/cjs/types/campaigns/unlock-dot.js +1 -0
  91. package/cjs/types/index.js +44 -0
  92. package/cjs/types/ordinal.js +1 -0
  93. package/cjs/types/transaction.js +1 -0
  94. package/cjs/types/yield/actions/index.js +27 -0
  95. package/cjs/types/yield/actions/join/index.js +38 -0
  96. package/cjs/types/yield/actions/join/step.js +48 -0
  97. package/cjs/types/yield/actions/join/submit.js +1 -0
  98. package/cjs/types/yield/actions/join/validate.js +16 -0
  99. package/cjs/types/yield/actions/others.js +1 -0
  100. package/cjs/types/yield/index.js +27 -0
  101. package/cjs/types/yield/info/account/index.js +49 -0
  102. package/cjs/types/yield/info/account/info.js +1 -0
  103. package/cjs/types/yield/info/account/reward.js +1 -0
  104. package/cjs/types/yield/info/account/target.js +32 -0
  105. package/cjs/types/yield/info/account/unstake.js +27 -0
  106. package/cjs/types/yield/info/base.js +41 -0
  107. package/cjs/types/yield/info/chain/index.js +27 -0
  108. package/cjs/types/yield/info/chain/info.js +1 -0
  109. package/cjs/types/yield/info/chain/target.js +1 -0
  110. package/cjs/types/yield/info/index.js +49 -0
  111. package/cjs/types/yield/info/pallet.js +15 -0
  112. package/cjs/types.js +1 -0
  113. package/cjs/utils/address.js +34 -0
  114. package/cjs/utils/fetchStaticData.js +2 -1
  115. package/cjs/utils/index.js +89 -1
  116. package/cjs/utils/keyring.js +57 -0
  117. package/cjs/utils/number.js +6 -2
  118. package/cjs/utils/object.js +12 -0
  119. package/constants/index.d.ts +6 -1
  120. package/constants/index.js +6 -1
  121. package/koni/api/nft/config.js +33 -23
  122. package/koni/api/nft/index.js +15 -1
  123. package/koni/api/nft/nft.js +2 -23
  124. package/koni/api/nft/ordinal_nft/constants.d.ts +9 -0
  125. package/koni/api/nft/ordinal_nft/constants.js +12 -0
  126. package/koni/api/nft/ordinal_nft/index.d.ts +8 -0
  127. package/koni/api/nft/ordinal_nft/index.js +114 -0
  128. package/koni/api/nft/ordinal_nft/utils.d.ts +2 -0
  129. package/koni/api/nft/ordinal_nft/utils.js +33 -0
  130. package/koni/api/staking/bonding/amplitude.js +25 -22
  131. package/koni/api/staking/bonding/astar.js +9 -8
  132. package/koni/api/staking/bonding/index.d.ts +1 -1
  133. package/koni/api/staking/bonding/index.js +5 -1
  134. package/koni/api/staking/bonding/paraChain.js +12 -10
  135. package/koni/api/staking/bonding/relayChain.d.ts +2 -2
  136. package/koni/api/staking/bonding/relayChain.js +33 -30
  137. package/koni/api/staking/bonding/utils.d.ts +15 -38
  138. package/koni/api/staking/bonding/utils.js +85 -69
  139. package/koni/api/staking/index.js +2 -1
  140. package/koni/api/staking/paraChain.js +7 -6
  141. package/koni/api/staking/relayChain.js +4 -3
  142. package/koni/api/yield/helper/utils.d.ts +10 -0
  143. package/koni/api/yield/helper/utils.js +34 -0
  144. package/koni/background/cron.d.ts +0 -4
  145. package/koni/background/cron.js +4 -22
  146. package/koni/background/handlers/Extension.d.ts +17 -1
  147. package/koni/background/handlers/Extension.js +327 -30
  148. package/koni/background/handlers/State.d.ts +6 -1
  149. package/koni/background/handlers/State.js +17 -12
  150. package/koni/background/handlers/index.js +4 -2
  151. package/koni/background/subscription.d.ts +1 -6
  152. package/koni/background/subscription.js +8 -104
  153. package/package.json +327 -4
  154. package/services/campaign-service/index.js +9 -6
  155. package/services/chain-service/constants.d.ts +1 -12
  156. package/services/chain-service/constants.js +1 -14
  157. package/services/chain-service/handler/SubstrateApi.js +10 -5
  158. package/services/chain-service/index.d.ts +11 -1
  159. package/services/chain-service/index.js +119 -36
  160. package/services/chain-service/utils.d.ts +11 -1
  161. package/services/chain-service/utils.js +71 -2
  162. package/services/earning-service/constants/abis/compound_finance_v2_abi.json +1235 -0
  163. package/services/earning-service/constants/abis/st_liquid_token_abi.json +1355 -0
  164. package/services/earning-service/constants/chains.d.ts +15 -0
  165. package/services/earning-service/constants/chains.js +22 -0
  166. package/services/earning-service/constants/index.d.ts +2 -0
  167. package/services/earning-service/constants/index.js +5 -0
  168. package/services/earning-service/constants/step.d.ts +3 -0
  169. package/services/earning-service/constants/step.js +10 -0
  170. package/services/earning-service/handlers/base.d.ts +113 -0
  171. package/services/earning-service/handlers/base.js +256 -0
  172. package/services/earning-service/handlers/index.d.ts +5 -0
  173. package/services/earning-service/handlers/index.js +8 -0
  174. package/services/earning-service/handlers/lending/base.d.ts +8 -0
  175. package/services/earning-service/handlers/lending/base.js +73 -0
  176. package/services/earning-service/handlers/lending/index.d.ts +1 -0
  177. package/services/earning-service/handlers/lending/index.js +4 -0
  178. package/services/earning-service/handlers/lending/interlay.d.ts +24 -0
  179. package/services/earning-service/handlers/lending/interlay.js +184 -0
  180. package/services/earning-service/handlers/liquid-staking/acala.d.ts +27 -0
  181. package/services/earning-service/handlers/liquid-staking/acala.js +232 -0
  182. package/services/earning-service/handlers/liquid-staking/base.d.ts +11 -0
  183. package/services/earning-service/handlers/liquid-staking/base.js +90 -0
  184. package/services/earning-service/handlers/liquid-staking/bifrost-manta.d.ts +37 -0
  185. package/services/earning-service/handlers/liquid-staking/bifrost-manta.js +132 -0
  186. package/services/earning-service/handlers/liquid-staking/bifrost.d.ts +46 -0
  187. package/services/earning-service/handlers/liquid-staking/bifrost.js +288 -0
  188. package/services/earning-service/handlers/liquid-staking/index.d.ts +5 -0
  189. package/services/earning-service/handlers/liquid-staking/index.js +8 -0
  190. package/services/earning-service/handlers/liquid-staking/parallel.d.ts +26 -0
  191. package/services/earning-service/handlers/liquid-staking/parallel.js +219 -0
  192. package/services/earning-service/handlers/liquid-staking/stella-swap.d.ts +34 -0
  193. package/services/earning-service/handlers/liquid-staking/stella-swap.js +394 -0
  194. package/services/earning-service/handlers/native-staking/amplitude.d.ts +22 -0
  195. package/services/earning-service/handlers/native-staking/amplitude.js +425 -0
  196. package/services/earning-service/handlers/native-staking/astar.d.ts +19 -0
  197. package/services/earning-service/handlers/native-staking/astar.js +456 -0
  198. package/services/earning-service/handlers/native-staking/base-para.d.ts +11 -0
  199. package/services/earning-service/handlers/native-staking/base-para.js +138 -0
  200. package/services/earning-service/handlers/native-staking/base.d.ts +21 -0
  201. package/services/earning-service/handlers/native-staking/base.js +152 -0
  202. package/services/earning-service/handlers/native-staking/index.d.ts +4 -0
  203. package/services/earning-service/handlers/native-staking/index.js +7 -0
  204. package/services/earning-service/handlers/native-staking/para-chain.d.ts +15 -0
  205. package/services/earning-service/handlers/native-staking/para-chain.js +382 -0
  206. package/services/earning-service/handlers/native-staking/relay-chain.d.ts +21 -0
  207. package/services/earning-service/handlers/native-staking/relay-chain.js +558 -0
  208. package/services/earning-service/handlers/nomination-pool/index.d.ts +36 -0
  209. package/services/earning-service/handlers/nomination-pool/index.js +556 -0
  210. package/services/earning-service/handlers/special.d.ts +64 -0
  211. package/services/earning-service/handlers/special.js +489 -0
  212. package/services/earning-service/service.d.ts +94 -0
  213. package/services/earning-service/service.js +730 -0
  214. package/services/earning-service/utils/index.d.ts +18 -0
  215. package/services/earning-service/utils/index.js +112 -0
  216. package/services/event-service/index.d.ts +2 -0
  217. package/services/event-service/index.js +5 -0
  218. package/services/event-service/types.d.ts +9 -0
  219. package/services/keyring-service/index.d.ts +2 -1
  220. package/services/keyring-service/index.js +14 -2
  221. package/services/migration-service/scripts/DeleteEarningData.d.ts +4 -0
  222. package/services/migration-service/scripts/DeleteEarningData.js +13 -0
  223. package/services/migration-service/scripts/EnableEarningChains.d.ts +4 -0
  224. package/services/migration-service/scripts/EnableEarningChains.js +13 -0
  225. package/services/migration-service/scripts/MigrateLedgerAccount.js +1 -1
  226. package/services/migration-service/scripts/MigrateTransactionHistory.js +1 -1
  227. package/services/migration-service/scripts/databases/MigrateEarningHistory.d.ts +4 -0
  228. package/services/migration-service/scripts/databases/MigrateEarningHistory.js +13 -0
  229. package/services/migration-service/scripts/databases/MigrateEarningVersion.d.ts +4 -0
  230. package/services/migration-service/scripts/databases/MigrateEarningVersion.js +13 -0
  231. package/services/migration-service/scripts/index.js +6 -1
  232. package/services/mint-campaign-service/campaigns/UnlockDotCampaign.d.ts +13 -0
  233. package/services/mint-campaign-service/campaigns/UnlockDotCampaign.js +139 -0
  234. package/services/mint-campaign-service/campaigns/index.d.ts +1 -0
  235. package/services/mint-campaign-service/campaigns/index.js +4 -0
  236. package/services/mint-campaign-service/constants.d.ts +1 -0
  237. package/services/mint-campaign-service/constants.js +4 -0
  238. package/services/mint-campaign-service/index.d.ts +7 -0
  239. package/services/mint-campaign-service/index.js +11 -0
  240. package/services/notification-service/NotificationService.js +1 -1
  241. package/services/storage-service/DatabaseService.d.ts +30 -3
  242. package/services/storage-service/DatabaseService.js +91 -1
  243. package/services/storage-service/databases/index.d.ts +8 -2
  244. package/services/storage-service/databases/index.js +7 -0
  245. package/services/storage-service/db-stores/AssetRef.d.ts +7 -0
  246. package/services/storage-service/db-stores/AssetRef.js +16 -0
  247. package/services/storage-service/db-stores/NominatorMetadata.js +3 -3
  248. package/services/storage-service/db-stores/YieldPoolStore.d.ts +10 -0
  249. package/services/storage-service/db-stores/YieldPoolStore.js +28 -0
  250. package/services/storage-service/db-stores/YieldPositionStore.d.ts +11 -0
  251. package/services/storage-service/db-stores/YieldPositionStore.js +63 -0
  252. package/services/subscan-service/index.d.ts +3 -2
  253. package/services/subscan-service/index.js +15 -0
  254. package/services/subscan-service/types.d.ts +20 -0
  255. package/services/transaction-service/event-parser/index.d.ts +3 -1
  256. package/services/transaction-service/event-parser/index.js +57 -1
  257. package/services/transaction-service/helpers/index.js +3 -1
  258. package/services/transaction-service/index.d.ts +6 -13
  259. package/services/transaction-service/index.js +250 -73
  260. package/services/transaction-service/types.d.ts +2 -0
  261. package/services/transaction-service/utils.js +1 -0
  262. package/types/campaigns/index.d.ts +1 -0
  263. package/types/campaigns/index.js +4 -0
  264. package/types/campaigns/unlock-dot.d.ts +71 -0
  265. package/types/campaigns/unlock-dot.js +1 -0
  266. package/types/index.d.ts +5 -0
  267. package/types/index.js +5 -1
  268. package/types/ordinal.d.ts +69 -0
  269. package/types/ordinal.js +1 -0
  270. package/types/transaction.d.ts +3 -0
  271. package/types/transaction.js +1 -0
  272. package/types/yield/actions/index.d.ts +2 -0
  273. package/types/yield/actions/index.js +5 -0
  274. package/types/yield/actions/join/index.d.ts +3 -0
  275. package/types/yield/actions/join/index.js +6 -0
  276. package/types/yield/actions/join/step.d.ts +96 -0
  277. package/types/yield/actions/join/step.js +47 -0
  278. package/types/yield/actions/join/submit.d.ts +58 -0
  279. package/types/yield/actions/join/submit.js +1 -0
  280. package/types/yield/actions/join/validate.d.ts +18 -0
  281. package/types/yield/actions/join/validate.js +10 -0
  282. package/types/yield/actions/others.d.ts +85 -0
  283. package/types/yield/actions/others.js +1 -0
  284. package/types/yield/index.d.ts +2 -0
  285. package/types/yield/index.js +5 -0
  286. package/types/yield/info/account/index.d.ts +4 -0
  287. package/types/yield/info/account/index.js +7 -0
  288. package/types/yield/info/account/info.d.ts +92 -0
  289. package/types/yield/info/account/info.js +1 -0
  290. package/types/yield/info/account/reward.d.ts +47 -0
  291. package/types/yield/info/account/reward.js +1 -0
  292. package/types/yield/info/account/target.d.ts +43 -0
  293. package/types/yield/info/account/target.js +27 -0
  294. package/types/yield/info/account/unstake.d.ts +31 -0
  295. package/types/yield/info/account/unstake.js +22 -0
  296. package/types/yield/info/base.d.ts +45 -0
  297. package/types/yield/info/base.js +36 -0
  298. package/types/yield/info/chain/index.d.ts +2 -0
  299. package/types/yield/info/chain/index.js +5 -0
  300. package/types/yield/info/chain/info.d.ts +252 -0
  301. package/types/yield/info/chain/info.js +1 -0
  302. package/types/yield/info/chain/target.d.ts +37 -0
  303. package/types/yield/info/chain/target.js +1 -0
  304. package/types/yield/info/index.d.ts +4 -0
  305. package/types/yield/info/index.js +7 -0
  306. package/types/yield/info/pallet.d.ts +143 -0
  307. package/types/yield/info/pallet.js +9 -0
  308. package/utils/fetchStaticData.js +2 -1
  309. package/utils/index.d.ts +5 -0
  310. package/utils/index.js +52 -0
  311. package/utils/number.d.ts +2 -1
  312. package/utils/number.js +2 -1
  313. package/utils/object.d.ts +1 -0
  314. 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,12 @@ 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;
45
+ this.eventService = state.eventService;
46
+ this.historyService = state.historyService;
47
+ this.notificationService = state.notificationService;
48
+ this.chainService = state.chainService;
50
49
  }
51
50
  get allTransactions() {
52
51
  return Object.values(this.transactions);
@@ -103,7 +102,7 @@ class TransactionService {
103
102
  decimals: 0,
104
103
  value: ''
105
104
  };
106
- const chainInfo = this.chainService.getChainInfoByKey(chain);
105
+ const chainInfo = this.state.chainService.getChainInfoByKey(chain);
107
106
  if (!chainInfo) {
108
107
  validationResponse.errors.push(new _TransactionError.TransactionError(_KoniTypes.BasicTxErrorType.INTERNAL_ERROR, (0, _i18next.t)('Cannot find network')));
109
108
  } else {
@@ -118,7 +117,7 @@ class TransactionService {
118
117
  if ((0, _helpers.isSubstrateTransaction)(transaction)) {
119
118
  estimateFee.value = (await transaction.paymentInfo(address)).partialFee.toString();
120
119
  } else {
121
- const web3 = this.chainService.getEvmApi(chain);
120
+ const web3 = this.state.chainService.getEvmApi(chain);
122
121
  if (!web3) {
123
122
  validationResponse.errors.push(new _TransactionError.TransactionError(_KoniTypes.BasicTxErrorType.CHAIN_DISCONNECTED, undefined));
124
123
  } else {
@@ -152,32 +151,35 @@ class TransactionService {
152
151
 
153
152
  // Balance
154
153
  const transferNative = validationResponse.transferNativeAmount || '0';
155
- const nativeTokenInfo = this.chainService.getNativeTokenInfo(chain);
156
- const balance = await this.balanceService.getTokenFreeBalance(address, chain, nativeTokenInfo.slug);
154
+ const nativeTokenInfo = this.state.chainService.getNativeTokenInfo(chain);
155
+ const balance = await this.state.balanceService.getTokenFreeBalance(address, chain, nativeTokenInfo.slug);
157
156
  const existentialDeposit = nativeTokenInfo.minAmount || '0';
158
157
  const feeNum = parseInt(estimateFee.value);
159
158
  const balanceNum = parseInt(balance.value);
160
159
  const edNum = parseInt(existentialDeposit);
161
160
  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) {
161
+ if (!validationInput.skipFeeValidation) {
162
+ // TODO
163
+ if (!new _bignumber.default(balance.value).gt(0)) {
167
164
  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
165
+ }
166
+ if (transferNativeNum + feeNum > balanceNum) {
167
+ if (!isTransferAll) {
171
168
  validationResponse.errors.push(new _TransactionError.TransactionError(_KoniTypes.BasicTxErrorType.NOT_ENOUGH_BALANCE));
169
+ } else {
170
+ if ([..._constants4._TRANSFER_CHAIN_GROUP.acala, ..._constants4._TRANSFER_CHAIN_GROUP.genshiro, ..._constants4._TRANSFER_CHAIN_GROUP.bitcountry, ..._constants4._TRANSFER_CHAIN_GROUP.statemine].includes(chain)) {
171
+ // Chain not have transfer all function
172
+ validationResponse.errors.push(new _TransactionError.TransactionError(_KoniTypes.BasicTxErrorType.NOT_ENOUGH_BALANCE));
173
+ }
172
174
  }
173
175
  }
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));
176
+ if (!isTransferAll) {
177
+ if (balanceNum - (transferNativeNum + feeNum) < edNum) {
178
+ if (edAsWarning) {
179
+ validationResponse.warnings.push(new _TransactionWarning.TransactionWarning(_KoniTypes.BasicTxWarningCode.NOT_ENOUGH_EXISTENTIAL_DEPOSIT));
180
+ } else {
181
+ validationResponse.errors.push(new _TransactionError.TransactionError(_KoniTypes.BasicTxErrorType.NOT_ENOUGH_EXISTENTIAL_DEPOSIT));
182
+ }
181
183
  }
182
184
  }
183
185
  }
@@ -198,7 +200,7 @@ class TransactionService {
198
200
  updatedAt: new Date().getTime(),
199
201
  errors: transaction.errors || [],
200
202
  warnings: transaction.warnings || [],
201
- url: transaction.url || _constants3.EXTENSION_REQUEST_URL,
203
+ url: transaction.url || _constants2.EXTENSION_REQUEST_URL,
202
204
  status: _KoniTypes.ExtrinsicStatus.QUEUED,
203
205
  isInternal,
204
206
  id: transactionId,
@@ -244,12 +246,21 @@ class TransactionService {
244
246
  }
245
247
  validatedTransaction.warnings = [];
246
248
  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
- });
249
+ await new Promise((resolve, reject) => {
250
+ // TODO
251
+ if (transaction.resolveOnDone) {
252
+ emitter.on('success', data => {
253
+ validatedTransaction.id = data.id;
254
+ validatedTransaction.extrinsicHash = data.extrinsicHash;
255
+ resolve();
256
+ });
257
+ } else {
258
+ emitter.on('signed', data => {
259
+ validatedTransaction.id = data.id;
260
+ validatedTransaction.extrinsicHash = data.extrinsicHash;
261
+ resolve();
262
+ });
263
+ }
253
264
  emitter.on('error', data => {
254
265
  if (data.errors.length > 0) {
255
266
  validatedTransaction.errors.push(...data.errors);
@@ -321,7 +332,7 @@ class TransactionService {
321
332
  }
322
333
  getTransactionLink(id) {
323
334
  const transaction = this.getTransaction(id);
324
- const chainInfo = this.chainService.getChainInfoByKey(transaction.chain);
335
+ const chainInfo = this.state.chainService.getChainInfoByKey(transaction.chain);
325
336
  return (0, _utils2.getExplorerLink)(chainInfo, transaction.extrinsicHash, 'tx');
326
337
  }
327
338
  transactionToHistories(id, startBlock, nonce, eventLogs) {
@@ -349,7 +360,7 @@ class TransactionService {
349
360
  nonce: nonce !== null && nonce !== void 0 ? nonce : 0,
350
361
  startBlock: startBlock || 0
351
362
  };
352
- const chainInfo = this.chainService.getChainInfoByKey(transaction.chain);
363
+ const chainInfo = this.state.chainService.getChainInfoByKey(transaction.chain);
353
364
  const nativeAsset = (0, _utils._getChainNativeTokenBasicInfo)(chainInfo);
354
365
  const baseNativeAmount = {
355
366
  value: '0',
@@ -363,7 +374,7 @@ class TransactionService {
363
374
  {
364
375
  const inputData = (0, _utils2.parseTransactionData)(transaction.data);
365
376
  historyItem.to = inputData.to;
366
- const sendingTokenInfo = this.chainService.getAssetBySlug(inputData.tokenSlug);
377
+ const sendingTokenInfo = this.state.chainService.getAssetBySlug(inputData.tokenSlug);
367
378
  historyItem.amount = {
368
379
  value: inputData.value || '0',
369
380
  decimals: sendingTokenInfo.decimals || 0,
@@ -376,7 +387,7 @@ class TransactionService {
376
387
  {
377
388
  const inputData = (0, _utils2.parseTransactionData)(transaction.data);
378
389
  historyItem.to = inputData.to;
379
- const sendingTokenInfo = this.chainService.getAssetBySlug(inputData.tokenSlug);
390
+ const sendingTokenInfo = this.state.chainService.getAssetBySlug(inputData.tokenSlug);
380
391
  historyItem.amount = {
381
392
  value: inputData.value || '0',
382
393
  decimals: sendingTokenInfo.decimals || 0,
@@ -389,7 +400,7 @@ class TransactionService {
389
400
  {
390
401
  const inputData = (0, _utils2.parseTransactionData)(transaction.data);
391
402
  historyItem.to = inputData.to;
392
- const sendingTokenInfo = this.chainService.getAssetBySlug(inputData.tokenSlug);
403
+ const sendingTokenInfo = this.state.chainService.getAssetBySlug(inputData.tokenSlug);
393
404
  historyItem.amount = {
394
405
  value: inputData.value || '0',
395
406
  decimals: sendingTokenInfo.decimals || 0,
@@ -438,17 +449,29 @@ class TransactionService {
438
449
  case _KoniTypes.ExtrinsicType.STAKING_UNBOND:
439
450
  {
440
451
  const data = (0, _utils2.parseTransactionData)(transaction.data);
441
- historyItem.to = data.validatorAddress || '';
442
- historyItem.amount = {
443
- ...baseNativeAmount,
444
- value: data.amount || '0'
445
- };
452
+ if (data.isLiquidStaking && data.derivativeTokenInfo && data.exchangeRate && data.inputTokenInfo) {
453
+ historyItem.amount = {
454
+ decimals: (0, _utils._getAssetDecimals)(data.derivativeTokenInfo),
455
+ symbol: (0, _utils._getAssetSymbol)(data.derivativeTokenInfo),
456
+ value: data.amount
457
+ };
458
+ historyItem.additionalInfo = {
459
+ inputTokenSlug: data.inputTokenInfo.slug,
460
+ exchangeRate: data.exchangeRate
461
+ };
462
+ } else {
463
+ historyItem.to = data.validatorAddress || '';
464
+ historyItem.amount = {
465
+ ...baseNativeAmount,
466
+ value: data.amount || '0'
467
+ };
468
+ }
446
469
  }
447
470
  break;
448
471
  case _KoniTypes.ExtrinsicType.STAKING_LEAVE_POOL:
449
472
  {
450
473
  const data = (0, _utils2.parseTransactionData)(transaction.data);
451
- historyItem.to = data.nominatorMetadata.address || '';
474
+ historyItem.to = data.address || '';
452
475
  historyItem.amount = {
453
476
  ...baseNativeAmount,
454
477
  value: data.amount || '0'
@@ -467,11 +490,21 @@ class TransactionService {
467
490
  case _KoniTypes.ExtrinsicType.STAKING_WITHDRAW:
468
491
  {
469
492
  const data = (0, _utils2.parseTransactionData)(transaction.data);
470
- historyItem.to = data.validatorAddress || '';
471
- historyItem.amount = {
493
+ const slug = data.slug;
494
+ const poolHandler = this.state.earningService.getPoolHandler(slug);
495
+ const amount = {
472
496
  ...baseNativeAmount,
473
497
  value: data.unstakingInfo.claimable || '0'
474
498
  };
499
+ if (poolHandler) {
500
+ const asset = this.state.getAssetBySlug(poolHandler.metadataInfo.inputAsset);
501
+ if (asset) {
502
+ amount.decimals = asset.decimals || 0;
503
+ amount.symbol = asset.symbol;
504
+ }
505
+ }
506
+ historyItem.to = data.unstakingInfo.validatorAddress || '';
507
+ historyItem.amount = amount;
475
508
  break;
476
509
  }
477
510
  case _KoniTypes.ExtrinsicType.STAKING_CANCEL_UNSTAKE:
@@ -492,6 +525,119 @@ class TransactionService {
492
525
  historyItem.to = (data === null || data === void 0 ? void 0 : data.to) || '';
493
526
  break;
494
527
  }
528
+ case _KoniTypes.ExtrinsicType.MINT_STDOT:
529
+ case _KoniTypes.ExtrinsicType.MINT_QDOT:
530
+ case _KoniTypes.ExtrinsicType.MINT_LDOT:
531
+ case _KoniTypes.ExtrinsicType.MINT_SDOT:
532
+ case _KoniTypes.ExtrinsicType.MINT_VMANTA:
533
+
534
+ // eslint-disable-next-line no-fallthrough
535
+ case _KoniTypes.ExtrinsicType.MINT_VDOT:
536
+ {
537
+ const params = (0, _utils2.parseTransactionData)(transaction.data);
538
+ const inputTokenInfo = this.state.chainService.getAssetBySlug(params.inputTokenSlug);
539
+ const isFeePaidWithInputAsset = params.feeTokenSlug === params.inputTokenSlug;
540
+ historyItem.amount = {
541
+ value: params.amount,
542
+ symbol: (0, _utils._getAssetSymbol)(inputTokenInfo),
543
+ decimals: (0, _utils._getAssetDecimals)(inputTokenInfo)
544
+ };
545
+ const additionalInfo = {
546
+ slug: params.slug,
547
+ derivativeTokenSlug: params.derivativeTokenSlug,
548
+ exchangeRate: params.exchangeRate
549
+ };
550
+ historyItem.additionalInfo = additionalInfo;
551
+ eventLogs && !(0, _utils._isChainEvmCompatible)(chainInfo) && (0, _eventParser.parseLiquidStakingEvents)(historyItem, eventLogs, inputTokenInfo, chainInfo, isFeePaidWithInputAsset, extrinsicType);
552
+ break;
553
+ }
554
+ case _KoniTypes.ExtrinsicType.UNSTAKE_QDOT:
555
+
556
+ // eslint-disable-next-line no-fallthrough
557
+ case _KoniTypes.ExtrinsicType.REDEEM_QDOT:
558
+ {
559
+ const data = (0, _utils2.parseTransactionData)(transaction.data);
560
+ const yieldPoolInfo = data.poolInfo;
561
+ if (yieldPoolInfo.metadata.derivativeAssets) {
562
+ const inputTokenSlug = yieldPoolInfo.metadata.inputAsset;
563
+ const inputTokenInfo = this.state.chainService.getAssetBySlug(inputTokenSlug);
564
+ historyItem.amount = {
565
+ value: data.amount,
566
+ symbol: (0, _utils._getAssetSymbol)(inputTokenInfo),
567
+ decimals: (0, _utils._getAssetDecimals)(inputTokenInfo)
568
+ };
569
+ eventLogs && (0, _eventParser.parseLiquidStakingFastUnstakeEvents)(historyItem, eventLogs, chainInfo, extrinsicType);
570
+ const additionalInfo = {
571
+ minAmountPercent: 1,
572
+ symbol: inputTokenInfo.symbol,
573
+ decimals: inputTokenInfo.decimals || 0,
574
+ exchangeRate: 1,
575
+ slug: yieldPoolInfo.slug,
576
+ type: yieldPoolInfo.type,
577
+ chain: yieldPoolInfo.chain,
578
+ group: yieldPoolInfo.group,
579
+ isFast: data.fastLeave
580
+ };
581
+ historyItem.additionalInfo = additionalInfo;
582
+ }
583
+ break;
584
+ }
585
+ case _KoniTypes.ExtrinsicType.UNSTAKE_VDOT:
586
+ case _KoniTypes.ExtrinsicType.UNSTAKE_VMANTA:
587
+ case _KoniTypes.ExtrinsicType.UNSTAKE_LDOT:
588
+ case _KoniTypes.ExtrinsicType.UNSTAKE_SDOT:
589
+ case _KoniTypes.ExtrinsicType.UNSTAKE_STDOT:
590
+ case _KoniTypes.ExtrinsicType.REDEEM_STDOT:
591
+ case _KoniTypes.ExtrinsicType.REDEEM_LDOT:
592
+ case _KoniTypes.ExtrinsicType.REDEEM_SDOT:
593
+ case _KoniTypes.ExtrinsicType.REDEEM_VMANTA:
594
+
595
+ // eslint-disable-next-line no-fallthrough
596
+ case _KoniTypes.ExtrinsicType.REDEEM_VDOT:
597
+ {
598
+ const data = (0, _utils2.parseTransactionData)(transaction.data);
599
+ const yieldPoolInfo = data.poolInfo;
600
+ const minAmountPercents = this.state.earningService.getMinAmountPercent();
601
+ if (yieldPoolInfo.metadata.derivativeAssets) {
602
+ var _yieldPoolInfo$statis;
603
+ const derivativeTokenSlug = yieldPoolInfo.metadata.derivativeAssets[0];
604
+ const derivativeTokenInfo = this.state.chainService.getAssetBySlug(derivativeTokenSlug);
605
+ const chainInfo = this.state.chainService.getChainInfoByKey(data.poolInfo.chain);
606
+ historyItem.amount = {
607
+ value: data.amount,
608
+ symbol: (0, _utils._getAssetSymbol)(derivativeTokenInfo),
609
+ decimals: (0, _utils._getAssetDecimals)(derivativeTokenInfo)
610
+ };
611
+ eventLogs && !(0, _utils._isChainEvmCompatible)(chainInfo) && (0, _eventParser.parseLiquidStakingFastUnstakeEvents)(historyItem, eventLogs, chainInfo, extrinsicType);
612
+ const minAmountPercent = minAmountPercents[yieldPoolInfo.slug] || 1;
613
+ const inputTokenSlug = yieldPoolInfo.metadata.inputAsset;
614
+ const inputTokenInfo = this.state.chainService.getAssetBySlug(inputTokenSlug);
615
+ const additionalInfo = {
616
+ minAmountPercent,
617
+ symbol: inputTokenInfo.symbol,
618
+ decimals: inputTokenInfo.decimals || 0,
619
+ exchangeRate: ((_yieldPoolInfo$statis = yieldPoolInfo.statistic) === null || _yieldPoolInfo$statis === void 0 ? void 0 : _yieldPoolInfo$statis.assetEarning[0].exchangeRate) || 1,
620
+ slug: yieldPoolInfo.slug,
621
+ type: yieldPoolInfo.type,
622
+ chain: yieldPoolInfo.chain,
623
+ group: yieldPoolInfo.group,
624
+ isFast: data.fastLeave
625
+ };
626
+ historyItem.additionalInfo = additionalInfo;
627
+ }
628
+ break;
629
+ }
630
+ case _KoniTypes.ExtrinsicType.TOKEN_APPROVE:
631
+ {
632
+ const data = (0, _utils2.parseTransactionData)(transaction.data);
633
+ const inputAsset = this.state.chainService.getAssetBySlug(data.inputTokenSlug);
634
+ historyItem.amount = {
635
+ value: '0',
636
+ symbol: (0, _utils._getAssetSymbol)(inputAsset),
637
+ decimals: (0, _utils._getAssetDecimals)(inputAsset)
638
+ };
639
+ break;
640
+ }
495
641
  case _KoniTypes.ExtrinsicType.UNKNOWN:
496
642
  break;
497
643
  }
@@ -539,7 +685,7 @@ class TransactionService {
539
685
  });
540
686
 
541
687
  // Create Input History Transaction History
542
- this.historyService.insertHistories(this.transactionToHistories(id, startBlock, nonce)).catch(console.error);
688
+ this.state.historyService.insertHistories(this.transactionToHistories(id, startBlock, nonce)).catch(console.error);
543
689
  console.debug(`Transaction "${id}" is sent`);
544
690
  }
545
691
  onHasTransactionHash(_ref3) {
@@ -557,8 +703,12 @@ class TransactionService {
557
703
  this.updateTransaction(id, updateData);
558
704
 
559
705
  // In this case transaction id is the same as extrinsic hash and will change after below update
560
- this.historyService.updateHistoryByExtrinsicHash(id, updateData).catch(console.error);
706
+ this.state.historyService.updateHistoryByExtrinsicHash(id, updateData).catch(console.error);
561
707
  console.debug(`Transaction "${id}" is submitted with hash ${extrinsicHash || ''}`);
708
+ const transaction = this.getTransaction(id);
709
+ 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)) {
710
+ this.handlePostEarningTransaction(id);
711
+ }
562
712
  }
563
713
  handlePostProcessing(id) {
564
714
  // must be done after success/failure to make sure the transaction is finalized
@@ -567,15 +717,15 @@ class TransactionService {
567
717
  const inputData = (0, _utils2.parseTransactionData)(transaction.data);
568
718
  try {
569
719
  const sender = _uiKeyring.default.getPair(inputData.senderAddress);
570
- sender && this.databaseService.handleNftTransfer(transaction.chain, [sender.address, _constants.ALL_ACCOUNT_KEY], inputData.nftItem).then(() => {
571
- this.eventService.emit('transaction.transferNft', undefined);
720
+ sender && this.state.dbService.handleNftTransfer(transaction.chain, [sender.address, _constants.ALL_ACCOUNT_KEY], inputData.nftItem).then(() => {
721
+ this.state.eventService.emit('transaction.transferNft', undefined);
572
722
  }).catch(console.error);
573
723
  } catch (e) {
574
724
  console.error(e);
575
725
  }
576
726
  try {
577
727
  const recipient = _uiKeyring.default.getPair(inputData.recipientAddress);
578
- recipient && this.databaseService.addNft(recipient.address, {
728
+ recipient && this.state.dbService.addNft(recipient.address, {
579
729
  ...inputData.nftItem,
580
730
  owner: recipient.address
581
731
  }).catch(console.error);
@@ -583,7 +733,7 @@ class TransactionService {
583
733
  console.error(e);
584
734
  }
585
735
  } 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)) {
586
- this.eventService.emit('transaction.submitStaking', transaction.chain);
736
+ this.state.eventService.emit('transaction.submitStaking', transaction.chain);
587
737
  }
588
738
  }
589
739
  onSuccess(_ref4) {
@@ -600,14 +750,14 @@ class TransactionService {
600
750
  });
601
751
 
602
752
  // Write success transaction history
603
- this.historyService.updateHistoryByExtrinsicHash(transaction.extrinsicHash, {
753
+ this.state.historyService.updateHistoryByExtrinsicHash(transaction.extrinsicHash, {
604
754
  extrinsicHash,
605
755
  status: _KoniTypes.ExtrinsicStatus.SUCCESS,
606
756
  blockNumber: blockNumber || 0,
607
757
  blockHash: blockHash || ''
608
758
  }).catch(console.error);
609
- const info = (0, _util.isHex)(extrinsicHash) ? extrinsicHash : (0, _helpers.getBaseTransactionInfo)(transaction, this.chainService.getChainInfoMap());
610
- this.notificationService.notify({
759
+ const info = (0, _util.isHex)(extrinsicHash) ? extrinsicHash : (0, _helpers.getBaseTransactionInfo)(transaction, this.state.chainService.getChainInfoMap());
760
+ this.state.notificationService.notify({
611
761
  type: _KoniTypes.NotificationType.SUCCESS,
612
762
  title: (0, _i18next.t)('Transaction completed'),
613
763
  message: (0, _i18next.t)('Transaction {{info}} completed', {
@@ -620,7 +770,7 @@ class TransactionService {
620
770
  },
621
771
  notifyViaBrowser: true
622
772
  });
623
- this.eventService.emit('transaction.done', transaction);
773
+ this.state.eventService.emit('transaction.done', transaction);
624
774
  }
625
775
  onFailed(_ref5) {
626
776
  let {
@@ -640,14 +790,14 @@ class TransactionService {
640
790
  });
641
791
 
642
792
  // Write failed transaction history
643
- this.historyService.updateHistoryByExtrinsicHash(transaction.extrinsicHash, {
793
+ this.state.historyService.updateHistoryByExtrinsicHash(transaction.extrinsicHash, {
644
794
  extrinsicHash: extrinsicHash || transaction.extrinsicHash,
645
795
  status: nextStatus,
646
796
  blockNumber: blockNumber || 0,
647
797
  blockHash: blockHash || ''
648
798
  }).catch(console.error);
649
- 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());
650
- this.notificationService.notify({
799
+ 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());
800
+ this.state.notificationService.notify({
651
801
  type: _KoniTypes.NotificationType.ERROR,
652
802
  title: (0, _i18next.t)('Transaction failed'),
653
803
  message: (0, _i18next.t)('Transaction {{info}} failed', {
@@ -661,7 +811,7 @@ class TransactionService {
661
811
  notifyViaBrowser: true
662
812
  });
663
813
  }
664
- this.eventService.emit('transaction.failed', transaction);
814
+ this.state.eventService.emit('transaction.failed', transaction);
665
815
  }
666
816
  onTimeOut(_ref6) {
667
817
  let {
@@ -704,7 +854,7 @@ class TransactionService {
704
854
  }
705
855
  generateHashPayload(chain, transaction) {
706
856
  var _transaction$nonce;
707
- const chainInfo = this.chainService.getChainInfoByKey(chain);
857
+ const chainInfo = this.state.chainService.getChainInfoByKey(chain);
708
858
  const txObject = {
709
859
  nonce: (_transaction$nonce = transaction.nonce) !== null && _transaction$nonce !== void 0 ? _transaction$nonce : 0,
710
860
  gasPrice: (0, _ethereumjsUtil.addHexPrefix)((0, _eth.anyNumberToBN)(transaction.gasPrice).toString(16)),
@@ -726,8 +876,8 @@ class TransactionService {
726
876
  url
727
877
  } = _ref7;
728
878
  const payload = transaction;
729
- const evmApi = this.chainService.getEvmApi(chain);
730
- const chainInfo = this.chainService.getChainInfoByKey(chain);
879
+ const evmApi = this.state.chainService.getEvmApi(chain);
880
+ const chainInfo = this.state.chainService.getChainInfoByKey(chain);
731
881
  const accountPair = _uiKeyring.default.getPair(address);
732
882
  const account = {
733
883
  address,
@@ -757,7 +907,7 @@ class TransactionService {
757
907
 
758
908
  // Set unique nonce to avoid transaction errors
759
909
  if (!payload.nonce) {
760
- const evmApi = this.chainService.getEvmApi(chain);
910
+ const evmApi = this.state.chainService.getEvmApi(chain);
761
911
  payload.nonce = await evmApi.api.eth.getTransactionCount(address);
762
912
  }
763
913
  if (!payload.chainId) {
@@ -792,7 +942,7 @@ class TransactionService {
792
942
  extrinsicHash: id
793
943
  };
794
944
  if (isInjected) {
795
- this.requestService.addConfirmation(id, url || _constants3.EXTENSION_REQUEST_URL, 'evmWatchTransactionRequest', payload, {}).then(async _ref8 => {
945
+ this.state.requestService.addConfirmation(id, url || _constants2.EXTENSION_REQUEST_URL, 'evmWatchTransactionRequest', payload, {}).then(async _ref8 => {
796
946
  let {
797
947
  isApproved,
798
948
  payload
@@ -801,7 +951,7 @@ class TransactionService {
801
951
  if (!payload) {
802
952
  throw new _EvmProviderError.EvmProviderError(_KoniTypes.EvmProviderErrorType.UNAUTHORIZED, 'Bad signature');
803
953
  }
804
- const web3Api = this.chainService.getEvmApi(chain).api;
954
+ const web3Api = this.state.chainService.getEvmApi(chain).api;
805
955
 
806
956
  // Emit signed event
807
957
  emitter.emit('signed', eventData);
@@ -857,7 +1007,7 @@ class TransactionService {
857
1007
  emitter.emit('error', eventData);
858
1008
  });
859
1009
  } else {
860
- this.requestService.addConfirmation(id, url || _constants3.EXTENSION_REQUEST_URL, 'evmSendTransactionRequest', payload, {}).then(async _ref9 => {
1010
+ this.state.requestService.addConfirmation(id, url || _constants2.EXTENSION_REQUEST_URL, 'evmSendTransactionRequest', payload, {}).then(async _ref9 => {
861
1011
  let {
862
1012
  isApproved,
863
1013
  payload
@@ -867,7 +1017,7 @@ class TransactionService {
867
1017
  if (!payload) {
868
1018
  throw new _EvmProviderError.EvmProviderError(_KoniTypes.EvmProviderErrorType.UNAUTHORIZED, (0, _i18next.t)('Failed to sign'));
869
1019
  }
870
- const web3Api = this.chainService.getEvmApi(chain).api;
1020
+ const web3Api = this.state.chainService.getEvmApi(chain).api;
871
1021
  if (!isExternal) {
872
1022
  signedTransaction = payload;
873
1023
  } else {
@@ -935,7 +1085,7 @@ class TransactionService {
935
1085
  transaction.signAsync(address, {
936
1086
  signer: {
937
1087
  signPayload: async payload => {
938
- const signing = await this.requestService.signInternalTransaction(id, address, url || _constants3.EXTENSION_REQUEST_URL, payload);
1088
+ const signing = await this.state.requestService.signInternalTransaction(id, address, url || _constants2.EXTENSION_REQUEST_URL, payload);
939
1089
  return {
940
1090
  id: new Date().getTime(),
941
1091
  signature: signing.signature
@@ -947,7 +1097,7 @@ class TransactionService {
947
1097
  emitter.emit('signed', eventData);
948
1098
 
949
1099
  // Send transaction
950
- const api = this.chainService.getSubstrateApi(chain);
1100
+ const api = this.state.chainService.getSubstrateApi(chain);
951
1101
  eventData.nonce = rs.nonce.toNumber();
952
1102
  eventData.startBlock = (await api.api.query.system.number()).toPrimitive();
953
1103
  this.handleTransactionTimeout(emitter, eventData);
@@ -1011,7 +1161,7 @@ class TransactionService {
1011
1161
  emitter.emit('timeout', eventData);
1012
1162
  clearTimeout(timeout);
1013
1163
  }
1014
- }, _constants4.TRANSACTION_TIMEOUT);
1164
+ }, _constants3.TRANSACTION_TIMEOUT);
1015
1165
  emitter.once('success', () => {
1016
1166
  clearTimeout(timeout);
1017
1167
  });
@@ -1019,6 +1169,33 @@ class TransactionService {
1019
1169
  clearTimeout(timeout);
1020
1170
  });
1021
1171
  }
1172
+ handlePostEarningTransaction(id) {
1173
+ const transaction = this.getTransaction(id);
1174
+ let slug;
1175
+
1176
+ // TODO
1177
+ if ('data' in transaction.data) {
1178
+ slug = transaction.data.data.slug;
1179
+ } else {
1180
+ slug = transaction.data.slug;
1181
+ }
1182
+ const poolHandler = this.state.earningService.getPoolHandler(slug);
1183
+ if (poolHandler) {
1184
+ const type = poolHandler.type;
1185
+ if (type === _types.YieldPoolType.NATIVE_STAKING) {
1186
+ return;
1187
+ }
1188
+ } else {
1189
+ return;
1190
+ }
1191
+ this.state.mintCampaignService.unlockDotCampaign.mintNft({
1192
+ transactionId: id,
1193
+ address: transaction.address,
1194
+ slug: slug,
1195
+ network: transaction.chain,
1196
+ extrinsicHash: transaction.extrinsicHash
1197
+ }).catch(console.error);
1198
+ }
1022
1199
  resetWallet() {
1023
1200
  this.transactionSubject.next({});
1024
1201
  }
@@ -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";