/// import { _AssetRef, _AssetType, _ChainAsset, _ChainInfo, _MultiChainAsset } from '@soul-wallet/chain-list/types'; import { AddTokenRequestExternal, AmountData, ApiMap, AuthRequestV2, BalanceItem, BalanceJson, ChainStakingMetadata, ConfirmationsQueue, CrowdloanItem, CrowdloanJson, CurrentAccountInfo, EvmSendTransactionParams, ExternalRequestPromise, MantaPayConfig, MantaPaySyncState, NftCollection, NftItem, NftJson, NominatorMetadata, RequestAccountExportPrivateKey, RequestCheckPublicAndSecretKey, RequestConfirmationComplete, RequestSettingsType, ResponseAccountExportPrivateKey, ResponseCheckPublicAndSecretKey, ServiceInfo, SingleModeJson, StakingItem, StakingJson, StakingRewardItem, StakingRewardJson, StakingType, UiSettings } from '@soul-wallet/extension-base/background/KoniTypes'; import { AccountJson, RequestAuthorizeTab, RequestRpcSend, RequestRpcSubscribe, RequestRpcUnsubscribe, RequestSign, ResponseRpcListProviders, ResponseSigning } from '@soul-wallet/extension-base/background/types'; import { BalanceService } from '@soul-wallet/extension-base/services/balance-service'; import { ChainService } from '@soul-wallet/extension-base/services/chain-service'; import { _ChainState, _NetworkUpsertParams, _ValidateCustomAssetRequest } from '@soul-wallet/extension-base/services/chain-service/types'; import { EventService } from '@soul-wallet/extension-base/services/event-service'; import { HistoryService } from '@soul-wallet/extension-base/services/history-service'; import { KeyringService } from '@soul-wallet/extension-base/services/keyring-service'; import MigrationService from '@soul-wallet/extension-base/services/migration-service'; import NotificationService from '@soul-wallet/extension-base/services/notification-service/NotificationService'; import { PriceService } from '@soul-wallet/extension-base/services/price-service'; import RequestService from '@soul-wallet/extension-base/services/request-service'; import { AuthUrls, MetaRequest, SignRequest } from '@soul-wallet/extension-base/services/request-service/types'; import SettingService from '@soul-wallet/extension-base/services/setting-service/SettingService'; import DatabaseService from '@soul-wallet/extension-base/services/storage-service/DatabaseService'; import { SubscanService } from '@soul-wallet/extension-base/services/subscan-service'; import TransactionService from '@soul-wallet/extension-base/services/transaction-service'; import WalletConnectService from '@soul-wallet/extension-base/services/wallet-connect-service'; import { MetadataDef, ProviderMeta } from '@soul-wallet/extension-inject/types'; import SimpleKeyring from 'eth-simple-keyring'; import { BehaviorSubject, Subject } from 'rxjs'; import { JsonRpcResponse, ProviderInterface, ProviderInterfaceCallback } from '@polkadot/rpc-provider/types'; declare type Providers = Record ProviderInterface; }>; export default class KoniState { private injectedProviders; private readonly providers; private readonly unsubscriptionMap; private readonly accountRefStore; private externalRequest; private balanceMap; private balanceSubject; private crowdloanMap; private crowdloanSubject; private nftSubject; private mantaPayConfigSubject; isMantaPayEnabled: boolean; private stakingSubject; private chainStakingMetadataSubject; private stakingNominatorMetadataSubject; private stakingRewardSubject; private stakingRewardState; private lazyMap; readonly notificationService: NotificationService; readonly eventService: EventService; readonly keyringService: KeyringService; readonly chainService: ChainService; readonly dbService: DatabaseService; private cron; private subscription; private logger; readonly settingService: SettingService; readonly requestService: RequestService; readonly transactionService: TransactionService; readonly historyService: HistoryService; readonly priceService: PriceService; readonly balanceService: BalanceService; readonly migrationService: MigrationService; readonly subscanService: SubscanService; readonly walletConnectService: WalletConnectService; private generalStatus; private waitSleeping; private waitStarting; constructor(providers?: Providers); get knownMetadata(): MetadataDef[]; injectMetadata(url: string, request: MetadataDef): Promise; getMetaRequest(id: string): MetaRequest; getSignRequest(id: string): SignRequest | undefined; rpcListProviders(): Promise; rpcSend(request: RequestRpcSend, port: chrome.runtime.Port): Promise>; rpcStartProvider(key: string, port: chrome.runtime.Port): Promise; rpcSubscribe({ method, params, type }: RequestRpcSubscribe, cb: ProviderInterfaceCallback, port: chrome.runtime.Port): Promise; rpcSubscribeConnected(_request: null, cb: ProviderInterfaceCallback, port: chrome.runtime.Port): void; rpcUnsubscribe(request: RequestRpcUnsubscribe, port: chrome.runtime.Port): Promise; saveMetadata(meta: MetadataDef): void; sign(url: string, request: RequestSign, account: AccountJson): Promise; get authSubjectV2(): BehaviorSubject; generateDefaultBalanceMap(): Record; init(): Promise; initMantaPay(password: string): Promise; private startSubscription; onReady(): void; updateKeyringState(isReady?: boolean, callback?: () => void): void; private lazyNext; getAuthRequestV2(id: string): AuthRequestV2; setAuthorize(data: AuthUrls, callback?: () => void): void; getAuthorize(update: (value: AuthUrls) => void): void; subscribeEvmChainChange(): Subject; subscribeAuthorizeUrlSubject(): Subject; getAuthList(): Promise; getAddressList(value?: boolean): Record; authorizeUrlV2(url: string, request: RequestAuthorizeTab): Promise; getNativeTokenInfo(networkKey: string): _ChainAsset; getChainInfo(networkKey: string): _ChainInfo; getChainStakingMetadata(): Promise; getStakingMetadataByChain(chain: string, type: StakingType): Promise; getNominatorMetadata(): Promise; getMantaPayConfig(chain: string): Promise; getStaking(): Promise; getStakingOwnersByChains(chains: string[]): Promise; getPooledStakingRecordsByAddress(addresses: string[]): Promise; subscribeMantaPayConfig(): Subject; subscribeStaking(): Subject; subscribeChainStakingMetadata(): Subject; subscribeNominatorMetadata(): Subject; ensureUrlAuthorizedV2(url: string): Promise; setStakingItem(networkKey: string, item: StakingItem): void; updateChainStakingMetadata(item: ChainStakingMetadata, changes?: Record): void; updateStakingNominatorMetadata(item: NominatorMetadata): void; setNftCollection(network: string, data: NftCollection, callback?: (data: NftCollection) => void): void; getNftCollection(): import("dexie").PromiseExtended; subscribeNftCollection(): import("dexie").Observable; resetNft(newAddress: string): void; updateNftData(network: string, nftData: NftItem, address: string, callback?: (nftData: NftItem) => void): void; deleteNftCollection(chain: string, collectionId: string): Promise; cleanUpNfts(chain: string, owner: string, collectionId: string[], nftIds: string[], ownNothing?: boolean): void; getNft(): Promise; subscribeNft(): Subject; resetStakingReward(): void; updateStakingReward(stakingRewardData: StakingRewardItem, callback?: (stakingRewardData: StakingRewardJson) => void): void; updateStakingRewardReady(ready: boolean): void; getAccountRefMap(callback: (refMap: Record>) => void): void; addAccountRef(addresses: string[], callback: () => void): void; removeAccountRef(address: string, callback: () => void): void; getStakingReward(update: (value: StakingRewardJson) => void): void; subscribeStakingReward(): Subject; setCurrentAccount(data: CurrentAccountInfo, callback?: () => void, preventOneAccount?: boolean): void; setAccountTie(address: string, genesisHash: string | null): boolean; switchEvmNetworkByUrl(shortenUrl: string, networkKey: string): Promise; switchNetworkAccount(id: string, url: string, networkKey: string, changeAddress?: string): Promise; addNetworkConfirm(id: string, url: string, networkData: _NetworkUpsertParams): Promise; addTokenConfirm(id: string, url: string, tokenInfo: AddTokenRequestExternal): Promise; get metaSubject(): BehaviorSubject; get signSubject(): BehaviorSubject; getSettings(callback: (settings: UiSettings) => void): void; setSettings(settings: UiSettings, callback?: () => void): void; updateSetting(key: T, value: UiSettings[T]): void; setShowBalance(value: boolean): void; subscribeSettingsSubject(): Subject; getAccountAddress(): string | null; getDecodedAddresses(address?: string): string[]; getAllAddresses(): string[]; private removeInactiveChainBalances; getBalance(reset?: boolean): BalanceJson; getStoredBalance(address: string): Promise>; handleSwitchAccount(newAddress: string): Promise; resetBalanceMap(newAddress: string): Promise; resetCrowdloanMap(newAddress: string): Promise; resetStaking(newAddress: string): void; setBalanceItem(tokenSlug: string, item: BalanceItem): void; private updateBalanceStore; subscribeBalance(): Subject; getCrowdloan(reset?: boolean): CrowdloanJson; getStoredCrowdloan(address: string): Promise>; setCrowdloanItem(networkKey: string, item: CrowdloanItem): void; private updateCrowdloanStore; subscribeCrowdloan(): Subject; getSmartContractNfts(): _ChainAsset[]; getChainInfoMap(): Record; getChainStateMap(): Record; getAssetRefMap(): Record; getChainStateByKey(key: string): _ChainState; getAssetRegistry(): Record; getMultiChainAssetMap(): Record; getXcmRefMap(): Record; getAssetByChainAndAsset(chain: string, assetTypes: _AssetType[]): Record; getAssetBySlug(slug: string): _ChainAsset; getXcmEqualAssetByChain(destinationChain: string, originTokenSlug: string): _ChainAsset | undefined; subscribeChainInfoMap(): Subject>; subscribeChainStateMap(): Subject>; subscribeAssetRegistry(): Subject>; subscribeMultiChainAssetMap(): Subject>; subscribeXcmRefMap(): Subject>; upsertCustomToken(data: _ChainAsset): Promise; deleteCustomAssets(targetTokens: string[]): void; validateCustomChain(provider: string, existedChainSlug?: string): Promise; getSupportedSmartContractTypes(): _AssetType[]; validateCustomAsset(data: _ValidateCustomAssetRequest): Promise; getActiveChainInfoMap(): Record; upsertChainInfo(data: _NetworkUpsertParams): Promise; removeCustomChain(networkKey: string): boolean; forceRemoveChain(networkKey: string): void; private getDefaultNetworkKeys; disableChain(chainSlug: string): Promise; enableChain(chainSlug: string, enableTokens?: boolean): Promise; resetDefaultChains(): boolean; getSubstrateApiMap(): Record; getSubstrateApi(networkKey: string): import("../../../services/chain-service/handler/SubstrateApi").SubstrateApi; getEvmApiMap(): Record; getEvmApi(networkKey: string): import("../../../services/chain-service/handler/EvmApi").EvmApi; getApiMap(): ApiMap; refreshSubstrateApi(key: string): boolean; refreshWeb3Api(key: string): void; getServiceInfo(): ServiceInfo; getExternalRequestMap(): Record; setExternalRequestMap(id: string, value: ExternalRequestPromise): void; getExternalRequest(id: string): ExternalRequestPromise; updateExternalRequest(id: string, value: Partial): void; cleanExternalRequest(): void; pauseAllNetworks(code?: number, reason?: string): Promise; resumeAllNetworks(): Promise; private publishBalance; private publishCrowdloan; findNetworkKeyByGenesisHash(genesisHash?: string | null): [string | undefined, _ChainInfo | undefined]; findChainIdGenesisHash(genesisHash?: string | null): number | undefined; findNetworkKeyByChainId(chainId?: number | null): [string | undefined, _ChainInfo | undefined]; findSingleMode(genesisHash: string): SingleModeJson | undefined; accountExportPrivateKey({ address, password }: RequestAccountExportPrivateKey): ResponseAccountExportPrivateKey; checkPublicAndSecretKey({ publicKey, secretKey }: RequestCheckPublicAndSecretKey): ResponseCheckPublicAndSecretKey; getEthKeyring(address: string, password: string): Promise; evmSign(id: string, url: string, method: string, params: any, allowedAccounts: string[]): Promise; evmSendTransaction(id: string, url: string, networkKey: string, allowedAccounts: string[], transactionParams: EvmSendTransactionParams): Promise; getConfirmationsQueueSubject(): BehaviorSubject; completeConfirmation(request: RequestConfirmationComplete): Promise; onInstall(): void; get activeNetworks(): Record; get activeChainSlugs(): string[]; sleep(): Promise; private _start; wakeup(): Promise; cancelSubscription(id: string): boolean; createUnsubscriptionHandle(id: string, unsubscribe: () => void): void; autoEnableChains(addresses: string[]): Promise; onAccountAdd(): void; onAccountRemove(): void; reloadNft(): Promise; reloadStaking(): Promise; approvePassPhishingPage(_url: string): Promise; resetWallet(resetAll: boolean): Promise; enableMantaPay(updateStore: boolean, address: string, password: string, seedPhrase?: string): Promise; disableMantaPay(address: string): Promise; initialSyncMantaPay(address: string): Promise; getMantaZkBalance(): void; subscribeMantaPayBalance(): () => void; syncMantaPay(): Promise; getMantaPayZkBalance(address: string, tokenInfo: _ChainAsset): Promise; subscribeMantaPaySyncState(): Subject; findMetadata(hash: string): Promise<{ metadata: string; specVersion: number; }>; } export {};