@subwallet/extension-base 0.8.1-wr → 0.8.1-wr2x

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 (849) hide show
  1. package/background/KoniTypes.d.ts +630 -485
  2. package/background/KoniTypes.js +134 -51
  3. package/background/RequestBytesSign.d.ts +1 -1
  4. package/background/RequestExtrinsicSign.d.ts +1 -1
  5. package/background/errors/EvmProviderError.d.ts +6 -0
  6. package/background/errors/EvmProviderError.js +45 -0
  7. package/background/errors/ProviderError.d.ts +6 -0
  8. package/background/errors/ProviderError.js +32 -0
  9. package/background/errors/SWError.d.ts +12 -0
  10. package/background/errors/SWError.js +18 -0
  11. package/background/errors/TransactionError.d.ts +6 -0
  12. package/background/errors/TransactionError.js +57 -0
  13. package/background/handlers/Extension.d.ts +3 -1
  14. package/background/handlers/Extension.js +7 -11
  15. package/background/handlers/State.d.ts +5 -1
  16. package/background/handlers/State.js +53 -30
  17. package/background/handlers/Tabs.js +2 -2
  18. package/background/types.d.ts +20 -13
  19. package/background/warnings/SWWarning.d.ts +7 -0
  20. package/{errors/SubWalletProviderError.js → background/warnings/SWWarning.js} +4 -3
  21. package/background/warnings/TransactionWarning.d.ts +6 -0
  22. package/background/warnings/TransactionWarning.js +19 -0
  23. package/cjs/background/KoniTypes.js +134 -58
  24. package/cjs/background/errors/EvmProviderError.js +52 -0
  25. package/cjs/background/errors/EvmRpcError.js +21 -0
  26. package/cjs/background/errors/ProviderError.js +39 -0
  27. package/cjs/background/errors/SWError.js +25 -0
  28. package/cjs/background/errors/SubWalletProviderError.js +17 -0
  29. package/cjs/background/errors/TransactionError.js +63 -0
  30. package/cjs/background/handlers/Extension.js +7 -10
  31. package/cjs/background/handlers/State.js +56 -32
  32. package/cjs/background/handlers/Tabs.js +2 -2
  33. package/cjs/background/warnings/SWWarning.js +18 -0
  34. package/cjs/background/warnings/TransactionWarning.js +26 -0
  35. package/cjs/constants/ethereum.js +19 -0
  36. package/cjs/constants/i18n.js +32 -0
  37. package/cjs/constants/index.js +59 -0
  38. package/cjs/defaults.js +1 -1
  39. package/cjs/koni/api/coingecko.js +46 -0
  40. package/cjs/koni/api/donate.js +20 -0
  41. package/cjs/koni/api/dotsama/balance.js +724 -0
  42. package/cjs/koni/api/dotsama/crowdloan.js +145 -0
  43. package/cjs/koni/api/dotsama/parseTransaction.js +100 -0
  44. package/cjs/koni/api/dotsama/transfer.js +239 -0
  45. package/cjs/koni/api/dotsama/typeRegistry.js +13 -0
  46. package/cjs/koni/api/nft/acala_nft/index.js +161 -0
  47. package/cjs/koni/api/nft/bit.country/index.js +135 -0
  48. package/cjs/koni/api/nft/config.js +144 -0
  49. package/cjs/koni/api/nft/evm_nft/index.js +172 -0
  50. package/cjs/koni/api/nft/index.js +152 -0
  51. package/cjs/koni/api/nft/karura_nft/index.js +165 -0
  52. package/cjs/koni/api/nft/nft.js +96 -0
  53. package/cjs/koni/api/nft/quartz_nft/index.js +215 -0
  54. package/cjs/koni/api/nft/quartz_nft/protobuf.js +85 -0
  55. package/cjs/koni/api/nft/rmrk_nft/index.js +266 -0
  56. package/cjs/koni/api/nft/statemine_nft/index.js +152 -0
  57. package/cjs/koni/api/nft/transfer.js +146 -0
  58. package/cjs/koni/api/nft/unique_nft/index.js +200 -0
  59. package/cjs/koni/api/nft/unique_nft/protobuf.js +93 -0
  60. package/cjs/koni/api/nft/unique_nft/runtime_types.js +122 -0
  61. package/cjs/koni/api/nft/unique_nft/uniqueNftV2.js +70 -0
  62. package/cjs/koni/api/nft/wasm_nft/index.js +297 -0
  63. package/cjs/koni/api/nft/wasm_nft/utils.js +19 -0
  64. package/cjs/koni/api/staking/bonding/amplitude.js +183 -0
  65. package/cjs/koni/api/staking/bonding/astar.js +458 -0
  66. package/cjs/koni/api/staking/bonding/index.js +104 -0
  67. package/cjs/koni/api/staking/bonding/paraChain.js +254 -0
  68. package/cjs/koni/api/staking/bonding/relayChain.js +349 -0
  69. package/cjs/koni/api/staking/bonding/utils.js +167 -0
  70. package/cjs/koni/api/staking/config.js +47 -0
  71. package/cjs/koni/api/staking/index.js +77 -0
  72. package/cjs/koni/api/staking/paraChain.js +226 -0
  73. package/cjs/koni/api/staking/relayChain.js +171 -0
  74. package/cjs/koni/api/staking/subsquidStaking.js +109 -0
  75. package/cjs/koni/api/staking/utils.js +17 -0
  76. package/cjs/koni/api/subquery/__generated__/DotSamaHistory.js +1 -0
  77. package/cjs/koni/api/subquery/subquery.js +21 -0
  78. package/cjs/koni/api/tokens/evm/balance.js +15 -0
  79. package/cjs/koni/api/tokens/evm/transfer.js +102 -0
  80. package/cjs/koni/api/tokens/evm/web3.js +17 -0
  81. package/cjs/koni/api/tokens/index.js +17 -0
  82. package/cjs/koni/api/tokens/wasm/index.js +77 -0
  83. package/cjs/koni/api/xcm/astar.js +160 -0
  84. package/cjs/koni/api/xcm/index.js +214 -0
  85. package/cjs/koni/api/xcm/moonbeamXcm.js +80 -0
  86. package/cjs/koni/api/xcm/statemintXcm.js +197 -0
  87. package/cjs/koni/api/xcm/substrateXcm.js +213 -0
  88. package/cjs/koni/api/xcm/utils.js +80 -0
  89. package/cjs/koni/background/cron.js +249 -0
  90. package/cjs/koni/background/events.js +14 -0
  91. package/cjs/koni/background/handlers/Extension.js +3113 -0
  92. package/cjs/koni/background/handlers/Mobile.js +138 -0
  93. package/cjs/koni/background/handlers/State.js +1483 -0
  94. package/cjs/koni/background/handlers/Tabs.js +797 -0
  95. package/cjs/koni/background/handlers/index.js +90 -0
  96. package/cjs/koni/background/subscription.js +305 -0
  97. package/cjs/koni/migration/Base.js +20 -0
  98. package/cjs/koni/migration/index.js +45 -0
  99. package/cjs/koni/migration/scripts/ChangeRouteToHome.js +22 -0
  100. package/cjs/koni/migration/scripts/ClearOldStorage.js +24 -0
  101. package/cjs/koni/migration/scripts/RemoveWrongCrowdloan.js +19 -0
  102. package/cjs/koni/migration/scripts/RemoveWrongTransactionHistoriesFromStore.js +36 -0
  103. package/cjs/koni/migration/scripts/ResetTransactionHistoryEventIdx.js +21 -0
  104. package/cjs/koni/migration/scripts/index.js +22 -0
  105. package/cjs/koni/page/SubWalleEvmProvider.js +142 -0
  106. package/cjs/koni/page/index.js +16 -0
  107. package/cjs/page/index.js +3 -2
  108. package/cjs/services/balance-service/index.js +15 -0
  109. package/cjs/services/chain-service/constants.js +228 -0
  110. package/cjs/services/chain-service/handler/EvmChainHandler.js +144 -0
  111. package/cjs/services/chain-service/handler/SubstrateChainHandler.js +348 -0
  112. package/cjs/services/chain-service/handler/light-client/index.js +120 -0
  113. package/cjs/services/chain-service/handler/types.js +20 -0
  114. package/cjs/services/chain-service/heath-check/index.js +60 -0
  115. package/cjs/services/chain-service/helper/api-helper/chain/crust-maxwell.js +108 -0
  116. package/cjs/services/chain-service/helper/api-helper/chain/index.js +17 -0
  117. package/cjs/services/chain-service/helper/api-helper/index.js +35 -0
  118. package/cjs/services/chain-service/helper/api-helper/spec/acala.js +11 -0
  119. package/cjs/services/chain-service/helper/api-helper/spec/ajuna.js +22 -0
  120. package/cjs/services/chain-service/helper/api-helper/spec/altair.js +31 -0
  121. package/cjs/services/chain-service/helper/api-helper/spec/apron.js +24 -0
  122. package/cjs/services/chain-service/helper/api-helper/spec/ares-gladios.js +191 -0
  123. package/cjs/services/chain-service/helper/api-helper/spec/ares-parachain.js +192 -0
  124. package/cjs/services/chain-service/helper/api-helper/spec/astar.js +44 -0
  125. package/cjs/services/chain-service/helper/api-helper/spec/automata.js +43 -0
  126. package/cjs/services/chain-service/helper/api-helper/spec/basilisk.js +139 -0
  127. package/cjs/services/chain-service/helper/api-helper/spec/beresheet.js +12 -0
  128. package/cjs/services/chain-service/helper/api-helper/spec/bifrost-asgard.js +11 -0
  129. package/cjs/services/chain-service/helper/api-helper/spec/bifrost-parachain.js +11 -0
  130. package/cjs/services/chain-service/helper/api-helper/spec/bifrost.js +11 -0
  131. package/cjs/services/chain-service/helper/api-helper/spec/bitcountry-pioneer.js +11 -0
  132. package/cjs/services/chain-service/helper/api-helper/spec/bitcountry-rococo.js +122 -0
  133. package/cjs/services/chain-service/helper/api-helper/spec/bitcountry.js +84 -0
  134. package/cjs/services/chain-service/helper/api-helper/spec/canvas.js +31 -0
  135. package/cjs/services/chain-service/helper/api-helper/spec/centrifuge-chain.js +77 -0
  136. package/cjs/services/chain-service/helper/api-helper/spec/centrifuge.js +31 -0
  137. package/cjs/services/chain-service/helper/api-helper/spec/chainx.js +403 -0
  138. package/cjs/services/chain-service/helper/api-helper/spec/clover-rococo.js +68 -0
  139. package/cjs/services/chain-service/helper/api-helper/spec/clover.js +34 -0
  140. package/cjs/services/chain-service/helper/api-helper/spec/coinversation.js +24 -0
  141. package/cjs/services/chain-service/helper/api-helper/spec/competitors-club.js +84 -0
  142. package/cjs/services/chain-service/helper/api-helper/spec/crab.js +11 -0
  143. package/cjs/services/chain-service/helper/api-helper/spec/crown-sterling.js +55 -0
  144. package/cjs/services/chain-service/helper/api-helper/spec/crust.js +11 -0
  145. package/cjs/services/chain-service/helper/api-helper/spec/cumulus-test-parachain.js +24 -0
  146. package/cjs/services/chain-service/helper/api-helper/spec/darwinia.js +11 -0
  147. package/cjs/services/chain-service/helper/api-helper/spec/datahighway.js +240 -0
  148. package/cjs/services/chain-service/helper/api-helper/spec/dock-mainnet.js +16 -0
  149. package/cjs/services/chain-service/helper/api-helper/spec/dock-testnet.js +16 -0
  150. package/cjs/services/chain-service/helper/api-helper/spec/dolphin.js +29 -0
  151. package/cjs/services/chain-service/helper/api-helper/spec/dotmog.js +65 -0
  152. package/cjs/services/chain-service/helper/api-helper/spec/eave.js +416 -0
  153. package/cjs/services/chain-service/helper/api-helper/spec/edgeware.js +11 -0
  154. package/cjs/services/chain-service/helper/api-helper/spec/encointer-node-notee.js +75 -0
  155. package/cjs/services/chain-service/helper/api-helper/spec/encointer-node-teeproxy.js +52 -0
  156. package/cjs/services/chain-service/helper/api-helper/spec/encointer-para.js +79 -0
  157. package/cjs/services/chain-service/helper/api-helper/spec/equilibrium.js +109 -0
  158. package/cjs/services/chain-service/helper/api-helper/spec/fantour.js +70 -0
  159. package/cjs/services/chain-service/helper/api-helper/spec/galital-parachain.js +65 -0
  160. package/cjs/services/chain-service/helper/api-helper/spec/galital.js +70 -0
  161. package/cjs/services/chain-service/helper/api-helper/spec/galois.js +54 -0
  162. package/cjs/services/chain-service/helper/api-helper/spec/gamepower.js +71 -0
  163. package/cjs/services/chain-service/helper/api-helper/spec/genshiro.js +31 -0
  164. package/cjs/services/chain-service/helper/api-helper/spec/hanonycash.js +33 -0
  165. package/cjs/services/chain-service/helper/api-helper/spec/hydrate.js +59 -0
  166. package/cjs/services/chain-service/helper/api-helper/spec/idavoll.js +24 -0
  167. package/cjs/services/chain-service/helper/api-helper/spec/index.js +272 -0
  168. package/cjs/services/chain-service/helper/api-helper/spec/integritee.js +35 -0
  169. package/cjs/services/chain-service/helper/api-helper/spec/interbtc.js +60 -0
  170. package/cjs/services/chain-service/helper/api-helper/spec/ipse.js +113 -0
  171. package/cjs/services/chain-service/helper/api-helper/spec/jupiter-rococo.js +24 -0
  172. package/cjs/services/chain-service/helper/api-helper/spec/jupiter.js +70 -0
  173. package/cjs/services/chain-service/helper/api-helper/spec/khala.js +11 -0
  174. package/cjs/services/chain-service/helper/api-helper/spec/kilt.js +11 -0
  175. package/cjs/services/chain-service/helper/api-helper/spec/konomi.js +24 -0
  176. package/cjs/services/chain-service/helper/api-helper/spec/kpron.js +24 -0
  177. package/cjs/services/chain-service/helper/api-helper/spec/kulupu.js +64 -0
  178. package/cjs/services/chain-service/helper/api-helper/spec/kusari.js +45 -0
  179. package/cjs/services/chain-service/helper/api-helper/spec/kylin.js +36 -0
  180. package/cjs/services/chain-service/helper/api-helper/spec/laminar.js +11 -0
  181. package/cjs/services/chain-service/helper/api-helper/spec/litentry.js +24 -0
  182. package/cjs/services/chain-service/helper/api-helper/spec/mangata.js +20 -0
  183. package/cjs/services/chain-service/helper/api-helper/spec/manta.js +29 -0
  184. package/cjs/services/chain-service/helper/api-helper/spec/mathchain.js +54 -0
  185. package/cjs/services/chain-service/helper/api-helper/spec/moonbeam.js +11 -0
  186. package/cjs/services/chain-service/helper/api-helper/spec/moonsama-development.js +24 -0
  187. package/cjs/services/chain-service/helper/api-helper/spec/mybank.js +87 -0
  188. package/cjs/services/chain-service/helper/api-helper/spec/neatcoin.js +32 -0
  189. package/cjs/services/chain-service/helper/api-helper/spec/neumann.js +55 -0
  190. package/cjs/services/chain-service/helper/api-helper/spec/nftmart.js +134 -0
  191. package/cjs/services/chain-service/helper/api-helper/spec/nodle.js +53 -0
  192. package/cjs/services/chain-service/helper/api-helper/spec/opal.js +15 -0
  193. package/cjs/services/chain-service/helper/api-helper/spec/opportunity.js +12 -0
  194. package/cjs/services/chain-service/helper/api-helper/spec/origintrail.js +206 -0
  195. package/cjs/services/chain-service/helper/api-helper/spec/pangolin.js +11 -0
  196. package/cjs/services/chain-service/helper/api-helper/spec/pangoro.js +12 -0
  197. package/cjs/services/chain-service/helper/api-helper/spec/parallel.js +11 -0
  198. package/cjs/services/chain-service/helper/api-helper/spec/parami.js +21 -0
  199. package/cjs/services/chain-service/helper/api-helper/spec/phoenix.js +52 -0
  200. package/cjs/services/chain-service/helper/api-helper/spec/pichiu.js +36 -0
  201. package/cjs/services/chain-service/helper/api-helper/spec/plasm.js +54 -0
  202. package/cjs/services/chain-service/helper/api-helper/spec/polkadex.js +32 -0
  203. package/cjs/services/chain-service/helper/api-helper/spec/polkafoundry.js +43 -0
  204. package/cjs/services/chain-service/helper/api-helper/spec/polymesh.js +21 -0
  205. package/cjs/services/chain-service/helper/api-helper/spec/pontem.js +11 -0
  206. package/cjs/services/chain-service/helper/api-helper/spec/prism.js +24 -0
  207. package/cjs/services/chain-service/helper/api-helper/spec/quartz.js +15 -0
  208. package/cjs/services/chain-service/helper/api-helper/spec/realis.js +42 -0
  209. package/cjs/services/chain-service/helper/api-helper/spec/riochain.js +104 -0
  210. package/cjs/services/chain-service/helper/api-helper/spec/robonomics.js +41 -0
  211. package/cjs/services/chain-service/helper/api-helper/spec/shibuya.js +54 -0
  212. package/cjs/services/chain-service/helper/api-helper/spec/shiden.js +54 -0
  213. package/cjs/services/chain-service/helper/api-helper/spec/snowbridge.js +11 -0
  214. package/cjs/services/chain-service/helper/api-helper/spec/soraSubstrate.js +11 -0
  215. package/cjs/services/chain-service/helper/api-helper/spec/spanner.js +501 -0
  216. package/cjs/services/chain-service/helper/api-helper/spec/stafi.js +25 -0
  217. package/cjs/services/chain-service/helper/api-helper/spec/standard.js +12 -0
  218. package/cjs/services/chain-service/helper/api-helper/spec/subdao.js +21 -0
  219. package/cjs/services/chain-service/helper/api-helper/spec/subgame.js +185 -0
  220. package/cjs/services/chain-service/helper/api-helper/spec/subsocial.js +15 -0
  221. package/cjs/services/chain-service/helper/api-helper/spec/subspace.js +127 -0
  222. package/cjs/services/chain-service/helper/api-helper/spec/substrateContractsNode.js +23 -0
  223. package/cjs/services/chain-service/helper/api-helper/spec/swapdex.js +45 -0
  224. package/cjs/services/chain-service/helper/api-helper/spec/ternoa.js +95 -0
  225. package/cjs/services/chain-service/helper/api-helper/spec/trustbase.js +24 -0
  226. package/cjs/services/chain-service/helper/api-helper/spec/uart.js +289 -0
  227. package/cjs/services/chain-service/helper/api-helper/spec/unique.js +124 -0
  228. package/cjs/services/chain-service/helper/api-helper/spec/unitv.js +25 -0
  229. package/cjs/services/chain-service/helper/api-helper/spec/vln-rococo.js +109 -0
  230. package/cjs/services/chain-service/helper/api-helper/spec/vln.js +45 -0
  231. package/cjs/services/chain-service/helper/api-helper/spec/vodka.js +22 -0
  232. package/cjs/services/chain-service/helper/api-helper/spec/web3games.js +43 -0
  233. package/cjs/services/chain-service/helper/api-helper/spec/westlake.js +305 -0
  234. package/cjs/services/chain-service/helper/api-helper/spec/zCloak.js +46 -0
  235. package/cjs/services/chain-service/helper/api-helper/spec/zeitgeist.js +33 -0
  236. package/cjs/services/chain-service/helper/api-helper/spec/zenlink.js +57 -0
  237. package/cjs/services/chain-service/helper/api-helper/spec/zero.js +11 -0
  238. package/cjs/services/chain-service/helper/api-helper/util.js +25 -0
  239. package/cjs/services/chain-service/helper/index.js +24 -0
  240. package/cjs/services/chain-service/index.js +1004 -0
  241. package/cjs/services/chain-service/types.js +26 -0
  242. package/cjs/services/chain-service/utils.js +369 -0
  243. package/cjs/services/history-service/index.js +106 -0
  244. package/cjs/services/history-service/subsquid-multi-chain-history.js +255 -0
  245. package/cjs/services/notification-service/NotificationService.js +31 -0
  246. package/cjs/services/price-service/coingecko.js +46 -0
  247. package/cjs/services/price-service/index.js +64 -0
  248. package/cjs/services/request-service/constants.js +11 -0
  249. package/cjs/services/request-service/handler/AuthRequestHandler.js +269 -0
  250. package/cjs/services/request-service/handler/EvmRequestHandler.js +217 -0
  251. package/cjs/services/request-service/handler/MetadataRequestHandler.js +85 -0
  252. package/cjs/services/request-service/handler/PopupHandler.js +85 -0
  253. package/cjs/services/request-service/handler/SubstrateRequestHandler.js +105 -0
  254. package/cjs/services/request-service/helper/index.js +58 -0
  255. package/cjs/services/request-service/index.js +162 -0
  256. package/cjs/services/request-service/types.js +1 -0
  257. package/cjs/services/setting-service/SettingService.js +38 -0
  258. package/cjs/services/storage-service/DatabaseService.js +230 -0
  259. package/cjs/services/storage-service/databases/index.js +46 -0
  260. package/cjs/services/storage-service/db-stores/Asset.js +20 -0
  261. package/cjs/services/storage-service/db-stores/Balance.js +57 -0
  262. package/cjs/services/storage-service/db-stores/BaseStore.js +29 -0
  263. package/cjs/services/storage-service/db-stores/BaseStoreWithAddress.js +28 -0
  264. package/cjs/services/storage-service/db-stores/BaseStoreWithAddressAndChain.js +33 -0
  265. package/cjs/services/storage-service/db-stores/BaseStoreWithChain.js +20 -0
  266. package/cjs/services/storage-service/db-stores/Chain.js +20 -0
  267. package/cjs/services/storage-service/db-stores/ChainStakingMetadata.js +38 -0
  268. package/cjs/services/storage-service/db-stores/Crowdloan.js +23 -0
  269. package/cjs/services/storage-service/db-stores/ExtraDelegationInfo.js +17 -0
  270. package/cjs/services/storage-service/db-stores/Migration.js +13 -0
  271. package/cjs/services/storage-service/db-stores/Nft.js +69 -0
  272. package/cjs/services/storage-service/db-stores/NftCollection.js +30 -0
  273. package/cjs/services/storage-service/db-stores/NominatorMetadata.js +30 -0
  274. package/cjs/services/storage-service/db-stores/Price.js +13 -0
  275. package/cjs/services/storage-service/db-stores/Staking.js +40 -0
  276. package/cjs/services/storage-service/db-stores/Transaction.js +49 -0
  277. package/cjs/services/storage-service/db-stores/index.js +76 -0
  278. package/cjs/services/transaction-service/helpers/index.js +23 -0
  279. package/cjs/services/transaction-service/index.js +606 -0
  280. package/cjs/services/transaction-service/types.js +1 -0
  281. package/cjs/services/transaction-service/utils.js +30 -0
  282. package/cjs/stores/AccountRef.js +18 -0
  283. package/cjs/stores/Application.js +28 -0
  284. package/cjs/stores/AssetSetting.js +19 -0
  285. package/cjs/stores/Authorize.js +18 -0
  286. package/cjs/stores/Balance.js +18 -0
  287. package/cjs/stores/Crowdloan.js +18 -0
  288. package/cjs/stores/CurrentAccountStore.js +18 -0
  289. package/cjs/stores/CustomEvmToken.js +18 -0
  290. package/cjs/stores/Keyring.js +39 -0
  291. package/cjs/stores/NetworkMap.js +18 -0
  292. package/cjs/stores/Nft.js +18 -0
  293. package/cjs/stores/NftCollection.js +18 -0
  294. package/cjs/stores/Price.js +18 -0
  295. package/cjs/stores/Settings.js +18 -0
  296. package/cjs/stores/Staking.js +18 -0
  297. package/cjs/stores/StakingReward.js +18 -0
  298. package/cjs/stores/SubscribableStore.js +33 -0
  299. package/cjs/stores/TransactionHistory.js +37 -0
  300. package/cjs/stores/TransactionHistoryV2.js +18 -0
  301. package/cjs/stores/TransactionHistoryV3.js +18 -0
  302. package/cjs/stores/index.js +8 -1
  303. package/cjs/utils/address.js +17 -0
  304. package/cjs/utils/eth/mergeTransactionAndSignature.js +22 -0
  305. package/cjs/utils/eth/parseTransaction/base.js +282 -0
  306. package/cjs/utils/eth/parseTransaction/index.js +229 -0
  307. package/cjs/utils/eth/parseTransactionData.js +284 -0
  308. package/cjs/utils/eth.js +76 -0
  309. package/cjs/utils/index.js +309 -1
  310. package/cjs/utils/keyring.js +57 -0
  311. package/cjs/utils/request.js +13 -0
  312. package/constants/i18n.d.ts +2 -0
  313. package/constants/i18n.js +25 -0
  314. package/constants/index.d.ts +25 -0
  315. package/constants/index.js +28 -0
  316. package/defaults.d.ts +1 -1
  317. package/defaults.js +1 -1
  318. package/koni/api/coingecko.d.ts +2 -0
  319. package/koni/api/coingecko.js +37 -0
  320. package/koni/api/donate.d.ts +3 -0
  321. package/koni/api/donate.js +13 -0
  322. package/koni/api/dotsama/balance.d.ts +7 -0
  323. package/koni/api/dotsama/balance.js +712 -0
  324. package/koni/api/dotsama/crowdloan.d.ts +7 -0
  325. package/koni/api/dotsama/crowdloan.js +130 -0
  326. package/koni/api/dotsama/parseTransaction.d.ts +3 -0
  327. package/koni/api/dotsama/parseTransaction.js +93 -0
  328. package/koni/api/dotsama/transfer.d.ts +20 -0
  329. package/koni/api/dotsama/transfer.js +227 -0
  330. package/koni/api/dotsama/typeRegistry.d.ts +3 -0
  331. package/koni/api/dotsama/typeRegistry.js +6 -0
  332. package/koni/api/nft/acala_nft/index.d.ts +18 -0
  333. package/koni/api/nft/acala_nft/index.js +150 -0
  334. package/koni/api/nft/bit.country/index.d.ts +12 -0
  335. package/koni/api/nft/bit.country/index.js +124 -0
  336. package/koni/api/nft/config.d.ts +57 -0
  337. package/koni/api/nft/config.js +110 -0
  338. package/koni/api/nft/evm_nft/index.d.ts +13 -0
  339. package/koni/api/nft/evm_nft/index.js +164 -0
  340. package/koni/api/nft/index.d.ts +22 -0
  341. package/koni/api/nft/index.js +143 -0
  342. package/koni/api/nft/karura_nft/index.d.ts +18 -0
  343. package/koni/api/nft/karura_nft/index.js +153 -0
  344. package/koni/api/nft/nft.d.ts +31 -0
  345. package/koni/api/nft/nft.js +89 -0
  346. package/koni/api/nft/quartz_nft/index.d.ts +62 -0
  347. package/koni/api/nft/quartz_nft/index.js +204 -0
  348. package/koni/api/nft/quartz_nft/protobuf.d.ts +3 -0
  349. package/koni/api/nft/quartz_nft/protobuf.js +78 -0
  350. package/koni/api/nft/rmrk_nft/index.d.ts +10 -0
  351. package/koni/api/nft/rmrk_nft/index.js +258 -0
  352. package/koni/api/nft/statemine_nft/index.d.ts +18 -0
  353. package/koni/api/nft/statemine_nft/index.js +141 -0
  354. package/koni/api/nft/transfer.d.ts +15 -0
  355. package/koni/api/nft/transfer.js +129 -0
  356. package/koni/api/nft/unique_nft/index.d.ts +54 -0
  357. package/koni/api/nft/unique_nft/index.js +191 -0
  358. package/koni/api/nft/unique_nft/protobuf.d.ts +3 -0
  359. package/koni/api/nft/unique_nft/protobuf.js +86 -0
  360. package/koni/api/nft/unique_nft/runtime_types.d.ts +3 -0
  361. package/koni/api/nft/unique_nft/runtime_types.js +115 -0
  362. package/koni/api/nft/unique_nft/uniqueNftV2.d.ts +9 -0
  363. package/koni/api/nft/unique_nft/uniqueNftV2.js +62 -0
  364. package/koni/api/nft/wasm_nft/index.d.ts +17 -0
  365. package/koni/api/nft/wasm_nft/index.js +289 -0
  366. package/koni/api/nft/wasm_nft/utils.d.ts +5 -0
  367. package/koni/api/nft/wasm_nft/utils.js +8 -0
  368. package/koni/api/staking/bonding/amplitude.d.ts +11 -0
  369. package/koni/api/staking/bonding/amplitude.js +170 -0
  370. package/koni/api/staking/bonding/astar.d.ts +19 -0
  371. package/koni/api/staking/bonding/astar.js +436 -0
  372. package/koni/api/staking/bonding/index.d.ts +12 -0
  373. package/koni/api/staking/bonding/index.js +90 -0
  374. package/koni/api/staking/bonding/paraChain.d.ts +12 -0
  375. package/koni/api/staking/bonding/paraChain.js +240 -0
  376. package/koni/api/staking/bonding/relayChain.d.ts +32 -0
  377. package/koni/api/staking/bonding/relayChain.js +329 -0
  378. package/koni/api/staking/bonding/utils.d.ts +135 -0
  379. package/koni/api/staking/bonding/utils.js +144 -0
  380. package/koni/api/staking/config.d.ts +3 -0
  381. package/koni/api/staking/config.js +38 -0
  382. package/koni/api/staking/index.d.ts +6 -0
  383. package/koni/api/staking/index.js +67 -0
  384. package/koni/api/staking/paraChain.d.ts +7 -0
  385. package/koni/api/staking/paraChain.js +216 -0
  386. package/koni/api/staking/relayChain.d.ts +6 -0
  387. package/koni/api/staking/relayChain.js +161 -0
  388. package/koni/api/staking/subsquidStaking.d.ts +3 -0
  389. package/koni/api/staking/subsquidStaking.js +101 -0
  390. package/koni/api/staking/utils.d.ts +2 -0
  391. package/koni/api/staking/utils.js +11 -0
  392. package/koni/api/subquery/__generated__/DotSamaHistory.d.ts +58 -0
  393. package/koni/api/subquery/__generated__/DotSamaHistory.js +1 -0
  394. package/koni/api/subquery/subquery.d.ts +2 -0
  395. package/koni/api/subquery/subquery.js +14 -0
  396. package/koni/api/tokens/evm/balance.d.ts +2 -0
  397. package/koni/api/tokens/evm/balance.js +9 -0
  398. package/koni/api/tokens/evm/transfer.d.ts +17 -0
  399. package/koni/api/tokens/evm/transfer.js +91 -0
  400. package/koni/api/tokens/evm/web3.d.ts +3 -0
  401. package/koni/api/tokens/evm/web3.js +9 -0
  402. package/koni/api/tokens/index.d.ts +1 -0
  403. package/koni/api/tokens/index.js +11 -0
  404. package/koni/api/tokens/wasm/index.d.ts +9 -0
  405. package/koni/api/tokens/wasm/index.js +68 -0
  406. package/koni/api/xcm/astar.d.ts +6 -0
  407. package/koni/api/xcm/astar.js +154 -0
  408. package/koni/api/xcm/index.d.ts +30 -0
  409. package/koni/api/xcm/index.js +203 -0
  410. package/koni/api/xcm/moonbeamXcm.d.ts +6 -0
  411. package/koni/api/xcm/moonbeamXcm.js +74 -0
  412. package/koni/api/xcm/statemintXcm.d.ts +6 -0
  413. package/koni/api/xcm/statemintXcm.js +190 -0
  414. package/koni/api/xcm/substrateXcm.d.ts +6 -0
  415. package/koni/api/xcm/substrateXcm.js +206 -0
  416. package/koni/api/xcm/utils.d.ts +12 -0
  417. package/koni/api/xcm/utils.js +68 -0
  418. package/koni/background/cron.d.ts +39 -0
  419. package/koni/background/cron.js +236 -0
  420. package/koni/background/events.d.ts +1 -0
  421. package/koni/background/events.js +7 -0
  422. package/koni/background/handlers/Extension.d.ts +185 -0
  423. package/koni/background/handlers/Extension.js +3038 -0
  424. package/koni/background/handlers/Mobile.d.ts +21 -0
  425. package/koni/background/handlers/Mobile.js +127 -0
  426. package/koni/background/handlers/State.d.ts +230 -0
  427. package/koni/background/handlers/State.js +1454 -0
  428. package/koni/background/handlers/Tabs.d.ts +47 -0
  429. package/koni/background/handlers/Tabs.js +746 -0
  430. package/koni/background/handlers/index.d.ts +13 -0
  431. package/koni/background/handlers/index.js +76 -0
  432. package/koni/background/subscription.d.ts +32 -0
  433. package/koni/background/subscription.js +287 -0
  434. package/koni/migration/Base.d.ts +8 -0
  435. package/koni/migration/Base.js +13 -0
  436. package/koni/migration/index.d.ts +7 -0
  437. package/koni/migration/index.js +37 -0
  438. package/koni/migration/scripts/ChangeRouteToHome.d.ts +4 -0
  439. package/koni/migration/scripts/ChangeRouteToHome.js +14 -0
  440. package/koni/migration/scripts/ClearOldStorage.d.ts +4 -0
  441. package/koni/migration/scripts/ClearOldStorage.js +16 -0
  442. package/koni/migration/scripts/RemoveWrongCrowdloan.d.ts +4 -0
  443. package/koni/migration/scripts/RemoveWrongCrowdloan.js +11 -0
  444. package/koni/migration/scripts/RemoveWrongTransactionHistoriesFromStore.d.ts +4 -0
  445. package/koni/migration/scripts/RemoveWrongTransactionHistoriesFromStore.js +27 -0
  446. package/koni/migration/scripts/ResetTransactionHistoryEventIdx.d.ts +4 -0
  447. package/koni/migration/scripts/ResetTransactionHistoryEventIdx.js +13 -0
  448. package/koni/migration/scripts/index.d.ts +3 -0
  449. package/koni/migration/scripts/index.js +15 -0
  450. package/koni/page/SubWalleEvmProvider.d.ts +27 -0
  451. package/koni/page/SubWalleEvmProvider.js +132 -0
  452. package/koni/page/index.d.ts +2 -0
  453. package/koni/page/index.js +9 -0
  454. package/package.json +1437 -6
  455. package/page/index.js +3 -2
  456. package/services/balance-service/index.d.ts +7 -0
  457. package/services/balance-service/index.js +8 -0
  458. package/services/chain-service/constants.d.ts +85 -0
  459. package/services/chain-service/constants.js +208 -0
  460. package/services/chain-service/handler/EvmChainHandler.d.ts +16 -0
  461. package/services/chain-service/handler/EvmChainHandler.js +136 -0
  462. package/services/chain-service/handler/SubstrateChainHandler.d.ts +21 -0
  463. package/services/chain-service/handler/SubstrateChainHandler.js +340 -0
  464. package/services/chain-service/handler/light-client/index.d.ts +4 -0
  465. package/services/chain-service/handler/light-client/index.js +111 -0
  466. package/services/chain-service/handler/types.d.ts +26 -0
  467. package/services/chain-service/handler/types.js +14 -0
  468. package/services/chain-service/heath-check/index.d.ts +3 -0
  469. package/services/chain-service/heath-check/index.js +50 -0
  470. package/services/chain-service/helper/api-helper/chain/crust-maxwell.d.ts +98 -0
  471. package/services/chain-service/helper/api-helper/chain/crust-maxwell.js +103 -0
  472. package/services/chain-service/helper/api-helper/chain/index.d.ts +1943 -0
  473. package/services/chain-service/helper/api-helper/chain/index.js +11 -0
  474. package/services/chain-service/helper/api-helper/index.d.ts +7 -0
  475. package/services/chain-service/helper/api-helper/index.js +18 -0
  476. package/services/chain-service/helper/api-helper/spec/acala.d.ts +42 -0
  477. package/services/chain-service/helper/api-helper/spec/acala.js +5 -0
  478. package/services/chain-service/helper/api-helper/spec/ajuna.d.ts +3 -0
  479. package/services/chain-service/helper/api-helper/spec/ajuna.js +15 -0
  480. package/services/chain-service/helper/api-helper/spec/altair.d.ts +3 -0
  481. package/services/chain-service/helper/api-helper/spec/altair.js +24 -0
  482. package/services/chain-service/helper/api-helper/spec/apron.d.ts +3 -0
  483. package/services/chain-service/helper/api-helper/spec/apron.js +17 -0
  484. package/services/chain-service/helper/api-helper/spec/ares-gladios.d.ts +3 -0
  485. package/services/chain-service/helper/api-helper/spec/ares-gladios.js +184 -0
  486. package/services/chain-service/helper/api-helper/spec/ares-parachain.d.ts +3 -0
  487. package/services/chain-service/helper/api-helper/spec/ares-parachain.js +185 -0
  488. package/services/chain-service/helper/api-helper/spec/astar.d.ts +3 -0
  489. package/services/chain-service/helper/api-helper/spec/astar.js +37 -0
  490. package/services/chain-service/helper/api-helper/spec/automata.d.ts +3 -0
  491. package/services/chain-service/helper/api-helper/spec/automata.js +36 -0
  492. package/services/chain-service/helper/api-helper/spec/basilisk.d.ts +3 -0
  493. package/services/chain-service/helper/api-helper/spec/basilisk.js +132 -0
  494. package/services/chain-service/helper/api-helper/spec/beresheet.d.ts +3 -0
  495. package/services/chain-service/helper/api-helper/spec/beresheet.js +9 -0
  496. package/services/chain-service/helper/api-helper/spec/bifrost-asgard.d.ts +3 -0
  497. package/services/chain-service/helper/api-helper/spec/bifrost-asgard.js +5 -0
  498. package/services/chain-service/helper/api-helper/spec/bifrost-parachain.d.ts +3 -0
  499. package/services/chain-service/helper/api-helper/spec/bifrost-parachain.js +5 -0
  500. package/services/chain-service/helper/api-helper/spec/bifrost.d.ts +3 -0
  501. package/services/chain-service/helper/api-helper/spec/bifrost.js +5 -0
  502. package/services/chain-service/helper/api-helper/spec/bitcountry-pioneer.d.ts +2 -0
  503. package/services/chain-service/helper/api-helper/spec/bitcountry-pioneer.js +5 -0
  504. package/services/chain-service/helper/api-helper/spec/bitcountry-rococo.d.ts +3 -0
  505. package/services/chain-service/helper/api-helper/spec/bitcountry-rococo.js +115 -0
  506. package/services/chain-service/helper/api-helper/spec/bitcountry.d.ts +3 -0
  507. package/services/chain-service/helper/api-helper/spec/bitcountry.js +77 -0
  508. package/services/chain-service/helper/api-helper/spec/canvas.d.ts +3 -0
  509. package/services/chain-service/helper/api-helper/spec/canvas.js +24 -0
  510. package/services/chain-service/helper/api-helper/spec/centrifuge-chain.d.ts +3 -0
  511. package/services/chain-service/helper/api-helper/spec/centrifuge-chain.js +70 -0
  512. package/services/chain-service/helper/api-helper/spec/centrifuge.d.ts +3 -0
  513. package/services/chain-service/helper/api-helper/spec/centrifuge.js +24 -0
  514. package/services/chain-service/helper/api-helper/spec/chainx.d.ts +3 -0
  515. package/services/chain-service/helper/api-helper/spec/chainx.js +396 -0
  516. package/services/chain-service/helper/api-helper/spec/clover-rococo.d.ts +3 -0
  517. package/services/chain-service/helper/api-helper/spec/clover-rococo.js +61 -0
  518. package/services/chain-service/helper/api-helper/spec/clover.d.ts +3 -0
  519. package/services/chain-service/helper/api-helper/spec/clover.js +27 -0
  520. package/services/chain-service/helper/api-helper/spec/coinversation.d.ts +3 -0
  521. package/services/chain-service/helper/api-helper/spec/coinversation.js +17 -0
  522. package/services/chain-service/helper/api-helper/spec/competitors-club.d.ts +3 -0
  523. package/services/chain-service/helper/api-helper/spec/competitors-club.js +77 -0
  524. package/services/chain-service/helper/api-helper/spec/crab.d.ts +2 -0
  525. package/services/chain-service/helper/api-helper/spec/crab.js +5 -0
  526. package/services/chain-service/helper/api-helper/spec/crown-sterling.d.ts +3 -0
  527. package/services/chain-service/helper/api-helper/spec/crown-sterling.js +48 -0
  528. package/services/chain-service/helper/api-helper/spec/crust.d.ts +3 -0
  529. package/services/chain-service/helper/api-helper/spec/crust.js +5 -0
  530. package/services/chain-service/helper/api-helper/spec/cumulus-test-parachain.d.ts +3 -0
  531. package/services/chain-service/helper/api-helper/spec/cumulus-test-parachain.js +17 -0
  532. package/services/chain-service/helper/api-helper/spec/darwinia.d.ts +2 -0
  533. package/services/chain-service/helper/api-helper/spec/darwinia.js +5 -0
  534. package/services/chain-service/helper/api-helper/spec/datahighway.d.ts +3 -0
  535. package/services/chain-service/helper/api-helper/spec/datahighway.js +233 -0
  536. package/services/chain-service/helper/api-helper/spec/dock-mainnet.d.ts +3 -0
  537. package/services/chain-service/helper/api-helper/spec/dock-mainnet.js +9 -0
  538. package/services/chain-service/helper/api-helper/spec/dock-testnet.d.ts +3 -0
  539. package/services/chain-service/helper/api-helper/spec/dock-testnet.js +9 -0
  540. package/services/chain-service/helper/api-helper/spec/dolphin.d.ts +3 -0
  541. package/services/chain-service/helper/api-helper/spec/dolphin.js +22 -0
  542. package/services/chain-service/helper/api-helper/spec/dotmog.d.ts +3 -0
  543. package/services/chain-service/helper/api-helper/spec/dotmog.js +58 -0
  544. package/services/chain-service/helper/api-helper/spec/eave.d.ts +3 -0
  545. package/services/chain-service/helper/api-helper/spec/eave.js +409 -0
  546. package/services/chain-service/helper/api-helper/spec/edgeware.d.ts +3 -0
  547. package/services/chain-service/helper/api-helper/spec/edgeware.js +7 -0
  548. package/services/chain-service/helper/api-helper/spec/encointer-node-notee.d.ts +3 -0
  549. package/services/chain-service/helper/api-helper/spec/encointer-node-notee.js +68 -0
  550. package/services/chain-service/helper/api-helper/spec/encointer-node-teeproxy.d.ts +3 -0
  551. package/services/chain-service/helper/api-helper/spec/encointer-node-teeproxy.js +45 -0
  552. package/services/chain-service/helper/api-helper/spec/encointer-para.d.ts +3 -0
  553. package/services/chain-service/helper/api-helper/spec/encointer-para.js +72 -0
  554. package/services/chain-service/helper/api-helper/spec/equilibrium.d.ts +8 -0
  555. package/services/chain-service/helper/api-helper/spec/equilibrium.js +97 -0
  556. package/services/chain-service/helper/api-helper/spec/fantour.d.ts +3 -0
  557. package/services/chain-service/helper/api-helper/spec/fantour.js +63 -0
  558. package/services/chain-service/helper/api-helper/spec/galital-parachain.d.ts +3 -0
  559. package/services/chain-service/helper/api-helper/spec/galital-parachain.js +58 -0
  560. package/services/chain-service/helper/api-helper/spec/galital.d.ts +3 -0
  561. package/services/chain-service/helper/api-helper/spec/galital.js +63 -0
  562. package/services/chain-service/helper/api-helper/spec/galois.d.ts +3 -0
  563. package/services/chain-service/helper/api-helper/spec/galois.js +47 -0
  564. package/services/chain-service/helper/api-helper/spec/gamepower.d.ts +3 -0
  565. package/services/chain-service/helper/api-helper/spec/gamepower.js +64 -0
  566. package/services/chain-service/helper/api-helper/spec/genshiro.d.ts +3 -0
  567. package/services/chain-service/helper/api-helper/spec/genshiro.js +24 -0
  568. package/services/chain-service/helper/api-helper/spec/hanonycash.d.ts +3 -0
  569. package/services/chain-service/helper/api-helper/spec/hanonycash.js +26 -0
  570. package/services/chain-service/helper/api-helper/spec/hydrate.d.ts +3 -0
  571. package/services/chain-service/helper/api-helper/spec/hydrate.js +52 -0
  572. package/services/chain-service/helper/api-helper/spec/idavoll.d.ts +3 -0
  573. package/services/chain-service/helper/api-helper/spec/idavoll.js +17 -0
  574. package/services/chain-service/helper/api-helper/spec/index.d.ts +3 -0
  575. package/services/chain-service/helper/api-helper/spec/index.js +264 -0
  576. package/services/chain-service/helper/api-helper/spec/integritee.d.ts +3 -0
  577. package/services/chain-service/helper/api-helper/spec/integritee.js +28 -0
  578. package/services/chain-service/helper/api-helper/spec/interbtc.d.ts +7 -0
  579. package/services/chain-service/helper/api-helper/spec/interbtc.js +50 -0
  580. package/services/chain-service/helper/api-helper/spec/ipse.d.ts +3 -0
  581. package/services/chain-service/helper/api-helper/spec/ipse.js +106 -0
  582. package/services/chain-service/helper/api-helper/spec/jupiter-rococo.d.ts +3 -0
  583. package/services/chain-service/helper/api-helper/spec/jupiter-rococo.js +17 -0
  584. package/services/chain-service/helper/api-helper/spec/jupiter.d.ts +3 -0
  585. package/services/chain-service/helper/api-helper/spec/jupiter.js +63 -0
  586. package/services/chain-service/helper/api-helper/spec/khala.d.ts +3 -0
  587. package/services/chain-service/helper/api-helper/spec/khala.js +5 -0
  588. package/services/chain-service/helper/api-helper/spec/kilt.d.ts +3 -0
  589. package/services/chain-service/helper/api-helper/spec/kilt.js +5 -0
  590. package/services/chain-service/helper/api-helper/spec/konomi.d.ts +3 -0
  591. package/services/chain-service/helper/api-helper/spec/konomi.js +17 -0
  592. package/services/chain-service/helper/api-helper/spec/kpron.d.ts +3 -0
  593. package/services/chain-service/helper/api-helper/spec/kpron.js +17 -0
  594. package/services/chain-service/helper/api-helper/spec/kulupu.d.ts +3 -0
  595. package/services/chain-service/helper/api-helper/spec/kulupu.js +57 -0
  596. package/services/chain-service/helper/api-helper/spec/kusari.d.ts +3 -0
  597. package/services/chain-service/helper/api-helper/spec/kusari.js +38 -0
  598. package/services/chain-service/helper/api-helper/spec/kylin.d.ts +3 -0
  599. package/services/chain-service/helper/api-helper/spec/kylin.js +29 -0
  600. package/services/chain-service/helper/api-helper/spec/laminar.d.ts +3 -0
  601. package/services/chain-service/helper/api-helper/spec/laminar.js +5 -0
  602. package/services/chain-service/helper/api-helper/spec/litentry.d.ts +3 -0
  603. package/services/chain-service/helper/api-helper/spec/litentry.js +17 -0
  604. package/services/chain-service/helper/api-helper/spec/mangata.d.ts +3 -0
  605. package/services/chain-service/helper/api-helper/spec/mangata.js +13 -0
  606. package/services/chain-service/helper/api-helper/spec/manta.d.ts +3 -0
  607. package/services/chain-service/helper/api-helper/spec/manta.js +22 -0
  608. package/services/chain-service/helper/api-helper/spec/mathchain.d.ts +3 -0
  609. package/services/chain-service/helper/api-helper/spec/mathchain.js +47 -0
  610. package/services/chain-service/helper/api-helper/spec/moonbeam.d.ts +2 -0
  611. package/services/chain-service/helper/api-helper/spec/moonbeam.js +5 -0
  612. package/services/chain-service/helper/api-helper/spec/moonsama-development.d.ts +3 -0
  613. package/services/chain-service/helper/api-helper/spec/moonsama-development.js +17 -0
  614. package/services/chain-service/helper/api-helper/spec/mybank.d.ts +3 -0
  615. package/services/chain-service/helper/api-helper/spec/mybank.js +80 -0
  616. package/services/chain-service/helper/api-helper/spec/neatcoin.d.ts +3 -0
  617. package/services/chain-service/helper/api-helper/spec/neatcoin.js +25 -0
  618. package/services/chain-service/helper/api-helper/spec/neumann.d.ts +3 -0
  619. package/services/chain-service/helper/api-helper/spec/neumann.js +48 -0
  620. package/services/chain-service/helper/api-helper/spec/nftmart.d.ts +3 -0
  621. package/services/chain-service/helper/api-helper/spec/nftmart.js +127 -0
  622. package/services/chain-service/helper/api-helper/spec/nodle.d.ts +3 -0
  623. package/services/chain-service/helper/api-helper/spec/nodle.js +46 -0
  624. package/services/chain-service/helper/api-helper/spec/opal.d.ts +3 -0
  625. package/services/chain-service/helper/api-helper/spec/opal.js +9 -0
  626. package/services/chain-service/helper/api-helper/spec/opportunity.d.ts +3 -0
  627. package/services/chain-service/helper/api-helper/spec/opportunity.js +5 -0
  628. package/services/chain-service/helper/api-helper/spec/origintrail.d.ts +5 -0
  629. package/services/chain-service/helper/api-helper/spec/origintrail.js +198 -0
  630. package/services/chain-service/helper/api-helper/spec/pangolin.d.ts +2 -0
  631. package/services/chain-service/helper/api-helper/spec/pangolin.js +5 -0
  632. package/services/chain-service/helper/api-helper/spec/pangoro.d.ts +2 -0
  633. package/services/chain-service/helper/api-helper/spec/pangoro.js +7 -0
  634. package/services/chain-service/helper/api-helper/spec/parallel.d.ts +14 -0
  635. package/services/chain-service/helper/api-helper/spec/parallel.js +5 -0
  636. package/services/chain-service/helper/api-helper/spec/parami.d.ts +3 -0
  637. package/services/chain-service/helper/api-helper/spec/parami.js +14 -0
  638. package/services/chain-service/helper/api-helper/spec/phoenix.d.ts +3 -0
  639. package/services/chain-service/helper/api-helper/spec/phoenix.js +45 -0
  640. package/services/chain-service/helper/api-helper/spec/pichiu.d.ts +3 -0
  641. package/services/chain-service/helper/api-helper/spec/pichiu.js +29 -0
  642. package/services/chain-service/helper/api-helper/spec/plasm.d.ts +3 -0
  643. package/services/chain-service/helper/api-helper/spec/plasm.js +47 -0
  644. package/services/chain-service/helper/api-helper/spec/polkadex.d.ts +3 -0
  645. package/services/chain-service/helper/api-helper/spec/polkadex.js +25 -0
  646. package/services/chain-service/helper/api-helper/spec/polkafoundry.d.ts +3 -0
  647. package/services/chain-service/helper/api-helper/spec/polkafoundry.js +36 -0
  648. package/services/chain-service/helper/api-helper/spec/polymesh.d.ts +3 -0
  649. package/services/chain-service/helper/api-helper/spec/polymesh.js +13 -0
  650. package/services/chain-service/helper/api-helper/spec/pontem.d.ts +2 -0
  651. package/services/chain-service/helper/api-helper/spec/pontem.js +5 -0
  652. package/services/chain-service/helper/api-helper/spec/prism.d.ts +3 -0
  653. package/services/chain-service/helper/api-helper/spec/prism.js +17 -0
  654. package/services/chain-service/helper/api-helper/spec/quartz.d.ts +3 -0
  655. package/services/chain-service/helper/api-helper/spec/quartz.js +9 -0
  656. package/services/chain-service/helper/api-helper/spec/realis.d.ts +3 -0
  657. package/services/chain-service/helper/api-helper/spec/realis.js +35 -0
  658. package/services/chain-service/helper/api-helper/spec/riochain.d.ts +3 -0
  659. package/services/chain-service/helper/api-helper/spec/riochain.js +97 -0
  660. package/services/chain-service/helper/api-helper/spec/robonomics.d.ts +3 -0
  661. package/services/chain-service/helper/api-helper/spec/robonomics.js +34 -0
  662. package/services/chain-service/helper/api-helper/spec/shibuya.d.ts +3 -0
  663. package/services/chain-service/helper/api-helper/spec/shibuya.js +47 -0
  664. package/services/chain-service/helper/api-helper/spec/shiden.d.ts +3 -0
  665. package/services/chain-service/helper/api-helper/spec/shiden.js +47 -0
  666. package/services/chain-service/helper/api-helper/spec/snowbridge.d.ts +2 -0
  667. package/services/chain-service/helper/api-helper/spec/snowbridge.js +5 -0
  668. package/services/chain-service/helper/api-helper/spec/soraSubstrate.d.ts +3 -0
  669. package/services/chain-service/helper/api-helper/spec/soraSubstrate.js +5 -0
  670. package/services/chain-service/helper/api-helper/spec/spanner.d.ts +3 -0
  671. package/services/chain-service/helper/api-helper/spec/spanner.js +494 -0
  672. package/services/chain-service/helper/api-helper/spec/stafi.d.ts +3 -0
  673. package/services/chain-service/helper/api-helper/spec/stafi.js +18 -0
  674. package/services/chain-service/helper/api-helper/spec/standard.d.ts +3 -0
  675. package/services/chain-service/helper/api-helper/spec/standard.js +5 -0
  676. package/services/chain-service/helper/api-helper/spec/subdao.d.ts +3 -0
  677. package/services/chain-service/helper/api-helper/spec/subdao.js +14 -0
  678. package/services/chain-service/helper/api-helper/spec/subgame.d.ts +3 -0
  679. package/services/chain-service/helper/api-helper/spec/subgame.js +178 -0
  680. package/services/chain-service/helper/api-helper/spec/subsocial.d.ts +2 -0
  681. package/services/chain-service/helper/api-helper/spec/subsocial.js +8 -0
  682. package/services/chain-service/helper/api-helper/spec/subspace.d.ts +0 -0
  683. package/services/chain-service/helper/api-helper/spec/subspace.js +126 -0
  684. package/services/chain-service/helper/api-helper/spec/substrateContractsNode.d.ts +3 -0
  685. package/services/chain-service/helper/api-helper/spec/substrateContractsNode.js +16 -0
  686. package/services/chain-service/helper/api-helper/spec/swapdex.d.ts +3 -0
  687. package/services/chain-service/helper/api-helper/spec/swapdex.js +38 -0
  688. package/services/chain-service/helper/api-helper/spec/ternoa.d.ts +3 -0
  689. package/services/chain-service/helper/api-helper/spec/ternoa.js +88 -0
  690. package/services/chain-service/helper/api-helper/spec/trustbase.d.ts +3 -0
  691. package/services/chain-service/helper/api-helper/spec/trustbase.js +17 -0
  692. package/services/chain-service/helper/api-helper/spec/uart.d.ts +3 -0
  693. package/services/chain-service/helper/api-helper/spec/uart.js +282 -0
  694. package/services/chain-service/helper/api-helper/spec/unique.d.ts +3 -0
  695. package/services/chain-service/helper/api-helper/spec/unique.js +117 -0
  696. package/services/chain-service/helper/api-helper/spec/unitv.d.ts +3 -0
  697. package/services/chain-service/helper/api-helper/spec/unitv.js +18 -0
  698. package/services/chain-service/helper/api-helper/spec/vln-rococo.d.ts +3 -0
  699. package/services/chain-service/helper/api-helper/spec/vln-rococo.js +102 -0
  700. package/services/chain-service/helper/api-helper/spec/vln.d.ts +3 -0
  701. package/services/chain-service/helper/api-helper/spec/vln.js +38 -0
  702. package/services/chain-service/helper/api-helper/spec/vodka.d.ts +3 -0
  703. package/services/chain-service/helper/api-helper/spec/vodka.js +15 -0
  704. package/services/chain-service/helper/api-helper/spec/web3games.d.ts +3 -0
  705. package/services/chain-service/helper/api-helper/spec/web3games.js +36 -0
  706. package/services/chain-service/helper/api-helper/spec/westlake.d.ts +3 -0
  707. package/services/chain-service/helper/api-helper/spec/westlake.js +298 -0
  708. package/services/chain-service/helper/api-helper/spec/zCloak.d.ts +3 -0
  709. package/services/chain-service/helper/api-helper/spec/zCloak.js +39 -0
  710. package/services/chain-service/helper/api-helper/spec/zeitgeist.d.ts +3 -0
  711. package/services/chain-service/helper/api-helper/spec/zeitgeist.js +24 -0
  712. package/services/chain-service/helper/api-helper/spec/zenlink.d.ts +3 -0
  713. package/services/chain-service/helper/api-helper/spec/zenlink.js +50 -0
  714. package/services/chain-service/helper/api-helper/spec/zero.d.ts +3 -0
  715. package/services/chain-service/helper/api-helper/spec/zero.js +5 -0
  716. package/services/chain-service/helper/api-helper/util.d.ts +5 -0
  717. package/services/chain-service/helper/api-helper/util.js +15 -0
  718. package/services/chain-service/helper/erc20_abi.json +224 -0
  719. package/services/chain-service/helper/erc721_abi.json +384 -0
  720. package/services/chain-service/helper/index.d.ts +5 -0
  721. package/services/chain-service/helper/index.js +13 -0
  722. package/services/chain-service/helper/psp22_abi.json +967 -0
  723. package/services/chain-service/helper/psp34_abi.json +1988 -0
  724. package/services/chain-service/helper/test_erc721_abi.json +393 -0
  725. package/services/chain-service/index.d.ts +85 -0
  726. package/services/chain-service/index.js +992 -0
  727. package/services/chain-service/types.d.ts +110 -0
  728. package/services/chain-service/types.js +17 -0
  729. package/services/chain-service/utils.d.ts +66 -0
  730. package/services/chain-service/utils.js +303 -0
  731. package/services/history-service/index.d.ts +21 -0
  732. package/services/history-service/index.js +98 -0
  733. package/services/history-service/subsquid-multi-chain-history.d.ts +30 -0
  734. package/services/history-service/subsquid-multi-chain-history.js +243 -0
  735. package/services/notification-service/NotificationService.d.ts +3 -0
  736. package/services/notification-service/NotificationService.js +24 -0
  737. package/services/price-service/coingecko.d.ts +2 -0
  738. package/services/price-service/coingecko.js +37 -0
  739. package/services/price-service/index.d.ts +14 -0
  740. package/services/price-service/index.js +57 -0
  741. package/services/request-service/constants.d.ts +1 -0
  742. package/services/request-service/constants.js +4 -0
  743. package/services/request-service/handler/AuthRequestHandler.d.ts +29 -0
  744. package/services/request-service/handler/AuthRequestHandler.js +253 -0
  745. package/services/request-service/handler/EvmRequestHandler.d.ts +19 -0
  746. package/services/request-service/handler/EvmRequestHandler.js +207 -0
  747. package/services/request-service/handler/MetadataRequestHandler.d.ts +18 -0
  748. package/services/request-service/handler/MetadataRequestHandler.js +75 -0
  749. package/services/request-service/handler/PopupHandler.d.ts +10 -0
  750. package/services/request-service/handler/PopupHandler.js +77 -0
  751. package/services/request-service/handler/SubstrateRequestHandler.d.ts +17 -0
  752. package/services/request-service/handler/SubstrateRequestHandler.js +94 -0
  753. package/services/request-service/helper/index.d.ts +2 -0
  754. package/services/request-service/helper/index.js +44 -0
  755. package/services/request-service/index.d.ts +45 -0
  756. package/services/request-service/index.js +151 -0
  757. package/services/request-service/types.d.ts +24 -0
  758. package/services/request-service/types.js +1 -0
  759. package/services/setting-service/SettingService.d.ts +8 -0
  760. package/services/setting-service/SettingService.js +30 -0
  761. package/services/storage-service/DatabaseService.d.ts +64 -0
  762. package/services/storage-service/DatabaseService.js +221 -0
  763. package/services/storage-service/databases/index.d.ts +45 -0
  764. package/services/storage-service/databases/index.js +36 -0
  765. package/services/storage-service/db-stores/Asset.d.ts +6 -0
  766. package/services/storage-service/db-stores/Asset.js +12 -0
  767. package/services/storage-service/db-stores/Balance.d.ts +7 -0
  768. package/services/storage-service/db-stores/Balance.js +49 -0
  769. package/services/storage-service/db-stores/BaseStore.d.ts +11 -0
  770. package/services/storage-service/db-stores/BaseStore.js +22 -0
  771. package/services/storage-service/db-stores/BaseStoreWithAddress.d.ts +5 -0
  772. package/services/storage-service/db-stores/BaseStoreWithAddress.js +20 -0
  773. package/services/storage-service/db-stores/BaseStoreWithAddressAndChain.d.ts +7 -0
  774. package/services/storage-service/db-stores/BaseStoreWithAddressAndChain.js +25 -0
  775. package/services/storage-service/db-stores/BaseStoreWithChain.d.ts +5 -0
  776. package/services/storage-service/db-stores/BaseStoreWithChain.js +12 -0
  777. package/services/storage-service/db-stores/Chain.d.ts +6 -0
  778. package/services/storage-service/db-stores/Chain.js +12 -0
  779. package/services/storage-service/db-stores/ChainStakingMetadata.d.ts +9 -0
  780. package/services/storage-service/db-stores/ChainStakingMetadata.js +29 -0
  781. package/services/storage-service/db-stores/Crowdloan.d.ts +6 -0
  782. package/services/storage-service/db-stores/Crowdloan.js +15 -0
  783. package/services/storage-service/db-stores/Migration.d.ts +4 -0
  784. package/services/storage-service/db-stores/Migration.js +5 -0
  785. package/services/storage-service/db-stores/Nft.d.ts +10 -0
  786. package/services/storage-service/db-stores/Nft.js +58 -0
  787. package/services/storage-service/db-stores/NftCollection.d.ts +7 -0
  788. package/services/storage-service/db-stores/NftCollection.js +22 -0
  789. package/services/storage-service/db-stores/NominatorMetadata.d.ts +9 -0
  790. package/services/storage-service/db-stores/NominatorMetadata.js +22 -0
  791. package/services/storage-service/db-stores/Price.d.ts +4 -0
  792. package/services/storage-service/db-stores/Price.js +5 -0
  793. package/services/storage-service/db-stores/Staking.d.ts +9 -0
  794. package/services/storage-service/db-stores/Staking.js +29 -0
  795. package/services/storage-service/db-stores/Transaction.d.ts +12 -0
  796. package/services/storage-service/db-stores/Transaction.js +41 -0
  797. package/services/storage-service/db-stores/index.d.ts +10 -0
  798. package/services/storage-service/db-stores/index.js +13 -0
  799. package/services/transaction-service/helpers/index.d.ts +5 -0
  800. package/services/transaction-service/helpers/index.js +14 -0
  801. package/services/transaction-service/index.d.ts +39 -0
  802. package/services/transaction-service/index.js +592 -0
  803. package/services/transaction-service/types.d.ts +45 -0
  804. package/services/transaction-service/types.js +1 -0
  805. package/services/transaction-service/utils.d.ts +4 -0
  806. package/services/transaction-service/utils.js +23 -0
  807. package/signers/substrates/KeyringSigner.d.ts +1 -1
  808. package/stores/AccountRef.d.ts +5 -0
  809. package/stores/AccountRef.js +10 -0
  810. package/stores/Accounts.d.ts +1 -1
  811. package/stores/Application.d.ts +7 -0
  812. package/stores/Application.js +20 -0
  813. package/stores/AssetSetting.d.ts +5 -0
  814. package/stores/AssetSetting.js +12 -0
  815. package/stores/Authorize.d.ts +5 -0
  816. package/stores/Authorize.js +10 -0
  817. package/stores/CurrentAccountStore.d.ts +5 -0
  818. package/stores/CurrentAccountStore.js +10 -0
  819. package/stores/Keyring.d.ts +7 -0
  820. package/stores/Keyring.js +32 -0
  821. package/stores/Settings.d.ts +5 -0
  822. package/stores/Settings.js +10 -0
  823. package/stores/SubscribableStore.d.ts +9 -0
  824. package/stores/SubscribableStore.js +25 -0
  825. package/stores/TransactionHistory.d.ts +6 -0
  826. package/stores/TransactionHistory.js +29 -0
  827. package/stores/TransactionHistoryV2.d.ts +5 -0
  828. package/stores/TransactionHistoryV2.js +10 -0
  829. package/stores/TransactionHistoryV3.d.ts +5 -0
  830. package/stores/TransactionHistoryV3.js +10 -0
  831. package/stores/index.d.ts +1 -0
  832. package/stores/index.js +2 -1
  833. package/utils/address.d.ts +1 -0
  834. package/utils/address.js +10 -0
  835. package/utils/eth/mergeTransactionAndSignature.d.ts +2 -0
  836. package/utils/eth/mergeTransactionAndSignature.js +14 -0
  837. package/utils/eth/parseTransaction/base.d.ts +17 -0
  838. package/utils/eth/parseTransaction/base.js +273 -0
  839. package/utils/eth/parseTransaction/index.d.ts +6 -0
  840. package/utils/eth/parseTransaction/index.js +220 -0
  841. package/utils/eth.d.ts +18 -0
  842. package/utils/eth.js +64 -0
  843. package/utils/index.d.ts +36 -0
  844. package/utils/index.js +270 -2
  845. package/utils/keyring.d.ts +4 -0
  846. package/utils/keyring.js +49 -0
  847. package/utils/request.d.ts +1 -0
  848. package/utils/request.js +7 -0
  849. package/errors/SubWalletProviderError.d.ts +0 -6
@@ -0,0 +1,110 @@
1
+ import { _AssetRef, _AssetType, _ChainAsset, _ChainInfo } from '@subwallet/chain-list/types';
2
+ import Web3 from 'web3';
3
+ import { ApiPromise } from '@polkadot/api';
4
+ import { SubmittableExtrinsicFunction } from '@polkadot/api/promise/types';
5
+ import { ChainProperties, ChainType } from '@polkadot/types/interfaces';
6
+ import { Registry } from '@polkadot/types/types';
7
+ export interface _DataMap {
8
+ chainInfoMap: Record<string, _ChainInfo>;
9
+ chainStateMap: Record<string, _ChainState>;
10
+ assetRegistry: Record<string, _ChainAsset>;
11
+ assetRefMap: Record<string, _AssetRef>;
12
+ }
13
+ export declare enum _ChainConnectionStatus {
14
+ CONNECTED = "CONNECTED",
15
+ DISCONNECTED = "DISCONNECTED",
16
+ UNSTABLE = "UNSTABLE",
17
+ CONNECTING = "CONNECTING"
18
+ }
19
+ export interface _ChainState {
20
+ slug: string;
21
+ active: boolean;
22
+ currentProvider: string;
23
+ connectionStatus: _ChainConnectionStatus;
24
+ }
25
+ export interface _SubstrateDefaultFormatBalance {
26
+ decimals?: number[] | number;
27
+ unit?: string[] | string;
28
+ }
29
+ export interface _ChainBaseApi {
30
+ chainSlug: string;
31
+ apiUrl: string;
32
+ providerName?: string;
33
+ apiError?: string;
34
+ apiRetry?: number;
35
+ isApiReady: boolean;
36
+ isApiReadyOnce: boolean;
37
+ isApiConnected: boolean;
38
+ isApiInitialized: boolean;
39
+ isDevelopment?: boolean;
40
+ recoverConnect?: () => void;
41
+ isReady: Promise<any>;
42
+ }
43
+ export interface _SubstrateChainMetadata {
44
+ properties: ChainProperties;
45
+ systemChain: string;
46
+ systemChainType: ChainType;
47
+ systemName: string;
48
+ systemVersion: string;
49
+ }
50
+ export interface _SubstrateApiState {
51
+ apiDefaultTx?: SubmittableExtrinsicFunction;
52
+ apiDefaultTxSudo?: SubmittableExtrinsicFunction;
53
+ defaultFormatBalance?: _SubstrateDefaultFormatBalance;
54
+ }
55
+ export interface _SubstrateApi extends _SubstrateApiState, _ChainBaseApi {
56
+ api: ApiPromise;
57
+ isNotSupport?: boolean;
58
+ isReady: Promise<_SubstrateApi>;
59
+ specName: string;
60
+ specVersion: string;
61
+ systemChain: string;
62
+ systemName: string;
63
+ systemVersion: string;
64
+ registry: Registry;
65
+ }
66
+ export interface _EvmApi extends _ChainBaseApi {
67
+ api: Web3;
68
+ isReady: Promise<_EvmApi>;
69
+ }
70
+ export declare type _NetworkUpsertParams = {
71
+ mode: 'update' | 'insert';
72
+ chainEditInfo: {
73
+ chainType?: string;
74
+ currentProvider: string;
75
+ name?: string;
76
+ providers: Record<string, string>;
77
+ slug: string;
78
+ symbol?: string;
79
+ blockExplorer?: string;
80
+ crowdloanUrl?: string;
81
+ priceId?: string;
82
+ };
83
+ chainSpec?: {
84
+ genesisHash: string;
85
+ paraId: number | null;
86
+ addressPrefix: number;
87
+ evmChainId: number | null;
88
+ existentialDeposit: string;
89
+ decimals: number;
90
+ };
91
+ };
92
+ export declare const _CUSTOM_PREFIX = "custom-";
93
+ export interface _ValidateCustomAssetRequest {
94
+ contractAddress: string;
95
+ originChain: string;
96
+ type: _AssetType;
97
+ contractCaller?: string;
98
+ }
99
+ export interface _SmartContractTokenInfo {
100
+ name: string;
101
+ symbol: string;
102
+ decimals: number;
103
+ contractError: boolean;
104
+ }
105
+ export interface _ValidateCustomAssetResponse extends _SmartContractTokenInfo {
106
+ isExist: boolean;
107
+ }
108
+ export declare const _FUNGIBLE_CONTRACT_STANDARDS: _AssetType[];
109
+ export declare const _NFT_CONTRACT_STANDARDS: _AssetType[];
110
+ export declare const _SMART_CONTRACT_STANDARDS: _AssetType[];
@@ -0,0 +1,17 @@
1
+ // Copyright 2019-2022 @subwallet/extension-base
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ /* eslint @typescript-eslint/no-empty-interface: "off" */
5
+
6
+ import { _AssetType } from '@subwallet/chain-list/types';
7
+ export let _ChainConnectionStatus;
8
+ (function (_ChainConnectionStatus) {
9
+ _ChainConnectionStatus["CONNECTED"] = "CONNECTED";
10
+ _ChainConnectionStatus["DISCONNECTED"] = "DISCONNECTED";
11
+ _ChainConnectionStatus["UNSTABLE"] = "UNSTABLE";
12
+ _ChainConnectionStatus["CONNECTING"] = "CONNECTING";
13
+ })(_ChainConnectionStatus || (_ChainConnectionStatus = {}));
14
+ export const _CUSTOM_PREFIX = 'custom-';
15
+ export const _FUNGIBLE_CONTRACT_STANDARDS = [_AssetType.ERC20, _AssetType.PSP22];
16
+ export const _NFT_CONTRACT_STANDARDS = [_AssetType.PSP34, _AssetType.ERC721];
17
+ export const _SMART_CONTRACT_STANDARDS = [..._FUNGIBLE_CONTRACT_STANDARDS, ..._NFT_CONTRACT_STANDARDS];
@@ -0,0 +1,66 @@
1
+ import { _AssetRef, _AssetType, _ChainAsset, _ChainInfo, _MultiChainAsset } from '@subwallet/chain-list/types';
2
+ import { _ChainState } from '@subwallet/extension-base/services/chain-service/types';
3
+ export declare function _isCustomChain(slug: string): boolean;
4
+ export declare function _isCustomAsset(slug: string): boolean;
5
+ export declare function _getCustomAssets(assetRegistry: Record<string, _ChainAsset>): Record<string, _ChainAsset>;
6
+ export declare function _isEqualContractAddress(address1: string, address2: string): boolean;
7
+ export declare function _isEqualSmartContractAsset(asset1: _ChainAsset, asset2: _ChainAsset): boolean;
8
+ export declare function _isPureEvmChain(chainInfo: _ChainInfo): boolean;
9
+ export declare function _isPureSubstrateChain(chainInfo: _ChainInfo): boolean;
10
+ export declare function _getOriginChainOfAsset(assetSlug: string): string;
11
+ export declare function _getContractAddressOfToken(tokenInfo: _ChainAsset): string;
12
+ export declare function _checkSmartContractSupportByChain(chainInfo: _ChainInfo, contractType: _AssetType): boolean;
13
+ export declare function _getTokenOnChainAssetId(tokenInfo: _ChainAsset): string;
14
+ export declare function _getTokenOnChainInfo(tokenInfo: _ChainAsset): Record<string, any>;
15
+ export declare function _getTokenMinAmount(tokenInfo: _ChainAsset): string;
16
+ export declare function _isChainEvmCompatible(chainInfo: _ChainInfo): boolean;
17
+ export declare function _isNativeToken(tokenInfo: _ChainAsset): boolean;
18
+ export declare function _isNativeTokenBySlug(tokenSlug: string): boolean;
19
+ export declare function _isSmartContractToken(tokenInfo: _ChainAsset): boolean;
20
+ export declare function _isSubstrateChain(chainInfo: _ChainInfo): boolean;
21
+ export declare function _getEvmChainId(chainInfo: _ChainInfo): number;
22
+ export declare function _getSubstrateParaId(chainInfo: _ChainInfo): number;
23
+ export declare function _getSubstrateRelayParent(chainInfo: _ChainInfo): string;
24
+ export declare function _getSubstrateGenesisHash(chainInfo: _ChainInfo): string;
25
+ export declare function _isChainSupportSubstrateStaking(chainInfo: _ChainInfo): boolean;
26
+ export declare function _isChainEnabled(chainState: _ChainState): boolean;
27
+ export declare function _isSubstrateParachain(chainInfo: _ChainInfo): boolean;
28
+ export declare function _getChainSubstrateAddressPrefix(chainInfo: _ChainInfo): number;
29
+ export declare function _isChainSupportNativeNft(chainInfo: _ChainInfo): boolean;
30
+ export declare function _isChainSupportEvmNft(chainInfo: _ChainInfo): boolean;
31
+ export declare function _isChainSupportWasmNft(chainInfo: _ChainInfo): boolean;
32
+ export declare function _getNftTypesSupportedByChain(chainInfo: _ChainInfo): _AssetType[];
33
+ export declare function _getTokenTypesSupportedByChain(chainInfo: _ChainInfo): _AssetType[];
34
+ export declare function _getChainNativeTokenBasicInfo(chainInfo: _ChainInfo): {
35
+ symbol: string;
36
+ decimals: number;
37
+ };
38
+ export declare function _getChainNativeTokenSlug(chainInfo: _ChainInfo): string;
39
+ export declare function _isTokenEvmSmartContract(tokenInfo: _ChainAsset): boolean;
40
+ export declare function _isTokenWasmSmartContract(tokenInfo: _ChainAsset): boolean;
41
+ export declare function _isAssetSmartContractNft(assetInfo: _ChainAsset): boolean;
42
+ export declare function _parseAssetRefKey(originTokenSlug: string, destinationTokenSlug: string): string;
43
+ export declare function _isXcmPathSupported(originTokenSlug: string, destinationTokenSlug: string, assetRefMap: Record<string, _AssetRef>): boolean;
44
+ export declare function _getXcmAssetType(tokenInfo: _ChainAsset): string;
45
+ export declare function _getXcmAssetId(tokenInfo: _ChainAsset): string;
46
+ export declare function _getXcmTransferType(originChainInfo: _ChainInfo, destinationChainInfo: _ChainInfo): string;
47
+ export declare function _getXcmAssetMultilocation(tokenInfo: _ChainAsset): any;
48
+ export declare function _isSubstrateRelayChain(chainInfo: _ChainInfo): boolean;
49
+ export declare function _isSubstrateParaChain(chainInfo: _ChainInfo): boolean;
50
+ export declare function _getEvmAbiExplorer(chainInfo: _ChainInfo): string;
51
+ export declare function _isAssetValuable(assetInfo: _ChainAsset): boolean;
52
+ export declare function _getMultiChainAsset(assetInfo: _ChainAsset): string;
53
+ export declare function _getAssetPriceId(assetInfo: _ChainAsset): string;
54
+ export declare function _getMultiChainAssetPriceId(multiChainAsset: _MultiChainAsset): string;
55
+ export declare function _getAssetSymbol(assetInfo: _ChainAsset): string;
56
+ export declare function _getMultiChainAssetSymbol(multiChainAsset: _MultiChainAsset): string;
57
+ export declare function _getAssetOriginChain(assetInfo: _ChainAsset): string;
58
+ export declare function _getChainName(chainInfo: _ChainInfo): string;
59
+ export declare function _getAssetDecimals(assetInfo: _ChainAsset): number;
60
+ export declare function _getBlockExplorerFromChain(chainInfo: _ChainInfo): string;
61
+ export declare function _parseMetadataForSmartContractAsset(contractAddress: string): Record<string, string>;
62
+ export declare function _isChainTestNet(chainInfo: _ChainInfo): boolean;
63
+ export declare function _isAssetFungibleToken(chainAsset: _ChainAsset): boolean;
64
+ export declare function _getCrowdloanUrlFromChain(chainInfo: _ChainInfo): string;
65
+ export declare function _isCustomProvider(providerKey: string): boolean;
66
+ export declare function _generateCustomProviderKey(index: number): string;
@@ -0,0 +1,303 @@
1
+ // Copyright 2019-2022 @subwallet/extension-base
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ import { _AssetRefPath, _AssetType, _SubstrateChainType } from '@subwallet/chain-list/types';
5
+ import { _CUSTOM_PREFIX, _SMART_CONTRACT_STANDARDS } from '@subwallet/extension-base/services/chain-service/types';
6
+ import { isEthereumAddress } from '@polkadot/util-crypto';
7
+ export function _isCustomChain(slug) {
8
+ if (slug.length === 0) {
9
+ return true;
10
+ }
11
+ return slug.startsWith(_CUSTOM_PREFIX);
12
+ }
13
+ export function _isCustomAsset(slug) {
14
+ // might be different from _isCustomNetwork
15
+ if (slug.length === 0) {
16
+ return true;
17
+ }
18
+ return slug.startsWith(_CUSTOM_PREFIX);
19
+ }
20
+ export function _getCustomAssets(assetRegistry) {
21
+ const filteredAssetMap = {};
22
+ Object.values(assetRegistry).forEach(chainAsset => {
23
+ if (_isCustomAsset(chainAsset.slug)) {
24
+ filteredAssetMap[chainAsset.slug] = chainAsset;
25
+ }
26
+ });
27
+ return filteredAssetMap;
28
+ }
29
+ export function _isEqualContractAddress(address1, address2) {
30
+ if (isEthereumAddress(address1) && isEthereumAddress(address2)) {
31
+ return address1.toLowerCase() === address2.toLowerCase(); // EVM address is case-insensitive
32
+ }
33
+
34
+ return address2 === address1;
35
+ }
36
+ export function _isEqualSmartContractAsset(asset1, asset2) {
37
+ var _asset1$metadata, _asset2$metadata;
38
+ const contract1 = ((_asset1$metadata = asset1.metadata) === null || _asset1$metadata === void 0 ? void 0 : _asset1$metadata.contractAddress) || undefined || null;
39
+ const contract2 = ((_asset2$metadata = asset2.metadata) === null || _asset2$metadata === void 0 ? void 0 : _asset2$metadata.contractAddress) || undefined || null;
40
+ if (!contract1 || !contract2) {
41
+ return false;
42
+ }
43
+ if (_isEqualContractAddress(contract1, contract2) && asset1.assetType === asset2.assetType && asset1.originChain === asset2.originChain) {
44
+ return true;
45
+ }
46
+ return false;
47
+ }
48
+ export function _isPureEvmChain(chainInfo) {
49
+ return chainInfo.evmInfo !== null && chainInfo.substrateInfo === null;
50
+ }
51
+ export function _isPureSubstrateChain(chainInfo) {
52
+ return chainInfo.evmInfo === null && chainInfo.substrateInfo !== null;
53
+ }
54
+ export function _getOriginChainOfAsset(assetSlug) {
55
+ return assetSlug.split('-')[0];
56
+ }
57
+ export function _getContractAddressOfToken(tokenInfo) {
58
+ var _tokenInfo$metadata;
59
+ return ((_tokenInfo$metadata = tokenInfo.metadata) === null || _tokenInfo$metadata === void 0 ? void 0 : _tokenInfo$metadata.contractAddress) || '';
60
+ }
61
+ export function _checkSmartContractSupportByChain(chainInfo, contractType) {
62
+ // EVM chains support smart contract by default so just checking Substrate chains
63
+ if (chainInfo.substrateInfo === null || chainInfo.substrateInfo && chainInfo.substrateInfo.supportSmartContract === null) {
64
+ return false;
65
+ }
66
+ return chainInfo.substrateInfo.supportSmartContract !== null && chainInfo.substrateInfo.supportSmartContract.includes(contractType);
67
+ }
68
+
69
+ // Utils for balance functions
70
+ export function _getTokenOnChainAssetId(tokenInfo) {
71
+ var _tokenInfo$metadata2;
72
+ return ((_tokenInfo$metadata2 = tokenInfo.metadata) === null || _tokenInfo$metadata2 === void 0 ? void 0 : _tokenInfo$metadata2.assetId) || '-1';
73
+ }
74
+ export function _getTokenOnChainInfo(tokenInfo) {
75
+ var _tokenInfo$metadata3;
76
+ return (_tokenInfo$metadata3 = tokenInfo.metadata) === null || _tokenInfo$metadata3 === void 0 ? void 0 : _tokenInfo$metadata3.onChainInfo;
77
+ }
78
+ export function _getTokenMinAmount(tokenInfo) {
79
+ return tokenInfo.minAmount || '0';
80
+ }
81
+ export function _isChainEvmCompatible(chainInfo) {
82
+ return chainInfo.evmInfo !== undefined && chainInfo.evmInfo !== null;
83
+ }
84
+ export function _isNativeToken(tokenInfo) {
85
+ return tokenInfo.assetType === _AssetType.NATIVE;
86
+ }
87
+ export function _isNativeTokenBySlug(tokenSlug) {
88
+ return tokenSlug.includes(_AssetType.NATIVE);
89
+ }
90
+ export function _isSmartContractToken(tokenInfo) {
91
+ return _SMART_CONTRACT_STANDARDS.includes(tokenInfo.assetType);
92
+ }
93
+ export function _isSubstrateChain(chainInfo) {
94
+ return !!chainInfo.substrateInfo; // fallback to Ethereum
95
+ }
96
+
97
+ export function _getEvmChainId(chainInfo) {
98
+ var _chainInfo$evmInfo;
99
+ return ((_chainInfo$evmInfo = chainInfo.evmInfo) === null || _chainInfo$evmInfo === void 0 ? void 0 : _chainInfo$evmInfo.evmChainId) || 1; // fallback to Ethereum
100
+ }
101
+
102
+ export function _getSubstrateParaId(chainInfo) {
103
+ var _chainInfo$substrateI;
104
+ return ((_chainInfo$substrateI = chainInfo.substrateInfo) === null || _chainInfo$substrateI === void 0 ? void 0 : _chainInfo$substrateI.paraId) || -1;
105
+ }
106
+ export function _getSubstrateRelayParent(chainInfo) {
107
+ var _chainInfo$substrateI2;
108
+ return ((_chainInfo$substrateI2 = chainInfo.substrateInfo) === null || _chainInfo$substrateI2 === void 0 ? void 0 : _chainInfo$substrateI2.relaySlug) || '';
109
+ }
110
+ export function _getSubstrateGenesisHash(chainInfo) {
111
+ var _chainInfo$substrateI3;
112
+ return ((_chainInfo$substrateI3 = chainInfo.substrateInfo) === null || _chainInfo$substrateI3 === void 0 ? void 0 : _chainInfo$substrateI3.genesisHash) || '';
113
+ }
114
+ export function _isChainSupportSubstrateStaking(chainInfo) {
115
+ var _chainInfo$substrateI4;
116
+ return ((_chainInfo$substrateI4 = chainInfo.substrateInfo) === null || _chainInfo$substrateI4 === void 0 ? void 0 : _chainInfo$substrateI4.supportStaking) || false;
117
+ }
118
+ export function _isChainEnabled(chainState) {
119
+ return chainState.active;
120
+ }
121
+ export function _isSubstrateParachain(chainInfo) {
122
+ return chainInfo.substrateInfo !== null && chainInfo.substrateInfo.paraId !== null;
123
+ }
124
+ export function _getChainSubstrateAddressPrefix(chainInfo) {
125
+ var _chainInfo$substrateI5, _chainInfo$substrateI6;
126
+ return (_chainInfo$substrateI5 = (_chainInfo$substrateI6 = chainInfo.substrateInfo) === null || _chainInfo$substrateI6 === void 0 ? void 0 : _chainInfo$substrateI6.addressPrefix) !== null && _chainInfo$substrateI5 !== void 0 ? _chainInfo$substrateI5 : -1;
127
+ }
128
+ export function _isChainSupportNativeNft(chainInfo) {
129
+ var _chainInfo$substrateI7;
130
+ return ((_chainInfo$substrateI7 = chainInfo.substrateInfo) === null || _chainInfo$substrateI7 === void 0 ? void 0 : _chainInfo$substrateI7.hasNativeNft) || false;
131
+ }
132
+ export function _isChainSupportEvmNft(chainInfo) {
133
+ var _chainInfo$evmInfo2, _chainInfo$evmInfo2$s;
134
+ return ((_chainInfo$evmInfo2 = chainInfo.evmInfo) === null || _chainInfo$evmInfo2 === void 0 ? void 0 : (_chainInfo$evmInfo2$s = _chainInfo$evmInfo2.supportSmartContract) === null || _chainInfo$evmInfo2$s === void 0 ? void 0 : _chainInfo$evmInfo2$s.includes(_AssetType.ERC721)) || false;
135
+ }
136
+ export function _isChainSupportWasmNft(chainInfo) {
137
+ var _chainInfo$substrateI8, _chainInfo$substrateI9;
138
+ return ((_chainInfo$substrateI8 = chainInfo.substrateInfo) === null || _chainInfo$substrateI8 === void 0 ? void 0 : (_chainInfo$substrateI9 = _chainInfo$substrateI8.supportSmartContract) === null || _chainInfo$substrateI9 === void 0 ? void 0 : _chainInfo$substrateI9.includes(_AssetType.PSP34)) || false;
139
+ }
140
+ export function _getNftTypesSupportedByChain(chainInfo) {
141
+ const result = [];
142
+ if (chainInfo.substrateInfo && chainInfo.substrateInfo.supportSmartContract) {
143
+ chainInfo.substrateInfo.supportSmartContract.forEach(assetType => {
144
+ if ([_AssetType.PSP34].includes(assetType)) {
145
+ result.push(assetType);
146
+ }
147
+ });
148
+ }
149
+ if (chainInfo.evmInfo && chainInfo.evmInfo.supportSmartContract) {
150
+ chainInfo.evmInfo.supportSmartContract.forEach(assetType => {
151
+ if ([_AssetType.ERC721].includes(assetType)) {
152
+ result.push(assetType);
153
+ }
154
+ });
155
+ }
156
+ return result;
157
+ }
158
+ export function _getTokenTypesSupportedByChain(chainInfo) {
159
+ const result = [];
160
+ if (chainInfo.substrateInfo && chainInfo.substrateInfo.supportSmartContract) {
161
+ chainInfo.substrateInfo.supportSmartContract.forEach(assetType => {
162
+ if ([_AssetType.PSP22].includes(assetType)) {
163
+ result.push(assetType);
164
+ }
165
+ });
166
+ }
167
+ if (chainInfo.evmInfo && chainInfo.evmInfo.supportSmartContract) {
168
+ chainInfo.evmInfo.supportSmartContract.forEach(assetType => {
169
+ if ([_AssetType.ERC20].includes(assetType)) {
170
+ result.push(assetType);
171
+ }
172
+ });
173
+ }
174
+ return result;
175
+ }
176
+ export function _getChainNativeTokenBasicInfo(chainInfo) {
177
+ if (chainInfo.substrateInfo !== null) {
178
+ // substrate by default
179
+ return {
180
+ symbol: chainInfo.substrateInfo.symbol,
181
+ decimals: chainInfo.substrateInfo.decimals
182
+ };
183
+ } else if (chainInfo.evmInfo !== null) {
184
+ return {
185
+ symbol: chainInfo.evmInfo.symbol,
186
+ decimals: chainInfo.evmInfo.decimals
187
+ };
188
+ }
189
+ return {
190
+ symbol: '',
191
+ decimals: -1
192
+ };
193
+ }
194
+ export function _getChainNativeTokenSlug(chainInfo) {
195
+ if (_isCustomChain(chainInfo.slug)) {
196
+ return `${_CUSTOM_PREFIX}${chainInfo.slug}-${_AssetType.NATIVE}-${_getChainNativeTokenBasicInfo(chainInfo).symbol}`;
197
+ }
198
+ return `${chainInfo.slug}-${_AssetType.NATIVE}-${_getChainNativeTokenBasicInfo(chainInfo).symbol}`;
199
+ }
200
+ export function _isTokenEvmSmartContract(tokenInfo) {
201
+ return [_AssetType.ERC721, _AssetType.ERC20].includes(tokenInfo.assetType);
202
+ }
203
+ export function _isTokenWasmSmartContract(tokenInfo) {
204
+ return [_AssetType.PSP22, _AssetType.PSP34].includes(tokenInfo.assetType);
205
+ }
206
+ export function _isAssetSmartContractNft(assetInfo) {
207
+ return [_AssetType.PSP34, _AssetType.ERC721].includes(assetInfo.assetType);
208
+ }
209
+ export function _parseAssetRefKey(originTokenSlug, destinationTokenSlug) {
210
+ return `${originTokenSlug}-${destinationTokenSlug}`;
211
+ }
212
+ export function _isXcmPathSupported(originTokenSlug, destinationTokenSlug, assetRefMap) {
213
+ const assetRef = assetRefMap[_parseAssetRefKey(originTokenSlug, destinationTokenSlug)];
214
+ if (!assetRef) {
215
+ return false;
216
+ }
217
+ return assetRef.path === _AssetRefPath.XCM;
218
+ }
219
+ export function _getXcmAssetType(tokenInfo) {
220
+ var _tokenInfo$metadata4;
221
+ return ((_tokenInfo$metadata4 = tokenInfo.metadata) === null || _tokenInfo$metadata4 === void 0 ? void 0 : _tokenInfo$metadata4.assetType) || '';
222
+ }
223
+ export function _getXcmAssetId(tokenInfo) {
224
+ var _tokenInfo$metadata5;
225
+ return ((_tokenInfo$metadata5 = tokenInfo.metadata) === null || _tokenInfo$metadata5 === void 0 ? void 0 : _tokenInfo$metadata5.assetId) || '-1';
226
+ }
227
+ export function _getXcmTransferType(originChainInfo, destinationChainInfo) {
228
+ var _originChainInfo$subs, _destinationChainInfo;
229
+ return `${((_originChainInfo$subs = originChainInfo.substrateInfo) === null || _originChainInfo$subs === void 0 ? void 0 : _originChainInfo$subs.chainType) || ''}-${((_destinationChainInfo = destinationChainInfo.substrateInfo) === null || _destinationChainInfo === void 0 ? void 0 : _destinationChainInfo.chainType) || ''}`;
230
+ }
231
+ export function _getXcmAssetMultilocation(tokenInfo) {
232
+ var _tokenInfo$metadata6;
233
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-return
234
+ return ((_tokenInfo$metadata6 = tokenInfo.metadata) === null || _tokenInfo$metadata6 === void 0 ? void 0 : _tokenInfo$metadata6.xcmMultilocation) || {};
235
+ }
236
+ export function _isSubstrateRelayChain(chainInfo) {
237
+ var _chainInfo$substrateI10;
238
+ return ((_chainInfo$substrateI10 = chainInfo.substrateInfo) === null || _chainInfo$substrateI10 === void 0 ? void 0 : _chainInfo$substrateI10.chainType) === _SubstrateChainType.RELAYCHAIN;
239
+ }
240
+ export function _isSubstrateParaChain(chainInfo) {
241
+ var _chainInfo$substrateI11;
242
+ return ((_chainInfo$substrateI11 = chainInfo.substrateInfo) === null || _chainInfo$substrateI11 === void 0 ? void 0 : _chainInfo$substrateI11.chainType) === _SubstrateChainType.PARACHAIN;
243
+ }
244
+ export function _getEvmAbiExplorer(chainInfo) {
245
+ var _chainInfo$evmInfo3;
246
+ return ((_chainInfo$evmInfo3 = chainInfo.evmInfo) === null || _chainInfo$evmInfo3 === void 0 ? void 0 : _chainInfo$evmInfo3.abiExplorer) || '';
247
+ }
248
+ export function _isAssetValuable(assetInfo) {
249
+ return assetInfo.hasValue;
250
+ }
251
+ export function _getMultiChainAsset(assetInfo) {
252
+ return (assetInfo === null || assetInfo === void 0 ? void 0 : assetInfo.multiChainAsset) || '';
253
+ }
254
+ export function _getAssetPriceId(assetInfo) {
255
+ return (assetInfo === null || assetInfo === void 0 ? void 0 : assetInfo.priceId) || '';
256
+ }
257
+ export function _getMultiChainAssetPriceId(multiChainAsset) {
258
+ return (multiChainAsset === null || multiChainAsset === void 0 ? void 0 : multiChainAsset.priceId) || '';
259
+ }
260
+ export function _getAssetSymbol(assetInfo) {
261
+ return (assetInfo === null || assetInfo === void 0 ? void 0 : assetInfo.symbol) || '';
262
+ }
263
+ export function _getMultiChainAssetSymbol(multiChainAsset) {
264
+ return multiChainAsset.symbol;
265
+ }
266
+ export function _getAssetOriginChain(assetInfo) {
267
+ return assetInfo.originChain;
268
+ }
269
+ export function _getChainName(chainInfo) {
270
+ return chainInfo.name;
271
+ }
272
+ export function _getAssetDecimals(assetInfo) {
273
+ return assetInfo.decimals || 0;
274
+ }
275
+ export function _getBlockExplorerFromChain(chainInfo) {
276
+ var _chainInfo$substrateI12;
277
+ if (_isPureEvmChain(chainInfo)) {
278
+ var _chainInfo$evmInfo4;
279
+ return (chainInfo === null || chainInfo === void 0 ? void 0 : (_chainInfo$evmInfo4 = chainInfo.evmInfo) === null || _chainInfo$evmInfo4 === void 0 ? void 0 : _chainInfo$evmInfo4.blockExplorer) || '';
280
+ }
281
+ return (chainInfo === null || chainInfo === void 0 ? void 0 : (_chainInfo$substrateI12 = chainInfo.substrateInfo) === null || _chainInfo$substrateI12 === void 0 ? void 0 : _chainInfo$substrateI12.blockExplorer) || '';
282
+ }
283
+ export function _parseMetadataForSmartContractAsset(contractAddress) {
284
+ return {
285
+ contractAddress
286
+ };
287
+ }
288
+ export function _isChainTestNet(chainInfo) {
289
+ return chainInfo.isTestnet || false;
290
+ }
291
+ export function _isAssetFungibleToken(chainAsset) {
292
+ return ![_AssetType.ERC721, _AssetType.PSP34, _AssetType.UNKNOWN].includes(chainAsset.assetType);
293
+ }
294
+ export function _getCrowdloanUrlFromChain(chainInfo) {
295
+ var _chainInfo$substrateI13;
296
+ return (chainInfo === null || chainInfo === void 0 ? void 0 : (_chainInfo$substrateI13 = chainInfo.substrateInfo) === null || _chainInfo$substrateI13 === void 0 ? void 0 : _chainInfo$substrateI13.crowdloanUrl) || '';
297
+ }
298
+ export function _isCustomProvider(providerKey) {
299
+ return providerKey.startsWith(_CUSTOM_PREFIX);
300
+ }
301
+ export function _generateCustomProviderKey(index) {
302
+ return `${_CUSTOM_PREFIX}provider-${index}`;
303
+ }
@@ -0,0 +1,21 @@
1
+ import { TransactionHistoryItem } from '@subwallet/extension-base/background/KoniTypes';
2
+ import { ChainService } from '@subwallet/extension-base/services/chain-service';
3
+ import DatabaseService from '@subwallet/extension-base/services/storage-service/DatabaseService';
4
+ import { BehaviorSubject } from 'rxjs';
5
+ export declare class HistoryService {
6
+ private dbService;
7
+ private chainService;
8
+ private historySubject;
9
+ constructor(dbService: DatabaseService, chainService: ChainService);
10
+ private fetchPromise;
11
+ private nextFetch;
12
+ private fetchAndLoadHistories;
13
+ fetchHistories(addresses: string[]): Promise<TransactionHistoryItem<import("@subwallet/extension-base/background/KoniTypes").ExtrinsicType.TRANSFER_BALANCE>[]>;
14
+ invalidCache(): void;
15
+ refreshHistoryInterval(): void;
16
+ getHistories(): Promise<TransactionHistoryItem<import("@subwallet/extension-base/background/KoniTypes").ExtrinsicType.TRANSFER_BALANCE>[]>;
17
+ getHistorySubject(): Promise<BehaviorSubject<TransactionHistoryItem<import("@subwallet/extension-base/background/KoniTypes").ExtrinsicType.TRANSFER_BALANCE>[]>>;
18
+ insertHistory(historyItem: TransactionHistoryItem): Promise<void>;
19
+ updateHistory(chain: string, extrinsicHash: string, historyItem: Partial<TransactionHistoryItem>): Promise<void>;
20
+ addHistoryItems(historyItems: TransactionHistoryItem[]): Promise<void>;
21
+ }
@@ -0,0 +1,98 @@
1
+ // Copyright 2019-2022 @subwallet/extension-base
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ import { CRON_REFRESH_HISTORY_INTERVAL } from '@subwallet/extension-base/constants';
5
+ import { accounts } from '@subwallet/ui-keyring/observable/accounts';
6
+ import { BehaviorSubject } from 'rxjs';
7
+ import { fetchMultiChainHistories } from "./subsquid-multi-chain-history.js";
8
+ export class HistoryService {
9
+ historySubject = new BehaviorSubject([]);
10
+ constructor(dbService, chainService) {
11
+ this.dbService = dbService;
12
+ this.chainService = chainService;
13
+
14
+ // Load history from database
15
+ this.dbService.getHistories().then(histories => {
16
+ this.historySubject.next(histories);
17
+ }).catch(console.error);
18
+
19
+ // Add some delay to avoid fetching many times when start extension background
20
+ setTimeout(() => {
21
+ // Create history interval and refresh it if changes accounts list
22
+ accounts.subject.subscribe(this.refreshHistoryInterval.bind(this));
23
+ }, 3333);
24
+ }
25
+ fetchPromise = null;
26
+ nextFetch = undefined;
27
+ async fetchAndLoadHistories(addresses) {
28
+ if (!addresses || addresses.length === 0) {
29
+ return [];
30
+ }
31
+ const chainMap = this.chainService.getChainInfoMap();
32
+
33
+ // Query data from subscan or any indexer
34
+ const historyRecords = await fetchMultiChainHistories(addresses, chainMap);
35
+
36
+ // Fill additional info
37
+ const accountMap = Object.entries(accounts.subject.value).reduce((map, [address, account]) => {
38
+ map[address.toLowerCase()] = account.json.meta.name || address;
39
+ return map;
40
+ }, {});
41
+ historyRecords.forEach(record => {
42
+ var _record$from, _record$to;
43
+ record.fromName = accountMap[(_record$from = record.from) === null || _record$from === void 0 ? void 0 : _record$from.toLowerCase()];
44
+ record.toName = accountMap[(_record$to = record.to) === null || _record$to === void 0 ? void 0 : _record$to.toLowerCase()];
45
+ });
46
+ await this.dbService.upsertHistory(historyRecords);
47
+ return await this.dbService.getHistories();
48
+ }
49
+ async fetchHistories(addresses) {
50
+ if (!this.fetchPromise) {
51
+ // Fetch another histories data data indexer and merge it with stored in database
52
+ this.fetchPromise = this.fetchAndLoadHistories(addresses);
53
+ }
54
+ return this.fetchPromise;
55
+ }
56
+ invalidCache() {
57
+ this.fetchPromise = null;
58
+ }
59
+ refreshHistoryInterval() {
60
+ clearTimeout(this.nextFetch);
61
+ this.invalidCache();
62
+ this.getHistories().catch(console.error);
63
+ this.nextFetch = setTimeout(this.refreshHistoryInterval.bind(this), CRON_REFRESH_HISTORY_INTERVAL);
64
+ }
65
+ async getHistories() {
66
+ const addressList = Object.keys(accounts.subject.value);
67
+ if (!this.fetchPromise) {
68
+ const historyRecords = await this.fetchHistories(addressList);
69
+ this.historySubject.next(historyRecords);
70
+ }
71
+ return this.historySubject.getValue();
72
+ }
73
+ async getHistorySubject() {
74
+ await this.getHistories();
75
+ return this.historySubject;
76
+ }
77
+ async insertHistory(historyItem) {
78
+ await this.dbService.upsertHistory([historyItem]);
79
+ this.historySubject.next(await this.dbService.getHistories());
80
+ }
81
+ async updateHistory(chain, extrinsicHash, historyItem) {
82
+ const existedRecords = await this.dbService.getHistories({
83
+ chain,
84
+ extrinsicHash
85
+ });
86
+ const updatedRecords = existedRecords.map(r => {
87
+ return {
88
+ ...r,
89
+ ...historyItem
90
+ };
91
+ });
92
+ await this.addHistoryItems(updatedRecords);
93
+ }
94
+ async addHistoryItems(historyItems) {
95
+ await this.dbService.upsertHistory(historyItems);
96
+ this.historySubject.next(await this.dbService.getHistories());
97
+ }
98
+ }
@@ -0,0 +1,30 @@
1
+ import { _ChainInfo } from '@subwallet/chain-list/types';
2
+ import { ExtrinsicType, TransactionHistoryItem } from '@subwallet/extension-base/background/KoniTypes';
3
+ export interface MultiHistoryData {
4
+ _data: string;
5
+ args: string;
6
+ chainId: string;
7
+ id: string;
8
+ signer: string;
9
+ name: string;
10
+ timestamp: number;
11
+ blockNumber: number;
12
+ blockHash: string;
13
+ explorerUrl: string;
14
+ relatedAddresses: string[];
15
+ }
16
+ export declare enum SubsquidTransactionType {
17
+ BalanceTransfer = "Balances.Transfer",
18
+ EthereumExecuted = "Ethereum.Executed",
19
+ StakingBonded = "Staking.Bonded",
20
+ CrowdloanContributed = "Crowdloan.Contributed"
21
+ }
22
+ export interface ParseInputType {
23
+ type: SubsquidTransactionType;
24
+ data: MultiHistoryData;
25
+ chainInfo: _ChainInfo;
26
+ }
27
+ export declare type TransactionBasicData = Pick<TransactionHistoryItem, 'address' | 'origin' | 'time' | 'chainType' | 'from' | 'direction' | 'blockNumber' | 'blockHash' | 'chain' | 'data'>;
28
+ export declare type TransactionSpecifyType = Pick<TransactionHistoryItem, 'to' | 'type' | 'status' | 'fee' | 'amount' | 'tip' | 'signature' | 'extrinsicHash'>;
29
+ export declare function parseSubsquidTransactionData(address: string, type: SubsquidTransactionType, historyItem: MultiHistoryData, chainInfo: _ChainInfo, args: any, data: any): TransactionHistoryItem;
30
+ export declare function fetchMultiChainHistories(addresses: string[], chainMap: Record<string, _ChainInfo>, maxPage?: number): Promise<TransactionHistoryItem<ExtrinsicType.TRANSFER_BALANCE>[]>;