@subwallet/extension-base 1.0.10-0 → 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.
- package/background/KoniTypes.d.ts +6 -0
- package/cjs/koni/api/nft/wasm_nft/index.js +4 -1
- package/cjs/koni/api/staking/bonding/index.js +3 -0
- package/cjs/koni/background/cron.js +4 -29
- package/cjs/koni/background/handlers/State.js +74 -23
- package/cjs/koni/background/subscription.js +4 -2
- package/cjs/packageInfo.js +1 -1
- package/cjs/services/chain-service/constants.js +3 -1
- package/cjs/services/chain-service/handler/AbstractChainHandler.js +93 -0
- package/cjs/services/chain-service/handler/EvmApi.js +131 -0
- package/cjs/services/chain-service/handler/EvmChainHandler.js +55 -39
- package/cjs/services/chain-service/handler/SubstrateApi.js +212 -0
- package/cjs/services/chain-service/handler/SubstrateChainHandler.js +76 -199
- package/cjs/services/chain-service/index.js +119 -141
- package/cjs/services/event-service/index.js +2 -0
- package/cjs/services/history-service/index.js +4 -0
- package/cjs/services/migration-service/index.js +0 -3
- package/cjs/services/migration-service/scripts/MigrateNetworkSettings.js +1 -1
- package/cjs/services/price-service/index.js +4 -1
- package/cjs/services/storage-service/DatabaseService.js +6 -1
- package/cjs/services/storage-service/databases/index.js +3 -0
- package/cjs/services/storage-service/db-stores/Metadata.js +26 -0
- package/cjs/services/storage-service/db-stores/index.js +7 -0
- package/koni/api/nft/wasm_nft/index.js +4 -1
- package/koni/api/staking/bonding/index.js +3 -0
- package/koni/background/cron.d.ts +2 -4
- package/koni/background/cron.js +5 -30
- package/koni/background/handlers/State.d.ts +10 -8
- package/koni/background/handlers/State.js +73 -23
- package/koni/background/subscription.d.ts +2 -2
- package/koni/background/subscription.js +4 -2
- package/package.json +33 -668
- package/packageInfo.js +1 -1
- package/services/chain-service/constants.d.ts +1 -0
- package/services/chain-service/constants.js +1 -0
- package/services/chain-service/handler/AbstractChainHandler.d.ts +29 -0
- package/services/chain-service/handler/AbstractChainHandler.js +83 -0
- package/services/chain-service/handler/EvmApi.d.ts +36 -0
- package/services/chain-service/handler/EvmApi.js +122 -0
- package/services/chain-service/handler/EvmChainHandler.d.ts +15 -9
- package/services/chain-service/handler/EvmChainHandler.js +54 -38
- package/services/chain-service/handler/SubstrateApi.d.ts +48 -0
- package/services/chain-service/handler/SubstrateApi.js +204 -0
- package/services/chain-service/handler/SubstrateChainHandler.d.ts +14 -12
- package/services/chain-service/handler/SubstrateChainHandler.js +74 -198
- package/services/chain-service/handler/types.d.ts +6 -0
- package/services/chain-service/index.d.ts +16 -16
- package/services/chain-service/index.js +109 -133
- package/services/chain-service/types.d.ts +8 -5
- package/services/event-service/index.d.ts +2 -0
- package/services/event-service/index.js +2 -0
- package/services/event-service/types.d.ts +4 -0
- package/services/history-service/index.js +4 -0
- package/services/migration-service/index.js +0 -3
- package/services/migration-service/scripts/MigrateNetworkSettings.js +1 -1
- package/services/price-service/index.js +4 -1
- package/services/storage-service/DatabaseService.d.ts +5 -2
- package/services/storage-service/DatabaseService.js +7 -2
- package/services/storage-service/databases/index.d.ts +4 -1
- package/services/storage-service/databases/index.js +3 -0
- package/services/storage-service/db-stores/Metadata.d.ts +8 -0
- package/services/storage-service/db-stores/Metadata.js +18 -0
- package/services/storage-service/db-stores/index.d.ts +1 -0
- package/services/storage-service/db-stores/index.js +1 -0
- package/cjs/services/chain-service/helper/api-helper/chain/crust-maxwell.js +0 -108
- package/cjs/services/chain-service/helper/api-helper/chain/index.js +0 -17
- package/cjs/services/chain-service/helper/api-helper/index.js +0 -35
- package/cjs/services/chain-service/helper/api-helper/spec/acala.js +0 -11
- package/cjs/services/chain-service/helper/api-helper/spec/ajuna.js +0 -22
- package/cjs/services/chain-service/helper/api-helper/spec/altair.js +0 -31
- package/cjs/services/chain-service/helper/api-helper/spec/apron.js +0 -24
- package/cjs/services/chain-service/helper/api-helper/spec/ares-gladios.js +0 -191
- package/cjs/services/chain-service/helper/api-helper/spec/ares-parachain.js +0 -192
- package/cjs/services/chain-service/helper/api-helper/spec/astar.js +0 -44
- package/cjs/services/chain-service/helper/api-helper/spec/automata.js +0 -43
- package/cjs/services/chain-service/helper/api-helper/spec/basilisk.js +0 -139
- package/cjs/services/chain-service/helper/api-helper/spec/beresheet.js +0 -12
- package/cjs/services/chain-service/helper/api-helper/spec/bifrost-asgard.js +0 -11
- package/cjs/services/chain-service/helper/api-helper/spec/bifrost-parachain.js +0 -11
- package/cjs/services/chain-service/helper/api-helper/spec/bifrost.js +0 -11
- package/cjs/services/chain-service/helper/api-helper/spec/bitcountry-pioneer.js +0 -11
- package/cjs/services/chain-service/helper/api-helper/spec/bitcountry-rococo.js +0 -122
- package/cjs/services/chain-service/helper/api-helper/spec/bitcountry.js +0 -84
- package/cjs/services/chain-service/helper/api-helper/spec/canvas.js +0 -31
- package/cjs/services/chain-service/helper/api-helper/spec/centrifuge-chain.js +0 -77
- package/cjs/services/chain-service/helper/api-helper/spec/centrifuge.js +0 -31
- package/cjs/services/chain-service/helper/api-helper/spec/chainx.js +0 -403
- package/cjs/services/chain-service/helper/api-helper/spec/clover-rococo.js +0 -68
- package/cjs/services/chain-service/helper/api-helper/spec/clover.js +0 -34
- package/cjs/services/chain-service/helper/api-helper/spec/coinversation.js +0 -24
- package/cjs/services/chain-service/helper/api-helper/spec/competitors-club.js +0 -84
- package/cjs/services/chain-service/helper/api-helper/spec/crab.js +0 -11
- package/cjs/services/chain-service/helper/api-helper/spec/crown-sterling.js +0 -55
- package/cjs/services/chain-service/helper/api-helper/spec/crust.js +0 -11
- package/cjs/services/chain-service/helper/api-helper/spec/cumulus-test-parachain.js +0 -24
- package/cjs/services/chain-service/helper/api-helper/spec/darwinia.js +0 -11
- package/cjs/services/chain-service/helper/api-helper/spec/datahighway.js +0 -240
- package/cjs/services/chain-service/helper/api-helper/spec/dock-mainnet.js +0 -16
- package/cjs/services/chain-service/helper/api-helper/spec/dock-testnet.js +0 -16
- package/cjs/services/chain-service/helper/api-helper/spec/dolphin.js +0 -29
- package/cjs/services/chain-service/helper/api-helper/spec/dotmog.js +0 -65
- package/cjs/services/chain-service/helper/api-helper/spec/eave.js +0 -416
- package/cjs/services/chain-service/helper/api-helper/spec/edgeware.js +0 -11
- package/cjs/services/chain-service/helper/api-helper/spec/encointer-node-notee.js +0 -75
- package/cjs/services/chain-service/helper/api-helper/spec/encointer-node-teeproxy.js +0 -52
- package/cjs/services/chain-service/helper/api-helper/spec/encointer-para.js +0 -79
- package/cjs/services/chain-service/helper/api-helper/spec/equilibrium.js +0 -109
- package/cjs/services/chain-service/helper/api-helper/spec/fantour.js +0 -70
- package/cjs/services/chain-service/helper/api-helper/spec/galital-parachain.js +0 -65
- package/cjs/services/chain-service/helper/api-helper/spec/galital.js +0 -70
- package/cjs/services/chain-service/helper/api-helper/spec/galois.js +0 -54
- package/cjs/services/chain-service/helper/api-helper/spec/gamepower.js +0 -71
- package/cjs/services/chain-service/helper/api-helper/spec/genshiro.js +0 -31
- package/cjs/services/chain-service/helper/api-helper/spec/hanonycash.js +0 -33
- package/cjs/services/chain-service/helper/api-helper/spec/hydrate.js +0 -59
- package/cjs/services/chain-service/helper/api-helper/spec/idavoll.js +0 -24
- package/cjs/services/chain-service/helper/api-helper/spec/index.js +0 -274
- package/cjs/services/chain-service/helper/api-helper/spec/integritee.js +0 -35
- package/cjs/services/chain-service/helper/api-helper/spec/interbtc.js +0 -60
- package/cjs/services/chain-service/helper/api-helper/spec/ipse.js +0 -113
- package/cjs/services/chain-service/helper/api-helper/spec/jupiter-rococo.js +0 -24
- package/cjs/services/chain-service/helper/api-helper/spec/jupiter.js +0 -70
- package/cjs/services/chain-service/helper/api-helper/spec/khala.js +0 -11
- package/cjs/services/chain-service/helper/api-helper/spec/kilt.js +0 -11
- package/cjs/services/chain-service/helper/api-helper/spec/konomi.js +0 -24
- package/cjs/services/chain-service/helper/api-helper/spec/kpron.js +0 -24
- package/cjs/services/chain-service/helper/api-helper/spec/kulupu.js +0 -64
- package/cjs/services/chain-service/helper/api-helper/spec/kusari.js +0 -45
- package/cjs/services/chain-service/helper/api-helper/spec/kylin.js +0 -36
- package/cjs/services/chain-service/helper/api-helper/spec/laminar.js +0 -11
- package/cjs/services/chain-service/helper/api-helper/spec/litentry.js +0 -24
- package/cjs/services/chain-service/helper/api-helper/spec/mangata.js +0 -20
- package/cjs/services/chain-service/helper/api-helper/spec/manta.js +0 -29
- package/cjs/services/chain-service/helper/api-helper/spec/mathchain.js +0 -54
- package/cjs/services/chain-service/helper/api-helper/spec/moonbeam.js +0 -11
- package/cjs/services/chain-service/helper/api-helper/spec/moonsama-development.js +0 -24
- package/cjs/services/chain-service/helper/api-helper/spec/mybank.js +0 -87
- package/cjs/services/chain-service/helper/api-helper/spec/neatcoin.js +0 -32
- package/cjs/services/chain-service/helper/api-helper/spec/neumann.js +0 -55
- package/cjs/services/chain-service/helper/api-helper/spec/nftmart.js +0 -134
- package/cjs/services/chain-service/helper/api-helper/spec/nodle.js +0 -53
- package/cjs/services/chain-service/helper/api-helper/spec/opal.js +0 -15
- package/cjs/services/chain-service/helper/api-helper/spec/opportunity.js +0 -12
- package/cjs/services/chain-service/helper/api-helper/spec/origintrail.js +0 -206
- package/cjs/services/chain-service/helper/api-helper/spec/pangolin.js +0 -11
- package/cjs/services/chain-service/helper/api-helper/spec/pangoro.js +0 -12
- package/cjs/services/chain-service/helper/api-helper/spec/parallel.js +0 -11
- package/cjs/services/chain-service/helper/api-helper/spec/parami.js +0 -21
- package/cjs/services/chain-service/helper/api-helper/spec/phoenix.js +0 -52
- package/cjs/services/chain-service/helper/api-helper/spec/pichiu.js +0 -36
- package/cjs/services/chain-service/helper/api-helper/spec/plasm.js +0 -54
- package/cjs/services/chain-service/helper/api-helper/spec/polkadex.js +0 -32
- package/cjs/services/chain-service/helper/api-helper/spec/polkafoundry.js +0 -43
- package/cjs/services/chain-service/helper/api-helper/spec/polymesh.js +0 -21
- package/cjs/services/chain-service/helper/api-helper/spec/pontem.js +0 -11
- package/cjs/services/chain-service/helper/api-helper/spec/prism.js +0 -24
- package/cjs/services/chain-service/helper/api-helper/spec/quartz.js +0 -15
- package/cjs/services/chain-service/helper/api-helper/spec/realis.js +0 -42
- package/cjs/services/chain-service/helper/api-helper/spec/riochain.js +0 -104
- package/cjs/services/chain-service/helper/api-helper/spec/robonomics.js +0 -41
- package/cjs/services/chain-service/helper/api-helper/spec/shibuya.js +0 -54
- package/cjs/services/chain-service/helper/api-helper/spec/shiden.js +0 -54
- package/cjs/services/chain-service/helper/api-helper/spec/snowbridge.js +0 -11
- package/cjs/services/chain-service/helper/api-helper/spec/soraSubstrate.js +0 -11
- package/cjs/services/chain-service/helper/api-helper/spec/spanner.js +0 -501
- package/cjs/services/chain-service/helper/api-helper/spec/stafi.js +0 -25
- package/cjs/services/chain-service/helper/api-helper/spec/standard.js +0 -12
- package/cjs/services/chain-service/helper/api-helper/spec/subdao.js +0 -21
- package/cjs/services/chain-service/helper/api-helper/spec/subgame.js +0 -185
- package/cjs/services/chain-service/helper/api-helper/spec/subsocial.js +0 -15
- package/cjs/services/chain-service/helper/api-helper/spec/subspace.js +0 -127
- package/cjs/services/chain-service/helper/api-helper/spec/substrateContractsNode.js +0 -23
- package/cjs/services/chain-service/helper/api-helper/spec/swapdex.js +0 -45
- package/cjs/services/chain-service/helper/api-helper/spec/ternoa.js +0 -95
- package/cjs/services/chain-service/helper/api-helper/spec/trustbase.js +0 -24
- package/cjs/services/chain-service/helper/api-helper/spec/uart.js +0 -289
- package/cjs/services/chain-service/helper/api-helper/spec/unique.js +0 -124
- package/cjs/services/chain-service/helper/api-helper/spec/unitv.js +0 -25
- package/cjs/services/chain-service/helper/api-helper/spec/vln-rococo.js +0 -109
- package/cjs/services/chain-service/helper/api-helper/spec/vln.js +0 -45
- package/cjs/services/chain-service/helper/api-helper/spec/vodka.js +0 -22
- package/cjs/services/chain-service/helper/api-helper/spec/web3games.js +0 -43
- package/cjs/services/chain-service/helper/api-helper/spec/westlake.js +0 -305
- package/cjs/services/chain-service/helper/api-helper/spec/zCloak.js +0 -46
- package/cjs/services/chain-service/helper/api-helper/spec/zeitgeist.js +0 -33
- package/cjs/services/chain-service/helper/api-helper/spec/zenlink.js +0 -57
- package/cjs/services/chain-service/helper/api-helper/spec/zero.js +0 -11
- package/cjs/services/chain-service/helper/api-helper/util.js +0 -25
- package/services/chain-service/helper/api-helper/chain/crust-maxwell.d.ts +0 -98
- package/services/chain-service/helper/api-helper/chain/crust-maxwell.js +0 -103
- package/services/chain-service/helper/api-helper/chain/index.d.ts +0 -1943
- package/services/chain-service/helper/api-helper/chain/index.js +0 -11
- package/services/chain-service/helper/api-helper/index.d.ts +0 -7
- package/services/chain-service/helper/api-helper/index.js +0 -18
- package/services/chain-service/helper/api-helper/spec/acala.d.ts +0 -42
- package/services/chain-service/helper/api-helper/spec/acala.js +0 -5
- package/services/chain-service/helper/api-helper/spec/ajuna.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/ajuna.js +0 -15
- package/services/chain-service/helper/api-helper/spec/altair.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/altair.js +0 -24
- package/services/chain-service/helper/api-helper/spec/apron.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/apron.js +0 -17
- package/services/chain-service/helper/api-helper/spec/ares-gladios.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/ares-gladios.js +0 -184
- package/services/chain-service/helper/api-helper/spec/ares-parachain.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/ares-parachain.js +0 -185
- package/services/chain-service/helper/api-helper/spec/astar.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/astar.js +0 -37
- package/services/chain-service/helper/api-helper/spec/automata.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/automata.js +0 -36
- package/services/chain-service/helper/api-helper/spec/basilisk.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/basilisk.js +0 -132
- package/services/chain-service/helper/api-helper/spec/beresheet.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/beresheet.js +0 -9
- package/services/chain-service/helper/api-helper/spec/bifrost-asgard.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/bifrost-asgard.js +0 -5
- package/services/chain-service/helper/api-helper/spec/bifrost-parachain.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/bifrost-parachain.js +0 -5
- package/services/chain-service/helper/api-helper/spec/bifrost.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/bifrost.js +0 -5
- package/services/chain-service/helper/api-helper/spec/bitcountry-pioneer.d.ts +0 -2
- package/services/chain-service/helper/api-helper/spec/bitcountry-pioneer.js +0 -5
- package/services/chain-service/helper/api-helper/spec/bitcountry-rococo.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/bitcountry-rococo.js +0 -115
- package/services/chain-service/helper/api-helper/spec/bitcountry.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/bitcountry.js +0 -77
- package/services/chain-service/helper/api-helper/spec/canvas.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/canvas.js +0 -24
- package/services/chain-service/helper/api-helper/spec/centrifuge-chain.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/centrifuge-chain.js +0 -70
- package/services/chain-service/helper/api-helper/spec/centrifuge.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/centrifuge.js +0 -24
- package/services/chain-service/helper/api-helper/spec/chainx.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/chainx.js +0 -396
- package/services/chain-service/helper/api-helper/spec/clover-rococo.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/clover-rococo.js +0 -61
- package/services/chain-service/helper/api-helper/spec/clover.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/clover.js +0 -27
- package/services/chain-service/helper/api-helper/spec/coinversation.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/coinversation.js +0 -17
- package/services/chain-service/helper/api-helper/spec/competitors-club.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/competitors-club.js +0 -77
- package/services/chain-service/helper/api-helper/spec/crab.d.ts +0 -2
- package/services/chain-service/helper/api-helper/spec/crab.js +0 -5
- package/services/chain-service/helper/api-helper/spec/crown-sterling.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/crown-sterling.js +0 -48
- package/services/chain-service/helper/api-helper/spec/crust.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/crust.js +0 -5
- package/services/chain-service/helper/api-helper/spec/cumulus-test-parachain.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/cumulus-test-parachain.js +0 -17
- package/services/chain-service/helper/api-helper/spec/darwinia.d.ts +0 -2
- package/services/chain-service/helper/api-helper/spec/darwinia.js +0 -5
- package/services/chain-service/helper/api-helper/spec/datahighway.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/datahighway.js +0 -233
- package/services/chain-service/helper/api-helper/spec/dock-mainnet.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/dock-mainnet.js +0 -9
- package/services/chain-service/helper/api-helper/spec/dock-testnet.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/dock-testnet.js +0 -9
- package/services/chain-service/helper/api-helper/spec/dolphin.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/dolphin.js +0 -22
- package/services/chain-service/helper/api-helper/spec/dotmog.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/dotmog.js +0 -58
- package/services/chain-service/helper/api-helper/spec/eave.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/eave.js +0 -409
- package/services/chain-service/helper/api-helper/spec/edgeware.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/edgeware.js +0 -7
- package/services/chain-service/helper/api-helper/spec/encointer-node-notee.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/encointer-node-notee.js +0 -68
- package/services/chain-service/helper/api-helper/spec/encointer-node-teeproxy.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/encointer-node-teeproxy.js +0 -45
- package/services/chain-service/helper/api-helper/spec/encointer-para.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/encointer-para.js +0 -72
- package/services/chain-service/helper/api-helper/spec/equilibrium.d.ts +0 -8
- package/services/chain-service/helper/api-helper/spec/equilibrium.js +0 -97
- package/services/chain-service/helper/api-helper/spec/fantour.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/fantour.js +0 -63
- package/services/chain-service/helper/api-helper/spec/galital-parachain.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/galital-parachain.js +0 -58
- package/services/chain-service/helper/api-helper/spec/galital.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/galital.js +0 -63
- package/services/chain-service/helper/api-helper/spec/galois.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/galois.js +0 -47
- package/services/chain-service/helper/api-helper/spec/gamepower.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/gamepower.js +0 -64
- package/services/chain-service/helper/api-helper/spec/genshiro.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/genshiro.js +0 -24
- package/services/chain-service/helper/api-helper/spec/hanonycash.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/hanonycash.js +0 -26
- package/services/chain-service/helper/api-helper/spec/hydrate.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/hydrate.js +0 -52
- package/services/chain-service/helper/api-helper/spec/idavoll.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/idavoll.js +0 -17
- package/services/chain-service/helper/api-helper/spec/index.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/index.js +0 -266
- package/services/chain-service/helper/api-helper/spec/integritee.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/integritee.js +0 -28
- package/services/chain-service/helper/api-helper/spec/interbtc.d.ts +0 -7
- package/services/chain-service/helper/api-helper/spec/interbtc.js +0 -50
- package/services/chain-service/helper/api-helper/spec/ipse.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/ipse.js +0 -106
- package/services/chain-service/helper/api-helper/spec/jupiter-rococo.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/jupiter-rococo.js +0 -17
- package/services/chain-service/helper/api-helper/spec/jupiter.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/jupiter.js +0 -63
- package/services/chain-service/helper/api-helper/spec/khala.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/khala.js +0 -5
- package/services/chain-service/helper/api-helper/spec/kilt.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/kilt.js +0 -5
- package/services/chain-service/helper/api-helper/spec/konomi.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/konomi.js +0 -17
- package/services/chain-service/helper/api-helper/spec/kpron.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/kpron.js +0 -17
- package/services/chain-service/helper/api-helper/spec/kulupu.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/kulupu.js +0 -57
- package/services/chain-service/helper/api-helper/spec/kusari.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/kusari.js +0 -38
- package/services/chain-service/helper/api-helper/spec/kylin.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/kylin.js +0 -29
- package/services/chain-service/helper/api-helper/spec/laminar.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/laminar.js +0 -5
- package/services/chain-service/helper/api-helper/spec/litentry.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/litentry.js +0 -17
- package/services/chain-service/helper/api-helper/spec/mangata.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/mangata.js +0 -13
- package/services/chain-service/helper/api-helper/spec/manta.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/manta.js +0 -22
- package/services/chain-service/helper/api-helper/spec/mathchain.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/mathchain.js +0 -47
- package/services/chain-service/helper/api-helper/spec/moonbeam.d.ts +0 -2
- package/services/chain-service/helper/api-helper/spec/moonbeam.js +0 -5
- package/services/chain-service/helper/api-helper/spec/moonsama-development.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/moonsama-development.js +0 -17
- package/services/chain-service/helper/api-helper/spec/mybank.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/mybank.js +0 -80
- package/services/chain-service/helper/api-helper/spec/neatcoin.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/neatcoin.js +0 -25
- package/services/chain-service/helper/api-helper/spec/neumann.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/neumann.js +0 -48
- package/services/chain-service/helper/api-helper/spec/nftmart.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/nftmart.js +0 -127
- package/services/chain-service/helper/api-helper/spec/nodle.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/nodle.js +0 -46
- package/services/chain-service/helper/api-helper/spec/opal.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/opal.js +0 -9
- package/services/chain-service/helper/api-helper/spec/opportunity.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/opportunity.js +0 -5
- package/services/chain-service/helper/api-helper/spec/origintrail.d.ts +0 -5
- package/services/chain-service/helper/api-helper/spec/origintrail.js +0 -198
- package/services/chain-service/helper/api-helper/spec/pangolin.d.ts +0 -2
- package/services/chain-service/helper/api-helper/spec/pangolin.js +0 -5
- package/services/chain-service/helper/api-helper/spec/pangoro.d.ts +0 -2
- package/services/chain-service/helper/api-helper/spec/pangoro.js +0 -7
- package/services/chain-service/helper/api-helper/spec/parallel.d.ts +0 -14
- package/services/chain-service/helper/api-helper/spec/parallel.js +0 -5
- package/services/chain-service/helper/api-helper/spec/parami.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/parami.js +0 -14
- package/services/chain-service/helper/api-helper/spec/phoenix.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/phoenix.js +0 -45
- package/services/chain-service/helper/api-helper/spec/pichiu.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/pichiu.js +0 -29
- package/services/chain-service/helper/api-helper/spec/plasm.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/plasm.js +0 -47
- package/services/chain-service/helper/api-helper/spec/polkadex.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/polkadex.js +0 -25
- package/services/chain-service/helper/api-helper/spec/polkafoundry.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/polkafoundry.js +0 -36
- package/services/chain-service/helper/api-helper/spec/polymesh.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/polymesh.js +0 -13
- package/services/chain-service/helper/api-helper/spec/pontem.d.ts +0 -2
- package/services/chain-service/helper/api-helper/spec/pontem.js +0 -5
- package/services/chain-service/helper/api-helper/spec/prism.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/prism.js +0 -17
- package/services/chain-service/helper/api-helper/spec/quartz.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/quartz.js +0 -9
- package/services/chain-service/helper/api-helper/spec/realis.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/realis.js +0 -35
- package/services/chain-service/helper/api-helper/spec/riochain.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/riochain.js +0 -97
- package/services/chain-service/helper/api-helper/spec/robonomics.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/robonomics.js +0 -34
- package/services/chain-service/helper/api-helper/spec/shibuya.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/shibuya.js +0 -47
- package/services/chain-service/helper/api-helper/spec/shiden.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/shiden.js +0 -47
- package/services/chain-service/helper/api-helper/spec/snowbridge.d.ts +0 -2
- package/services/chain-service/helper/api-helper/spec/snowbridge.js +0 -5
- package/services/chain-service/helper/api-helper/spec/soraSubstrate.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/soraSubstrate.js +0 -5
- package/services/chain-service/helper/api-helper/spec/spanner.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/spanner.js +0 -494
- package/services/chain-service/helper/api-helper/spec/stafi.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/stafi.js +0 -18
- package/services/chain-service/helper/api-helper/spec/standard.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/standard.js +0 -5
- package/services/chain-service/helper/api-helper/spec/subdao.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/subdao.js +0 -14
- package/services/chain-service/helper/api-helper/spec/subgame.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/subgame.js +0 -178
- package/services/chain-service/helper/api-helper/spec/subsocial.d.ts +0 -2
- package/services/chain-service/helper/api-helper/spec/subsocial.js +0 -8
- package/services/chain-service/helper/api-helper/spec/subspace.d.ts +0 -0
- package/services/chain-service/helper/api-helper/spec/subspace.js +0 -126
- package/services/chain-service/helper/api-helper/spec/substrateContractsNode.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/substrateContractsNode.js +0 -16
- package/services/chain-service/helper/api-helper/spec/swapdex.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/swapdex.js +0 -38
- package/services/chain-service/helper/api-helper/spec/ternoa.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/ternoa.js +0 -88
- package/services/chain-service/helper/api-helper/spec/trustbase.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/trustbase.js +0 -17
- package/services/chain-service/helper/api-helper/spec/uart.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/uart.js +0 -282
- package/services/chain-service/helper/api-helper/spec/unique.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/unique.js +0 -117
- package/services/chain-service/helper/api-helper/spec/unitv.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/unitv.js +0 -18
- package/services/chain-service/helper/api-helper/spec/vln-rococo.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/vln-rococo.js +0 -102
- package/services/chain-service/helper/api-helper/spec/vln.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/vln.js +0 -38
- package/services/chain-service/helper/api-helper/spec/vodka.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/vodka.js +0 -15
- package/services/chain-service/helper/api-helper/spec/web3games.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/web3games.js +0 -36
- package/services/chain-service/helper/api-helper/spec/westlake.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/westlake.js +0 -298
- package/services/chain-service/helper/api-helper/spec/zCloak.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/zCloak.js +0 -39
- package/services/chain-service/helper/api-helper/spec/zeitgeist.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/zeitgeist.js +0 -24
- package/services/chain-service/helper/api-helper/spec/zenlink.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/zenlink.js +0 -50
- package/services/chain-service/helper/api-helper/spec/zero.d.ts +0 -3
- package/services/chain-service/helper/api-helper/spec/zero.js +0 -5
- package/services/chain-service/helper/api-helper/util.d.ts +0 -5
- package/services/chain-service/helper/api-helper/util.js +0 -15
|
@@ -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;
|
|
@@ -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
|
-
|
|
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);
|
|
@@ -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 () => {
|
|
@@ -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
|
-
|
|
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.
|
|
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
|
-
|
|
227
|
-
|
|
228
|
-
this.
|
|
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
|
-
|
|
1365
|
-
this.
|
|
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
|
-
|
|
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.
|
|
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(() => {
|
package/cjs/packageInfo.js
CHANGED
|
@@ -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 = {
|
|
@@ -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;
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.EvmApi = void 0;
|
|
8
|
+
require("@polkadot/types-augment");
|
|
9
|
+
var _promise = require("@subwallet/extension-base/utils/promise");
|
|
10
|
+
var _rxjs = require("rxjs");
|
|
11
|
+
var _web = _interopRequireDefault(require("web3"));
|
|
12
|
+
// Copyright 2019-2022 @subwallet/extension-base authors & contributors
|
|
13
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
14
|
+
|
|
15
|
+
class EvmApi {
|
|
16
|
+
apiRetry = 0;
|
|
17
|
+
isApiConnectedSubject = new _rxjs.BehaviorSubject(false);
|
|
18
|
+
isApiReady = false;
|
|
19
|
+
isApiReadyOnce = false;
|
|
20
|
+
get isApiConnected() {
|
|
21
|
+
return this.isApiConnectedSubject.getValue();
|
|
22
|
+
}
|
|
23
|
+
updateConnectedStatus(isConnected) {
|
|
24
|
+
if (isConnected !== this.isApiConnectedSubject.value) {
|
|
25
|
+
this.isApiConnectedSubject.next(isConnected);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
get isReady() {
|
|
29
|
+
return this.isReadyHandler.promise;
|
|
30
|
+
}
|
|
31
|
+
async updateApiUrl(apiUrl) {
|
|
32
|
+
this.apiUrl = apiUrl;
|
|
33
|
+
await this.disconnect();
|
|
34
|
+
this.api.setProvider(this.createProvider(apiUrl));
|
|
35
|
+
this.connect();
|
|
36
|
+
}
|
|
37
|
+
async recoverConnect() {
|
|
38
|
+
const wsProvider = this.provider;
|
|
39
|
+
if (wsProvider.reconnect) {
|
|
40
|
+
wsProvider.reconnect();
|
|
41
|
+
}
|
|
42
|
+
await this.isReadyHandler.promise;
|
|
43
|
+
}
|
|
44
|
+
createProvider(apiUrl) {
|
|
45
|
+
if (apiUrl.startsWith('http')) {
|
|
46
|
+
return new _web.default.providers.HttpProvider(apiUrl);
|
|
47
|
+
} else {
|
|
48
|
+
return new _web.default.providers.WebsocketProvider(apiUrl);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
constructor(chainSlug, apiUrl) {
|
|
52
|
+
let {
|
|
53
|
+
providerName
|
|
54
|
+
} = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
55
|
+
this.chainSlug = chainSlug;
|
|
56
|
+
this.apiUrl = apiUrl;
|
|
57
|
+
this.providerName = providerName || 'unknown';
|
|
58
|
+
this.provider = this.createProvider(apiUrl);
|
|
59
|
+
this.api = new _web.default(this.provider);
|
|
60
|
+
this.isReadyHandler = (0, _promise.createPromiseHandler)();
|
|
61
|
+
|
|
62
|
+
// Create it only to avoid undefined error, it will be overwrite in connect()
|
|
63
|
+
this.intervalCheckApi = this.createIntervalCheckApi();
|
|
64
|
+
this.connect();
|
|
65
|
+
}
|
|
66
|
+
createIntervalCheckApi() {
|
|
67
|
+
this.clearIntervalCheckApi();
|
|
68
|
+
return setInterval(() => {
|
|
69
|
+
this.api.eth.net.isListening().then(() => {
|
|
70
|
+
this.onConnect();
|
|
71
|
+
}).catch(() => {
|
|
72
|
+
this.onDisconnect();
|
|
73
|
+
});
|
|
74
|
+
}, 10000);
|
|
75
|
+
}
|
|
76
|
+
clearIntervalCheckApi() {
|
|
77
|
+
clearInterval(this.intervalCheckApi);
|
|
78
|
+
}
|
|
79
|
+
connect() {
|
|
80
|
+
// For websocket provider, connect it
|
|
81
|
+
const wsProvider = this.provider;
|
|
82
|
+
wsProvider.connect && wsProvider.connect();
|
|
83
|
+
// Check if api is ready
|
|
84
|
+
this.api.eth.net.isListening().then(() => {
|
|
85
|
+
this.isApiReadyOnce = true;
|
|
86
|
+
this.onConnect();
|
|
87
|
+
}).catch(error => {
|
|
88
|
+
this.isApiReadyOnce = false;
|
|
89
|
+
this.isApiReady = false;
|
|
90
|
+
this.isReadyHandler.reject(error);
|
|
91
|
+
this.updateConnectedStatus(false);
|
|
92
|
+
console.warn(`Can not connect to ${this.chainSlug} (EVM) at ${this.apiUrl}`);
|
|
93
|
+
});
|
|
94
|
+
|
|
95
|
+
// Interval to check connecting status
|
|
96
|
+
this.intervalCheckApi = this.createIntervalCheckApi();
|
|
97
|
+
}
|
|
98
|
+
async disconnect() {
|
|
99
|
+
this.clearIntervalCheckApi();
|
|
100
|
+
this.onDisconnect();
|
|
101
|
+
|
|
102
|
+
// For websocket provider, disconnect it
|
|
103
|
+
const wsProvider = this.provider;
|
|
104
|
+
wsProvider.disconnect && wsProvider.disconnect();
|
|
105
|
+
this.updateConnectedStatus(false);
|
|
106
|
+
return Promise.resolve();
|
|
107
|
+
}
|
|
108
|
+
destroy() {
|
|
109
|
+
// Todo: implement this in the future
|
|
110
|
+
return this.disconnect();
|
|
111
|
+
}
|
|
112
|
+
onConnect() {
|
|
113
|
+
if (!this.isApiConnected) {
|
|
114
|
+
console.log(`Connected to ${this.chainSlug} at ${this.apiUrl}`);
|
|
115
|
+
this.isApiReady = true;
|
|
116
|
+
if (this.isApiReadyOnce) {
|
|
117
|
+
this.isReadyHandler.resolve(this);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
this.updateConnectedStatus(true);
|
|
121
|
+
}
|
|
122
|
+
onDisconnect() {
|
|
123
|
+
this.updateConnectedStatus(false);
|
|
124
|
+
if (this.isApiConnected) {
|
|
125
|
+
console.warn(`Disconnected from ${this.chainSlug} of ${this.apiUrl} (EVM)`);
|
|
126
|
+
this.isApiReady = false;
|
|
127
|
+
this.isReadyHandler = (0, _promise.createPromiseHandler)();
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
exports.EvmApi = EvmApi;
|