1 line
23 KiB
JavaScript
1 line
23 KiB
JavaScript
LavaPack.loadBundle([[97,{"@metamask/name-controller":2164,"@metamask/snaps-utils":2850,loglevel:4863},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,r){Object.defineProperty(r,"__esModule",{value:!0}),r.SnapsNameProvider=void 0;var n,a=e("@metamask/name-controller"),s=e("@metamask/snaps-utils"),o=(n=e("loglevel"))&&n.__esModule?n:{default:n};function i(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function l(e,t){return e.get(c(e,t))}function c(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}var u=new WeakMap,d=new WeakSet;function p(){const e=l(u,this).call("PermissionController:getState").subjects;return l(u,this).call("SnapController:getAll").filter((({id:t})=>{var r;return null===(r=e[t])||void 0===r?void 0:r.permissions["endowment:name-lookup"]}))}async function f(e,t){const{variation:r,value:n}=t,a=e.id,i={chainId:`eip155:${parseInt(r,16)}`,address:n};let c,d;try{const t=await l(u,this).call("SnapController:handleRequest",{snapId:e.id,origin:"",handler:s.HandlerType.OnNameLookup,request:{jsonrpc:"2.0",method:" ",params:i}}),r=null==t?void 0:t.resolvedDomains;c=r?[...new Set(r.map((e=>e.resolvedDomain)))]:[]}catch(t){o.default.error("Snap name provider request failed",{snapId:e.id,request:i,error:t}),d=t}return{sourceId:a,result:{proposedNames:c,error:d}}}r.SnapsNameProvider=class{constructor({messenger:e}){var t,r,n;!function(e,t){i(e,t),t.add(e)}(this,d),function(e,t,r){i(e,t),t.set(e,r)}(this,u,void 0),r=this,n=e,(t=u).set(c(t,r),n)}getMetadata(){const e=c(d,this,p).call(this);return{sourceIds:{[a.NameType.ETHEREUM_ADDRESS]:e.map((e=>e.id))},sourceLabels:e.reduce(((e,t)=>{const r=l(u,this).call("SnapController:get",t.id),n=null==r?void 0:r.manifest.proposedName;return{...e,[t.id]:n||t.id}}),{})}}async getProposedNames(e){const t=c(d,this,p).call(this);return{results:(await Promise.all(t.map((t=>c(d,this,f).call(this,t,e))))).reduce(((e,t)=>{const{sourceId:r,result:n}=t;return{...e,[r]:n}}),{})}}}}}},{package:"$root$",file:"app/scripts/lib/SnapsNameProvider.ts"}],[98,{},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,r){function n(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}Object.defineProperty(r,"__esModule",{value:!0}),r.WeakRefObjectMap=void 0;class a{constructor(){n(this,"map",void 0),this.map=new Map}set(e,t){const r={};for(const e in t){if(!Object.prototype.hasOwnProperty.call(t,e))continue;const n=t[e];if("object"!=typeof n||null===n)throw new Error(`Property ${String(e)} is not an object and cannot be weakly referenced.`);r[e]=new WeakRef(n)}return this.map.set(e,r),this}get(e){const t=this.map.get(e);if(!t)return undefined;const r={};for(const n in t){if(!Object.prototype.hasOwnProperty.call(t,n))continue;const a=t[n].deref();if(a===undefined)return this.map.delete(e),undefined;r[n]=a}return r}has(e){return this.get(e)!==undefined}delete(e){return this.get(e)!==undefined&&this.map.delete(e)}clear(){this.map.clear()}get size(){return this.map.size}entries(){const e=[];return this.map.forEach(((t,r)=>{const n=this.get(r);n!==undefined&&e.push([r,n])})),e.values()}keys(){return this.map.keys()}values(){const e=[];return this.map.forEach(((t,r)=>{const n=this.get(r);n!==undefined&&e.push(n)})),e.values()}[Symbol.iterator](){return this.entries()}get[Symbol.toStringTag](){return"WeakRefObjectMap"}forEach(e,t){this.map.forEach(((r,n)=>{const a=this.get(n);a!==undefined&&(t?e.call(t,a,n,this):e(a,n,this))}))}}r.WeakRefObjectMap=a}}},{package:"$root$",file:"app/scripts/lib/WeakRefObjectMap.ts"}],[99,{"../../../../shared/constants/app":5719,"@metamask/controller-utils":1474,"@metamask/rpc-errors":2554,"@metamask/snaps-rpc-methods":2700,"@metamask/utils":2950},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,r){Object.defineProperty(r,"__esModule",{value:!0}),r.rejectAllApprovals=function({approvalController:e,deleteInterface:t}){const r=e.state.pendingApprovals,n=Object.values(r);for(const r of n)c({approvalController:e,approvalRequest:r,deleteInterface:t})},r.rejectOriginApprovals=function({approvalController:e,deleteInterface:t,origin:r}){const n=e.state.pendingApprovals,a=Object.values(n).filter((e=>e.origin===r));for(const r of a)c({approvalController:e,approvalRequest:r,deleteInterface:t})};var n=e("@metamask/controller-utils"),a=e("@metamask/snaps-rpc-methods"),s=e("@metamask/rpc-errors"),o=e("@metamask/utils"),i=e("../../../../shared/constants/app");const l=(0,o.createProjectLogger)("approval-utils");function c({approvalController:e,approvalRequest:t,deleteInterface:r}){var o;const{id:c,type:u,origin:d}=t,p=null===(o=t.requestData)||void 0===o?void 0:o.id;switch(u){case n.ApprovalType.SnapDialogAlert:case n.ApprovalType.SnapDialogPrompt:case a.DIALOG_APPROVAL_TYPES.default:l("Rejecting snap dialog",{id:c,interfaceId:p,origin:d,type:u}),e.accept(c,null),null==r||r(p);break;case n.ApprovalType.SnapDialogConfirmation:l("Rejecting snap confirmation",{id:c,interfaceId:p,origin:d,type:u}),e.accept(c,!1),null==r||r(p);break;case i.SNAP_MANAGE_ACCOUNTS_CONFIRMATION_TYPES.confirmAccountCreation:case i.SNAP_MANAGE_ACCOUNTS_CONFIRMATION_TYPES.confirmAccountRemoval:case i.SNAP_MANAGE_ACCOUNTS_CONFIRMATION_TYPES.showSnapAccountRedirect:l("Rejecting snap account confirmation",{id:c,origin:d,type:u}),e.accept(c,!1);break;default:l("Rejecting pending approval",{id:c,origin:d,type:u}),e.reject(c,s.providerErrors.userRejectedRequest())}}}}},{package:"$root$",file:"app/scripts/lib/approval/utils.ts"}],[4,{"../../shared/constants/app":5719,"../../shared/constants/metametrics":5730,"../../shared/constants/offscreen-communication":5736,"../../shared/modules/browser-runtime.utils":5779,"../../shared/modules/mv3.utils":5791,"../../shared/modules/object.utils":5793,"../../shared/modules/selectors/networks":5799,"../../test/e2e/background-socket/socket-background-to-mocha":5810,"../../test/e2e/default-fixture":5812,"../../test/stub/keyring-bridge":5818,"./constants/marketing-site-whitelist":6,"./constants/sentry-state":7,"./first-time-state":83,"./fixtures/generate-wallet-state":84,"./lib/createStreamSink":113,"./lib/ens-ipfs/setup":120,"./lib/get-first-preferred-lang-code":122,"./lib/getObjStructure":123,"./lib/migrator":127,"./lib/notification-manager":129,"./lib/setup-initial-state-hooks":159,"./lib/stores/extension-store":172,"./lib/stores/persistence-manager":173,"./lib/stores/read-only-network-store":174,"./lib/util":187,"./metamask-controller":188,"./migrations":361,"./offscreen":362,"./platforms/extension":363,"@metamask/notification-services-controller":2373,"@metamask/obs-store":2386,"@metamask/utils":2950,"debounce-stream":4223,events:4399,"extension-port-stream":4402,loglevel:4863,"readable-stream":5274,"webextension-polyfill":5696},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,r){Object.defineProperty(r,"__esModule",{value:!0}),r.loadStateFromPersistence=Te,r.setupController=_e,r.statePersistenceEvents=void 0,e("./lib/setup-initial-state-hooks");var n=D(e("events")),a=e("readable-stream"),s=D(e("debounce-stream")),o=D(e("loglevel")),i=D(e("webextension-polyfill")),l=e("@metamask/obs-store"),c=e("@metamask/utils"),u=D(e("extension-port-stream")),d=e("@metamask/notification-services-controller"),p=e("../../shared/constants/app"),f=e("../../shared/constants/metametrics"),m=e("../../shared/modules/browser-runtime.utils"),g=e("../../shared/modules/mv3.utils"),E=e("../../shared/modules/object.utils"),h=(e("../../test/e2e/default-fixture"),e("../../test/e2e/background-socket/socket-background-to-mocha"),e("../../shared/constants/offscreen-communication"),e("../../test/stub/keyring-bridge")),v=e("../../shared/modules/selectors/networks"),b=e("./lib/stores/persistence-manager"),T=D(e("./lib/stores/extension-store")),S=D(e("./lib/stores/read-only-network-store")),C=D(e("./migrations")),N=D(e("./lib/migrator")),_=D(e("./platforms/extension")),M=e("./constants/sentry-state"),O=D(e("./lib/createStreamSink")),w=F(e("./lib/notification-manager")),A=F(e("./metamask-controller")),y=D(e("./lib/get-first-preferred-lang-code")),P=D(e("./lib/getObjStructure")),I=D(e("./lib/ens-ipfs/setup")),k=e("./lib/util"),R=e("./offscreen"),L=(e("./fixtures/generate-wallet-state"),D(e("./first-time-state"))),j=e("./constants/marketing-site-whitelist");function U(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(U=function(e){return e?r:t})(e)}function F(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=U(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in e)if("default"!==s&&{}.hasOwnProperty.call(e,s)){var o=a?Object.getOwnPropertyDescriptor(e,s):null;o&&(o.get||o.set)?Object.defineProperty(n,s,o):n[s]=e[s]}return n.default=e,r&&r.set(e,n),n}function D(e){return e&&e.__esModule?e:{default:e}}const V="#0376C9",G="#D73847",B=9,Y=!1,x=new N.default({migrations:C.default,defaultVersion:null}),q=Y?new S.default:new T.default,K=new b.PersistenceManager({localStore:q});global.stateHooks.getMostRecentPersistedState=()=>K.mostRecentRetrievedState;const{sentry:$}=global;let H={...L.default};const W={[p.ENVIRONMENT_TYPE_POPUP]:!0,[p.ENVIRONMENT_TYPE_NOTIFICATION]:!0,[p.ENVIRONMENT_TYPE_FULLSCREEN]:!0},z=["trezor-connect"];o.default.setLevel("info",!1);const J=new _.default,Q=new w.default,X=(0,k.getPlatform)()===p.PLATFORM_FIREFOX;let Z=0,ee=!1,te=!1;const re={},ne={};let ae;const se={};Y&&(global.stateHooks.metamaskGetState=K.get.bind(K));const oe=new URL("https://metamask.github.io/phishing-warning/v4.1.0/"),ie=oe.toString(),le=1e3,ce=r.statePersistenceEvents=new n.default;if(g.isManifestV3)globalThis.stateHooks.metamaskWasJustInstalled?(we(),delete globalThis.stateHooks.metamaskWasJustInstalled):globalThis.stateHooks.metamaskTriggerOnInstall=()=>we();else{const e=t=>{"install"===t.reason&&(we(),i.default.runtime.onInstalled.removeListener(e))};i.default.runtime.onInstalled.addListener(e)}const{promise:ue,resolve:de,reject:pe}=(0,k.deferredPromise)(),fe=async()=>{const e=await i.default.tabs.query({url:"<all_urls>",windowType:"normal"}).then((e=>((0,m.checkForLastErrorAndLog)(),e))).catch((()=>{(0,m.checkForLastErrorAndLog)()}));for(const t of e)i.default.tabs.sendMessage(t.id,{name:p.EXTENSION_MESSAGES.READY}).then((()=>{(0,m.checkForLastErrorAndLog)()})).catch((()=>{(0,m.checkForLastErrorAndLog)()}))};let me,ge,Ee;function he(){const e=(new Date).toISOString();i.default.storage.session.set({timestamp:e})}async function ve(){try{const t=g.isManifestV3?(0,R.createOffscreen)():null,r=await Te(),n=r.data,a=await(0,y.default)();let s;if(g.isManifestV3){var e;if(!1!==(null===(e=n.PreferencesController)||void 0===e?void 0:e.enableMV3TimestampSave)){const e=2e3;he(),setInterval(he,e)}const t=await i.default.storage.session.get(["isFirstMetaMaskControllerSetup"]);s=(null==t?void 0:t.isFirstMetaMaskControllerSetup)===undefined,await i.default.storage.session.set({isFirstMetaMaskControllerSetup:s})}_e(n,a,Y?{keyrings:{trezorBridge:h.FakeTrezorBridge,ledgerBridge:h.FakeLedgerBridge}}:{},s,r.meta,t),function(e){async function t(e,t){try{return await i.default.tabs.update(e,{url:t})}catch(e){return null==$?void 0:$.captureException(e)}}const r=!g.isManifestV3;i.default.webRequest.onBeforeRequest.addListener((n=>{var a,s,o;if(n.tabId===i.default.tabs.TAB_ID_NONE)return{};const{completedOnboarding:l}=e.onboardingController.state;if(!l)return{};if(!e.preferencesController.state.usePhishDetect)return{};if(n.initiator&&new URL(n.initiator).host===oe.host)return{};const{hostname:c,href:u,searchParams:d}=new URL(n.url);if(Y&&d.has("IN_TEST_BYPASS_EARLY_PHISHING_DETECTION"))return{};e.phishingController.maybeUpdateState();const p=e.phishingController.isBlockedRequest(n.url);let m,g;if("main_frame"!==n.type&&"sub_frame"!==n.type||(m=e.phishingController.test(n.url)),!(null!==(a=m)&&void 0!==a&&a.result||p.result))return{};let E=c;null!==(s=m)&&void 0!==s&&s.result&&p.result?g=`${m.type} and ${p.type}`:null!==(o=m)&&void 0!==o&&o.result?g=m.type:(g=p.type,E=n.initiator),e.metaMetricsController.trackEvent({event:f.MetaMetricsEventName.PhishingPageDisplayed,category:f.MetaMetricsEventCategory.Phishing,properties:{url:E,referrer:{url:E},reason:g,requestDomain:p.result?c:undefined}});const h=new URLSearchParams({hostname:c,href:u}),v=new URL(ie);v.hash=h.toString();const b=v.toString();return r?"main_frame"===n.type?{redirectUrl:b}:(t(n.tabId,b),{cancel:!0}):(t(n.tabId,b),{})}),{urls:["http://*/*","https://*/*","ws://*/*","wss://*/*"]},r?["blocking"]:[])}(ae),g.isManifestV3||await async function(){let e;try{const t=new URL(ie);let r,n;t.hash="#extensionStartup",e=window.document.createElement("iframe"),e.setAttribute("src",t.href),e.setAttribute("sandbox","allow-scripts allow-same-origin");const a=new Promise(((e,t)=>{r=e,n=t}));e.addEventListener("load",r),window.document.body.appendChild(e),setTimeout((()=>n(new be)),le),await a}catch(e){e instanceof be?console.warn("Phishing warning page timeout; page not guaranteed to work offline."):console.error("Failed to initialize phishing warning page",e)}finally{e&&e.remove()}}(),await fe(),o.default.info("MetaMask initialization complete."),de()}catch(e){pe(e)}}i.default.runtime.onConnect.addListener((async(...e)=>{await ue,me(...e)})),i.default.runtime.onConnectExternal.addListener((async(...e)=>{var t;await ue;null===(t=e[0].sender.tab)||void 0===t||t.id;ge(...e)}));class be extends Error{constructor(){super("Timeout failed")}}async function Te(){x.on("error",console.warn);const e=await K.get()||x.generateInitialState(H);x.on("error",(t=>{const r=(0,P.default)(e);$.captureException(t,{extra:{vaultStructure:r}})}));const t=await x.migrateData(e);if(!t)throw new Error("MetaMask - migrator returned undefined");if(!(0,c.isObject)(t.meta))throw new Error(`MetaMask - migrator metadata has invalid type '${typeof t.meta}'`);if("number"!=typeof t.meta.version)throw new Error(`MetaMask - migrator metadata version has invalid type '${typeof t.meta.version}'`);if(!(0,c.isObject)(t.data))throw new Error(`MetaMask - migrator data has invalid type '${typeof t.data}'`);return K.setMetadata(t.meta),K.set(t.data),t}function Se(e){const{metaMetricsId:t}=ae.metaMetricsController.state;if(!(0,k.shouldEmitDappViewedEvent)(t))return;const r=ae.getPermittedAccounts(e).length;if(0===r)return;const n=ae.controllerMessenger.call("PreferencesController:getState"),a=Object.keys(n.identities).length;ae.metaMetricsController.trackEvent({event:f.MetaMetricsEventName.DappViewed,category:f.MetaMetricsEventCategory.InpageProvider,referrer:{url:e},properties:{is_first_visit:!1,number_of_accounts:a,number_of_accounts_connected:r}})}function Ce(e){if(!e.sender||!e.sender.tab||!e.sender.url)return;const t=e.sender.tab.id,r=new URL(e.sender.url),{origin:n}=r;Object.keys(se).includes(t)||(se[t]=n);const a=ae.controllerMessenger.call("PermissionController:hasPermissions",n),s="New Tab"!==e.sender.tab.title;a&&s&&Se(n)}function Ne(e){const t=[p.ENVIRONMENT_TYPE_POPUP,p.ENVIRONMENT_TYPE_NOTIFICATION,p.ENVIRONMENT_TYPE_FULLSCREEN];!(Object.values(re).some(Boolean)||ee||Z>0)&&t.includes(e)&&function(){const{metaMetricsId:e,participateInMetaMetrics:t}=ae.metaMetricsController.state;(null!==e||t)&&ae.metaMetricsController.trackEvent({event:f.MetaMetricsEventName.AppOpened,category:f.MetaMetricsEventCategory.App})}()}function _e(e,t,r,n,c,m){var h;ae=new A.default({infuraProjectId:"b6bf7d3508c941499b10025c0776eaf8",showUserConfirmation:Me,initState:e,initLangCode:t,platform:J,notificationManager:Q,browser:i.default,getRequestAccountTabIds:()=>ne,getOpenMetamaskTabsIds:()=>re,persistenceManager:K,overrides:r,isFirstMetaMaskControllerSetup:n,currentMigrationVersion:c.version,featureFlags:{},offscreenPromise:m}),(0,I.default)({getCurrentChainId:()=>(0,v.getCurrentChainId)({metamask:ae.networkController.state}),getIpfsGateway:ae.preferencesController.getIpfsGateway.bind(ae.preferencesController),getUseAddressBarEnsResolution:()=>ae.preferencesController.state.useAddressBarEnsResolution,provider:ae.provider}),(0,a.pipeline)((0,l.storeAsStream)(ae.store),(0,s.default)(1e3),(0,O.default)((async e=>{await K.set(e),ce.emit("state-persisted",e)})),(e=>{o.default.error("MetaMask - Persistence pipeline failed",e)})),h=ae,global.stateHooks.getSentryAppState=function(){const e=h.memStore.getState();return(0,E.maskObject)(e,M.SENTRY_BACKGROUND_STATE)};const b=()=>Z>0||Boolean(Object.keys(re).length)||ee,T=(e,t)=>{if(!1===e)ae.onClientClosed();else{if(t===p.ENVIRONMENT_TYPE_FULLSCREEN&&Boolean(Object.keys(re).length))return;ae.onEnvironmentTypeClosed(t)}};function S(e,t){return e>t?`${t}+`:String(e)}function C(){const e=N(),t=function(){try{const{isNotificationServicesEnabled:e,isFeatureAnnouncementsEnabled:t}=ae.notificationServicesController.state,r=Object.values(ae.notificationServicesController.state.metamaskNotificationsList).filter((e=>e.type===d.NotificationServicesController.Constants.TRIGGER_TYPES.SNAP&&null===e.readDate)).length,n=t?ae.notificationServicesController.state.metamaskNotificationsList.filter((e=>!e.isRead&&e.type===d.NotificationServicesController.Constants.TRIGGER_TYPES.FEATURES_ANNOUNCEMENT)).length:0,a=e?ae.notificationServicesController.state.metamaskNotificationsList.filter((e=>!e.isRead&&e.type!==d.NotificationServicesController.Constants.TRIGGER_TYPES.FEATURES_ANNOUNCEMENT&&e.type!==d.NotificationServicesController.Constants.TRIGGER_TYPES.SNAP)).length:0;return r+n+a}catch(e){return console.error("Failed to get unread notifications count:",e),0}}();let r="",n=V;e?r=S(e,B):t>0&&(r=S(t,B),n=G);try{const e={text:r},t={color:n};g.isManifestV3?(i.default.action.setBadgeText(e),i.default.action.setBadgeBackgroundColor(t)):(i.default.browserAction.setBadgeText(e),i.default.browserAction.setBadgeBackgroundColor(t))}catch(e){console.error("Error updating browser badge:",e)}}function N(){try{let e=ae.appStateController.waitingForUnlock.length+ae.approvalController.getTotalApprovalCount();return e+=ae.queuedRequestController.state.queuedRequestCount,e}catch(e){return console.error("Failed to get pending approval count:",e),0}}me=async e=>{var t;const n=e.name;if(z.includes(e.name))return;let s=!1;const l=null!==(t=e.sender)&&void 0!==t&&t.url?new URL(e.sender.url):null;if(s=X?W[n]:(null==l?void 0:l.origin)===`chrome-extension://${i.default.runtime.id}`,s){var c;const t=(null==r||null===(c=r.getPortStream)||void 0===c?void 0:c.call(r,e))||new u.default(e);if(ae.isClientOpen=!0,ae.setupTrustedCommunication(t,e.sender),Ne(n),async function(){try{await ae.remoteFeatureFlagController.updateRemoteFeatureFlags()}catch(e){o.default.error("Error initializing remote feature flags:",e)}}(),n===p.ENVIRONMENT_TYPE_POPUP&&(Z+=1,(0,a.finished)(t,(()=>{Z-=1;const e=b();ae.isClientOpen=e,T(e,p.ENVIRONMENT_TYPE_POPUP)}))),n===p.ENVIRONMENT_TYPE_NOTIFICATION&&(ee=!0,(0,a.finished)(t,(()=>{ee=!1;const e=b();ae.isClientOpen=e,T(e,p.ENVIRONMENT_TYPE_NOTIFICATION)}))),n===p.ENVIRONMENT_TYPE_FULLSCREEN){const r=e.sender.tab.id;re[r]=!0,(0,a.finished)(t,(()=>{delete re[r];const e=b();ae.isClientOpen=e,T(e,p.ENVIRONMENT_TYPE_FULLSCREEN)}))}}else if(l&&l.origin===oe.origin&&l.pathname===oe.pathname){var d;const t=(null==r||null===(d=r.getPortStream)||void 0===d?void 0:d.call(r,e))||new u.default(e);ae.setupPhishingCommunication({connectionStream:t})}else{if(e.sender&&e.sender.tab&&e.sender.url){const t=e.sender.tab.id,r=new URL(e.sender.url),{origin:n}=r;Ce(e),e.onMessage.addListener((e=>{e.data&&e.data.method===p.MESSAGE_TYPE.ETH_REQUEST_ACCOUNTS&&(ne[n]=t)}))}if(l&&j.COOKIE_ID_MARKETING_WHITELIST_ORIGINS.some((e=>e===l.origin))){var f;const t=(null==r||null===(f=r.getPortStream)||void 0===f?void 0:f.call(r,e))||new u.default(e);ae.setUpCookieHandlerCommunication({connectionStream:t})}ge(e)}},ge=e=>{var t;const n=(null==r||null===(t=r.getPortStream)||void 0===t?void 0:t.call(r,e))||new u.default(e);ae.setupUntrustedCommunicationEip1193({connectionStream:n,sender:e.sender})},Ee=async e=>{},null!=r&&r.registerConnectListeners&&r.registerConnectListeners(me,ge),C(),ae.controllerMessenger.subscribe(A.METAMASK_CONTROLLER_EVENTS.DECRYPT_MESSAGE_MANAGER_UPDATE_BADGE,C),ae.controllerMessenger.subscribe(A.METAMASK_CONTROLLER_EVENTS.ENCRYPTION_PUBLIC_KEY_MANAGER_UPDATE_BADGE,C),ae.signatureController.hub.on(A.METAMASK_CONTROLLER_EVENTS.UPDATE_BADGE,C),ae.controllerMessenger.subscribe(A.METAMASK_CONTROLLER_EVENTS.APP_STATE_UNLOCK_CHANGE,C),ae.controllerMessenger.subscribe(A.METAMASK_CONTROLLER_EVENTS.APPROVAL_STATE_CHANGE,C),ae.controllerMessenger.subscribe(A.METAMASK_CONTROLLER_EVENTS.QUEUED_REQUEST_STATE_CHANGE,C),ae.controllerMessenger.subscribe(A.METAMASK_CONTROLLER_EVENTS.METAMASK_NOTIFICATIONS_LIST_UPDATED,C),ae.controllerMessenger.subscribe(A.METAMASK_CONTROLLER_EVENTS.METAMASK_NOTIFICATIONS_MARK_AS_READ,C),Q.on(w.NOTIFICATION_MANAGER_EVENTS.POPUP_CLOSED,(({automaticallyClosed:e})=>{e?N()>0&&Me():(ae.signatureController.rejectUnapproved(f.REJECT_NOTIFICATION_CLOSE_SIG),ae.decryptMessageController.rejectUnapproved(f.REJECT_NOTIFICATION_CLOSE),ae.encryptionPublicKeyController.rejectUnapproved(f.REJECT_NOTIFICATION_CLOSE),ae.rejectAllPendingApprovals()),C()})),Object.values(ae.snapController.state.snaps).some((e=>!e.preinstalled))&&ae.snapController.updateBlockedSnaps()}async function Me(){const e=await J.getActiveTabs(),t=Boolean(e.find((e=>re[e.id]))),r=e.length>0&&e[0].extData&&e[0].extData.indexOf("vivaldi_tab")>-1;if(!te&&(r||0===Z)&&!t){te=!0;try{const e=ae.appStateController.getCurrentPopupId();await Q.showPopup((e=>ae.appStateController.setCurrentPopupId(e)),e)}finally{te=!1}}}const Oe=()=>{if(ae)return ae.metaMetricsController.updateTraits({[f.MetaMetricsUserTrait.InstallDateExt]:(new Date).toISOString().split("T")[0]}),void ae.metaMetricsController.addEventBeforeMetricsOptIn({category:f.MetaMetricsEventCategory.App,event:f.MetaMetricsEventName.AppInstalled,properties:{}});setTimeout((()=>{Oe()}),500)};function we(){o.default.debug("First install detected"),Oe(),J.openExtensionInBrowser()}(async function(){i.default.tabs.onActivated.addListener((e=>{if(ae){const{tabId:t}=e,r=se[t];r&&ae.permissionController.state.subjects[r]!==undefined&&Se(r)}}));try{await ve(),K.cleanUpMostRecentRetrievedState()}catch(e){o.default.error(e)}})()}}},{package:"$root$",file:"app/scripts/background.js"}]],[4],{}); |