import { AbstractConnector } from "@web3-react/abstract-connector"; import { ConnectorUpdate } from "@web3-react/types"; class InstadappConnector extends AbstractConnector { private provider: AbstractConnector | undefined; public async activate(): Promise { //@ts-ignore const provider = await window.parent.$nuxt.$web3Modal.connect(); return { provider, chainId: 1, account: window.parent.$nuxt.$store.state.auth.dsaAddress }; } public async getProvider(): Promise { if (!this.provider) { //@ts-ignore this.provider = await window.parent.$nuxt.$web3Modal.connect(); } return this.provider; } public async getChainId(): Promise { const provider = await this.getProvider(); //@ts-ignore return provider.chainId; } public async getAccount(): Promise { return window.parent.$nuxt.$store.state.auth.dsaAddress; } public async deactivate(): Promise { //@ts-ignore await window.parent.$nuxt.$disconnectProviderWeb3(); } public async isInstadapp(): Promise { return ( window.parent && window.parent.$nuxt && //@ts-ignore typeof window.parent.$nuxt.$web3 != "undefined" && //@ts-ignore typeof window.parent.$nuxt.$dsa != "undefined" ); } } export { InstadappConnector };