@subwallet/extension-base 1.1.34-0 → 1.1.35-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (325) hide show
  1. package/background/KoniTypes.d.ts +111 -69
  2. package/background/KoniTypes.js +19 -13
  3. package/background/errors/TransactionError.js +9 -0
  4. package/cjs/background/KoniTypes.js +20 -16
  5. package/cjs/background/errors/TransactionError.js +9 -0
  6. package/cjs/constants/index.js +19 -4
  7. package/cjs/constants/staking.js +1 -1
  8. package/cjs/koni/api/dotsama/balance.js +464 -0
  9. package/cjs/koni/api/nft/config.js +33 -23
  10. package/cjs/koni/api/nft/index.js +14 -0
  11. package/cjs/koni/api/nft/nft.js +1 -22
  12. package/cjs/koni/api/nft/ordinal_nft/constants.js +21 -0
  13. package/cjs/koni/api/nft/ordinal_nft/index.js +121 -0
  14. package/cjs/koni/api/nft/ordinal_nft/utils.js +41 -0
  15. package/cjs/koni/api/staking/bonding/amplitude.js +19 -16
  16. package/cjs/koni/api/staking/bonding/astar.js +11 -10
  17. package/cjs/koni/api/staking/bonding/index.js +4 -1
  18. package/cjs/koni/api/staking/bonding/paraChain.js +25 -23
  19. package/cjs/koni/api/staking/bonding/relayChain.js +48 -45
  20. package/cjs/koni/api/staking/bonding/utils.js +104 -86
  21. package/cjs/koni/api/staking/index.js +6 -5
  22. package/cjs/koni/api/staking/paraChain.js +6 -5
  23. package/cjs/koni/api/staking/relayChain.js +3 -2
  24. package/cjs/koni/api/yield/helper/utils.js +46 -0
  25. package/cjs/koni/background/cron.js +3 -21
  26. package/cjs/koni/background/handlers/Extension.js +368 -69
  27. package/cjs/koni/background/handlers/State.js +18 -12
  28. package/cjs/koni/background/handlers/index.js +4 -2
  29. package/cjs/koni/background/subscription.js +7 -104
  30. package/cjs/packageInfo.js +1 -1
  31. package/cjs/services/campaign-service/index.js +9 -6
  32. package/cjs/services/chain-service/constants.js +2 -17
  33. package/cjs/services/chain-service/index.js +50 -3
  34. package/cjs/services/chain-service/utils.js +7 -1
  35. package/cjs/services/earning-service/constants/chains.js +30 -0
  36. package/cjs/services/earning-service/constants/index.js +27 -0
  37. package/cjs/services/earning-service/constants/step.js +18 -0
  38. package/cjs/services/earning-service/handlers/base.js +262 -0
  39. package/cjs/services/earning-service/handlers/index.js +60 -0
  40. package/cjs/services/earning-service/handlers/lending/base.js +81 -0
  41. package/cjs/services/earning-service/handlers/lending/index.js +13 -0
  42. package/cjs/services/earning-service/handlers/lending/interlay.js +192 -0
  43. package/cjs/services/earning-service/handlers/liquid-staking/acala.js +240 -0
  44. package/cjs/services/earning-service/handlers/liquid-staking/base.js +97 -0
  45. package/cjs/services/earning-service/handlers/liquid-staking/bifrost-manta.js +140 -0
  46. package/cjs/services/earning-service/handlers/liquid-staking/bifrost.js +298 -0
  47. package/cjs/services/earning-service/handlers/liquid-staking/index.js +34 -0
  48. package/cjs/services/earning-service/handlers/liquid-staking/parallel.js +227 -0
  49. package/cjs/services/earning-service/handlers/liquid-staking/stella-swap.js +404 -0
  50. package/cjs/services/earning-service/handlers/native-staking/amplitude.js +434 -0
  51. package/cjs/services/earning-service/handlers/native-staking/astar.js +466 -0
  52. package/cjs/services/earning-service/handlers/native-staking/base-para.js +146 -0
  53. package/cjs/services/earning-service/handlers/native-staking/base.js +161 -0
  54. package/cjs/services/earning-service/handlers/native-staking/index.js +34 -0
  55. package/cjs/services/earning-service/handlers/native-staking/para-chain.js +390 -0
  56. package/cjs/services/earning-service/handlers/native-staking/relay-chain.js +567 -0
  57. package/cjs/services/earning-service/handlers/nomination-pool/index.js +566 -0
  58. package/cjs/services/earning-service/handlers/special.js +493 -0
  59. package/cjs/services/earning-service/service.js +733 -0
  60. package/cjs/services/earning-service/utils/index.js +128 -0
  61. package/cjs/services/event-service/index.js +5 -0
  62. package/cjs/services/keyring-service/index.js +14 -2
  63. package/cjs/services/migration-service/scripts/DeleteEarningData.js +21 -0
  64. package/cjs/services/migration-service/scripts/EnableEarningChains.js +21 -0
  65. package/cjs/services/migration-service/scripts/MigrateEthProvider.js +17 -0
  66. package/cjs/services/migration-service/scripts/MigrateLedgerAccount.js +1 -1
  67. package/cjs/services/migration-service/scripts/MigratePioneerProvider.js +17 -0
  68. package/cjs/services/migration-service/scripts/MigrateProvider.js +29 -0
  69. package/cjs/services/migration-service/scripts/MigrateTransactionHistory.js +1 -1
  70. package/cjs/services/migration-service/scripts/databases/MigrateEarningHistory.js +21 -0
  71. package/cjs/services/migration-service/scripts/databases/MigrateEarningVersion.js +21 -0
  72. package/cjs/services/migration-service/scripts/index.js +6 -1
  73. package/cjs/services/mint-campaign-service/campaigns/UnlockDotCampaign.js +149 -0
  74. package/cjs/services/mint-campaign-service/campaigns/index.js +13 -0
  75. package/cjs/services/mint-campaign-service/constants.js +11 -0
  76. package/cjs/services/mint-campaign-service/index.js +18 -0
  77. package/cjs/services/notification-service/NotificationService.js +3 -2
  78. package/cjs/services/request-service/handler/PopupHandler.js +2 -3
  79. package/cjs/services/storage-service/DatabaseService.js +97 -0
  80. package/cjs/services/storage-service/databases/index.js +4 -0
  81. package/cjs/services/storage-service/db-stores/AssetRef.js +24 -0
  82. package/cjs/services/storage-service/db-stores/NominatorMetadata.js +3 -3
  83. package/cjs/services/storage-service/db-stores/YieldPoolStore.js +36 -0
  84. package/cjs/services/storage-service/db-stores/YieldPositionStore.js +71 -0
  85. package/cjs/services/storage-service/index.js +241 -0
  86. package/cjs/services/subscan-service/index.js +16 -0
  87. package/cjs/services/transaction-service/event-parser/index.js +58 -0
  88. package/cjs/services/transaction-service/helpers/index.js +3 -1
  89. package/cjs/services/transaction-service/index.js +249 -75
  90. package/cjs/services/transaction-service/utils.js +1 -0
  91. package/cjs/types/campaigns/index.js +16 -0
  92. package/cjs/types/campaigns/unlock-dot.js +1 -0
  93. package/cjs/types/index.js +44 -0
  94. package/cjs/types/ordinal.js +1 -0
  95. package/cjs/types/transaction.js +1 -0
  96. package/cjs/types/yield/actions/index.js +27 -0
  97. package/cjs/types/yield/actions/join/index.js +38 -0
  98. package/cjs/types/yield/actions/join/step.js +47 -0
  99. package/cjs/types/yield/actions/join/submit.js +1 -0
  100. package/cjs/types/yield/actions/join/validate.js +16 -0
  101. package/cjs/types/yield/actions/others.js +1 -0
  102. package/cjs/types/yield/index.js +27 -0
  103. package/cjs/types/yield/info/account/index.js +49 -0
  104. package/cjs/types/yield/info/account/info.js +1 -0
  105. package/cjs/types/yield/info/account/reward.js +1 -0
  106. package/cjs/types/yield/info/account/target.js +32 -0
  107. package/cjs/types/yield/info/account/unstake.js +27 -0
  108. package/cjs/types/yield/info/base.js +41 -0
  109. package/cjs/types/yield/info/chain/index.js +27 -0
  110. package/cjs/types/yield/info/chain/info.js +1 -0
  111. package/cjs/types/yield/info/chain/target.js +1 -0
  112. package/cjs/types/yield/info/index.js +49 -0
  113. package/cjs/types/yield/info/pallet.js +15 -0
  114. package/cjs/types.js +1 -0
  115. package/cjs/utils/address.js +34 -0
  116. package/cjs/utils/environment.js +23 -28
  117. package/cjs/utils/fetchStaticCache.js +22 -0
  118. package/cjs/utils/fetchStaticData.js +2 -1
  119. package/cjs/utils/index.js +94 -10
  120. package/cjs/utils/keyring.js +57 -0
  121. package/cjs/utils/mv3.js +14 -0
  122. package/cjs/utils/number.js +6 -2
  123. package/cjs/utils/object.js +12 -0
  124. package/constants/index.d.ts +6 -1
  125. package/constants/index.js +6 -1
  126. package/constants/staking.js +1 -1
  127. package/koni/api/nft/config.js +33 -23
  128. package/koni/api/nft/index.js +15 -1
  129. package/koni/api/nft/nft.js +2 -23
  130. package/koni/api/nft/ordinal_nft/constants.d.ts +9 -0
  131. package/koni/api/nft/ordinal_nft/constants.js +12 -0
  132. package/koni/api/nft/ordinal_nft/index.d.ts +8 -0
  133. package/koni/api/nft/ordinal_nft/index.js +114 -0
  134. package/koni/api/nft/ordinal_nft/utils.d.ts +2 -0
  135. package/koni/api/nft/ordinal_nft/utils.js +33 -0
  136. package/koni/api/staking/bonding/amplitude.js +13 -10
  137. package/koni/api/staking/bonding/astar.js +9 -8
  138. package/koni/api/staking/bonding/index.d.ts +1 -1
  139. package/koni/api/staking/bonding/index.js +5 -1
  140. package/koni/api/staking/bonding/paraChain.js +12 -10
  141. package/koni/api/staking/bonding/relayChain.d.ts +2 -2
  142. package/koni/api/staking/bonding/relayChain.js +33 -30
  143. package/koni/api/staking/bonding/utils.d.ts +15 -38
  144. package/koni/api/staking/bonding/utils.js +85 -69
  145. package/koni/api/staking/index.js +2 -1
  146. package/koni/api/staking/paraChain.js +7 -6
  147. package/koni/api/staking/relayChain.js +4 -3
  148. package/koni/api/yield/helper/utils.d.ts +10 -0
  149. package/koni/api/yield/helper/utils.js +32 -0
  150. package/koni/background/cron.d.ts +0 -4
  151. package/koni/background/cron.js +4 -22
  152. package/koni/background/handlers/Extension.d.ts +17 -1
  153. package/koni/background/handlers/Extension.js +327 -30
  154. package/koni/background/handlers/State.d.ts +6 -1
  155. package/koni/background/handlers/State.js +17 -12
  156. package/koni/background/handlers/index.js +4 -2
  157. package/koni/background/subscription.d.ts +1 -6
  158. package/koni/background/subscription.js +8 -104
  159. package/package.json +335 -7
  160. package/packageInfo.js +1 -1
  161. package/services/campaign-service/index.js +9 -6
  162. package/services/chain-service/constants.d.ts +1 -13
  163. package/services/chain-service/constants.js +1 -15
  164. package/services/chain-service/index.d.ts +3 -0
  165. package/services/chain-service/index.js +50 -3
  166. package/services/chain-service/utils.d.ts +1 -0
  167. package/services/chain-service/utils.js +5 -1
  168. package/services/earning-service/constants/abis/compound_finance_v2_abi.json +1235 -0
  169. package/services/earning-service/constants/abis/st_liquid_token_abi.json +1355 -0
  170. package/services/earning-service/constants/chains.d.ts +15 -0
  171. package/services/earning-service/constants/chains.js +22 -0
  172. package/services/earning-service/constants/index.d.ts +2 -0
  173. package/services/earning-service/constants/index.js +5 -0
  174. package/services/earning-service/constants/step.d.ts +3 -0
  175. package/services/earning-service/constants/step.js +10 -0
  176. package/services/earning-service/handlers/base.d.ts +113 -0
  177. package/services/earning-service/handlers/base.js +256 -0
  178. package/services/earning-service/handlers/index.d.ts +5 -0
  179. package/services/earning-service/handlers/index.js +8 -0
  180. package/services/earning-service/handlers/lending/base.d.ts +8 -0
  181. package/services/earning-service/handlers/lending/base.js +73 -0
  182. package/services/earning-service/handlers/lending/index.d.ts +1 -0
  183. package/services/earning-service/handlers/lending/index.js +4 -0
  184. package/services/earning-service/handlers/lending/interlay.d.ts +24 -0
  185. package/services/earning-service/handlers/lending/interlay.js +184 -0
  186. package/services/earning-service/handlers/liquid-staking/acala.d.ts +27 -0
  187. package/services/earning-service/handlers/liquid-staking/acala.js +232 -0
  188. package/services/earning-service/handlers/liquid-staking/base.d.ts +11 -0
  189. package/services/earning-service/handlers/liquid-staking/base.js +89 -0
  190. package/services/earning-service/handlers/liquid-staking/bifrost.d.ts +46 -0
  191. package/services/earning-service/handlers/liquid-staking/bifrost.js +287 -0
  192. package/services/earning-service/handlers/liquid-staking/index.d.ts +4 -0
  193. package/services/earning-service/handlers/liquid-staking/index.js +7 -0
  194. package/services/earning-service/handlers/liquid-staking/parallel.d.ts +26 -0
  195. package/services/earning-service/handlers/liquid-staking/parallel.js +219 -0
  196. package/services/earning-service/handlers/liquid-staking/stella-swap.d.ts +34 -0
  197. package/services/earning-service/handlers/liquid-staking/stella-swap.js +394 -0
  198. package/services/earning-service/handlers/native-staking/amplitude.d.ts +22 -0
  199. package/services/earning-service/handlers/native-staking/amplitude.js +425 -0
  200. package/services/earning-service/handlers/native-staking/astar.d.ts +19 -0
  201. package/services/earning-service/handlers/native-staking/astar.js +456 -0
  202. package/services/earning-service/handlers/native-staking/base-para.d.ts +11 -0
  203. package/services/earning-service/handlers/native-staking/base-para.js +138 -0
  204. package/services/earning-service/handlers/native-staking/base.d.ts +21 -0
  205. package/services/earning-service/handlers/native-staking/base.js +152 -0
  206. package/services/earning-service/handlers/native-staking/index.d.ts +4 -0
  207. package/services/earning-service/handlers/native-staking/index.js +7 -0
  208. package/services/earning-service/handlers/native-staking/para-chain.d.ts +15 -0
  209. package/services/earning-service/handlers/native-staking/para-chain.js +382 -0
  210. package/services/earning-service/handlers/native-staking/relay-chain.d.ts +21 -0
  211. package/services/earning-service/handlers/native-staking/relay-chain.js +558 -0
  212. package/services/earning-service/handlers/nomination-pool/index.d.ts +36 -0
  213. package/services/earning-service/handlers/nomination-pool/index.js +556 -0
  214. package/services/earning-service/handlers/special.d.ts +64 -0
  215. package/services/earning-service/handlers/special.js +485 -0
  216. package/services/earning-service/service.d.ts +94 -0
  217. package/services/earning-service/service.js +722 -0
  218. package/services/earning-service/utils/index.d.ts +18 -0
  219. package/services/earning-service/utils/index.js +112 -0
  220. package/services/event-service/index.d.ts +2 -0
  221. package/services/event-service/index.js +5 -0
  222. package/services/event-service/types.d.ts +9 -0
  223. package/services/keyring-service/index.d.ts +2 -1
  224. package/services/keyring-service/index.js +14 -2
  225. package/services/migration-service/scripts/DeleteEarningData.d.ts +4 -0
  226. package/services/migration-service/scripts/DeleteEarningData.js +13 -0
  227. package/services/migration-service/scripts/EnableEarningChains.d.ts +4 -0
  228. package/services/migration-service/scripts/EnableEarningChains.js +13 -0
  229. package/services/migration-service/scripts/MigrateLedgerAccount.js +1 -1
  230. package/services/migration-service/scripts/MigrateTransactionHistory.js +1 -1
  231. package/services/migration-service/scripts/databases/MigrateEarningHistory.d.ts +4 -0
  232. package/services/migration-service/scripts/databases/MigrateEarningHistory.js +13 -0
  233. package/services/migration-service/scripts/databases/MigrateEarningVersion.d.ts +4 -0
  234. package/services/migration-service/scripts/databases/MigrateEarningVersion.js +13 -0
  235. package/services/migration-service/scripts/index.js +6 -1
  236. package/services/mint-campaign-service/campaigns/UnlockDotCampaign.d.ts +13 -0
  237. package/services/mint-campaign-service/campaigns/UnlockDotCampaign.js +139 -0
  238. package/services/mint-campaign-service/campaigns/index.d.ts +1 -0
  239. package/services/mint-campaign-service/campaigns/index.js +4 -0
  240. package/services/mint-campaign-service/constants.d.ts +1 -0
  241. package/services/mint-campaign-service/constants.js +4 -0
  242. package/services/mint-campaign-service/index.d.ts +7 -0
  243. package/services/mint-campaign-service/index.js +11 -0
  244. package/services/notification-service/NotificationService.js +3 -2
  245. package/services/request-service/handler/PopupHandler.js +3 -4
  246. package/services/storage-service/DatabaseService.d.ts +22 -1
  247. package/services/storage-service/DatabaseService.js +97 -0
  248. package/services/storage-service/databases/index.d.ts +7 -2
  249. package/services/storage-service/databases/index.js +4 -0
  250. package/services/storage-service/db-stores/AssetRef.d.ts +7 -0
  251. package/services/storage-service/db-stores/AssetRef.js +16 -0
  252. package/services/storage-service/db-stores/NominatorMetadata.js +3 -3
  253. package/services/storage-service/db-stores/YieldPoolStore.d.ts +10 -0
  254. package/services/storage-service/db-stores/YieldPoolStore.js +28 -0
  255. package/services/storage-service/db-stores/YieldPositionStore.d.ts +11 -0
  256. package/services/storage-service/db-stores/YieldPositionStore.js +63 -0
  257. package/services/subscan-service/index.d.ts +3 -2
  258. package/services/subscan-service/index.js +15 -0
  259. package/services/subscan-service/types.d.ts +20 -0
  260. package/services/transaction-service/event-parser/index.d.ts +3 -1
  261. package/services/transaction-service/event-parser/index.js +57 -1
  262. package/services/transaction-service/helpers/index.js +3 -1
  263. package/services/transaction-service/index.d.ts +6 -13
  264. package/services/transaction-service/index.js +247 -73
  265. package/services/transaction-service/types.d.ts +2 -0
  266. package/services/transaction-service/utils.js +1 -0
  267. package/types/campaigns/index.d.ts +1 -0
  268. package/types/campaigns/index.js +4 -0
  269. package/types/campaigns/unlock-dot.d.ts +71 -0
  270. package/types/campaigns/unlock-dot.js +1 -0
  271. package/types/index.d.ts +5 -0
  272. package/types/index.js +5 -1
  273. package/types/ordinal.d.ts +69 -0
  274. package/types/ordinal.js +1 -0
  275. package/types/transaction.d.ts +3 -0
  276. package/types/transaction.js +1 -0
  277. package/types/yield/actions/index.d.ts +2 -0
  278. package/types/yield/actions/index.js +5 -0
  279. package/types/yield/actions/join/index.d.ts +3 -0
  280. package/types/yield/actions/join/index.js +6 -0
  281. package/types/yield/actions/join/step.d.ts +95 -0
  282. package/types/yield/actions/join/step.js +46 -0
  283. package/types/yield/actions/join/submit.d.ts +58 -0
  284. package/types/yield/actions/join/submit.js +1 -0
  285. package/types/yield/actions/join/validate.d.ts +18 -0
  286. package/types/yield/actions/join/validate.js +10 -0
  287. package/types/yield/actions/others.d.ts +85 -0
  288. package/types/yield/actions/others.js +1 -0
  289. package/types/yield/index.d.ts +2 -0
  290. package/types/yield/index.js +5 -0
  291. package/types/yield/info/account/index.d.ts +4 -0
  292. package/types/yield/info/account/index.js +7 -0
  293. package/types/yield/info/account/info.d.ts +92 -0
  294. package/types/yield/info/account/info.js +1 -0
  295. package/types/yield/info/account/reward.d.ts +47 -0
  296. package/types/yield/info/account/reward.js +1 -0
  297. package/types/yield/info/account/target.d.ts +43 -0
  298. package/types/yield/info/account/target.js +27 -0
  299. package/types/yield/info/account/unstake.d.ts +31 -0
  300. package/types/yield/info/account/unstake.js +22 -0
  301. package/types/yield/info/base.d.ts +45 -0
  302. package/types/yield/info/base.js +36 -0
  303. package/types/yield/info/chain/index.d.ts +2 -0
  304. package/types/yield/info/chain/index.js +5 -0
  305. package/types/yield/info/chain/info.d.ts +252 -0
  306. package/types/yield/info/chain/info.js +1 -0
  307. package/types/yield/info/chain/target.d.ts +37 -0
  308. package/types/yield/info/chain/target.js +1 -0
  309. package/types/yield/info/index.d.ts +4 -0
  310. package/types/yield/info/index.js +7 -0
  311. package/types/yield/info/pallet.d.ts +143 -0
  312. package/types/yield/info/pallet.js +9 -0
  313. package/utils/environment.d.ts +9 -2
  314. package/utils/environment.js +14 -26
  315. package/utils/fetchStaticCache.d.ts +1 -0
  316. package/utils/fetchStaticCache.js +14 -0
  317. package/utils/fetchStaticData.js +2 -1
  318. package/utils/index.d.ts +5 -1
  319. package/utils/index.js +53 -3
  320. package/utils/mv3.d.ts +2 -0
  321. package/utils/mv3.js +6 -0
  322. package/utils/number.d.ts +2 -1
  323. package/utils/number.js +2 -1
  324. package/utils/object.d.ts +1 -0
  325. 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,116 @@ 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
+
533
+ // eslint-disable-next-line no-fallthrough
534
+ case _KoniTypes.ExtrinsicType.MINT_VDOT:
535
+ {
536
+ const params = (0, _utils2.parseTransactionData)(transaction.data);
537
+ const inputTokenInfo = this.state.chainService.getAssetBySlug(params.inputTokenSlug);
538
+ const isFeePaidWithInputAsset = params.feeTokenSlug === params.inputTokenSlug;
539
+ historyItem.amount = {
540
+ value: params.amount,
541
+ symbol: (0, _utils._getAssetSymbol)(inputTokenInfo),
542
+ decimals: (0, _utils._getAssetDecimals)(inputTokenInfo)
543
+ };
544
+ const additionalInfo = {
545
+ slug: params.slug,
546
+ derivativeTokenSlug: params.derivativeTokenSlug,
547
+ exchangeRate: params.exchangeRate
548
+ };
549
+ historyItem.additionalInfo = additionalInfo;
550
+ eventLogs && !(0, _utils._isChainEvmCompatible)(chainInfo) && (0, _eventParser.parseLiquidStakingEvents)(historyItem, eventLogs, inputTokenInfo, chainInfo, isFeePaidWithInputAsset, extrinsicType);
551
+ break;
552
+ }
553
+ case _KoniTypes.ExtrinsicType.UNSTAKE_QDOT:
554
+
555
+ // eslint-disable-next-line no-fallthrough
556
+ case _KoniTypes.ExtrinsicType.REDEEM_QDOT:
557
+ {
558
+ const data = (0, _utils2.parseTransactionData)(transaction.data);
559
+ const yieldPoolInfo = data.poolInfo;
560
+ if (yieldPoolInfo.metadata.derivativeAssets) {
561
+ const inputTokenSlug = yieldPoolInfo.metadata.inputAsset;
562
+ const inputTokenInfo = this.state.chainService.getAssetBySlug(inputTokenSlug);
563
+ historyItem.amount = {
564
+ value: data.amount,
565
+ symbol: (0, _utils._getAssetSymbol)(inputTokenInfo),
566
+ decimals: (0, _utils._getAssetDecimals)(inputTokenInfo)
567
+ };
568
+ eventLogs && (0, _eventParser.parseLiquidStakingFastUnstakeEvents)(historyItem, eventLogs, chainInfo, extrinsicType);
569
+ const additionalInfo = {
570
+ minAmountPercent: 1,
571
+ symbol: inputTokenInfo.symbol,
572
+ decimals: inputTokenInfo.decimals || 0,
573
+ exchangeRate: 1,
574
+ slug: yieldPoolInfo.slug,
575
+ type: yieldPoolInfo.type,
576
+ chain: yieldPoolInfo.chain,
577
+ group: yieldPoolInfo.group,
578
+ isFast: data.fastLeave
579
+ };
580
+ historyItem.additionalInfo = additionalInfo;
581
+ }
582
+ break;
583
+ }
584
+ case _KoniTypes.ExtrinsicType.UNSTAKE_VDOT:
585
+ case _KoniTypes.ExtrinsicType.UNSTAKE_LDOT:
586
+ case _KoniTypes.ExtrinsicType.UNSTAKE_SDOT:
587
+ case _KoniTypes.ExtrinsicType.UNSTAKE_STDOT:
588
+ case _KoniTypes.ExtrinsicType.REDEEM_STDOT:
589
+ case _KoniTypes.ExtrinsicType.REDEEM_LDOT:
590
+ case _KoniTypes.ExtrinsicType.REDEEM_SDOT:
591
+
592
+ // eslint-disable-next-line no-fallthrough
593
+ case _KoniTypes.ExtrinsicType.REDEEM_VDOT:
594
+ {
595
+ const data = (0, _utils2.parseTransactionData)(transaction.data);
596
+ const yieldPoolInfo = data.poolInfo;
597
+ const minAmountPercents = this.state.earningService.getMinAmountPercent();
598
+ if (yieldPoolInfo.metadata.derivativeAssets) {
599
+ var _yieldPoolInfo$statis;
600
+ const derivativeTokenSlug = yieldPoolInfo.metadata.derivativeAssets[0];
601
+ const derivativeTokenInfo = this.state.chainService.getAssetBySlug(derivativeTokenSlug);
602
+ const chainInfo = this.state.chainService.getChainInfoByKey(data.poolInfo.chain);
603
+ historyItem.amount = {
604
+ value: data.amount,
605
+ symbol: (0, _utils._getAssetSymbol)(derivativeTokenInfo),
606
+ decimals: (0, _utils._getAssetDecimals)(derivativeTokenInfo)
607
+ };
608
+ eventLogs && !(0, _utils._isChainEvmCompatible)(chainInfo) && (0, _eventParser.parseLiquidStakingFastUnstakeEvents)(historyItem, eventLogs, chainInfo, extrinsicType);
609
+ const minAmountPercent = minAmountPercents[yieldPoolInfo.slug] || 1;
610
+ const inputTokenSlug = yieldPoolInfo.metadata.inputAsset;
611
+ const inputTokenInfo = this.state.chainService.getAssetBySlug(inputTokenSlug);
612
+ const additionalInfo = {
613
+ minAmountPercent,
614
+ symbol: inputTokenInfo.symbol,
615
+ decimals: inputTokenInfo.decimals || 0,
616
+ exchangeRate: ((_yieldPoolInfo$statis = yieldPoolInfo.statistic) === null || _yieldPoolInfo$statis === void 0 ? void 0 : _yieldPoolInfo$statis.assetEarning[0].exchangeRate) || 1,
617
+ slug: yieldPoolInfo.slug,
618
+ type: yieldPoolInfo.type,
619
+ chain: yieldPoolInfo.chain,
620
+ group: yieldPoolInfo.group,
621
+ isFast: data.fastLeave
622
+ };
623
+ historyItem.additionalInfo = additionalInfo;
624
+ }
625
+ break;
626
+ }
627
+ case _KoniTypes.ExtrinsicType.TOKEN_APPROVE:
628
+ {
629
+ const data = (0, _utils2.parseTransactionData)(transaction.data);
630
+ const inputAsset = this.state.chainService.getAssetBySlug(data.inputTokenSlug);
631
+ historyItem.amount = {
632
+ value: '0',
633
+ symbol: (0, _utils._getAssetSymbol)(inputAsset),
634
+ decimals: (0, _utils._getAssetDecimals)(inputAsset)
635
+ };
636
+ break;
637
+ }
495
638
  case _KoniTypes.ExtrinsicType.UNKNOWN:
496
639
  break;
497
640
  }
@@ -539,7 +682,7 @@ class TransactionService {
539
682
  });
540
683
 
541
684
  // Create Input History Transaction History
542
- this.historyService.insertHistories(this.transactionToHistories(id, startBlock, nonce)).catch(console.error);
685
+ this.state.historyService.insertHistories(this.transactionToHistories(id, startBlock, nonce)).catch(console.error);
543
686
  console.debug(`Transaction "${id}" is sent`);
544
687
  }
545
688
  onHasTransactionHash(_ref3) {
@@ -557,8 +700,12 @@ class TransactionService {
557
700
  this.updateTransaction(id, updateData);
558
701
 
559
702
  // 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);
703
+ this.state.historyService.updateHistoryByExtrinsicHash(id, updateData).catch(console.error);
561
704
  console.debug(`Transaction "${id}" is submitted with hash ${extrinsicHash || ''}`);
705
+ const transaction = this.getTransaction(id);
706
+ 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)) {
707
+ this.handlePostEarningTransaction(id);
708
+ }
562
709
  }
563
710
  handlePostProcessing(id) {
564
711
  // must be done after success/failure to make sure the transaction is finalized
@@ -567,15 +714,15 @@ class TransactionService {
567
714
  const inputData = (0, _utils2.parseTransactionData)(transaction.data);
568
715
  try {
569
716
  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);
717
+ sender && this.state.dbService.handleNftTransfer(transaction.chain, [sender.address, _constants.ALL_ACCOUNT_KEY], inputData.nftItem).then(() => {
718
+ this.state.eventService.emit('transaction.transferNft', undefined);
572
719
  }).catch(console.error);
573
720
  } catch (e) {
574
721
  console.error(e);
575
722
  }
576
723
  try {
577
724
  const recipient = _uiKeyring.default.getPair(inputData.recipientAddress);
578
- recipient && this.databaseService.addNft(recipient.address, {
725
+ recipient && this.state.dbService.addNft(recipient.address, {
579
726
  ...inputData.nftItem,
580
727
  owner: recipient.address
581
728
  }).catch(console.error);
@@ -583,7 +730,7 @@ class TransactionService {
583
730
  console.error(e);
584
731
  }
585
732
  } 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);
733
+ this.state.eventService.emit('transaction.submitStaking', transaction.chain);
587
734
  }
588
735
  }
589
736
  onSuccess(_ref4) {
@@ -600,14 +747,14 @@ class TransactionService {
600
747
  });
601
748
 
602
749
  // Write success transaction history
603
- this.historyService.updateHistoryByExtrinsicHash(transaction.extrinsicHash, {
750
+ this.state.historyService.updateHistoryByExtrinsicHash(transaction.extrinsicHash, {
604
751
  extrinsicHash,
605
752
  status: _KoniTypes.ExtrinsicStatus.SUCCESS,
606
753
  blockNumber: blockNumber || 0,
607
754
  blockHash: blockHash || ''
608
755
  }).catch(console.error);
609
- const info = (0, _util.isHex)(extrinsicHash) ? extrinsicHash : (0, _helpers.getBaseTransactionInfo)(transaction, this.chainService.getChainInfoMap());
610
- this.notificationService.notify({
756
+ const info = (0, _util.isHex)(extrinsicHash) ? extrinsicHash : (0, _helpers.getBaseTransactionInfo)(transaction, this.state.chainService.getChainInfoMap());
757
+ this.state.notificationService.notify({
611
758
  type: _KoniTypes.NotificationType.SUCCESS,
612
759
  title: (0, _i18next.t)('Transaction completed'),
613
760
  message: (0, _i18next.t)('Transaction {{info}} completed', {
@@ -620,7 +767,7 @@ class TransactionService {
620
767
  },
621
768
  notifyViaBrowser: true
622
769
  });
623
- this.eventService.emit('transaction.done', transaction);
770
+ this.state.eventService.emit('transaction.done', transaction);
624
771
  }
625
772
  onFailed(_ref5) {
626
773
  let {
@@ -640,14 +787,14 @@ class TransactionService {
640
787
  });
641
788
 
642
789
  // Write failed transaction history
643
- this.historyService.updateHistoryByExtrinsicHash(transaction.extrinsicHash, {
790
+ this.state.historyService.updateHistoryByExtrinsicHash(transaction.extrinsicHash, {
644
791
  extrinsicHash: extrinsicHash || transaction.extrinsicHash,
645
792
  status: nextStatus,
646
793
  blockNumber: blockNumber || 0,
647
794
  blockHash: blockHash || ''
648
795
  }).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({
796
+ 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());
797
+ this.state.notificationService.notify({
651
798
  type: _KoniTypes.NotificationType.ERROR,
652
799
  title: (0, _i18next.t)('Transaction failed'),
653
800
  message: (0, _i18next.t)('Transaction {{info}} failed', {
@@ -661,7 +808,7 @@ class TransactionService {
661
808
  notifyViaBrowser: true
662
809
  });
663
810
  }
664
- this.eventService.emit('transaction.failed', transaction);
811
+ this.state.eventService.emit('transaction.failed', transaction);
665
812
  }
666
813
  onTimeOut(_ref6) {
667
814
  let {
@@ -704,7 +851,7 @@ class TransactionService {
704
851
  }
705
852
  generateHashPayload(chain, transaction) {
706
853
  var _transaction$nonce;
707
- const chainInfo = this.chainService.getChainInfoByKey(chain);
854
+ const chainInfo = this.state.chainService.getChainInfoByKey(chain);
708
855
  const txObject = {
709
856
  nonce: (_transaction$nonce = transaction.nonce) !== null && _transaction$nonce !== void 0 ? _transaction$nonce : 0,
710
857
  gasPrice: (0, _ethereumjsUtil.addHexPrefix)((0, _eth.anyNumberToBN)(transaction.gasPrice).toString(16)),
@@ -726,8 +873,8 @@ class TransactionService {
726
873
  url
727
874
  } = _ref7;
728
875
  const payload = transaction;
729
- const evmApi = this.chainService.getEvmApi(chain);
730
- const chainInfo = this.chainService.getChainInfoByKey(chain);
876
+ const evmApi = this.state.chainService.getEvmApi(chain);
877
+ const chainInfo = this.state.chainService.getChainInfoByKey(chain);
731
878
  const accountPair = _uiKeyring.default.getPair(address);
732
879
  const account = {
733
880
  address,
@@ -757,7 +904,7 @@ class TransactionService {
757
904
 
758
905
  // Set unique nonce to avoid transaction errors
759
906
  if (!payload.nonce) {
760
- const evmApi = this.chainService.getEvmApi(chain);
907
+ const evmApi = this.state.chainService.getEvmApi(chain);
761
908
  payload.nonce = await evmApi.api.eth.getTransactionCount(address);
762
909
  }
763
910
  if (!payload.chainId) {
@@ -792,7 +939,7 @@ class TransactionService {
792
939
  extrinsicHash: id
793
940
  };
794
941
  if (isInjected) {
795
- this.requestService.addConfirmation(id, url || _constants3.EXTENSION_REQUEST_URL, 'evmWatchTransactionRequest', payload, {}).then(async _ref8 => {
942
+ this.state.requestService.addConfirmation(id, url || _constants2.EXTENSION_REQUEST_URL, 'evmWatchTransactionRequest', payload, {}).then(async _ref8 => {
796
943
  let {
797
944
  isApproved,
798
945
  payload
@@ -801,7 +948,7 @@ class TransactionService {
801
948
  if (!payload) {
802
949
  throw new _EvmProviderError.EvmProviderError(_KoniTypes.EvmProviderErrorType.UNAUTHORIZED, 'Bad signature');
803
950
  }
804
- const web3Api = this.chainService.getEvmApi(chain).api;
951
+ const web3Api = this.state.chainService.getEvmApi(chain).api;
805
952
 
806
953
  // Emit signed event
807
954
  emitter.emit('signed', eventData);
@@ -857,7 +1004,7 @@ class TransactionService {
857
1004
  emitter.emit('error', eventData);
858
1005
  });
859
1006
  } else {
860
- this.requestService.addConfirmation(id, url || _constants3.EXTENSION_REQUEST_URL, 'evmSendTransactionRequest', payload, {}).then(async _ref9 => {
1007
+ this.state.requestService.addConfirmation(id, url || _constants2.EXTENSION_REQUEST_URL, 'evmSendTransactionRequest', payload, {}).then(async _ref9 => {
861
1008
  let {
862
1009
  isApproved,
863
1010
  payload
@@ -867,7 +1014,7 @@ class TransactionService {
867
1014
  if (!payload) {
868
1015
  throw new _EvmProviderError.EvmProviderError(_KoniTypes.EvmProviderErrorType.UNAUTHORIZED, (0, _i18next.t)('Failed to sign'));
869
1016
  }
870
- const web3Api = this.chainService.getEvmApi(chain).api;
1017
+ const web3Api = this.state.chainService.getEvmApi(chain).api;
871
1018
  if (!isExternal) {
872
1019
  signedTransaction = payload;
873
1020
  } else {
@@ -935,7 +1082,7 @@ class TransactionService {
935
1082
  transaction.signAsync(address, {
936
1083
  signer: {
937
1084
  signPayload: async payload => {
938
- const signing = await this.requestService.signInternalTransaction(id, address, url || _constants3.EXTENSION_REQUEST_URL, payload);
1085
+ const signing = await this.state.requestService.signInternalTransaction(id, address, url || _constants2.EXTENSION_REQUEST_URL, payload);
939
1086
  return {
940
1087
  id: new Date().getTime(),
941
1088
  signature: signing.signature
@@ -947,7 +1094,7 @@ class TransactionService {
947
1094
  emitter.emit('signed', eventData);
948
1095
 
949
1096
  // Send transaction
950
- const api = this.chainService.getSubstrateApi(chain);
1097
+ const api = this.state.chainService.getSubstrateApi(chain);
951
1098
  eventData.nonce = rs.nonce.toNumber();
952
1099
  eventData.startBlock = (await api.api.query.system.number()).toPrimitive();
953
1100
  this.handleTransactionTimeout(emitter, eventData);
@@ -1011,7 +1158,7 @@ class TransactionService {
1011
1158
  emitter.emit('timeout', eventData);
1012
1159
  clearTimeout(timeout);
1013
1160
  }
1014
- }, _constants4.TRANSACTION_TIMEOUT);
1161
+ }, _constants3.TRANSACTION_TIMEOUT);
1015
1162
  emitter.once('success', () => {
1016
1163
  clearTimeout(timeout);
1017
1164
  });
@@ -1019,6 +1166,33 @@ class TransactionService {
1019
1166
  clearTimeout(timeout);
1020
1167
  });
1021
1168
  }
1169
+ handlePostEarningTransaction(id) {
1170
+ const transaction = this.getTransaction(id);
1171
+ let slug;
1172
+
1173
+ // TODO
1174
+ if ('data' in transaction.data) {
1175
+ slug = transaction.data.data.slug;
1176
+ } else {
1177
+ slug = transaction.data.slug;
1178
+ }
1179
+ const poolHandler = this.state.earningService.getPoolHandler(slug);
1180
+ if (poolHandler) {
1181
+ const type = poolHandler.type;
1182
+ if (type === _types.YieldPoolType.NATIVE_STAKING) {
1183
+ return;
1184
+ }
1185
+ } else {
1186
+ return;
1187
+ }
1188
+ this.state.mintCampaignService.unlockDotCampaign.mintNft({
1189
+ transactionId: id,
1190
+ address: transaction.address,
1191
+ slug: slug,
1192
+ network: transaction.chain,
1193
+ extrinsicHash: transaction.extrinsicHash
1194
+ }).catch(console.error);
1195
+ }
1022
1196
  resetWallet() {
1023
1197
  this.transactionSubject.next({});
1024
1198
  }
@@ -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";