UNPKG

some-shit

Version:

Web3Modal implementation for Angular

61 lines 7.21 kB
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; import { EventEmitter, Injectable, Optional } from '@angular/core'; import { CONNECT_EVENT, ERROR_EVENT, Web3WalletConnector } from '@mindsorg/web3modal-ts'; import { take } from 'rxjs/operators'; export class Web3ModalService { constructor(configOptions) { this.shouldOpen = new EventEmitter(); this.providers = new EventEmitter(); this.web3WalletConnector = new Web3WalletConnector(configOptions); } open() { return __awaiter(this, void 0, void 0, function* () { this.providers.next(this.web3WalletConnector.providers); return yield new Promise((resolve, reject) => { this.web3WalletConnector.providerController.on(CONNECT_EVENT, provider => { resolve(provider); }); this.web3WalletConnector.providerController.on(ERROR_EVENT, error => { reject(error); }); this.shouldOpen.next(true); this.shouldOpen.pipe(take(1)).subscribe({ next: (open) => { if (!open) { reject('Dismissed modal'); } } }); }).finally(() => { this.close(); }); }); } setConfiguration(options) { this.web3WalletConnector.setConfiguration(options); } clearCachedProvider() { this.web3WalletConnector.providerController.clearCachedProvider(); } setCachedProvider(id) { this.web3WalletConnector.providerController.setCachedProvider(id); } close() { this.shouldOpen.next(false); } } Web3ModalService.decorators = [ { type: Injectable } ]; Web3ModalService.ctorParameters = () => [ { type: undefined, decorators: [{ type: Optional }] } ]; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ViMy1tb2RhbC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Ii9Vc2Vycy9ocnlob3JpaW9wYW5hc2Vua28vRGVza3RvcC9zaGl0L3dlYjNtb2RhbC1hbmd1bGFyL3Byb2plY3RzL3NvbWUtc2hpdC9zcmMvIiwic291cmNlcyI6WyJsaWIvd2ViMy1tb2RhbC93ZWIzLW1vZGFsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFDTCxhQUFhLEVBQ2IsV0FBVyxFQUVYLG1CQUFtQixFQUVwQixNQUFNLHdCQUF3QixDQUFDO0FBQ2hDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUd0QyxNQUFNLE9BQU8sZ0JBQWdCO0lBTTNCLFlBQXdCLGFBQTBDO1FBSDNELGVBQVUsR0FBMEIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN2RCxjQUFTLEdBQXlDLElBQUksWUFBWSxFQUFFLENBQUM7UUFHMUUsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksbUJBQW1CLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVLLElBQUk7O1lBQ1IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBRXhELE9BQU8sTUFBTSxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtnQkFDM0MsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsUUFBUSxDQUFDLEVBQUU7b0JBQ3ZFLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDcEIsQ0FBQyxDQUFDLENBQUM7Z0JBRUgsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLEVBQUU7b0JBQ2xFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDaEIsQ0FBQyxDQUFDLENBQUM7Z0JBRUgsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBRTNCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztvQkFDdEMsSUFBSSxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUU7d0JBQ2IsSUFBSSxDQUFDLElBQUksRUFBRTs0QkFDVCxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQzt5QkFDM0I7b0JBQ0gsQ0FBQztpQkFDRixDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFO2dCQUNkLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNmLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztLQUFBO0lBRUQsZ0JBQWdCLENBQUMsT0FBbUM7UUFDbEQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxtQkFBbUI7UUFDakIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGtCQUFrQixDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDcEUsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQVU7UUFDMUIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGtCQUFrQixDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIsQ0FBQzs7O1lBbkRGLFVBQVU7Ozs0Q0FPSSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRFbWl0dGVyLCBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQ09OTkVDVF9FVkVOVCxcbiAgRVJST1JfRVZFTlQsXG4gIElQcm92aWRlckNvbnRyb2xsZXJPcHRpb25zLFxuICBXZWIzV2FsbGV0Q29ubmVjdG9yLFxuICBJUHJvdmlkZXJVc2VyT3B0aW9uc1xufSBmcm9tICdAbWluZHNvcmcvd2ViM21vZGFsLXRzJztcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBXZWIzTW9kYWxTZXJ2aWNlIHtcbiAgcHJpdmF0ZSB3ZWIzV2FsbGV0Q29ubmVjdG9yOiBXZWIzV2FsbGV0Q29ubmVjdG9yO1xuXG4gIHB1YmxpYyBzaG91bGRPcGVuOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIHB1YmxpYyBwcm92aWRlcnM6IEV2ZW50RW1pdHRlcjxJUHJvdmlkZXJVc2VyT3B0aW9uc1tdPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBjb25maWdPcHRpb25zPzogSVByb3ZpZGVyQ29udHJvbGxlck9wdGlvbnMpIHtcbiAgICB0aGlzLndlYjNXYWxsZXRDb25uZWN0b3IgPSBuZXcgV2ViM1dhbGxldENvbm5lY3Rvcihjb25maWdPcHRpb25zKTtcbiAgfVxuXG4gIGFzeW5jIG9wZW4oKSB7XG4gICAgdGhpcy5wcm92aWRlcnMubmV4dCh0aGlzLndlYjNXYWxsZXRDb25uZWN0b3IucHJvdmlkZXJzKTtcblxuICAgIHJldHVybiBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICB0aGlzLndlYjNXYWxsZXRDb25uZWN0b3IucHJvdmlkZXJDb250cm9sbGVyLm9uKENPTk5FQ1RfRVZFTlQsIHByb3ZpZGVyID0+IHtcbiAgICAgICAgcmVzb2x2ZShwcm92aWRlcik7XG4gICAgICB9KTtcblxuICAgICAgdGhpcy53ZWIzV2FsbGV0Q29ubmVjdG9yLnByb3ZpZGVyQ29udHJvbGxlci5vbihFUlJPUl9FVkVOVCwgZXJyb3IgPT4ge1xuICAgICAgICByZWplY3QoZXJyb3IpO1xuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuc2hvdWxkT3Blbi5uZXh0KHRydWUpO1xuXG4gICAgICB0aGlzLnNob3VsZE9wZW4ucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiAob3BlbikgPT4ge1xuICAgICAgICAgIGlmICghb3Blbikge1xuICAgICAgICAgICAgcmVqZWN0KCdEaXNtaXNzZWQgbW9kYWwnKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pLmZpbmFsbHkoKCkgPT4ge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgc2V0Q29uZmlndXJhdGlvbihvcHRpb25zOiBJUHJvdmlkZXJDb250cm9sbGVyT3B0aW9ucykge1xuICAgIHRoaXMud2ViM1dhbGxldENvbm5lY3Rvci5zZXRDb25maWd1cmF0aW9uKG9wdGlvbnMpO1xuICB9XG5cbiAgY2xlYXJDYWNoZWRQcm92aWRlcigpOiB2b2lkIHtcbiAgICB0aGlzLndlYjNXYWxsZXRDb25uZWN0b3IucHJvdmlkZXJDb250cm9sbGVyLmNsZWFyQ2FjaGVkUHJvdmlkZXIoKTtcbiAgfVxuXG4gIHNldENhY2hlZFByb3ZpZGVyKGlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLndlYjNXYWxsZXRDb25uZWN0b3IucHJvdmlkZXJDb250cm9sbGVyLnNldENhY2hlZFByb3ZpZGVyKGlkKTtcbiAgfVxuXG4gIGNsb3NlKCkge1xuICAgIHRoaXMuc2hvdWxkT3Blbi5uZXh0KGZhbHNlKTtcbiAgfVxufVxuIl19