{"version":3,"sources":["webpack:///./node_modules/valtio/vanilla.js","webpack:///./node_modules/proxy-compare/dist/index.modern.js","webpack:///./node_modules/core-js/modules/es.string.replace-all.js","webpack:///../src/client.ts","webpack:///../src/controllers/RouterCtrl.ts","webpack:///../src/utils/CoreUtil.ts","webpack:///../src/controllers/EventsCtrl.ts","webpack:///../src/controllers/OptionsCtrl.ts","webpack:///../src/controllers/ConfigCtrl.ts","webpack:///../src/utils/ExplorerUtil.ts","webpack:///../src/controllers/ExplorerCtrl.ts","webpack:///../src/controllers/ModalCtrl.ts","webpack:///../src/controllers/ThemeCtrl.ts","webpack:///../src/controllers/ToastCtrl.ts","webpack:///../src/utils/PolyfillUtil.ts"],"names":["proxyCompare","isObject","x","proxyStateMap","WeakMap","refSet","WeakSet","buildProxyFunction","objectIs","newProxy","canProxy","defaultHandlePromise","snapCache","createSnapshot","proxyCache","versionHolder","_proxyFunction","Object","is","target","handler","Proxy","has","Array","isArray","Symbol","iterator","Error","Number","Date","String","RegExp","ArrayBuffer","promise","status","value","reason","_createSnapshot","_x","_x2","_x3","apply","this","arguments","toString","version","handlePromise","cache","get","snap","create","getPrototypeOf","markToTrack","set","Reflect","ownKeys","forEach","key","getOwnPropertyDescriptor","desc","enumerable","configurable","Promise","_ref","_target","_ensureVersion","defineProperty","initialObject","found","listeners","Set","notifyUpdate","op","nextVersion","listener","checkVersion","createPropListener","prop","newOp","concat","propProxyStates","Map","addPropListener","propProxyState","size","remove","removePropListener","_entry$","entry","delete","call","baseObject","deleteProperty","prevValue","deleted","receiver","hasPrevValue","getUntracked","nextValue","then","v","catch","e","childProxyState","proxyObject","proxyState","nextCheckVersion","_ref2","propVersion","add","_ref3","_ref4","writable","defaultProxyFunction","unstable_buildProxyFunction","exports","getVersion","proxy","ref","obj","snapshot","_ref5","ensureVersion","subscribe","callback","notifyInSync","ops","addListener","isListenerActive","removeListener","push","splice","resolve","t","n","o","s","c","l","prototype","f","i","from","getOwnPropertyDescriptors","values","u","a","p","g","some","y","h","w","r","length","k","O","$","global","uncurryThis","requireObjectCoercible","isCallable","isRegExp","getMethod","regExpFlags","getSubstitution","wellKnownSymbol","IS_PURE","REPLACE","RegExpPrototype","TypeError","getFlags","indexOf","replace","stringSlice","slice","max","Math","stringIndexOf","string","searchValue","fromIndex","proto","replaceAll","replaceValue","IS_REG_EXP","flags","replacer","searchString","functionalReplace","searchLength","advanceBy","replacement","position","endOfLastMatch","result","WalletConnectModal","config","openModal","ModalCtrl","open","closeModal","close","subscribeModal","setTheme","ThemeCtrl","setThemeConfig","ConfigCtrl","setConfig","initUi","window","modal","document","createElement","body","insertAdjacentElement","OptionsCtrl","setIsUiLoaded","state","history","view","data","RouterCtrl","valtioSub","reset","goBack","pop","last","setData","CoreUtil","WALLETCONNECT_DEEPLINK_CHOICE","WCM_VERSION","RECOMMENDED_WALLET_AMOUNT","isMobile","Boolean","matchMedia","matches","test","navigator","userAgent","isAndroid","toLowerCase","includes","isIos","ua","isHttpUrl","url","startsWith","formatNativeUrl","appUrl","wcUri","name","formatUniversalUrl","safeAppUrl","endsWith","setWalletConnectDeepLink","encodedWcUrl","encodeURIComponent","wait","miliseconds","setTimeout","openHref","href","localStorage","setItem","JSON","stringify","console","info","setWalletConnectAndroidDeepLink","split","removeWalletConnectDeepLink","removeItem","setModalVersionInStorage","getWalletRouterData","routerData","_a","Wallet","isEnabled","location","hostname","protocol","enabled","userSessionId","events","connectedWalletId","EventsCtrl","initialize","crypto","randomUUID","setConnectedWalletId","click","event","type","timestamp","now","track","chains","walletConnectUri","isAuth","isCustomDesktop","isCustomMobile","isDataLoaded","isUiLoaded","setChains","setWalletConnectUri","setIsCustomDesktop","setIsCustomMobile","setIsDataLoaded","setIsAuth","projectId","mobileWallets","desktopWallets","walletImages","enableAuthMode","enableExplorer","explorerExcludedWalletIds","explorerRecommendedWalletIds","termsOfServiceUrl","privacyPolicyUrl","_b","assign","W3M_API","fetchListings","endpoint","params","URL","searchParams","append","entries","fetch","json","imageId","wallets","listings","total","page","search","recomendedWallets","ExplorerCtrl","getRecomendedWallets","recommendedIds","join","ExplorerUtil","listingsArr","sort","b","id","chainsFilter","isExcluded","sdks","excludedIds","getWallets","extendedParams","__spreadValues","map","wallet","filter","listingsObj","getWalletImageUrl","getAssetImageUrl","resetSearch","options","uri","interval","setInterval","opts","clearInterval","themeMode","theme","themeVariables","message","variant","ToastCtrl","openToast","closeToast","Buffer","process","env"],"mappings":"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","file":"js/chunk-df04dad2.70a73881.js","sourcesContent":["'use strict';\n\nvar proxyCompare = require('proxy-compare');\n\nvar isObject = function isObject(x) {\n return typeof x === 'object' && x !== null;\n};\nvar proxyStateMap = new WeakMap();\nvar refSet = new WeakSet();\nvar buildProxyFunction = function buildProxyFunction(objectIs, newProxy, canProxy, defaultHandlePromise, snapCache, createSnapshot, proxyCache, versionHolder, _proxyFunction) {\n if (objectIs === void 0) {\n objectIs = Object.is;\n }\n if (newProxy === void 0) {\n newProxy = function newProxy(target, handler) {\n return new Proxy(target, handler);\n };\n }\n if (canProxy === void 0) {\n canProxy = function canProxy(x) {\n return isObject(x) && !refSet.has(x) && (Array.isArray(x) || !(Symbol.iterator in x)) && !(x instanceof WeakMap) && !(x instanceof WeakSet) && !(x instanceof Error) && !(x instanceof Number) && !(x instanceof Date) && !(x instanceof String) && !(x instanceof RegExp) && !(x instanceof ArrayBuffer);\n };\n }\n if (defaultHandlePromise === void 0) {\n defaultHandlePromise = function defaultHandlePromise(promise) {\n switch (promise.status) {\n case 'fulfilled':\n return promise.value;\n case 'rejected':\n throw promise.reason;\n default:\n throw promise;\n }\n };\n }\n if (snapCache === void 0) {\n snapCache = new WeakMap();\n }\n if (createSnapshot === void 0) {\n createSnapshot = function (_createSnapshot) {\n function createSnapshot(_x, _x2, _x3) {\n return _createSnapshot.apply(this, arguments);\n }\n createSnapshot.toString = function () {\n return _createSnapshot.toString();\n };\n return createSnapshot;\n }(function (target, version, handlePromise) {\n if (handlePromise === void 0) {\n handlePromise = defaultHandlePromise;\n }\n var cache = snapCache.get(target);\n if ((cache == null ? void 0 : cache[0]) === version) {\n return cache[1];\n }\n var snap = Array.isArray(target) ? [] : Object.create(Object.getPrototypeOf(target));\n proxyCompare.markToTrack(snap, true);\n snapCache.set(target, [version, snap]);\n Reflect.ownKeys(target).forEach(function (key) {\n if (Object.getOwnPropertyDescriptor(snap, key)) {\n return;\n }\n var value = Reflect.get(target, key);\n var desc = {\n value: value,\n enumerable: true,\n configurable: true\n };\n if (refSet.has(value)) {\n proxyCompare.markToTrack(value, false);\n } else if (value instanceof Promise) {\n delete desc.value;\n desc.get = function () {\n return handlePromise(value);\n };\n } else if (proxyStateMap.has(value)) {\n var _ref = proxyStateMap.get(value),\n _target = _ref[0],\n _ensureVersion = _ref[1];\n desc.value = createSnapshot(_target, _ensureVersion(), handlePromise);\n }\n Object.defineProperty(snap, key, desc);\n });\n return snap;\n });\n }\n if (proxyCache === void 0) {\n proxyCache = new WeakMap();\n }\n if (versionHolder === void 0) {\n versionHolder = [1, 1];\n }\n if (_proxyFunction === void 0) {\n _proxyFunction = function proxyFunction(initialObject) {\n if (!isObject(initialObject)) {\n throw new Error('object required');\n }\n var found = proxyCache.get(initialObject);\n if (found) {\n return found;\n }\n var version = versionHolder[0];\n var listeners = new Set();\n var notifyUpdate = function notifyUpdate(op, nextVersion) {\n if (nextVersion === void 0) {\n nextVersion = ++versionHolder[0];\n }\n if (version !== nextVersion) {\n version = nextVersion;\n listeners.forEach(function (listener) {\n return listener(op, nextVersion);\n });\n }\n };\n var checkVersion = versionHolder[1];\n var ensureVersion = function ensureVersion(nextCheckVersion) {\n if (nextCheckVersion === void 0) {\n nextCheckVersion = ++versionHolder[1];\n }\n if (checkVersion !== nextCheckVersion && !listeners.size) {\n checkVersion = nextCheckVersion;\n propProxyStates.forEach(function (_ref2) {\n var propProxyState = _ref2[0];\n var propVersion = propProxyState[1](nextCheckVersion);\n if (propVersion > version) {\n version = propVersion;\n }\n });\n }\n return version;\n };\n var createPropListener = function createPropListener(prop) {\n return function (op, nextVersion) {\n var newOp = [].concat(op);\n newOp[1] = [prop].concat(newOp[1]);\n notifyUpdate(newOp, nextVersion);\n };\n };\n var propProxyStates = new Map();\n var addPropListener = function addPropListener(prop, propProxyState) {\n if (process.env.NODE_ENV !== 'production' && propProxyStates.has(prop)) {\n throw new Error('prop listener already exists');\n }\n if (listeners.size) {\n var remove = propProxyState[3](createPropListener(prop));\n propProxyStates.set(prop, [propProxyState, remove]);\n } else {\n propProxyStates.set(prop, [propProxyState]);\n }\n };\n var removePropListener = function removePropListener(prop) {\n var entry = propProxyStates.get(prop);\n if (entry) {\n var _entry$;\n propProxyStates.delete(prop);\n (_entry$ = entry[1]) == null ? void 0 : _entry$.call(entry);\n }\n };\n var addListener = function addListener(listener) {\n listeners.add(listener);\n if (listeners.size === 1) {\n propProxyStates.forEach(function (_ref3, prop) {\n var propProxyState = _ref3[0],\n prevRemove = _ref3[1];\n if (process.env.NODE_ENV !== 'production' && prevRemove) {\n throw new Error('remove already exists');\n }\n var remove = propProxyState[3](createPropListener(prop));\n propProxyStates.set(prop, [propProxyState, remove]);\n });\n }\n var removeListener = function removeListener() {\n listeners.delete(listener);\n if (listeners.size === 0) {\n propProxyStates.forEach(function (_ref4, prop) {\n var propProxyState = _ref4[0],\n remove = _ref4[1];\n if (remove) {\n remove();\n propProxyStates.set(prop, [propProxyState]);\n }\n });\n }\n };\n return removeListener;\n };\n var baseObject = Array.isArray(initialObject) ? [] : Object.create(Object.getPrototypeOf(initialObject));\n var handler = {\n deleteProperty: function deleteProperty(target, prop) {\n var prevValue = Reflect.get(target, prop);\n removePropListener(prop);\n var deleted = Reflect.deleteProperty(target, prop);\n if (deleted) {\n notifyUpdate(['delete', [prop], prevValue]);\n }\n return deleted;\n },\n set: function set(target, prop, value, receiver) {\n var hasPrevValue = Reflect.has(target, prop);\n var prevValue = Reflect.get(target, prop, receiver);\n if (hasPrevValue && (objectIs(prevValue, value) || proxyCache.has(value) && objectIs(prevValue, proxyCache.get(value)))) {\n return true;\n }\n removePropListener(prop);\n if (isObject(value)) {\n value = proxyCompare.getUntracked(value) || value;\n }\n var nextValue = value;\n if (value instanceof Promise) {\n value.then(function (v) {\n value.status = 'fulfilled';\n value.value = v;\n notifyUpdate(['resolve', [prop], v]);\n }).catch(function (e) {\n value.status = 'rejected';\n value.reason = e;\n notifyUpdate(['reject', [prop], e]);\n });\n } else {\n if (!proxyStateMap.has(value) && canProxy(value)) {\n nextValue = _proxyFunction(value);\n }\n var childProxyState = !refSet.has(nextValue) && proxyStateMap.get(nextValue);\n if (childProxyState) {\n addPropListener(prop, childProxyState);\n }\n }\n Reflect.set(target, prop, nextValue, receiver);\n notifyUpdate(['set', [prop], value, prevValue]);\n return true;\n }\n };\n var proxyObject = newProxy(baseObject, handler);\n proxyCache.set(initialObject, proxyObject);\n var proxyState = [baseObject, ensureVersion, createSnapshot, addListener];\n proxyStateMap.set(proxyObject, proxyState);\n Reflect.ownKeys(initialObject).forEach(function (key) {\n var desc = Object.getOwnPropertyDescriptor(initialObject, key);\n if ('value' in desc) {\n proxyObject[key] = initialObject[key];\n delete desc.value;\n delete desc.writable;\n }\n Object.defineProperty(baseObject, key, desc);\n });\n return proxyObject;\n };\n }\n return [_proxyFunction, proxyStateMap, refSet, objectIs, newProxy, canProxy, defaultHandlePromise, snapCache, createSnapshot, proxyCache, versionHolder];\n};\nvar _buildProxyFunction = buildProxyFunction(),\n defaultProxyFunction = _buildProxyFunction[0];\nfunction proxy(initialObject) {\n if (initialObject === void 0) {\n initialObject = {};\n }\n return defaultProxyFunction(initialObject);\n}\nfunction getVersion(proxyObject) {\n var proxyState = proxyStateMap.get(proxyObject);\n return proxyState == null ? void 0 : proxyState[1]();\n}\nfunction subscribe(proxyObject, callback, notifyInSync) {\n var proxyState = proxyStateMap.get(proxyObject);\n if (process.env.NODE_ENV !== 'production' && !proxyState) {\n console.warn('Please use proxy object');\n }\n var promise;\n var ops = [];\n var addListener = proxyState[3];\n var isListenerActive = false;\n var listener = function listener(op) {\n ops.push(op);\n if (notifyInSync) {\n callback(ops.splice(0));\n return;\n }\n if (!promise) {\n promise = Promise.resolve().then(function () {\n promise = undefined;\n if (isListenerActive) {\n callback(ops.splice(0));\n }\n });\n }\n };\n var removeListener = addListener(listener);\n isListenerActive = true;\n return function () {\n isListenerActive = false;\n removeListener();\n };\n}\nfunction snapshot(proxyObject, handlePromise) {\n var proxyState = proxyStateMap.get(proxyObject);\n if (process.env.NODE_ENV !== 'production' && !proxyState) {\n console.warn('Please use proxy object');\n }\n var _ref5 = proxyState,\n target = _ref5[0],\n ensureVersion = _ref5[1],\n createSnapshot = _ref5[2];\n return createSnapshot(target, ensureVersion(), handlePromise);\n}\nfunction ref(obj) {\n refSet.add(obj);\n return obj;\n}\nvar unstable_buildProxyFunction = buildProxyFunction;\n\nexports.getVersion = getVersion;\nexports.proxy = proxy;\nexports.ref = ref;\nexports.snapshot = snapshot;\nexports.subscribe = subscribe;\nexports.unstable_buildProxyFunction = unstable_buildProxyFunction;\n","const e=Symbol(),t=Symbol(),r=\"a\",n=\"w\";let o=(e,t)=>new Proxy(e,t);const s=Object.getPrototypeOf,c=new WeakMap,l=e=>e&&(c.has(e)?c.get(e):s(e)===Object.prototype||s(e)===Array.prototype),f=e=>\"object\"==typeof e&&null!==e,i=e=>{if(Array.isArray(e))return Array.from(e);const t=Object.getOwnPropertyDescriptors(e);return Object.values(t).forEach(e=>{e.configurable=!0}),Object.create(s(e),t)},u=e=>e[t]||e,a=(s,c,f,p)=>{if(!l(s))return s;let g=p&&p.get(s);if(!g){const e=u(s);g=(e=>Object.values(Object.getOwnPropertyDescriptors(e)).some(e=>!e.configurable&&!e.writable))(e)?[e,i(e)]:[e],null==p||p.set(s,g)}const[y,h]=g;let w=f&&f.get(y);return w&&w[1].f===!!h||(w=((o,s)=>{const c={f:s};let l=!1;const f=(e,t)=>{if(!l){let s=c[r].get(o);if(s||(s={},c[r].set(o,s)),e===n)s[n]=!0;else{let r=s[e];r||(r=new Set,s[e]=r),r.add(t)}}},i={get:(e,n)=>n===t?o:(f(\"k\",n),a(Reflect.get(e,n),c[r],c.c,c.t)),has:(t,n)=>n===e?(l=!0,c[r].delete(o),!0):(f(\"h\",n),Reflect.has(t,n)),getOwnPropertyDescriptor:(e,t)=>(f(\"o\",t),Reflect.getOwnPropertyDescriptor(e,t)),ownKeys:e=>(f(n),Reflect.ownKeys(e))};return s&&(i.set=i.deleteProperty=()=>!1),[i,c]})(y,!!h),w[1].p=o(h||y,w[0]),f&&f.set(y,w)),w[1][r]=c,w[1].c=f,w[1].t=p,w[1].p},p=(e,t,r,o)=>{if(Object.is(e,t))return!1;if(!f(e)||!f(t))return!0;const s=r.get(u(e));if(!s)return!0;if(o){const r=o.get(e);if(r&&r.n===t)return r.g;o.set(e,{n:t,g:!1})}let c=null;try{for(const r of s.h||[])if(c=Reflect.has(e,r)!==Reflect.has(t,r),c)return c;if(!0===s[n]){if(c=((e,t)=>{const r=Reflect.ownKeys(e),n=Reflect.ownKeys(t);return r.length!==n.length||r.some((e,t)=>e!==n[t])})(e,t),c)return c}else for(const r of s.o||[])if(c=!!Reflect.getOwnPropertyDescriptor(e,r)!=!!Reflect.getOwnPropertyDescriptor(t,r),c)return c;for(const n of s.k||[])if(c=p(e[n],t[n],r,o),c)return c;return null===c&&(c=!0),c}finally{o&&o.set(e,{n:t,g:c})}},g=t=>!!l(t)&&e in t,y=e=>l(e)&&e[t]||null,h=(e,t=!0)=>{c.set(e,t)},w=(e,t,r)=>{const o=[],s=new WeakSet,c=(e,l)=>{if(s.has(e))return;f(e)&&s.add(e);const i=f(e)&&t.get(u(e));if(i){var a,p;if(null==(a=i.h)||a.forEach(e=>{const t=`:has(${String(e)})`;o.push(l?[...l,t]:[t])}),!0===i[n]){const e=\":ownKeys\";o.push(l?[...l,e]:[e])}else{var g;null==(g=i.o)||g.forEach(e=>{const t=`:hasOwn(${String(e)})`;o.push(l?[...l,t]:[t])})}null==(p=i.k)||p.forEach(t=>{r&&!(\"value\"in(Object.getOwnPropertyDescriptor(e,t)||{}))||c(e[t],l?[...l,t]:[t])})}else l&&o.push(l)};return c(e),o},O=e=>{o=e};export{w as affectedToPathList,a as createProxy,y as getUntracked,p as isChanged,h as markToTrack,O as replaceNewProxy,g as trackMemo};\n//# sourceMappingURL=index.modern.mjs.map\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar isCallable = require('../internals/is-callable');\nvar isRegExp = require('../internals/is-regexp');\nvar toString = require('../internals/to-string');\nvar getMethod = require('../internals/get-method');\nvar regExpFlags = require('../internals/regexp-flags');\nvar getSubstitution = require('../internals/get-substitution');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar REPLACE = wellKnownSymbol('replace');\nvar RegExpPrototype = RegExp.prototype;\nvar TypeError = global.TypeError;\nvar getFlags = uncurryThis(regExpFlags);\nvar indexOf = uncurryThis(''.indexOf);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\nvar max = Math.max;\n\nvar stringIndexOf = function (string, searchValue, fromIndex) {\n if (fromIndex > string.length) return -1;\n if (searchValue === '') return fromIndex;\n return indexOf(string, searchValue, fromIndex);\n};\n\n// `String.prototype.replaceAll` method\n// https://tc39.es/ecma262/#sec-string.prototype.replaceall\n$({ target: 'String', proto: true }, {\n replaceAll: function replaceAll(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var IS_REG_EXP, flags, replacer, string, searchString, functionalReplace, searchLength, advanceBy, replacement;\n var position = 0;\n var endOfLastMatch = 0;\n var result = '';\n if (searchValue != null) {\n IS_REG_EXP = isRegExp(searchValue);\n if (IS_REG_EXP) {\n flags = toString(requireObjectCoercible('flags' in RegExpPrototype\n ? searchValue.flags\n : getFlags(searchValue)\n ));\n if (!~indexOf(flags, 'g')) throw TypeError('`.replaceAll` does not allow non-global regexes');\n }\n replacer = getMethod(searchValue, REPLACE);\n if (replacer) {\n return call(replacer, searchValue, O, replaceValue);\n } else if (IS_PURE && IS_REG_EXP) {\n return replace(toString(O), searchValue, replaceValue);\n }\n }\n string = toString(O);\n searchString = toString(searchValue);\n functionalReplace = isCallable(replaceValue);\n if (!functionalReplace) replaceValue = toString(replaceValue);\n searchLength = searchString.length;\n advanceBy = max(1, searchLength);\n position = stringIndexOf(string, searchString, 0);\n while (position !== -1) {\n replacement = functionalReplace\n ? toString(replaceValue(searchString, position, string))\n : getSubstitution(searchString, string, position, [], undefined, replaceValue);\n result += stringSlice(string, endOfLastMatch, position) + replacement;\n endOfLastMatch = position + searchLength;\n position = stringIndexOf(string, searchString, position + advanceBy);\n }\n if (endOfLastMatch < string.length) {\n result += stringSlice(string, endOfLastMatch);\n }\n return result;\n }\n});\n","import type { ConfigCtrlState, ThemeCtrlState } from '@walletconnect/modal-core'\nimport { ConfigCtrl, ModalCtrl, OptionsCtrl, ThemeCtrl } from '@walletconnect/modal-core'\n\n/**\n * Types\n */\nexport type WalletConnectModalConfig = ConfigCtrlState & ThemeCtrlState\n\n/**\n * Client\n */\nexport class WalletConnectModal {\n public constructor(config: WalletConnectModalConfig) {\n ThemeCtrl.setThemeConfig(config)\n ConfigCtrl.setConfig(config)\n this.initUi()\n }\n\n private async initUi() {\n if (typeof window !== 'undefined') {\n await import('@walletconnect/modal-ui')\n const modal = document.createElement('wcm-modal')\n document.body.insertAdjacentElement('beforeend', modal)\n OptionsCtrl.setIsUiLoaded(true)\n }\n }\n\n public openModal = ModalCtrl.open\n\n public closeModal = ModalCtrl.close\n\n public subscribeModal = ModalCtrl.subscribe\n\n public setTheme = ThemeCtrl.setThemeConfig\n}\n","import { proxy, subscribe as valtioSub } from 'valtio/vanilla'\nimport type { RouterCtrlState } from '../types/controllerTypes'\n\n// -- initial state ------------------------------------------------ //\nconst state = proxy({\n history: ['ConnectWallet'],\n view: 'ConnectWallet',\n data: undefined\n})\n\n// -- controller --------------------------------------------------- //\nexport const RouterCtrl = {\n state,\n\n subscribe(callback: (newState: RouterCtrlState) => void) {\n return valtioSub(state, () => callback(state))\n },\n\n push(view: RouterCtrlState['view'], data?: RouterCtrlState['data']) {\n if (view !== state.view) {\n state.view = view\n if (data) {\n state.data = data\n }\n state.history.push(view)\n }\n },\n\n reset(view: RouterCtrlState['view']) {\n state.view = view\n state.history = [view]\n },\n\n replace(view: RouterCtrlState['view']) {\n if (state.history.length > 1) {\n state.history[state.history.length - 1] = view\n state.view = view\n }\n },\n\n goBack() {\n if (state.history.length > 1) {\n state.history.pop()\n const [last] = state.history.slice(-1)\n state.view = last\n }\n },\n\n setData(data: RouterCtrlState['data']) {\n state.data = data\n }\n}\n","import { RouterCtrl } from '../controllers/RouterCtrl'\n\nexport const CoreUtil = {\n WALLETCONNECT_DEEPLINK_CHOICE: 'WALLETCONNECT_DEEPLINK_CHOICE',\n\n WCM_VERSION: 'WCM_VERSION',\n\n RECOMMENDED_WALLET_AMOUNT: 9,\n\n isMobile() {\n if (typeof window !== 'undefined') {\n return Boolean(\n window.matchMedia('(pointer:coarse)').matches ||\n /Android|webOS|iPhone|iPad|iPod|BlackBerry|Opera Mini/u.test(navigator.userAgent)\n )\n }\n\n return false\n },\n\n isAndroid() {\n return CoreUtil.isMobile() && navigator.userAgent.toLowerCase().includes('android')\n },\n\n isIos() {\n const ua = navigator.userAgent.toLowerCase()\n\n return CoreUtil.isMobile() && (ua.includes('iphone') || ua.includes('ipad'))\n },\n\n isHttpUrl(url: string) {\n return url.startsWith('http://') || url.startsWith('https://')\n },\n\n isArray(data?: T | T[]): data is T[] {\n return Array.isArray(data) && data.length > 0\n },\n\n formatNativeUrl(appUrl: string, wcUri: string, name: string): string {\n if (CoreUtil.isHttpUrl(appUrl)) {\n return this.formatUniversalUrl(appUrl, wcUri, name)\n }\n let safeAppUrl = appUrl\n if (!safeAppUrl.includes('://')) {\n safeAppUrl = appUrl.replaceAll('/', '').replaceAll(':', '')\n safeAppUrl = `${safeAppUrl}://`\n }\n if (!safeAppUrl.endsWith('/')) {\n safeAppUrl = `${safeAppUrl}/`\n }\n this.setWalletConnectDeepLink(safeAppUrl, name)\n const encodedWcUrl = encodeURIComponent(wcUri)\n\n return `${safeAppUrl}wc?uri=${encodedWcUrl}`\n },\n\n formatUniversalUrl(appUrl: string, wcUri: string, name: string): string {\n if (!CoreUtil.isHttpUrl(appUrl)) {\n return this.formatNativeUrl(appUrl, wcUri, name)\n }\n let safeAppUrl = appUrl\n if (!safeAppUrl.endsWith('/')) {\n safeAppUrl = `${safeAppUrl}/`\n }\n this.setWalletConnectDeepLink(safeAppUrl, name)\n const encodedWcUrl = encodeURIComponent(wcUri)\n\n return `${safeAppUrl}wc?uri=${encodedWcUrl}`\n },\n\n async wait(miliseconds: number) {\n return new Promise(resolve => {\n setTimeout(resolve, miliseconds)\n })\n },\n\n openHref(href: string, target: '_blank' | '_self') {\n window.open(href, target, 'noreferrer noopener')\n },\n\n setWalletConnectDeepLink(href: string, name: string) {\n try {\n localStorage.setItem(CoreUtil.WALLETCONNECT_DEEPLINK_CHOICE, JSON.stringify({ href, name }))\n } catch {\n console.info('Unable to set WalletConnect deep link')\n }\n },\n\n setWalletConnectAndroidDeepLink(wcUri: string) {\n try {\n const [href] = wcUri.split('?')\n localStorage.setItem(\n CoreUtil.WALLETCONNECT_DEEPLINK_CHOICE,\n JSON.stringify({ href, name: 'Android' })\n )\n } catch {\n console.info('Unable to set WalletConnect android deep link')\n }\n },\n\n removeWalletConnectDeepLink() {\n try {\n localStorage.removeItem(CoreUtil.WALLETCONNECT_DEEPLINK_CHOICE)\n } catch {\n console.info('Unable to remove WalletConnect deep link')\n }\n },\n\n setModalVersionInStorage() {\n try {\n if (typeof localStorage !== 'undefined') {\n localStorage.setItem(CoreUtil.WCM_VERSION, process.env.ROLLUP_WCM_VERSION ?? 'UNKNOWN')\n }\n } catch {\n console.info('Unable to set Web3Modal version in storage')\n }\n },\n\n getWalletRouterData() {\n const routerData = RouterCtrl.state.data?.Wallet\n if (!routerData) {\n throw new Error('Missing \"Wallet\" view data')\n }\n\n return routerData\n }\n}\n","import { proxy, snapshot, subscribe as valtioSub } from 'valtio/vanilla'\nimport type { EventsCtrlState, ModalEvent, ModalEventData } from '../types/controllerTypes'\n\n// -- helpers ------------------------------------------------------ //\nconst isEnabled =\n typeof location !== 'undefined' &&\n (location.hostname.includes('localhost') || location.protocol.includes('https'))\n\n// -- initial state ------------------------------------------------ //\nconst state = proxy({\n enabled: isEnabled,\n userSessionId: '',\n events: [],\n connectedWalletId: undefined\n})\n\n// -- controller --------------------------------------------------- //\nexport const EventsCtrl = {\n state,\n\n subscribe(callback: (newEvent: ModalEvent) => void) {\n return valtioSub(state.events, () => callback(snapshot(state.events[state.events.length - 1])))\n },\n\n initialize() {\n if (state.enabled && typeof crypto?.randomUUID !== 'undefined') {\n state.userSessionId = crypto.randomUUID()\n }\n },\n\n setConnectedWalletId(connectedWalletId: EventsCtrlState['connectedWalletId']) {\n state.connectedWalletId = connectedWalletId\n },\n\n click(data: ModalEventData) {\n if (state.enabled) {\n const event = {\n type: 'CLICK' as const,\n name: data.name,\n userSessionId: state.userSessionId,\n timestamp: Date.now(),\n data\n }\n state.events.push(event)\n }\n },\n\n track(data: ModalEventData) {\n if (state.enabled) {\n const event = {\n type: 'TRACK' as const,\n name: data.name,\n userSessionId: state.userSessionId,\n timestamp: Date.now(),\n data\n }\n state.events.push(event)\n }\n },\n\n view(data: ModalEventData) {\n if (state.enabled) {\n const event = {\n type: 'VIEW' as const,\n name: data.name,\n userSessionId: state.userSessionId,\n timestamp: Date.now(),\n data\n }\n state.events.push(event)\n }\n }\n}\n","import { proxy, subscribe as valtioSub } from 'valtio/vanilla'\nimport type { OptionsCtrlState } from '../types/controllerTypes'\n\n// -- initial state ------------------------------------------------ //\nconst state = proxy({\n chains: undefined,\n walletConnectUri: undefined,\n isAuth: false,\n isCustomDesktop: false,\n isCustomMobile: false,\n isDataLoaded: false,\n isUiLoaded: false\n})\n\n// -- controller --------------------------------------------------- //\nexport const OptionsCtrl = {\n state,\n\n subscribe(callback: (newState: OptionsCtrlState) => void) {\n return valtioSub(state, () => callback(state))\n },\n\n setChains(chains: OptionsCtrlState['chains']) {\n state.chains = chains\n },\n\n setWalletConnectUri(walletConnectUri: OptionsCtrlState['walletConnectUri']) {\n state.walletConnectUri = walletConnectUri\n },\n\n setIsCustomDesktop(isCustomDesktop: OptionsCtrlState['isCustomDesktop']) {\n state.isCustomDesktop = isCustomDesktop\n },\n\n setIsCustomMobile(isCustomMobile: OptionsCtrlState['isCustomMobile']) {\n state.isCustomMobile = isCustomMobile\n },\n\n setIsDataLoaded(isDataLoaded: OptionsCtrlState['isDataLoaded']) {\n state.isDataLoaded = isDataLoaded\n },\n\n setIsUiLoaded(isUiLoaded: OptionsCtrlState['isUiLoaded']) {\n state.isUiLoaded = isUiLoaded\n },\n\n setIsAuth(isAuth: OptionsCtrlState['isAuth']) {\n state.isAuth = isAuth\n }\n}\n","import { proxy, subscribe as valtioSub } from 'valtio/vanilla'\nimport type { ConfigCtrlState } from '../types/controllerTypes'\nimport { CoreUtil } from '../utils/CoreUtil'\nimport { EventsCtrl } from './EventsCtrl'\nimport { OptionsCtrl } from './OptionsCtrl'\n\nconst state = proxy({\n projectId: '',\n mobileWallets: undefined,\n desktopWallets: undefined,\n walletImages: undefined,\n chains: undefined,\n enableAuthMode: false,\n enableExplorer: true,\n explorerExcludedWalletIds: undefined,\n explorerRecommendedWalletIds: undefined,\n termsOfServiceUrl: undefined,\n privacyPolicyUrl: undefined\n})\n\n// -- controller --------------------------------------------------- //\nexport const ConfigCtrl = {\n state,\n\n subscribe(callback: (newState: ConfigCtrlState) => void) {\n return valtioSub(state, () => callback(state))\n },\n\n setConfig(config: ConfigCtrlState) {\n EventsCtrl.initialize()\n OptionsCtrl.setChains(config.chains)\n OptionsCtrl.setIsAuth(Boolean(config.enableAuthMode))\n OptionsCtrl.setIsCustomMobile(Boolean(config.mobileWallets?.length))\n OptionsCtrl.setIsCustomDesktop(Boolean(config.desktopWallets?.length))\n\n CoreUtil.setModalVersionInStorage()\n\n Object.assign(state, config)\n }\n}\n","import { ConfigCtrl } from '../controllers/ConfigCtrl'\nimport type { ListingParams, ListingResponse } from '../types/controllerTypes'\n\n// -- Helpers -------------------------------------------------------\nconst W3M_API = 'https://explorer-api.walletconnect.com'\n\nasync function fetchListings(endpoint: string, params: ListingParams) {\n const url = new URL(endpoint, W3M_API)\n url.searchParams.append('projectId', ConfigCtrl.state.projectId)\n Object.entries(params).forEach(([key, value]) => {\n if (value) {\n url.searchParams.append(key, String(value))\n }\n })\n const request = await fetch(url)\n\n return request.json() as Promise\n}\n\n// -- Utility -------------------------------------------------------\nexport const ExplorerUtil = {\n async getDesktopListings(params: ListingParams) {\n return fetchListings('/w3m/v1/getDesktopListings', params)\n },\n\n async getMobileListings(params: ListingParams) {\n return fetchListings('/w3m/v1/getMobileListings', params)\n },\n\n async getInjectedListings(params: ListingParams) {\n return fetchListings('/w3m/v1/getInjectedListings', params)\n },\n\n async getAllListings(params: ListingParams) {\n return fetchListings('/w3m/v1/getAllListings', params)\n },\n\n getWalletImageUrl(imageId: string) {\n return `${W3M_API}/w3m/v1/getWalletImage/${imageId}?projectId=${ConfigCtrl.state.projectId}`\n },\n\n getAssetImageUrl(imageId: string) {\n return `${W3M_API}/w3m/v1/getAssetImage/${imageId}?projectId=${ConfigCtrl.state.projectId}`\n }\n}\n","import { proxy } from 'valtio/vanilla'\nimport type { ExplorerCtrlState, ListingParams } from '../types/controllerTypes'\nimport { CoreUtil } from '../utils/CoreUtil'\nimport { ExplorerUtil } from '../utils/ExplorerUtil'\nimport { ConfigCtrl } from './ConfigCtrl'\nimport { OptionsCtrl } from './OptionsCtrl'\n\nconst isMobile = CoreUtil.isMobile()\n\n// -- initial state ------------------------------------------------ //\nconst state = proxy({\n wallets: { listings: [], total: 0, page: 1 },\n search: { listings: [], total: 0, page: 1 },\n recomendedWallets: []\n})\n\n// -- controller --------------------------------------------------- //\nexport const ExplorerCtrl = {\n state,\n\n async getRecomendedWallets() {\n const { explorerRecommendedWalletIds, explorerExcludedWalletIds } = ConfigCtrl.state\n\n // Don't fetch recomended wallets\n if (\n explorerRecommendedWalletIds === 'NONE' ||\n (explorerExcludedWalletIds === 'ALL' && !explorerRecommendedWalletIds)\n ) {\n return state.recomendedWallets\n }\n\n // Fetch only recomended wallets defined in config\n if (CoreUtil.isArray(explorerRecommendedWalletIds)) {\n const recommendedIds = explorerRecommendedWalletIds.join(',')\n const params = { recommendedIds }\n const { listings } = await ExplorerUtil.getAllListings(params)\n const listingsArr = Object.values(listings)\n listingsArr.sort((a, b) => {\n const aIndex = explorerRecommendedWalletIds.indexOf(a.id)\n const bIndex = explorerRecommendedWalletIds.indexOf(b.id)\n\n return aIndex - bIndex\n })\n state.recomendedWallets = listingsArr\n }\n\n // Fetch default recomended wallets based on user's device, options and excluded config\n else {\n const { chains, isAuth } = OptionsCtrl.state\n const chainsFilter = chains?.join(',')\n const isExcluded = CoreUtil.isArray(explorerExcludedWalletIds)\n const params = {\n page: 1,\n sdks: isAuth ? 'auth_v1' : undefined,\n entries: CoreUtil.RECOMMENDED_WALLET_AMOUNT,\n chains: chainsFilter,\n version: 2,\n excludedIds: isExcluded ? explorerExcludedWalletIds.join(',') : undefined\n }\n const { listings } = isMobile\n ? await ExplorerUtil.getMobileListings(params)\n : await ExplorerUtil.getDesktopListings(params)\n state.recomendedWallets = Object.values(listings)\n }\n\n return state.recomendedWallets\n },\n\n async getWallets(params: ListingParams) {\n const extendedParams: ListingParams = { ...params }\n const { explorerRecommendedWalletIds, explorerExcludedWalletIds } = ConfigCtrl.state\n const { recomendedWallets } = state\n\n // Don't fetch any wallets if all are excluded\n if (explorerExcludedWalletIds === 'ALL') {\n return state.wallets\n }\n\n // Don't fetch recomended wallets, as we already have these\n if (recomendedWallets.length) {\n extendedParams.excludedIds = recomendedWallets.map(wallet => wallet.id).join(',')\n } else if (CoreUtil.isArray(explorerRecommendedWalletIds)) {\n extendedParams.excludedIds = explorerRecommendedWalletIds.join(',')\n }\n\n // Don't fetch user defined excluded wallets & recomended wallets\n if (CoreUtil.isArray(explorerExcludedWalletIds)) {\n extendedParams.excludedIds = [extendedParams.excludedIds, explorerExcludedWalletIds]\n .filter(Boolean)\n .join(',')\n }\n\n // Fetch only auth wallets\n if (OptionsCtrl.state.isAuth) {\n extendedParams.sdks = 'auth_v1'\n }\n\n const { page, search } = params\n const { listings: listingsObj, total } = isMobile\n ? await ExplorerUtil.getMobileListings(extendedParams)\n : await ExplorerUtil.getDesktopListings(extendedParams)\n const listings = Object.values(listingsObj)\n const type = search ? 'search' : 'wallets'\n state[type] = {\n listings: [...state[type].listings, ...listings],\n total,\n page: page ?? 1\n }\n\n return { listings, total }\n },\n\n getWalletImageUrl(imageId: string) {\n return ExplorerUtil.getWalletImageUrl(imageId)\n },\n\n getAssetImageUrl(imageId: string) {\n return ExplorerUtil.getAssetImageUrl(imageId)\n },\n\n resetSearch() {\n state.search = { listings: [], total: 0, page: 1 }\n }\n}\n","import { proxy, subscribe as valtioSub } from 'valtio/vanilla'\nimport type { ModalCtrlState } from '../types/controllerTypes'\nimport { OptionsCtrl } from './OptionsCtrl'\nimport { RouterCtrl } from './RouterCtrl'\n\n// -- types -------------------------------------------------------- //\nexport interface OpenOptions {\n uri: string\n chains?: string[]\n}\n\n// -- initial state ------------------------------------------------ //\nconst state = proxy({\n open: false\n})\n\n// -- controller --------------------------------------------------- //\nexport const ModalCtrl = {\n state,\n\n subscribe(callback: (newState: ModalCtrlState) => void) {\n return valtioSub(state, () => callback(state))\n },\n\n async open(options?: OpenOptions) {\n return new Promise(resolve => {\n const { isUiLoaded, isDataLoaded } = OptionsCtrl.state\n\n OptionsCtrl.setWalletConnectUri(options?.uri)\n OptionsCtrl.setChains(options?.chains)\n RouterCtrl.reset('ConnectWallet')\n\n // Open modal if essential async data is ready\n if (isUiLoaded && isDataLoaded) {\n state.open = true\n resolve()\n }\n // Otherwise (slow network) re-attempt open checks\n else {\n const interval = setInterval(() => {\n const opts = OptionsCtrl.state\n if (opts.isUiLoaded && opts.isDataLoaded) {\n clearInterval(interval)\n state.open = true\n resolve()\n }\n }, 200)\n }\n })\n },\n\n close() {\n state.open = false\n }\n}\n","import { proxy, subscribe as valtioSub } from 'valtio/vanilla'\nimport type { ThemeCtrlState } from '../types/controllerTypes'\n\n// -- initial state ------------------------------------------------ //\nfunction isDarkMode() {\n return typeof matchMedia !== 'undefined' && matchMedia('(prefers-color-scheme: dark)').matches\n}\n\nconst state = proxy({\n themeMode: isDarkMode() ? 'dark' : 'light'\n})\n\n// -- controller --------------------------------------------------- //\nexport const ThemeCtrl = {\n state,\n\n subscribe(callback: (newState: ThemeCtrlState) => void) {\n return valtioSub(state, () => callback(state))\n },\n\n setThemeConfig(theme: ThemeCtrlState) {\n const { themeMode, themeVariables } = theme\n\n if (themeMode) {\n state.themeMode = themeMode\n }\n\n if (themeVariables) {\n state.themeVariables = { ...themeVariables }\n }\n }\n}\n","import { proxy, subscribe as valtioSub } from 'valtio/vanilla'\nimport type { ToastCtrlState } from '../types/controllerTypes'\n\n// -- initial state ------------------------------------------------ //\nconst state = proxy({\n open: false,\n message: '',\n variant: 'success'\n})\n\n// -- controller --------------------------------------------------- //\nexport const ToastCtrl = {\n state,\n\n subscribe(callback: (newState: ToastCtrlState) => void) {\n return valtioSub(state, () => callback(state))\n },\n\n openToast(message: ToastCtrlState['message'], variant: ToastCtrlState['variant']) {\n state.open = true\n state.message = message\n state.variant = variant\n },\n\n closeToast() {\n state.open = false\n }\n}\n","/* eslint-disable @typescript-eslint/no-unnecessary-condition */\nimport { Buffer } from 'buffer'\n\nif (typeof window !== 'undefined') {\n if (!window.Buffer) {\n window.Buffer = Buffer\n }\n if (!window.global) {\n window.global = window\n }\n if (!window.process) {\n // @ts-expect-error minimal process\n window.process = { env: {} }\n }\n if (!window.global) {\n window.global = window\n }\n}\n"],"sourceRoot":""}