@subwallet/extension-base 1.1.31-1 → 1.1.31-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 (305) 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/koni/api/dotsama/balance.js +464 -0
  8. package/cjs/koni/api/nft/config.js +33 -23
  9. package/cjs/koni/api/nft/index.js +14 -0
  10. package/cjs/koni/api/nft/nft.js +1 -22
  11. package/cjs/koni/api/nft/ordinal_nft/constants.js +21 -0
  12. package/cjs/koni/api/nft/ordinal_nft/index.js +121 -0
  13. package/cjs/koni/api/nft/ordinal_nft/utils.js +41 -0
  14. package/cjs/koni/api/staking/bonding/amplitude.js +17 -15
  15. package/cjs/koni/api/staking/bonding/astar.js +11 -10
  16. package/cjs/koni/api/staking/bonding/index.js +4 -1
  17. package/cjs/koni/api/staking/bonding/paraChain.js +25 -23
  18. package/cjs/koni/api/staking/bonding/relayChain.js +48 -45
  19. package/cjs/koni/api/staking/bonding/utils.js +104 -86
  20. package/cjs/koni/api/staking/index.js +6 -5
  21. package/cjs/koni/api/staking/paraChain.js +6 -5
  22. package/cjs/koni/api/staking/relayChain.js +3 -2
  23. package/cjs/koni/api/yield/helper/utils.js +46 -0
  24. package/cjs/koni/background/cron.js +11 -1
  25. package/cjs/koni/background/handlers/Extension.js +362 -69
  26. package/cjs/koni/background/handlers/State.js +51 -3
  27. package/cjs/koni/background/handlers/index.js +4 -2
  28. package/cjs/koni/background/subscription.js +95 -37
  29. package/cjs/services/campaign-service/index.js +9 -6
  30. package/cjs/services/chain-service/constants.js +2 -16
  31. package/cjs/services/chain-service/index.js +3 -2
  32. package/cjs/services/chain-service/utils.js +7 -1
  33. package/cjs/services/earning-service/constants/chains.js +29 -0
  34. package/cjs/services/earning-service/constants/index.js +27 -0
  35. package/cjs/services/earning-service/constants/step.js +18 -0
  36. package/cjs/services/earning-service/handlers/base.js +259 -0
  37. package/cjs/services/earning-service/handlers/index.js +60 -0
  38. package/cjs/services/earning-service/handlers/lending/base.js +20 -0
  39. package/cjs/services/earning-service/handlers/lending/index.js +13 -0
  40. package/cjs/services/earning-service/handlers/lending/interlay.js +191 -0
  41. package/cjs/services/earning-service/handlers/liquid-staking/acala.js +239 -0
  42. package/cjs/services/earning-service/handlers/liquid-staking/base.js +43 -0
  43. package/cjs/services/earning-service/handlers/liquid-staking/bifrost.js +297 -0
  44. package/cjs/services/earning-service/handlers/liquid-staking/index.js +34 -0
  45. package/cjs/services/earning-service/handlers/liquid-staking/parallel.js +226 -0
  46. package/cjs/services/earning-service/handlers/liquid-staking/stella-swap.js +395 -0
  47. package/cjs/services/earning-service/handlers/native-staking/amplitude.js +384 -0
  48. package/cjs/services/earning-service/handlers/native-staking/astar.js +461 -0
  49. package/cjs/services/earning-service/handlers/native-staking/base-para.js +146 -0
  50. package/cjs/services/earning-service/handlers/native-staking/base.js +159 -0
  51. package/cjs/services/earning-service/handlers/native-staking/index.js +34 -0
  52. package/cjs/services/earning-service/handlers/native-staking/para-chain.js +385 -0
  53. package/cjs/services/earning-service/handlers/native-staking/relay-chain.js +558 -0
  54. package/cjs/services/earning-service/handlers/nomination-pool/index.js +560 -0
  55. package/cjs/services/earning-service/handlers/special.js +503 -0
  56. package/cjs/services/earning-service/service.js +387 -0
  57. package/cjs/services/earning-service/utils/index.js +128 -0
  58. package/cjs/services/event-service/index.js +4 -0
  59. package/cjs/services/keyring-service/index.js +14 -2
  60. package/cjs/services/migration-service/scripts/DeleteEarningData.js +21 -0
  61. package/cjs/services/migration-service/scripts/EnableEarningChains.js +21 -0
  62. package/cjs/services/migration-service/scripts/MigrateEthProvider.js +17 -0
  63. package/cjs/services/migration-service/scripts/MigrateLedgerAccount.js +1 -1
  64. package/cjs/services/migration-service/scripts/MigratePioneerProvider.js +17 -0
  65. package/cjs/services/migration-service/scripts/MigrateProvider.js +29 -0
  66. package/cjs/services/migration-service/scripts/MigrateTransactionHistory.js +1 -1
  67. package/cjs/services/migration-service/scripts/databases/MigrateEarningHistory.js +21 -0
  68. package/cjs/services/migration-service/scripts/databases/MigrateEarningVersion.js +21 -0
  69. package/cjs/services/migration-service/scripts/index.js +7 -1
  70. package/cjs/services/mint-campaign-service/campaigns/UnlockDotCampaign.js +149 -0
  71. package/cjs/services/mint-campaign-service/campaigns/index.js +13 -0
  72. package/cjs/services/mint-campaign-service/constants.js +11 -0
  73. package/cjs/services/mint-campaign-service/index.js +18 -0
  74. package/cjs/services/notification-service/NotificationService.js +1 -1
  75. package/cjs/services/storage-service/DatabaseService.js +51 -0
  76. package/cjs/services/storage-service/databases/index.js +4 -0
  77. package/cjs/services/storage-service/db-stores/NominatorMetadata.js +3 -3
  78. package/cjs/services/storage-service/db-stores/YieldPoolStore.js +36 -0
  79. package/cjs/services/storage-service/db-stores/YieldPositionStore.js +65 -0
  80. package/cjs/services/storage-service/index.js +241 -0
  81. package/cjs/services/subscan-service/index.js +16 -0
  82. package/cjs/services/transaction-service/event-parser/index.js +58 -0
  83. package/cjs/services/transaction-service/helpers/index.js +3 -1
  84. package/cjs/services/transaction-service/index.js +231 -75
  85. package/cjs/services/transaction-service/utils.js +1 -0
  86. package/cjs/types/campaigns/index.js +16 -0
  87. package/cjs/types/campaigns/unlock-dot.js +1 -0
  88. package/cjs/types/index.js +44 -0
  89. package/cjs/types/ordinal.js +1 -0
  90. package/cjs/types/transaction.js +1 -0
  91. package/cjs/types/yield/actions/index.js +27 -0
  92. package/cjs/types/yield/actions/join/index.js +38 -0
  93. package/cjs/types/yield/actions/join/step.js +47 -0
  94. package/cjs/types/yield/actions/join/submit.js +1 -0
  95. package/cjs/types/yield/actions/join/validate.js +16 -0
  96. package/cjs/types/yield/actions/others.js +1 -0
  97. package/cjs/types/yield/index.js +27 -0
  98. package/cjs/types/yield/info/account/index.js +49 -0
  99. package/cjs/types/yield/info/account/info.js +1 -0
  100. package/cjs/types/yield/info/account/reward.js +1 -0
  101. package/cjs/types/yield/info/account/target.js +32 -0
  102. package/cjs/types/yield/info/account/unstake.js +27 -0
  103. package/cjs/types/yield/info/base.js +41 -0
  104. package/cjs/types/yield/info/chain/index.js +27 -0
  105. package/cjs/types/yield/info/chain/info.js +1 -0
  106. package/cjs/types/yield/info/chain/target.js +1 -0
  107. package/cjs/types/yield/info/index.js +49 -0
  108. package/cjs/types/yield/info/pallet.js +15 -0
  109. package/cjs/types.js +1 -0
  110. package/cjs/utils/address.js +34 -0
  111. package/cjs/utils/fetchStaticData.js +2 -1
  112. package/cjs/utils/index.js +89 -1
  113. package/cjs/utils/keyring.js +57 -0
  114. package/cjs/utils/number.js +3 -1
  115. package/cjs/utils/object.js +12 -0
  116. package/constants/index.d.ts +6 -1
  117. package/constants/index.js +6 -1
  118. package/koni/api/nft/config.js +33 -23
  119. package/koni/api/nft/index.js +15 -1
  120. package/koni/api/nft/nft.js +2 -23
  121. package/koni/api/nft/ordinal_nft/constants.d.ts +9 -0
  122. package/koni/api/nft/ordinal_nft/constants.js +12 -0
  123. package/koni/api/nft/ordinal_nft/index.d.ts +8 -0
  124. package/koni/api/nft/ordinal_nft/index.js +114 -0
  125. package/koni/api/nft/ordinal_nft/utils.d.ts +2 -0
  126. package/koni/api/nft/ordinal_nft/utils.js +33 -0
  127. package/koni/api/staking/bonding/amplitude.js +11 -9
  128. package/koni/api/staking/bonding/astar.js +9 -8
  129. package/koni/api/staking/bonding/index.d.ts +1 -1
  130. package/koni/api/staking/bonding/index.js +5 -1
  131. package/koni/api/staking/bonding/paraChain.js +12 -10
  132. package/koni/api/staking/bonding/relayChain.d.ts +2 -2
  133. package/koni/api/staking/bonding/relayChain.js +33 -30
  134. package/koni/api/staking/bonding/utils.d.ts +15 -38
  135. package/koni/api/staking/bonding/utils.js +85 -69
  136. package/koni/api/staking/index.js +2 -1
  137. package/koni/api/staking/paraChain.js +7 -6
  138. package/koni/api/staking/relayChain.js +4 -3
  139. package/koni/api/yield/helper/utils.d.ts +10 -0
  140. package/koni/api/yield/helper/utils.js +32 -0
  141. package/koni/background/cron.d.ts +1 -0
  142. package/koni/background/cron.js +12 -2
  143. package/koni/background/handlers/Extension.d.ts +17 -1
  144. package/koni/background/handlers/Extension.js +321 -30
  145. package/koni/background/handlers/State.d.ts +18 -2
  146. package/koni/background/handlers/State.js +50 -3
  147. package/koni/background/handlers/index.js +4 -2
  148. package/koni/background/subscription.d.ts +6 -1
  149. package/koni/background/subscription.js +97 -38
  150. package/package.json +316 -3
  151. package/services/campaign-service/index.js +9 -6
  152. package/services/chain-service/constants.d.ts +0 -11
  153. package/services/chain-service/constants.js +1 -14
  154. package/services/chain-service/index.js +3 -2
  155. package/services/chain-service/utils.d.ts +1 -0
  156. package/services/chain-service/utils.js +5 -1
  157. package/services/earning-service/constants/abis/compound_finance_v2_abi.json +1235 -0
  158. package/services/earning-service/constants/abis/st_liquid_token_abi.json +1355 -0
  159. package/services/earning-service/constants/chains.d.ts +14 -0
  160. package/services/earning-service/constants/chains.js +21 -0
  161. package/services/earning-service/constants/index.d.ts +2 -0
  162. package/services/earning-service/constants/index.js +5 -0
  163. package/services/earning-service/constants/step.d.ts +3 -0
  164. package/services/earning-service/constants/step.js +10 -0
  165. package/services/earning-service/handlers/base.d.ts +112 -0
  166. package/services/earning-service/handlers/base.js +253 -0
  167. package/services/earning-service/handlers/index.d.ts +5 -0
  168. package/services/earning-service/handlers/index.js +8 -0
  169. package/services/earning-service/handlers/lending/base.d.ts +6 -0
  170. package/services/earning-service/handlers/lending/base.js +12 -0
  171. package/services/earning-service/handlers/lending/index.d.ts +1 -0
  172. package/services/earning-service/handlers/lending/index.js +4 -0
  173. package/services/earning-service/handlers/lending/interlay.d.ts +24 -0
  174. package/services/earning-service/handlers/lending/interlay.js +183 -0
  175. package/services/earning-service/handlers/liquid-staking/acala.d.ts +27 -0
  176. package/services/earning-service/handlers/liquid-staking/acala.js +231 -0
  177. package/services/earning-service/handlers/liquid-staking/base.d.ts +9 -0
  178. package/services/earning-service/handlers/liquid-staking/base.js +35 -0
  179. package/services/earning-service/handlers/liquid-staking/bifrost.d.ts +46 -0
  180. package/services/earning-service/handlers/liquid-staking/bifrost.js +286 -0
  181. package/services/earning-service/handlers/liquid-staking/index.d.ts +4 -0
  182. package/services/earning-service/handlers/liquid-staking/index.js +7 -0
  183. package/services/earning-service/handlers/liquid-staking/parallel.d.ts +26 -0
  184. package/services/earning-service/handlers/liquid-staking/parallel.js +218 -0
  185. package/services/earning-service/handlers/liquid-staking/stella-swap.d.ts +34 -0
  186. package/services/earning-service/handlers/liquid-staking/stella-swap.js +385 -0
  187. package/services/earning-service/handlers/native-staking/amplitude.d.ts +22 -0
  188. package/services/earning-service/handlers/native-staking/amplitude.js +375 -0
  189. package/services/earning-service/handlers/native-staking/astar.d.ts +19 -0
  190. package/services/earning-service/handlers/native-staking/astar.js +451 -0
  191. package/services/earning-service/handlers/native-staking/base-para.d.ts +11 -0
  192. package/services/earning-service/handlers/native-staking/base-para.js +138 -0
  193. package/services/earning-service/handlers/native-staking/base.d.ts +21 -0
  194. package/services/earning-service/handlers/native-staking/base.js +150 -0
  195. package/services/earning-service/handlers/native-staking/index.d.ts +4 -0
  196. package/services/earning-service/handlers/native-staking/index.js +7 -0
  197. package/services/earning-service/handlers/native-staking/para-chain.d.ts +15 -0
  198. package/services/earning-service/handlers/native-staking/para-chain.js +377 -0
  199. package/services/earning-service/handlers/native-staking/relay-chain.d.ts +21 -0
  200. package/services/earning-service/handlers/native-staking/relay-chain.js +549 -0
  201. package/services/earning-service/handlers/nomination-pool/index.d.ts +36 -0
  202. package/services/earning-service/handlers/nomination-pool/index.js +550 -0
  203. package/services/earning-service/handlers/special.d.ts +65 -0
  204. package/services/earning-service/handlers/special.js +495 -0
  205. package/services/earning-service/service.d.ts +45 -0
  206. package/services/earning-service/service.js +379 -0
  207. package/services/earning-service/utils/index.d.ts +18 -0
  208. package/services/earning-service/utils/index.js +112 -0
  209. package/services/event-service/index.d.ts +1 -0
  210. package/services/event-service/index.js +4 -0
  211. package/services/event-service/types.d.ts +8 -0
  212. package/services/keyring-service/index.d.ts +2 -1
  213. package/services/keyring-service/index.js +14 -2
  214. package/services/migration-service/scripts/DeleteEarningData.d.ts +4 -0
  215. package/services/migration-service/scripts/DeleteEarningData.js +13 -0
  216. package/services/migration-service/scripts/EnableEarningChains.d.ts +4 -0
  217. package/services/migration-service/scripts/EnableEarningChains.js +13 -0
  218. package/services/migration-service/scripts/MigrateLedgerAccount.js +1 -1
  219. package/services/migration-service/scripts/MigrateTransactionHistory.js +1 -1
  220. package/services/migration-service/scripts/databases/MigrateEarningHistory.d.ts +4 -0
  221. package/services/migration-service/scripts/databases/MigrateEarningHistory.js +13 -0
  222. package/services/migration-service/scripts/databases/MigrateEarningVersion.d.ts +4 -0
  223. package/services/migration-service/scripts/databases/MigrateEarningVersion.js +13 -0
  224. package/services/migration-service/scripts/index.js +7 -1
  225. package/services/mint-campaign-service/campaigns/UnlockDotCampaign.d.ts +13 -0
  226. package/services/mint-campaign-service/campaigns/UnlockDotCampaign.js +139 -0
  227. package/services/mint-campaign-service/campaigns/index.d.ts +1 -0
  228. package/services/mint-campaign-service/campaigns/index.js +4 -0
  229. package/services/mint-campaign-service/constants.d.ts +1 -0
  230. package/services/mint-campaign-service/constants.js +4 -0
  231. package/services/mint-campaign-service/index.d.ts +7 -0
  232. package/services/mint-campaign-service/index.js +11 -0
  233. package/services/notification-service/NotificationService.js +1 -1
  234. package/services/storage-service/DatabaseService.d.ts +18 -1
  235. package/services/storage-service/DatabaseService.js +51 -0
  236. package/services/storage-service/databases/index.d.ts +3 -1
  237. package/services/storage-service/databases/index.js +4 -0
  238. package/services/storage-service/db-stores/NominatorMetadata.js +3 -3
  239. package/services/storage-service/db-stores/YieldPoolStore.d.ts +10 -0
  240. package/services/storage-service/db-stores/YieldPoolStore.js +28 -0
  241. package/services/storage-service/db-stores/YieldPositionStore.d.ts +9 -0
  242. package/services/storage-service/db-stores/YieldPositionStore.js +57 -0
  243. package/services/subscan-service/index.d.ts +3 -2
  244. package/services/subscan-service/index.js +15 -0
  245. package/services/subscan-service/types.d.ts +20 -0
  246. package/services/transaction-service/event-parser/index.d.ts +3 -1
  247. package/services/transaction-service/event-parser/index.js +57 -1
  248. package/services/transaction-service/helpers/index.js +3 -1
  249. package/services/transaction-service/index.d.ts +4 -15
  250. package/services/transaction-service/index.js +229 -73
  251. package/services/transaction-service/types.d.ts +2 -0
  252. package/services/transaction-service/utils.js +1 -0
  253. package/types/campaigns/index.d.ts +1 -0
  254. package/types/campaigns/index.js +4 -0
  255. package/types/campaigns/unlock-dot.d.ts +71 -0
  256. package/types/campaigns/unlock-dot.js +1 -0
  257. package/types/index.d.ts +5 -0
  258. package/types/index.js +5 -1
  259. package/types/ordinal.d.ts +69 -0
  260. package/types/ordinal.js +1 -0
  261. package/types/transaction.d.ts +3 -0
  262. package/types/transaction.js +1 -0
  263. package/types/yield/actions/index.d.ts +2 -0
  264. package/types/yield/actions/index.js +5 -0
  265. package/types/yield/actions/join/index.d.ts +3 -0
  266. package/types/yield/actions/join/index.js +6 -0
  267. package/types/yield/actions/join/step.d.ts +95 -0
  268. package/types/yield/actions/join/step.js +46 -0
  269. package/types/yield/actions/join/submit.d.ts +57 -0
  270. package/types/yield/actions/join/submit.js +1 -0
  271. package/types/yield/actions/join/validate.d.ts +18 -0
  272. package/types/yield/actions/join/validate.js +10 -0
  273. package/types/yield/actions/others.d.ts +85 -0
  274. package/types/yield/actions/others.js +1 -0
  275. package/types/yield/index.d.ts +2 -0
  276. package/types/yield/index.js +5 -0
  277. package/types/yield/info/account/index.d.ts +4 -0
  278. package/types/yield/info/account/index.js +7 -0
  279. package/types/yield/info/account/info.d.ts +92 -0
  280. package/types/yield/info/account/info.js +1 -0
  281. package/types/yield/info/account/reward.d.ts +45 -0
  282. package/types/yield/info/account/reward.js +1 -0
  283. package/types/yield/info/account/target.d.ts +43 -0
  284. package/types/yield/info/account/target.js +27 -0
  285. package/types/yield/info/account/unstake.d.ts +31 -0
  286. package/types/yield/info/account/unstake.js +22 -0
  287. package/types/yield/info/base.d.ts +45 -0
  288. package/types/yield/info/base.js +36 -0
  289. package/types/yield/info/chain/index.d.ts +2 -0
  290. package/types/yield/info/chain/index.js +5 -0
  291. package/types/yield/info/chain/info.d.ts +251 -0
  292. package/types/yield/info/chain/info.js +1 -0
  293. package/types/yield/info/chain/target.d.ts +37 -0
  294. package/types/yield/info/chain/target.js +1 -0
  295. package/types/yield/info/index.d.ts +4 -0
  296. package/types/yield/info/index.js +7 -0
  297. package/types/yield/info/pallet.d.ts +143 -0
  298. package/types/yield/info/pallet.js +9 -0
  299. package/utils/fetchStaticData.js +2 -1
  300. package/utils/index.d.ts +5 -0
  301. package/utils/index.js +53 -1
  302. package/utils/number.d.ts +1 -1
  303. package/utils/number.js +1 -1
  304. package/utils/object.d.ts +1 -0
  305. package/utils/object.js +6 -0
@@ -10,14 +10,14 @@ var _TransactionError = require("@subwallet/extension-base/background/errors/Tra
10
10
  var _KoniTypes = require("@subwallet/extension-base/background/KoniTypes");
11
11
  var _TransactionWarning = require("@subwallet/extension-base/background/warnings/TransactionWarning");
12
12
  var _constants = require("@subwallet/extension-base/constants");
13
- var _constants2 = require("@subwallet/extension-base/services/chain-service/constants");
14
13
  var _utils = require("@subwallet/extension-base/services/chain-service/utils");
15
- var _constants3 = require("@subwallet/extension-base/services/request-service/constants");
16
- var _constants4 = require("@subwallet/extension-base/services/transaction-service/constants");
14
+ var _constants2 = require("@subwallet/extension-base/services/request-service/constants");
15
+ var _constants3 = require("@subwallet/extension-base/services/transaction-service/constants");
17
16
  var _eventParser = require("@subwallet/extension-base/services/transaction-service/event-parser");
18
17
  var _helpers = require("@subwallet/extension-base/services/transaction-service/helpers");
19
18
  var _utils2 = require("@subwallet/extension-base/services/transaction-service/utils");
20
19
  var _helpers2 = require("@subwallet/extension-base/services/wallet-connect-service/helpers");
20
+ var _types = require("@subwallet/extension-base/types");
21
21
  var _utils3 = require("@subwallet/extension-base/utils");
22
22
  var _eth = require("@subwallet/extension-base/utils/eth");
23
23
  var _mergeTransactionAndSignature = require("@subwallet/extension-base/utils/eth/mergeTransactionAndSignature");
@@ -30,6 +30,7 @@ var _eventemitter = _interopRequireDefault(require("eventemitter3"));
30
30
  var _i18next = require("i18next");
31
31
  var _rxjs = require("rxjs");
32
32
  var _util = require("@polkadot/util");
33
+ var _constants4 = require("../chain-service/constants");
33
34
  // Copyright 2019-2022 @subwallet/extension-base authors & contributors
34
35
  // SPDX-License-Identifier: Apache-2.0
35
36
 
@@ -39,14 +40,8 @@ class TransactionService {
39
40
  get transactions() {
40
41
  return this.transactionSubject.getValue();
41
42
  }
42
- constructor(chainService, eventService, requestService, balanceService, historyService, notificationService, databaseService) {
43
- this.chainService = chainService;
44
- this.eventService = eventService;
45
- this.requestService = requestService;
46
- this.balanceService = balanceService;
47
- this.historyService = historyService;
48
- this.notificationService = notificationService;
49
- this.databaseService = databaseService;
43
+ constructor(state) {
44
+ this.state = state;
50
45
  }
51
46
  get allTransactions() {
52
47
  return Object.values(this.transactions);
@@ -103,7 +98,7 @@ class TransactionService {
103
98
  decimals: 0,
104
99
  value: ''
105
100
  };
106
- const chainInfo = this.chainService.getChainInfoByKey(chain);
101
+ const chainInfo = this.state.chainService.getChainInfoByKey(chain);
107
102
  if (!chainInfo) {
108
103
  validationResponse.errors.push(new _TransactionError.TransactionError(_KoniTypes.BasicTxErrorType.INTERNAL_ERROR, (0, _i18next.t)('Cannot find network')));
109
104
  } else {
@@ -118,7 +113,7 @@ class TransactionService {
118
113
  if ((0, _helpers.isSubstrateTransaction)(transaction)) {
119
114
  estimateFee.value = (await transaction.paymentInfo(address)).partialFee.toString();
120
115
  } else {
121
- const web3 = this.chainService.getEvmApi(chain);
116
+ const web3 = this.state.chainService.getEvmApi(chain);
122
117
  if (!web3) {
123
118
  validationResponse.errors.push(new _TransactionError.TransactionError(_KoniTypes.BasicTxErrorType.CHAIN_DISCONNECTED, undefined));
124
119
  } else {
@@ -152,32 +147,35 @@ class TransactionService {
152
147
 
153
148
  // Balance
154
149
  const transferNative = validationResponse.transferNativeAmount || '0';
155
- const nativeTokenInfo = this.chainService.getNativeTokenInfo(chain);
156
- const balance = await this.balanceService.getTokenFreeBalance(address, chain, nativeTokenInfo.slug);
150
+ const nativeTokenInfo = this.state.chainService.getNativeTokenInfo(chain);
151
+ const balance = await this.state.balanceService.getTokenFreeBalance(address, chain, nativeTokenInfo.slug);
157
152
  const existentialDeposit = nativeTokenInfo.minAmount || '0';
158
153
  const feeNum = parseInt(estimateFee.value);
159
154
  const balanceNum = parseInt(balance.value);
160
155
  const edNum = parseInt(existentialDeposit);
161
156
  const transferNativeNum = parseInt(transferNative);
162
- if (!new _bignumber.default(balance.value).gt(0)) {
163
- validationResponse.errors.push(new _TransactionError.TransactionError(_KoniTypes.BasicTxErrorType.NOT_ENOUGH_BALANCE));
164
- }
165
- if (transferNativeNum + feeNum > balanceNum) {
166
- if (!isTransferAll) {
157
+ if (!validationInput.skipFeeValidation) {
158
+ // TODO
159
+ if (!new _bignumber.default(balance.value).gt(0)) {
167
160
  validationResponse.errors.push(new _TransactionError.TransactionError(_KoniTypes.BasicTxErrorType.NOT_ENOUGH_BALANCE));
168
- } else {
169
- if ([..._constants2._TRANSFER_CHAIN_GROUP.acala, ..._constants2._TRANSFER_CHAIN_GROUP.genshiro, ..._constants2._TRANSFER_CHAIN_GROUP.bitcountry, ..._constants2._TRANSFER_CHAIN_GROUP.statemine].includes(chain)) {
170
- // Chain not have transfer all function
161
+ }
162
+ if (transferNativeNum + feeNum > balanceNum) {
163
+ if (!isTransferAll) {
171
164
  validationResponse.errors.push(new _TransactionError.TransactionError(_KoniTypes.BasicTxErrorType.NOT_ENOUGH_BALANCE));
165
+ } else {
166
+ if ([..._constants4._TRANSFER_CHAIN_GROUP.acala, ..._constants4._TRANSFER_CHAIN_GROUP.genshiro, ..._constants4._TRANSFER_CHAIN_GROUP.bitcountry, ..._constants4._TRANSFER_CHAIN_GROUP.statemine].includes(chain)) {
167
+ // Chain not have transfer all function
168
+ validationResponse.errors.push(new _TransactionError.TransactionError(_KoniTypes.BasicTxErrorType.NOT_ENOUGH_BALANCE));
169
+ }
172
170
  }
173
171
  }
174
- }
175
- if (!isTransferAll) {
176
- if (balanceNum - (transferNativeNum + feeNum) < edNum) {
177
- if (edAsWarning) {
178
- validationResponse.warnings.push(new _TransactionWarning.TransactionWarning(_KoniTypes.BasicTxWarningCode.NOT_ENOUGH_EXISTENTIAL_DEPOSIT));
179
- } else {
180
- validationResponse.errors.push(new _TransactionError.TransactionError(_KoniTypes.BasicTxErrorType.NOT_ENOUGH_EXISTENTIAL_DEPOSIT));
172
+ if (!isTransferAll) {
173
+ if (balanceNum - (transferNativeNum + feeNum) < edNum) {
174
+ if (edAsWarning) {
175
+ validationResponse.warnings.push(new _TransactionWarning.TransactionWarning(_KoniTypes.BasicTxWarningCode.NOT_ENOUGH_EXISTENTIAL_DEPOSIT));
176
+ } else {
177
+ validationResponse.errors.push(new _TransactionError.TransactionError(_KoniTypes.BasicTxErrorType.NOT_ENOUGH_EXISTENTIAL_DEPOSIT));
178
+ }
181
179
  }
182
180
  }
183
181
  }
@@ -198,7 +196,7 @@ class TransactionService {
198
196
  updatedAt: new Date().getTime(),
199
197
  errors: transaction.errors || [],
200
198
  warnings: transaction.warnings || [],
201
- url: transaction.url || _constants3.EXTENSION_REQUEST_URL,
199
+ url: transaction.url || _constants2.EXTENSION_REQUEST_URL,
202
200
  status: _KoniTypes.ExtrinsicStatus.QUEUED,
203
201
  isInternal,
204
202
  id: transactionId,
@@ -244,12 +242,21 @@ class TransactionService {
244
242
  }
245
243
  validatedTransaction.warnings = [];
246
244
  const emitter = await this.addTransaction(validatedTransaction);
247
- await new Promise(resolve => {
248
- emitter.on('signed', data => {
249
- validatedTransaction.id = data.id;
250
- validatedTransaction.extrinsicHash = data.extrinsicHash;
251
- resolve();
252
- });
245
+ await new Promise((resolve, reject) => {
246
+ // TODO
247
+ if (transaction.resolveOnDone) {
248
+ emitter.on('success', data => {
249
+ validatedTransaction.id = data.id;
250
+ validatedTransaction.extrinsicHash = data.extrinsicHash;
251
+ resolve();
252
+ });
253
+ } else {
254
+ emitter.on('signed', data => {
255
+ validatedTransaction.id = data.id;
256
+ validatedTransaction.extrinsicHash = data.extrinsicHash;
257
+ resolve();
258
+ });
259
+ }
253
260
  emitter.on('error', data => {
254
261
  if (data.errors.length > 0) {
255
262
  validatedTransaction.errors.push(...data.errors);
@@ -315,7 +322,7 @@ class TransactionService {
315
322
  }
316
323
  getTransactionLink(id) {
317
324
  const transaction = this.getTransaction(id);
318
- const chainInfo = this.chainService.getChainInfoByKey(transaction.chain);
325
+ const chainInfo = this.state.chainService.getChainInfoByKey(transaction.chain);
319
326
  return (0, _utils2.getExplorerLink)(chainInfo, transaction.extrinsicHash, 'tx');
320
327
  }
321
328
  transactionToHistories(id, startBlock, nonce, eventLogs) {
@@ -343,7 +350,7 @@ class TransactionService {
343
350
  nonce: nonce !== null && nonce !== void 0 ? nonce : 0,
344
351
  startBlock: startBlock || 0
345
352
  };
346
- const chainInfo = this.chainService.getChainInfoByKey(transaction.chain);
353
+ const chainInfo = this.state.chainService.getChainInfoByKey(transaction.chain);
347
354
  const nativeAsset = (0, _utils._getChainNativeTokenBasicInfo)(chainInfo);
348
355
  const baseNativeAmount = {
349
356
  value: '0',
@@ -357,7 +364,7 @@ class TransactionService {
357
364
  {
358
365
  const inputData = (0, _utils2.parseTransactionData)(transaction.data);
359
366
  historyItem.to = inputData.to;
360
- const sendingTokenInfo = this.chainService.getAssetBySlug(inputData.tokenSlug);
367
+ const sendingTokenInfo = this.state.chainService.getAssetBySlug(inputData.tokenSlug);
361
368
  historyItem.amount = {
362
369
  value: inputData.value || '0',
363
370
  decimals: sendingTokenInfo.decimals || 0,
@@ -370,7 +377,7 @@ class TransactionService {
370
377
  {
371
378
  const inputData = (0, _utils2.parseTransactionData)(transaction.data);
372
379
  historyItem.to = inputData.to;
373
- const sendingTokenInfo = this.chainService.getAssetBySlug(inputData.tokenSlug);
380
+ const sendingTokenInfo = this.state.chainService.getAssetBySlug(inputData.tokenSlug);
374
381
  historyItem.amount = {
375
382
  value: inputData.value || '0',
376
383
  decimals: sendingTokenInfo.decimals || 0,
@@ -383,7 +390,7 @@ class TransactionService {
383
390
  {
384
391
  const inputData = (0, _utils2.parseTransactionData)(transaction.data);
385
392
  historyItem.to = inputData.to;
386
- const sendingTokenInfo = this.chainService.getAssetBySlug(inputData.tokenSlug);
393
+ const sendingTokenInfo = this.state.chainService.getAssetBySlug(inputData.tokenSlug);
387
394
  historyItem.amount = {
388
395
  value: inputData.value || '0',
389
396
  decimals: sendingTokenInfo.decimals || 0,
@@ -432,17 +439,29 @@ class TransactionService {
432
439
  case _KoniTypes.ExtrinsicType.STAKING_UNBOND:
433
440
  {
434
441
  const data = (0, _utils2.parseTransactionData)(transaction.data);
435
- historyItem.to = data.validatorAddress || '';
436
- historyItem.amount = {
437
- ...baseNativeAmount,
438
- value: data.amount || '0'
439
- };
442
+ if (data.isLiquidStaking && data.derivativeTokenInfo && data.exchangeRate && data.inputTokenInfo) {
443
+ historyItem.amount = {
444
+ decimals: (0, _utils._getAssetDecimals)(data.derivativeTokenInfo),
445
+ symbol: (0, _utils._getAssetSymbol)(data.derivativeTokenInfo),
446
+ value: data.amount
447
+ };
448
+ historyItem.additionalInfo = {
449
+ inputTokenSlug: data.inputTokenInfo.slug,
450
+ exchangeRate: data.exchangeRate
451
+ };
452
+ } else {
453
+ historyItem.to = data.validatorAddress || '';
454
+ historyItem.amount = {
455
+ ...baseNativeAmount,
456
+ value: data.amount || '0'
457
+ };
458
+ }
440
459
  }
441
460
  break;
442
461
  case _KoniTypes.ExtrinsicType.STAKING_LEAVE_POOL:
443
462
  {
444
463
  const data = (0, _utils2.parseTransactionData)(transaction.data);
445
- historyItem.to = data.nominatorMetadata.address || '';
464
+ historyItem.to = data.address || '';
446
465
  historyItem.amount = {
447
466
  ...baseNativeAmount,
448
467
  value: data.amount || '0'
@@ -461,11 +480,21 @@ class TransactionService {
461
480
  case _KoniTypes.ExtrinsicType.STAKING_WITHDRAW:
462
481
  {
463
482
  const data = (0, _utils2.parseTransactionData)(transaction.data);
464
- historyItem.to = data.validatorAddress || '';
465
- historyItem.amount = {
483
+ const slug = data.slug;
484
+ const poolHandler = this.state.earningService.getPoolHandler(slug);
485
+ const amount = {
466
486
  ...baseNativeAmount,
467
487
  value: data.unstakingInfo.claimable || '0'
468
488
  };
489
+ if (poolHandler) {
490
+ const asset = this.state.getAssetBySlug(poolHandler.metadataInfo.inputAsset);
491
+ if (asset) {
492
+ amount.decimals = asset.decimals || 0;
493
+ amount.symbol = asset.symbol;
494
+ }
495
+ }
496
+ historyItem.to = data.unstakingInfo.validatorAddress || '';
497
+ historyItem.amount = amount;
469
498
  break;
470
499
  }
471
500
  case _KoniTypes.ExtrinsicType.STAKING_CANCEL_UNSTAKE:
@@ -486,6 +515,102 @@ class TransactionService {
486
515
  historyItem.to = (data === null || data === void 0 ? void 0 : data.to) || '';
487
516
  break;
488
517
  }
518
+ case _KoniTypes.ExtrinsicType.MINT_STDOT:
519
+ case _KoniTypes.ExtrinsicType.MINT_QDOT:
520
+ case _KoniTypes.ExtrinsicType.MINT_LDOT:
521
+ case _KoniTypes.ExtrinsicType.MINT_SDOT:
522
+
523
+ // eslint-disable-next-line no-fallthrough
524
+ case _KoniTypes.ExtrinsicType.MINT_VDOT:
525
+ {
526
+ const params = (0, _utils2.parseTransactionData)(transaction.data);
527
+ const inputTokenInfo = this.state.chainService.getAssetBySlug(params.inputTokenSlug);
528
+ const isFeePaidWithInputAsset = params.feeTokenSlug === params.inputTokenSlug;
529
+ historyItem.amount = {
530
+ value: params.amount,
531
+ symbol: (0, _utils._getAssetSymbol)(inputTokenInfo),
532
+ decimals: (0, _utils._getAssetDecimals)(inputTokenInfo)
533
+ };
534
+ const additionalInfo = {
535
+ slug: params.slug,
536
+ derivativeTokenSlug: params.derivativeTokenSlug,
537
+ exchangeRate: params.exchangeRate
538
+ };
539
+ historyItem.additionalInfo = additionalInfo;
540
+ eventLogs && !(0, _utils._isChainEvmCompatible)(chainInfo) && (0, _eventParser.parseLiquidStakingEvents)(historyItem, eventLogs, inputTokenInfo, chainInfo, isFeePaidWithInputAsset, extrinsicType);
541
+ break;
542
+ }
543
+ case _KoniTypes.ExtrinsicType.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
+ }
489
614
  case _KoniTypes.ExtrinsicType.UNKNOWN:
490
615
  break;
491
616
  }
@@ -533,7 +658,7 @@ class TransactionService {
533
658
  });
534
659
 
535
660
  // Create Input History Transaction History
536
- this.historyService.insertHistories(this.transactionToHistories(id, startBlock, nonce)).catch(console.error);
661
+ this.state.historyService.insertHistories(this.transactionToHistories(id, startBlock, nonce)).catch(console.error);
537
662
  console.debug(`Transaction "${id}" is sent`);
538
663
  }
539
664
  onHasTransactionHash(_ref3) {
@@ -551,8 +676,12 @@ class TransactionService {
551
676
  this.updateTransaction(id, updateData);
552
677
 
553
678
  // In this case transaction id is the same as extrinsic hash and will change after below update
554
- this.historyService.updateHistoryByExtrinsicHash(id, updateData).catch(console.error);
679
+ this.state.historyService.updateHistoryByExtrinsicHash(id, updateData).catch(console.error);
555
680
  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
+ }
556
685
  }
557
686
  handlePostProcessing(id) {
558
687
  // must be done after success/failure to make sure the transaction is finalized
@@ -561,15 +690,15 @@ class TransactionService {
561
690
  const inputData = (0, _utils2.parseTransactionData)(transaction.data);
562
691
  try {
563
692
  const sender = _uiKeyring.default.getPair(inputData.senderAddress);
564
- sender && this.databaseService.handleNftTransfer(transaction.chain, [sender.address, _constants.ALL_ACCOUNT_KEY], inputData.nftItem).then(() => {
565
- this.eventService.emit('transaction.transferNft', undefined);
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);
566
695
  }).catch(console.error);
567
696
  } catch (e) {
568
697
  console.error(e);
569
698
  }
570
699
  try {
571
700
  const recipient = _uiKeyring.default.getPair(inputData.recipientAddress);
572
- recipient && this.databaseService.addNft(recipient.address, {
701
+ recipient && this.state.dbService.addNft(recipient.address, {
573
702
  ...inputData.nftItem,
574
703
  owner: recipient.address
575
704
  }).catch(console.error);
@@ -577,7 +706,7 @@ class TransactionService {
577
706
  console.error(e);
578
707
  }
579
708
  } else if ([_KoniTypes.ExtrinsicType.STAKING_BOND, _KoniTypes.ExtrinsicType.STAKING_UNBOND, _KoniTypes.ExtrinsicType.STAKING_WITHDRAW, _KoniTypes.ExtrinsicType.STAKING_CANCEL_UNSTAKE, _KoniTypes.ExtrinsicType.STAKING_CLAIM_REWARD, _KoniTypes.ExtrinsicType.STAKING_JOIN_POOL, _KoniTypes.ExtrinsicType.STAKING_POOL_WITHDRAW, _KoniTypes.ExtrinsicType.STAKING_LEAVE_POOL].includes(transaction.extrinsicType)) {
580
- this.eventService.emit('transaction.submitStaking', transaction.chain);
709
+ this.state.eventService.emit('transaction.submitStaking', transaction.chain);
581
710
  }
582
711
  }
583
712
  onSuccess(_ref4) {
@@ -594,14 +723,14 @@ class TransactionService {
594
723
  });
595
724
 
596
725
  // Write success transaction history
597
- this.historyService.updateHistoryByExtrinsicHash(transaction.extrinsicHash, {
726
+ this.state.historyService.updateHistoryByExtrinsicHash(transaction.extrinsicHash, {
598
727
  extrinsicHash,
599
728
  status: _KoniTypes.ExtrinsicStatus.SUCCESS,
600
729
  blockNumber: blockNumber || 0,
601
730
  blockHash: blockHash || ''
602
731
  }).catch(console.error);
603
- const info = (0, _util.isHex)(extrinsicHash) ? extrinsicHash : (0, _helpers.getBaseTransactionInfo)(transaction, this.chainService.getChainInfoMap());
604
- this.notificationService.notify({
732
+ const info = (0, _util.isHex)(extrinsicHash) ? extrinsicHash : (0, _helpers.getBaseTransactionInfo)(transaction, this.state.chainService.getChainInfoMap());
733
+ this.state.notificationService.notify({
605
734
  type: _KoniTypes.NotificationType.SUCCESS,
606
735
  title: (0, _i18next.t)('Transaction completed'),
607
736
  message: (0, _i18next.t)('Transaction {{info}} completed', {
@@ -614,7 +743,7 @@ class TransactionService {
614
743
  },
615
744
  notifyViaBrowser: true
616
745
  });
617
- this.eventService.emit('transaction.done', transaction);
746
+ this.state.eventService.emit('transaction.done', transaction);
618
747
  }
619
748
  onFailed(_ref5) {
620
749
  let {
@@ -634,14 +763,14 @@ class TransactionService {
634
763
  });
635
764
 
636
765
  // Write failed transaction history
637
- this.historyService.updateHistoryByExtrinsicHash(transaction.extrinsicHash, {
766
+ this.state.historyService.updateHistoryByExtrinsicHash(transaction.extrinsicHash, {
638
767
  extrinsicHash: extrinsicHash || transaction.extrinsicHash,
639
768
  status: nextStatus,
640
769
  blockNumber: blockNumber || 0,
641
770
  blockHash: blockHash || ''
642
771
  }).catch(console.error);
643
- const info = (0, _util.isHex)(transaction === null || transaction === void 0 ? void 0 : transaction.extrinsicHash) ? transaction === null || transaction === void 0 ? void 0 : transaction.extrinsicHash : (0, _helpers.getBaseTransactionInfo)(transaction, this.chainService.getChainInfoMap());
644
- this.notificationService.notify({
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({
645
774
  type: _KoniTypes.NotificationType.ERROR,
646
775
  title: (0, _i18next.t)('Transaction failed'),
647
776
  message: (0, _i18next.t)('Transaction {{info}} failed', {
@@ -655,11 +784,11 @@ class TransactionService {
655
784
  notifyViaBrowser: true
656
785
  });
657
786
  }
658
- this.eventService.emit('transaction.failed', transaction);
787
+ this.state.eventService.emit('transaction.failed', transaction);
659
788
  }
660
789
  generateHashPayload(chain, transaction) {
661
790
  var _transaction$nonce;
662
- const chainInfo = this.chainService.getChainInfoByKey(chain);
791
+ const chainInfo = this.state.chainService.getChainInfoByKey(chain);
663
792
  const txObject = {
664
793
  nonce: (_transaction$nonce = transaction.nonce) !== null && _transaction$nonce !== void 0 ? _transaction$nonce : 0,
665
794
  gasPrice: (0, _ethereumjsUtil.addHexPrefix)((0, _eth.anyNumberToBN)(transaction.gasPrice).toString(16)),
@@ -681,8 +810,8 @@ class TransactionService {
681
810
  url
682
811
  } = _ref6;
683
812
  const payload = transaction;
684
- const evmApi = this.chainService.getEvmApi(chain);
685
- const chainInfo = this.chainService.getChainInfoByKey(chain);
813
+ const evmApi = this.state.chainService.getEvmApi(chain);
814
+ const chainInfo = this.state.chainService.getChainInfoByKey(chain);
686
815
  const accountPair = _uiKeyring.default.getPair(address);
687
816
  const account = {
688
817
  address,
@@ -712,7 +841,7 @@ class TransactionService {
712
841
 
713
842
  // Set unique nonce to avoid transaction errors
714
843
  if (!payload.nonce) {
715
- const evmApi = this.chainService.getEvmApi(chain);
844
+ const evmApi = this.state.chainService.getEvmApi(chain);
716
845
  payload.nonce = await evmApi.api.eth.getTransactionCount(address);
717
846
  }
718
847
  if (!payload.chainId) {
@@ -747,7 +876,7 @@ class TransactionService {
747
876
  extrinsicHash: id
748
877
  };
749
878
  if (isInjected) {
750
- this.requestService.addConfirmation(id, url || _constants3.EXTENSION_REQUEST_URL, 'evmWatchTransactionRequest', payload, {}).then(async _ref7 => {
879
+ this.state.requestService.addConfirmation(id, url || _constants2.EXTENSION_REQUEST_URL, 'evmWatchTransactionRequest', payload, {}).then(async _ref7 => {
751
880
  let {
752
881
  isApproved,
753
882
  payload
@@ -756,7 +885,7 @@ class TransactionService {
756
885
  if (!payload) {
757
886
  throw new _EvmProviderError.EvmProviderError(_KoniTypes.EvmProviderErrorType.UNAUTHORIZED, 'Bad signature');
758
887
  }
759
- const web3Api = this.chainService.getEvmApi(chain).api;
888
+ const web3Api = this.state.chainService.getEvmApi(chain).api;
760
889
 
761
890
  // Emit signed event
762
891
  emitter.emit('signed', eventData);
@@ -812,7 +941,7 @@ class TransactionService {
812
941
  emitter.emit('error', eventData);
813
942
  });
814
943
  } else {
815
- this.requestService.addConfirmation(id, url || _constants3.EXTENSION_REQUEST_URL, 'evmSendTransactionRequest', payload, {}).then(async _ref8 => {
944
+ this.state.requestService.addConfirmation(id, url || _constants2.EXTENSION_REQUEST_URL, 'evmSendTransactionRequest', payload, {}).then(async _ref8 => {
816
945
  let {
817
946
  isApproved,
818
947
  payload
@@ -822,7 +951,7 @@ class TransactionService {
822
951
  if (!payload) {
823
952
  throw new _EvmProviderError.EvmProviderError(_KoniTypes.EvmProviderErrorType.UNAUTHORIZED, (0, _i18next.t)('Failed to sign'));
824
953
  }
825
- const web3Api = this.chainService.getEvmApi(chain).api;
954
+ const web3Api = this.state.chainService.getEvmApi(chain).api;
826
955
  if (!isExternal) {
827
956
  signedTransaction = payload;
828
957
  } else {
@@ -890,7 +1019,7 @@ class TransactionService {
890
1019
  transaction.signAsync(address, {
891
1020
  signer: {
892
1021
  signPayload: async payload => {
893
- const signing = await this.requestService.signInternalTransaction(id, address, url || _constants3.EXTENSION_REQUEST_URL, payload);
1022
+ const signing = await this.state.requestService.signInternalTransaction(id, address, url || _constants2.EXTENSION_REQUEST_URL, payload);
894
1023
  return {
895
1024
  id: new Date().getTime(),
896
1025
  signature: signing.signature
@@ -902,7 +1031,7 @@ class TransactionService {
902
1031
  emitter.emit('signed', eventData);
903
1032
 
904
1033
  // Send transaction
905
- const api = this.chainService.getSubstrateApi(chain);
1034
+ const api = this.state.chainService.getSubstrateApi(chain);
906
1035
  eventData.nonce = rs.nonce.toNumber();
907
1036
  eventData.startBlock = (await api.api.query.system.number()).toPrimitive();
908
1037
  this.handleTransactionTimeout(emitter, eventData);
@@ -966,7 +1095,7 @@ class TransactionService {
966
1095
  emitter.emit('error', eventData);
967
1096
  clearTimeout(timeout);
968
1097
  }
969
- }, _constants4.TRANSACTION_TIMEOUT);
1098
+ }, _constants3.TRANSACTION_TIMEOUT);
970
1099
  emitter.once('success', () => {
971
1100
  clearTimeout(timeout);
972
1101
  });
@@ -974,6 +1103,33 @@ class TransactionService {
974
1103
  clearTimeout(timeout);
975
1104
  });
976
1105
  }
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
+ }
977
1133
  resetWallet() {
978
1134
  this.transactionSubject.next({});
979
1135
  }
@@ -11,6 +11,7 @@ var _utils = require("@subwallet/extension-base/services/chain-service/utils");
11
11
 
12
12
  // @ts-ignore
13
13
  function parseTransactionData(data) {
14
+ // @ts-ignore
14
15
  // eslint-disable-next-line @typescript-eslint/no-unsafe-return
15
16
  return data;
16
17
  }
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _unlockDot = require("./unlock-dot");
7
+ Object.keys(_unlockDot).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _unlockDot[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _unlockDot[key];
14
+ }
15
+ });
16
+ });
@@ -0,0 +1 @@
1
+ "use strict";
@@ -24,4 +24,48 @@ Object.keys(_buy).forEach(function (key) {
24
24
  return _buy[key];
25
25
  }
26
26
  });
27
+ });
28
+ var _campaigns = require("./campaigns");
29
+ Object.keys(_campaigns).forEach(function (key) {
30
+ if (key === "default" || key === "__esModule") return;
31
+ if (key in exports && exports[key] === _campaigns[key]) return;
32
+ Object.defineProperty(exports, key, {
33
+ enumerable: true,
34
+ get: function () {
35
+ return _campaigns[key];
36
+ }
37
+ });
38
+ });
39
+ var _ordinal = require("./ordinal");
40
+ Object.keys(_ordinal).forEach(function (key) {
41
+ if (key === "default" || key === "__esModule") return;
42
+ if (key in exports && exports[key] === _ordinal[key]) return;
43
+ Object.defineProperty(exports, key, {
44
+ enumerable: true,
45
+ get: function () {
46
+ return _ordinal[key];
47
+ }
48
+ });
49
+ });
50
+ var _transaction = require("./transaction");
51
+ Object.keys(_transaction).forEach(function (key) {
52
+ if (key === "default" || key === "__esModule") return;
53
+ if (key in exports && exports[key] === _transaction[key]) return;
54
+ Object.defineProperty(exports, key, {
55
+ enumerable: true,
56
+ get: function () {
57
+ return _transaction[key];
58
+ }
59
+ });
60
+ });
61
+ var _yield = require("./yield");
62
+ Object.keys(_yield).forEach(function (key) {
63
+ if (key === "default" || key === "__esModule") return;
64
+ if (key in exports && exports[key] === _yield[key]) return;
65
+ Object.defineProperty(exports, key, {
66
+ enumerable: true,
67
+ get: function () {
68
+ return _yield[key];
69
+ }
70
+ });
27
71
  });
@@ -0,0 +1 @@
1
+ "use strict";
@@ -0,0 +1 @@
1
+ "use strict";