@subwallet/extension-base 1.1.33-beta.0 → 1.1.34-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 (312) hide show
  1. package/background/KoniTypes.d.ts +69 -111
  2. package/background/KoniTypes.js +13 -19
  3. package/background/errors/TransactionError.js +0 -9
  4. package/cjs/background/KoniTypes.js +16 -20
  5. package/cjs/background/errors/TransactionError.js +0 -9
  6. package/cjs/constants/index.js +4 -19
  7. package/cjs/koni/api/nft/config.js +23 -33
  8. package/cjs/koni/api/nft/index.js +0 -14
  9. package/cjs/koni/api/nft/nft.js +22 -1
  10. package/cjs/koni/api/staking/bonding/amplitude.js +16 -19
  11. package/cjs/koni/api/staking/bonding/astar.js +10 -11
  12. package/cjs/koni/api/staking/bonding/index.js +1 -4
  13. package/cjs/koni/api/staking/bonding/paraChain.js +23 -25
  14. package/cjs/koni/api/staking/bonding/relayChain.js +45 -48
  15. package/cjs/koni/api/staking/bonding/utils.js +86 -104
  16. package/cjs/koni/api/staking/index.js +5 -6
  17. package/cjs/koni/api/staking/paraChain.js +17 -10
  18. package/cjs/koni/api/staking/relayChain.js +2 -3
  19. package/cjs/koni/background/cron.js +21 -3
  20. package/cjs/koni/background/handlers/Extension.js +69 -368
  21. package/cjs/koni/background/handlers/State.js +12 -18
  22. package/cjs/koni/background/handlers/index.js +2 -4
  23. package/cjs/koni/background/subscription.js +104 -7
  24. package/cjs/packageInfo.js +1 -1
  25. package/cjs/services/balance-service/helpers/subscribe/substrate/index.js +1 -3
  26. package/cjs/services/campaign-service/index.js +6 -9
  27. package/cjs/services/chain-service/constants.js +19 -2
  28. package/cjs/services/chain-service/handler/SubstrateApi.js +10 -5
  29. package/cjs/services/chain-service/index.js +101 -40
  30. package/cjs/services/chain-service/utils.js +69 -7
  31. package/cjs/services/event-service/index.js +0 -5
  32. package/cjs/services/keyring-service/index.js +2 -14
  33. package/cjs/services/migration-service/scripts/MigrateLedgerAccount.js +1 -1
  34. package/cjs/services/migration-service/scripts/MigrateTransactionHistory.js +1 -1
  35. package/cjs/services/migration-service/scripts/index.js +1 -6
  36. package/cjs/services/notification-service/NotificationService.js +1 -1
  37. package/cjs/services/storage-service/DatabaseService.js +0 -63
  38. package/cjs/services/storage-service/databases/index.js +0 -4
  39. package/cjs/services/storage-service/db-stores/NominatorMetadata.js +3 -3
  40. package/cjs/services/subscan-service/index.js +0 -16
  41. package/cjs/services/transaction-service/event-parser/index.js +0 -58
  42. package/cjs/services/transaction-service/helpers/index.js +1 -3
  43. package/cjs/services/transaction-service/index.js +75 -249
  44. package/cjs/services/transaction-service/utils.js +0 -1
  45. package/cjs/types/index.js +0 -44
  46. package/cjs/utils/fetchStaticData.js +1 -2
  47. package/cjs/utils/index.js +1 -89
  48. package/cjs/utils/number.js +2 -6
  49. package/constants/index.d.ts +1 -6
  50. package/constants/index.js +1 -6
  51. package/koni/api/nft/config.js +23 -33
  52. package/koni/api/nft/index.js +1 -15
  53. package/koni/api/nft/nft.js +23 -2
  54. package/koni/api/staking/bonding/amplitude.js +10 -13
  55. package/koni/api/staking/bonding/astar.js +8 -9
  56. package/koni/api/staking/bonding/index.d.ts +1 -1
  57. package/koni/api/staking/bonding/index.js +1 -5
  58. package/koni/api/staking/bonding/paraChain.js +10 -12
  59. package/koni/api/staking/bonding/relayChain.d.ts +2 -2
  60. package/koni/api/staking/bonding/relayChain.js +30 -33
  61. package/koni/api/staking/bonding/utils.d.ts +38 -15
  62. package/koni/api/staking/bonding/utils.js +69 -85
  63. package/koni/api/staking/index.js +1 -2
  64. package/koni/api/staking/paraChain.js +18 -11
  65. package/koni/api/staking/relayChain.js +3 -4
  66. package/koni/background/cron.d.ts +4 -0
  67. package/koni/background/cron.js +22 -4
  68. package/koni/background/handlers/Extension.d.ts +1 -17
  69. package/koni/background/handlers/Extension.js +30 -327
  70. package/koni/background/handlers/State.d.ts +1 -6
  71. package/koni/background/handlers/State.js +12 -17
  72. package/koni/background/handlers/index.js +2 -4
  73. package/koni/background/subscription.d.ts +6 -1
  74. package/koni/background/subscription.js +104 -8
  75. package/package.json +7 -320
  76. package/packageInfo.js +1 -1
  77. package/services/balance-service/helpers/subscribe/substrate/index.js +2 -4
  78. package/services/campaign-service/index.js +6 -9
  79. package/services/chain-service/constants.d.ts +13 -0
  80. package/services/chain-service/constants.js +15 -0
  81. package/services/chain-service/handler/SubstrateApi.js +10 -5
  82. package/services/chain-service/index.d.ts +9 -1
  83. package/services/chain-service/index.js +97 -37
  84. package/services/chain-service/utils.d.ts +10 -2
  85. package/services/chain-service/utils.js +67 -6
  86. package/services/event-service/index.d.ts +0 -2
  87. package/services/event-service/index.js +0 -5
  88. package/services/event-service/types.d.ts +0 -9
  89. package/services/keyring-service/index.d.ts +1 -2
  90. package/services/keyring-service/index.js +2 -14
  91. package/services/migration-service/scripts/MigrateLedgerAccount.js +1 -1
  92. package/services/migration-service/scripts/MigrateTransactionHistory.js +1 -1
  93. package/services/migration-service/scripts/index.js +1 -6
  94. package/services/notification-service/NotificationService.js +1 -1
  95. package/services/storage-service/DatabaseService.d.ts +1 -22
  96. package/services/storage-service/DatabaseService.js +0 -63
  97. package/services/storage-service/databases/index.d.ts +1 -3
  98. package/services/storage-service/databases/index.js +0 -4
  99. package/services/storage-service/db-stores/NominatorMetadata.js +3 -3
  100. package/services/subscan-service/index.d.ts +2 -3
  101. package/services/subscan-service/index.js +0 -15
  102. package/services/subscan-service/types.d.ts +0 -20
  103. package/services/transaction-service/event-parser/index.d.ts +1 -3
  104. package/services/transaction-service/event-parser/index.js +1 -57
  105. package/services/transaction-service/helpers/index.js +1 -3
  106. package/services/transaction-service/index.d.ts +13 -6
  107. package/services/transaction-service/index.js +73 -247
  108. package/services/transaction-service/types.d.ts +0 -2
  109. package/services/transaction-service/utils.js +0 -1
  110. package/types/index.d.ts +0 -5
  111. package/types/index.js +1 -5
  112. package/utils/fetchStaticData.js +1 -2
  113. package/utils/index.d.ts +0 -5
  114. package/utils/index.js +0 -52
  115. package/utils/number.d.ts +1 -2
  116. package/utils/number.js +1 -2
  117. package/cjs/koni/api/dotsama/balance.js +0 -464
  118. package/cjs/koni/api/nft/ordinal_nft/constants.js +0 -21
  119. package/cjs/koni/api/nft/ordinal_nft/index.js +0 -121
  120. package/cjs/koni/api/nft/ordinal_nft/utils.js +0 -41
  121. package/cjs/koni/api/yield/helper/utils.js +0 -46
  122. package/cjs/services/earning-service/constants/chains.js +0 -30
  123. package/cjs/services/earning-service/constants/index.js +0 -27
  124. package/cjs/services/earning-service/constants/step.js +0 -18
  125. package/cjs/services/earning-service/handlers/base.js +0 -262
  126. package/cjs/services/earning-service/handlers/index.js +0 -60
  127. package/cjs/services/earning-service/handlers/lending/base.js +0 -81
  128. package/cjs/services/earning-service/handlers/lending/index.js +0 -13
  129. package/cjs/services/earning-service/handlers/lending/interlay.js +0 -192
  130. package/cjs/services/earning-service/handlers/liquid-staking/acala.js +0 -240
  131. package/cjs/services/earning-service/handlers/liquid-staking/base.js +0 -97
  132. package/cjs/services/earning-service/handlers/liquid-staking/bifrost.js +0 -298
  133. package/cjs/services/earning-service/handlers/liquid-staking/index.js +0 -34
  134. package/cjs/services/earning-service/handlers/liquid-staking/parallel.js +0 -227
  135. package/cjs/services/earning-service/handlers/liquid-staking/stella-swap.js +0 -404
  136. package/cjs/services/earning-service/handlers/native-staking/amplitude.js +0 -434
  137. package/cjs/services/earning-service/handlers/native-staking/astar.js +0 -466
  138. package/cjs/services/earning-service/handlers/native-staking/base-para.js +0 -146
  139. package/cjs/services/earning-service/handlers/native-staking/base.js +0 -161
  140. package/cjs/services/earning-service/handlers/native-staking/index.js +0 -34
  141. package/cjs/services/earning-service/handlers/native-staking/para-chain.js +0 -390
  142. package/cjs/services/earning-service/handlers/native-staking/relay-chain.js +0 -567
  143. package/cjs/services/earning-service/handlers/nomination-pool/index.js +0 -566
  144. package/cjs/services/earning-service/handlers/special.js +0 -493
  145. package/cjs/services/earning-service/service.js +0 -740
  146. package/cjs/services/earning-service/utils/index.js +0 -128
  147. package/cjs/services/migration-service/scripts/DeleteEarningData.js +0 -21
  148. package/cjs/services/migration-service/scripts/EnableEarningChains.js +0 -21
  149. package/cjs/services/migration-service/scripts/MigrateEthProvider.js +0 -17
  150. package/cjs/services/migration-service/scripts/MigratePioneerProvider.js +0 -17
  151. package/cjs/services/migration-service/scripts/MigrateProvider.js +0 -29
  152. package/cjs/services/migration-service/scripts/databases/MigrateEarningHistory.js +0 -21
  153. package/cjs/services/migration-service/scripts/databases/MigrateEarningVersion.js +0 -21
  154. package/cjs/services/mint-campaign-service/campaigns/UnlockDotCampaign.js +0 -149
  155. package/cjs/services/mint-campaign-service/campaigns/index.js +0 -13
  156. package/cjs/services/mint-campaign-service/constants.js +0 -11
  157. package/cjs/services/mint-campaign-service/index.js +0 -18
  158. package/cjs/services/storage-service/db-stores/YieldPoolStore.js +0 -36
  159. package/cjs/services/storage-service/db-stores/YieldPositionStore.js +0 -71
  160. package/cjs/services/storage-service/index.js +0 -241
  161. package/cjs/types/campaigns/index.js +0 -16
  162. package/cjs/types/campaigns/unlock-dot.js +0 -1
  163. package/cjs/types/ordinal.js +0 -1
  164. package/cjs/types/transaction.js +0 -1
  165. package/cjs/types/yield/actions/index.js +0 -27
  166. package/cjs/types/yield/actions/join/index.js +0 -38
  167. package/cjs/types/yield/actions/join/step.js +0 -47
  168. package/cjs/types/yield/actions/join/submit.js +0 -1
  169. package/cjs/types/yield/actions/join/validate.js +0 -16
  170. package/cjs/types/yield/actions/others.js +0 -1
  171. package/cjs/types/yield/index.js +0 -27
  172. package/cjs/types/yield/info/account/index.js +0 -49
  173. package/cjs/types/yield/info/account/info.js +0 -1
  174. package/cjs/types/yield/info/account/reward.js +0 -1
  175. package/cjs/types/yield/info/account/target.js +0 -32
  176. package/cjs/types/yield/info/account/unstake.js +0 -27
  177. package/cjs/types/yield/info/base.js +0 -41
  178. package/cjs/types/yield/info/chain/index.js +0 -27
  179. package/cjs/types/yield/info/chain/info.js +0 -1
  180. package/cjs/types/yield/info/chain/target.js +0 -1
  181. package/cjs/types/yield/info/index.js +0 -49
  182. package/cjs/types/yield/info/pallet.js +0 -15
  183. package/cjs/types.js +0 -1
  184. package/cjs/utils/address.js +0 -34
  185. package/cjs/utils/keyring.js +0 -57
  186. package/cjs/utils/object.js +0 -12
  187. package/koni/api/nft/ordinal_nft/constants.d.ts +0 -9
  188. package/koni/api/nft/ordinal_nft/constants.js +0 -12
  189. package/koni/api/nft/ordinal_nft/index.d.ts +0 -8
  190. package/koni/api/nft/ordinal_nft/index.js +0 -114
  191. package/koni/api/nft/ordinal_nft/utils.d.ts +0 -2
  192. package/koni/api/nft/ordinal_nft/utils.js +0 -33
  193. package/koni/api/yield/helper/utils.d.ts +0 -10
  194. package/koni/api/yield/helper/utils.js +0 -32
  195. package/services/earning-service/constants/abis/compound_finance_v2_abi.json +0 -1235
  196. package/services/earning-service/constants/abis/st_liquid_token_abi.json +0 -1355
  197. package/services/earning-service/constants/chains.d.ts +0 -15
  198. package/services/earning-service/constants/chains.js +0 -22
  199. package/services/earning-service/constants/index.d.ts +0 -2
  200. package/services/earning-service/constants/index.js +0 -5
  201. package/services/earning-service/constants/step.d.ts +0 -3
  202. package/services/earning-service/constants/step.js +0 -10
  203. package/services/earning-service/handlers/base.d.ts +0 -113
  204. package/services/earning-service/handlers/base.js +0 -256
  205. package/services/earning-service/handlers/index.d.ts +0 -5
  206. package/services/earning-service/handlers/index.js +0 -8
  207. package/services/earning-service/handlers/lending/base.d.ts +0 -8
  208. package/services/earning-service/handlers/lending/base.js +0 -73
  209. package/services/earning-service/handlers/lending/index.d.ts +0 -1
  210. package/services/earning-service/handlers/lending/index.js +0 -4
  211. package/services/earning-service/handlers/lending/interlay.d.ts +0 -24
  212. package/services/earning-service/handlers/lending/interlay.js +0 -184
  213. package/services/earning-service/handlers/liquid-staking/acala.d.ts +0 -27
  214. package/services/earning-service/handlers/liquid-staking/acala.js +0 -232
  215. package/services/earning-service/handlers/liquid-staking/base.d.ts +0 -11
  216. package/services/earning-service/handlers/liquid-staking/base.js +0 -89
  217. package/services/earning-service/handlers/liquid-staking/bifrost.d.ts +0 -46
  218. package/services/earning-service/handlers/liquid-staking/bifrost.js +0 -287
  219. package/services/earning-service/handlers/liquid-staking/index.d.ts +0 -4
  220. package/services/earning-service/handlers/liquid-staking/index.js +0 -7
  221. package/services/earning-service/handlers/liquid-staking/parallel.d.ts +0 -26
  222. package/services/earning-service/handlers/liquid-staking/parallel.js +0 -219
  223. package/services/earning-service/handlers/liquid-staking/stella-swap.d.ts +0 -34
  224. package/services/earning-service/handlers/liquid-staking/stella-swap.js +0 -394
  225. package/services/earning-service/handlers/native-staking/amplitude.d.ts +0 -22
  226. package/services/earning-service/handlers/native-staking/amplitude.js +0 -425
  227. package/services/earning-service/handlers/native-staking/astar.d.ts +0 -19
  228. package/services/earning-service/handlers/native-staking/astar.js +0 -456
  229. package/services/earning-service/handlers/native-staking/base-para.d.ts +0 -11
  230. package/services/earning-service/handlers/native-staking/base-para.js +0 -138
  231. package/services/earning-service/handlers/native-staking/base.d.ts +0 -21
  232. package/services/earning-service/handlers/native-staking/base.js +0 -152
  233. package/services/earning-service/handlers/native-staking/index.d.ts +0 -4
  234. package/services/earning-service/handlers/native-staking/index.js +0 -7
  235. package/services/earning-service/handlers/native-staking/para-chain.d.ts +0 -15
  236. package/services/earning-service/handlers/native-staking/para-chain.js +0 -382
  237. package/services/earning-service/handlers/native-staking/relay-chain.d.ts +0 -21
  238. package/services/earning-service/handlers/native-staking/relay-chain.js +0 -558
  239. package/services/earning-service/handlers/nomination-pool/index.d.ts +0 -36
  240. package/services/earning-service/handlers/nomination-pool/index.js +0 -556
  241. package/services/earning-service/handlers/special.d.ts +0 -64
  242. package/services/earning-service/handlers/special.js +0 -485
  243. package/services/earning-service/service.d.ts +0 -94
  244. package/services/earning-service/service.js +0 -729
  245. package/services/earning-service/utils/index.d.ts +0 -18
  246. package/services/earning-service/utils/index.js +0 -112
  247. package/services/migration-service/scripts/DeleteEarningData.d.ts +0 -4
  248. package/services/migration-service/scripts/DeleteEarningData.js +0 -13
  249. package/services/migration-service/scripts/EnableEarningChains.d.ts +0 -4
  250. package/services/migration-service/scripts/EnableEarningChains.js +0 -13
  251. package/services/migration-service/scripts/databases/MigrateEarningHistory.d.ts +0 -4
  252. package/services/migration-service/scripts/databases/MigrateEarningHistory.js +0 -13
  253. package/services/migration-service/scripts/databases/MigrateEarningVersion.d.ts +0 -4
  254. package/services/migration-service/scripts/databases/MigrateEarningVersion.js +0 -13
  255. package/services/mint-campaign-service/campaigns/UnlockDotCampaign.d.ts +0 -13
  256. package/services/mint-campaign-service/campaigns/UnlockDotCampaign.js +0 -139
  257. package/services/mint-campaign-service/campaigns/index.d.ts +0 -1
  258. package/services/mint-campaign-service/campaigns/index.js +0 -4
  259. package/services/mint-campaign-service/constants.d.ts +0 -1
  260. package/services/mint-campaign-service/constants.js +0 -4
  261. package/services/mint-campaign-service/index.d.ts +0 -7
  262. package/services/mint-campaign-service/index.js +0 -11
  263. package/services/storage-service/db-stores/YieldPoolStore.d.ts +0 -10
  264. package/services/storage-service/db-stores/YieldPoolStore.js +0 -28
  265. package/services/storage-service/db-stores/YieldPositionStore.d.ts +0 -11
  266. package/services/storage-service/db-stores/YieldPositionStore.js +0 -63
  267. package/types/campaigns/index.d.ts +0 -1
  268. package/types/campaigns/index.js +0 -4
  269. package/types/campaigns/unlock-dot.d.ts +0 -71
  270. package/types/campaigns/unlock-dot.js +0 -1
  271. package/types/ordinal.d.ts +0 -69
  272. package/types/ordinal.js +0 -1
  273. package/types/transaction.d.ts +0 -3
  274. package/types/transaction.js +0 -1
  275. package/types/yield/actions/index.d.ts +0 -2
  276. package/types/yield/actions/index.js +0 -5
  277. package/types/yield/actions/join/index.d.ts +0 -3
  278. package/types/yield/actions/join/index.js +0 -6
  279. package/types/yield/actions/join/step.d.ts +0 -95
  280. package/types/yield/actions/join/step.js +0 -46
  281. package/types/yield/actions/join/submit.d.ts +0 -58
  282. package/types/yield/actions/join/submit.js +0 -1
  283. package/types/yield/actions/join/validate.d.ts +0 -18
  284. package/types/yield/actions/join/validate.js +0 -10
  285. package/types/yield/actions/others.d.ts +0 -85
  286. package/types/yield/actions/others.js +0 -1
  287. package/types/yield/index.d.ts +0 -2
  288. package/types/yield/index.js +0 -5
  289. package/types/yield/info/account/index.d.ts +0 -4
  290. package/types/yield/info/account/index.js +0 -7
  291. package/types/yield/info/account/info.d.ts +0 -92
  292. package/types/yield/info/account/info.js +0 -1
  293. package/types/yield/info/account/reward.d.ts +0 -47
  294. package/types/yield/info/account/reward.js +0 -1
  295. package/types/yield/info/account/target.d.ts +0 -43
  296. package/types/yield/info/account/target.js +0 -27
  297. package/types/yield/info/account/unstake.d.ts +0 -31
  298. package/types/yield/info/account/unstake.js +0 -22
  299. package/types/yield/info/base.d.ts +0 -45
  300. package/types/yield/info/base.js +0 -36
  301. package/types/yield/info/chain/index.d.ts +0 -2
  302. package/types/yield/info/chain/index.js +0 -5
  303. package/types/yield/info/chain/info.d.ts +0 -252
  304. package/types/yield/info/chain/info.js +0 -1
  305. package/types/yield/info/chain/target.d.ts +0 -37
  306. package/types/yield/info/chain/target.js +0 -1
  307. package/types/yield/info/index.d.ts +0 -4
  308. package/types/yield/info/index.js +0 -7
  309. package/types/yield/info/pallet.d.ts +0 -143
  310. package/types/yield/info/pallet.js +0 -9
  311. package/utils/object.d.ts +0 -1
  312. package/utils/object.js +0 -6
@@ -6,14 +6,14 @@ import { TransactionError } from '@subwallet/extension-base/background/errors/Tr
6
6
  import { BasicTxErrorType, BasicTxWarningCode, ChainType, EvmProviderErrorType, ExtrinsicStatus, ExtrinsicType, NotificationType, TransactionDirection } from '@subwallet/extension-base/background/KoniTypes';
7
7
  import { TransactionWarning } from '@subwallet/extension-base/background/warnings/TransactionWarning';
8
8
  import { ALL_ACCOUNT_KEY } from '@subwallet/extension-base/constants';
9
- import { _getAssetDecimals, _getAssetSymbol, _getChainNativeTokenBasicInfo, _getEvmChainId, _isChainEvmCompatible } from '@subwallet/extension-base/services/chain-service/utils';
9
+ import { _TRANSFER_CHAIN_GROUP } from '@subwallet/extension-base/services/chain-service/constants';
10
+ import { _getChainNativeTokenBasicInfo, _getEvmChainId } from '@subwallet/extension-base/services/chain-service/utils';
10
11
  import { EXTENSION_REQUEST_URL } from '@subwallet/extension-base/services/request-service/constants';
11
12
  import { TRANSACTION_TIMEOUT } from '@subwallet/extension-base/services/transaction-service/constants';
12
- import { parseLiquidStakingEvents, parseLiquidStakingFastUnstakeEvents, parseTransferEventLogs, parseXcmEventLogs } from '@subwallet/extension-base/services/transaction-service/event-parser';
13
+ import { parseTransferEventLogs, parseXcmEventLogs } from '@subwallet/extension-base/services/transaction-service/event-parser';
13
14
  import { getBaseTransactionInfo, getTransactionId, isSubstrateTransaction } from '@subwallet/extension-base/services/transaction-service/helpers';
14
15
  import { getExplorerLink, parseTransactionData } from '@subwallet/extension-base/services/transaction-service/utils';
15
16
  import { isWalletConnectRequest } from '@subwallet/extension-base/services/wallet-connect-service/helpers';
16
- import { YieldPoolType } from '@subwallet/extension-base/types';
17
17
  import { reformatAddress } from '@subwallet/extension-base/utils';
18
18
  import { anyNumberToBN, recalculateGasPrice } from '@subwallet/extension-base/utils/eth';
19
19
  import { mergeTransactionAndSignature } from '@subwallet/extension-base/utils/eth/mergeTransactionAndSignature';
@@ -26,19 +26,20 @@ import EventEmitter from 'eventemitter3';
26
26
  import { t } from 'i18next';
27
27
  import { BehaviorSubject } from 'rxjs';
28
28
  import { isHex } from '@polkadot/util';
29
- import { _TRANSFER_CHAIN_GROUP } from "../chain-service/constants.js";
30
29
  export default class TransactionService {
31
30
  transactionSubject = new BehaviorSubject({});
32
31
  watchTransactionSubscribes = {};
33
32
  get transactions() {
34
33
  return this.transactionSubject.getValue();
35
34
  }
36
- constructor(state) {
37
- this.state = state;
38
- this.eventService = state.eventService;
39
- this.historyService = state.historyService;
40
- this.notificationService = state.notificationService;
41
- this.chainService = state.chainService;
35
+ constructor(chainService, eventService, requestService, balanceService, historyService, notificationService, databaseService) {
36
+ this.chainService = chainService;
37
+ this.eventService = eventService;
38
+ this.requestService = requestService;
39
+ this.balanceService = balanceService;
40
+ this.historyService = historyService;
41
+ this.notificationService = notificationService;
42
+ this.databaseService = databaseService;
42
43
  }
43
44
  get allTransactions() {
44
45
  return Object.values(this.transactions);
@@ -95,7 +96,7 @@ export default class TransactionService {
95
96
  decimals: 0,
96
97
  value: ''
97
98
  };
98
- const chainInfo = this.state.chainService.getChainInfoByKey(chain);
99
+ const chainInfo = this.chainService.getChainInfoByKey(chain);
99
100
  if (!chainInfo) {
100
101
  validationResponse.errors.push(new TransactionError(BasicTxErrorType.INTERNAL_ERROR, t('Cannot find network')));
101
102
  } else {
@@ -110,7 +111,7 @@ export default class TransactionService {
110
111
  if (isSubstrateTransaction(transaction)) {
111
112
  estimateFee.value = (await transaction.paymentInfo(address)).partialFee.toString();
112
113
  } else {
113
- const web3 = this.state.chainService.getEvmApi(chain);
114
+ const web3 = this.chainService.getEvmApi(chain);
114
115
  if (!web3) {
115
116
  validationResponse.errors.push(new TransactionError(BasicTxErrorType.CHAIN_DISCONNECTED, undefined));
116
117
  } else {
@@ -144,35 +145,32 @@ export default class TransactionService {
144
145
 
145
146
  // Balance
146
147
  const transferNative = validationResponse.transferNativeAmount || '0';
147
- const nativeTokenInfo = this.state.chainService.getNativeTokenInfo(chain);
148
- const balance = await this.state.balanceService.getTokenFreeBalance(address, chain, nativeTokenInfo.slug);
148
+ const nativeTokenInfo = this.chainService.getNativeTokenInfo(chain);
149
+ const balance = await this.balanceService.getTokenFreeBalance(address, chain, nativeTokenInfo.slug);
149
150
  const existentialDeposit = nativeTokenInfo.minAmount || '0';
150
151
  const feeNum = parseInt(estimateFee.value);
151
152
  const balanceNum = parseInt(balance.value);
152
153
  const edNum = parseInt(existentialDeposit);
153
154
  const transferNativeNum = parseInt(transferNative);
154
- if (!validationInput.skipFeeValidation) {
155
- // TODO
156
- if (!new BigN(balance.value).gt(0)) {
155
+ if (!new BigN(balance.value).gt(0)) {
156
+ validationResponse.errors.push(new TransactionError(BasicTxErrorType.NOT_ENOUGH_BALANCE));
157
+ }
158
+ if (transferNativeNum + feeNum > balanceNum) {
159
+ if (!isTransferAll) {
157
160
  validationResponse.errors.push(new TransactionError(BasicTxErrorType.NOT_ENOUGH_BALANCE));
158
- }
159
- if (transferNativeNum + feeNum > balanceNum) {
160
- if (!isTransferAll) {
161
+ } else {
162
+ if ([..._TRANSFER_CHAIN_GROUP.acala, ..._TRANSFER_CHAIN_GROUP.genshiro, ..._TRANSFER_CHAIN_GROUP.bitcountry, ..._TRANSFER_CHAIN_GROUP.statemine].includes(chain)) {
163
+ // Chain not have transfer all function
161
164
  validationResponse.errors.push(new TransactionError(BasicTxErrorType.NOT_ENOUGH_BALANCE));
162
- } else {
163
- if ([..._TRANSFER_CHAIN_GROUP.acala, ..._TRANSFER_CHAIN_GROUP.genshiro, ..._TRANSFER_CHAIN_GROUP.bitcountry, ..._TRANSFER_CHAIN_GROUP.statemine].includes(chain)) {
164
- // Chain not have transfer all function
165
- validationResponse.errors.push(new TransactionError(BasicTxErrorType.NOT_ENOUGH_BALANCE));
166
- }
167
165
  }
168
166
  }
169
- if (!isTransferAll) {
170
- if (balanceNum - (transferNativeNum + feeNum) < edNum) {
171
- if (edAsWarning) {
172
- validationResponse.warnings.push(new TransactionWarning(BasicTxWarningCode.NOT_ENOUGH_EXISTENTIAL_DEPOSIT));
173
- } else {
174
- validationResponse.errors.push(new TransactionError(BasicTxErrorType.NOT_ENOUGH_EXISTENTIAL_DEPOSIT));
175
- }
167
+ }
168
+ if (!isTransferAll) {
169
+ if (balanceNum - (transferNativeNum + feeNum) < edNum) {
170
+ if (edAsWarning) {
171
+ validationResponse.warnings.push(new TransactionWarning(BasicTxWarningCode.NOT_ENOUGH_EXISTENTIAL_DEPOSIT));
172
+ } else {
173
+ validationResponse.errors.push(new TransactionError(BasicTxErrorType.NOT_ENOUGH_EXISTENTIAL_DEPOSIT));
176
174
  }
177
175
  }
178
176
  }
@@ -239,21 +237,12 @@ export default class TransactionService {
239
237
  }
240
238
  validatedTransaction.warnings = [];
241
239
  const emitter = await this.addTransaction(validatedTransaction);
242
- await new Promise((resolve, reject) => {
243
- // TODO
244
- if (transaction.resolveOnDone) {
245
- emitter.on('success', data => {
246
- validatedTransaction.id = data.id;
247
- validatedTransaction.extrinsicHash = data.extrinsicHash;
248
- resolve();
249
- });
250
- } else {
251
- emitter.on('signed', data => {
252
- validatedTransaction.id = data.id;
253
- validatedTransaction.extrinsicHash = data.extrinsicHash;
254
- resolve();
255
- });
256
- }
240
+ await new Promise(resolve => {
241
+ emitter.on('signed', data => {
242
+ validatedTransaction.id = data.id;
243
+ validatedTransaction.extrinsicHash = data.extrinsicHash;
244
+ resolve();
245
+ });
257
246
  emitter.on('error', data => {
258
247
  if (data.errors.length > 0) {
259
248
  validatedTransaction.errors.push(...data.errors);
@@ -325,7 +314,7 @@ export default class TransactionService {
325
314
  }
326
315
  getTransactionLink(id) {
327
316
  const transaction = this.getTransaction(id);
328
- const chainInfo = this.state.chainService.getChainInfoByKey(transaction.chain);
317
+ const chainInfo = this.chainService.getChainInfoByKey(transaction.chain);
329
318
  return getExplorerLink(chainInfo, transaction.extrinsicHash, 'tx');
330
319
  }
331
320
  transactionToHistories(id, startBlock, nonce, eventLogs) {
@@ -353,7 +342,7 @@ export default class TransactionService {
353
342
  nonce: nonce !== null && nonce !== void 0 ? nonce : 0,
354
343
  startBlock: startBlock || 0
355
344
  };
356
- const chainInfo = this.state.chainService.getChainInfoByKey(transaction.chain);
345
+ const chainInfo = this.chainService.getChainInfoByKey(transaction.chain);
357
346
  const nativeAsset = _getChainNativeTokenBasicInfo(chainInfo);
358
347
  const baseNativeAmount = {
359
348
  value: '0',
@@ -367,7 +356,7 @@ export default class TransactionService {
367
356
  {
368
357
  const inputData = parseTransactionData(transaction.data);
369
358
  historyItem.to = inputData.to;
370
- const sendingTokenInfo = this.state.chainService.getAssetBySlug(inputData.tokenSlug);
359
+ const sendingTokenInfo = this.chainService.getAssetBySlug(inputData.tokenSlug);
371
360
  historyItem.amount = {
372
361
  value: inputData.value || '0',
373
362
  decimals: sendingTokenInfo.decimals || 0,
@@ -380,7 +369,7 @@ export default class TransactionService {
380
369
  {
381
370
  const inputData = parseTransactionData(transaction.data);
382
371
  historyItem.to = inputData.to;
383
- const sendingTokenInfo = this.state.chainService.getAssetBySlug(inputData.tokenSlug);
372
+ const sendingTokenInfo = this.chainService.getAssetBySlug(inputData.tokenSlug);
384
373
  historyItem.amount = {
385
374
  value: inputData.value || '0',
386
375
  decimals: sendingTokenInfo.decimals || 0,
@@ -393,7 +382,7 @@ export default class TransactionService {
393
382
  {
394
383
  const inputData = parseTransactionData(transaction.data);
395
384
  historyItem.to = inputData.to;
396
- const sendingTokenInfo = this.state.chainService.getAssetBySlug(inputData.tokenSlug);
385
+ const sendingTokenInfo = this.chainService.getAssetBySlug(inputData.tokenSlug);
397
386
  historyItem.amount = {
398
387
  value: inputData.value || '0',
399
388
  decimals: sendingTokenInfo.decimals || 0,
@@ -442,29 +431,17 @@ export default class TransactionService {
442
431
  case ExtrinsicType.STAKING_UNBOND:
443
432
  {
444
433
  const data = parseTransactionData(transaction.data);
445
- if (data.isLiquidStaking && data.derivativeTokenInfo && data.exchangeRate && data.inputTokenInfo) {
446
- historyItem.amount = {
447
- decimals: _getAssetDecimals(data.derivativeTokenInfo),
448
- symbol: _getAssetSymbol(data.derivativeTokenInfo),
449
- value: data.amount
450
- };
451
- historyItem.additionalInfo = {
452
- inputTokenSlug: data.inputTokenInfo.slug,
453
- exchangeRate: data.exchangeRate
454
- };
455
- } else {
456
- historyItem.to = data.validatorAddress || '';
457
- historyItem.amount = {
458
- ...baseNativeAmount,
459
- value: data.amount || '0'
460
- };
461
- }
434
+ historyItem.to = data.validatorAddress || '';
435
+ historyItem.amount = {
436
+ ...baseNativeAmount,
437
+ value: data.amount || '0'
438
+ };
462
439
  }
463
440
  break;
464
441
  case ExtrinsicType.STAKING_LEAVE_POOL:
465
442
  {
466
443
  const data = parseTransactionData(transaction.data);
467
- historyItem.to = data.address || '';
444
+ historyItem.to = data.nominatorMetadata.address || '';
468
445
  historyItem.amount = {
469
446
  ...baseNativeAmount,
470
447
  value: data.amount || '0'
@@ -483,21 +460,11 @@ export default class TransactionService {
483
460
  case ExtrinsicType.STAKING_WITHDRAW:
484
461
  {
485
462
  const data = parseTransactionData(transaction.data);
486
- const slug = data.slug;
487
- const poolHandler = this.state.earningService.getPoolHandler(slug);
488
- const amount = {
463
+ historyItem.to = data.validatorAddress || '';
464
+ historyItem.amount = {
489
465
  ...baseNativeAmount,
490
466
  value: data.unstakingInfo.claimable || '0'
491
467
  };
492
- if (poolHandler) {
493
- const asset = this.state.getAssetBySlug(poolHandler.metadataInfo.inputAsset);
494
- if (asset) {
495
- amount.decimals = asset.decimals || 0;
496
- amount.symbol = asset.symbol;
497
- }
498
- }
499
- historyItem.to = data.unstakingInfo.validatorAddress || '';
500
- historyItem.amount = amount;
501
468
  break;
502
469
  }
503
470
  case ExtrinsicType.STAKING_CANCEL_UNSTAKE:
@@ -518,116 +485,6 @@ export default class TransactionService {
518
485
  historyItem.to = (data === null || data === void 0 ? void 0 : data.to) || '';
519
486
  break;
520
487
  }
521
- case ExtrinsicType.MINT_STDOT:
522
- case ExtrinsicType.MINT_QDOT:
523
- case ExtrinsicType.MINT_LDOT:
524
- case ExtrinsicType.MINT_SDOT:
525
-
526
- // eslint-disable-next-line no-fallthrough
527
- case ExtrinsicType.MINT_VDOT:
528
- {
529
- const params = parseTransactionData(transaction.data);
530
- const inputTokenInfo = this.state.chainService.getAssetBySlug(params.inputTokenSlug);
531
- const isFeePaidWithInputAsset = params.feeTokenSlug === params.inputTokenSlug;
532
- historyItem.amount = {
533
- value: params.amount,
534
- symbol: _getAssetSymbol(inputTokenInfo),
535
- decimals: _getAssetDecimals(inputTokenInfo)
536
- };
537
- const additionalInfo = {
538
- slug: params.slug,
539
- derivativeTokenSlug: params.derivativeTokenSlug,
540
- exchangeRate: params.exchangeRate
541
- };
542
- historyItem.additionalInfo = additionalInfo;
543
- eventLogs && !_isChainEvmCompatible(chainInfo) && parseLiquidStakingEvents(historyItem, eventLogs, inputTokenInfo, chainInfo, isFeePaidWithInputAsset, extrinsicType);
544
- break;
545
- }
546
- case ExtrinsicType.UNSTAKE_QDOT:
547
-
548
- // eslint-disable-next-line no-fallthrough
549
- case ExtrinsicType.REDEEM_QDOT:
550
- {
551
- const data = parseTransactionData(transaction.data);
552
- const yieldPoolInfo = data.poolInfo;
553
- if (yieldPoolInfo.metadata.derivativeAssets) {
554
- const inputTokenSlug = yieldPoolInfo.metadata.inputAsset;
555
- const inputTokenInfo = this.state.chainService.getAssetBySlug(inputTokenSlug);
556
- historyItem.amount = {
557
- value: data.amount,
558
- symbol: _getAssetSymbol(inputTokenInfo),
559
- decimals: _getAssetDecimals(inputTokenInfo)
560
- };
561
- eventLogs && parseLiquidStakingFastUnstakeEvents(historyItem, eventLogs, chainInfo, extrinsicType);
562
- const additionalInfo = {
563
- minAmountPercent: 1,
564
- symbol: inputTokenInfo.symbol,
565
- decimals: inputTokenInfo.decimals || 0,
566
- exchangeRate: 1,
567
- slug: yieldPoolInfo.slug,
568
- type: yieldPoolInfo.type,
569
- chain: yieldPoolInfo.chain,
570
- group: yieldPoolInfo.group,
571
- isFast: data.fastLeave
572
- };
573
- historyItem.additionalInfo = additionalInfo;
574
- }
575
- break;
576
- }
577
- case ExtrinsicType.UNSTAKE_VDOT:
578
- case ExtrinsicType.UNSTAKE_LDOT:
579
- case ExtrinsicType.UNSTAKE_SDOT:
580
- case ExtrinsicType.UNSTAKE_STDOT:
581
- case ExtrinsicType.REDEEM_STDOT:
582
- case ExtrinsicType.REDEEM_LDOT:
583
- case ExtrinsicType.REDEEM_SDOT:
584
-
585
- // eslint-disable-next-line no-fallthrough
586
- case ExtrinsicType.REDEEM_VDOT:
587
- {
588
- const data = parseTransactionData(transaction.data);
589
- const yieldPoolInfo = data.poolInfo;
590
- const minAmountPercents = this.state.earningService.getMinAmountPercent();
591
- if (yieldPoolInfo.metadata.derivativeAssets) {
592
- var _yieldPoolInfo$statis;
593
- const derivativeTokenSlug = yieldPoolInfo.metadata.derivativeAssets[0];
594
- const derivativeTokenInfo = this.state.chainService.getAssetBySlug(derivativeTokenSlug);
595
- const chainInfo = this.state.chainService.getChainInfoByKey(data.poolInfo.chain);
596
- historyItem.amount = {
597
- value: data.amount,
598
- symbol: _getAssetSymbol(derivativeTokenInfo),
599
- decimals: _getAssetDecimals(derivativeTokenInfo)
600
- };
601
- eventLogs && !_isChainEvmCompatible(chainInfo) && parseLiquidStakingFastUnstakeEvents(historyItem, eventLogs, chainInfo, extrinsicType);
602
- const minAmountPercent = minAmountPercents[yieldPoolInfo.slug] || 1;
603
- const inputTokenSlug = yieldPoolInfo.metadata.inputAsset;
604
- const inputTokenInfo = this.state.chainService.getAssetBySlug(inputTokenSlug);
605
- const additionalInfo = {
606
- minAmountPercent,
607
- symbol: inputTokenInfo.symbol,
608
- decimals: inputTokenInfo.decimals || 0,
609
- exchangeRate: ((_yieldPoolInfo$statis = yieldPoolInfo.statistic) === null || _yieldPoolInfo$statis === void 0 ? void 0 : _yieldPoolInfo$statis.assetEarning[0].exchangeRate) || 1,
610
- slug: yieldPoolInfo.slug,
611
- type: yieldPoolInfo.type,
612
- chain: yieldPoolInfo.chain,
613
- group: yieldPoolInfo.group,
614
- isFast: data.fastLeave
615
- };
616
- historyItem.additionalInfo = additionalInfo;
617
- }
618
- break;
619
- }
620
- case ExtrinsicType.TOKEN_APPROVE:
621
- {
622
- const data = parseTransactionData(transaction.data);
623
- const inputAsset = this.state.chainService.getAssetBySlug(data.inputTokenSlug);
624
- historyItem.amount = {
625
- value: '0',
626
- symbol: _getAssetSymbol(inputAsset),
627
- decimals: _getAssetDecimals(inputAsset)
628
- };
629
- break;
630
- }
631
488
  case ExtrinsicType.UNKNOWN:
632
489
  break;
633
490
  }
@@ -673,7 +530,7 @@ export default class TransactionService {
673
530
  });
674
531
 
675
532
  // Create Input History Transaction History
676
- this.state.historyService.insertHistories(this.transactionToHistories(id, startBlock, nonce)).catch(console.error);
533
+ this.historyService.insertHistories(this.transactionToHistories(id, startBlock, nonce)).catch(console.error);
677
534
  console.debug(`Transaction "${id}" is sent`);
678
535
  }
679
536
  onHasTransactionHash({
@@ -690,12 +547,8 @@ export default class TransactionService {
690
547
  this.updateTransaction(id, updateData);
691
548
 
692
549
  // In this case transaction id is the same as extrinsic hash and will change after below update
693
- this.state.historyService.updateHistoryByExtrinsicHash(id, updateData).catch(console.error);
550
+ this.historyService.updateHistoryByExtrinsicHash(id, updateData).catch(console.error);
694
551
  console.debug(`Transaction "${id}" is submitted with hash ${extrinsicHash || ''}`);
695
- const transaction = this.getTransaction(id);
696
- if ([ExtrinsicType.STAKING_JOIN_POOL, ExtrinsicType.JOIN_YIELD_POOL, ExtrinsicType.MINT_LDOT, ExtrinsicType.MINT_QDOT, ExtrinsicType.MINT_SDOT, ExtrinsicType.MINT_VDOT].includes(transaction.extrinsicType)) {
697
- this.handlePostEarningTransaction(id);
698
- }
699
552
  }
700
553
  handlePostProcessing(id) {
701
554
  // must be done after success/failure to make sure the transaction is finalized
@@ -704,15 +557,15 @@ export default class TransactionService {
704
557
  const inputData = parseTransactionData(transaction.data);
705
558
  try {
706
559
  const sender = keyring.getPair(inputData.senderAddress);
707
- sender && this.state.dbService.handleNftTransfer(transaction.chain, [sender.address, ALL_ACCOUNT_KEY], inputData.nftItem).then(() => {
708
- this.state.eventService.emit('transaction.transferNft', undefined);
560
+ sender && this.databaseService.handleNftTransfer(transaction.chain, [sender.address, ALL_ACCOUNT_KEY], inputData.nftItem).then(() => {
561
+ this.eventService.emit('transaction.transferNft', undefined);
709
562
  }).catch(console.error);
710
563
  } catch (e) {
711
564
  console.error(e);
712
565
  }
713
566
  try {
714
567
  const recipient = keyring.getPair(inputData.recipientAddress);
715
- recipient && this.state.dbService.addNft(recipient.address, {
568
+ recipient && this.databaseService.addNft(recipient.address, {
716
569
  ...inputData.nftItem,
717
570
  owner: recipient.address
718
571
  }).catch(console.error);
@@ -720,7 +573,7 @@ export default class TransactionService {
720
573
  console.error(e);
721
574
  }
722
575
  } else if ([ExtrinsicType.STAKING_BOND, ExtrinsicType.STAKING_UNBOND, ExtrinsicType.STAKING_WITHDRAW, ExtrinsicType.STAKING_CANCEL_UNSTAKE, ExtrinsicType.STAKING_CLAIM_REWARD, ExtrinsicType.STAKING_JOIN_POOL, ExtrinsicType.STAKING_POOL_WITHDRAW, ExtrinsicType.STAKING_LEAVE_POOL].includes(transaction.extrinsicType)) {
723
- this.state.eventService.emit('transaction.submitStaking', transaction.chain);
576
+ this.eventService.emit('transaction.submitStaking', transaction.chain);
724
577
  }
725
578
  }
726
579
  onSuccess({
@@ -736,14 +589,14 @@ export default class TransactionService {
736
589
  });
737
590
 
738
591
  // Write success transaction history
739
- this.state.historyService.updateHistoryByExtrinsicHash(transaction.extrinsicHash, {
592
+ this.historyService.updateHistoryByExtrinsicHash(transaction.extrinsicHash, {
740
593
  extrinsicHash,
741
594
  status: ExtrinsicStatus.SUCCESS,
742
595
  blockNumber: blockNumber || 0,
743
596
  blockHash: blockHash || ''
744
597
  }).catch(console.error);
745
- const info = isHex(extrinsicHash) ? extrinsicHash : getBaseTransactionInfo(transaction, this.state.chainService.getChainInfoMap());
746
- this.state.notificationService.notify({
598
+ const info = isHex(extrinsicHash) ? extrinsicHash : getBaseTransactionInfo(transaction, this.chainService.getChainInfoMap());
599
+ this.notificationService.notify({
747
600
  type: NotificationType.SUCCESS,
748
601
  title: t('Transaction completed'),
749
602
  message: t('Transaction {{info}} completed', {
@@ -756,7 +609,7 @@ export default class TransactionService {
756
609
  },
757
610
  notifyViaBrowser: true
758
611
  });
759
- this.state.eventService.emit('transaction.done', transaction);
612
+ this.eventService.emit('transaction.done', transaction);
760
613
  }
761
614
  onFailed({
762
615
  blockHash,
@@ -775,14 +628,14 @@ export default class TransactionService {
775
628
  });
776
629
 
777
630
  // Write failed transaction history
778
- this.state.historyService.updateHistoryByExtrinsicHash(transaction.extrinsicHash, {
631
+ this.historyService.updateHistoryByExtrinsicHash(transaction.extrinsicHash, {
779
632
  extrinsicHash: extrinsicHash || transaction.extrinsicHash,
780
633
  status: nextStatus,
781
634
  blockNumber: blockNumber || 0,
782
635
  blockHash: blockHash || ''
783
636
  }).catch(console.error);
784
- const info = isHex(transaction === null || transaction === void 0 ? void 0 : transaction.extrinsicHash) ? transaction === null || transaction === void 0 ? void 0 : transaction.extrinsicHash : getBaseTransactionInfo(transaction, this.state.chainService.getChainInfoMap());
785
- this.state.notificationService.notify({
637
+ const info = isHex(transaction === null || transaction === void 0 ? void 0 : transaction.extrinsicHash) ? transaction === null || transaction === void 0 ? void 0 : transaction.extrinsicHash : getBaseTransactionInfo(transaction, this.chainService.getChainInfoMap());
638
+ this.notificationService.notify({
786
639
  type: NotificationType.ERROR,
787
640
  title: t('Transaction failed'),
788
641
  message: t('Transaction {{info}} failed', {
@@ -796,7 +649,7 @@ export default class TransactionService {
796
649
  notifyViaBrowser: true
797
650
  });
798
651
  }
799
- this.state.eventService.emit('transaction.failed', transaction);
652
+ this.eventService.emit('transaction.failed', transaction);
800
653
  }
801
654
  onTimeOut({
802
655
  blockHash,
@@ -838,7 +691,7 @@ export default class TransactionService {
838
691
  }
839
692
  generateHashPayload(chain, transaction) {
840
693
  var _transaction$nonce;
841
- const chainInfo = this.state.chainService.getChainInfoByKey(chain);
694
+ const chainInfo = this.chainService.getChainInfoByKey(chain);
842
695
  const txObject = {
843
696
  nonce: (_transaction$nonce = transaction.nonce) !== null && _transaction$nonce !== void 0 ? _transaction$nonce : 0,
844
697
  gasPrice: addHexPrefix(anyNumberToBN(transaction.gasPrice).toString(16)),
@@ -859,8 +712,8 @@ export default class TransactionService {
859
712
  }) {
860
713
  var _payload$nonce;
861
714
  const payload = transaction;
862
- const evmApi = this.state.chainService.getEvmApi(chain);
863
- const chainInfo = this.state.chainService.getChainInfoByKey(chain);
715
+ const evmApi = this.chainService.getEvmApi(chain);
716
+ const chainInfo = this.chainService.getChainInfoByKey(chain);
864
717
  const accountPair = keyring.getPair(address);
865
718
  const account = {
866
719
  address,
@@ -890,7 +743,7 @@ export default class TransactionService {
890
743
 
891
744
  // Set unique nonce to avoid transaction errors
892
745
  if (!payload.nonce) {
893
- const evmApi = this.state.chainService.getEvmApi(chain);
746
+ const evmApi = this.chainService.getEvmApi(chain);
894
747
  payload.nonce = await evmApi.api.eth.getTransactionCount(address);
895
748
  }
896
749
  if (!payload.chainId) {
@@ -925,7 +778,7 @@ export default class TransactionService {
925
778
  extrinsicHash: id
926
779
  };
927
780
  if (isInjected) {
928
- this.state.requestService.addConfirmation(id, url || EXTENSION_REQUEST_URL, 'evmWatchTransactionRequest', payload, {}).then(async ({
781
+ this.requestService.addConfirmation(id, url || EXTENSION_REQUEST_URL, 'evmWatchTransactionRequest', payload, {}).then(async ({
929
782
  isApproved,
930
783
  payload
931
784
  }) => {
@@ -933,7 +786,7 @@ export default class TransactionService {
933
786
  if (!payload) {
934
787
  throw new EvmProviderError(EvmProviderErrorType.UNAUTHORIZED, 'Bad signature');
935
788
  }
936
- const web3Api = this.state.chainService.getEvmApi(chain).api;
789
+ const web3Api = this.chainService.getEvmApi(chain).api;
937
790
 
938
791
  // Emit signed event
939
792
  emitter.emit('signed', eventData);
@@ -989,7 +842,7 @@ export default class TransactionService {
989
842
  emitter.emit('error', eventData);
990
843
  });
991
844
  } else {
992
- this.state.requestService.addConfirmation(id, url || EXTENSION_REQUEST_URL, 'evmSendTransactionRequest', payload, {}).then(async ({
845
+ this.requestService.addConfirmation(id, url || EXTENSION_REQUEST_URL, 'evmSendTransactionRequest', payload, {}).then(async ({
993
846
  isApproved,
994
847
  payload
995
848
  }) => {
@@ -998,7 +851,7 @@ export default class TransactionService {
998
851
  if (!payload) {
999
852
  throw new EvmProviderError(EvmProviderErrorType.UNAUTHORIZED, t('Failed to sign'));
1000
853
  }
1001
- const web3Api = this.state.chainService.getEvmApi(chain).api;
854
+ const web3Api = this.chainService.getEvmApi(chain).api;
1002
855
  if (!isExternal) {
1003
856
  signedTransaction = payload;
1004
857
  } else {
@@ -1065,7 +918,7 @@ export default class TransactionService {
1065
918
  transaction.signAsync(address, {
1066
919
  signer: {
1067
920
  signPayload: async payload => {
1068
- const signing = await this.state.requestService.signInternalTransaction(id, address, url || EXTENSION_REQUEST_URL, payload);
921
+ const signing = await this.requestService.signInternalTransaction(id, address, url || EXTENSION_REQUEST_URL, payload);
1069
922
  return {
1070
923
  id: new Date().getTime(),
1071
924
  signature: signing.signature
@@ -1077,7 +930,7 @@ export default class TransactionService {
1077
930
  emitter.emit('signed', eventData);
1078
931
 
1079
932
  // Send transaction
1080
- const api = this.state.chainService.getSubstrateApi(chain);
933
+ const api = this.chainService.getSubstrateApi(chain);
1081
934
  eventData.nonce = rs.nonce.toNumber();
1082
935
  eventData.startBlock = (await api.api.query.system.number()).toPrimitive();
1083
936
  this.handleTransactionTimeout(emitter, eventData);
@@ -1145,33 +998,6 @@ export default class TransactionService {
1145
998
  clearTimeout(timeout);
1146
999
  });
1147
1000
  }
1148
- handlePostEarningTransaction(id) {
1149
- const transaction = this.getTransaction(id);
1150
- let slug;
1151
-
1152
- // TODO
1153
- if ('data' in transaction.data) {
1154
- slug = transaction.data.data.slug;
1155
- } else {
1156
- slug = transaction.data.slug;
1157
- }
1158
- const poolHandler = this.state.earningService.getPoolHandler(slug);
1159
- if (poolHandler) {
1160
- const type = poolHandler.type;
1161
- if (type === YieldPoolType.NATIVE_STAKING) {
1162
- return;
1163
- }
1164
- } else {
1165
- return;
1166
- }
1167
- this.state.mintCampaignService.unlockDotCampaign.mintNft({
1168
- transactionId: id,
1169
- address: transaction.address,
1170
- slug: slug,
1171
- network: transaction.chain,
1172
- extrinsicHash: transaction.extrinsicHash
1173
- }).catch(console.error);
1174
- }
1175
1001
  resetWallet() {
1176
1002
  this.transactionSubject.next({});
1177
1003
  }
@@ -30,8 +30,6 @@ export interface SWTransactionInput extends SwInputBase, Partial<Pick<SWTransact
30
30
  errors?: SWTransaction['errors'];
31
31
  edAsWarning?: boolean;
32
32
  isTransferAll?: boolean;
33
- resolveOnDone?: boolean;
34
- skipFeeValidation?: boolean;
35
33
  }
36
34
  export declare type SWTransactionResponse = SwInputBase & Pick<SWTransaction, 'warnings' | 'errors'> & Partial<Pick<SWTransaction, 'id' | 'extrinsicHash' | 'status' | 'estimateFee'>>;
37
35
  export declare type ValidateTransactionResponseInput = SWTransactionInput;
@@ -5,7 +5,6 @@ import { _getBlockExplorerFromChain, _isPureEvmChain } from '@subwallet/extensio
5
5
 
6
6
  // @ts-ignore
7
7
  export function parseTransactionData(data) {
8
- // @ts-ignore
9
8
  // eslint-disable-next-line @typescript-eslint/no-unsafe-return
10
9
  return data;
11
10
  }
package/types/index.d.ts CHANGED
@@ -5,12 +5,7 @@ export interface Message extends MessageEvent {
5
5
  origin: string;
6
6
  response?: string;
7
7
  subscription?: string;
8
- sender?: string;
9
8
  };
10
9
  }
11
10
  export * from './balance';
12
11
  export * from './buy';
13
- export * from './campaigns';
14
- export * from './ordinal';
15
- export * from './transaction';
16
- export * from './yield';
package/types/index.js CHANGED
@@ -1,10 +1,6 @@
1
- // Copyright 2019-2022 @subwallet/extension-base authors & contributors
1
+ // Copyright 2019-2022 @polkadot/extension authors & contributors
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
 
4
4
  export * from "./balance.js";
5
5
  export * from "./buy.js";
6
- export * from "./campaigns/index.js";
7
- export * from "./ordinal.js";
8
- export * from "./transaction.js";
9
- export * from "./yield/index.js";
10
6
  export {};
@@ -3,9 +3,8 @@
3
3
 
4
4
  import { staticData } from '@subwallet/extension-base/utils/staticData';
5
5
  import axios from 'axios';
6
- const PRODUCTION_BRANCHES = ['master', 'webapp', 'webapp-dev'];
7
6
  const branchName = process.env.BRANCH_NAME || 'koni-dev';
8
- const fetchTarget = PRODUCTION_BRANCHES.indexOf(branchName) > -1 ? 'list.json' : 'preview.json';
7
+ const fetchTarget = branchName === 'master' || branchName === 'webapp' ? 'list.json' : 'preview.json';
9
8
  export async function fetchStaticData(slug, targetFile) {
10
9
  const fetchFile = targetFile || fetchTarget;
11
10
  try {
package/utils/index.d.ts CHANGED
@@ -39,17 +39,12 @@ export declare function isSameAddress(address1: string, address2: string): boole
39
39
  export declare function getDomainFromUrl(url: string): string;
40
40
  export declare function waitTimeout(ms: number): Promise<void>;
41
41
  export declare const stripUrl: (url: string) => string;
42
- export declare const baseParseIPFSUrl: (input: string) => string | undefined;
43
- export declare const swParseIPFSUrl: (input: string) => string | undefined;
44
42
  export declare function wait(milliseconds: number): Promise<void>;
45
43
  export * from './account';
46
44
  export * from './array';
47
45
  export * from './environment';
48
- export * from './number';
49
46
  export * from './lazy';
50
- export * from './promise';
51
47
  export * from './registry';
52
48
  export * from './translate';
53
- export * from './object';
54
49
  export * from './fetchStaticData';
55
50
  export * from './fetchEvmChainInfo';