@subwallet/extension-base 1.1.31-beta.0 → 1.1.33-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (319) hide show
  1. package/background/KoniTypes.d.ts +71 -111
  2. package/background/KoniTypes.js +14 -19
  3. package/background/errors/TransactionError.js +0 -9
  4. package/cjs/background/KoniTypes.js +17 -20
  5. package/cjs/background/errors/TransactionError.js +0 -9
  6. package/cjs/constants/index.js +4 -19
  7. package/cjs/koni/api/nft/config.js +23 -33
  8. package/cjs/koni/api/nft/index.js +0 -14
  9. package/cjs/koni/api/nft/nft.js +22 -1
  10. package/cjs/koni/api/staking/bonding/amplitude.js +108 -76
  11. package/cjs/koni/api/staking/bonding/astar.js +10 -11
  12. package/cjs/koni/api/staking/bonding/index.js +3 -4
  13. package/cjs/koni/api/staking/bonding/paraChain.js +29 -28
  14. package/cjs/koni/api/staking/bonding/relayChain.js +45 -48
  15. package/cjs/koni/api/staking/bonding/utils.js +86 -104
  16. package/cjs/koni/api/staking/index.js +5 -6
  17. package/cjs/koni/api/staking/paraChain.js +36 -11
  18. package/cjs/koni/api/staking/relayChain.js +2 -3
  19. package/cjs/koni/api/xcm/xTokens.js +1 -1
  20. package/cjs/koni/background/cron.js +1 -11
  21. package/cjs/koni/background/handlers/Extension.js +69 -362
  22. package/cjs/koni/background/handlers/State.js +3 -51
  23. package/cjs/koni/background/handlers/Tabs.js +19 -2
  24. package/cjs/koni/background/handlers/index.js +2 -4
  25. package/cjs/koni/background/subscription.js +37 -95
  26. package/cjs/packageInfo.js +1 -1
  27. package/cjs/services/campaign-service/index.js +25 -9
  28. package/cjs/services/chain-service/constants.js +21 -4
  29. package/cjs/services/chain-service/index.js +2 -3
  30. package/cjs/services/chain-service/utils.js +1 -7
  31. package/cjs/services/event-service/index.js +0 -4
  32. package/cjs/services/history-service/index.js +12 -8
  33. package/cjs/services/keyring-service/index.js +2 -14
  34. package/cjs/services/migration-service/scripts/MigrateLedgerAccount.js +1 -1
  35. package/cjs/services/migration-service/scripts/MigrateTransactionHistory.js +1 -1
  36. package/cjs/services/migration-service/scripts/index.js +1 -7
  37. package/cjs/services/notification-service/NotificationService.js +1 -1
  38. package/cjs/services/storage-service/DatabaseService.js +3 -51
  39. package/cjs/services/storage-service/databases/index.js +0 -4
  40. package/cjs/services/storage-service/db-stores/Campaign.js +9 -3
  41. package/cjs/services/storage-service/db-stores/NominatorMetadata.js +3 -3
  42. package/cjs/services/subscan-service/index.js +0 -16
  43. package/cjs/services/transaction-service/event-parser/index.js +0 -58
  44. package/cjs/services/transaction-service/helpers/index.js +1 -3
  45. package/cjs/services/transaction-service/index.js +131 -242
  46. package/cjs/services/transaction-service/utils.js +0 -1
  47. package/cjs/types/index.js +0 -44
  48. package/cjs/utils/fetchEvmChainInfo.js +20 -0
  49. package/cjs/utils/fetchStaticData.js +1 -2
  50. package/cjs/utils/index.js +17 -81
  51. package/cjs/utils/number.js +1 -3
  52. package/constants/index.d.ts +1 -6
  53. package/constants/index.js +1 -6
  54. package/koni/api/nft/config.js +23 -33
  55. package/koni/api/nft/index.js +1 -15
  56. package/koni/api/nft/nft.js +23 -2
  57. package/koni/api/staking/bonding/amplitude.d.ts +1 -1
  58. package/koni/api/staking/bonding/amplitude.js +105 -73
  59. package/koni/api/staking/bonding/astar.js +8 -9
  60. package/koni/api/staking/bonding/index.d.ts +2 -1
  61. package/koni/api/staking/bonding/index.js +3 -5
  62. package/koni/api/staking/bonding/paraChain.js +16 -15
  63. package/koni/api/staking/bonding/relayChain.d.ts +2 -2
  64. package/koni/api/staking/bonding/relayChain.js +30 -33
  65. package/koni/api/staking/bonding/utils.d.ts +42 -15
  66. package/koni/api/staking/bonding/utils.js +69 -85
  67. package/koni/api/staking/index.js +1 -2
  68. package/koni/api/staking/paraChain.js +37 -12
  69. package/koni/api/staking/relayChain.js +3 -4
  70. package/koni/api/xcm/xTokens.js +1 -1
  71. package/koni/background/cron.d.ts +0 -1
  72. package/koni/background/cron.js +2 -12
  73. package/koni/background/handlers/Extension.d.ts +1 -17
  74. package/koni/background/handlers/Extension.js +30 -321
  75. package/koni/background/handlers/State.d.ts +2 -18
  76. package/koni/background/handlers/State.js +3 -50
  77. package/koni/background/handlers/Tabs.js +20 -3
  78. package/koni/background/handlers/index.js +2 -4
  79. package/koni/background/subscription.d.ts +1 -6
  80. package/koni/background/subscription.js +38 -97
  81. package/package.json +13 -321
  82. package/packageInfo.js +1 -1
  83. package/services/campaign-service/index.js +25 -9
  84. package/services/chain-service/constants.d.ts +12 -0
  85. package/services/chain-service/constants.js +19 -3
  86. package/services/chain-service/index.js +2 -3
  87. package/services/chain-service/utils.d.ts +0 -1
  88. package/services/chain-service/utils.js +1 -5
  89. package/services/event-service/index.d.ts +0 -1
  90. package/services/event-service/index.js +0 -4
  91. package/services/event-service/types.d.ts +1 -8
  92. package/services/history-service/index.js +12 -8
  93. package/services/keyring-service/index.d.ts +1 -2
  94. package/services/keyring-service/index.js +2 -14
  95. package/services/migration-service/scripts/MigrateLedgerAccount.js +1 -1
  96. package/services/migration-service/scripts/MigrateTransactionHistory.js +1 -1
  97. package/services/migration-service/scripts/index.js +1 -7
  98. package/services/notification-service/NotificationService.js +1 -1
  99. package/services/storage-service/DatabaseService.d.ts +2 -18
  100. package/services/storage-service/DatabaseService.js +3 -51
  101. package/services/storage-service/databases/index.d.ts +1 -3
  102. package/services/storage-service/databases/index.js +0 -4
  103. package/services/storage-service/db-stores/Campaign.js +9 -3
  104. package/services/storage-service/db-stores/NominatorMetadata.js +3 -3
  105. package/services/subscan-service/index.d.ts +2 -3
  106. package/services/subscan-service/index.js +0 -15
  107. package/services/subscan-service/types.d.ts +0 -20
  108. package/services/transaction-service/event-parser/index.d.ts +1 -3
  109. package/services/transaction-service/event-parser/index.js +1 -57
  110. package/services/transaction-service/helpers/index.js +1 -3
  111. package/services/transaction-service/index.d.ts +16 -4
  112. package/services/transaction-service/index.js +118 -230
  113. package/services/transaction-service/types.d.ts +1 -2
  114. package/services/transaction-service/utils.js +0 -1
  115. package/types/index.d.ts +0 -5
  116. package/types/index.js +1 -5
  117. package/utils/fetchEvmChainInfo.d.ts +17 -0
  118. package/utils/fetchEvmChainInfo.js +14 -0
  119. package/utils/fetchStaticData.js +1 -2
  120. package/utils/index.d.ts +2 -5
  121. package/utils/index.js +2 -52
  122. package/utils/number.d.ts +1 -1
  123. package/utils/number.js +1 -1
  124. package/cjs/koni/api/dotsama/balance.js +0 -464
  125. package/cjs/koni/api/nft/ordinal_nft/constants.js +0 -21
  126. package/cjs/koni/api/nft/ordinal_nft/index.js +0 -121
  127. package/cjs/koni/api/nft/ordinal_nft/utils.js +0 -41
  128. package/cjs/koni/api/yield/helper/utils.js +0 -46
  129. package/cjs/services/earning-service/constants/chains.js +0 -29
  130. package/cjs/services/earning-service/constants/index.js +0 -27
  131. package/cjs/services/earning-service/constants/step.js +0 -18
  132. package/cjs/services/earning-service/handlers/base.js +0 -259
  133. package/cjs/services/earning-service/handlers/index.js +0 -60
  134. package/cjs/services/earning-service/handlers/lending/base.js +0 -20
  135. package/cjs/services/earning-service/handlers/lending/index.js +0 -13
  136. package/cjs/services/earning-service/handlers/lending/interlay.js +0 -191
  137. package/cjs/services/earning-service/handlers/liquid-staking/acala.js +0 -239
  138. package/cjs/services/earning-service/handlers/liquid-staking/base.js +0 -43
  139. package/cjs/services/earning-service/handlers/liquid-staking/bifrost.js +0 -297
  140. package/cjs/services/earning-service/handlers/liquid-staking/index.js +0 -34
  141. package/cjs/services/earning-service/handlers/liquid-staking/parallel.js +0 -226
  142. package/cjs/services/earning-service/handlers/liquid-staking/stella-swap.js +0 -395
  143. package/cjs/services/earning-service/handlers/native-staking/amplitude.js +0 -384
  144. package/cjs/services/earning-service/handlers/native-staking/astar.js +0 -461
  145. package/cjs/services/earning-service/handlers/native-staking/base-para.js +0 -146
  146. package/cjs/services/earning-service/handlers/native-staking/base.js +0 -159
  147. package/cjs/services/earning-service/handlers/native-staking/index.js +0 -34
  148. package/cjs/services/earning-service/handlers/native-staking/para-chain.js +0 -385
  149. package/cjs/services/earning-service/handlers/native-staking/relay-chain.js +0 -558
  150. package/cjs/services/earning-service/handlers/nomination-pool/index.js +0 -560
  151. package/cjs/services/earning-service/handlers/special.js +0 -503
  152. package/cjs/services/earning-service/service.js +0 -387
  153. package/cjs/services/earning-service/utils/index.js +0 -128
  154. package/cjs/services/migration-service/scripts/DeleteEarningData.js +0 -21
  155. package/cjs/services/migration-service/scripts/EnableEarningChains.js +0 -21
  156. package/cjs/services/migration-service/scripts/MigrateEthProvider.js +0 -17
  157. package/cjs/services/migration-service/scripts/MigratePioneerProvider.js +0 -17
  158. package/cjs/services/migration-service/scripts/MigrateProvider.js +0 -29
  159. package/cjs/services/migration-service/scripts/databases/MigrateEarningHistory.js +0 -21
  160. package/cjs/services/migration-service/scripts/databases/MigrateEarningVersion.js +0 -21
  161. package/cjs/services/mint-campaign-service/campaigns/UnlockDotCampaign.js +0 -149
  162. package/cjs/services/mint-campaign-service/campaigns/index.js +0 -13
  163. package/cjs/services/mint-campaign-service/constants.js +0 -11
  164. package/cjs/services/mint-campaign-service/index.js +0 -18
  165. package/cjs/services/storage-service/db-stores/YieldPoolStore.js +0 -36
  166. package/cjs/services/storage-service/db-stores/YieldPositionStore.js +0 -65
  167. package/cjs/services/storage-service/index.js +0 -241
  168. package/cjs/types/campaigns/index.js +0 -16
  169. package/cjs/types/campaigns/unlock-dot.js +0 -1
  170. package/cjs/types/ordinal.js +0 -1
  171. package/cjs/types/transaction.js +0 -1
  172. package/cjs/types/yield/actions/index.js +0 -27
  173. package/cjs/types/yield/actions/join/index.js +0 -38
  174. package/cjs/types/yield/actions/join/step.js +0 -47
  175. package/cjs/types/yield/actions/join/submit.js +0 -1
  176. package/cjs/types/yield/actions/join/validate.js +0 -16
  177. package/cjs/types/yield/actions/others.js +0 -1
  178. package/cjs/types/yield/index.js +0 -27
  179. package/cjs/types/yield/info/account/index.js +0 -49
  180. package/cjs/types/yield/info/account/info.js +0 -1
  181. package/cjs/types/yield/info/account/reward.js +0 -1
  182. package/cjs/types/yield/info/account/target.js +0 -32
  183. package/cjs/types/yield/info/account/unstake.js +0 -27
  184. package/cjs/types/yield/info/base.js +0 -41
  185. package/cjs/types/yield/info/chain/index.js +0 -27
  186. package/cjs/types/yield/info/chain/info.js +0 -1
  187. package/cjs/types/yield/info/chain/target.js +0 -1
  188. package/cjs/types/yield/info/index.js +0 -49
  189. package/cjs/types/yield/info/pallet.js +0 -15
  190. package/cjs/types.js +0 -1
  191. package/cjs/utils/address.js +0 -34
  192. package/cjs/utils/keyring.js +0 -57
  193. package/cjs/utils/object.js +0 -12
  194. package/koni/api/nft/ordinal_nft/constants.d.ts +0 -9
  195. package/koni/api/nft/ordinal_nft/constants.js +0 -12
  196. package/koni/api/nft/ordinal_nft/index.d.ts +0 -8
  197. package/koni/api/nft/ordinal_nft/index.js +0 -114
  198. package/koni/api/nft/ordinal_nft/utils.d.ts +0 -2
  199. package/koni/api/nft/ordinal_nft/utils.js +0 -33
  200. package/koni/api/yield/helper/utils.d.ts +0 -10
  201. package/koni/api/yield/helper/utils.js +0 -32
  202. package/services/earning-service/constants/abis/compound_finance_v2_abi.json +0 -1235
  203. package/services/earning-service/constants/abis/st_liquid_token_abi.json +0 -1355
  204. package/services/earning-service/constants/chains.d.ts +0 -14
  205. package/services/earning-service/constants/chains.js +0 -21
  206. package/services/earning-service/constants/index.d.ts +0 -2
  207. package/services/earning-service/constants/index.js +0 -5
  208. package/services/earning-service/constants/step.d.ts +0 -3
  209. package/services/earning-service/constants/step.js +0 -10
  210. package/services/earning-service/handlers/base.d.ts +0 -112
  211. package/services/earning-service/handlers/base.js +0 -253
  212. package/services/earning-service/handlers/index.d.ts +0 -5
  213. package/services/earning-service/handlers/index.js +0 -8
  214. package/services/earning-service/handlers/lending/base.d.ts +0 -6
  215. package/services/earning-service/handlers/lending/base.js +0 -12
  216. package/services/earning-service/handlers/lending/index.d.ts +0 -1
  217. package/services/earning-service/handlers/lending/index.js +0 -4
  218. package/services/earning-service/handlers/lending/interlay.d.ts +0 -24
  219. package/services/earning-service/handlers/lending/interlay.js +0 -183
  220. package/services/earning-service/handlers/liquid-staking/acala.d.ts +0 -27
  221. package/services/earning-service/handlers/liquid-staking/acala.js +0 -231
  222. package/services/earning-service/handlers/liquid-staking/base.d.ts +0 -9
  223. package/services/earning-service/handlers/liquid-staking/base.js +0 -35
  224. package/services/earning-service/handlers/liquid-staking/bifrost.d.ts +0 -46
  225. package/services/earning-service/handlers/liquid-staking/bifrost.js +0 -286
  226. package/services/earning-service/handlers/liquid-staking/index.d.ts +0 -4
  227. package/services/earning-service/handlers/liquid-staking/index.js +0 -7
  228. package/services/earning-service/handlers/liquid-staking/parallel.d.ts +0 -26
  229. package/services/earning-service/handlers/liquid-staking/parallel.js +0 -218
  230. package/services/earning-service/handlers/liquid-staking/stella-swap.d.ts +0 -34
  231. package/services/earning-service/handlers/liquid-staking/stella-swap.js +0 -385
  232. package/services/earning-service/handlers/native-staking/amplitude.d.ts +0 -22
  233. package/services/earning-service/handlers/native-staking/amplitude.js +0 -375
  234. package/services/earning-service/handlers/native-staking/astar.d.ts +0 -19
  235. package/services/earning-service/handlers/native-staking/astar.js +0 -451
  236. package/services/earning-service/handlers/native-staking/base-para.d.ts +0 -11
  237. package/services/earning-service/handlers/native-staking/base-para.js +0 -138
  238. package/services/earning-service/handlers/native-staking/base.d.ts +0 -21
  239. package/services/earning-service/handlers/native-staking/base.js +0 -150
  240. package/services/earning-service/handlers/native-staking/index.d.ts +0 -4
  241. package/services/earning-service/handlers/native-staking/index.js +0 -7
  242. package/services/earning-service/handlers/native-staking/para-chain.d.ts +0 -15
  243. package/services/earning-service/handlers/native-staking/para-chain.js +0 -377
  244. package/services/earning-service/handlers/native-staking/relay-chain.d.ts +0 -21
  245. package/services/earning-service/handlers/native-staking/relay-chain.js +0 -549
  246. package/services/earning-service/handlers/nomination-pool/index.d.ts +0 -36
  247. package/services/earning-service/handlers/nomination-pool/index.js +0 -550
  248. package/services/earning-service/handlers/special.d.ts +0 -65
  249. package/services/earning-service/handlers/special.js +0 -495
  250. package/services/earning-service/service.d.ts +0 -45
  251. package/services/earning-service/service.js +0 -379
  252. package/services/earning-service/utils/index.d.ts +0 -18
  253. package/services/earning-service/utils/index.js +0 -112
  254. package/services/migration-service/scripts/DeleteEarningData.d.ts +0 -4
  255. package/services/migration-service/scripts/DeleteEarningData.js +0 -13
  256. package/services/migration-service/scripts/EnableEarningChains.d.ts +0 -4
  257. package/services/migration-service/scripts/EnableEarningChains.js +0 -13
  258. package/services/migration-service/scripts/databases/MigrateEarningHistory.d.ts +0 -4
  259. package/services/migration-service/scripts/databases/MigrateEarningHistory.js +0 -13
  260. package/services/migration-service/scripts/databases/MigrateEarningVersion.d.ts +0 -4
  261. package/services/migration-service/scripts/databases/MigrateEarningVersion.js +0 -13
  262. package/services/mint-campaign-service/campaigns/UnlockDotCampaign.d.ts +0 -13
  263. package/services/mint-campaign-service/campaigns/UnlockDotCampaign.js +0 -139
  264. package/services/mint-campaign-service/campaigns/index.d.ts +0 -1
  265. package/services/mint-campaign-service/campaigns/index.js +0 -4
  266. package/services/mint-campaign-service/constants.d.ts +0 -1
  267. package/services/mint-campaign-service/constants.js +0 -4
  268. package/services/mint-campaign-service/index.d.ts +0 -7
  269. package/services/mint-campaign-service/index.js +0 -11
  270. package/services/storage-service/db-stores/YieldPoolStore.d.ts +0 -10
  271. package/services/storage-service/db-stores/YieldPoolStore.js +0 -28
  272. package/services/storage-service/db-stores/YieldPositionStore.d.ts +0 -9
  273. package/services/storage-service/db-stores/YieldPositionStore.js +0 -57
  274. package/types/campaigns/index.d.ts +0 -1
  275. package/types/campaigns/index.js +0 -4
  276. package/types/campaigns/unlock-dot.d.ts +0 -71
  277. package/types/campaigns/unlock-dot.js +0 -1
  278. package/types/ordinal.d.ts +0 -69
  279. package/types/ordinal.js +0 -1
  280. package/types/transaction.d.ts +0 -3
  281. package/types/transaction.js +0 -1
  282. package/types/yield/actions/index.d.ts +0 -2
  283. package/types/yield/actions/index.js +0 -5
  284. package/types/yield/actions/join/index.d.ts +0 -3
  285. package/types/yield/actions/join/index.js +0 -6
  286. package/types/yield/actions/join/step.d.ts +0 -95
  287. package/types/yield/actions/join/step.js +0 -46
  288. package/types/yield/actions/join/submit.d.ts +0 -57
  289. package/types/yield/actions/join/submit.js +0 -1
  290. package/types/yield/actions/join/validate.d.ts +0 -18
  291. package/types/yield/actions/join/validate.js +0 -10
  292. package/types/yield/actions/others.d.ts +0 -85
  293. package/types/yield/actions/others.js +0 -1
  294. package/types/yield/index.d.ts +0 -2
  295. package/types/yield/index.js +0 -5
  296. package/types/yield/info/account/index.d.ts +0 -4
  297. package/types/yield/info/account/index.js +0 -7
  298. package/types/yield/info/account/info.d.ts +0 -92
  299. package/types/yield/info/account/info.js +0 -1
  300. package/types/yield/info/account/reward.d.ts +0 -45
  301. package/types/yield/info/account/reward.js +0 -1
  302. package/types/yield/info/account/target.d.ts +0 -43
  303. package/types/yield/info/account/target.js +0 -27
  304. package/types/yield/info/account/unstake.d.ts +0 -31
  305. package/types/yield/info/account/unstake.js +0 -22
  306. package/types/yield/info/base.d.ts +0 -45
  307. package/types/yield/info/base.js +0 -36
  308. package/types/yield/info/chain/index.d.ts +0 -2
  309. package/types/yield/info/chain/index.js +0 -5
  310. package/types/yield/info/chain/info.d.ts +0 -251
  311. package/types/yield/info/chain/info.js +0 -1
  312. package/types/yield/info/chain/target.d.ts +0 -37
  313. package/types/yield/info/chain/target.js +0 -1
  314. package/types/yield/info/index.d.ts +0 -4
  315. package/types/yield/info/index.js +0 -7
  316. package/types/yield/info/pallet.d.ts +0 -143
  317. package/types/yield/info/pallet.js +0 -9
  318. package/utils/object.d.ts +0 -1
  319. package/utils/object.js +0 -6
@@ -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");
13
14
  var _utils = require("@subwallet/extension-base/services/chain-service/utils");
14
- var _constants2 = require("@subwallet/extension-base/services/request-service/constants");
15
- var _constants3 = require("@subwallet/extension-base/services/transaction-service/constants");
15
+ var _constants3 = require("@subwallet/extension-base/services/request-service/constants");
16
+ var _constants4 = require("@subwallet/extension-base/services/transaction-service/constants");
16
17
  var _eventParser = require("@subwallet/extension-base/services/transaction-service/event-parser");
17
18
  var _helpers = require("@subwallet/extension-base/services/transaction-service/helpers");
18
19
  var _utils2 = require("@subwallet/extension-base/services/transaction-service/utils");
19
20
  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,7 +30,6 @@ 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");
34
33
  // Copyright 2019-2022 @subwallet/extension-base authors & contributors
35
34
  // SPDX-License-Identifier: Apache-2.0
36
35
 
@@ -40,8 +39,14 @@ class TransactionService {
40
39
  get transactions() {
41
40
  return this.transactionSubject.getValue();
42
41
  }
43
- constructor(state) {
44
- this.state = state;
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;
45
50
  }
46
51
  get allTransactions() {
47
52
  return Object.values(this.transactions);
@@ -98,7 +103,7 @@ class TransactionService {
98
103
  decimals: 0,
99
104
  value: ''
100
105
  };
101
- const chainInfo = this.state.chainService.getChainInfoByKey(chain);
106
+ const chainInfo = this.chainService.getChainInfoByKey(chain);
102
107
  if (!chainInfo) {
103
108
  validationResponse.errors.push(new _TransactionError.TransactionError(_KoniTypes.BasicTxErrorType.INTERNAL_ERROR, (0, _i18next.t)('Cannot find network')));
104
109
  } else {
@@ -113,7 +118,7 @@ class TransactionService {
113
118
  if ((0, _helpers.isSubstrateTransaction)(transaction)) {
114
119
  estimateFee.value = (await transaction.paymentInfo(address)).partialFee.toString();
115
120
  } else {
116
- const web3 = this.state.chainService.getEvmApi(chain);
121
+ const web3 = this.chainService.getEvmApi(chain);
117
122
  if (!web3) {
118
123
  validationResponse.errors.push(new _TransactionError.TransactionError(_KoniTypes.BasicTxErrorType.CHAIN_DISCONNECTED, undefined));
119
124
  } else {
@@ -147,35 +152,32 @@ class TransactionService {
147
152
 
148
153
  // Balance
149
154
  const transferNative = validationResponse.transferNativeAmount || '0';
150
- const nativeTokenInfo = this.state.chainService.getNativeTokenInfo(chain);
151
- const balance = await this.state.balanceService.getTokenFreeBalance(address, chain, nativeTokenInfo.slug);
155
+ const nativeTokenInfo = this.chainService.getNativeTokenInfo(chain);
156
+ const balance = await this.balanceService.getTokenFreeBalance(address, chain, nativeTokenInfo.slug);
152
157
  const existentialDeposit = nativeTokenInfo.minAmount || '0';
153
158
  const feeNum = parseInt(estimateFee.value);
154
159
  const balanceNum = parseInt(balance.value);
155
160
  const edNum = parseInt(existentialDeposit);
156
161
  const transferNativeNum = parseInt(transferNative);
157
- if (!validationInput.skipFeeValidation) {
158
- // TODO
159
- if (!new _bignumber.default(balance.value).gt(0)) {
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) {
160
167
  validationResponse.errors.push(new _TransactionError.TransactionError(_KoniTypes.BasicTxErrorType.NOT_ENOUGH_BALANCE));
161
- }
162
- if (transferNativeNum + feeNum > balanceNum) {
163
- if (!isTransferAll) {
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
164
171
  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
- }
170
172
  }
171
173
  }
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
- }
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));
179
181
  }
180
182
  }
181
183
  }
@@ -196,7 +198,7 @@ class TransactionService {
196
198
  updatedAt: new Date().getTime(),
197
199
  errors: transaction.errors || [],
198
200
  warnings: transaction.warnings || [],
199
- url: transaction.url || _constants2.EXTENSION_REQUEST_URL,
201
+ url: transaction.url || _constants3.EXTENSION_REQUEST_URL,
200
202
  status: _KoniTypes.ExtrinsicStatus.QUEUED,
201
203
  isInternal,
202
204
  id: transactionId,
@@ -242,21 +244,12 @@ class TransactionService {
242
244
  }
243
245
  validatedTransaction.warnings = [];
244
246
  const emitter = await this.addTransaction(validatedTransaction);
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
- }
247
+ await new Promise(resolve => {
248
+ emitter.on('signed', data => {
249
+ validatedTransaction.id = data.id;
250
+ validatedTransaction.extrinsicHash = data.extrinsicHash;
251
+ resolve();
252
+ });
260
253
  emitter.on('error', data => {
261
254
  if (data.errors.length > 0) {
262
255
  validatedTransaction.errors.push(...data.errors);
@@ -297,6 +290,12 @@ class TransactionService {
297
290
  errors: [...data.errors, new _TransactionError.TransactionError(_KoniTypes.BasicTxErrorType.INTERNAL_ERROR)]
298
291
  });
299
292
  });
293
+ emitter.on('timeout', data => {
294
+ this.onTimeOut({
295
+ ...data,
296
+ errors: [...data.errors, new _TransactionError.TransactionError(_KoniTypes.BasicTxErrorType.TIMEOUT)]
297
+ });
298
+ });
300
299
 
301
300
  // Todo: handle any event with transaction.eventsHandler
302
301
 
@@ -322,7 +321,7 @@ class TransactionService {
322
321
  }
323
322
  getTransactionLink(id) {
324
323
  const transaction = this.getTransaction(id);
325
- const chainInfo = this.state.chainService.getChainInfoByKey(transaction.chain);
324
+ const chainInfo = this.chainService.getChainInfoByKey(transaction.chain);
326
325
  return (0, _utils2.getExplorerLink)(chainInfo, transaction.extrinsicHash, 'tx');
327
326
  }
328
327
  transactionToHistories(id, startBlock, nonce, eventLogs) {
@@ -350,7 +349,7 @@ class TransactionService {
350
349
  nonce: nonce !== null && nonce !== void 0 ? nonce : 0,
351
350
  startBlock: startBlock || 0
352
351
  };
353
- const chainInfo = this.state.chainService.getChainInfoByKey(transaction.chain);
352
+ const chainInfo = this.chainService.getChainInfoByKey(transaction.chain);
354
353
  const nativeAsset = (0, _utils._getChainNativeTokenBasicInfo)(chainInfo);
355
354
  const baseNativeAmount = {
356
355
  value: '0',
@@ -364,7 +363,7 @@ class TransactionService {
364
363
  {
365
364
  const inputData = (0, _utils2.parseTransactionData)(transaction.data);
366
365
  historyItem.to = inputData.to;
367
- const sendingTokenInfo = this.state.chainService.getAssetBySlug(inputData.tokenSlug);
366
+ const sendingTokenInfo = this.chainService.getAssetBySlug(inputData.tokenSlug);
368
367
  historyItem.amount = {
369
368
  value: inputData.value || '0',
370
369
  decimals: sendingTokenInfo.decimals || 0,
@@ -377,7 +376,7 @@ class TransactionService {
377
376
  {
378
377
  const inputData = (0, _utils2.parseTransactionData)(transaction.data);
379
378
  historyItem.to = inputData.to;
380
- const sendingTokenInfo = this.state.chainService.getAssetBySlug(inputData.tokenSlug);
379
+ const sendingTokenInfo = this.chainService.getAssetBySlug(inputData.tokenSlug);
381
380
  historyItem.amount = {
382
381
  value: inputData.value || '0',
383
382
  decimals: sendingTokenInfo.decimals || 0,
@@ -390,7 +389,7 @@ class TransactionService {
390
389
  {
391
390
  const inputData = (0, _utils2.parseTransactionData)(transaction.data);
392
391
  historyItem.to = inputData.to;
393
- const sendingTokenInfo = this.state.chainService.getAssetBySlug(inputData.tokenSlug);
392
+ const sendingTokenInfo = this.chainService.getAssetBySlug(inputData.tokenSlug);
394
393
  historyItem.amount = {
395
394
  value: inputData.value || '0',
396
395
  decimals: sendingTokenInfo.decimals || 0,
@@ -439,29 +438,17 @@ class TransactionService {
439
438
  case _KoniTypes.ExtrinsicType.STAKING_UNBOND:
440
439
  {
441
440
  const data = (0, _utils2.parseTransactionData)(transaction.data);
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
- }
441
+ historyItem.to = data.validatorAddress || '';
442
+ historyItem.amount = {
443
+ ...baseNativeAmount,
444
+ value: data.amount || '0'
445
+ };
459
446
  }
460
447
  break;
461
448
  case _KoniTypes.ExtrinsicType.STAKING_LEAVE_POOL:
462
449
  {
463
450
  const data = (0, _utils2.parseTransactionData)(transaction.data);
464
- historyItem.to = data.address || '';
451
+ historyItem.to = data.nominatorMetadata.address || '';
465
452
  historyItem.amount = {
466
453
  ...baseNativeAmount,
467
454
  value: data.amount || '0'
@@ -480,21 +467,11 @@ class TransactionService {
480
467
  case _KoniTypes.ExtrinsicType.STAKING_WITHDRAW:
481
468
  {
482
469
  const data = (0, _utils2.parseTransactionData)(transaction.data);
483
- const slug = data.slug;
484
- const poolHandler = this.state.earningService.getPoolHandler(slug);
485
- const amount = {
470
+ historyItem.to = data.validatorAddress || '';
471
+ historyItem.amount = {
486
472
  ...baseNativeAmount,
487
473
  value: data.unstakingInfo.claimable || '0'
488
474
  };
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;
498
475
  break;
499
476
  }
500
477
  case _KoniTypes.ExtrinsicType.STAKING_CANCEL_UNSTAKE:
@@ -515,102 +492,6 @@ class TransactionService {
515
492
  historyItem.to = (data === null || data === void 0 ? void 0 : data.to) || '';
516
493
  break;
517
494
  }
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.REDEEM_QDOT:
544
- {
545
- const data = (0, _utils2.parseTransactionData)(transaction.data);
546
- const yieldPoolInfo = data.poolInfo;
547
- if (yieldPoolInfo.metadata.derivativeAssets) {
548
- const inputTokenSlug = yieldPoolInfo.metadata.inputAsset;
549
- const inputTokenInfo = this.state.chainService.getAssetBySlug(inputTokenSlug);
550
- historyItem.amount = {
551
- value: data.amount,
552
- symbol: (0, _utils._getAssetSymbol)(inputTokenInfo),
553
- decimals: (0, _utils._getAssetDecimals)(inputTokenInfo)
554
- };
555
- eventLogs && (0, _eventParser.parseLiquidStakingFastUnstakeEvents)(historyItem, eventLogs, chainInfo, extrinsicType);
556
- }
557
- break;
558
- }
559
- case _KoniTypes.ExtrinsicType.UNSTAKE_QDOT:
560
- case _KoniTypes.ExtrinsicType.UNSTAKE_VDOT:
561
- case _KoniTypes.ExtrinsicType.UNSTAKE_LDOT:
562
- case _KoniTypes.ExtrinsicType.UNSTAKE_SDOT:
563
- case _KoniTypes.ExtrinsicType.UNSTAKE_STDOT:
564
- case _KoniTypes.ExtrinsicType.REDEEM_STDOT:
565
- case _KoniTypes.ExtrinsicType.REDEEM_LDOT:
566
- case _KoniTypes.ExtrinsicType.REDEEM_SDOT:
567
-
568
- // eslint-disable-next-line no-fallthrough
569
- case _KoniTypes.ExtrinsicType.REDEEM_VDOT:
570
- {
571
- const data = (0, _utils2.parseTransactionData)(transaction.data);
572
- const yieldPoolInfo = data.poolInfo;
573
- const minAmountPercents = this.state.earningService.getMinAmountPercent();
574
- if (yieldPoolInfo.metadata.derivativeAssets) {
575
- var _yieldPoolInfo$statis;
576
- const derivativeTokenSlug = yieldPoolInfo.metadata.derivativeAssets[0];
577
- const derivativeTokenInfo = this.state.chainService.getAssetBySlug(derivativeTokenSlug);
578
- const chainInfo = this.state.chainService.getChainInfoByKey(data.poolInfo.chain);
579
- historyItem.amount = {
580
- value: data.amount,
581
- symbol: (0, _utils._getAssetSymbol)(derivativeTokenInfo),
582
- decimals: (0, _utils._getAssetDecimals)(derivativeTokenInfo)
583
- };
584
- eventLogs && !(0, _utils._isChainEvmCompatible)(chainInfo) && (0, _eventParser.parseLiquidStakingFastUnstakeEvents)(historyItem, eventLogs, chainInfo, extrinsicType);
585
- const minAmountPercent = minAmountPercents[yieldPoolInfo.slug] || 1;
586
- const inputTokenSlug = yieldPoolInfo.metadata.inputAsset;
587
- const inputTokenInfo = this.state.chainService.getAssetBySlug(inputTokenSlug);
588
- const additionalInfo = {
589
- minAmountPercent,
590
- symbol: inputTokenInfo.symbol,
591
- decimals: inputTokenInfo.decimals || 0,
592
- exchangeRate: ((_yieldPoolInfo$statis = yieldPoolInfo.statistic) === null || _yieldPoolInfo$statis === void 0 ? void 0 : _yieldPoolInfo$statis.assetEarning[0].exchangeRate) || 1,
593
- slug: yieldPoolInfo.slug,
594
- type: yieldPoolInfo.type,
595
- chain: yieldPoolInfo.chain,
596
- group: yieldPoolInfo.group,
597
- isFast: data.fastLeave
598
- };
599
- historyItem.additionalInfo = additionalInfo;
600
- }
601
- break;
602
- }
603
- case _KoniTypes.ExtrinsicType.TOKEN_APPROVE:
604
- {
605
- const data = (0, _utils2.parseTransactionData)(transaction.data);
606
- const inputAsset = this.state.chainService.getAssetBySlug(data.inputTokenSlug);
607
- historyItem.amount = {
608
- value: '0',
609
- symbol: (0, _utils._getAssetSymbol)(inputAsset),
610
- decimals: (0, _utils._getAssetDecimals)(inputAsset)
611
- };
612
- break;
613
- }
614
495
  case _KoniTypes.ExtrinsicType.UNKNOWN:
615
496
  break;
616
497
  }
@@ -658,7 +539,7 @@ class TransactionService {
658
539
  });
659
540
 
660
541
  // Create Input History Transaction History
661
- this.state.historyService.insertHistories(this.transactionToHistories(id, startBlock, nonce)).catch(console.error);
542
+ this.historyService.insertHistories(this.transactionToHistories(id, startBlock, nonce)).catch(console.error);
662
543
  console.debug(`Transaction "${id}" is sent`);
663
544
  }
664
545
  onHasTransactionHash(_ref3) {
@@ -676,12 +557,8 @@ class TransactionService {
676
557
  this.updateTransaction(id, updateData);
677
558
 
678
559
  // In this case transaction id is the same as extrinsic hash and will change after below update
679
- this.state.historyService.updateHistoryByExtrinsicHash(id, updateData).catch(console.error);
560
+ this.historyService.updateHistoryByExtrinsicHash(id, updateData).catch(console.error);
680
561
  console.debug(`Transaction "${id}" is submitted with hash ${extrinsicHash || ''}`);
681
- const transaction = this.getTransaction(id);
682
- 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)) {
683
- this.handlePostEarningTransaction(id);
684
- }
685
562
  }
686
563
  handlePostProcessing(id) {
687
564
  // must be done after success/failure to make sure the transaction is finalized
@@ -690,15 +567,15 @@ class TransactionService {
690
567
  const inputData = (0, _utils2.parseTransactionData)(transaction.data);
691
568
  try {
692
569
  const sender = _uiKeyring.default.getPair(inputData.senderAddress);
693
- sender && this.state.dbService.handleNftTransfer(transaction.chain, [sender.address, _constants.ALL_ACCOUNT_KEY], inputData.nftItem).then(() => {
694
- this.state.eventService.emit('transaction.transferNft', undefined);
570
+ sender && this.databaseService.handleNftTransfer(transaction.chain, [sender.address, _constants.ALL_ACCOUNT_KEY], inputData.nftItem).then(() => {
571
+ this.eventService.emit('transaction.transferNft', undefined);
695
572
  }).catch(console.error);
696
573
  } catch (e) {
697
574
  console.error(e);
698
575
  }
699
576
  try {
700
577
  const recipient = _uiKeyring.default.getPair(inputData.recipientAddress);
701
- recipient && this.state.dbService.addNft(recipient.address, {
578
+ recipient && this.databaseService.addNft(recipient.address, {
702
579
  ...inputData.nftItem,
703
580
  owner: recipient.address
704
581
  }).catch(console.error);
@@ -706,7 +583,7 @@ class TransactionService {
706
583
  console.error(e);
707
584
  }
708
585
  } 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)) {
709
- this.state.eventService.emit('transaction.submitStaking', transaction.chain);
586
+ this.eventService.emit('transaction.submitStaking', transaction.chain);
710
587
  }
711
588
  }
712
589
  onSuccess(_ref4) {
@@ -723,14 +600,14 @@ class TransactionService {
723
600
  });
724
601
 
725
602
  // Write success transaction history
726
- this.state.historyService.updateHistoryByExtrinsicHash(transaction.extrinsicHash, {
603
+ this.historyService.updateHistoryByExtrinsicHash(transaction.extrinsicHash, {
727
604
  extrinsicHash,
728
605
  status: _KoniTypes.ExtrinsicStatus.SUCCESS,
729
606
  blockNumber: blockNumber || 0,
730
607
  blockHash: blockHash || ''
731
608
  }).catch(console.error);
732
- const info = (0, _util.isHex)(extrinsicHash) ? extrinsicHash : (0, _helpers.getBaseTransactionInfo)(transaction, this.state.chainService.getChainInfoMap());
733
- this.state.notificationService.notify({
609
+ const info = (0, _util.isHex)(extrinsicHash) ? extrinsicHash : (0, _helpers.getBaseTransactionInfo)(transaction, this.chainService.getChainInfoMap());
610
+ this.notificationService.notify({
734
611
  type: _KoniTypes.NotificationType.SUCCESS,
735
612
  title: (0, _i18next.t)('Transaction completed'),
736
613
  message: (0, _i18next.t)('Transaction {{info}} completed', {
@@ -743,7 +620,7 @@ class TransactionService {
743
620
  },
744
621
  notifyViaBrowser: true
745
622
  });
746
- this.state.eventService.emit('transaction.done', transaction);
623
+ this.eventService.emit('transaction.done', transaction);
747
624
  }
748
625
  onFailed(_ref5) {
749
626
  let {
@@ -763,14 +640,14 @@ class TransactionService {
763
640
  });
764
641
 
765
642
  // Write failed transaction history
766
- this.state.historyService.updateHistoryByExtrinsicHash(transaction.extrinsicHash, {
643
+ this.historyService.updateHistoryByExtrinsicHash(transaction.extrinsicHash, {
767
644
  extrinsicHash: extrinsicHash || transaction.extrinsicHash,
768
645
  status: nextStatus,
769
646
  blockNumber: blockNumber || 0,
770
647
  blockHash: blockHash || ''
771
648
  }).catch(console.error);
772
- 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());
773
- this.state.notificationService.notify({
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({
774
651
  type: _KoniTypes.NotificationType.ERROR,
775
652
  title: (0, _i18next.t)('Transaction failed'),
776
653
  message: (0, _i18next.t)('Transaction {{info}} failed', {
@@ -784,11 +661,50 @@ class TransactionService {
784
661
  notifyViaBrowser: true
785
662
  });
786
663
  }
787
- this.state.eventService.emit('transaction.failed', transaction);
664
+ this.eventService.emit('transaction.failed', transaction);
665
+ }
666
+ onTimeOut(_ref6) {
667
+ let {
668
+ blockHash,
669
+ blockNumber,
670
+ errors,
671
+ extrinsicHash,
672
+ id
673
+ } = _ref6;
674
+ const transaction = this.getTransaction(id);
675
+ const nextStatus = _KoniTypes.ExtrinsicStatus.TIMEOUT;
676
+ if (transaction) {
677
+ this.updateTransaction(id, {
678
+ status: nextStatus,
679
+ errors,
680
+ extrinsicHash
681
+ });
682
+ this.historyService.updateHistoryByExtrinsicHash(transaction.extrinsicHash, {
683
+ extrinsicHash: extrinsicHash || transaction.extrinsicHash,
684
+ status: nextStatus,
685
+ blockNumber: blockNumber || 0,
686
+ blockHash: blockHash || ''
687
+ }).catch(console.error);
688
+ 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());
689
+ this.notificationService.notify({
690
+ type: _KoniTypes.NotificationType.ERROR,
691
+ title: (0, _i18next.t)('Transaction timed out'),
692
+ message: (0, _i18next.t)('Transaction {{info}} timed out', {
693
+ replace: {
694
+ info
695
+ }
696
+ }),
697
+ action: {
698
+ url: this.getTransactionLink(id)
699
+ },
700
+ notifyViaBrowser: true
701
+ });
702
+ }
703
+ this.eventService.emit('transaction.timeout', transaction);
788
704
  }
789
705
  generateHashPayload(chain, transaction) {
790
706
  var _transaction$nonce;
791
- const chainInfo = this.state.chainService.getChainInfoByKey(chain);
707
+ const chainInfo = this.chainService.getChainInfoByKey(chain);
792
708
  const txObject = {
793
709
  nonce: (_transaction$nonce = transaction.nonce) !== null && _transaction$nonce !== void 0 ? _transaction$nonce : 0,
794
710
  gasPrice: (0, _ethereumjsUtil.addHexPrefix)((0, _eth.anyNumberToBN)(transaction.gasPrice).toString(16)),
@@ -800,7 +716,7 @@ class TransactionService {
800
716
  };
801
717
  return _ethers.ethers.Transaction.from(txObject).unsignedSerialized;
802
718
  }
803
- async signAndSendEvmTransaction(_ref6) {
719
+ async signAndSendEvmTransaction(_ref7) {
804
720
  var _payload$nonce;
805
721
  let {
806
722
  address,
@@ -808,10 +724,10 @@ class TransactionService {
808
724
  id,
809
725
  transaction,
810
726
  url
811
- } = _ref6;
727
+ } = _ref7;
812
728
  const payload = transaction;
813
- const evmApi = this.state.chainService.getEvmApi(chain);
814
- const chainInfo = this.state.chainService.getChainInfoByKey(chain);
729
+ const evmApi = this.chainService.getEvmApi(chain);
730
+ const chainInfo = this.chainService.getChainInfoByKey(chain);
815
731
  const accountPair = _uiKeyring.default.getPair(address);
816
732
  const account = {
817
733
  address,
@@ -841,7 +757,7 @@ class TransactionService {
841
757
 
842
758
  // Set unique nonce to avoid transaction errors
843
759
  if (!payload.nonce) {
844
- const evmApi = this.state.chainService.getEvmApi(chain);
760
+ const evmApi = this.chainService.getEvmApi(chain);
845
761
  payload.nonce = await evmApi.api.eth.getTransactionCount(address);
846
762
  }
847
763
  if (!payload.chainId) {
@@ -876,16 +792,16 @@ class TransactionService {
876
792
  extrinsicHash: id
877
793
  };
878
794
  if (isInjected) {
879
- this.state.requestService.addConfirmation(id, url || _constants2.EXTENSION_REQUEST_URL, 'evmWatchTransactionRequest', payload, {}).then(async _ref7 => {
795
+ this.requestService.addConfirmation(id, url || _constants3.EXTENSION_REQUEST_URL, 'evmWatchTransactionRequest', payload, {}).then(async _ref8 => {
880
796
  let {
881
797
  isApproved,
882
798
  payload
883
- } = _ref7;
799
+ } = _ref8;
884
800
  if (isApproved) {
885
801
  if (!payload) {
886
802
  throw new _EvmProviderError.EvmProviderError(_KoniTypes.EvmProviderErrorType.UNAUTHORIZED, 'Bad signature');
887
803
  }
888
- const web3Api = this.state.chainService.getEvmApi(chain).api;
804
+ const web3Api = this.chainService.getEvmApi(chain).api;
889
805
 
890
806
  // Emit signed event
891
807
  emitter.emit('signed', eventData);
@@ -941,17 +857,17 @@ class TransactionService {
941
857
  emitter.emit('error', eventData);
942
858
  });
943
859
  } else {
944
- this.state.requestService.addConfirmation(id, url || _constants2.EXTENSION_REQUEST_URL, 'evmSendTransactionRequest', payload, {}).then(async _ref8 => {
860
+ this.requestService.addConfirmation(id, url || _constants3.EXTENSION_REQUEST_URL, 'evmSendTransactionRequest', payload, {}).then(async _ref9 => {
945
861
  let {
946
862
  isApproved,
947
863
  payload
948
- } = _ref8;
864
+ } = _ref9;
949
865
  if (isApproved) {
950
866
  let signedTransaction;
951
867
  if (!payload) {
952
868
  throw new _EvmProviderError.EvmProviderError(_KoniTypes.EvmProviderErrorType.UNAUTHORIZED, (0, _i18next.t)('Failed to sign'));
953
869
  }
954
- const web3Api = this.state.chainService.getEvmApi(chain).api;
870
+ const web3Api = this.chainService.getEvmApi(chain).api;
955
871
  if (!isExternal) {
956
872
  signedTransaction = payload;
957
873
  } else {
@@ -1001,14 +917,14 @@ class TransactionService {
1001
917
  }
1002
918
  return emitter;
1003
919
  }
1004
- signAndSendSubstrateTransaction(_ref9) {
920
+ signAndSendSubstrateTransaction(_ref10) {
1005
921
  let {
1006
922
  address,
1007
923
  chain,
1008
924
  id,
1009
925
  transaction,
1010
926
  url
1011
- } = _ref9;
927
+ } = _ref10;
1012
928
  const emitter = new _eventemitter.default();
1013
929
  const eventData = {
1014
930
  id,
@@ -1019,7 +935,7 @@ class TransactionService {
1019
935
  transaction.signAsync(address, {
1020
936
  signer: {
1021
937
  signPayload: async payload => {
1022
- const signing = await this.state.requestService.signInternalTransaction(id, address, url || _constants2.EXTENSION_REQUEST_URL, payload);
938
+ const signing = await this.requestService.signInternalTransaction(id, address, url || _constants3.EXTENSION_REQUEST_URL, payload);
1023
939
  return {
1024
940
  id: new Date().getTime(),
1025
941
  signature: signing.signature
@@ -1031,7 +947,7 @@ class TransactionService {
1031
947
  emitter.emit('signed', eventData);
1032
948
 
1033
949
  // Send transaction
1034
- const api = this.state.chainService.getSubstrateApi(chain);
950
+ const api = this.chainService.getSubstrateApi(chain);
1035
951
  eventData.nonce = rs.nonce.toNumber();
1036
952
  eventData.startBlock = (await api.api.query.system.number()).toPrimitive();
1037
953
  this.handleTransactionTimeout(emitter, eventData);
@@ -1054,20 +970,20 @@ class TransactionService {
1054
970
  eventData.extrinsicHash = txState.txHash.toHex();
1055
971
  eventData.eventLogs = txState.events;
1056
972
  // TODO: push block hash and block number into eventData
1057
- txState.events.filter(_ref10 => {
973
+ txState.events.filter(_ref11 => {
1058
974
  let {
1059
975
  event: {
1060
976
  section
1061
977
  }
1062
- } = _ref10;
978
+ } = _ref11;
1063
979
  return section === 'system';
1064
- }).forEach(_ref11 => {
980
+ }).forEach(_ref12 => {
1065
981
  let {
1066
982
  event: {
1067
983
  data: [error],
1068
984
  method
1069
985
  }
1070
- } = _ref11;
986
+ } = _ref12;
1071
987
  if (method === 'ExtrinsicFailed') {
1072
988
  eventData.errors.push(new _TransactionError.TransactionError(_KoniTypes.BasicTxErrorType.SEND_TRANSACTION_FAILED, error.toString()));
1073
989
  emitter.emit('error', eventData);
@@ -1092,10 +1008,10 @@ class TransactionService {
1092
1008
  const transaction = this.getTransaction(eventData.id);
1093
1009
  if (transaction.status !== _KoniTypes.ExtrinsicStatus.SUCCESS && transaction.status !== _KoniTypes.ExtrinsicStatus.FAIL) {
1094
1010
  eventData.errors.push(new _TransactionError.TransactionError(_KoniTypes.BasicTxErrorType.TIMEOUT, (0, _i18next.t)('Transaction timeout')));
1095
- emitter.emit('error', eventData);
1011
+ emitter.emit('timeout', eventData);
1096
1012
  clearTimeout(timeout);
1097
1013
  }
1098
- }, _constants3.TRANSACTION_TIMEOUT);
1014
+ }, _constants4.TRANSACTION_TIMEOUT);
1099
1015
  emitter.once('success', () => {
1100
1016
  clearTimeout(timeout);
1101
1017
  });
@@ -1103,33 +1019,6 @@ class TransactionService {
1103
1019
  clearTimeout(timeout);
1104
1020
  });
1105
1021
  }
1106
- handlePostEarningTransaction(id) {
1107
- const transaction = this.getTransaction(id);
1108
- let slug;
1109
-
1110
- // TODO
1111
- if ('data' in transaction.data) {
1112
- slug = transaction.data.data.slug;
1113
- } else {
1114
- slug = transaction.data.slug;
1115
- }
1116
- const poolHandler = this.state.earningService.getPoolHandler(slug);
1117
- if (poolHandler) {
1118
- const type = poolHandler.type;
1119
- if (type === _types.YieldPoolType.NATIVE_STAKING) {
1120
- return;
1121
- }
1122
- } else {
1123
- return;
1124
- }
1125
- this.state.mintCampaignService.unlockDotCampaign.mintNft({
1126
- transactionId: id,
1127
- address: transaction.address,
1128
- slug: slug,
1129
- network: transaction.chain,
1130
- extrinsicHash: transaction.extrinsicHash
1131
- }).catch(console.error);
1132
- }
1133
1022
  resetWallet() {
1134
1023
  this.transactionSubject.next({});
1135
1024
  }