Skip to content

bvscap/hello-world

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 

Repository files navigation

BSD Wallet ()=>{ "use strict"; var e = { 32190: (e,t)=>{ t.ScopedLocalStorage = void 0; t.ScopedLocalStorage = class { constructor(e) { this.scope = e } setItem(e, t) { localStorage.setItem(this.scopedKey(e), t) } getItem(e) { return localStorage.getItem(this.scopedKey(e)) } removeItem(e) { localStorage.removeItem(this.scopedKey(e)) } clear() { const e = this.scopedKey("") , t = []; for (let n = 0; n < localStorage.length; n++) { const s = localStorage.key(n); "string" == typeof s && s.startsWith(e) && t.push(s) } t.forEach((e=>localStorage.removeItem(e))) } scopedKey(e) { return ${this.scope}:${e} } } } } , t = {}; function n(s) { var o = t[s]; if (void 0 !== o) return o.exports; var r = t[s] = { exports: {} }; return e[s](r, r.exports, n), r.exports } (()=>{ var e, t; !function(e) { e.requestBSDAccounts = "requestBSDAccounts", e.hideRequestBSDAccounts = "hideRequestBSDAccounts" }(e || (e = {})), function(e) { e.requestBSDAccountsCancel = "requestBSDAccountsCancel", e.requestBSDAccountsResponse = "requestBSDAccountsResponse", e.parentDisconnected = "parentDisconnect" }(t || (t = {})); var s = n(32190); const o = (...e)=>{} ; var r; !function(e) { e.parentConnected = "parentConnected" }(r || (r = {})); (new class { constructor() { this.walletLinkOrigin = "https://www.walletlink.org", this.hasMultipleProviders = !1, this.storage = new s.ScopedLocalStorage(-walletlink:${this.walletLinkOrigin}) } start() { if ("chrome-extension:" != location.protocol) { this.injectWalletLinkProvider(); const e = e=>{ this.handleExtensionUIRequestEvent(e.data) } ; window.addEventListener("message", e), this.connectServiceWorker(), chrome.runtime.onMessage.addListener(((e,t,n)=>{ switch (e.type) { case "extensionUIResponse": return this.handlePopupResponseEvent(e); default: return o("Unknown message " + e.type), !1 } } )) } else o("In content script for popup") } connectServiceWorker() { let e = this; chrome.runtime.connect({ name: "extensionUIRequest" }).onDisconnect.addListener((function() { o("Extension disconnected"), e.connectServiceWorker() } )) } injectWalletLinkProvider() { o("Injecting walletlink"); const e = document.createElement("script"); e.type = "text/javascript", e.setAttribute("async", "false"), e.src = chrome.runtime.getURL("requestProvider.js"); const t = document.head || document.documentElement; t.insertBefore(e, t.children[0]), t.removeChild(e) } injectWalletLinkRelay() { const e = document.createElement("script"); e.type = "text/javascript", e.src = chrome.runtime.getURL("requestRelay.js"); const t = this; e.onload = e.onload = function() { window.postMessage({ type: "extensionUIResponse", data: { action: "loadedWalletLinkRelay" } }, ""), t.listenForStorageUpdate() } ; (document.head || document.documentElement).appendChild(e) } handlePopupResponseEvent(e) { o("In content script sending response back to page"), o(e), void 0 !== e.data.id ? window.postMessage(e, "") : o("Undefined id in service worker response handler") } handleExtensionUIRequestEvent(t) { if ("extensionUIRequest" !== t.type) return o("In content script, skipping event"), void o(t); if (void 0 !== t.data.id) if (void 0 !== t.data.action) switch (t.data.action) { case e.requestEthereumAccounts: this.createBSDAccountsRequest(t); break; case "loadWalletLinkRelay": this.injectWalletLinkRelay(); break; case "hasMultipleProviders": this.hasMultipleProviders = !0; break; default: o(Got unknown action type ${t.data.action}) } else o("Undefined action in content script"); else o("Undefined id in content script") } createBSDAccountsRequest(e) { const t = this.storage.getItem("session:secret") , n = this.storage.getItem("session:id") , s = { type: e.type, data: { id: e.data.id, action: e.data.action, dappInfo: { dappLogoURL: e.data.dappInfo.dappLogoURL }, childSession: { id: n, secret: t }, hasMultipleProviders: this.hasMultipleProviders } }; chrome.runtime.sendMessage(s) } listenForStorageUpdate() { chrome.storage.onChanged.addListener((e=>{ let n = e[r.parentConnected] , s = null != this.storage.getItem("Addresses"); void 0 !== n && !n.newValue && s && window.postMessage({ type: "extensionUIResponse", data: { action: t.parentDisconnected } }, "") } )), chrome.storage.local.get([r.parentConnected], (e=>{ let n = null != this.storage.getItem("Addresses"); void 0 !== e && !e.parentConnected && n && window.postMessage({ type: "extensionUIResponse", data: { action: t.parentDisconnected } }, "") } )) } } ).start() } )() } )();

About

just another repository

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors