@wallet-ui/core
Version:
Wallet UI core
22 lines (17 loc) • 4.99 kB
JavaScript
this.globalThis = this.globalThis || {};
this.globalThis.solanaWeb3 = (function (exports) {
'use strict';
var A=Object.defineProperty;var O=(e,t,r)=>t in e?A(e,t,{enumerable:true,configurable:true,writable:true,value:r}):e[t]=r;var C=(e,t,r)=>O(e,t+"",r);function x(e,{id:t,label:r,url:o}){var n,l;return typeof e=="string"?{id:t,label:r,url:e}:{id:t,label:(n=e.label)!=null?n:r,url:(l=e.url)!=null?l:o}}function Y(e={}){return x(e,{id:"solana:devnet",label:"Devnet",url:"devnet"})}function B(e={}){return x(e,{id:"solana:localnet",label:"Localnet",url:"localnet"})}function J(e={}){return x(e,{id:"solana:mainnet",label:"Mainnet",url:"mainnet"})}function q(e={}){return x(e,{id:"solana:testnet",label:"Testnet",url:"testnet"})}var i=[],c=0,E=4,g=0,v=e=>{let t=[],r={get(){return r.lc||r.listen(()=>{})(),r.value},lc:0,listen(o){return r.lc=t.push(o),()=>{for(let l=c+E;l<i.length;)i[l]===o?i.splice(l,E):l+=E;let n=t.indexOf(o);~n&&(t.splice(n,1),--r.lc||r.off());}},notify(o,n){g++;let l=!i.length;for(let a of t)i.push(a,r.value,o,n);if(l){for(c=0;c<i.length;c+=E)i[c](i[c+1],i[c+2],i[c+3]);i.length=0;}},off(){},set(o){let n=r.value;n!==o&&(r.value=o,r.notify(n));},subscribe(o){let n=r.listen(o);return o(r.value),n},value:e};return r};var I=5,y=6,T=10,D=(e,t,r,o)=>(e.events=e.events||{},e.events[r+T]||(e.events[r+T]=o(n=>{e.events[r].reduceRight((l,a)=>(a(l),l),{shared:{},...n});})),e.events[r]=e.events[r]||[],e.events[r].push(t),()=>{let n=e.events[r],l=n.indexOf(t);n.splice(l,1),n.length||(delete e.events[r],e.events[r+T](),delete e.events[r+T]);});var N=1e3,S=(e,t)=>D(e,o=>{let n=t(o);n&&e.events[y].push(n);},I,o=>{let n=e.listen;e.listen=(...a)=>(!e.lc&&!e.active&&(e.active=true,o()),n(...a));let l=e.off;return e.events[y]=[],e.off=()=>{l(),setTimeout(()=>{if(e.active&&!e.lc){e.active=false;for(let a of e.events[y])a();e.events[y]=[];}},N);},()=>{e.listen=n,e.off=l;}});var _=(e,t,r)=>{Array.isArray(e)||(e=[e]);let o,n,l=()=>{if(n===g)return;n=g;let u=e.map(s=>s.get());if(!o||u.some((s,b)=>s!==o[b])){o=u;let s=t(...u);s&&s.then&&s.t?s.then(b=>{o===u&&a.set(b);}):(a.set(s),n=g);}},a=v(void 0),m=a.get;a.get=()=>(l(),m());let f=l;return S(a,()=>{let u=e.map(s=>s.listen(f));return l(),()=>{for(let s of u)s();}}),a},L=(e,t)=>_(e,t);var w=e=>e,p={},P={addEventListener(){},removeEventListener(){}};function R(){try{return typeof localStorage<"u"}catch{return false}}R()&&(p=localStorage);var K={addEventListener(e,t,r){window.addEventListener("storage",t),window.addEventListener("pageshow",r);},removeEventListener(e,t,r){window.removeEventListener("storage",t),window.removeEventListener("pageshow",r);}};typeof window<"u"&&(P=K);function M(e,t=void 0,r={}){let o=r.encode||w,n=r.decode||w,l=v(t),a=l.set;l.set=f=>{let u=o(f);typeof u>"u"?delete p[e]:p[e]=u,a(f);};function m(f){f.key===e?f.newValue===null?a(t):a(n(f.newValue)):p[e]||a(t);}function d(){l.set(p[e]?n(p[e]):t);}return S(l,()=>{if(d(),r.listen!==false)return P.addEventListener(e,m,d),()=>{P.removeEventListener(e,m,d);}}),l}var h=class{constructor(t,r){this.key=t;this.initial=r;C(this,"atom");this.atom=M(t,r,{decode:JSON.parse,encode:JSON.stringify});}get(){return this.atom.get()}set(t){this.atom.set(t);}get value(){return L(this.atom,t=>t)}};function U({initial:e,key:t}){return new h(t,e)}function Ee({initial:e,key:t}={}){return U({initial:e,key:t!=null?t:"wallet-ui:account"})}function he({initial:e,key:t}={}){return U({initial:e!=null?e:"solana:devnet",key:t!=null?t:"wallet-ui:cluster"})}var k=["solana","solscan","orb"];function be({network:e,path:t,provider:r}){if(!(t.startsWith("/address")||t.startsWith("/block")||t.startsWith("/tx")))throw new Error("Invalid path. Must be /address/{address}, /block/{id}, or /tx/{signature}.");if(!k.includes(r))throw new Error(`Invalid provider. Must be one of ${k.join(", ")}.`);let o=new URL(W(r));o.pathname=t;let n=G(e);return n.cluster.length&&o.searchParams.set("cluster",n.cluster),n.customUrl.length&&o.searchParams.set("customUrl",n.customUrl),o.toString()}function W(e){switch(e){case "orb":return "https://orbmarkets.io";case "solscan":return "https://solscan.io";default:return "https://explorer.solana.com"}}function G(e){switch(e.id){case "solana:devnet":return {cluster:"devnet",customUrl:""};case "solana:localnet":return {cluster:"custom",customUrl:e.url};case "solana:testnet":return {cluster:"testnet",customUrl:""};default:return {cluster:"",customUrl:""}}}function Pe(e){e&&(typeof globalThis>"u"||!globalThis.navigator||!globalThis.navigator.clipboard||!globalThis.navigator.clipboard.writeText||globalThis.navigator.clipboard.writeText(e));}
exports.Storage = h;
exports.createSolanaDevnet = Y;
exports.createSolanaLocalnet = B;
exports.createSolanaMainnet = J;
exports.createSolanaTestnet = q;
exports.createStorage = U;
exports.createStorageAccount = Ee;
exports.createStorageCluster = he;
exports.explorerProviders = k;
exports.getExplorerUrl = be;
exports.handleCopyText = Pe;
return exports;
})({});