@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
@@ -15,6 +15,7 @@ import { RequestArguments, TransactionConfig } from 'web3-core';
15
15
  import { JsonRpcPayload, JsonRpcResponse } from 'web3-core-helpers';
16
16
  import { SignerResult } from '@polkadot/types/types/extrinsic';
17
17
  import { BN } from '@polkadot/util';
18
+ import { HexString } from '@polkadot/util/types';
18
19
  import { KeypairType } from '@polkadot/util-crypto/types';
19
20
  import { TransactionWarning } from './warnings/TransactionWarning';
20
21
  export interface ServiceInfo {
@@ -167,6 +168,11 @@ export interface NftCollectionJson {
167
168
  ready: boolean;
168
169
  nftCollectionList: Array<NftCollection>;
169
170
  }
171
+ export interface MetadataItem {
172
+ genesisHash: string;
173
+ specVersion: string;
174
+ hexValue: HexString;
175
+ }
170
176
  export interface TokenBalanceRaw {
171
177
  reserved: BN;
172
178
  frozen: BN;
@@ -75,9 +75,11 @@ async function checkSupportTransfer(networkKey, tokenInfo, substrateApiMap, chai
75
75
  } else if (_constants._TRANSFER_CHAIN_GROUP.kintsugi.includes(networkKey) && !(0, _utils2._isNativeToken)(tokenInfo) && isTxTokensSupported) {
76
76
  result.supportTransfer = true;
77
77
  result.supportTransferAll = true;
78
- } else if (_constants._TRANSFER_CHAIN_GROUP.genshiro.includes(networkKey) && !(0, _utils2._isNativeToken)(tokenInfo) && isTxEqBalancesSupported) {
79
- result.supportTransfer = true;
80
- result.supportTransferAll = true;
78
+ } else if (_constants._TRANSFER_CHAIN_GROUP.genshiro.includes(networkKey)
79
+ // && !_isNativeToken(tokenInfo) && isTxEqBalancesSupported
80
+ ) {
81
+ result.supportTransfer = false;
82
+ result.supportTransferAll = false;
81
83
  } else if (_constants._TRANSFER_CHAIN_GROUP.crab.includes(networkKey) && _constants._BALANCE_TOKEN_GROUP.crab.includes(tokenInfo.symbol)) {
82
84
  result.supportTransfer = true;
83
85
  result.supportTransferAll = true;
@@ -96,8 +98,10 @@ async function checkSupportTransfer(networkKey, tokenInfo, substrateApiMap, chai
96
98
  // } else if (_TRANSFER_CHAIN_GROUP.riochain.includes(networkKey) && _isNativeToken(tokenInfo)) {
97
99
  // result.supportTransfer = true;
98
100
  // result.supportTransferAll = true;
101
+ } else if (_constants._TRANSFER_CHAIN_GROUP.avail.includes(networkKey)) {
102
+ result.supportTransfer = false;
103
+ result.supportTransferAll = false;
99
104
  }
100
-
101
105
  return result;
102
106
  }
103
107
  const createTransferExtrinsic = async _ref => {
@@ -117,7 +121,7 @@ const createTransferExtrinsic = async _ref => {
117
121
  const isTxCurrenciesSupported = !!api && !!api.tx && !!api.tx.currencies;
118
122
  const isTxBalancesSupported = !!api && !!api.tx && !!api.tx.balances;
119
123
  const isTxTokensSupported = !!api && !!api.tx && !!api.tx.tokens;
120
- const isTxEqBalancesSupported = !!api && !!api.tx && !!api.tx.eqBalances;
124
+ // const isTxEqBalancesSupported = !!api && !!api.tx && !!api.tx.eqBalances;
121
125
  const isTxAssetsSupported = !!api && !!api.tx && !!api.tx.assets;
122
126
  let transferAmount; // for PSP-22 tokens, might be deprecated in the future
123
127
 
@@ -139,8 +143,11 @@ const createTransferExtrinsic = async _ref => {
139
143
  } else if (value) {
140
144
  transfer = api.tx.tokens.transfer(to, (0, _utils2._getTokenOnChainInfo)(tokenInfo) || (0, _utils2._getTokenOnChainAssetId)(tokenInfo), new _util.BN(value));
141
145
  }
142
- } else if (_constants._TRANSFER_CHAIN_GROUP.genshiro.includes(networkKey) && isTxEqBalancesSupported) {
143
- transfer = api.tx.eqBalances.transfer((0, _utils2._getTokenOnChainAssetId)(tokenInfo), to, value);
146
+ } else if (_constants._TRANSFER_CHAIN_GROUP.genshiro.includes(networkKey)
147
+ // && isTxEqBalancesSupported
148
+ ) {
149
+ // transfer = api.tx.eqBalances.transfer(_getTokenOnChainAssetId(tokenInfo), to, value);
150
+ /* empty */
144
151
  } else if (!(0, _utils2._isNativeToken)(tokenInfo) && (_constants._TRANSFER_CHAIN_GROUP.crab.includes(networkKey) || _constants._BALANCE_TOKEN_GROUP.crab.includes(tokenInfo.symbol))) {
145
152
  if (transferAll) {
146
153
  transfer = api.tx.kton.transferAll(to, false);
@@ -157,6 +164,8 @@ const createTransferExtrinsic = async _ref => {
157
164
  // }
158
165
  } else if (_constants._TRANSFER_CHAIN_GROUP.sora_substrate.includes(networkKey) && isTxAssetsSupported) {
159
166
  transfer = api.tx.assets.transfer((0, _utils2._getTokenOnChainAssetId)(tokenInfo), to, value);
167
+ } else if (_constants._TRANSFER_CHAIN_GROUP.avail.includes(networkKey)) {
168
+ /* empty */
160
169
  } else if (isTxBalancesSupported && (0, _utils2._isNativeToken)(tokenInfo)) {
161
170
  if (transferAll) {
162
171
  transfer = api.tx.balances.transferAll(to, false);
@@ -67,7 +67,10 @@ class WasmNftApi extends _nft.BaseNftApi {
67
67
  });
68
68
  const _attributeCount = _onChainAttributeCount === null || _onChainAttributeCount === void 0 ? void 0 : (_onChainAttributeCoun = _onChainAttributeCount.output) === null || _onChainAttributeCoun === void 0 ? void 0 : _onChainAttributeCoun.toJSON();
69
69
  const onChainAttributeCount = _onChainAttributeCount.output ? (_attributeCount === null || _attributeCount === void 0 ? void 0 : _attributeCount.ok) || (_attributeCount === null || _attributeCount === void 0 ? void 0 : _attributeCount.Ok) : '0';
70
- return parseInt(onChainAttributeCount) !== 0;
70
+ if (!_onChainAttributeCount.result.isOk) {
71
+ return false;
72
+ }
73
+ return !!onChainAttributeCount && parseInt(onChainAttributeCount) !== 0;
71
74
  }
72
75
  parseFeaturedTokenUri(tokenUri) {
73
76
  if (!tokenUri || tokenUri.length === 0) {
@@ -124,6 +124,9 @@ function subscribeEssentialChainStakingMetadata(substrateApiMap, chainInfoMap, c
124
124
 
125
125
  // eslint-disable-next-line @typescript-eslint/no-misused-promises
126
126
  Object.values(chainInfoMap).forEach(async chainInfo => {
127
+ if (!substrateApiMap[chainInfo.slug]) {
128
+ return;
129
+ }
127
130
  const substrateApi = await substrateApiMap[chainInfo.slug].isReady;
128
131
  if (_constants._STAKING_CHAIN_GROUP.astar.includes(chainInfo.slug)) {
129
132
  const unsub = await (0, _astar.subscribeAstarStakingMetadata)(chainInfo.slug, substrateApi, callback);
@@ -165,10 +165,11 @@ async function subscribeParaChainNominatorMetadata(chainInfo, address, substrate
165
165
  const roundInfo = _roundInfo.toPrimitive();
166
166
  const currentRound = roundInfo.current;
167
167
  await Promise.all(delegatorState.delegations.map(async delegation => {
168
- const [_delegationScheduledRequests, _identity, _collatorInfo] = await Promise.all([substrateApi.api.query.parachainStaking.delegationScheduledRequests(delegation.owner), substrateApi.api.query.identity.identityOf(delegation.owner), substrateApi.api.query.parachainStaking.candidateInfo(delegation.owner)]);
168
+ var _substrateApi$api$que;
169
+ const [_delegationScheduledRequests, _identity, _collatorInfo] = await Promise.all([substrateApi.api.query.parachainStaking.delegationScheduledRequests(delegation.owner), (_substrateApi$api$que = substrateApi.api.query.identity) === null || _substrateApi$api$que === void 0 ? void 0 : _substrateApi$api$que.identityOf(delegation.owner), substrateApi.api.query.parachainStaking.candidateInfo(delegation.owner)]);
169
170
  const collatorInfo = _collatorInfo.toPrimitive();
170
171
  const minDelegation = collatorInfo === null || collatorInfo === void 0 ? void 0 : collatorInfo.lowestTopDelegationAmount.toString();
171
- const identityInfo = _identity.toHuman();
172
+ const identityInfo = _identity === null || _identity === void 0 ? void 0 : _identity.toHuman();
172
173
  const delegationScheduledRequests = _delegationScheduledRequests.toPrimitive();
173
174
  const identity = (0, _utils.parseIdentity)(identityInfo);
174
175
  let hasUnstaking = false;
@@ -195,10 +195,11 @@ async function subscribeRelayChainNominatorMetadata(chainInfo, address, substrat
195
195
  if (nominations) {
196
196
  const validatorList = nominations.targets;
197
197
  await Promise.all(validatorList.map(async validatorAddress => {
198
+ var _chainApi$api$query$i;
198
199
  let nominationStatus = _KoniTypes.StakingStatus.NOT_EARNING;
199
- const [_identityInfo, _eraStaker] = await Promise.all([chainApi.api.query.identity.identityOf(validatorAddress), chainApi.api.query.staking.erasStakers(currentEra, validatorAddress)]);
200
+ 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)]);
200
201
  const eraStaker = _eraStaker.toPrimitive();
201
- const identityInfo = _identityInfo.toHuman();
202
+ const identityInfo = _identityInfo === null || _identityInfo === void 0 ? void 0 : _identityInfo.toHuman();
202
203
  const identity = (0, _utils.parseIdentity)(identityInfo);
203
204
  const topNominators = eraStaker.others.map(nominator => {
204
205
  return nominator.who;
@@ -54,7 +54,7 @@ function transformPoolName(input) {
54
54
  }
55
55
  function parseIdentity(identityInfo) {
56
56
  let identity;
57
- if (identityInfo !== null) {
57
+ if (identityInfo) {
58
58
  var _identityInfo$info, _identityInfo$info$di, _identityInfo$info2, _identityInfo$info2$w, _identityInfo$info3, _identityInfo$info3$r, _identityInfo$info4, _identityInfo$info4$t;
59
59
  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;
60
60
  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;
@@ -11,15 +11,16 @@ var _utils2 = require("@subwallet/extension-base/services/chain-service/utils");
11
11
 
12
12
  function getExtrinsicByPolkadotXcmPallet(tokenInfo, originChainInfo, destinationChainInfo, recipientAddress, value, api) {
13
13
  const weightParam = (0, _utils.getDestWeight)();
14
- const beneficiary = (0, _utils.getBeneficiary)(destinationChainInfo, recipientAddress);
15
- const destination = (0, _utils.getDestinationChainLocation)(originChainInfo, destinationChainInfo);
16
- let assetLocation = (0, _utils.getTokenLocation)(tokenInfo, value);
14
+ const version = ['statemint', 'statemine', 'shiden'].includes(originChainInfo.slug) ? 'V3' : 'V1';
15
+ const beneficiary = (0, _utils.getBeneficiary)(destinationChainInfo, recipientAddress, version);
16
+ const destination = (0, _utils.getDestinationChainLocation)(originChainInfo, destinationChainInfo, version);
17
+ let assetLocation = (0, _utils.getTokenLocation)(tokenInfo, value, version);
17
18
  let method = 'limitedReserveTransferAssets';
18
19
  if (['astar', 'shiden'].includes(originChainInfo.slug) && !(0, _utils2._isNativeToken)(tokenInfo)) {
19
20
  method = 'limitedReserveWithdrawAssets';
20
21
  } else if (['statemint', 'statemine'].includes(originChainInfo.slug) && (0, _utils2._isSubstrateRelayChain)(destinationChainInfo)) {
21
22
  assetLocation = {
22
- V1: [{
23
+ [version]: [{
23
24
  id: {
24
25
  Concrete: {
25
26
  parents: 1,
@@ -25,6 +25,6 @@ function getCurrencyId(tokenInfo) {
25
25
  }
26
26
  function getExtrinsicByXtokensPallet(tokenInfo, originChainInfo, destinationChainInfo, recipientAddress, value, api) {
27
27
  const weightParam = ['pioneer', 'hydradx_main'].includes(originChainInfo.slug) ? _utils.FOUR_INSTRUCTIONS_WEIGHT : (0, _utils.getDestWeight)();
28
- const destVersion = ['moonbeam', 'moonriver'].includes(originChainInfo.slug) ? 'V3' : undefined;
28
+ const destVersion = ['moonbeam', 'moonriver', 'bifrost_dot'].includes(originChainInfo.slug) ? 'V3' : undefined;
29
29
  return api.tx.xTokens.transfer(getCurrencyId(tokenInfo), value, (0, _utils.getDestMultilocation)(destinationChainInfo, recipientAddress, destVersion), weightParam);
30
30
  }
@@ -11,7 +11,7 @@ var _utils = require("@subwallet/extension-base/koni/api/xcm/utils");
11
11
  // this pallet is only used by Relaychains
12
12
  function getExtrinsicByXcmPalletPallet(tokenInfo, originChainInfo, destinationChainInfo, recipientAddress, value, api) {
13
13
  const weightParam = (0, _utils.getDestWeight)();
14
- const xcmVer = ['kusama'].includes(originChainInfo.slug) ? 'V3' : 'V1';
14
+ const xcmVer = 'V3';
15
15
  const destination = (0, _utils.getDestinationChainLocation)(originChainInfo, destinationChainInfo, xcmVer);
16
16
  const beneficiary = (0, _utils.getBeneficiary)(destinationChainInfo, recipientAddress, xcmVer);
17
17
  const tokenLocation = (0, _utils.getTokenLocation)(tokenInfo, value, xcmVer);
@@ -60,10 +60,11 @@ class KoniCron {
60
60
  delete this.cronMap[key];
61
61
  });
62
62
  };
63
- start = () => {
63
+ start = async () => {
64
64
  if (this.status === 'running') {
65
65
  return;
66
66
  }
67
+ await Promise.all([this.state.eventService.waitKeyringReady, this.state.eventService.waitAssetReady]);
67
68
  const currentAccountInfo = this.state.keyringService.currentAccount;
68
69
  const commonReloadEvents = ['account.add', 'account.remove', 'account.updateCurrent', 'chain.add', 'asset.updateState'];
69
70
  this.eventHandler = (events, eventTypes) => {
@@ -103,13 +104,9 @@ class KoniCron {
103
104
  needUpdateStaking && this.removeCron('updateChainStakingMetadata');
104
105
 
105
106
  // Chains
106
- chainUpdated && this.removeCron('checkStatusApiMap');
107
- chainUpdated && this.removeCron('recoverApiMap');
108
107
  if (this.checkNetworkAvailable(serviceInfo)) {
109
108
  // only add cron job if there's at least 1 active network
110
109
  (commonReload || needUpdateNft) && this.addCron('refreshNft', this.refreshNft(address, serviceInfo.chainApiMap, this.state.getSmartContractNfts(), this.state.getActiveChainInfoMap()), _constants.CRON_REFRESH_NFT_INTERVAL);
111
- chainUpdated && this.addCron('checkStatusApiMap', this.updateApiMapStatus, _constants.CRON_GET_API_MAP_STATUS, false);
112
- chainUpdated && this.addCron('recoverApiMap', this.recoverApiMap, _constants.CRON_AUTO_RECOVER_DOTSAMA_INTERVAL, false);
113
110
  (commonReload || needUpdateStaking || stakingSubmitted) && this.addCron('refreshStakingReward', this.refreshStakingReward(address), _constants.CRON_REFRESH_STAKING_REWARD_INTERVAL);
114
111
  (commonReload || needUpdateStaking || stakingSubmitted) && this.addCron('refreshPoolingStakingReward', this.refreshStakingRewardFastInterval(address), _constants.CRON_REFRESH_STAKING_REWARD_FAST_INTERVAL);
115
112
  needUpdateStaking && this.addCron('updateChainStakingMetadata', this.updateChainStakingMetadata(serviceInfo.chainInfoMap, serviceInfo.chainStateMap, serviceInfo.chainApiMap.substrate), _constants.CRON_REFRESH_CHAIN_STAKING_METADATA);
@@ -124,8 +121,6 @@ class KoniCron {
124
121
  if (Object.keys(this.state.getSubstrateApiMap()).length !== 0 || Object.keys(this.state.getEvmApiMap()).length !== 0) {
125
122
  this.resetNft(currentAccountInfo.address);
126
123
  this.addCron('refreshNft', this.refreshNft(currentAccountInfo.address, this.state.getApiMap(), this.state.getSmartContractNfts(), this.state.getActiveChainInfoMap()), _constants.CRON_REFRESH_NFT_INTERVAL);
127
- this.addCron('checkStatusApiMap', this.updateApiMapStatus, _constants.CRON_GET_API_MAP_STATUS);
128
- this.addCron('recoverApiMap', this.recoverApiMap, _constants.CRON_AUTO_RECOVER_DOTSAMA_INTERVAL, false);
129
124
  this.addCron('refreshStakingReward', this.refreshStakingReward(currentAccountInfo.address), _constants.CRON_REFRESH_STAKING_REWARD_INTERVAL);
130
125
  this.addCron('refreshPoolingStakingReward', this.refreshStakingRewardFastInterval(currentAccountInfo.address), _constants.CRON_REFRESH_STAKING_REWARD_FAST_INTERVAL);
131
126
  this.addCron('updateChainStakingMetadata', this.updateChainStakingMetadata(this.state.getChainInfoMap(), this.state.getChainStateMap(), this.state.getSubstrateApiMap()), _constants.CRON_REFRESH_CHAIN_STAKING_METADATA);
@@ -134,7 +129,7 @@ class KoniCron {
134
129
  }
135
130
  this.status = 'running';
136
131
  };
137
- stop = () => {
132
+ stop = async () => {
138
133
  if (this.status === 'stopped') {
139
134
  return;
140
135
  }
@@ -150,27 +145,7 @@ class KoniCron {
150
145
  }
151
146
  this.removeAllCrons();
152
147
  this.status = 'stopped';
153
- };
154
- updateApiMapStatus = () => {
155
- this.state.chainService.updateApiMapStatus().catch(console.error);
156
- };
157
- recoverApiMap = () => {
158
- var _this$subscriptions;
159
- const apiMap = this.state.getApiMap();
160
- for (const [networkKey, apiProp] of Object.entries(apiMap.substrate)) {
161
- if (!apiProp.isApiConnected) {
162
- this.state.refreshSubstrateApi(networkKey);
163
- }
164
- }
165
- for (const [key, evmApi] of Object.entries(apiMap.evm)) {
166
- evmApi.api.eth.net.isListening().catch(() => {
167
- this.state.refreshWeb3Api(key);
168
- });
169
- }
170
- const {
171
- address
172
- } = this.state.keyringService.currentAccount;
173
- ((_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());
148
+ return Promise.resolve();
174
149
  };
175
150
  refreshNft = (address, apiMap, smartContractNfts, chainInfoMap) => {
176
151
  return () => {
@@ -1391,14 +1391,18 @@ class KoniExtension {
1391
1391
  });
1392
1392
  return historySubject.getValue();
1393
1393
  }
1394
- addContact(to) {
1395
- const toAddress = (0, _utils2.reformatAddress)(to);
1396
- const account = _uiKeyring.keyring.getAccount(toAddress);
1397
- const contact = _uiKeyring.keyring.getAddress(toAddress);
1398
- if (!account && (!contact || contact.meta.isRecent)) {
1399
- _uiKeyring.keyring.saveAddress(toAddress, {});
1400
- }
1401
- }
1394
+
1395
+ // Save address to contact
1396
+ // private addContact (to: string) {
1397
+ // const toAddress = reformatAddress(to);
1398
+ // const account = keyring.getAccount(toAddress);
1399
+ // const contact = keyring.getAddress(toAddress);
1400
+ //
1401
+ // if (!account && (!contact || contact.meta.isRecent)) {
1402
+ // keyring.saveAddress(toAddress, {});
1403
+ // }
1404
+ // }
1405
+
1402
1406
  validateTransfer(tokenSlug, from, to, value, transferAll) {
1403
1407
  const errors = [];
1404
1408
  const keypair = _uiKeyring.keyring.getPair(from);
@@ -1481,7 +1485,9 @@ class KoniExtension {
1481
1485
  throw error;
1482
1486
  }
1483
1487
  const transferNativeAmount = isTransferNativeToken ? transferAmount.value : '0';
1484
- this.addContact(to);
1488
+
1489
+ // this.addContact(to);
1490
+
1485
1491
  const additionalValidator = async inputTransaction => {
1486
1492
  const minAmount = tokenInfo.minAmount || '0';
1487
1493
  if (!isTransferNativeToken) {
@@ -1590,7 +1596,9 @@ class KoniExtension {
1590
1596
  });
1591
1597
  };
1592
1598
  }
1593
- this.addContact(to);
1599
+
1600
+ // this.addContact(to);
1601
+
1594
1602
  return await this.#koniState.transactionService.handleTransaction({
1595
1603
  url: _constants2.EXTENSION_REQUEST_URL,
1596
1604
  address: from,
@@ -1617,7 +1625,9 @@ class KoniExtension {
1617
1625
  const contractAddress = params.contractAddress;
1618
1626
  const tokenId = params.tokenId;
1619
1627
  const transaction = await (0, _transfer3.getERC721Transaction)(this.#koniState.getEvmApi(networkKey), contractAddress, senderAddress, recipientAddress, tokenId);
1620
- this.addContact(recipientAddress);
1628
+
1629
+ // this.addContact(recipientAddress);
1630
+
1621
1631
  return await this.#koniState.transactionService.handleTransaction({
1622
1632
  address: senderAddress,
1623
1633
  chain: networkKey,
@@ -1827,7 +1837,9 @@ class KoniExtension {
1827
1837
  const networkKey = params === null || params === void 0 ? void 0 : params.networkKey;
1828
1838
  const apiProps = this.#koniState.getSubstrateApi(networkKey);
1829
1839
  const extrinsic = !isPSP34 ? (0, _transfer2.getNftTransferExtrinsic)(networkKey, apiProps, senderAddress, recipientAddress, params || {}) : await (0, _wasm.getPSP34TransferExtrinsic)(networkKey, apiProps, senderAddress, recipientAddress, params || {});
1830
- this.addContact(recipientAddress);
1840
+
1841
+ // this.addContact(recipientAddress);
1842
+
1831
1843
  const rs = await this.#koniState.transactionService.handleTransaction({
1832
1844
  address: senderAddress,
1833
1845
  chain: networkKey,
@@ -12,6 +12,7 @@ var _subscriptions = require("@subwallet/extension-base/background/handlers/subs
12
12
  var _KoniTypes = require("@subwallet/extension-base/background/KoniTypes");
13
13
  var _constants = require("@subwallet/extension-base/constants");
14
14
  var _balanceService = require("@subwallet/extension-base/services/balance-service");
15
+ var _types = require("@subwallet/extension-base/services/base/types");
15
16
  var _chainService = require("@subwallet/extension-base/services/chain-service");
16
17
  var _constants2 = require("@subwallet/extension-base/services/chain-service/constants");
17
18
  var _utils = require("@subwallet/extension-base/services/chain-service/utils");
@@ -29,6 +30,7 @@ var _subscanChainMap = require("@subwallet/extension-base/services/subscan-servi
29
30
  var _transactionService = _interopRequireDefault(require("@subwallet/extension-base/services/transaction-service"));
30
31
  var _AccountRef = _interopRequireDefault(require("@subwallet/extension-base/stores/AccountRef"));
31
32
  var _parseTransaction = require("@subwallet/extension-base/utils/eth/parseTransaction");
33
+ var _promise = require("@subwallet/extension-base/utils/promise");
32
34
  var _decode = require("@subwallet/keyring/pair/decode");
33
35
  var _uiKeyring = require("@subwallet/ui-keyring");
34
36
  var _ethSimpleKeyring = _interopRequireDefault(require("eth-simple-keyring"));
@@ -80,14 +82,17 @@ class KoniState {
80
82
  data: {}
81
83
  };
82
84
  lazyMap = {};
83
- ready = false;
85
+ // Handle the general status of the extension
86
+ generalStatus = _types.ServiceStatus.INITIALIZING;
87
+ waitSleeping = null;
88
+ waitStarting = null;
84
89
  constructor() {
85
90
  let providers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
86
91
  this.providers = providers;
87
- this.dbService = new _DatabaseService.default();
88
92
  this.eventService = new _eventService.EventService();
89
- this.subscanService = new _subscanService.SubscanService();
93
+ this.dbService = new _DatabaseService.default(this.eventService);
90
94
  this.keyringService = new _keyringService.KeyringService(this.eventService);
95
+ this.subscanService = new _subscanService.SubscanService();
91
96
  this.notificationService = new _NotificationService.default();
92
97
  this.chainService = new _chainService.ChainService(this.dbService, this.eventService);
93
98
  this.settingService = new _SettingService.default();
@@ -200,6 +205,7 @@ class KoniState {
200
205
  return balanceMap;
201
206
  }
202
207
  async init() {
208
+ await this.eventService.waitCryptoReady;
203
209
  await this.chainService.init();
204
210
  await this.migrationService.run();
205
211
  this.eventService.emit('chain.ready', true);
@@ -223,14 +229,9 @@ class KoniState {
223
229
  });
224
230
  }
225
231
  onReady() {
226
- this.subscription.start();
227
- this.cron.start();
228
- this.historyService.start().catch(console.error);
229
- this.priceService.start().catch(console.error);
230
- this.ready = true;
231
- }
232
- isReady() {
233
- return this.ready;
232
+ // Todo: Need optimize in the future to, only run important services onetime to save resources
233
+ // Todo: If optimize must check activity of web-runner of mobile
234
+ this._start().catch(console.error);
234
235
  }
235
236
  updateKeyringState() {
236
237
  let isReady = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
@@ -853,7 +854,7 @@ class KoniState {
853
854
  return this.chainService.getActiveChainInfoMap();
854
855
  }
855
856
  async upsertChainInfo(data) {
856
- const newNativeTokenSlug = this.chainService.upsertChain(data);
857
+ const newNativeTokenSlug = await this.chainService.upsertChain(data);
857
858
  if (newNativeTokenSlug) {
858
859
  await this.chainService.updateAssetSetting(newNativeTokenSlug, {
859
860
  visible: true
@@ -1361,19 +1362,69 @@ class KoniState {
1361
1362
  });
1362
1363
  }
1363
1364
  async sleep() {
1364
- this.cron.stop();
1365
- this.subscription.stop();
1365
+ // Wait starting finish before sleep to avoid conflict
1366
+ this.generalStatus === _types.ServiceStatus.STARTING && this.waitStarting && (await this.waitStarting);
1367
+ this.eventService.emit('general.sleep', true);
1368
+
1369
+ // Avoid sleep multiple times
1370
+ if (this.generalStatus === _types.ServiceStatus.STOPPED) {
1371
+ return;
1372
+ }
1373
+
1374
+ // Continue wait existed stopping process
1375
+ if (this.generalStatus === _types.ServiceStatus.STOPPING) {
1376
+ await this.waitSleeping;
1377
+ return;
1378
+ }
1379
+ const sleeping = (0, _promise.createPromiseHandler)();
1380
+ this.generalStatus = _types.ServiceStatus.STOPPING;
1381
+ this.waitSleeping = sleeping.promise;
1382
+
1383
+ // Stopping services
1384
+ await Promise.all([this.cron.stop(), this.subscription.stop()]);
1366
1385
  await this.pauseAllNetworks(undefined, 'IDLE mode');
1367
- await this.historyService.stop();
1368
- await this.priceService.stop();
1386
+ await Promise.all([this.historyService.stop(), this.priceService.stop()]);
1387
+
1388
+ // Complete sleeping
1389
+ sleeping.resolve();
1390
+ this.generalStatus = _types.ServiceStatus.STOPPED;
1391
+ this.waitSleeping = null;
1392
+ }
1393
+ async _start() {
1394
+ let isWakeup = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
1395
+ // Wait sleep finish before start to avoid conflict
1396
+ this.generalStatus === _types.ServiceStatus.STOPPING && this.waitSleeping && (await this.waitSleeping);
1397
+
1398
+ // Avoid start multiple times
1399
+ if (this.generalStatus === _types.ServiceStatus.STARTED) {
1400
+ return;
1401
+ }
1402
+
1403
+ // Continue wait existed starting process
1404
+ if (this.generalStatus === _types.ServiceStatus.STARTING) {
1405
+ await this.waitStarting;
1406
+ return;
1407
+ }
1408
+ const starting = (0, _promise.createPromiseHandler)();
1409
+ this.generalStatus = _types.ServiceStatus.STARTING;
1410
+ this.waitStarting = starting.promise;
1411
+
1412
+ // Resume all networks if wakeup from sleep
1413
+ if (isWakeup) {
1414
+ await this.resumeAllNetworks();
1415
+ this.eventService.emit('general.wakeup', true);
1416
+ }
1417
+
1418
+ // Start services
1419
+ await Promise.all([this.cron.start(), this.subscription.start(), this.historyService.start(), this.priceService.start()]);
1420
+
1421
+ // Complete starting
1422
+ starting.resolve();
1423
+ this.waitStarting = null;
1424
+ this.generalStatus = _types.ServiceStatus.STARTED;
1369
1425
  }
1370
1426
  async wakeup() {
1371
- await this.eventService.waitChainReady;
1372
- await this.resumeAllNetworks();
1373
- this.cron.start();
1374
- this.subscription.start();
1375
- await this.historyService.start();
1376
- await this.priceService.start();
1427
+ await this._start(true);
1377
1428
  }
1378
1429
  cancelSubscription(id) {
1379
1430
  if ((0, _subscriptions.isSubscriptionRunning)(id)) {
@@ -1434,7 +1485,7 @@ class KoniState {
1434
1485
  });
1435
1486
  });
1436
1487
  if (needActiveTokens.length) {
1437
- this.chainService.enableChains(needEnableChains);
1488
+ await this.chainService.enableChains(needEnableChains);
1438
1489
  this.chainService.setAssetSettings({
1439
1490
  ...currentAssetSettings
1440
1491
  });
@@ -59,8 +59,9 @@ class KoniSubscription {
59
59
  delete this.subscriptionMap.stakingOnChain;
60
60
  }
61
61
  }
62
- start() {
62
+ async start() {
63
63
  var _this$state$keyringSe;
64
+ await Promise.all([this.state.eventService.waitKeyringReady, this.state.eventService.waitAssetReady]);
64
65
  const currentAddress = (_this$state$keyringSe = this.state.keyringService.currentAccount) === null || _this$state$keyringSe === void 0 ? void 0 : _this$state$keyringSe.address;
65
66
  if (currentAddress) {
66
67
  this.subscribeBalancesAndCrowdloans(currentAddress, this.state.getChainInfoMap(), this.state.getChainStateMap(), this.state.getSubstrateApiMap(), this.state.getEvmApiMap());
@@ -82,12 +83,13 @@ class KoniSubscription {
82
83
  };
83
84
  this.state.eventService.onLazy(this.eventHandler);
84
85
  }
85
- stop() {
86
+ async stop() {
86
87
  if (this.eventHandler) {
87
88
  this.state.eventService.offLazy(this.eventHandler);
88
89
  this.eventHandler = undefined;
89
90
  }
90
91
  this.stopAllSubscription();
92
+ return Promise.resolve();
91
93
  }
92
94
  subscribeBalancesAndCrowdloans(address, chainInfoMap, chainStateMap, substrateApiMap, web3ApiMap, onlyRunOnFirstTime) {
93
95
  this.state.handleSwitchAccount(address).then(() => {
@@ -13,6 +13,6 @@ const packageInfo = {
13
13
  name: '@subwallet/extension-base',
14
14
  path: typeof __dirname === 'string' ? __dirname : 'auto',
15
15
  type: 'cjs',
16
- version: '1.0.9-2'
16
+ version: '1.0.11-0'
17
17
  };
18
18
  exports.packageInfo = packageInfo;
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports._XCM_TYPE = exports._XCM_CHAIN_GROUP = exports._TRANSFER_NOT_SUPPORTED_CHAINS = exports._TRANSFER_CHAIN_GROUP = exports._SUBSTRATE_DEFAULT_INFLATION_PARAMS = exports._STAKING_ERA_LENGTH_MAP = exports._STAKING_CHAIN_GROUP = exports._PURE_EVM_CHAINS = exports._PREDEFINED_SINGLE_MODES = exports._PARACHAIN_INFLATION_DISTRIBUTION = exports._NFT_CHAIN_GROUP = exports._MULTI_CHAIN_ASSET_SRC = exports._KNOWN_CHAIN_INFLATION_PARAMS = exports._DEFAULT_ACTIVE_CHAINS = exports._CHAIN_LOGO_MAP_SRC = exports._CHAIN_INFO_SRC = exports._CHAIN_ASSET_SRC = exports._BALANCE_TOKEN_GROUP = exports._BALANCE_PARSING_CHAIN_GROUP = exports._BALANCE_CHAIN_GROUP = exports._ASSET_REF_SRC = exports._ASSET_LOGO_MAP_SRC = exports._API_OPTIONS_CHAIN_GROUP = exports.API_MAX_RETRY = exports.API_AUTO_CONNECT_MS = void 0;
6
+ exports._XCM_TYPE = exports._XCM_CHAIN_GROUP = exports._TRANSFER_NOT_SUPPORTED_CHAINS = exports._TRANSFER_CHAIN_GROUP = exports._SUBSTRATE_DEFAULT_INFLATION_PARAMS = exports._STAKING_ERA_LENGTH_MAP = exports._STAKING_CHAIN_GROUP = exports._PURE_EVM_CHAINS = exports._PREDEFINED_SINGLE_MODES = exports._PARACHAIN_INFLATION_DISTRIBUTION = exports._NFT_CHAIN_GROUP = exports._MULTI_CHAIN_ASSET_SRC = exports._KNOWN_CHAIN_INFLATION_PARAMS = exports._DEFAULT_ACTIVE_CHAINS = exports._CHAIN_LOGO_MAP_SRC = exports._CHAIN_INFO_SRC = exports._CHAIN_ASSET_SRC = exports._BALANCE_TOKEN_GROUP = exports._BALANCE_PARSING_CHAIN_GROUP = exports._BALANCE_CHAIN_GROUP = exports._ASSET_REF_SRC = exports._ASSET_LOGO_MAP_SRC = exports._API_OPTIONS_CHAIN_GROUP = exports.API_MAX_RETRY = exports.API_CONNECT_TIMEOUT = exports.API_AUTO_CONNECT_MS = void 0;
7
7
  var _chainList = require("@subwallet/chain-list");
8
8
  var _types = require("@subwallet/chain-list/types");
9
9
  var _KoniTypes = require("@subwallet/extension-base/background/KoniTypes");
@@ -12,6 +12,8 @@ var _KoniTypes = require("@subwallet/extension-base/background/KoniTypes");
12
12
 
13
13
  const API_AUTO_CONNECT_MS = 3000;
14
14
  exports.API_AUTO_CONNECT_MS = API_AUTO_CONNECT_MS;
15
+ const API_CONNECT_TIMEOUT = 30000;
16
+ exports.API_CONNECT_TIMEOUT = API_CONNECT_TIMEOUT;
15
17
  const API_MAX_RETRY = 2;
16
18
  exports.API_MAX_RETRY = API_MAX_RETRY;
17
19
  const _API_OPTIONS_CHAIN_GROUP = {
@@ -198,7 +200,8 @@ const _TRANSFER_CHAIN_GROUP = {
198
200
  bitcountry: ['pioneer', 'bitcountry', 'bifrost', 'bifrost_dot'],
199
201
  statemine: ['statemint', 'statemine', 'darwinia2', 'astar', 'shiden', 'shibuya', 'parallel'],
200
202
  riochain: ['riochain'],
201
- sora_substrate: ['sora_substrate']
203
+ sora_substrate: ['sora_substrate'],
204
+ avail: ['kate']
202
205
  };
203
206
  exports._TRANSFER_CHAIN_GROUP = _TRANSFER_CHAIN_GROUP;
204
207
  const _BALANCE_PARSING_CHAIN_GROUP = {
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.SHORT_RETRY_TIME = exports.LONG_RETRY_TIME = exports.FIRST_RECONNECT_TIME = exports.AbstractChainHandler = void 0;
7
+ var _rxjs = require("rxjs");
8
+ // Copyright 2019-2022 @subwallet/extension-base authors & contributors
9
+ // SPDX-License-Identifier: Apache-2.0
10
+
11
+ const SHORT_RECOVER_RETRY = 3;
12
+ const FIRST_RECONNECT_TIME = 3000;
13
+ exports.FIRST_RECONNECT_TIME = FIRST_RECONNECT_TIME;
14
+ const SHORT_RETRY_TIME = 15000;
15
+ exports.SHORT_RETRY_TIME = SHORT_RETRY_TIME;
16
+ const LONG_RETRY_TIME = 60000;
17
+ exports.LONG_RETRY_TIME = LONG_RETRY_TIME;
18
+ class AbstractChainHandler {
19
+ apiStateMapSubject = new _rxjs.BehaviorSubject({});
20
+ // Recover retry times
21
+
22
+ isSleeping = false;
23
+ constructor(parent) {
24
+ this.parent = parent;
25
+ this.recoverMap = {};
26
+ }
27
+ handleConnect(chain, isConnected) {
28
+ const currentMap = this.apiStateMapSubject.getValue();
29
+ const currentStatus = currentMap[chain];
30
+
31
+ // Update api state
32
+ if (currentStatus !== isConnected) {
33
+ this.apiStateMapSubject.next({
34
+ ...currentMap,
35
+ [chain]: isConnected
36
+ });
37
+ }
38
+
39
+ // Handle connection change
40
+ if (!isConnected) {
41
+ this.handleRecover(chain);
42
+ }
43
+ }
44
+
45
+ // Recover api if it is disconnected
46
+ handleRecover(chain) {
47
+ var _this$parent, _this$parent$getChain;
48
+ // Not recover inactive chain
49
+ if (!((_this$parent = this.parent) !== null && _this$parent !== void 0 && (_this$parent$getChain = _this$parent.getChainStateByKey(chain)) !== null && _this$parent$getChain !== void 0 && _this$parent$getChain.active)) {
50
+ this.cancelRecover(chain);
51
+ return;
52
+ }
53
+
54
+ // Get retry record
55
+ const retryRecord = this.recoverMap[chain] || {
56
+ retryTimes: 0
57
+ };
58
+ clearTimeout(retryRecord.timeout);
59
+ const retryTimes = retryRecord.retryTimes;
60
+ // Slow down recover frequency if increasing recover times
61
+ const retryTimeout = retryTimes === 0 ? FIRST_RECONNECT_TIME : retryTimes >= SHORT_RECOVER_RETRY ? LONG_RETRY_TIME : SHORT_RETRY_TIME;
62
+
63
+ // Recover api after retry timeout
64
+ const timeout = setTimeout(() => {
65
+ var _this$getApiByChain;
66
+ if ((_this$getApiByChain = this.getApiByChain(chain)) !== null && _this$getApiByChain !== void 0 && _this$getApiByChain.isApiConnected || this.isSleeping) {
67
+ // Cancel recover if api is connected
68
+ this.cancelRecover(chain);
69
+ } else {
70
+ this.recoverApi(chain);
71
+ this.handleRecover(chain); // This will be cancel if api is connected
72
+ }
73
+ }, retryTimeout);
74
+ this.recoverMap[chain] = {
75
+ ...retryRecord,
76
+ retryTimes: retryTimes + 1,
77
+ timeout
78
+ };
79
+ }
80
+ cancelRecover(chain) {
81
+ const retryRecord = this.recoverMap[chain];
82
+ if (retryRecord) {
83
+ clearTimeout(retryRecord.timeout);
84
+ delete this.recoverMap[chain];
85
+ }
86
+ }
87
+ cancelAllRecover() {
88
+ Object.keys(this.recoverMap).forEach(chain => {
89
+ this.cancelRecover(chain);
90
+ });
91
+ }
92
+ }
93
+ exports.AbstractChainHandler = AbstractChainHandler;