UNPKG

@sky-mavis/tanto-connect

Version:
25 lines (21 loc) 1.01 kB
'use strict'; var constant = require('../common/constant.cjs'); var eip6963 = require('../types/eip6963.cjs'); const injectedProviders = []; const requestProviders = async (delay = constant.DEFAULT_DELAY_TIME) => { if (typeof window === 'undefined') { return []; } const handlerAnnouncement = (event) => { const isAnnounced = injectedProviders.some(detail => detail.info.uuid === event.detail.info.uuid || detail.info.rdns === event.detail.info.rdns); if (!isAnnounced) { injectedProviders.push(event.detail); } }; window.addEventListener(eip6963.EIP6963EventNames.AnnounceProvider, handlerAnnouncement); window.dispatchEvent(new CustomEvent(eip6963.EIP6963EventNames.RequestProvider)); await new Promise(resolve => setTimeout(resolve, delay)); window.removeEventListener(eip6963.EIP6963EventNames.AnnounceProvider, handlerAnnouncement); return injectedProviders; }; exports.requestProviders = requestProviders;