@subwallet/extension-base 1.0.9-2 → 1.0.11-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 (455) hide show
  1. package/background/KoniTypes.d.ts +6 -0
  2. package/cjs/koni/api/dotsama/transfer.js +16 -7
  3. package/cjs/koni/api/nft/wasm_nft/index.js +4 -1
  4. package/cjs/koni/api/staking/bonding/index.js +3 -0
  5. package/cjs/koni/api/staking/bonding/paraChain.js +3 -2
  6. package/cjs/koni/api/staking/bonding/relayChain.js +3 -2
  7. package/cjs/koni/api/staking/bonding/utils.js +1 -1
  8. package/cjs/koni/api/xcm/polkadotXcm.js +5 -4
  9. package/cjs/koni/api/xcm/xTokens.js +1 -1
  10. package/cjs/koni/api/xcm/xcmPallet.js +1 -1
  11. package/cjs/koni/background/cron.js +4 -29
  12. package/cjs/koni/background/handlers/Extension.js +24 -12
  13. package/cjs/koni/background/handlers/State.js +74 -23
  14. package/cjs/koni/background/subscription.js +4 -2
  15. package/cjs/packageInfo.js +1 -1
  16. package/cjs/services/chain-service/constants.js +5 -2
  17. package/cjs/services/chain-service/handler/AbstractChainHandler.js +93 -0
  18. package/cjs/services/chain-service/handler/EvmApi.js +131 -0
  19. package/cjs/services/chain-service/handler/EvmChainHandler.js +55 -39
  20. package/cjs/services/chain-service/handler/SubstrateApi.js +212 -0
  21. package/cjs/services/chain-service/handler/SubstrateChainHandler.js +76 -199
  22. package/cjs/services/chain-service/helper/api-helper/spec/dataavail.js +152 -0
  23. package/cjs/services/chain-service/index.js +119 -141
  24. package/cjs/services/event-service/index.js +2 -0
  25. package/cjs/services/history-service/index.js +4 -0
  26. package/cjs/services/migration-service/index.js +0 -3
  27. package/cjs/services/migration-service/scripts/MigrateNetworkSettings.js +1 -1
  28. package/cjs/services/price-service/index.js +4 -1
  29. package/cjs/services/storage-service/DatabaseService.js +6 -1
  30. package/cjs/services/storage-service/databases/index.js +3 -0
  31. package/cjs/services/storage-service/db-stores/Metadata.js +26 -0
  32. package/cjs/services/storage-service/db-stores/index.js +7 -0
  33. package/koni/api/dotsama/transfer.js +16 -7
  34. package/koni/api/nft/wasm_nft/index.js +4 -1
  35. package/koni/api/staking/bonding/index.js +3 -0
  36. package/koni/api/staking/bonding/paraChain.js +3 -2
  37. package/koni/api/staking/bonding/relayChain.js +3 -2
  38. package/koni/api/staking/bonding/utils.js +1 -1
  39. package/koni/api/xcm/polkadotXcm.js +5 -4
  40. package/koni/api/xcm/xTokens.js +1 -1
  41. package/koni/api/xcm/xcmPallet.js +1 -1
  42. package/koni/background/cron.d.ts +2 -4
  43. package/koni/background/cron.js +5 -30
  44. package/koni/background/handlers/Extension.d.ts +0 -1
  45. package/koni/background/handlers/Extension.js +24 -12
  46. package/koni/background/handlers/State.d.ts +10 -8
  47. package/koni/background/handlers/State.js +73 -23
  48. package/koni/background/subscription.d.ts +2 -2
  49. package/koni/background/subscription.js +4 -2
  50. package/package.json +38 -668
  51. package/packageInfo.js +1 -1
  52. package/services/chain-service/constants.d.ts +2 -0
  53. package/services/chain-service/constants.js +3 -1
  54. package/services/chain-service/handler/AbstractChainHandler.d.ts +29 -0
  55. package/services/chain-service/handler/AbstractChainHandler.js +83 -0
  56. package/services/chain-service/handler/EvmApi.d.ts +36 -0
  57. package/services/chain-service/handler/EvmApi.js +122 -0
  58. package/services/chain-service/handler/EvmChainHandler.d.ts +15 -9
  59. package/services/chain-service/handler/EvmChainHandler.js +54 -38
  60. package/services/chain-service/handler/SubstrateApi.d.ts +48 -0
  61. package/services/chain-service/handler/SubstrateApi.js +204 -0
  62. package/services/chain-service/handler/SubstrateChainHandler.d.ts +14 -12
  63. package/services/chain-service/handler/SubstrateChainHandler.js +74 -198
  64. package/services/chain-service/handler/types.d.ts +6 -0
  65. package/services/chain-service/helper/api-helper/spec/dataavail.js +145 -0
  66. package/services/chain-service/index.d.ts +16 -16
  67. package/services/chain-service/index.js +109 -133
  68. package/services/chain-service/types.d.ts +8 -5
  69. package/services/event-service/index.d.ts +2 -0
  70. package/services/event-service/index.js +2 -0
  71. package/services/event-service/types.d.ts +4 -0
  72. package/services/history-service/index.js +4 -0
  73. package/services/migration-service/index.js +0 -3
  74. package/services/migration-service/scripts/MigrateNetworkSettings.js +1 -1
  75. package/services/price-service/index.js +4 -1
  76. package/services/storage-service/DatabaseService.d.ts +5 -2
  77. package/services/storage-service/DatabaseService.js +7 -2
  78. package/services/storage-service/databases/index.d.ts +4 -1
  79. package/services/storage-service/databases/index.js +3 -0
  80. package/services/storage-service/db-stores/Metadata.d.ts +8 -0
  81. package/services/storage-service/db-stores/Metadata.js +18 -0
  82. package/services/storage-service/db-stores/index.d.ts +1 -0
  83. package/services/storage-service/db-stores/index.js +1 -0
  84. package/cjs/services/chain-service/helper/api-helper/chain/crust-maxwell.js +0 -108
  85. package/cjs/services/chain-service/helper/api-helper/chain/index.js +0 -17
  86. package/cjs/services/chain-service/helper/api-helper/index.js +0 -35
  87. package/cjs/services/chain-service/helper/api-helper/spec/acala.js +0 -11
  88. package/cjs/services/chain-service/helper/api-helper/spec/ajuna.js +0 -22
  89. package/cjs/services/chain-service/helper/api-helper/spec/altair.js +0 -31
  90. package/cjs/services/chain-service/helper/api-helper/spec/apron.js +0 -24
  91. package/cjs/services/chain-service/helper/api-helper/spec/ares-gladios.js +0 -191
  92. package/cjs/services/chain-service/helper/api-helper/spec/ares-parachain.js +0 -192
  93. package/cjs/services/chain-service/helper/api-helper/spec/astar.js +0 -44
  94. package/cjs/services/chain-service/helper/api-helper/spec/automata.js +0 -43
  95. package/cjs/services/chain-service/helper/api-helper/spec/basilisk.js +0 -139
  96. package/cjs/services/chain-service/helper/api-helper/spec/beresheet.js +0 -12
  97. package/cjs/services/chain-service/helper/api-helper/spec/bifrost-asgard.js +0 -11
  98. package/cjs/services/chain-service/helper/api-helper/spec/bifrost-parachain.js +0 -11
  99. package/cjs/services/chain-service/helper/api-helper/spec/bifrost.js +0 -11
  100. package/cjs/services/chain-service/helper/api-helper/spec/bitcountry-pioneer.js +0 -11
  101. package/cjs/services/chain-service/helper/api-helper/spec/bitcountry-rococo.js +0 -122
  102. package/cjs/services/chain-service/helper/api-helper/spec/bitcountry.js +0 -84
  103. package/cjs/services/chain-service/helper/api-helper/spec/canvas.js +0 -31
  104. package/cjs/services/chain-service/helper/api-helper/spec/centrifuge-chain.js +0 -77
  105. package/cjs/services/chain-service/helper/api-helper/spec/centrifuge.js +0 -31
  106. package/cjs/services/chain-service/helper/api-helper/spec/chainx.js +0 -403
  107. package/cjs/services/chain-service/helper/api-helper/spec/clover-rococo.js +0 -68
  108. package/cjs/services/chain-service/helper/api-helper/spec/clover.js +0 -34
  109. package/cjs/services/chain-service/helper/api-helper/spec/coinversation.js +0 -24
  110. package/cjs/services/chain-service/helper/api-helper/spec/competitors-club.js +0 -84
  111. package/cjs/services/chain-service/helper/api-helper/spec/crab.js +0 -11
  112. package/cjs/services/chain-service/helper/api-helper/spec/crown-sterling.js +0 -55
  113. package/cjs/services/chain-service/helper/api-helper/spec/crust.js +0 -11
  114. package/cjs/services/chain-service/helper/api-helper/spec/cumulus-test-parachain.js +0 -24
  115. package/cjs/services/chain-service/helper/api-helper/spec/darwinia.js +0 -11
  116. package/cjs/services/chain-service/helper/api-helper/spec/datahighway.js +0 -240
  117. package/cjs/services/chain-service/helper/api-helper/spec/dock-mainnet.js +0 -16
  118. package/cjs/services/chain-service/helper/api-helper/spec/dock-testnet.js +0 -16
  119. package/cjs/services/chain-service/helper/api-helper/spec/dolphin.js +0 -29
  120. package/cjs/services/chain-service/helper/api-helper/spec/dotmog.js +0 -65
  121. package/cjs/services/chain-service/helper/api-helper/spec/eave.js +0 -416
  122. package/cjs/services/chain-service/helper/api-helper/spec/edgeware.js +0 -11
  123. package/cjs/services/chain-service/helper/api-helper/spec/encointer-node-notee.js +0 -75
  124. package/cjs/services/chain-service/helper/api-helper/spec/encointer-node-teeproxy.js +0 -52
  125. package/cjs/services/chain-service/helper/api-helper/spec/encointer-para.js +0 -79
  126. package/cjs/services/chain-service/helper/api-helper/spec/equilibrium.js +0 -109
  127. package/cjs/services/chain-service/helper/api-helper/spec/fantour.js +0 -70
  128. package/cjs/services/chain-service/helper/api-helper/spec/galital-parachain.js +0 -65
  129. package/cjs/services/chain-service/helper/api-helper/spec/galital.js +0 -70
  130. package/cjs/services/chain-service/helper/api-helper/spec/galois.js +0 -54
  131. package/cjs/services/chain-service/helper/api-helper/spec/gamepower.js +0 -71
  132. package/cjs/services/chain-service/helper/api-helper/spec/genshiro.js +0 -31
  133. package/cjs/services/chain-service/helper/api-helper/spec/hanonycash.js +0 -33
  134. package/cjs/services/chain-service/helper/api-helper/spec/hydrate.js +0 -59
  135. package/cjs/services/chain-service/helper/api-helper/spec/idavoll.js +0 -24
  136. package/cjs/services/chain-service/helper/api-helper/spec/index.js +0 -272
  137. package/cjs/services/chain-service/helper/api-helper/spec/integritee.js +0 -35
  138. package/cjs/services/chain-service/helper/api-helper/spec/interbtc.js +0 -60
  139. package/cjs/services/chain-service/helper/api-helper/spec/ipse.js +0 -113
  140. package/cjs/services/chain-service/helper/api-helper/spec/jupiter-rococo.js +0 -24
  141. package/cjs/services/chain-service/helper/api-helper/spec/jupiter.js +0 -70
  142. package/cjs/services/chain-service/helper/api-helper/spec/khala.js +0 -11
  143. package/cjs/services/chain-service/helper/api-helper/spec/kilt.js +0 -11
  144. package/cjs/services/chain-service/helper/api-helper/spec/konomi.js +0 -24
  145. package/cjs/services/chain-service/helper/api-helper/spec/kpron.js +0 -24
  146. package/cjs/services/chain-service/helper/api-helper/spec/kulupu.js +0 -64
  147. package/cjs/services/chain-service/helper/api-helper/spec/kusari.js +0 -45
  148. package/cjs/services/chain-service/helper/api-helper/spec/kylin.js +0 -36
  149. package/cjs/services/chain-service/helper/api-helper/spec/laminar.js +0 -11
  150. package/cjs/services/chain-service/helper/api-helper/spec/litentry.js +0 -24
  151. package/cjs/services/chain-service/helper/api-helper/spec/mangata.js +0 -20
  152. package/cjs/services/chain-service/helper/api-helper/spec/manta.js +0 -29
  153. package/cjs/services/chain-service/helper/api-helper/spec/mathchain.js +0 -54
  154. package/cjs/services/chain-service/helper/api-helper/spec/moonbeam.js +0 -11
  155. package/cjs/services/chain-service/helper/api-helper/spec/moonsama-development.js +0 -24
  156. package/cjs/services/chain-service/helper/api-helper/spec/mybank.js +0 -87
  157. package/cjs/services/chain-service/helper/api-helper/spec/neatcoin.js +0 -32
  158. package/cjs/services/chain-service/helper/api-helper/spec/neumann.js +0 -55
  159. package/cjs/services/chain-service/helper/api-helper/spec/nftmart.js +0 -134
  160. package/cjs/services/chain-service/helper/api-helper/spec/nodle.js +0 -53
  161. package/cjs/services/chain-service/helper/api-helper/spec/opal.js +0 -15
  162. package/cjs/services/chain-service/helper/api-helper/spec/opportunity.js +0 -12
  163. package/cjs/services/chain-service/helper/api-helper/spec/origintrail.js +0 -206
  164. package/cjs/services/chain-service/helper/api-helper/spec/pangolin.js +0 -11
  165. package/cjs/services/chain-service/helper/api-helper/spec/pangoro.js +0 -12
  166. package/cjs/services/chain-service/helper/api-helper/spec/parallel.js +0 -11
  167. package/cjs/services/chain-service/helper/api-helper/spec/parami.js +0 -21
  168. package/cjs/services/chain-service/helper/api-helper/spec/phoenix.js +0 -52
  169. package/cjs/services/chain-service/helper/api-helper/spec/pichiu.js +0 -36
  170. package/cjs/services/chain-service/helper/api-helper/spec/plasm.js +0 -54
  171. package/cjs/services/chain-service/helper/api-helper/spec/polkadex.js +0 -32
  172. package/cjs/services/chain-service/helper/api-helper/spec/polkafoundry.js +0 -43
  173. package/cjs/services/chain-service/helper/api-helper/spec/polymesh.js +0 -21
  174. package/cjs/services/chain-service/helper/api-helper/spec/pontem.js +0 -11
  175. package/cjs/services/chain-service/helper/api-helper/spec/prism.js +0 -24
  176. package/cjs/services/chain-service/helper/api-helper/spec/quartz.js +0 -15
  177. package/cjs/services/chain-service/helper/api-helper/spec/realis.js +0 -42
  178. package/cjs/services/chain-service/helper/api-helper/spec/riochain.js +0 -104
  179. package/cjs/services/chain-service/helper/api-helper/spec/robonomics.js +0 -41
  180. package/cjs/services/chain-service/helper/api-helper/spec/shibuya.js +0 -54
  181. package/cjs/services/chain-service/helper/api-helper/spec/shiden.js +0 -54
  182. package/cjs/services/chain-service/helper/api-helper/spec/snowbridge.js +0 -11
  183. package/cjs/services/chain-service/helper/api-helper/spec/soraSubstrate.js +0 -11
  184. package/cjs/services/chain-service/helper/api-helper/spec/spanner.js +0 -501
  185. package/cjs/services/chain-service/helper/api-helper/spec/stafi.js +0 -25
  186. package/cjs/services/chain-service/helper/api-helper/spec/standard.js +0 -12
  187. package/cjs/services/chain-service/helper/api-helper/spec/subdao.js +0 -21
  188. package/cjs/services/chain-service/helper/api-helper/spec/subgame.js +0 -185
  189. package/cjs/services/chain-service/helper/api-helper/spec/subsocial.js +0 -15
  190. package/cjs/services/chain-service/helper/api-helper/spec/subspace.js +0 -127
  191. package/cjs/services/chain-service/helper/api-helper/spec/substrateContractsNode.js +0 -23
  192. package/cjs/services/chain-service/helper/api-helper/spec/swapdex.js +0 -45
  193. package/cjs/services/chain-service/helper/api-helper/spec/ternoa.js +0 -95
  194. package/cjs/services/chain-service/helper/api-helper/spec/trustbase.js +0 -24
  195. package/cjs/services/chain-service/helper/api-helper/spec/uart.js +0 -289
  196. package/cjs/services/chain-service/helper/api-helper/spec/unique.js +0 -124
  197. package/cjs/services/chain-service/helper/api-helper/spec/unitv.js +0 -25
  198. package/cjs/services/chain-service/helper/api-helper/spec/vln-rococo.js +0 -109
  199. package/cjs/services/chain-service/helper/api-helper/spec/vln.js +0 -45
  200. package/cjs/services/chain-service/helper/api-helper/spec/vodka.js +0 -22
  201. package/cjs/services/chain-service/helper/api-helper/spec/web3games.js +0 -43
  202. package/cjs/services/chain-service/helper/api-helper/spec/westlake.js +0 -305
  203. package/cjs/services/chain-service/helper/api-helper/spec/zCloak.js +0 -46
  204. package/cjs/services/chain-service/helper/api-helper/spec/zeitgeist.js +0 -33
  205. package/cjs/services/chain-service/helper/api-helper/spec/zenlink.js +0 -57
  206. package/cjs/services/chain-service/helper/api-helper/spec/zero.js +0 -11
  207. package/cjs/services/chain-service/helper/api-helper/util.js +0 -25
  208. package/services/chain-service/helper/api-helper/chain/crust-maxwell.d.ts +0 -98
  209. package/services/chain-service/helper/api-helper/chain/crust-maxwell.js +0 -103
  210. package/services/chain-service/helper/api-helper/chain/index.d.ts +0 -1943
  211. package/services/chain-service/helper/api-helper/chain/index.js +0 -11
  212. package/services/chain-service/helper/api-helper/index.d.ts +0 -7
  213. package/services/chain-service/helper/api-helper/index.js +0 -18
  214. package/services/chain-service/helper/api-helper/spec/acala.d.ts +0 -42
  215. package/services/chain-service/helper/api-helper/spec/acala.js +0 -5
  216. package/services/chain-service/helper/api-helper/spec/ajuna.js +0 -15
  217. package/services/chain-service/helper/api-helper/spec/altair.d.ts +0 -3
  218. package/services/chain-service/helper/api-helper/spec/altair.js +0 -24
  219. package/services/chain-service/helper/api-helper/spec/apron.d.ts +0 -3
  220. package/services/chain-service/helper/api-helper/spec/apron.js +0 -17
  221. package/services/chain-service/helper/api-helper/spec/ares-gladios.d.ts +0 -3
  222. package/services/chain-service/helper/api-helper/spec/ares-gladios.js +0 -184
  223. package/services/chain-service/helper/api-helper/spec/ares-parachain.d.ts +0 -3
  224. package/services/chain-service/helper/api-helper/spec/ares-parachain.js +0 -185
  225. package/services/chain-service/helper/api-helper/spec/astar.d.ts +0 -3
  226. package/services/chain-service/helper/api-helper/spec/astar.js +0 -37
  227. package/services/chain-service/helper/api-helper/spec/automata.d.ts +0 -3
  228. package/services/chain-service/helper/api-helper/spec/automata.js +0 -36
  229. package/services/chain-service/helper/api-helper/spec/basilisk.d.ts +0 -3
  230. package/services/chain-service/helper/api-helper/spec/basilisk.js +0 -132
  231. package/services/chain-service/helper/api-helper/spec/beresheet.d.ts +0 -3
  232. package/services/chain-service/helper/api-helper/spec/beresheet.js +0 -9
  233. package/services/chain-service/helper/api-helper/spec/bifrost-asgard.d.ts +0 -3
  234. package/services/chain-service/helper/api-helper/spec/bifrost-asgard.js +0 -5
  235. package/services/chain-service/helper/api-helper/spec/bifrost-parachain.d.ts +0 -3
  236. package/services/chain-service/helper/api-helper/spec/bifrost-parachain.js +0 -5
  237. package/services/chain-service/helper/api-helper/spec/bifrost.d.ts +0 -3
  238. package/services/chain-service/helper/api-helper/spec/bifrost.js +0 -5
  239. package/services/chain-service/helper/api-helper/spec/bitcountry-pioneer.d.ts +0 -2
  240. package/services/chain-service/helper/api-helper/spec/bitcountry-pioneer.js +0 -5
  241. package/services/chain-service/helper/api-helper/spec/bitcountry-rococo.d.ts +0 -3
  242. package/services/chain-service/helper/api-helper/spec/bitcountry-rococo.js +0 -115
  243. package/services/chain-service/helper/api-helper/spec/bitcountry.d.ts +0 -3
  244. package/services/chain-service/helper/api-helper/spec/bitcountry.js +0 -77
  245. package/services/chain-service/helper/api-helper/spec/canvas.d.ts +0 -3
  246. package/services/chain-service/helper/api-helper/spec/canvas.js +0 -24
  247. package/services/chain-service/helper/api-helper/spec/centrifuge-chain.d.ts +0 -3
  248. package/services/chain-service/helper/api-helper/spec/centrifuge-chain.js +0 -70
  249. package/services/chain-service/helper/api-helper/spec/centrifuge.d.ts +0 -3
  250. package/services/chain-service/helper/api-helper/spec/centrifuge.js +0 -24
  251. package/services/chain-service/helper/api-helper/spec/chainx.d.ts +0 -3
  252. package/services/chain-service/helper/api-helper/spec/chainx.js +0 -396
  253. package/services/chain-service/helper/api-helper/spec/clover-rococo.d.ts +0 -3
  254. package/services/chain-service/helper/api-helper/spec/clover-rococo.js +0 -61
  255. package/services/chain-service/helper/api-helper/spec/clover.d.ts +0 -3
  256. package/services/chain-service/helper/api-helper/spec/clover.js +0 -27
  257. package/services/chain-service/helper/api-helper/spec/coinversation.d.ts +0 -3
  258. package/services/chain-service/helper/api-helper/spec/coinversation.js +0 -17
  259. package/services/chain-service/helper/api-helper/spec/competitors-club.d.ts +0 -3
  260. package/services/chain-service/helper/api-helper/spec/competitors-club.js +0 -77
  261. package/services/chain-service/helper/api-helper/spec/crab.d.ts +0 -2
  262. package/services/chain-service/helper/api-helper/spec/crab.js +0 -5
  263. package/services/chain-service/helper/api-helper/spec/crown-sterling.d.ts +0 -3
  264. package/services/chain-service/helper/api-helper/spec/crown-sterling.js +0 -48
  265. package/services/chain-service/helper/api-helper/spec/crust.d.ts +0 -3
  266. package/services/chain-service/helper/api-helper/spec/crust.js +0 -5
  267. package/services/chain-service/helper/api-helper/spec/cumulus-test-parachain.d.ts +0 -3
  268. package/services/chain-service/helper/api-helper/spec/cumulus-test-parachain.js +0 -17
  269. package/services/chain-service/helper/api-helper/spec/darwinia.d.ts +0 -2
  270. package/services/chain-service/helper/api-helper/spec/darwinia.js +0 -5
  271. package/services/chain-service/helper/api-helper/spec/datahighway.d.ts +0 -3
  272. package/services/chain-service/helper/api-helper/spec/datahighway.js +0 -233
  273. package/services/chain-service/helper/api-helper/spec/dock-mainnet.d.ts +0 -3
  274. package/services/chain-service/helper/api-helper/spec/dock-mainnet.js +0 -9
  275. package/services/chain-service/helper/api-helper/spec/dock-testnet.d.ts +0 -3
  276. package/services/chain-service/helper/api-helper/spec/dock-testnet.js +0 -9
  277. package/services/chain-service/helper/api-helper/spec/dolphin.d.ts +0 -3
  278. package/services/chain-service/helper/api-helper/spec/dolphin.js +0 -22
  279. package/services/chain-service/helper/api-helper/spec/dotmog.d.ts +0 -3
  280. package/services/chain-service/helper/api-helper/spec/dotmog.js +0 -58
  281. package/services/chain-service/helper/api-helper/spec/eave.d.ts +0 -3
  282. package/services/chain-service/helper/api-helper/spec/eave.js +0 -409
  283. package/services/chain-service/helper/api-helper/spec/edgeware.d.ts +0 -3
  284. package/services/chain-service/helper/api-helper/spec/edgeware.js +0 -7
  285. package/services/chain-service/helper/api-helper/spec/encointer-node-notee.d.ts +0 -3
  286. package/services/chain-service/helper/api-helper/spec/encointer-node-notee.js +0 -68
  287. package/services/chain-service/helper/api-helper/spec/encointer-node-teeproxy.d.ts +0 -3
  288. package/services/chain-service/helper/api-helper/spec/encointer-node-teeproxy.js +0 -45
  289. package/services/chain-service/helper/api-helper/spec/encointer-para.d.ts +0 -3
  290. package/services/chain-service/helper/api-helper/spec/encointer-para.js +0 -72
  291. package/services/chain-service/helper/api-helper/spec/equilibrium.d.ts +0 -8
  292. package/services/chain-service/helper/api-helper/spec/equilibrium.js +0 -97
  293. package/services/chain-service/helper/api-helper/spec/fantour.d.ts +0 -3
  294. package/services/chain-service/helper/api-helper/spec/fantour.js +0 -63
  295. package/services/chain-service/helper/api-helper/spec/galital-parachain.d.ts +0 -3
  296. package/services/chain-service/helper/api-helper/spec/galital-parachain.js +0 -58
  297. package/services/chain-service/helper/api-helper/spec/galital.d.ts +0 -3
  298. package/services/chain-service/helper/api-helper/spec/galital.js +0 -63
  299. package/services/chain-service/helper/api-helper/spec/galois.d.ts +0 -3
  300. package/services/chain-service/helper/api-helper/spec/galois.js +0 -47
  301. package/services/chain-service/helper/api-helper/spec/gamepower.d.ts +0 -3
  302. package/services/chain-service/helper/api-helper/spec/gamepower.js +0 -64
  303. package/services/chain-service/helper/api-helper/spec/genshiro.d.ts +0 -3
  304. package/services/chain-service/helper/api-helper/spec/genshiro.js +0 -24
  305. package/services/chain-service/helper/api-helper/spec/hanonycash.d.ts +0 -3
  306. package/services/chain-service/helper/api-helper/spec/hanonycash.js +0 -26
  307. package/services/chain-service/helper/api-helper/spec/hydrate.d.ts +0 -3
  308. package/services/chain-service/helper/api-helper/spec/hydrate.js +0 -52
  309. package/services/chain-service/helper/api-helper/spec/idavoll.d.ts +0 -3
  310. package/services/chain-service/helper/api-helper/spec/idavoll.js +0 -17
  311. package/services/chain-service/helper/api-helper/spec/index.d.ts +0 -3
  312. package/services/chain-service/helper/api-helper/spec/index.js +0 -264
  313. package/services/chain-service/helper/api-helper/spec/integritee.d.ts +0 -3
  314. package/services/chain-service/helper/api-helper/spec/integritee.js +0 -28
  315. package/services/chain-service/helper/api-helper/spec/interbtc.d.ts +0 -7
  316. package/services/chain-service/helper/api-helper/spec/interbtc.js +0 -50
  317. package/services/chain-service/helper/api-helper/spec/ipse.d.ts +0 -3
  318. package/services/chain-service/helper/api-helper/spec/ipse.js +0 -106
  319. package/services/chain-service/helper/api-helper/spec/jupiter-rococo.d.ts +0 -3
  320. package/services/chain-service/helper/api-helper/spec/jupiter-rococo.js +0 -17
  321. package/services/chain-service/helper/api-helper/spec/jupiter.d.ts +0 -3
  322. package/services/chain-service/helper/api-helper/spec/jupiter.js +0 -63
  323. package/services/chain-service/helper/api-helper/spec/khala.d.ts +0 -3
  324. package/services/chain-service/helper/api-helper/spec/khala.js +0 -5
  325. package/services/chain-service/helper/api-helper/spec/kilt.d.ts +0 -3
  326. package/services/chain-service/helper/api-helper/spec/kilt.js +0 -5
  327. package/services/chain-service/helper/api-helper/spec/konomi.d.ts +0 -3
  328. package/services/chain-service/helper/api-helper/spec/konomi.js +0 -17
  329. package/services/chain-service/helper/api-helper/spec/kpron.d.ts +0 -3
  330. package/services/chain-service/helper/api-helper/spec/kpron.js +0 -17
  331. package/services/chain-service/helper/api-helper/spec/kulupu.d.ts +0 -3
  332. package/services/chain-service/helper/api-helper/spec/kulupu.js +0 -57
  333. package/services/chain-service/helper/api-helper/spec/kusari.d.ts +0 -3
  334. package/services/chain-service/helper/api-helper/spec/kusari.js +0 -38
  335. package/services/chain-service/helper/api-helper/spec/kylin.d.ts +0 -3
  336. package/services/chain-service/helper/api-helper/spec/kylin.js +0 -29
  337. package/services/chain-service/helper/api-helper/spec/laminar.d.ts +0 -3
  338. package/services/chain-service/helper/api-helper/spec/laminar.js +0 -5
  339. package/services/chain-service/helper/api-helper/spec/litentry.d.ts +0 -3
  340. package/services/chain-service/helper/api-helper/spec/litentry.js +0 -17
  341. package/services/chain-service/helper/api-helper/spec/mangata.d.ts +0 -3
  342. package/services/chain-service/helper/api-helper/spec/mangata.js +0 -13
  343. package/services/chain-service/helper/api-helper/spec/manta.d.ts +0 -3
  344. package/services/chain-service/helper/api-helper/spec/manta.js +0 -22
  345. package/services/chain-service/helper/api-helper/spec/mathchain.d.ts +0 -3
  346. package/services/chain-service/helper/api-helper/spec/mathchain.js +0 -47
  347. package/services/chain-service/helper/api-helper/spec/moonbeam.d.ts +0 -2
  348. package/services/chain-service/helper/api-helper/spec/moonbeam.js +0 -5
  349. package/services/chain-service/helper/api-helper/spec/moonsama-development.d.ts +0 -3
  350. package/services/chain-service/helper/api-helper/spec/moonsama-development.js +0 -17
  351. package/services/chain-service/helper/api-helper/spec/mybank.d.ts +0 -3
  352. package/services/chain-service/helper/api-helper/spec/mybank.js +0 -80
  353. package/services/chain-service/helper/api-helper/spec/neatcoin.d.ts +0 -3
  354. package/services/chain-service/helper/api-helper/spec/neatcoin.js +0 -25
  355. package/services/chain-service/helper/api-helper/spec/neumann.d.ts +0 -3
  356. package/services/chain-service/helper/api-helper/spec/neumann.js +0 -48
  357. package/services/chain-service/helper/api-helper/spec/nftmart.d.ts +0 -3
  358. package/services/chain-service/helper/api-helper/spec/nftmart.js +0 -127
  359. package/services/chain-service/helper/api-helper/spec/nodle.d.ts +0 -3
  360. package/services/chain-service/helper/api-helper/spec/nodle.js +0 -46
  361. package/services/chain-service/helper/api-helper/spec/opal.d.ts +0 -3
  362. package/services/chain-service/helper/api-helper/spec/opal.js +0 -9
  363. package/services/chain-service/helper/api-helper/spec/opportunity.d.ts +0 -3
  364. package/services/chain-service/helper/api-helper/spec/opportunity.js +0 -5
  365. package/services/chain-service/helper/api-helper/spec/origintrail.d.ts +0 -5
  366. package/services/chain-service/helper/api-helper/spec/origintrail.js +0 -198
  367. package/services/chain-service/helper/api-helper/spec/pangolin.d.ts +0 -2
  368. package/services/chain-service/helper/api-helper/spec/pangolin.js +0 -5
  369. package/services/chain-service/helper/api-helper/spec/pangoro.d.ts +0 -2
  370. package/services/chain-service/helper/api-helper/spec/pangoro.js +0 -7
  371. package/services/chain-service/helper/api-helper/spec/parallel.d.ts +0 -14
  372. package/services/chain-service/helper/api-helper/spec/parallel.js +0 -5
  373. package/services/chain-service/helper/api-helper/spec/parami.d.ts +0 -3
  374. package/services/chain-service/helper/api-helper/spec/parami.js +0 -14
  375. package/services/chain-service/helper/api-helper/spec/phoenix.d.ts +0 -3
  376. package/services/chain-service/helper/api-helper/spec/phoenix.js +0 -45
  377. package/services/chain-service/helper/api-helper/spec/pichiu.d.ts +0 -3
  378. package/services/chain-service/helper/api-helper/spec/pichiu.js +0 -29
  379. package/services/chain-service/helper/api-helper/spec/plasm.d.ts +0 -3
  380. package/services/chain-service/helper/api-helper/spec/plasm.js +0 -47
  381. package/services/chain-service/helper/api-helper/spec/polkadex.d.ts +0 -3
  382. package/services/chain-service/helper/api-helper/spec/polkadex.js +0 -25
  383. package/services/chain-service/helper/api-helper/spec/polkafoundry.d.ts +0 -3
  384. package/services/chain-service/helper/api-helper/spec/polkafoundry.js +0 -36
  385. package/services/chain-service/helper/api-helper/spec/polymesh.d.ts +0 -3
  386. package/services/chain-service/helper/api-helper/spec/polymesh.js +0 -13
  387. package/services/chain-service/helper/api-helper/spec/pontem.d.ts +0 -2
  388. package/services/chain-service/helper/api-helper/spec/pontem.js +0 -5
  389. package/services/chain-service/helper/api-helper/spec/prism.d.ts +0 -3
  390. package/services/chain-service/helper/api-helper/spec/prism.js +0 -17
  391. package/services/chain-service/helper/api-helper/spec/quartz.d.ts +0 -3
  392. package/services/chain-service/helper/api-helper/spec/quartz.js +0 -9
  393. package/services/chain-service/helper/api-helper/spec/realis.d.ts +0 -3
  394. package/services/chain-service/helper/api-helper/spec/realis.js +0 -35
  395. package/services/chain-service/helper/api-helper/spec/riochain.d.ts +0 -3
  396. package/services/chain-service/helper/api-helper/spec/riochain.js +0 -97
  397. package/services/chain-service/helper/api-helper/spec/robonomics.d.ts +0 -3
  398. package/services/chain-service/helper/api-helper/spec/robonomics.js +0 -34
  399. package/services/chain-service/helper/api-helper/spec/shibuya.d.ts +0 -3
  400. package/services/chain-service/helper/api-helper/spec/shibuya.js +0 -47
  401. package/services/chain-service/helper/api-helper/spec/shiden.d.ts +0 -3
  402. package/services/chain-service/helper/api-helper/spec/shiden.js +0 -47
  403. package/services/chain-service/helper/api-helper/spec/snowbridge.d.ts +0 -2
  404. package/services/chain-service/helper/api-helper/spec/snowbridge.js +0 -5
  405. package/services/chain-service/helper/api-helper/spec/soraSubstrate.d.ts +0 -3
  406. package/services/chain-service/helper/api-helper/spec/soraSubstrate.js +0 -5
  407. package/services/chain-service/helper/api-helper/spec/spanner.d.ts +0 -3
  408. package/services/chain-service/helper/api-helper/spec/spanner.js +0 -494
  409. package/services/chain-service/helper/api-helper/spec/stafi.d.ts +0 -3
  410. package/services/chain-service/helper/api-helper/spec/stafi.js +0 -18
  411. package/services/chain-service/helper/api-helper/spec/standard.d.ts +0 -3
  412. package/services/chain-service/helper/api-helper/spec/standard.js +0 -5
  413. package/services/chain-service/helper/api-helper/spec/subdao.d.ts +0 -3
  414. package/services/chain-service/helper/api-helper/spec/subdao.js +0 -14
  415. package/services/chain-service/helper/api-helper/spec/subgame.d.ts +0 -3
  416. package/services/chain-service/helper/api-helper/spec/subgame.js +0 -178
  417. package/services/chain-service/helper/api-helper/spec/subsocial.d.ts +0 -2
  418. package/services/chain-service/helper/api-helper/spec/subsocial.js +0 -8
  419. package/services/chain-service/helper/api-helper/spec/subspace.d.ts +0 -0
  420. package/services/chain-service/helper/api-helper/spec/subspace.js +0 -126
  421. package/services/chain-service/helper/api-helper/spec/substrateContractsNode.d.ts +0 -3
  422. package/services/chain-service/helper/api-helper/spec/substrateContractsNode.js +0 -16
  423. package/services/chain-service/helper/api-helper/spec/swapdex.d.ts +0 -3
  424. package/services/chain-service/helper/api-helper/spec/swapdex.js +0 -38
  425. package/services/chain-service/helper/api-helper/spec/ternoa.d.ts +0 -3
  426. package/services/chain-service/helper/api-helper/spec/ternoa.js +0 -88
  427. package/services/chain-service/helper/api-helper/spec/trustbase.d.ts +0 -3
  428. package/services/chain-service/helper/api-helper/spec/trustbase.js +0 -17
  429. package/services/chain-service/helper/api-helper/spec/uart.d.ts +0 -3
  430. package/services/chain-service/helper/api-helper/spec/uart.js +0 -282
  431. package/services/chain-service/helper/api-helper/spec/unique.d.ts +0 -3
  432. package/services/chain-service/helper/api-helper/spec/unique.js +0 -117
  433. package/services/chain-service/helper/api-helper/spec/unitv.d.ts +0 -3
  434. package/services/chain-service/helper/api-helper/spec/unitv.js +0 -18
  435. package/services/chain-service/helper/api-helper/spec/vln-rococo.d.ts +0 -3
  436. package/services/chain-service/helper/api-helper/spec/vln-rococo.js +0 -102
  437. package/services/chain-service/helper/api-helper/spec/vln.d.ts +0 -3
  438. package/services/chain-service/helper/api-helper/spec/vln.js +0 -38
  439. package/services/chain-service/helper/api-helper/spec/vodka.d.ts +0 -3
  440. package/services/chain-service/helper/api-helper/spec/vodka.js +0 -15
  441. package/services/chain-service/helper/api-helper/spec/web3games.d.ts +0 -3
  442. package/services/chain-service/helper/api-helper/spec/web3games.js +0 -36
  443. package/services/chain-service/helper/api-helper/spec/westlake.d.ts +0 -3
  444. package/services/chain-service/helper/api-helper/spec/westlake.js +0 -298
  445. package/services/chain-service/helper/api-helper/spec/zCloak.d.ts +0 -3
  446. package/services/chain-service/helper/api-helper/spec/zCloak.js +0 -39
  447. package/services/chain-service/helper/api-helper/spec/zeitgeist.d.ts +0 -3
  448. package/services/chain-service/helper/api-helper/spec/zeitgeist.js +0 -24
  449. package/services/chain-service/helper/api-helper/spec/zenlink.d.ts +0 -3
  450. package/services/chain-service/helper/api-helper/spec/zenlink.js +0 -50
  451. package/services/chain-service/helper/api-helper/spec/zero.d.ts +0 -3
  452. package/services/chain-service/helper/api-helper/spec/zero.js +0 -5
  453. package/services/chain-service/helper/api-helper/util.d.ts +0 -5
  454. package/services/chain-service/helper/api-helper/util.js +0 -15
  455. /package/services/chain-service/helper/api-helper/spec/{ajuna.d.ts → dataavail.d.ts} +0 -0
@@ -171,10 +171,11 @@ export async function subscribeRelayChainNominatorMetadata(chainInfo, address, s
171
171
  if (nominations) {
172
172
  const validatorList = nominations.targets;
173
173
  await Promise.all(validatorList.map(async validatorAddress => {
174
+ var _chainApi$api$query$i;
174
175
  let nominationStatus = StakingStatus.NOT_EARNING;
175
- const [_identityInfo, _eraStaker] = await Promise.all([chainApi.api.query.identity.identityOf(validatorAddress), chainApi.api.query.staking.erasStakers(currentEra, validatorAddress)]);
176
+ const [_identityInfo, _eraStaker] = await Promise.all([(_chainApi$api$query$i = chainApi.api.query.identity) === null || _chainApi$api$query$i === void 0 ? void 0 : _chainApi$api$query$i.identityOf(validatorAddress), chainApi.api.query.staking.erasStakers(currentEra, validatorAddress)]);
176
177
  const eraStaker = _eraStaker.toPrimitive();
177
- const identityInfo = _identityInfo.toHuman();
178
+ const identityInfo = _identityInfo === null || _identityInfo === void 0 ? void 0 : _identityInfo.toHuman();
178
179
  const identity = parseIdentity(identityInfo);
179
180
  const topNominators = eraStaker.others.map(nominator => {
180
181
  return nominator.who;
@@ -26,7 +26,7 @@ export function transformPoolName(input) {
26
26
  }
27
27
  export function parseIdentity(identityInfo) {
28
28
  let identity;
29
- if (identityInfo !== null) {
29
+ if (identityInfo) {
30
30
  var _identityInfo$info, _identityInfo$info$di, _identityInfo$info2, _identityInfo$info2$w, _identityInfo$info3, _identityInfo$info3$r, _identityInfo$info4, _identityInfo$info4$t;
31
31
  const displayName = identityInfo === null || identityInfo === void 0 ? void 0 : (_identityInfo$info = identityInfo.info) === null || _identityInfo$info === void 0 ? void 0 : (_identityInfo$info$di = _identityInfo$info.display) === null || _identityInfo$info$di === void 0 ? void 0 : _identityInfo$info$di.Raw;
32
32
  const web = identityInfo === null || identityInfo === void 0 ? void 0 : (_identityInfo$info2 = identityInfo.info) === null || _identityInfo$info2 === void 0 ? void 0 : (_identityInfo$info2$w = _identityInfo$info2.web) === null || _identityInfo$info2$w === void 0 ? void 0 : _identityInfo$info2$w.Raw;
@@ -5,15 +5,16 @@ import { getBeneficiary, getDestinationChainLocation, getDestWeight, getTokenLoc
5
5
  import { _isNativeToken, _isSubstrateRelayChain } from '@subwallet/extension-base/services/chain-service/utils';
6
6
  export function getExtrinsicByPolkadotXcmPallet(tokenInfo, originChainInfo, destinationChainInfo, recipientAddress, value, api) {
7
7
  const weightParam = getDestWeight();
8
- const beneficiary = getBeneficiary(destinationChainInfo, recipientAddress);
9
- const destination = getDestinationChainLocation(originChainInfo, destinationChainInfo);
10
- let assetLocation = getTokenLocation(tokenInfo, value);
8
+ const version = ['statemint', 'statemine', 'shiden'].includes(originChainInfo.slug) ? 'V3' : 'V1';
9
+ const beneficiary = getBeneficiary(destinationChainInfo, recipientAddress, version);
10
+ const destination = getDestinationChainLocation(originChainInfo, destinationChainInfo, version);
11
+ let assetLocation = getTokenLocation(tokenInfo, value, version);
11
12
  let method = 'limitedReserveTransferAssets';
12
13
  if (['astar', 'shiden'].includes(originChainInfo.slug) && !_isNativeToken(tokenInfo)) {
13
14
  method = 'limitedReserveWithdrawAssets';
14
15
  } else if (['statemint', 'statemine'].includes(originChainInfo.slug) && _isSubstrateRelayChain(destinationChainInfo)) {
15
16
  assetLocation = {
16
- V1: [{
17
+ [version]: [{
17
18
  id: {
18
19
  Concrete: {
19
20
  parents: 1,
@@ -19,6 +19,6 @@ function getCurrencyId(tokenInfo) {
19
19
  }
20
20
  export function getExtrinsicByXtokensPallet(tokenInfo, originChainInfo, destinationChainInfo, recipientAddress, value, api) {
21
21
  const weightParam = ['pioneer', 'hydradx_main'].includes(originChainInfo.slug) ? FOUR_INSTRUCTIONS_WEIGHT : getDestWeight();
22
- const destVersion = ['moonbeam', 'moonriver'].includes(originChainInfo.slug) ? 'V3' : undefined;
22
+ const destVersion = ['moonbeam', 'moonriver', 'bifrost_dot'].includes(originChainInfo.slug) ? 'V3' : undefined;
23
23
  return api.tx.xTokens.transfer(getCurrencyId(tokenInfo), value, getDestMultilocation(destinationChainInfo, recipientAddress, destVersion), weightParam);
24
24
  }
@@ -5,7 +5,7 @@ import { getBeneficiary, getDestinationChainLocation, getDestWeight, getTokenLoc
5
5
  // this pallet is only used by Relaychains
6
6
  export function getExtrinsicByXcmPalletPallet(tokenInfo, originChainInfo, destinationChainInfo, recipientAddress, value, api) {
7
7
  const weightParam = getDestWeight();
8
- const xcmVer = ['kusama'].includes(originChainInfo.slug) ? 'V3' : 'V1';
8
+ const xcmVer = 'V3';
9
9
  const destination = getDestinationChainLocation(originChainInfo, destinationChainInfo, xcmVer);
10
10
  const beneficiary = getBeneficiary(destinationChainInfo, recipientAddress, xcmVer);
11
11
  const tokenLocation = getTokenLocation(tokenInfo, value, xcmVer);
@@ -22,10 +22,8 @@ export declare class KoniCron {
22
22
  addSubscribeCron: <T>(name: string, callback: (subject: Subject<T>) => void, interval: number) => void;
23
23
  removeCron: (name: string) => void;
24
24
  removeAllCrons: () => void;
25
- start: () => void;
26
- stop: () => void;
27
- updateApiMapStatus: () => void;
28
- recoverApiMap: () => void;
25
+ start: () => Promise<void>;
26
+ stop: () => Promise<void>;
29
27
  refreshNft: (address: string, apiMap: ApiMap, smartContractNfts: _ChainAsset[], chainInfoMap: Record<string, _ChainInfo>) => () => void;
30
28
  resetNft: (newAddress: string) => void;
31
29
  resetStakingReward: () => void;
@@ -1,7 +1,7 @@
1
1
  // Copyright 2019-2022 @subwallet/extension-koni authors & contributors
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
 
4
- import { CRON_AUTO_RECOVER_DOTSAMA_INTERVAL, CRON_GET_API_MAP_STATUS, CRON_REFRESH_CHAIN_STAKING_METADATA, CRON_REFRESH_NFT_INTERVAL, CRON_REFRESH_STAKING_REWARD_FAST_INTERVAL, CRON_REFRESH_STAKING_REWARD_INTERVAL } from '@subwallet/extension-base/constants';
4
+ import { CRON_REFRESH_CHAIN_STAKING_METADATA, CRON_REFRESH_NFT_INTERVAL, CRON_REFRESH_STAKING_REWARD_FAST_INTERVAL, CRON_REFRESH_STAKING_REWARD_INTERVAL } from '@subwallet/extension-base/constants';
5
5
  import { _isChainSupportEvmNft, _isChainSupportNativeNft, _isChainSupportSubstrateStaking, _isChainSupportWasmNft } from '@subwallet/extension-base/services/chain-service/utils';
6
6
  import { waitTimeout } from '@subwallet/extension-base/utils';
7
7
  import { Subject } from 'rxjs';
@@ -49,10 +49,11 @@ export class KoniCron {
49
49
  delete this.cronMap[key];
50
50
  });
51
51
  };
52
- start = () => {
52
+ start = async () => {
53
53
  if (this.status === 'running') {
54
54
  return;
55
55
  }
56
+ await Promise.all([this.state.eventService.waitKeyringReady, this.state.eventService.waitAssetReady]);
56
57
  const currentAccountInfo = this.state.keyringService.currentAccount;
57
58
  const commonReloadEvents = ['account.add', 'account.remove', 'account.updateCurrent', 'chain.add', 'asset.updateState'];
58
59
  this.eventHandler = (events, eventTypes) => {
@@ -92,13 +93,9 @@ export class KoniCron {
92
93
  needUpdateStaking && this.removeCron('updateChainStakingMetadata');
93
94
 
94
95
  // Chains
95
- chainUpdated && this.removeCron('checkStatusApiMap');
96
- chainUpdated && this.removeCron('recoverApiMap');
97
96
  if (this.checkNetworkAvailable(serviceInfo)) {
98
97
  // only add cron job if there's at least 1 active network
99
98
  (commonReload || needUpdateNft) && this.addCron('refreshNft', this.refreshNft(address, serviceInfo.chainApiMap, this.state.getSmartContractNfts(), this.state.getActiveChainInfoMap()), CRON_REFRESH_NFT_INTERVAL);
100
- chainUpdated && this.addCron('checkStatusApiMap', this.updateApiMapStatus, CRON_GET_API_MAP_STATUS, false);
101
- chainUpdated && this.addCron('recoverApiMap', this.recoverApiMap, CRON_AUTO_RECOVER_DOTSAMA_INTERVAL, false);
102
99
  (commonReload || needUpdateStaking || stakingSubmitted) && this.addCron('refreshStakingReward', this.refreshStakingReward(address), CRON_REFRESH_STAKING_REWARD_INTERVAL);
103
100
  (commonReload || needUpdateStaking || stakingSubmitted) && this.addCron('refreshPoolingStakingReward', this.refreshStakingRewardFastInterval(address), CRON_REFRESH_STAKING_REWARD_FAST_INTERVAL);
104
101
  needUpdateStaking && this.addCron('updateChainStakingMetadata', this.updateChainStakingMetadata(serviceInfo.chainInfoMap, serviceInfo.chainStateMap, serviceInfo.chainApiMap.substrate), CRON_REFRESH_CHAIN_STAKING_METADATA);
@@ -113,8 +110,6 @@ export class KoniCron {
113
110
  if (Object.keys(this.state.getSubstrateApiMap()).length !== 0 || Object.keys(this.state.getEvmApiMap()).length !== 0) {
114
111
  this.resetNft(currentAccountInfo.address);
115
112
  this.addCron('refreshNft', this.refreshNft(currentAccountInfo.address, this.state.getApiMap(), this.state.getSmartContractNfts(), this.state.getActiveChainInfoMap()), CRON_REFRESH_NFT_INTERVAL);
116
- this.addCron('checkStatusApiMap', this.updateApiMapStatus, CRON_GET_API_MAP_STATUS);
117
- this.addCron('recoverApiMap', this.recoverApiMap, CRON_AUTO_RECOVER_DOTSAMA_INTERVAL, false);
118
113
  this.addCron('refreshStakingReward', this.refreshStakingReward(currentAccountInfo.address), CRON_REFRESH_STAKING_REWARD_INTERVAL);
119
114
  this.addCron('refreshPoolingStakingReward', this.refreshStakingRewardFastInterval(currentAccountInfo.address), CRON_REFRESH_STAKING_REWARD_FAST_INTERVAL);
120
115
  this.addCron('updateChainStakingMetadata', this.updateChainStakingMetadata(this.state.getChainInfoMap(), this.state.getChainStateMap(), this.state.getSubstrateApiMap()), CRON_REFRESH_CHAIN_STAKING_METADATA);
@@ -123,7 +118,7 @@ export class KoniCron {
123
118
  }
124
119
  this.status = 'running';
125
120
  };
126
- stop = () => {
121
+ stop = async () => {
127
122
  if (this.status === 'stopped') {
128
123
  return;
129
124
  }
@@ -139,27 +134,7 @@ export class KoniCron {
139
134
  }
140
135
  this.removeAllCrons();
141
136
  this.status = 'stopped';
142
- };
143
- updateApiMapStatus = () => {
144
- this.state.chainService.updateApiMapStatus().catch(console.error);
145
- };
146
- recoverApiMap = () => {
147
- var _this$subscriptions;
148
- const apiMap = this.state.getApiMap();
149
- for (const [networkKey, apiProp] of Object.entries(apiMap.substrate)) {
150
- if (!apiProp.isApiConnected) {
151
- this.state.refreshSubstrateApi(networkKey);
152
- }
153
- }
154
- for (const [key, evmApi] of Object.entries(apiMap.evm)) {
155
- evmApi.api.eth.net.isListening().catch(() => {
156
- this.state.refreshWeb3Api(key);
157
- });
158
- }
159
- const {
160
- address
161
- } = this.state.keyringService.currentAccount;
162
- ((_this$subscriptions = this.subscriptions) === null || _this$subscriptions === void 0 ? void 0 : _this$subscriptions.subscribeBalancesAndCrowdloans) && this.subscriptions.subscribeBalancesAndCrowdloans(address, this.state.getChainInfoMap(), this.state.getChainStateMap(), this.state.getSubstrateApiMap(), this.state.getEvmApiMap());
137
+ return Promise.resolve();
163
138
  };
164
139
  refreshNft = (address, apiMap, smartContractNfts, chainInfoMap) => {
165
140
  return () => {
@@ -112,7 +112,6 @@ export default class KoniExtension {
112
112
  private getStaking;
113
113
  private subscribeStaking;
114
114
  private subscribeHistory;
115
- private addContact;
116
115
  private validateTransfer;
117
116
  private makeTransfer;
118
117
  private validateCrossChainTransfer;
@@ -1343,14 +1343,18 @@ export default class KoniExtension {
1343
1343
  });
1344
1344
  return historySubject.getValue();
1345
1345
  }
1346
- addContact(to) {
1347
- const toAddress = reformatAddress(to);
1348
- const account = keyring.getAccount(toAddress);
1349
- const contact = keyring.getAddress(toAddress);
1350
- if (!account && (!contact || contact.meta.isRecent)) {
1351
- keyring.saveAddress(toAddress, {});
1352
- }
1353
- }
1346
+
1347
+ // Save address to contact
1348
+ // private addContact (to: string) {
1349
+ // const toAddress = reformatAddress(to);
1350
+ // const account = keyring.getAccount(toAddress);
1351
+ // const contact = keyring.getAddress(toAddress);
1352
+ //
1353
+ // if (!account && (!contact || contact.meta.isRecent)) {
1354
+ // keyring.saveAddress(toAddress, {});
1355
+ // }
1356
+ // }
1357
+
1354
1358
  validateTransfer(tokenSlug, from, to, value, transferAll) {
1355
1359
  const errors = [];
1356
1360
  const keypair = keyring.getPair(from);
@@ -1433,7 +1437,9 @@ export default class KoniExtension {
1433
1437
  throw error;
1434
1438
  }
1435
1439
  const transferNativeAmount = isTransferNativeToken ? transferAmount.value : '0';
1436
- this.addContact(to);
1440
+
1441
+ // this.addContact(to);
1442
+
1437
1443
  const additionalValidator = async inputTransaction => {
1438
1444
  const minAmount = tokenInfo.minAmount || '0';
1439
1445
  if (!isTransferNativeToken) {
@@ -1542,7 +1548,9 @@ export default class KoniExtension {
1542
1548
  });
1543
1549
  };
1544
1550
  }
1545
- this.addContact(to);
1551
+
1552
+ // this.addContact(to);
1553
+
1546
1554
  return await this.#koniState.transactionService.handleTransaction({
1547
1555
  url: EXTENSION_REQUEST_URL,
1548
1556
  address: from,
@@ -1569,7 +1577,9 @@ export default class KoniExtension {
1569
1577
  const contractAddress = params.contractAddress;
1570
1578
  const tokenId = params.tokenId;
1571
1579
  const transaction = await getERC721Transaction(this.#koniState.getEvmApi(networkKey), contractAddress, senderAddress, recipientAddress, tokenId);
1572
- this.addContact(recipientAddress);
1580
+
1581
+ // this.addContact(recipientAddress);
1582
+
1573
1583
  return await this.#koniState.transactionService.handleTransaction({
1574
1584
  address: senderAddress,
1575
1585
  chain: networkKey,
@@ -1771,7 +1781,9 @@ export default class KoniExtension {
1771
1781
  const networkKey = params === null || params === void 0 ? void 0 : params.networkKey;
1772
1782
  const apiProps = this.#koniState.getSubstrateApi(networkKey);
1773
1783
  const extrinsic = !isPSP34 ? getNftTransferExtrinsic(networkKey, apiProps, senderAddress, recipientAddress, params || {}) : await getPSP34TransferExtrinsic(networkKey, apiProps, senderAddress, recipientAddress, params || {});
1774
- this.addContact(recipientAddress);
1784
+
1785
+ // this.addContact(recipientAddress);
1786
+
1775
1787
  const rs = await this.#koniState.transactionService.handleTransaction({
1776
1788
  address: senderAddress,
1777
1789
  chain: networkKey,
@@ -50,7 +50,6 @@ export default class KoniState {
50
50
  private cron;
51
51
  private subscription;
52
52
  private logger;
53
- private ready;
54
53
  readonly settingService: SettingService;
55
54
  readonly requestService: RequestService;
56
55
  readonly transactionService: TransactionService;
@@ -59,6 +58,9 @@ export default class KoniState {
59
58
  readonly balanceService: BalanceService;
60
59
  readonly migrationService: MigrationService;
61
60
  readonly subscanService: SubscanService;
61
+ private generalStatus;
62
+ private waitSleeping;
63
+ private waitStarting;
62
64
  constructor(providers?: Providers);
63
65
  get knownMetadata(): MetadataDef[];
64
66
  injectMetadata(url: string, request: MetadataDef): Promise<boolean>;
@@ -77,7 +79,6 @@ export default class KoniState {
77
79
  init(): Promise<void>;
78
80
  private startSubscription;
79
81
  onReady(): void;
80
- isReady(): boolean;
81
82
  updateKeyringState(isReady?: boolean, callback?: () => void): void;
82
83
  private lazyNext;
83
84
  getAuthRequestV2(id: string): AuthRequestV2;
@@ -182,10 +183,10 @@ export default class KoniState {
182
183
  disableChain(chainSlug: string): Promise<boolean>;
183
184
  enableChain(chainSlug: string, enableTokens?: boolean): Promise<boolean>;
184
185
  resetDefaultChains(): boolean;
185
- getSubstrateApiMap(): Record<string, import("@subwallet/extension-base/services/chain-service/types")._SubstrateApi>;
186
- getSubstrateApi(networkKey: string): import("@subwallet/extension-base/services/chain-service/types")._SubstrateApi;
187
- getEvmApiMap(): Record<string, import("@subwallet/extension-base/services/chain-service/types")._EvmApi>;
188
- getEvmApi(networkKey: string): import("@subwallet/extension-base/services/chain-service/types")._EvmApi;
186
+ getSubstrateApiMap(): Record<string, import("../../../services/chain-service/handler/SubstrateApi").SubstrateApi>;
187
+ getSubstrateApi(networkKey: string): import("../../../services/chain-service/handler/SubstrateApi").SubstrateApi;
188
+ getEvmApiMap(): Record<string, import("../../../services/chain-service/handler/EvmApi").EvmApi>;
189
+ getEvmApi(networkKey: string): import("../../../services/chain-service/handler/EvmApi").EvmApi;
189
190
  getApiMap(): ApiMap;
190
191
  refreshSubstrateApi(key: string): boolean;
191
192
  refreshWeb3Api(key: string): void;
@@ -195,8 +196,8 @@ export default class KoniState {
195
196
  getExternalRequest(id: string): ExternalRequestPromise;
196
197
  updateExternalRequest(id: string, value: Partial<ExternalRequestPromise>): void;
197
198
  cleanExternalRequest(): void;
198
- pauseAllNetworks(code?: number, reason?: string): Promise<void[]>;
199
- resumeAllNetworks(): Promise<void[]>;
199
+ pauseAllNetworks(code?: number, reason?: string): Promise<void>;
200
+ resumeAllNetworks(): Promise<void>;
200
201
  private publishBalance;
201
202
  private publishCrowdloan;
202
203
  findNetworkKeyByGenesisHash(genesisHash?: string | null): [string | undefined, _ChainInfo | undefined];
@@ -214,6 +215,7 @@ export default class KoniState {
214
215
  get activeNetworks(): Record<string, _ChainInfo>;
215
216
  get activeChainSlugs(): string[];
216
217
  sleep(): Promise<void>;
218
+ private _start;
217
219
  wakeup(): Promise<void>;
218
220
  cancelSubscription(id: string): boolean;
219
221
  createUnsubscriptionHandle(id: string, unsubscribe: () => void): void;
@@ -8,6 +8,7 @@ import { isSubscriptionRunning, unsubscribe } from '@subwallet/extension-base/ba
8
8
  import { APIItemState, BasicTxErrorType, ChainType, EvmProviderErrorType, ExternalRequestPromiseStatus, ExtrinsicType } from '@subwallet/extension-base/background/KoniTypes';
9
9
  import { ALL_ACCOUNT_KEY, ALL_GENESIS_HASH } from '@subwallet/extension-base/constants';
10
10
  import { BalanceService } from '@subwallet/extension-base/services/balance-service';
11
+ import { ServiceStatus } from '@subwallet/extension-base/services/base/types';
11
12
  import { ChainService } from '@subwallet/extension-base/services/chain-service';
12
13
  import { _PREDEFINED_SINGLE_MODES } from '@subwallet/extension-base/services/chain-service/constants';
13
14
  import { _getEvmChainId, _getSubstrateGenesisHash, _isAssetFungibleToken, _isChainEnabled, _isChainTestNet, _isSubstrateParaChain, _parseMetadataForSmartContractAsset } from '@subwallet/extension-base/services/chain-service/utils';
@@ -25,6 +26,7 @@ import { SUBSCAN_CHAIN_MAP_REVERSE } from '@subwallet/extension-base/services/su
25
26
  import TransactionService from '@subwallet/extension-base/services/transaction-service';
26
27
  import AccountRefStore from '@subwallet/extension-base/stores/AccountRef';
27
28
  import { isContractAddress, parseContractInput } from '@subwallet/extension-base/utils/eth/parseTransaction';
29
+ import { createPromiseHandler } from '@subwallet/extension-base/utils/promise';
28
30
  import { decodePair } from '@subwallet/keyring/pair/decode';
29
31
  import { keyring } from '@subwallet/ui-keyring';
30
32
  import SimpleKeyring from 'eth-simple-keyring';
@@ -72,13 +74,16 @@ export default class KoniState {
72
74
  data: {}
73
75
  };
74
76
  lazyMap = {};
75
- ready = false;
77
+ // Handle the general status of the extension
78
+ generalStatus = ServiceStatus.INITIALIZING;
79
+ waitSleeping = null;
80
+ waitStarting = null;
76
81
  constructor(providers = {}) {
77
82
  this.providers = providers;
78
- this.dbService = new DatabaseService();
79
83
  this.eventService = new EventService();
80
- this.subscanService = new SubscanService();
84
+ this.dbService = new DatabaseService(this.eventService);
81
85
  this.keyringService = new KeyringService(this.eventService);
86
+ this.subscanService = new SubscanService();
82
87
  this.notificationService = new NotificationService();
83
88
  this.chainService = new ChainService(this.dbService, this.eventService);
84
89
  this.settingService = new SettingService();
@@ -190,6 +195,7 @@ export default class KoniState {
190
195
  return balanceMap;
191
196
  }
192
197
  async init() {
198
+ await this.eventService.waitCryptoReady;
193
199
  await this.chainService.init();
194
200
  await this.migrationService.run();
195
201
  this.eventService.emit('chain.ready', true);
@@ -213,14 +219,9 @@ export default class KoniState {
213
219
  });
214
220
  }
215
221
  onReady() {
216
- this.subscription.start();
217
- this.cron.start();
218
- this.historyService.start().catch(console.error);
219
- this.priceService.start().catch(console.error);
220
- this.ready = true;
221
- }
222
- isReady() {
223
- return this.ready;
222
+ // Todo: Need optimize in the future to, only run important services onetime to save resources
223
+ // Todo: If optimize must check activity of web-runner of mobile
224
+ this._start().catch(console.error);
224
225
  }
225
226
  updateKeyringState(isReady = true, callback) {
226
227
  this.keyringService.updateKeyringState(isReady);
@@ -836,7 +837,7 @@ export default class KoniState {
836
837
  return this.chainService.getActiveChainInfoMap();
837
838
  }
838
839
  async upsertChainInfo(data) {
839
- const newNativeTokenSlug = this.chainService.upsertChain(data);
840
+ const newNativeTokenSlug = await this.chainService.upsertChain(data);
840
841
  if (newNativeTokenSlug) {
841
842
  await this.chainService.updateAssetSetting(newNativeTokenSlug, {
842
843
  visible: true
@@ -1334,19 +1335,68 @@ export default class KoniState {
1334
1335
  });
1335
1336
  }
1336
1337
  async sleep() {
1337
- this.cron.stop();
1338
- this.subscription.stop();
1338
+ // Wait starting finish before sleep to avoid conflict
1339
+ this.generalStatus === ServiceStatus.STARTING && this.waitStarting && (await this.waitStarting);
1340
+ this.eventService.emit('general.sleep', true);
1341
+
1342
+ // Avoid sleep multiple times
1343
+ if (this.generalStatus === ServiceStatus.STOPPED) {
1344
+ return;
1345
+ }
1346
+
1347
+ // Continue wait existed stopping process
1348
+ if (this.generalStatus === ServiceStatus.STOPPING) {
1349
+ await this.waitSleeping;
1350
+ return;
1351
+ }
1352
+ const sleeping = createPromiseHandler();
1353
+ this.generalStatus = ServiceStatus.STOPPING;
1354
+ this.waitSleeping = sleeping.promise;
1355
+
1356
+ // Stopping services
1357
+ await Promise.all([this.cron.stop(), this.subscription.stop()]);
1339
1358
  await this.pauseAllNetworks(undefined, 'IDLE mode');
1340
- await this.historyService.stop();
1341
- await this.priceService.stop();
1359
+ await Promise.all([this.historyService.stop(), this.priceService.stop()]);
1360
+
1361
+ // Complete sleeping
1362
+ sleeping.resolve();
1363
+ this.generalStatus = ServiceStatus.STOPPED;
1364
+ this.waitSleeping = null;
1365
+ }
1366
+ async _start(isWakeup = false) {
1367
+ // Wait sleep finish before start to avoid conflict
1368
+ this.generalStatus === ServiceStatus.STOPPING && this.waitSleeping && (await this.waitSleeping);
1369
+
1370
+ // Avoid start multiple times
1371
+ if (this.generalStatus === ServiceStatus.STARTED) {
1372
+ return;
1373
+ }
1374
+
1375
+ // Continue wait existed starting process
1376
+ if (this.generalStatus === ServiceStatus.STARTING) {
1377
+ await this.waitStarting;
1378
+ return;
1379
+ }
1380
+ const starting = createPromiseHandler();
1381
+ this.generalStatus = ServiceStatus.STARTING;
1382
+ this.waitStarting = starting.promise;
1383
+
1384
+ // Resume all networks if wakeup from sleep
1385
+ if (isWakeup) {
1386
+ await this.resumeAllNetworks();
1387
+ this.eventService.emit('general.wakeup', true);
1388
+ }
1389
+
1390
+ // Start services
1391
+ await Promise.all([this.cron.start(), this.subscription.start(), this.historyService.start(), this.priceService.start()]);
1392
+
1393
+ // Complete starting
1394
+ starting.resolve();
1395
+ this.waitStarting = null;
1396
+ this.generalStatus = ServiceStatus.STARTED;
1342
1397
  }
1343
1398
  async wakeup() {
1344
- await this.eventService.waitChainReady;
1345
- await this.resumeAllNetworks();
1346
- this.cron.start();
1347
- this.subscription.start();
1348
- await this.historyService.start();
1349
- await this.priceService.start();
1399
+ await this._start(true);
1350
1400
  }
1351
1401
  cancelSubscription(id) {
1352
1402
  if (isSubscriptionRunning(id)) {
@@ -1406,7 +1456,7 @@ export default class KoniState {
1406
1456
  });
1407
1457
  });
1408
1458
  if (needActiveTokens.length) {
1409
- this.chainService.enableChains(needEnableChains);
1459
+ await this.chainService.enableChains(needEnableChains);
1410
1460
  this.chainService.setAssetSettings({
1411
1461
  ...currentAssetSettings
1412
1462
  });
@@ -15,8 +15,8 @@ export declare class KoniSubscription {
15
15
  getSubscription(name: SubscriptionName): (() => void) | undefined;
16
16
  updateSubscription(name: SubscriptionName, func: (() => void) | undefined): void;
17
17
  stopAllSubscription(): void;
18
- start(): void;
19
- stop(): void;
18
+ start(): Promise<void>;
19
+ stop(): Promise<void>;
20
20
  subscribeBalancesAndCrowdloans(address: string, chainInfoMap: Record<string, _ChainInfo>, chainStateMap: Record<string, _ChainState>, substrateApiMap: Record<string, _SubstrateApi>, web3ApiMap: Record<string, _EvmApi>, onlyRunOnFirstTime?: boolean): void;
21
21
  subscribeStakingOnChain(address: string, substrateApiMap: Record<string, _SubstrateApi>, onlyRunOnFirstTime?: boolean): void;
22
22
  initStakingOnChainSubscription(addresses: string[], substrateApiMap: Record<string, _SubstrateApi>, onlyRunOnFirstTime?: boolean): (() => void) | undefined;
@@ -52,8 +52,9 @@ export class KoniSubscription {
52
52
  delete this.subscriptionMap.stakingOnChain;
53
53
  }
54
54
  }
55
- start() {
55
+ async start() {
56
56
  var _this$state$keyringSe;
57
+ await Promise.all([this.state.eventService.waitKeyringReady, this.state.eventService.waitAssetReady]);
57
58
  const currentAddress = (_this$state$keyringSe = this.state.keyringService.currentAccount) === null || _this$state$keyringSe === void 0 ? void 0 : _this$state$keyringSe.address;
58
59
  if (currentAddress) {
59
60
  this.subscribeBalancesAndCrowdloans(currentAddress, this.state.getChainInfoMap(), this.state.getChainStateMap(), this.state.getSubstrateApiMap(), this.state.getEvmApiMap());
@@ -75,12 +76,13 @@ export class KoniSubscription {
75
76
  };
76
77
  this.state.eventService.onLazy(this.eventHandler);
77
78
  }
78
- stop() {
79
+ async stop() {
79
80
  if (this.eventHandler) {
80
81
  this.state.eventService.offLazy(this.eventHandler);
81
82
  this.eventHandler = undefined;
82
83
  }
83
84
  this.stopAllSubscription();
85
+ return Promise.resolve();
84
86
  }
85
87
  subscribeBalancesAndCrowdloans(address, chainInfoMap, chainStateMap, substrateApiMap, web3ApiMap, onlyRunOnFirstTime) {
86
88
  this.state.handleSwitchAccount(address).then(() => {