UNPKG

@frames.js/debugger

Version:

Debug your Frames.js applications

1 lines 101 kB
exports.id=7638,exports.ids=[7638],exports.modules={70024:function(e,t,r){"use strict";var s=this&&this.__rest||function(e,t){var r={};for(var s in e)Object.prototype.hasOwnProperty.call(e,s)&&0>t.indexOf(s)&&(r[s]=e[s]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var n=0,s=Object.getOwnPropertySymbols(e);n<s.length;n++)0>t.indexOf(s[n])&&Object.prototype.propertyIsEnumerable.call(e,s[n])&&(r[s[n]]=e[s[n]]);return r},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.CoinbaseWalletProvider=void 0;let i=n(r(36017)),a=r(4248),o=r(6766),d=r(83546),c=r(58661),l=r(59856),h=r(39430),u=r(51232),p=r(86739),g=r(23711);class m extends i.default{constructor(e){var t,r,{metadata:n}=e,i=e.preference,{keysUrl:o}=i,p=s(i,["keysUrl"]);super(),this.accounts=[],this.handlers={handshake:async e=>{try{if(this.connected)return this.emit("connect",{chainId:(0,c.hexStringFromIntNumber)((0,d.IntNumber)(this.chain.id))}),this.accounts;let e=await this.requestSignerSelection(),t=this.initSigner(e),r=await t.handshake();return this.signer=t,(0,l.storeSignerType)(e),this.emit("connect",{chainId:(0,c.hexStringFromIntNumber)((0,d.IntNumber)(this.chain.id))}),r}catch(e){throw this.handleUnauthorizedError(e),e}},sign:async e=>{if(!this.connected||!this.signer)throw a.standardErrors.provider.unauthorized("Must call 'eth_requestAccounts' before other methods");try{return await this.signer.request(e)}catch(e){throw this.handleUnauthorizedError(e),e}},fetch:e=>(0,h.fetchRPCRequest)(e,this.chain),state:e=>{let t=()=>{if(this.connected)return this.accounts;throw a.standardErrors.provider.unauthorized("Must call 'eth_requestAccounts' before other methods")};switch(e.method){case"eth_chainId":return(0,c.hexStringFromIntNumber)((0,d.IntNumber)(this.chain.id));case"net_version":return this.chain.id;case"eth_accounts":return t();case"eth_coinbase":return t()[0];default:return this.handlers.unsupported(e)}},deprecated:({method:e})=>{throw a.standardErrors.rpc.methodNotSupported(`Method ${e} is deprecated.`)},unsupported:({method:e})=>{throw a.standardErrors.rpc.methodNotSupported(`Method ${e} is not supported.`)}},this.isCoinbaseWallet=!0,this.updateListener={onAccountsUpdate:({accounts:e,source:t})=>{(0,c.areAddressArraysEqual)(this.accounts,e)||(this.accounts=e,"storage"!==t&&this.emit("accountsChanged",this.accounts))},onChainUpdate:({chain:e,source:t})=>{(e.id!==this.chain.id||e.rpcUrl!==this.chain.rpcUrl)&&(this.chain=e,"storage"!==t&&this.emit("chainChanged",(0,c.hexStringFromIntNumber)((0,d.IntNumber)(e.id))))}},this.metadata=n,this.preference=p,this.communicator=new u.Communicator(o),this.chain={id:null!==(r=null===(t=n.appChainIds)||void 0===t?void 0:t[0])&&void 0!==r?r:1};let g=(0,l.loadSignerType)();this.signer=g?this.initSigner(g):null}get connected(){return this.accounts.length>0}async request(e){var t;try{let r=(0,h.checkErrorForInvalidRequestArgs)(e);if(r)throw r;let s=null!==(t=(0,p.determineMethodCategory)(e.method))&&void 0!==t?t:"fetch";return this.handlers[s](e)}catch(t){return Promise.reject((0,o.serializeError)(t,e.method))}}handleUnauthorizedError(e){e.code===a.standardErrorCodes.provider.unauthorized&&this.disconnect()}async enable(){return console.warn('.enable() has been deprecated. Please use .request({ method: "eth_requestAccounts" }) instead.'),await this.request({method:"eth_requestAccounts"})}async disconnect(){this.accounts=[],this.chain={id:1},g.ScopedLocalStorage.clearAll(),this.emit("disconnect",a.standardErrors.provider.disconnected("User initiated disconnection"))}requestSignerSelection(){return(0,l.fetchSignerType)({communicator:this.communicator,preference:this.preference,metadata:this.metadata})}initSigner(e){return(0,l.createSigner)({signerType:e,metadata:this.metadata,communicator:this.communicator,updateListener:this.updateListener})}}t.CoinbaseWalletProvider=m},55862:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CoinbaseWalletSDK=void 0;let s=r(45207),n=r(70024),i=r(23711),a=r(11955),o=r(58661),d=r(39430);class c{constructor(e){this.metadata={appName:e.appName||"Dapp",appLogoUrl:e.appLogoUrl||(0,o.getFavicon)(),appChainIds:e.appChainIds||[]},this.storeLatestVersion()}makeWeb3Provider(e={options:"all"}){var t;let r={metadata:this.metadata,preference:e};return null!==(t=(0,d.getCoinbaseInjectedProvider)(r))&&void 0!==t?t:new n.CoinbaseWalletProvider(r)}getCoinbaseWalletLogo(e,t=240){return(0,s.walletLogo)(e,t)}storeLatestVersion(){new i.ScopedLocalStorage("CBWSDK").setItem("VERSION",a.LIB_VERSION)}}t.CoinbaseWalletSDK=c},45207:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.walletLogo=void 0,t.walletLogo=(e,t)=>{let r;switch(e){case"standard":default:return r=t,`data:image/svg+xml,%3Csvg width='${t}' height='${r}' viewBox='0 0 1024 1024' fill='none' xmlns='http://www.w3.org/2000/svg'%3E %3Crect width='1024' height='1024' fill='%230052FF'/%3E %3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M152 512C152 710.823 313.177 872 512 872C710.823 872 872 710.823 872 512C872 313.177 710.823 152 512 152C313.177 152 152 313.177 152 512ZM420 396C406.745 396 396 406.745 396 420V604C396 617.255 406.745 628 420 628H604C617.255 628 628 617.255 628 604V420C628 406.745 617.255 396 604 396H420Z' fill='white'/%3E %3C/svg%3E `;case"circle":return r=t,`data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='${t}' height='${r}' viewBox='0 0 999.81 999.81'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%230052fe;%7D.cls-2%7Bfill:%23fefefe;%7D.cls-3%7Bfill:%230152fe;%7D%3C/style%3E%3C/defs%3E%3Cpath class='cls-1' d='M655-115.9h56c.83,1.59,2.36.88,3.56,1a478,478,0,0,1,75.06,10.42C891.4-81.76,978.33-32.58,1049.19,44q116.7,126,131.94,297.61c.38,4.14-.34,8.53,1.78,12.45v59c-1.58.84-.91,2.35-1,3.56a482.05,482.05,0,0,1-10.38,74.05c-24,106.72-76.64,196.76-158.83,268.93s-178.18,112.82-287.2,122.6c-4.83.43-9.86-.25-14.51,1.77H654c-1-1.68-2.69-.91-4.06-1a496.89,496.89,0,0,1-105.9-18.59c-93.54-27.42-172.78-77.59-236.91-150.94Q199.34,590.1,184.87,426.58c-.47-5.19.25-10.56-1.77-15.59V355c1.68-1,.91-2.7,1-4.06a498.12,498.12,0,0,1,18.58-105.9c26-88.75,72.64-164.9,140.6-227.57q126-116.27,297.21-131.61C645.32-114.57,650.35-113.88,655-115.9Zm377.92,500c0-192.44-156.31-349.49-347.56-350.15-194.13-.68-350.94,155.13-352.29,347.42-1.37,194.55,155.51,352.1,348.56,352.47C876.15,734.23,1032.93,577.84,1032.93,384.11Z' transform='translate(-183.1 115.9)'/%3E%3Cpath class='cls-2' d='M1032.93,384.11c0,193.73-156.78,350.12-351.29,349.74-193-.37-349.93-157.92-348.56-352.47C334.43,189.09,491.24,33.28,685.37,34,876.62,34.62,1032.94,191.67,1032.93,384.11ZM683,496.81q43.74,0,87.48,0c15.55,0,25.32-9.72,25.33-25.21q0-87.48,0-175c0-15.83-9.68-25.46-25.59-25.46H595.77c-15.88,0-25.57,9.64-25.58,25.46q0,87.23,0,174.45c0,16.18,9.59,25.7,25.84,25.71Z' transform='translate(-183.1 115.9)'/%3E%3Cpath class='cls-3' d='M683,496.81H596c-16.25,0-25.84-9.53-25.84-25.71q0-87.23,0-174.45c0-15.82,9.7-25.46,25.58-25.46H770.22c15.91,0,25.59,9.63,25.59,25.46q0,87.47,0,175c0,15.49-9.78,25.2-25.33,25.21Q726.74,496.84,683,496.81Z' transform='translate(-183.1 115.9)'/%3E%3C/svg%3E`;case"text":return r=(.1*t).toFixed(2),`data:image/svg+xml,%3Csvg width='${t}' height='${r}' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 528.15 53.64'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%230052ff;%7D%3C/style%3E%3C/defs%3E%3Ctitle%3ECoinbase_Wordmark_SubBrands_ALL%3C/title%3E%3Cpath class='cls-1' d='M164.45,15a15,15,0,0,0-11.74,5.4V0h-8.64V52.92h8.5V48a15,15,0,0,0,11.88,5.62c10.37,0,18.21-8.21,18.21-19.3S174.67,15,164.45,15Zm-1.3,30.67c-6.19,0-10.73-4.83-10.73-11.31S157,23,163.22,23s10.66,4.82,10.66,11.37S169.34,45.65,163.15,45.65Zm83.31-14.91-6.34-.93c-3-.43-5.18-1.44-5.18-3.82,0-2.59,2.8-3.89,6.62-3.89,4.18,0,6.84,1.8,7.42,4.76h8.35c-.94-7.49-6.7-11.88-15.55-11.88-9.15,0-15.2,4.68-15.2,11.3,0,6.34,4,10,12,11.16l6.33.94c3.1.43,4.83,1.65,4.83,4,0,2.95-3,4.17-7.2,4.17-5.12,0-8-2.09-8.43-5.25h-8.49c.79,7.27,6.48,12.38,16.84,12.38,9.44,0,15.7-4.32,15.7-11.74C258.12,35.28,253.58,31.82,246.46,30.74Zm-27.65-2.3c0-8.06-4.9-13.46-15.27-13.46-9.79,0-15.26,5-16.34,12.6h8.57c.43-3,2.73-5.4,7.63-5.4,4.39,0,6.55,1.94,6.55,4.32,0,3.09-4,3.88-8.85,4.39-6.63.72-14.84,3-14.84,11.66,0,6.7,5,11,12.89,11,6.19,0,10.08-2.59,12-6.7.28,3.67,3,6.05,6.84,6.05h5v-7.7h-4.25Zm-8.5,9.36c0,5-4.32,8.64-9.57,8.64-3.24,0-6-1.37-6-4.25,0-3.67,4.39-4.68,8.42-5.11s6-1.22,7.13-2.88ZM281.09,15c-11.09,0-19.23,8.35-19.23,19.36,0,11.6,8.72,19.3,19.37,19.3,9,0,16.06-5.33,17.86-12.89h-9c-1.3,3.31-4.47,5.19-8.71,5.19-5.55,0-9.72-3.46-10.66-9.51H299.3V33.12C299.3,22.46,291.53,15,281.09,15Zm-9.87,15.26c1.37-5.18,5.26-7.7,9.72-7.7,4.9,0,8.64,2.8,9.51,7.7ZM19.3,23a9.84,9.84,0,0,1,9.5,7h9.14c-1.65-8.93-9-15-18.57-15A19,19,0,0,0,0,34.34c0,11.09,8.28,19.3,19.37,19.3,9.36,0,16.85-6,18.5-15H28.8a9.75,9.75,0,0,1-9.43,7.06c-6.27,0-10.66-4.83-10.66-11.31S13,23,19.3,23Zm41.11-8A19,19,0,0,0,41,34.34c0,11.09,8.28,19.3,19.37,19.3A19,19,0,0,0,79.92,34.27C79.92,23.33,71.64,15,60.41,15Zm.07,30.67c-6.19,0-10.73-4.83-10.73-11.31S54.22,23,60.41,23s10.8,4.89,10.8,11.37S66.67,45.65,60.48,45.65ZM123.41,15c-5.62,0-9.29,2.3-11.45,5.54V15.7h-8.57V52.92H112V32.69C112,27,115.63,23,121,23c5,0,8.06,3.53,8.06,8.64V52.92h8.64V31C137.66,21.6,132.84,15,123.41,15ZM92,.36a5.36,5.36,0,0,0-5.55,5.47,5.55,5.55,0,0,0,11.09,0A5.35,5.35,0,0,0,92,.36Zm-9.72,23h5.4V52.92h8.64V15.7h-14Zm298.17-7.7L366.2,52.92H372L375.29,44H392l3.33,8.88h6L386.87,15.7ZM377,39.23l6.45-17.56h.1l6.56,17.56ZM362.66,15.7l-7.88,29h-.11l-8.14-29H341l-8,28.93h-.1l-8-28.87H319L329.82,53h5.45l8.19-29.24h.11L352,53h5.66L368.1,15.7Zm135.25,0v4.86h12.32V52.92h5.6V20.56h12.32V15.7ZM467.82,52.92h25.54V48.06H473.43v-12h18.35V31.35H473.43V20.56h19.93V15.7H467.82ZM443,15.7h-5.6V52.92h24.32V48.06H443Zm-30.45,0h-5.61V52.92h24.32V48.06H412.52Z'/%3E%3C/svg%3E`;case"textWithLogo":return r=(.25*t).toFixed(2),`data:image/svg+xml,%3Csvg width='${t}' height='${r}' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 308.44 77.61'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%230052ff;%7D%3C/style%3E%3C/defs%3E%3Cpath class='cls-1' d='M142.94,20.2l-7.88,29H135l-8.15-29h-5.55l-8,28.93h-.11l-8-28.87H99.27l10.84,37.27h5.44l8.2-29.24h.1l8.41,29.24h5.66L148.39,20.2Zm17.82,0L146.48,57.42h5.82l3.28-8.88h16.65l3.34,8.88h6L167.16,20.2Zm-3.44,23.52,6.45-17.55h.11l6.56,17.55ZM278.2,20.2v4.86h12.32V57.42h5.6V25.06h12.32V20.2ZM248.11,57.42h25.54V52.55H253.71V40.61h18.35V35.85H253.71V25.06h19.94V20.2H248.11ZM223.26,20.2h-5.61V57.42H242V52.55H223.26Zm-30.46,0h-5.6V57.42h24.32V52.55H192.8Zm-154,38A19.41,19.41,0,1,1,57.92,35.57H77.47a38.81,38.81,0,1,0,0,6.47H57.92A19.39,19.39,0,0,1,38.81,58.21Z'/%3E%3C/svg%3E`;case"textLight":return r=(.1*t).toFixed(2),`data:image/svg+xml,%3Csvg width='${t}' height='${r}' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 528.15 53.64'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%23fefefe;%7D%3C/style%3E%3C/defs%3E%3Ctitle%3ECoinbase_Wordmark_SubBrands_ALL%3C/title%3E%3Cpath class='cls-1' d='M164.45,15a15,15,0,0,0-11.74,5.4V0h-8.64V52.92h8.5V48a15,15,0,0,0,11.88,5.62c10.37,0,18.21-8.21,18.21-19.3S174.67,15,164.45,15Zm-1.3,30.67c-6.19,0-10.73-4.83-10.73-11.31S157,23,163.22,23s10.66,4.82,10.66,11.37S169.34,45.65,163.15,45.65Zm83.31-14.91-6.34-.93c-3-.43-5.18-1.44-5.18-3.82,0-2.59,2.8-3.89,6.62-3.89,4.18,0,6.84,1.8,7.42,4.76h8.35c-.94-7.49-6.7-11.88-15.55-11.88-9.15,0-15.2,4.68-15.2,11.3,0,6.34,4,10,12,11.16l6.33.94c3.1.43,4.83,1.65,4.83,4,0,2.95-3,4.17-7.2,4.17-5.12,0-8-2.09-8.43-5.25h-8.49c.79,7.27,6.48,12.38,16.84,12.38,9.44,0,15.7-4.32,15.7-11.74C258.12,35.28,253.58,31.82,246.46,30.74Zm-27.65-2.3c0-8.06-4.9-13.46-15.27-13.46-9.79,0-15.26,5-16.34,12.6h8.57c.43-3,2.73-5.4,7.63-5.4,4.39,0,6.55,1.94,6.55,4.32,0,3.09-4,3.88-8.85,4.39-6.63.72-14.84,3-14.84,11.66,0,6.7,5,11,12.89,11,6.19,0,10.08-2.59,12-6.7.28,3.67,3,6.05,6.84,6.05h5v-7.7h-4.25Zm-8.5,9.36c0,5-4.32,8.64-9.57,8.64-3.24,0-6-1.37-6-4.25,0-3.67,4.39-4.68,8.42-5.11s6-1.22,7.13-2.88ZM281.09,15c-11.09,0-19.23,8.35-19.23,19.36,0,11.6,8.72,19.3,19.37,19.3,9,0,16.06-5.33,17.86-12.89h-9c-1.3,3.31-4.47,5.19-8.71,5.19-5.55,0-9.72-3.46-10.66-9.51H299.3V33.12C299.3,22.46,291.53,15,281.09,15Zm-9.87,15.26c1.37-5.18,5.26-7.7,9.72-7.7,4.9,0,8.64,2.8,9.51,7.7ZM19.3,23a9.84,9.84,0,0,1,9.5,7h9.14c-1.65-8.93-9-15-18.57-15A19,19,0,0,0,0,34.34c0,11.09,8.28,19.3,19.37,19.3,9.36,0,16.85-6,18.5-15H28.8a9.75,9.75,0,0,1-9.43,7.06c-6.27,0-10.66-4.83-10.66-11.31S13,23,19.3,23Zm41.11-8A19,19,0,0,0,41,34.34c0,11.09,8.28,19.3,19.37,19.3A19,19,0,0,0,79.92,34.27C79.92,23.33,71.64,15,60.41,15Zm.07,30.67c-6.19,0-10.73-4.83-10.73-11.31S54.22,23,60.41,23s10.8,4.89,10.8,11.37S66.67,45.65,60.48,45.65ZM123.41,15c-5.62,0-9.29,2.3-11.45,5.54V15.7h-8.57V52.92H112V32.69C112,27,115.63,23,121,23c5,0,8.06,3.53,8.06,8.64V52.92h8.64V31C137.66,21.6,132.84,15,123.41,15ZM92,.36a5.36,5.36,0,0,0-5.55,5.47,5.55,5.55,0,0,0,11.09,0A5.35,5.35,0,0,0,92,.36Zm-9.72,23h5.4V52.92h8.64V15.7h-14Zm298.17-7.7L366.2,52.92H372L375.29,44H392l3.33,8.88h6L386.87,15.7ZM377,39.23l6.45-17.56h.1l6.56,17.56ZM362.66,15.7l-7.88,29h-.11l-8.14-29H341l-8,28.93h-.1l-8-28.87H319L329.82,53h5.45l8.19-29.24h.11L352,53h5.66L368.1,15.7Zm135.25,0v4.86h12.32V52.92h5.6V20.56h12.32V15.7ZM467.82,52.92h25.54V48.06H473.43v-12h18.35V31.35H473.43V20.56h19.93V15.7H467.82ZM443,15.7h-5.6V52.92h24.32V48.06H443Zm-30.45,0h-5.61V52.92h24.32V48.06H412.52Z'/%3E%3C/svg%3E`;case"textWithLogoLight":return r=(.25*t).toFixed(2),`data:image/svg+xml,%3Csvg width='${t}' height='${r}' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 308.44 77.61'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%23fefefe;%7D%3C/style%3E%3C/defs%3E%3Cpath class='cls-1' d='M142.94,20.2l-7.88,29H135l-8.15-29h-5.55l-8,28.93h-.11l-8-28.87H99.27l10.84,37.27h5.44l8.2-29.24h.1l8.41,29.24h5.66L148.39,20.2Zm17.82,0L146.48,57.42h5.82l3.28-8.88h16.65l3.34,8.88h6L167.16,20.2Zm-3.44,23.52,6.45-17.55h.11l6.56,17.55ZM278.2,20.2v4.86h12.32V57.42h5.6V25.06h12.32V20.2ZM248.11,57.42h25.54V52.55H253.71V40.61h18.35V35.85H253.71V25.06h19.94V20.2H248.11ZM223.26,20.2h-5.61V57.42H242V52.55H223.26Zm-30.46,0h-5.6V57.42h24.32V52.55H192.8Zm-154,38A19.41,19.41,0,1,1,57.92,35.57H77.47a38.81,38.81,0,1,0,0,6.47H57.92A19.39,19.39,0,0,1,38.81,58.21Z'/%3E%3C/svg%3E`}}},51232:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Communicator=void 0;let s=r(11955),n=r(21183),i=r(77352),a=r(4248);class o{constructor(e=i.CB_KEYS_URL){this.popup=null,this.listeners=new Map,this.postMessage=async e=>{(await this.waitForPopupLoaded()).postMessage(e,this.url.origin)},this.postRequestAndWaitForResponse=async e=>{let t=this.onMessage(({requestId:t})=>t===e.id);return this.postMessage(e),await t},this.onMessage=async e=>new Promise((t,r)=>{let s=r=>{if(r.origin!==this.url.origin)return;let n=r.data;e(n)&&(t(n),window.removeEventListener("message",s),this.listeners.delete(s))};window.addEventListener("message",s),this.listeners.set(s,{reject:r})}),this.disconnect=()=>{(0,n.closePopup)(this.popup),this.popup=null,this.listeners.forEach(({reject:e},t)=>{e(a.standardErrors.provider.userRejectedRequest("Request rejected")),window.removeEventListener("message",t)}),this.listeners.clear()},this.waitForPopupLoaded=async()=>this.popup&&!this.popup.closed?this.popup:(this.popup=(0,n.openPopup)(this.url),this.onMessage(({event:e})=>"PopupUnload"===e).then(this.disconnect).catch(()=>{}),this.onMessage(({event:e})=>"PopupLoaded"===e).then(e=>{this.postMessage({requestId:e.id,data:{version:s.LIB_VERSION}})}).then(()=>{if(!this.popup)throw a.standardErrors.rpc.internal();return this.popup})),this.url=new URL(e)}}t.Communicator=o},21183:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.closePopup=t.openPopup=void 0;let s=r(4248);t.openPopup=function(e){let t=(window.innerWidth-420)/2+window.screenX,r=(window.innerHeight-540)/2+window.screenY,n=window.open(e,"Smart Wallet",`width=420, height=540, left=${t}, top=${r}`);if(null==n||n.focus(),!n)throw s.standardErrors.rpc.internal("Pop up window failed to open");return n},t.closePopup=function(e){e&&!e.closed&&e.close()}},77352:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CBW_MOBILE_DEEPLINK_URL=t.WALLETLINK_URL=t.CB_KEYS_URL=void 0,t.CB_KEYS_URL="https://keys.coinbase.com/connect",t.WALLETLINK_URL="https://www.walletlink.org",t.CBW_MOBILE_DEEPLINK_URL="https://go.cb-w.com/walletlink"},5369:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.errorValues=t.standardErrorCodes=void 0,t.standardErrorCodes={rpc:{invalidInput:-32e3,resourceNotFound:-32001,resourceUnavailable:-32002,transactionRejected:-32003,methodNotSupported:-32004,limitExceeded:-32005,parse:-32700,invalidRequest:-32600,methodNotFound:-32601,invalidParams:-32602,internal:-32603},provider:{userRejectedRequest:4001,unauthorized:4100,unsupportedMethod:4200,disconnected:4900,chainDisconnected:4901,unsupportedChain:4902}},t.errorValues={"-32700":{standard:"JSON RPC 2.0",message:"Invalid JSON was received by the server. An error occurred on the server while parsing the JSON text."},"-32600":{standard:"JSON RPC 2.0",message:"The JSON sent is not a valid Request object."},"-32601":{standard:"JSON RPC 2.0",message:"The method does not exist / is not available."},"-32602":{standard:"JSON RPC 2.0",message:"Invalid method parameter(s)."},"-32603":{standard:"JSON RPC 2.0",message:"Internal JSON-RPC error."},"-32000":{standard:"EIP-1474",message:"Invalid input."},"-32001":{standard:"EIP-1474",message:"Resource not found."},"-32002":{standard:"EIP-1474",message:"Resource unavailable."},"-32003":{standard:"EIP-1474",message:"Transaction rejected."},"-32004":{standard:"EIP-1474",message:"Method not supported."},"-32005":{standard:"EIP-1474",message:"Request limit exceeded."},4001:{standard:"EIP-1193",message:"User rejected the request."},4100:{standard:"EIP-1193",message:"The requested account and/or method has not been authorized by the user."},4200:{standard:"EIP-1193",message:"The requested method is not supported by this Ethereum provider."},4900:{standard:"EIP-1193",message:"The provider is disconnected from all chains."},4901:{standard:"EIP-1193",message:"The provider is disconnected from the specified chain."},4902:{standard:"EIP-3085",message:"Unrecognized chain ID."}}},51581:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.standardErrors=void 0;let s=r(5369),n=r(7544);function i(e,t){let[r,s]=o(t);return new d(e,r||(0,n.getMessageFromCode)(e),s)}function a(e,t){let[r,s]=o(t);return new c(e,r||(0,n.getMessageFromCode)(e),s)}function o(e){if(e){if("string"==typeof e)return[e];if("object"==typeof e&&!Array.isArray(e)){let{message:t,data:r}=e;if(t&&"string"!=typeof t)throw Error("Must specify string message.");return[t||void 0,r]}}return[]}t.standardErrors={rpc:{parse:e=>i(s.standardErrorCodes.rpc.parse,e),invalidRequest:e=>i(s.standardErrorCodes.rpc.invalidRequest,e),invalidParams:e=>i(s.standardErrorCodes.rpc.invalidParams,e),methodNotFound:e=>i(s.standardErrorCodes.rpc.methodNotFound,e),internal:e=>i(s.standardErrorCodes.rpc.internal,e),server:e=>{if(!e||"object"!=typeof e||Array.isArray(e))throw Error("Ethereum RPC Server errors must provide single object argument.");let{code:t}=e;if(!Number.isInteger(t)||t>-32005||t<-32099)throw Error('"code" must be an integer such that: -32099 <= code <= -32005');return i(t,e)},invalidInput:e=>i(s.standardErrorCodes.rpc.invalidInput,e),resourceNotFound:e=>i(s.standardErrorCodes.rpc.resourceNotFound,e),resourceUnavailable:e=>i(s.standardErrorCodes.rpc.resourceUnavailable,e),transactionRejected:e=>i(s.standardErrorCodes.rpc.transactionRejected,e),methodNotSupported:e=>i(s.standardErrorCodes.rpc.methodNotSupported,e),limitExceeded:e=>i(s.standardErrorCodes.rpc.limitExceeded,e)},provider:{userRejectedRequest:e=>a(s.standardErrorCodes.provider.userRejectedRequest,e),unauthorized:e=>a(s.standardErrorCodes.provider.unauthorized,e),unsupportedMethod:e=>a(s.standardErrorCodes.provider.unsupportedMethod,e),disconnected:e=>a(s.standardErrorCodes.provider.disconnected,e),chainDisconnected:e=>a(s.standardErrorCodes.provider.chainDisconnected,e),unsupportedChain:e=>a(s.standardErrorCodes.provider.unsupportedChain,e),custom:e=>{if(!e||"object"!=typeof e||Array.isArray(e))throw Error("Ethereum Provider custom errors must provide single object argument.");let{code:t,message:r,data:s}=e;if(!r||"string"!=typeof r)throw Error('"message" must be a nonempty string');return new c(t,r,s)}}};class d extends Error{constructor(e,t,r){if(!Number.isInteger(e))throw Error('"code" must be an integer.');if(!t||"string"!=typeof t)throw Error('"message" must be a nonempty string.');super(t),this.code=e,void 0!==r&&(this.data=r)}}class c extends d{constructor(e,t,r){if(!function(e){return Number.isInteger(e)&&e>=1e3&&e<=4999}(e))throw Error('"code" must be an integer such that: 1000 <= code <= 4999');super(e,t,r)}}},4248:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.standardErrors=t.standardErrorCodes=void 0;var s=r(5369);Object.defineProperty(t,"standardErrorCodes",{enumerable:!0,get:function(){return s.standardErrorCodes}});var n=r(51581);Object.defineProperty(t,"standardErrors",{enumerable:!0,get:function(){return n.standardErrors}})},6766:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.serializeError=void 0;let s=r(42089),n=r(11955),i=r(5369),a=r(7544);t.serializeError=function(e,t){let r=(0,a.serialize)("string"==typeof e?{message:e,code:i.standardErrorCodes.rpc.internal}:(0,s.isErrorResponse)(e)?Object.assign(Object.assign({},e),{message:e.errorMessage,code:e.errorCode,data:{method:e.method}}):e,{shouldIncludeStack:!0}),o=new URL("https://docs.cloud.coinbase.com/wallet-sdk/docs/errors");o.searchParams.set("version",n.LIB_VERSION),o.searchParams.set("code",r.code.toString());let d=function(e,t){let r=null==e?void 0:e.method;if(r)return r;if(void 0===t);else if("string"==typeof t)return t;else if(!Array.isArray(t))return t.method;else if(t.length>0)return t[0].method}(r.data,t);return d&&o.searchParams.set("method",d),o.searchParams.set("message",r.message),Object.assign(Object.assign({},r),{docUrl:o.href})}},7544:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.serialize=t.getErrorCode=t.isValidCode=t.getMessageFromCode=t.JSON_RPC_SERVER_ERROR_MESSAGE=void 0;let s=r(5369),n="Unspecified error message.";function i(e,r=n){if(e&&Number.isInteger(e)){let r=e.toString();if(d(s.errorValues,r))return s.errorValues[r].message;if(e>=-32099&&e<=-32e3)return t.JSON_RPC_SERVER_ERROR_MESSAGE}return r}function a(e){if(!Number.isInteger(e))return!1;let t=e.toString();return!!(s.errorValues[t]||e>=-32099&&e<=-32e3)}function o(e){return e&&"object"==typeof e&&!Array.isArray(e)?Object.assign({},e):e}function d(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function c(e,t){return"object"==typeof e&&null!==e&&t in e&&"string"==typeof e[t]}t.JSON_RPC_SERVER_ERROR_MESSAGE="Unspecified server error.",t.getMessageFromCode=i,t.isValidCode=a,t.getErrorCode=function(e){var t;return"number"==typeof e?e:"object"==typeof e&&null!==e&&("number"==typeof e.code||"number"==typeof e.errorCode)?null!==(t=e.code)&&void 0!==t?t:e.errorCode:void 0},t.serialize=function(e,{shouldIncludeStack:t=!1}={}){let r={};return e&&"object"==typeof e&&!Array.isArray(e)&&d(e,"code")&&a(e.code)?(r.code=e.code,e.message&&"string"==typeof e.message?(r.message=e.message,d(e,"data")&&(r.data=e.data)):(r.message=i(r.code),r.data={originalError:o(e)})):(r.code=s.standardErrorCodes.rpc.internal,r.message=c(e,"message")?e.message:n,r.data={originalError:o(e)}),t&&(r.stack=c(e,"stack")?e.stack:void 0),r}},86739:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.determineMethodCategory=void 0;let r={handshake:["eth_requestAccounts"],sign:["eth_ecRecover","personal_sign","personal_ecRecover","eth_signTransaction","eth_sendTransaction","eth_signTypedData_v1","eth_signTypedData_v3","eth_signTypedData_v4","eth_signTypedData","wallet_addEthereumChain","wallet_switchEthereumChain","wallet_watchAsset","wallet_getCapabilities","wallet_sendCalls","wallet_showCallsStatus"],state:["eth_chainId","eth_accounts","eth_coinbase","net_version"],deprecated:["eth_sign","eth_signTypedData_v2"],unsupported:["eth_subscribe","eth_unsubscribe"],fetch:[]};t.determineMethodCategory=function(e){for(let t in r)if(r[t].includes(e))return t}},83546:(e,t)=>{"use strict";function r(){return e=>e}Object.defineProperty(t,"__esModule",{value:!0}),t.RegExpString=t.IntNumber=t.BigIntString=t.AddressString=t.HexString=t.OpaqueType=void 0,t.OpaqueType=r,t.HexString=r(),t.AddressString=r(),t.BigIntString=r(),t.IntNumber=function(e){return Math.floor(e)},t.RegExpString=r()},58661:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.areAddressArraysEqual=t.getFavicon=t.range=t.isBigNumber=t.ensureParsedJSONObject=t.ensureBigInt=t.ensureRegExpString=t.ensureIntNumber=t.ensureBuffer=t.ensureAddressString=t.ensureEvenLengthHexString=t.ensureHexString=t.isHexString=t.prepend0x=t.strip0x=t.has0xPrefix=t.hexStringFromIntNumber=t.intNumberFromHexString=t.bigIntStringFromBigInt=t.hexStringFromBuffer=t.hexStringToUint8Array=t.uint8ArrayToHex=t.randomBytesHex=void 0;let s=r(4248),n=r(83546),i=/^[0-9]*$/,a=/^[a-f0-9]*$/;function o(e){return[...e].map(e=>e.toString(16).padStart(2,"0")).join("")}function d(e){return e.startsWith("0x")||e.startsWith("0X")}function c(e){return d(e)?e.slice(2):e}function l(e){return d(e)?`0x${e.slice(2)}`:`0x${e}`}function h(e){if("string"!=typeof e)return!1;let t=c(e).toLowerCase();return a.test(t)}function u(e,t=!1){if("string"==typeof e){let r=c(e).toLowerCase();if(a.test(r))return(0,n.HexString)(t?`0x${r}`:r)}throw s.standardErrors.rpc.invalidParams(`"${String(e)}" is not a hexadecimal string`)}function p(e,t=!1){let r=u(e,!1);return r.length%2==1&&(r=(0,n.HexString)(`0${r}`)),t?(0,n.HexString)(`0x${r}`):r}function g(e){if("number"==typeof e&&Number.isInteger(e))return(0,n.IntNumber)(e);if("string"==typeof e){if(i.test(e))return(0,n.IntNumber)(Number(e));if(h(e))return(0,n.IntNumber)(Number(BigInt(p(e,!0))))}throw s.standardErrors.rpc.invalidParams(`Not an integer: ${String(e)}`)}function m(e){if(null==e||"function"!=typeof e.constructor)return!1;let{constructor:t}=e;return"function"==typeof t.config&&"number"==typeof t.EUCLID}t.randomBytesHex=function(e){return o(crypto.getRandomValues(new Uint8Array(e)))},t.uint8ArrayToHex=o,t.hexStringToUint8Array=function(e){return new Uint8Array(e.match(/.{1,2}/g).map(e=>parseInt(e,16)))},t.hexStringFromBuffer=function(e,t=!1){let r=e.toString("hex");return(0,n.HexString)(t?`0x${r}`:r)},t.bigIntStringFromBigInt=function(e){return(0,n.BigIntString)(e.toString(10))},t.intNumberFromHexString=function(e){return(0,n.IntNumber)(Number(BigInt(p(e,!0))))},t.hexStringFromIntNumber=function(e){return(0,n.HexString)(`0x${BigInt(e).toString(16)}`)},t.has0xPrefix=d,t.strip0x=c,t.prepend0x=l,t.isHexString=h,t.ensureHexString=u,t.ensureEvenLengthHexString=p,t.ensureAddressString=function(e){if("string"==typeof e){let t=c(e).toLowerCase();if(h(t)&&40===t.length)return(0,n.AddressString)(l(t))}throw s.standardErrors.rpc.invalidParams(`Invalid Ethereum address: ${String(e)}`)},t.ensureBuffer=function(e){if(Buffer.isBuffer(e))return e;if("string"==typeof e){if(h(e)){let t=p(e,!1);return Buffer.from(t,"hex")}return Buffer.from(e,"utf8")}throw s.standardErrors.rpc.invalidParams(`Not binary data: ${String(e)}`)},t.ensureIntNumber=g,t.ensureRegExpString=function(e){if(e instanceof RegExp)return(0,n.RegExpString)(e.toString());throw s.standardErrors.rpc.invalidParams(`Not a RegExp: ${String(e)}`)},t.ensureBigInt=function(e){if(null!==e&&("bigint"==typeof e||m(e)))return BigInt(e.toString(10));if("number"==typeof e)return BigInt(g(e));if("string"==typeof e){if(i.test(e))return BigInt(e);if(h(e))return BigInt(p(e,!0))}throw s.standardErrors.rpc.invalidParams(`Not an integer: ${String(e)}`)},t.ensureParsedJSONObject=function(e){if("string"==typeof e)return JSON.parse(e);if("object"==typeof e)return e;throw s.standardErrors.rpc.invalidParams(`Not a JSON string or an object: ${String(e)}`)},t.isBigNumber=m,t.range=function(e,t){return Array.from({length:t-e},(t,r)=>e+r)},t.getFavicon=function(){let e=document.querySelector('link[sizes="192x192"]')||document.querySelector('link[sizes="180x180"]')||document.querySelector('link[rel="icon"]')||document.querySelector('link[rel="shortcut icon"]'),{protocol:t,host:r}=document.location,s=e?e.getAttribute("href"):null;return!s||s.startsWith("javascript:")||s.startsWith("vbscript:")?null:s.startsWith("http://")||s.startsWith("https://")||s.startsWith("data:")?s:s.startsWith("//")?t+s:`${t}//${r}${s}`},t.areAddressArraysEqual=function(e,t){return e.length===t.length&&e.every((e,r)=>e===t[r])}},7638:(e,t,r)=>{"use strict";let s=r(55862);t.default=s.CoinbaseWalletSDK,r(55862)},80112:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SCWKeyManager=void 0;let s=r(73635),n=r(23711),i={storageKey:"ownPrivateKey",keyType:"private"},a={storageKey:"ownPublicKey",keyType:"public"},o={storageKey:"peerPublicKey",keyType:"public"};class d{constructor(){this.storage=new n.ScopedLocalStorage("CBWSDK","SCWKeyManager"),this.ownPrivateKey=null,this.ownPublicKey=null,this.peerPublicKey=null,this.sharedSecret=null}async getOwnPublicKey(){return await this.loadKeysIfNeeded(),this.ownPublicKey}async getSharedSecret(){return await this.loadKeysIfNeeded(),this.sharedSecret}async setPeerPublicKey(e){this.sharedSecret=null,this.peerPublicKey=e,await this.storeKey(o,e),await this.loadKeysIfNeeded()}async clear(){this.ownPrivateKey=null,this.ownPublicKey=null,this.peerPublicKey=null,this.sharedSecret=null,this.storage.removeItem(a.storageKey),this.storage.removeItem(i.storageKey),this.storage.removeItem(o.storageKey)}async generateKeyPair(){let e=await (0,s.generateKeyPair)();this.ownPrivateKey=e.privateKey,this.ownPublicKey=e.publicKey,await this.storeKey(i,e.privateKey),await this.storeKey(a,e.publicKey)}async loadKeysIfNeeded(){null===this.ownPrivateKey&&(this.ownPrivateKey=await this.loadKey(i)),null===this.ownPublicKey&&(this.ownPublicKey=await this.loadKey(a)),(null===this.ownPrivateKey||null===this.ownPublicKey)&&await this.generateKeyPair(),null===this.peerPublicKey&&(this.peerPublicKey=await this.loadKey(o)),null===this.sharedSecret&&null!==this.ownPrivateKey&&null!==this.peerPublicKey&&(this.sharedSecret=await (0,s.deriveSharedSecret)(this.ownPrivateKey,this.peerPublicKey))}async loadKey(e){let t=this.storage.getItem(e.storageKey);return t?(0,s.importKeyFromHexString)(e.keyType,t):null}async storeKey(e,t){let r=await (0,s.exportKeyToHexString)(e.keyType,t);this.storage.setItem(e.storageKey,r)}}t.SCWKeyManager=d},94043:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SCWSigner=void 0;let s=r(80112),n=r(34448),i=r(4248),a=r(58661),o=r(73635);class d{constructor(e){this.metadata=e.metadata,this.communicator=e.communicator,this.keyManager=new s.SCWKeyManager,this.stateManager=new n.SCWStateManager({appChainIds:this.metadata.appChainIds,updateListener:e.updateListener}),this.handshake=this.handshake.bind(this),this.request=this.request.bind(this),this.createRequestMessage=this.createRequestMessage.bind(this),this.decryptResponseMessage=this.decryptResponseMessage.bind(this)}async handshake(){let e=await this.createRequestMessage({handshake:{method:"eth_requestAccounts",params:this.metadata}}),t=await this.communicator.postRequestAndWaitForResponse(e);if("failure"in t.content)throw t.content.failure;let r=await (0,o.importKeyFromHexString)("public",t.sender);await this.keyManager.setPeerPublicKey(r);let s=await this.decryptResponseMessage(t);this.updateInternalState({method:"eth_requestAccounts"},s);let n=s.result;if("error"in n)throw n.error;return this.stateManager.accounts}async request(e){let t=this.tryLocalHandling(e);if(void 0!==t){if(t instanceof Error)throw t;return t}await this.communicator.waitForPopupLoaded();let r=await this.sendEncryptedRequest(e),s=await this.decryptResponseMessage(r);this.updateInternalState(e,s);let n=s.result;if("error"in n)throw n.error;return n.value}async disconnect(){this.stateManager.clear(),await this.keyManager.clear()}tryLocalHandling(e){var t;switch(e.method){case"wallet_switchEthereumChain":{let r=e.params;if(!r||!(null===(t=r[0])||void 0===t?void 0:t.chainId))throw i.standardErrors.rpc.invalidParams();let s=(0,a.ensureIntNumber)(r[0].chainId);return this.stateManager.switchChain(s)?null:void 0}case"wallet_getCapabilities":{let e=this.stateManager.walletCapabilities;if(!e)throw i.standardErrors.provider.unauthorized("No wallet capabilities found, please disconnect and reconnect");return e}default:return}}async sendEncryptedRequest(e){let t=await this.keyManager.getSharedSecret();if(!t)throw i.standardErrors.provider.unauthorized("No valid session found, try requestAccounts before other methods");let r=await (0,o.encryptContent)({action:e,chainId:this.stateManager.activeChain.id},t),s=await this.createRequestMessage({encrypted:r});return this.communicator.postRequestAndWaitForResponse(s)}async createRequestMessage(e){let t=await (0,o.exportKeyToHexString)("public",await this.keyManager.getOwnPublicKey());return{id:crypto.randomUUID(),sender:t,content:e,timestamp:new Date}}async decryptResponseMessage(e){let t=e.content;if("failure"in t)throw t.failure;let r=await this.keyManager.getSharedSecret();if(!r)throw i.standardErrors.provider.unauthorized("Invalid session");return(0,o.decryptContent)(t.encrypted,r)}updateInternalState(e,t){var r,s;let n=null===(r=t.data)||void 0===r?void 0:r.chains;n&&this.stateManager.updateAvailableChains(n);let i=null===(s=t.data)||void 0===s?void 0:s.capabilities;i&&this.stateManager.updateWalletCapabilities(i);let o=t.result;if(!("error"in o))switch(e.method){case"eth_requestAccounts":{let e=o.value;this.stateManager.updateAccounts(e);break}case"wallet_switchEthereumChain":{if(null!==o.value)return;let t=e.params,r=(0,a.ensureIntNumber)(t[0].chainId);this.stateManager.switchChain(r)}}}}t.SCWSigner=d},34448:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SCWStateManager=void 0;let s=r(23711),n="accounts",i="activeChain",a="availableChains",o="walletCapabilities";class d{get accounts(){return this._accounts}get activeChain(){return this._activeChain}get walletCapabilities(){return this._walletCapabilities}constructor(e){var t,r;this.storage=new s.ScopedLocalStorage("CBWSDK","SCWStateManager"),this.updateListener=e.updateListener,this.availableChains=this.loadItemFromStorage(a),this._walletCapabilities=this.loadItemFromStorage(o);let d=this.loadItemFromStorage(n),c=this.loadItemFromStorage(i);d&&this.updateListener.onAccountsUpdate({accounts:d,source:"storage"}),c&&this.updateListener.onChainUpdate({chain:c,source:"storage"}),this._accounts=d||[],this._activeChain=c||{id:null!==(r=null===(t=e.appChainIds)||void 0===t?void 0:t[0])&&void 0!==r?r:1}}updateAccounts(e){this._accounts=e,this.storeItemToStorage(n,e),this.updateListener.onAccountsUpdate({accounts:e,source:"wallet"})}switchChain(e){var t;let r=null===(t=this.availableChains)||void 0===t?void 0:t.find(t=>t.id===e);return!!r&&(r===this._activeChain||(this._activeChain=r,this.storeItemToStorage(i,r),this.updateListener.onChainUpdate({chain:r,source:"wallet"}),!0))}updateAvailableChains(e){if(!e||0===Object.keys(e).length)return;let t=Object.entries(e).map(([e,t])=>({id:Number(e),rpcUrl:t}));this.availableChains=t,this.storeItemToStorage(a,t),this.switchChain(this._activeChain.id)}updateWalletCapabilities(e){this._walletCapabilities=e,this.storeItemToStorage(o,e)}storeItemToStorage(e,t){this.storage.setItem(e,JSON.stringify(t))}loadItemFromStorage(e){let t=this.storage.getItem(e);return t?JSON.parse(t):void 0}clear(){this.storage.clear()}}t.SCWStateManager=d},59856:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createSigner=t.fetchSignerType=t.storeSignerType=t.loadSignerType=void 0;let s=r(94043),n=r(82561),i=r(4248),a=r(39430),o=r(23711),d="SignerType",c=new o.ScopedLocalStorage("CBWSDK","SignerConfigurator");async function l(e){let{communicator:t,metadata:r}=e;h(t,r).catch(()=>{});let s={id:crypto.randomUUID(),event:"selectSignerType",data:e.preference},{data:n}=await t.postRequestAndWaitForResponse(s);return n}async function h(e,t){await e.onMessage(({event:e})=>"WalletLinkSessionRequest"===e);let r=new n.WalletLinkSigner({metadata:t});e.postMessage({event:"WalletLinkUpdate",data:{session:r.getSession()}}),await r.handshake(),e.postMessage({event:"WalletLinkUpdate",data:{connected:!0}})}t.loadSignerType=function(){return c.getItem(d)},t.storeSignerType=function(e){c.setItem(d,e)},t.fetchSignerType=l,t.createSigner=function(e){let{signerType:t,metadata:r,communicator:o,updateListener:d}=e;switch(t){case"scw":return new s.SCWSigner({metadata:r,updateListener:d,communicator:o});case"walletlink":return new n.WalletLinkSigner({metadata:r,updateListener:d});case"extension":{let e=(0,a.getCoinbaseInjectedSigner)();if(!e)throw i.standardErrors.rpc.internal("injected signer not found");return e}}}},82561:function(e,t,r){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.WalletLinkSigner=void 0;let n=s(r(87152)),i=r(62806),a=r(74315),o=r(42089),d=r(15270),c=r(77352),l=r(4248),h=r(58661),u=r(23711),p="DefaultChainId",g="DefaultJsonRpcUrl";class m{constructor(e){var t,r;this._relay=null,this._addresses=[],this.hasMadeFirstChainChangedEmission=!1;let{appName:s,appLogoUrl:n}=e.metadata;this._appName=s,this._appLogoUrl=n,this._storage=new u.ScopedLocalStorage("walletlink",c.WALLETLINK_URL),this.updateListener=e.updateListener,this._relayEventManager=new a.RelayEventManager,this._jsonRpcUrlFromOpts="";let o=this._storage.getItem(i.LOCAL_STORAGE_ADDRESSES_KEY);if(o){let e=o.split(" ");""!==e[0]&&(this._addresses=e.map(e=>(0,h.ensureAddressString)(e)),null===(t=this.updateListener)||void 0===t||t.onAccountsUpdate({accounts:this._addresses,source:"storage"}))}this._storage.getItem(p)&&(null===(r=this.updateListener)||void 0===r||r.onChainUpdate({chain:{id:this.getChainId(),rpcUrl:this.jsonRpcUrl},source:"storage"}),this.hasMadeFirstChainChangedEmission=!0),this.initializeRelay()}getSession(){let{id:e,secret:t}=this.initializeRelay().getWalletLinkSession();return{id:e,secret:t}}async handshake(){return await this.request({method:"eth_requestAccounts"})}get selectedAddress(){return this._addresses[0]||void 0}get jsonRpcUrl(){var e;return null!==(e=this._storage.getItem(g))&&void 0!==e?e:this._jsonRpcUrlFromOpts}set jsonRpcUrl(e){this._storage.setItem(g,e)}updateProviderInfo(e,t){var r;this.jsonRpcUrl=e;let s=this.getChainId();this._storage.setItem(p,t.toString(10)),(0,h.ensureIntNumber)(t)===s&&this.hasMadeFirstChainChangedEmission||(null===(r=this.updateListener)||void 0===r||r.onChainUpdate({chain:{id:t,rpcUrl:e},source:"wallet"}),this.hasMadeFirstChainChangedEmission=!0)}async watchAsset(e,t,r,s,n,i){let a=this.initializeRelay(),d=await a.watchAsset(e,t,r,s,n,null==i?void 0:i.toString());return!(0,o.isErrorResponse)(d)&&!!d.result}async addEthereumChain(e,t,r,s,n,i){var a,d;if((0,h.ensureIntNumber)(e)===this.getChainId())return!1;let c=this.initializeRelay();this._isAuthorized()||await c.requestEthereumAccounts();let l=await c.addEthereumChain(e.toString(),t,n,r,s,i);return!(0,o.isErrorResponse)(l)&&((null===(a=l.result)||void 0===a?void 0:a.isApproved)===!0&&this.updateProviderInfo(t[0],e),(null===(d=l.result)||void 0===d?void 0:d.isApproved)===!0)}async switchEthereumChain(e){let t=this.initializeRelay(),r=await t.switchEthereumChain(e.toString(10),this.selectedAddress||void 0);if((0,o.isErrorResponse)(r)){if(!r.errorCode)return;if(r.errorCode===l.standardErrorCodes.provider.unsupportedChain)throw l.standardErrors.provider.unsupportedChain();throw l.standardErrors.provider.custom({message:r.errorMessage,code:r.errorCode})}let s=r.result;s.isApproved&&s.rpcUrl.length>0&&this.updateProviderInfo(s.rpcUrl,e)}async disconnect(){this._relay&&this._relay.resetAndReload(),this._storage.clear()}async request(e){try{return this._request(e).catch(e=>{throw e})}catch(e){return Promise.reject(e)}}async _request(e){if(!e||"object"!=typeof e||Array.isArray(e))throw l.standardErrors.rpc.invalidRequest({message:"Expected a single, non-array, object argument.",data:e});let{method:t,params:r}=e;if("string"!=typeof t||0===t.length)throw l.standardErrors.rpc.invalidRequest({message:"'args.method' must be a non-empty string.",data:e});if(void 0!==r&&!Array.isArray(r)&&("object"!=typeof r||null===r))throw l.standardErrors.rpc.invalidRequest({message:"'args.params' must be an object or array if provided.",data:e});let s=void 0===r?[]:r,n=this._relayEventManager.makeRequestId();return(await this._sendRequestAsync({method:t,params:s,jsonrpc:"2.0",id:n})).result}_setAddresses(e,t){var r;if(!Array.isArray(e))throw Error("addresses is not an array");let s=e.map(e=>(0,h.ensureAddressString)(e));JSON.stringify(s)!==JSON.stringify(this._addresses)&&(this._addresses=s,null===(r=this.updateListener)||void 0===r||r.onAccountsUpdate({accounts:s,source:"wallet"}),this._storage.setItem(i.LOCAL_STORAGE_ADDRESSES_KEY,s.join(" ")))}_sendRequestAsync(e){return new Promise((t,r)=>{try{let r=this._handleSynchronousMethods(e);if(void 0!==r)return t({jsonrpc:"2.0",id:e.id,result:r})}catch(e){return r(e)}this._handleAsynchronousMethods(e).then(r=>r&&t(Object.assign(Object.assign({},r),{id:e.id}))).catch(e=>r(e))})}_handleSynchronousMethods(e){let{method:t}=e;switch(t){case"eth_accounts":return this._eth_accounts();case"eth_coinbase":return this._eth_coinbase();case"net_version":return this._net_version();case"eth_chainId":return this._eth_chainId();default:return}}async _handleAsynchronousMethods(e){let{method:t}=e,r=e.params||[];switch(t){case"eth_requestAccounts":return this._eth_requestAccounts();case"eth_sign":return this._eth_sign(r);case"eth_ecRecover":return this._eth_ecRecover(r);case"personal_sign":return this._personal_sign(r);case"personal_ecRecover":return this._personal_ecRecover(r);case"eth_signTransaction":return this._eth_signTransaction(r);case"eth_sendRawTransaction":return this._eth_sendRawTransaction(r);case"eth_sendTransaction":return this._eth_sendTransaction(r);case"eth_signTypedData_v1":return this._eth_signTypedData_v1(r);case"eth_signTypedData_v2":default:return this._throwUnsupportedMethodError();case"eth_signTypedData_v3":return this._eth_signTypedData_v3(r);case"eth_signTypedData_v4":case"eth_signTypedData":return this._eth_signTypedData_v4(r);case"wallet_addEthereumChain":return this._wallet_addEthereumChain(r);case"wallet_switchEthereumChain":return this._wallet_switchEthereumChain(r);case"wallet_watchAsset":return this._wallet_watchAsset(r)}}_isKnownAddress(e){try{let t=(0,h.ensureAddressString)(e);return this._addresses.map(e=>(0,h.ensureAddressString)(e)).includes(t)}catch(e){}return!1}_ensureKnownAddress(e){if(!this._isKnownAddress(e))throw Error("Unknown Ethereum address")}_prepareTransactionParams(e){let t=e.from?(0,h.ensureAddressString)(e.from):this.selectedAddress;if(!t)throw Error("Ethereum address is unavailable");this._ensureKnownAddress(t);let r=e.to?(0,h.ensureAddressString)(e.to):null,s=null!=e.value?(0,h.ensureBigInt)(e.value):BigInt(0),n=e.data?(0,h.ensureBuffer)(e.data):Buffer.alloc(0),i=null!=e.nonce?(0,h.ensureIntNumber)(e.nonce):null,a=null!=e.gasPrice?(0,h.ensureBigInt)(e.gasPrice):null,o=null!=e.maxFeePerGas?(0,h.ensureBigInt)(e.maxFeePerGas):null;return{fromAddress:t,toAddress:r,weiValue:s,data:n,nonce:i,gasPriceInWei:a,maxFeePerGas:o,maxPriorityFeePerGas:null!=e.maxPriorityFeePerGas?(0,h.ensureBigInt)(e.maxPriorityFeePerGas):null,gasLimit:null!=e.gas?(0,h.ensureBigInt)(e.gas):null,chainId:e.chainId?(0,h.ensureIntNumber)(e.chainId):this.getChainId()}}_isAuthorized(){return this._addresses.length>0}_requireAuthorization(){if(!this._isAuthorized())throw l.standardErrors.provider.unauthorized({})}_throwUnsupportedMethodError(){throw l.standardErrors.provider.unsupportedMethod({})}async _signEthereumMessage(e,t,r,s){this._ensureKnownAddress(t);try{let n=this.initializeRelay(),i=await n.signEthereumMessage(e,t,r,s);if((0,o.isErrorResponse)(i))throw Error(i.errorMessage);return{jsonrpc:"2.0",id:0,result:i.result}}catch(e){if("string"==typeof e.message&&e.message.match(/(denied|rejected)/i))throw l.standardErrors.provider.userRejectedRequest("User denied message signature");throw e}}async _ethereumAddressFromSignedMessage(e,t,r){let s=this.initializeRelay(),n=await s.ethereumAddressFromSignedMessage(e,t,r);if((0,o.isErrorResponse)(n))throw Error(n.errorMessage);return{jsonrpc:"2.0",id:0,result:n.result}}_eth_accounts(){return[...this._addresses]}_eth_coinbase(){return this.selectedAddress||null}_net_version(){return this.getChainId().toString(10)}_eth_chainId(){return(0,h.hexStringFromIntNumber)(this.getChainId())}getChainId(){let e=this._storage.getItem(p);if(!e)return(0,h.ensureIntNumber)(1);let t=parseInt(e,10);return(0,h.ensureIntNumber)(t)}async _eth_requestAccounts(){let e;if(this._isAuthorized())return Promise.resolve({jsonrpc:"2.0",id:0,result:this._addresses});try{let t=this.initializeRelay();if(e=await t.requestEthereumAccounts(),(0,o.isErrorResponse)(e))throw Error(e.errorMessage)}catch(e){if("string"==typeof e.message&&e.message.match(/(denied|rejected)/i))throw l.standardErrors.provider.userRejectedRequest("User denied account authorization");throw e}if(!e.result)throw Error("accounts received is empty");return this._setAddresses(e.result),{jsonrpc:"2.0",id:0,result:this._addresses}}_eth_sign(e){this._requireAuthorization();let t=(0,h.ensureAddressString)(e[0]),r=(0,h.ensureBuffer)(e[1]);return this._signEthereumMessage(r,t,!1)}_eth_ecRecover(e){let t=(0,h.ensureBuffer)(e[0]),r=(0,h.ensureBuffer)(e[1]);return this._ethereumAddressFromSignedMessage(t,r,!1)}_personal_sign(e){this._requireAuthorization();let t=(0,h.ensureBuffer)(e[0]),r=(0,h.ensureAddressString)(e[1]);return this._signEthereumMessage(t,r,!0)}_personal_ecRecover(e){let t=(0,h.ensureBuffer)(e[0]),r=(0,h.ensureBuffer)(e[1]);return this._ethereumAddressFromSignedMessage(t,r,!0)}async _eth_signTransaction(e){this._requireAuthorization();let t=this._prepareTransactionParams(e[0]||{});try{let e=this.initializeRelay(),r=await e.signEthereumTransaction(t);if((0,o.isErrorResponse)(r))throw Error(r.errorMessage);return{jsonrpc:"2.0",id:0,result:r.result}}catch(e){if("string"==typeof e.message&&e.message.match(/(denied|rejected)/i))throw l.standardErrors.provider.userRejectedRequest("User denied transaction signature");throw e}}async _eth_sendRawTransaction(e){let t=(0,h.ensureBuffer)(e[0]),r=this.initializeRelay(),s=await r.submitEthereumTransaction(t,this.getChainId());if((0,o.isErrorResponse)(s))throw Error(s.errorMessage);return{jsonrpc:"2.0",id:0,result:s.result}}async _eth_sendTransaction(e){this._requireAuthorization();let t=this._prepareTransactionParams(e[0]||{});try{let e=this.initializeRelay(),r=await e.signAndSubmitEthereumTransaction(t);if((0,o.isErrorResponse)(r))throw Error(r.errorMessage);return{jsonrpc:"2.0",id:0,result:r.result}}catch(e){if("string"==typeof e.message&&e.message.match(/(denied|rejected)/i))throw l.standardErrors.provider.userRejectedRequest("User denied transaction signature");throw e}}async _eth_signTypedData_v1(e){this._requireAuthorization();let t=(0,h.ensureParsedJSONObject)(e[0]),r=(0,h.ensureAddressString)(e[1]);this._ensureKnownAddress(r);let s=n.default.hashForSignTypedDataLegacy({data:t}),i=JSON.stringify(t,null,2);return this._signEthereumMessage(s,r,!1,i)}async _eth_signTypedData_v3(e){this._requireAuthorization();let t=(0,h.ensureAddressString)(e[0]),r=(0,h.ensureParsedJSONObject)(e[1]);this._ensureKnownAddress(t);let s=n.default.hashForSignTypedData_v3({data:r}),i=JSON.stringify(r,null,2);return this._signEthereumMessage(s,t,!1,i)}async _eth_signTypedData_v4(e){this._requireAuthorization();let t=(0,h.ensureAddressString)(e[0]),r=(0,h.ensureParsedJSONObject)(e[1]);this._ensureKnownAddress(t);let s=n.default.hashForSignTypedData_v4({data:r}),i=JSON.stringify(r,null,2);return this._signEthereumMessage(s,t,!1,i)}async _wallet_addEthereumChain(e){var t,r,s,n;let i=e[0];if((null===(t=i.rpcUrls)||void 0===t?void 0:t.length)===0)return{jsonrpc:"2.0",id:0,error:{code:2,message:"please pass in at least 1 rpcUrl"}};if(!i.chainName||""===i.chainName.trim())throw l.standardErrors.rpc.invalidParams("chainName is a required field");if(!i.nativeCurrency)throw l.standardErrors.rpc.invalidParams("nativeCurrency is a required field");let a=parseInt(i.chainId,16);return await this.addEthereumChain(a,null!==(r=i.rpcUrls)&&void 0!==r?r:[],null!==(s=i.blockExplorerUrls)&&void 0!==s?s:[],i.chainName,null!==(n=i.iconUrls)&&void 0!==n?n:[],i.nativeCurrency)?{jsonrpc:"2.0",id:0,result:null}:{jsonrpc:"2.0",id:0,error:{code:2,message:"unable to add ethereum chain"}}}async _wallet_switchEthereumChain(e){let t=e[0];return await this.switchEthereumChain(parseInt(t.chainId,16)),{jsonrpc:"2.0",id:0,result:null}}async _wallet_watchAsset(e){let t=Array.isArray(e)?e[0]:e;if(!t.type)throw l.standardErrors.rpc.invalidParams("Type is required");if((null==t?void 0:t.type)!=="ERC20")throw l.standardErrors.rpc.invalidParams(`Asset of type '${t.type}' is not supported`);if(!(null==t?void 0:t.options))throw l.standardErrors.rpc.invalidParams("Options are required");if(!(null==t?void 0:t.options.address))throw l.standardErrors.rpc.invalidParams("Address is required");let r=this.getChainId(),{address:s,symbol:n,image:i,decimals:a}=t.options;return{jsonrpc:"2.0",id:0,result:await this.watchAsset(t.type,s,n,a,i,r)}}initializeRelay(){if(!this._relay){let e=new d.WalletLinkRelay({linkAPIUrl:c.WALLETLINK_URL,storage:this._storage});e.setAppInfo(this._appName,this._appLogoUrl),e.attachUI(),e.setAccountsCallback((