starknetkit
Version:
<!-- logo --> <p align="center"> <img width='300' src="https://starknetkit-website-git-blo-1541-argentlabs.vercel.app/starknetKit-logo.svg"> </p>
2 lines (1 loc) • 3.81 kB
JavaScript
;Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const g=require("./core-aa9478e0.cjs"),a=require("./Modal-47eb0709.cjs"),$=require("./trpc-6791c117.cjs"),c=require("./index-d90e48e0.cjs");require("starknet");require("./connector-391e8980.cjs");const D=require("./argentX.cjs"),E=require("./braavosMobile.cjs"),I=require("./index-dd6c072c.cjs"),F=require("./braavos.cjs"),W=require("./fordefi.cjs"),k=require("./keplr.cjs"),b=require("./metamask.cjs"),m=require("./lastConnected-2e5632be.cjs");require("./index-aa5c5f7b.cjs");require("./___vite-browser-external_commonjs-proxy-1b5efd4f.cjs");const R=()=>{const r=navigator.userAgent.toLowerCase(),s=/android|webos|iphone|ipad|ipod|blackberry|windows phone/.test(r),o="ontouchstart"in window||navigator.maxTouchPoints>0,y=window.innerWidth<=768;return s&&(o||y)},T=()=>typeof window<"u"?/^((?!chrome|android).)*safari/i.test(navigator.userAgent):!1,U=({argentMobileOptions:r,webWalletUrl:s})=>{const o=[];return o.push(new D.ArgentX),T()||(o.push(new F.Braavos),b.MetaMask.isWalletInjected()&&o.push(new b.MetaMask),W.Fordefi.isWalletInjected()&&o.push(new W.Fordefi),k.Keplr.isWalletInjected()&&o.push(new k.Keplr)),o.push(new I.ControllerConnector),R()&&o.push(new E.BraavosMobileBaseConnector),o},j=r=>({starknetkitConnectModal:async()=>await M({...r,skipEmit:!0,resultType:void 0})});let n=null;const M=async({modalMode:r="canAsk",storeVersion:s=c.getStoreVersionFromBrowser(),modalTheme:o,dappName:y,resultType:C="wallet",skipEmit:q=!1,...i})=>{const{webWalletUrl:L=$.DEFAULT_WEBWALLET_URL,argentMobileOptions:v}=i,{connectors:u}=i;n=null;const w=!u||u.length===0?U({argentMobileOptions:v,webWalletUrl:L}):u;q&&w?.map(e=>{c.isCompoundConnector(e)&&"connector"in e&&"_options"in e.connector&&(e.connector._options.shouldEmit=!1)});const f=localStorage.getItem("starknetLastConnectedWallet");if(r==="neverAsk")try{const e=c.findConnectorById(w,f);let d=null;return e&&C==="wallet"&&(d=await e.connect({onlyQRCode:!0})),{connector:e,wallet:e?.wallet??null,connectorData:d}}catch(e){throw m.removeStarknetLastConnectedWallet(),new Error(e)}const h=await g.main.getAvailableWallets(i);if(r==="canAsk"&&f&&((await g.main.getAuthorizedWallets(i)).find(t=>t.id===f)??h.length===1?h[0]:void 0)){const t=c.findConnectorById(w,f);let l=null;return C==="wallet"&&(l=await t?.connect({onlyQRCode:!0})??null),t&&(n=t),{connector:n,connectorData:l,wallet:t?.wallet??null}}const S=(await g.main.getDiscoveryWallets(i)).map(e=>e.id.toLowerCase()==="argentx"?{...e,name:"Ready Wallet (formerly Argent)"}:e),A=c.mapModalWallets({availableConnectors:w,installedWallets:h,discoveryWallets:S,storeVersion:s,customOrder:u?u?.length>0:!1});return new Promise((e,d)=>{const t=new a.Modal({target:a.getModalTarget(),props:{dappName:y,callback:async(l,B=!1)=>{try{if(!l)throw new Error("Connector error");if(t.$set({selectedWallet:l}),!l.installed){t.$set({layout:a.Layout.download});return}if(n=c.extractConnector(l.connector,B),C==="wallet"){n instanceof c.ArgentMobileBaseConnector?t.$set({layout:a.Layout.qrCode}):t.$set({layout:a.Layout.connecting});const p=await n?.connect({onlyQRCode:!0})??null;n!==null&&m.setStarknetLastConnectedWallet(n.id),e({connector:n,connectorData:p,wallet:n?.wallet??null}),t.$set({layout:a.Layout.success}),setTimeout(()=>t.$destroy(),500)}else e({connector:n,wallet:null,connectorData:null}),t.$destroy()}catch(p){[a.Layout.connecting,a.Layout.qrCode].includes(t.getLayout())?t.$set({layout:a.Layout.loginFailure}):d(p)}},theme:o==="system"?null:o??null,modalWallets:A}})})},_=()=>n?n.wallet:null,x=async(r={})=>(m.removeStarknetLastConnectedWallet(),n&&await n.disconnect(),n=null,g.main.disconnect(r));exports.connect=M;exports.disconnect=x;exports.getSelectedConnectorWallet=_;exports.useStarknetkitConnectModal=j;