graz 0.1.1 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -28,12 +28,15 @@ declare enum WalletType {
28
28
  WC_LEAP_MOBILE = "wc_leap_mobile",
29
29
  WC_COSMOSTATION_MOBILE = "wc_cosmostation_mobile",
30
30
  METAMASK_SNAP_LEAP = "metamask_snap_leap",
31
- STATION = "station"
31
+ STATION = "station",
32
+ XDEFI = "xdefi"
32
33
  }
33
34
  declare const WALLET_TYPES: WalletType[];
34
35
  type Wallet = Pick<Keplr, "enable" | "getKey" | "getOfflineSigner" | "getOfflineSignerAuto" | "getOfflineSignerOnlyAmino" | "experimentalSuggestChain" | "signDirect" | "signAmino"> & {
36
+ signArbitrary?: Keplr["signArbitrary"];
35
37
  subscription?: (reconnect: () => void) => () => void;
36
38
  init?: () => Promise<unknown>;
39
+ disable?: (chainIds?: string | undefined) => Promise<void>;
37
40
  };
38
41
  type SignDirectParams = Parameters<Wallet["signDirect"]>;
39
42
  type SignAminoParams = Parameters<Wallet["signAmino"]>;
package/dist/index.d.ts CHANGED
@@ -28,12 +28,15 @@ declare enum WalletType {
28
28
  WC_LEAP_MOBILE = "wc_leap_mobile",
29
29
  WC_COSMOSTATION_MOBILE = "wc_cosmostation_mobile",
30
30
  METAMASK_SNAP_LEAP = "metamask_snap_leap",
31
- STATION = "station"
31
+ STATION = "station",
32
+ XDEFI = "xdefi"
32
33
  }
33
34
  declare const WALLET_TYPES: WalletType[];
34
35
  type Wallet = Pick<Keplr, "enable" | "getKey" | "getOfflineSigner" | "getOfflineSignerAuto" | "getOfflineSignerOnlyAmino" | "experimentalSuggestChain" | "signDirect" | "signAmino"> & {
36
+ signArbitrary?: Keplr["signArbitrary"];
35
37
  subscription?: (reconnect: () => void) => () => void;
36
38
  init?: () => Promise<unknown>;
39
+ disable?: (chainIds?: string | undefined) => Promise<void>;
37
40
  };
38
41
  type SignDirectParams = Parameters<Wallet["signDirect"]>;
39
42
  type SignAminoParams = Parameters<Wallet["signAmino"]>;
package/dist/index.js CHANGED
@@ -3,7 +3,7 @@
3
3
  var encoding = require('@cosmjs/encoding');
4
4
  var zustand = require('zustand');
5
5
  var middleware = require('zustand/middleware');
6
- var Pt = require('long');
6
+ var Bt = require('long');
7
7
  var signClient = require('@walletconnect/sign-client');
8
8
  var utils = require('@walletconnect/utils');
9
9
  var reactQuery = require('@tanstack/react-query');
@@ -16,74 +16,74 @@ var jsxRuntime = require('react/jsx-runtime');
16
16
 
17
17
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
18
18
 
19
- var Pt__default = /*#__PURE__*/_interopDefault(Pt);
19
+ var Bt__default = /*#__PURE__*/_interopDefault(Bt);
20
20
 
21
- var Ot=Object.defineProperty,Mt=Object.defineProperties;var xt=Object.getOwnPropertyDescriptors;var ie=Object.getOwnPropertySymbols;var _e=Object.prototype.hasOwnProperty,Be=Object.prototype.propertyIsEnumerable;var Ne=(e,t,n)=>t in e?Ot(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,E=(e,t)=>{for(var n in t||(t={}))_e.call(t,n)&&Ne(e,n,t[n]);if(ie)for(var n of ie(t))Be.call(t,n)&&Ne(e,n,t[n]);return e},P=(e,t)=>Mt(e,xt(t));var De=(e,t)=>{var n={};for(var o in e)_e.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(e!=null&&ie)for(var o of ie(e))t.indexOf(o)<0&&Be.call(e,o)&&(n[o]=e[o]);return n};var l=(e,t,n)=>new Promise((o,r)=>{var i=c=>{try{s(n.next(c));}catch(u){r(u);}},a=c=>{try{s(n.throw(c));}catch(u){r(u);}},s=c=>c.done?o(c.value):Promise.resolve(c.value).then(i,a);s((n=n.apply(e,t)).next());});var J="graz-reconnect-session";var Ke=(m=>(m.KEPLR="keplr",m.LEAP="leap",m.VECTIS="vectis",m.COSMOSTATION="cosmostation",m.WALLETCONNECT="walletconnect",m.WC_KEPLR_MOBILE="wc_keplr_mobile",m.WC_LEAP_MOBILE="wc_leap_mobile",m.WC_COSMOSTATION_MOBILE="wc_cosmostation_mobile",m.METAMASK_SNAP_LEAP="metamask_snap_leap",m.STATION="station",m))(Ke||{}),Ue=["keplr","leap","vectis","cosmostation","walletconnect","wc_keplr_mobile","wc_leap_mobile","wc_cosmostation_mobile","metamask_snap_leap","station"];var vt={recentChainIds:null,chains:null,chainsConfig:null,multiChainFetchConcurrency:3,walletType:"keplr",walletConnect:{options:null,web3Modal:null},_notFoundFn:()=>null,_onReconnectFailed:()=>null,_reconnect:!1,_reconnectConnector:null},X={accounts:null,activeChainIds:null,status:"disconnected",wcSignClient:null},Rt={name:"graz-session",version:2,partialize:e=>({accounts:e.accounts,activeChainIds:e.activeChainIds}),storage:middleware.createJSONStorage(()=>sessionStorage)},kt={name:"graz-internal",partialize:e=>({recentChainIds:e.recentChainIds,_reconnect:e._reconnect,_reconnectConnector:e._reconnectConnector}),version:2},y=zustand.create(middleware.subscribeWithSelector(middleware.persist(()=>X,Rt))),d=zustand.create(middleware.subscribeWithSelector(middleware.persist(()=>vt,kt)));var re=()=>{if(typeof window.cosmostation.providers.keplr!="undefined"){let e=window.cosmostation.providers.keplr;return Object.assign(e,{subscription:o=>{let r=()=>{G(),o();};return window.cosmostation.cosmos.on("accountChanged",r),()=>{window.cosmostation.cosmos.off("accountChanged",r);}}})}throw d.getState()._notFoundFn(),new Error("window.cosmostation.providers.keplr is not defined")};var se=()=>{if(typeof window.keplr!="undefined"){let e=window.keplr;return Object.assign(e,{subscription:o=>{let r=()=>{G(),o();};return window.addEventListener("keplr_keystorechange",r),()=>{window.removeEventListener("keplr_keystorechange",r);}}})}throw d.getState()._notFoundFn(),new Error("window.keplr is not defined")};var ae=()=>{if(typeof window.leap!="undefined"){let e=window.leap;return Object.assign(e,{subscription:o=>{let r=()=>{G(),o();};return window.addEventListener("leap_keystorechange",r),()=>{window.removeEventListener("leap_keystorechange",r);}}})}throw d.getState()._notFoundFn(),new Error("window.leap is not defined")};var Fe=e=>{let t=window.ethereum;if(t&&e){let n=()=>l(void 0,null,function*(){return yield t.request({method:"wallet_getSnaps"})}),o=g=>l(void 0,null,function*(){try{let A=yield n();return Object.values(A).find(M=>M.id===e.id&&(!g||M.version===g))}catch(A){return}}),r=()=>l(void 0,null,function*(){yield t.request({method:"wallet_requestSnaps",params:{[e.id]:e.params||{}}});}),i=()=>l(void 0,null,function*(){var _;let g=yield t.request({method:"web3_clientVersion"});if(!g.includes("MetaMask"))throw new Error("Metamask is not installed");let M=(_=g.split("MetaMask/v")[1])==null?void 0:_.split(".")[0];if(!(Number(M)>=11))throw new Error("Metamask Snap is not supported in this version");return (yield o())||(yield r()),!0}),a=g=>l(void 0,null,function*(){(yield o())||(yield r());}),s=(g,A,M)=>l(void 0,null,function*(){let R=yield t.request({method:"wallet_invokeSnap",params:{snapId:e.id,request:{method:"signDirect",params:{chainId:g,signerAddress:A,signDoc:M}}}}),k=M.accountNumber,_=new Pt__default.default(k.low,k.high,k.unsigned);return {signature:R.signature,signed:P(E({},R.signed),{accountNumber:`${_.toString()}`,authInfoBytes:new Uint8Array(Object.values(R.signed.authInfoBytes)),bodyBytes:new Uint8Array(Object.values(R.signed.bodyBytes))})}}),c=(g,A,M)=>l(void 0,null,function*(){return yield t.request({method:"wallet_invokeSnap",params:{snapId:e.id,request:{method:"signAmino",params:{chainId:g,signerAddress:A,signDoc:M}}}})}),u=g=>l(void 0,null,function*(){let A=yield t.request({method:"wallet_invokeSnap",params:{snapId:e.id,request:{method:"getKey",params:{chainId:g}}}});if(!A)throw new Error("No response from Metamask");return A.pubKey=Uint8Array.from(Object.values(A.pubkey)),delete A.pubkey,E({},A)}),m=g=>l(void 0,null,function*(){let A=yield u(g);return {address:A.bech32Address,algo:A.algo,pubkey:A.pubKey}}),C=(...g)=>l(void 0,null,function*(){let[A,M,R,k]=g;return yield c(A,M,R)}),w=(...g)=>l(void 0,null,function*(){let[A,M,R]=g;return yield s(A,M,R)}),S=g=>({getAccounts:()=>l(void 0,null,function*(){return [yield m(g)]}),signDirect:(A,M)=>w(g,A,M)}),I=g=>({getAccounts:()=>l(void 0,null,function*(){return [yield m(g)]}),signAmino:(A,M)=>C(g,A,M)});return {enable:a,experimentalSuggestChain:(...g)=>l(void 0,null,function*(){yield i(),yield t.request({method:"wallet_invokeSnap",params:{snapId:e.id,request:{method:"suggestChain",params:{chainInfo:g[0]}}}});}),getKey:u,getOfflineSigner:g=>({getAccounts:()=>l(void 0,null,function*(){return [yield m(g)]}),signDirect:(A,M)=>w(g,A,M),signAmino:(A,M)=>C(g,A,M)}),getOfflineSignerAuto:g=>l(void 0,null,function*(){return (yield u(g)).isNanoLedger?I(g):S(g)}),getOfflineSignerOnlyAmino:I,init:i,signAmino:C,signDirect:w}}throw d.getState()._notFoundFn(),new Error("window.ethereum is not defined")};var ze=()=>Fe({id:"npm:@leapwallet/metamask-cosmos-snap"});var ce=()=>{if(typeof window.vectis!="undefined"){let e=window.vectis.cosmos;return {enable:s=>e.enable(s),getOfflineSigner:s=>e.getOfflineSigner(s),getOfflineSignerAuto:s=>e.getOfflineSignerAuto(s),getKey:s=>l(void 0,null,function*(){let c=yield e.getKey(s);return {address:encoding.fromBech32(c.address).data,algo:c.algo,bech32Address:c.address,name:c.name,pubKey:c.pubKey,isKeystone:!1,isNanoLedger:c.isNanoLedger}}),subscription:s=>{let c=()=>{G(),s();};return window.addEventListener("vectis_accountChanged",c),()=>{window.removeEventListener("vectis_accountChanged",c);}},getOfflineSignerOnlyAmino:(...s)=>e.getOfflineSignerAmino(...s),experimentalSuggestChain:(...s)=>l(void 0,null,function*(){let[c]=s,u=P(E({},c),{rpcUrl:c.rpc,restUrl:c.rest,prettyName:c.chainName.replace(" ",""),bech32Prefix:c.bech32Config.bech32PrefixAccAddr});return e.suggestChains([u])}),signDirect:(...s)=>l(void 0,null,function*(){var m;let{1:c,2:u}=s;return e.signDirect(c,{bodyBytes:u.bodyBytes||Uint8Array.from([]),authInfoBytes:u.authInfoBytes||Uint8Array.from([]),accountNumber:Pt__default.default.fromString(((m=u.accountNumber)==null?void 0:m.toString())||"",!1),chainId:u.chainId||""})}),signAmino:(...s)=>l(void 0,null,function*(){let{1:c,2:u}=s;return e.signAmino(c,u)})}}throw d.getState()._notFoundFn(),new Error("window.vectis is not defined")};var z=()=>typeof window!="undefined"?!!(window.matchMedia("(pointer:coarse)").matches||/Android|webOS|iPhone|iPad|iPod|BlackBerry|Opera Mini/u.test(navigator.userAgent)):!1,Qe=()=>z()&&navigator.userAgent.toLowerCase().includes("android"),je=()=>z()&&(navigator.userAgent.toLowerCase().includes("iphone")||navigator.userAgent.toLowerCase().includes("ipad"));var $e=(e,t,n=new Error("Promise timed out"))=>{let o=new Promise((r,i)=>{setTimeout(()=>{i(n);},t);});return Promise.race([e,o])};var Q=e=>{var k,_,ee;if(!((ee=(_=(k=d.getState().walletConnect)==null?void 0:k.options)==null?void 0:_.projectId)!=null&&ee.trim()))throw new Error("walletConnect.options.projectId is not defined");let t=(e==null?void 0:e.encoding)||"base64",n=f=>{if(!e)return;let{appUrl:p,formatNativeUrl:h}=e;if(z()){if(Qe())if(!f)window.open(p.mobile.android,"_self","noreferrer noopener");else {let T=h(p.mobile.android,f,"android");window.open(T,"_self","noreferrer noopener");}if(je())if(!f)window.open(p.mobile.ios,"_self","noreferrer noopener");else {let T=h(p.mobile.ios,f,"ios");window.open(T,"_self","noreferrer noopener");}}},o=()=>{let{wcSignClient:f}=y.getState();if(!f)throw new Error("walletConnect.signClient is not defined");G(),d.setState({_reconnect:!1,_reconnectConnector:null,recentChainIds:null});},r=f=>l(void 0,null,function*(){let{wcSignClient:p}=y.getState();if(!p)throw new Error("walletConnect.signClient is not defined");if(!f)throw new Error("No wallet connect session");yield p.disconnect({topic:f,reason:utils.getSdkError("USER_DISCONNECTED")}),yield s(p),o();}),i=f=>{try{let{wcSignClient:p}=y.getState();if(!p)throw new Error("walletConnect.signClient is not defined");let h=p.session.getAll().at(-1);if(!h)return;if(!(h.expiry*1e3>Date.now()+1e3))throw r(h.topic),new Error("invalid session");try{let W=p.find({requiredNamespaces:{cosmos:{methods:["cosmos_getAccounts","cosmos_signAmino","cosmos_signDirect"],chains:f.map(D=>`cosmos:${D}`),events:["chainChanged","accountsChanged"]}}});if(!W.length)throw new Error("no session");return W.at(-1)}catch(W){if(!W.message.toLowerCase().includes("no matching key"))throw W}return h}catch(p){if(!p.message.toLowerCase().includes("no matching key"))throw p}},a=f=>{try{return i(f)}catch(p){return}},s=f=>l(void 0,null,function*(){try{let p=f.core.pairing.pairings.getAll({active:!1});if(!p.length)return;yield Promise.all(p.map(h=>l(void 0,null,function*(){yield f.core.pairing.pairings.delete(h.topic,{code:7001,message:"clear pairing"});})));}catch(p){if(!p.message.toLowerCase().includes("no matching key"))throw p}}),c=()=>l(void 0,null,function*(){let{walletConnect:f}=d.getState();if(!(f!=null&&f.options))throw new Error("walletConnect.options is not defined");let{wcSignClient:p}=y.getState();if(p)return y.setState({wcSignClient:p}),p;let h=yield signClient.SignClient.init(f.options);return y.setState({wcSignClient:h}),h}),u=f=>{let{wcSignClient:p}=y.getState();return p?(p.events.on("session_delete",h=>{o();}),p.events.on("session_expire",h=>{o();}),p.events.on("session_event",h=>{let T=y.getState().accounts;if(h.params.event.name==="accountsChanged"&&T&&!Object.values(T).map(W=>W.bech32Address).includes(h.params.event.data[0])){let W=h.params.chainId.split(":")[1];W&&m([W]);}else f();}),()=>{p.events.off("session_delete",h=>{o();}),p.events.off("session_expire",h=>{o();}),p.events.off("session_event",h=>{let T=y.getState().accounts;if(h.params.event.name==="accountsChanged"&&T&&!Object.values(T).map(W=>W.bech32Address).includes(h.params.event.data[0])){let W=h.params.chainId.split(":")[1];W&&m([W]);}else f();});}):()=>{}},m=f=>l(void 0,null,function*(){var te;let p=typeof f=="string"?[f]:f,{wcSignClient:h}=y.getState();if(!h)throw new Error("enable walletConnect.signClient is not defined");let{walletConnect:T,chains:W}=d.getState();if(!((te=T==null?void 0:T.options)!=null&&te.projectId))throw new Error("walletConnect.options.projectId is not defined");let{Web3Modal:D}=yield import('@web3modal/standalone'),j=new D(E({projectId:T.options.projectId,walletConnectVersion:2,enableExplorer:!1,explorerRecommendedWalletIds:"NONE"},T.web3Modal)),H=a(p);if(!H){let{uri:K,approval:V}=yield h.connect({requiredNamespaces:{cosmos:{methods:["cosmos_getAccounts","cosmos_signAmino","cosmos_signDirect"],chains:p.map(q=>`cosmos:${q}`),events:["chainChanged","accountsChanged"]}}});if(!K)throw new Error("No wallet connect uri");e?n(K):yield j.openModal({uri:K});let ne=q=>l(void 0,null,function*(){return q.aborted?Promise.reject(new Error("User closed wallet connect")):new Promise((he,Y)=>{V().then(ve=>{let Re=ve.sessionProperties;if(!Re)return Y(new Error("No session properties"));let Se=JSON.parse(String(Re.keys));if(Se.length===0)return Y(new Error("No accounts"));let ke=Se[0];if(!ke)return Y(new Error("No accounts"));let Pe={};return p.forEach(oe=>{Pe[oe]=P(E({},ke),{bech32Address:encoding.toBech32(W.find(bt=>bt.chainId===oe).bech32Config.bech32PrefixAccAddr,encoding.fromBech32(Se[0].bech32Address).data)});}),y.setState(oe=>({accounts:E(E({},oe.accounts||{}),Pe)})),he(ve)}).catch(Y),q.addEventListener("abort",()=>{Y(new Error("User closed wallet connect"));},{once:!0});})});try{let q=new AbortController,he=q.signal;j.subscribeModal(Y=>{Y.open||q.abort();}),yield ne(he);}catch(q){if(j.closeModal(),!q.message.toLowerCase().includes("no matching key"))return Promise.reject(q)}return e||j.closeModal(),Promise.resolve()}try{yield $e((()=>l(void 0,null,function*(){let K=yield w(p[0]),V={};p.forEach(ne=>{V[ne]=P(E({},K),{bech32Address:encoding.toBech32(W.find(q=>q.chainId===ne).bech32Config.bech32PrefixAccAddr,encoding.fromBech32(K.bech32Address).data)});}),y.setState({accounts:V});}))(),15e3,new Error("Connection timeout"));}catch(K){if(r(H.topic),!K.message.toLowerCase().includes("no matching key"))throw K}}),C=f=>l(void 0,null,function*(){var W;let{wcSignClient:p}=y.getState();if(!p)throw new Error("walletConnect.signClient is not defined");let h=(W=i([f]))==null?void 0:W.topic;if(!h)throw new Error("No wallet connect session");n();let T=yield p.request({topic:h,chainId:`cosmos:${f}`,request:{method:"cosmos_getAccounts",params:{}}});if(!T[0])throw new Error("No wallet connect account");return {address:T[0].address,algo:T[0].algo,pubkey:new Uint8Array(Buffer.from(T[0].pubkey,t))}}),w=f=>l(void 0,null,function*(){let{address:p,algo:h,pubkey:T}=yield C(f);return {address:encoding.fromBech32(p).data,algo:h,bech32Address:p,name:"",pubKey:T,isKeystone:!1,isNanoLedger:!1}}),S=(...f)=>l(void 0,null,function*(){var K,V;let[p,h,T]=f,{accounts:W,wcSignClient:D}=y.getState();if(!D)throw new Error("walletConnect.signClient is not defined");if(!W)throw new Error("account is not defined");let j=(K=i([p]))==null?void 0:K.topic;if(!j)throw new Error("No wallet connect session");if(!T.bodyBytes)throw new Error("No bodyBytes");if(!T.authInfoBytes)throw new Error("No authInfoBytes");let H={topic:j,chainId:`cosmos:${p}`,request:{method:"cosmos_signDirect",params:{signerAddress:h,signDoc:P(E({},T),{bodyBytes:Buffer.from(T.bodyBytes).toString(t),authInfoBytes:Buffer.from(T.authInfoBytes).toString(t),accountNumber:(V=T.accountNumber)==null?void 0:V.toString()})}}};return n(),yield D.request(H)}),I=(...f)=>l(void 0,null,function*(){let[p,h,T]=f,{signature:W,signed:D}=yield S(p,h,T);return {signed:{chainId:D.chainId,accountNumber:Pt__default.default.fromString(D.accountNumber,!1),authInfoBytes:new Uint8Array(Buffer.from(D.authInfoBytes,t)),bodyBytes:new Uint8Array(Buffer.from(D.bodyBytes,t))},signature:W}}),b=(...f)=>l(void 0,null,function*(){var K;let[p,h,T,W]=f,{wcSignClient:D}=y.getState(),{accounts:j}=y.getState();if(!D)throw new Error("walletConnect.signClient is not defined");if(!j)throw new Error("account is not defined");let H=(K=i([p]))==null?void 0:K.topic;if(!H)throw new Error("No wallet connect session");return n(),yield D.request({topic:H,chainId:`cosmos:${p}`,request:{method:"cosmos_signDirect",params:{signerAddress:h,signDoc:T}}})}),x=(...f)=>l(void 0,null,function*(){let[p,h,T,W]=f;return yield b(p,h,T)}),N=f=>({getAccounts:()=>l(void 0,null,function*(){return [yield C(f)]}),signDirect:(p,h)=>I(f,p,h)}),g=f=>({getAccounts:()=>l(void 0,null,function*(){return [yield C(f)]}),signAmino:(p,h)=>x(f,p,h)});return {enable:m,experimentalSuggestChain:(...f)=>l(void 0,null,function*(){yield Promise.reject(new Error("WalletConnect does not support experimentalSuggestChain"));}),getKey:w,getOfflineSigner:f=>({getAccounts:()=>l(void 0,null,function*(){return [yield C(f)]}),signDirect:(p,h)=>I(f,p,h),signAmino:(p,h)=>x(f,p,h)}),getOfflineSignerAuto:f=>l(void 0,null,function*(){return (yield w(f)).isNanoLedger?g(f):N(f)}),getOfflineSignerOnlyAmino:g,signAmino:x,signDirect:I,subscription:u,init:c}};var Ve=()=>{var t,n,o;if(!((o=(n=(t=d.getState().walletConnect)==null?void 0:t.options)==null?void 0:n.projectId)!=null&&o.trim()))throw new Error("walletConnect.options.projectId is not defined");if(!z())throw new Error("WalletConnect Cosmostation mobile is only supported in mobile");let e={encoding:"hex",appUrl:{mobile:{ios:"cosmostation://",android:"cosmostation://"}},walletType:"wc_cosmostation_mobile",formatNativeUrl:(r,i,a)=>`${r.replaceAll("/","").replaceAll(":","")}://wc?${i}`};return Q(e)};var Ye=()=>{var t,n,o;if(!((o=(n=(t=d.getState().walletConnect)==null?void 0:t.options)==null?void 0:n.projectId)!=null&&o.trim()))throw new Error("walletConnect.options.projectId is not defined");if(!z())throw new Error("WalletConnect Keplr mobile is only supported in mobile");let e={encoding:"base64",appUrl:{mobile:{ios:"keplrwallet://",android:"intent://"}},walletType:"wc_keplr_mobile",formatNativeUrl:(r,i,a)=>{let s=r.replaceAll("/","").replaceAll(":",""),c=encodeURIComponent(i);switch(a){case"ios":return `${s}://wcV2?${c}`;case"android":return `${s}://wcV2?${c}#Intent;package=com.chainapsis.keplr;scheme=keplrwallet;end;`;default:return `${s}://wc?uri=${c}`}}};return Q(e)};var Je=()=>{var t,n,o;if(!((o=(n=(t=d.getState().walletConnect)==null?void 0:t.options)==null?void 0:n.projectId)!=null&&o.trim()))throw new Error("walletConnect.options.projectId is not defined");if(!z())throw new Error("WalletConnect Leap mobile is only supported in mobile");let e={encoding:"base64",appUrl:{mobile:{ios:"leapcosmos://",android:"intent://"}},walletType:"wc_leap_mobile",formatNativeUrl:(r,i,a)=>{let s=r.replaceAll("/","").replaceAll(":",""),c=encodeURIComponent(i);switch(a){case"ios":return `${s}://wcV2?${c}`;case"android":return `${s}://wcV2?${c}#Intent;package=io.leapwallet.cosmos;scheme=leapwallet;end;`;default:return `${s}://wc?uri=${c}`}}};return Q(e)};var le=()=>{if(typeof window.station!="undefined"){let e=window.station.keplr;return {subscription:i=>{let a=()=>{G(),i();};return window.addEventListener("station_wallet_change",a),()=>{window.removeEventListener("station_wallet_change",a);}},getKey:i=>l(void 0,null,function*(){let a=yield e.getKey(i);return E({isKeystone:!1},a)}),getOfflineSigner:i=>{try{let a=e.getOfflineSignerOnlyAmino(i);return Object.assign(a,{signDirect:(u,m)=>{throw new Error("signDirect not supported by Station")}})}catch(a){throw console.error(a),a}},experimentalSuggestChain:i=>l(void 0,null,function*(){try{let a=Object.assign(i,{chainSymbolImageUrl:i.chainSymbolImageUrl||"",stakeCurrency:{coinDecimals:i.stakeCurrency.coinDecimals,coinDenom:i.stakeCurrency.coinDenom,coinImageUrl:i.stakeCurrency.coinImageUrl||"",coinMinimalDenom:i.stakeCurrency.coinMinimalDenom},currencies:i.currencies.map(s=>({coinDecimals:s.coinDecimals,coinDenom:s.coinDenom,coinImageUrl:s.coinImageUrl||"",coinMinimalDenom:s.coinMinimalDenom})),feeCurrencies:i.feeCurrencies.map(s=>{var c,u,m;return {coinDecimals:s.coinDecimals,coinDenom:s.coinDenom,coinImageUrl:s.coinImageUrl||"",coinMinimalDenom:s.coinMinimalDenom,gasPriceStep:{average:((c=s.gasPriceStep)==null?void 0:c.average)||0,high:((u=s.gasPriceStep)==null?void 0:u.high)||0,low:((m=s.gasPriceStep)==null?void 0:m.low)||0}}})});yield e.experimentalSuggestChain(a);}catch(a){throw console.error(a),a}}),enable:i=>e.enable(i),getOfflineSignerAuto:i=>e.getOfflineSignerAuto(i),getOfflineSignerOnlyAmino:i=>e.getOfflineSignerOnlyAmino(i),signDirect:()=>e.signDirect(),signAmino:(i,a,s,c)=>e.signAmino(i,a,s)}}throw d.getState()._notFoundFn(),new Error("window.station is not defined")};var B=(e=d.getState().walletType)=>{try{return v(e),!0}catch(t){return !1}},G=()=>{window.sessionStorage.removeItem(J),y.setState(X);},v=(e=d.getState().walletType)=>{switch(e){case"keplr":return se();case"leap":return ae();case"cosmostation":return re();case"vectis":return ce();case"walletconnect":return Q();case"wc_keplr_mobile":return Ye();case"wc_leap_mobile":return Je();case"wc_cosmostation_mobile":return Ve();case"metamask_snap_leap":return ze();case"station":return le();default:throw new Error("Unknown wallet type")}},Ko=()=>Object.fromEntries(Ue.map(e=>[e,B(e)])),Xe=e=>e==="walletconnect"||e==="wc_keplr_mobile"||e==="wc_leap_mobile"||e==="wc_cosmostation_mobile";var Z=e=>l(void 0,null,function*(){var t;try{let{recentChainIds:n,chains:o,walletType:r}=d.getState(),i=(e==null?void 0:e.walletType)||r;if(!B(i))throw new Error(`${i} is not available`);let s=v(i),c=typeof(e==null?void 0:e.chainId)=="string"?[e.chainId]:(e==null?void 0:e.chainId)||n;if(!c)throw new Error("No last known connected chain, connect action requires chain ids");let u=o==null?void 0:o.map(S=>S.chainId);c.forEach(S=>{if(!(u!=null&&u.includes(S)))throw new Error(`Chain ${S} is not provided in GrazProvider`)}),y.setState(S=>{let I=d.getState()._reconnect||!!d.getState()._reconnectConnector||!!c;return S.activeChainIds&&c.filter(x=>{var N;return !((N=S.activeChainIds)!=null&&N.includes(x))}).length>0?{status:"connecting"}:I?{status:"reconnecting"}:{status:"connecting"}});let{accounts:m}=y.getState();if(yield (t=s.init)==null?void 0:t.call(s),yield s.enable(c),!Xe(i)){let S=yield s.getKey(c[0]),I={};c.forEach(b=>{I[b]=P(E({},S),{bech32Address:encoding.toBech32(o.find(x=>x.chainId===b).bech32Config.bech32PrefixAccAddr,encoding.fromBech32(S.bech32Address).data)});}),y.setState(b=>({accounts:E(E({},b.accounts||{}),I)}));}d.setState(S=>({recentChainIds:[...S.recentChainIds||[],...c].filter((I,b,x)=>x.indexOf(I)===b)})),y.setState(S=>({activeChainIds:[...S.activeChainIds||[],...c].filter((I,b,x)=>x.indexOf(I)===b)})),d.setState({walletType:i,_reconnect:!!(e!=null&&e.autoReconnect),_reconnectConnector:i}),y.setState({status:"connected"}),typeof window!="undefined"&&window.sessionStorage.setItem(J,"Active");let C=c.map(S=>o.find(I=>I.chainId===S));return {accounts:y.getState().accounts,walletType:i,chains:C}}catch(n){throw console.error("connect ",n),y.getState().accounts===null&&y.setState({status:"disconnected"}),y.getState().accounts&&y.getState().activeChainIds&&y.setState({status:"connected"}),n}}),Ae=e=>{typeof window!="undefined"&&window.sessionStorage.removeItem(J);let t=typeof(e==null?void 0:e.chainId)=="string"?[e.chainId]:e==null?void 0:e.chainId;if(t){let n=y.getState().accounts;t.forEach(r=>{n==null||delete n[r];}),Object.values(n||{}).length===0?(y.setState(X),d.setState({_reconnect:!1,_reconnectConnector:null,recentChainIds:null})):(y.setState(r=>{var i;return {activeChainIds:(i=r.activeChainIds)==null?void 0:i.filter(a=>!t.includes(a)),accounts:n}}),d.setState(r=>{var i;return {recentChainIds:(i=r.recentChainIds)==null?void 0:i.filter(a=>!t.includes(a))}}));}else y.setState(X),d.setState({_reconnect:!1,_reconnectConnector:null,recentChainIds:null});return Promise.resolve()},F=e=>l(void 0,null,function*(){var r;let{recentChainIds:t,_reconnectConnector:n,_reconnect:o}=d.getState();try{let i=B(n||void 0);if(t&&i&&n)return yield Z({chainId:t,walletType:n,autoReconnect:o})}catch(i){(r=e==null?void 0:e.onError)==null||r.call(e,i),Ae();}}),Ze=e=>l(void 0,null,function*(){if(!(e!=null&&e.chainId))throw new Error("chainId is required");let{walletType:t}=d.getState(),n=e.walletType||t;if(!B(n))throw new Error(`${n} is not available`);let r=v(n),i=r.getOfflineSigner(e.chainId),a=r.getOfflineSignerOnlyAmino(e.chainId),s=yield r.getOfflineSignerAuto(e.chainId);return {offlineSigner:i,offlineSignerAmino:a,offlineSignerAuto:s}});var Ie=()=>{d.setState({recentChainIds:null});},Jo=()=>d.getState().recentChainIds,Xo=()=>{var n;let{recentChainIds:e,chains:t}=d.getState();return (n=e==null?void 0:e.map(o=>t.find(r=>r.chainId===o)))!=null?n:null},Te=n=>l(void 0,[n],function*({chainInfo:e,walletType:t}){return yield v(t).experimentalSuggestChain(e),e}),et=e=>l(void 0,null,function*(){var o;let t=d.getState().walletType;return yield Te({chainInfo:e.chainInfo,walletType:(o=e.walletType)!=null?o:t}),yield Z({chainId:e.chainInfo.chainId,walletType:e.walletType,autoReconnect:e.autoReconnect})});var tt=e=>(d.setState(t=>({walletConnect:e.walletConnect||t.walletConnect,walletType:e.defaultWallet||t.walletType,chains:e.chains,chainsConfig:e.chainsConfig||t.chainsConfig,multiChainFetchConcurrency:e.multiChainFetchConcurrency||t.multiChainFetchConcurrency,_notFoundFn:e.onNotFound||t._notFoundFn,_onReconnectFailed:e.onReconnectFailed||t._onReconnectFailed,_reconnect:e.autoReconnect===void 0?!0:e.autoReconnect||t._reconnect})),e);var nt=a=>l(void 0,[a],function*({signingClient:e,senderAddress:t,recipientAddress:n,amount:o,fee:r,memo:i}){if(!e)throw new Error("No connected account detected");if(!t)throw new Error("senderAddress is not defined");return e.sendTokens(t,n,o,r,i)}),ot=m=>l(void 0,[m],function*({signingClient:e,senderAddress:t,recipientAddress:n,transferAmount:o,sourcePort:r,sourceChannel:i,timeoutHeight:a,timeoutTimestamp:s,fee:c,memo:u}){if(!e)throw new Error("Stargate signing client is not ready");if(!t)throw new Error("senderAddress is not defined");return e.sendIbcTokens(t,n,o,r,i,a,s,c,u)}),it=s=>l(void 0,[s],function*({signingClient:e,senderAddress:t,msg:n,fee:o,options:r,label:i,codeId:a}){if(!e)throw new Error("CosmWasm signing client is not ready");return e.instantiate(t,a,n,i,o,r)}),rt=s=>l(void 0,[s],function*({signingClient:e,senderAddress:t,msg:n,fee:o,contractAddress:r,funds:i,memo:a}){if(!e)throw new Error("CosmWasm signing client is not ready");return e.execute(t,r,n,o,a,i)}),st=(e,t,n)=>l(void 0,null,function*(){if(!n)throw new Error("CosmWasm client is not ready");return yield n.queryContractSmart(e,t)}),at=(e,t,n)=>{if(!n)throw new Error("CosmWasm client is not ready");let o=new TextEncoder().encode(t);return n.queryContractRaw(e,o)};var ci=e=>e,li=e=>e;var ue=e=>e?Object.keys(e).length===0:!0;var Ee=class extends Error{constructor(t){super(),this.name="AbortError",this.message=t;}},ct=e=>globalThis.DOMException===void 0?new Ee(e):new DOMException(e),lt=e=>{let t=e.reason===void 0?ct("This operation was aborted."):e.reason;return t instanceof Error?t:ct(t)};function be(i,a){return l(this,arguments,function*(e,t,{concurrency:n=Number.POSITIVE_INFINITY,stopOnError:o=!0,signal:r}={}){return new Promise((s,c)=>{if(e[Symbol.iterator]===void 0&&e[Symbol.asyncIterator]===void 0)throw new TypeError(`Expected \`input\` to be either an \`Iterable\` or \`AsyncIterable\`, got (${typeof e})`);if(typeof t!="function")throw new TypeError("Mapper function is required");if(!((Number.isSafeInteger(n)||n===Number.POSITIVE_INFINITY)&&n>=1))throw new TypeError(`Expected \`concurrency\` to be an integer from 1 and up or \`Infinity\`, got \`${n}\` (${typeof n})`);let u=[],m=[],C=new Map,w=!1,S=!1,I=!1,b=0,x=0,N=e[Symbol.iterator]===void 0?e[Symbol.asyncIterator]():e[Symbol.iterator](),g=M=>{w=!0,S=!0,c(M);};r&&(r.aborted&&g(lt(r)),r.addEventListener("abort",()=>{g(lt(r));}));let A=()=>l(this,null,function*(){if(S)return;let M=yield N.next(),R=x;if(x++,M.done){if(I=!0,b===0&&!S){if(!o&&m.length>0){g(new AggregateError(m));return}if(S=!0,C.size===0){s(u);return}let k=[];for(let[_,ee]of u.entries())C.get(_)!==ut&&k.push(ee);s(k);}return}b++,l(this,null,function*(){try{let k=yield M.value;if(S)return;let _=yield t(k,R);_===ut&&C.set(R,_),u[R]=_,b--,yield A();}catch(k){if(o)g(k);else {m.push(k),b--;try{yield A();}catch(_){g(_);}}}});});l(this,null,function*(){for(let M=0;M<n;M++){try{yield A();}catch(R){g(R);break}if(I||w)break}});})})}var ut=Symbol("skip");var U=({chainId:e,multiChain:t})=>{let n=d(r=>r.chains);if(!n)throw new Error("No chains found in GrazProvider");let o=typeof e=="string"?[e]:e;switch(!0){case(!!t&&!!o):return o.map(r=>n.find(i=>i.chainId===r)).filter(Boolean);case(!t&&!!o):return [o.map(r=>n.find(i=>i.chainId===r)).filter(Boolean)[0]];case(!!t&&!o):return n;default:return [n[0]]}},L=(e,t,n)=>l(void 0,null,function*(){let o=d.getState().multiChainFetchConcurrency;if(e){let i=yield be(t,n,{concurrency:o});return Object.fromEntries(i.map((a,s)=>[t[s].chainId,a]))}return yield n(t[0])}),dt=(e,t,n)=>{if(e){let r=t.map(n);return Object.fromEntries(r.map((i,a)=>[t[a].chainId,i]))}return n(t[0])};var xe=e=>{let t=U({chainId:e==null?void 0:e.chainId,multiChain:e==null?void 0:e.multiChain}),n=react.useMemo(()=>["USE_STARGATE_CLIENT",t],[t]);return reactQuery.useQuery({queryKey:n,queryFn:r=>l(void 0,[r],function*({queryKey:[,o]}){if(o.length<1)throw new Error("No chains found");return yield L(!!(e!=null&&e.multiChain),o,a=>l(void 0,null,function*(){var m;let s=(m=d.getState().chainsConfig)==null?void 0:m[a.chainId],c={url:a.rpc,headers:E({},(s==null?void 0:s.rpcHeaders)||{})};return yield stargate.StargateClient.connect(c)}))}),enabled:!!t&&t.length>0&&((e==null?void 0:e.enabled)!==void 0?!!e.enabled:!0),refetchOnWindowFocus:!1})},We=e=>{let t=U({chainId:e==null?void 0:e.chainId,multiChain:e==null?void 0:e.multiChain}),n=react.useMemo(()=>["USE_COSMWASM_CLIENT",t],[t]);return reactQuery.useQuery({queryKey:n,queryFn:r=>l(void 0,[r],function*({queryKey:[,o]}){if(o.length<1)throw new Error("No chains found");return yield L(!!(e!=null&&e.multiChain),o,a=>l(void 0,null,function*(){var m;let s=(m=d.getState().chainsConfig)==null?void 0:m[a.chainId],c={url:a.rpc,headers:E({},(s==null?void 0:s.rpcHeaders)||{})};return yield cosmwasmStargate.CosmWasmClient.connect(c)}))}),enabled:!!t&&t.length>0&&((e==null?void 0:e.enabled)!==void 0?!!e.enabled:!0),refetchOnWindowFocus:!1})},de=({type:e,chainId:t,multiChain:n,enabled:o})=>{let r=U({chainId:t,multiChain:n}),i=react.useMemo(()=>["USE_TENDERMINT_CLIENT",e,r],[e,r]);return reactQuery.useQuery({queryKey:i,queryFn:c=>l(void 0,[c],function*({queryKey:[,a,s]}){if(s.length<1)throw new Error("No chains found");return yield L(!!n,s,m=>l(void 0,null,function*(){var b;let C=(b=d.getState().chainsConfig)==null?void 0:b[m.chainId],w={url:m.rpc,headers:E({},(C==null?void 0:C.rpcHeaders)||{})};return yield (a==="tm37"?tendermintRpc.Tendermint37Client:tendermintRpc.Tendermint34Client).connect(w)}))}),enabled:!!r&&r.length>0&&(o!==void 0?!!o:!0),refetchOnWindowFocus:!1})};var Bi=()=>d(e=>({walletType:e.walletType,isCosmostation:e.walletType==="cosmostation",isCosmostationMobile:e.walletType==="wc_cosmostation_mobile",isKeplr:e.walletType==="keplr",isKeplrMobile:e.walletType==="wc_keplr_mobile",isLeap:e.walletType==="leap",isLeapMobile:e.walletType==="wc_leap_mobile",isVectis:e.walletType==="vectis",isWalletConnect:e.walletType==="walletconnect",isMetamaskSnapLeap:e.walletType==="metamask_snap_leap",isStation:e.walletType==="station"}),shallow.shallow),me=e=>{let n=["USE_CHECK_WALLET",d(r=>e||r.walletType)];return reactQuery.useQuery(n,({queryKey:[,r]})=>B(r))};var $=e=>{let t=d(s=>s.walletType),n=y(s=>s.activeChainIds),o=U({chainId:e!=null&&e.chainId?e.chainId:n||void 0,multiChain:e==null?void 0:e.multiChain}),r=y(s=>s.accounts),i=y(s=>s.status);return react.useEffect(()=>y.subscribe(s=>s.status,(s,c)=>{var u,m,C;if(s==="connected"){let{accounts:w,activeChainIds:S}=y.getState(),{chains:I}=d.getState(),{walletType:b}=d.getState();if(!w||!S||!I)return (u=e==null?void 0:e.onDisconnect)==null?void 0:u.call(e);(m=e==null?void 0:e.onConnect)==null||m.call(e,{accounts:w,chains:S.map(x=>I.find(N=>N.chainId===x)),walletType:b,isReconnect:c==="reconnecting"});}s==="disconnected"&&((C=e==null?void 0:e.onDisconnect)==null||C.call(e));}),[e]),{data:react.useMemo(()=>r?dt(!!(e!=null&&e.multiChain),o,s=>r[s.chainId]):void 0,[r,o,e==null?void 0:e.multiChain]),isConnected:i==="connected",isConnecting:i==="connecting",isDisconnected:i==="disconnected",isReconnecting:i==="reconnecting",isLoading:i==="connecting"||i==="reconnecting",walletType:i==="connected"?t:void 0,reconnect:F,status:i}},Ht=e=>{let t=U({chainId:e==null?void 0:e.chainId,multiChain:e==null?void 0:e.multiChain}),{data:n}=$(),o=(e==null?void 0:e.bech32Address)||(n==null?void 0:n.bech32Address),{data:r}=xe({chainId:t.map(a=>a.chainId),multiChain:!0,enabled:((e==null?void 0:e.enabled)===void 0?!0:e.enabled)&&!!o}),i=react.useMemo(()=>["USE_ALL_BALANCES",r,t,o,e==null?void 0:e.chainId],[o,e==null?void 0:e.chainId,t,r]);return reactQuery.useQuery(i,u=>l(void 0,[u],function*({queryKey:[,a,s,c]}){if(!c)throw new Error("address is not defined");return yield L(!!(e!=null&&e.multiChain),s,C=>l(void 0,null,function*(){let w=a==null?void 0:a[C.chainId];if(!w)throw new Error(`Client is not ready ${C.chainId}`);return yield w.getAllBalances(encoding.toBech32(C.bech32Config.bech32PrefixAccAddr,encoding.fromBech32(c).data))}))}),{enabled:!!o&&!!t&&t.length>0&&!ue(r)&&((e==null?void 0:e.enabled)===void 0?!0:e.enabled),refetchOnMount:!1,refetchOnReconnect:!0,refetchOnWindowFocus:!1})},Vi=e=>{let t=U({chainId:e.chainId}),{data:n}=$({chainId:e.chainId}),o=e.bech32Address||(n==null?void 0:n.bech32Address),{data:r,refetch:i}=Ht({chainId:t.map(c=>c.chainId),bech32Address:o,enabled:!!o&&(e.enabled===void 0?!0:e.enabled)}),a=["USE_BALANCE",e.denom,r,t,o,e.chainId],s=reactQuery.useQuery(a,({queryKey:[,c,u]})=>u==null?void 0:u.find(m=>m.denom===c),{enabled:!!r&&!!(r!=null&&r.length)&&(e.enabled===void 0?!0:e.enabled)});return P(E({},s),{refetch:c=>l(void 0,null,function*(){return yield i(),s.refetch(c)})})},Yi=({onError:e,onLoading:t,onSuccess:n}={})=>{let r=reactQuery.useMutation(["USE_CONNECT",e,t,n],Z,{onError:(a,s)=>Promise.resolve(e==null?void 0:e(a,s)),onMutate:t,onSuccess:a=>Promise.resolve(n==null?void 0:n(a))}),{data:i}=me();return {connect:a=>r.mutate(a),connectAsync:a=>r.mutateAsync(a),error:r.error,isLoading:r.isLoading,isSuccess:r.isSuccess,isSupported:!!i,status:r.status}},Ji=({onError:e,onLoading:t,onSuccess:n}={})=>{let r=reactQuery.useMutation(["USE_DISCONNECT",e,t,n],Ae,{onError:i=>Promise.resolve(e==null?void 0:e(i,void 0)),onMutate:t,onSuccess:()=>Promise.resolve(n==null?void 0:n(void 0))});return {disconnect:i=>r.mutate(i),disconnectAsync:i=>r.mutateAsync(i),error:r.error,isLoading:r.isLoading,isSuccess:r.isSuccess,status:r.status}},Xi=e=>{let t=U({chainId:e==null?void 0:e.chainId,multiChain:e==null?void 0:e.multiChain}),n=d(r=>r.walletType),o=react.useMemo(()=>["USE_OFFLINE_SIGNERS",t,n],[t,n]);return reactQuery.useQuery({queryKey:o,queryFn:a=>l(void 0,[a],function*({queryKey:[,r,i]}){if(r.length<1)throw new Error("No chain found");if(!B(i))throw new Error(`${i} is not available`);return yield L(!!(e!=null&&e.multiChain),r,u=>l(void 0,null,function*(){return yield Ze({chainId:u.chainId,walletType:i})}))}),enabled:!!t&&t.length>0&&!!n,refetchOnWindowFocus:!1})},Zi=e=>{let t=U({chainId:e==null?void 0:e.chainId,multiChain:e==null?void 0:e.multiChain}),{data:n}=$(),{data:o}=xe({chainId:t.map(a=>a.chainId),multiChain:!0}),r=(e==null?void 0:e.bech32Address)||(n==null?void 0:n.bech32Address),i=react.useMemo(()=>["USE_BALANCE_STAKED",o,t,r],[t,r,o]);return reactQuery.useQuery(i,u=>l(void 0,[u],function*({queryKey:[,a,s,c]}){if(!c)throw new Error("address is not defined");return yield L(!!(e!=null&&e.multiChain),s,C=>l(void 0,null,function*(){var S;if(!a)throw new Error("Client is not ready");return yield (S=a[C.chainId])==null?void 0:S.getBalanceStaked(encoding.toBech32(C.bech32Config.bech32PrefixAccAddr,encoding.fromBech32(c).data))}))}),{enabled:!!r&&!!t&&t.length>0&&!!o,refetchOnMount:!1,refetchOnReconnect:!0,refetchOnWindowFocus:!1})};var ar=()=>y(e=>e.activeChainIds),Vt=()=>{var e;return (e=y(t=>t.activeChainIds))==null?void 0:e.map(t=>{var o;let n=(o=d.getState().chains)==null?void 0:o.find(r=>r.chainId===t);if(n)return n}).filter(Boolean)},cr=({denom:e})=>{let t=Vt();return reactQuery.useQuery(["USE_ACTIVE_CHAIN_CURRENCY",e],({queryKey:[,r]})=>{var i;return (i=t==null?void 0:t.find(a=>a.currencies.find(s=>s.coinMinimalDenom===r)))==null?void 0:i.currencies.find(a=>a)})},lr=e=>{var r;let t=(r=e.status)!=null?r:"BOND_STATUS_BONDED",n=["USE_ACTIVE_CHAIN_VALIDATORS",e.queryClient,t];return reactQuery.useQuery(n,s=>l(void 0,[s],function*({queryKey:[,i,a]}){if(!i)throw new Error("Query client is not defined");return yield i.staking.validators(a)}),{enabled:typeof e.queryClient!="undefined"})},ur=()=>({data:d(t=>t.recentChainIds),clear:Ie}),dr=()=>{var t;return {data:(t=d(n=>n.recentChainIds))==null?void 0:t.map(n=>{var r;let o=(r=d.getState().chains)==null?void 0:r.find(i=>i.chainId===n);if(o)return o}).filter(Boolean),clear:Ie}},mr=({onError:e,onLoading:t,onSuccess:n}={})=>{let r=reactQuery.useMutation(["USE_SUGGEST_CHAIN",e,t,n],Te,{onError:(i,a)=>Promise.resolve(e==null?void 0:e(i,a.chainInfo)),onMutate:i=>t==null?void 0:t(i.chainInfo),onSuccess:i=>Promise.resolve(n==null?void 0:n(i))});return {error:r.error,isLoading:r.isLoading,isSuccess:r.isSuccess,suggest:r.mutate,suggestAsync:r.mutateAsync,status:r.status}},pr=({onError:e,onLoading:t,onSuccess:n}={})=>{let r=reactQuery.useMutation(["USE_SUGGEST_CHAIN_AND_CONNECT",e,t,n],et,{onError:(a,s)=>Promise.resolve(e==null?void 0:e(a,s)),onMutate:a=>t==null?void 0:t(a),onSuccess:a=>Promise.resolve(n==null?void 0:n(a))}),{data:i}=me();return {error:r.error,isLoading:r.isLoading,isSuccess:r.isSuccess,isSupported:!!i,status:r.status,suggestAndConnect:r.mutate,suggestAndConnectAsync:r.mutateAsync}};var Ar=({onError:e,onLoading:t,onSuccess:n}={})=>{let{data:o}=$(),r=o==null?void 0:o.bech32Address,i=reactQuery.useMutation(["USE_SEND_TOKENS",e,t,n,r],a=>nt(E({senderAddress:r},a)),{onError:(a,s)=>Promise.resolve(e==null?void 0:e(a,s)),onMutate:t,onSuccess:a=>Promise.resolve(n==null?void 0:n(a))});return {error:i.error,isLoading:i.isLoading,isSuccess:i.isSuccess,sendTokens:i.mutate,sendTokensAsync:i.mutateAsync,status:i.status}},Ir=({onError:e,onLoading:t,onSuccess:n}={})=>{let{data:o}=$(),r=o==null?void 0:o.bech32Address,i=reactQuery.useMutation(["USE_SEND_IBC_TOKENS",e,t,n,r],a=>ot(E({senderAddress:r},a)),{onError:(a,s)=>Promise.resolve(e==null?void 0:e(a,s)),onMutate:t,onSuccess:a=>Promise.resolve(n==null?void 0:n(a))});return {error:i.error,isLoading:i.isLoading,isSuccess:i.isSuccess,sendIbcTokens:i.mutate,sendIbcTokensAsync:i.mutateAsync,status:i.status}},Tr=({codeId:e,onError:t,onLoading:n,onSuccess:o})=>{let{data:r}=$(),i=r==null?void 0:r.bech32Address,s=reactQuery.useMutation(["USE_INSTANTIATE_CONTRACT",t,n,o,e,i],c=>{var m;if(!i)throw new Error("senderAddress is undefined");let u=P(E({},c),{fee:(m=c.fee)!=null?m:"auto",senderAddress:i,codeId:e});return it(u)},{onError:(c,u)=>Promise.resolve(t==null?void 0:t(c,u)),onMutate:n,onSuccess:c=>Promise.resolve(o==null?void 0:o(c))});return {error:s.error,isLoading:s.isLoading,isSuccess:s.isSuccess,instantiateContract:s.mutate,instantiateContractAsync:s.mutateAsync,status:s.status}},Er=({contractAddress:e,onError:t,onLoading:n,onSuccess:o})=>{let{data:r}=$(),i=r==null?void 0:r.bech32Address,s=reactQuery.useMutation(["USE_EXECUTE_CONTRACT",t,n,o,e,i],c=>{var m,C,w;if(!i)throw new Error("senderAddress is undefined");let u=P(E({},c),{fee:(m=c.fee)!=null?m:"auto",senderAddress:i,contractAddress:e,memo:(C=c.memo)!=null?C:"",funds:(w=c.funds)!=null?w:[]});return rt(u)},{onError:(c,u)=>Promise.resolve(t==null?void 0:t(c,u)),onMutate:n,onSuccess:c=>Promise.resolve(o==null?void 0:o(c))});return {error:s.error,isLoading:s.isLoading,isSuccess:s.isSuccess,executeContract:s.mutate,executeContractAsync:s.mutateAsync,status:s.status}},br=e=>{let{data:t}=We();return reactQuery.useQuery(["USE_QUERY_SMART",e==null?void 0:e.address,e==null?void 0:e.queryMsg,t],({queryKey:[,o]})=>{if(!(e!=null&&e.address)||!e.queryMsg)throw new Error("address or queryMsg undefined");return st(e.address,e.queryMsg,t)},{enabled:!!(e!=null&&e.address)&&!!(e!=null&&e.queryMsg)&&!!t})},Or=e=>{let{data:t}=We(),n=["USE_QUERY_RAW",e==null?void 0:e.key,e==null?void 0:e.address,t];return reactQuery.useQuery(n,({queryKey:[,r]})=>{if(!(e!=null&&e.address)||!e.key)throw new Error("address or key undefined");return at(e.address,e.key,t)},{enabled:!!(e!=null&&e.address)&&!!(e!=null&&e.key)&&!!t})};function Ur(e){let t=U({chainId:e==null?void 0:e.chainId,multiChain:e==null?void 0:e.multiChain}),n=d(i=>i.walletType),o=y(i=>i.activeChainIds),r=react.useMemo(()=>["USE_STARGATE_SIGNING_CLIENT",t,n,e,o],[o,e,t,n]);return reactQuery.useQuery({queryKey:r,queryFn:s=>l(this,[s],function*({queryKey:[,i,a]}){if(i.length<1)throw new Error("No chains found");return yield L(!!(e!=null&&e.multiChain),i,u=>l(this,null,function*(){var b,x;if(!(o!=null&&o.includes(u.chainId)))return;if(!B(a))throw new Error(`${a} is not available`);let C=yield (()=>l(this,null,function*(){switch(e==null?void 0:e.offlineSigner){case"offlineSigner":return v(a).getOfflineSigner(u.chainId);case"offlineSignerAuto":return v(a).getOfflineSignerAuto(u.chainId);case"offlineSignerOnlyAmino":return v(a).getOfflineSignerOnlyAmino(u.chainId);default:return v(a).getOfflineSignerAuto(u.chainId)}}))(),w=(b=d.getState().chainsConfig)==null?void 0:b[u.chainId],S={url:u.rpc,headers:E({},(w==null?void 0:w.rpcHeaders)||{})};return (e==null?void 0:e.multiChain)===!0&&e.opts,yield stargate.SigningStargateClient.connectWithSigner(S,C,e!=null&&e.multiChain?(x=e.opts)==null?void 0:x[u.chainId]:e==null?void 0:e.opts)}))}),enabled:!!t&&t.length>0&&!!n&&((e==null?void 0:e.enabled)!==void 0?!!e.enabled:!0),refetchOnWindowFocus:!1})}function Lr(e){let t=U({chainId:e==null?void 0:e.chainId,multiChain:e==null?void 0:e.multiChain}),n=d(i=>i.walletType),o=y(i=>i.activeChainIds),r=react.useMemo(()=>["USE_COSMWASM_SIGNING_CLIENT",t,n,e,o],[o,e,t,n]);return reactQuery.useQuery({queryKey:r,queryFn:s=>l(this,[s],function*({queryKey:[,i,a]}){if(i.length<1)throw new Error("No chains found");return yield L(!!(e!=null&&e.multiChain),i,u=>l(this,null,function*(){var x,N;if(!(o!=null&&o.includes(u.chainId)))return;if(!B(a))throw new Error(`${a} is not available`);let C=yield (()=>l(this,null,function*(){switch(e==null?void 0:e.offlineSigner){case"offlineSigner":return v(a).getOfflineSigner(u.chainId);case"offlineSignerAuto":return v(a).getOfflineSignerAuto(u.chainId);case"offlineSignerOnlyAmino":return v(a).getOfflineSignerOnlyAmino(u.chainId);default:return v(a).getOfflineSignerAuto(u.chainId)}}))(),w=(x=d.getState().chainsConfig)==null?void 0:x[u.chainId],S={url:u.rpc,headers:E({},(w==null?void 0:w.rpcHeaders)||{})},I=w!=null&&w.gas?stargate.GasPrice.fromString(`${w.gas.price}${w.gas.denom}`):void 0;return yield cosmwasmStargate.SigningCosmWasmClient.connectWithSigner(S,C,E({gasPrice:I},e!=null&&e.multiChain?(N=e.opts)==null?void 0:N[u.chainId]:(e==null?void 0:e.opts)||{}))}))}),enabled:!!t&&t.length>0&&!!n&&((e==null?void 0:e.enabled)!==void 0?!!e.enabled:!0),refetchOnWindowFocus:!1})}function qr(e){let t=U({chainId:e.chainId,multiChain:e.multiChain}),n=d(a=>a.walletType),o=y(a=>a.activeChainIds),r=react.useMemo(()=>["USE_STARGATE_TM_SIGNING_CLIENT",t,n,e,o],[o,e,t,n]),{data:i}=de({type:e.type,chainId:e.chainId,multiChain:e.multiChain});return reactQuery.useQuery({queryKey:r,queryFn:c=>l(this,[c],function*({queryKey:[,a,s]}){if(a.length<1)throw new Error("No chains found");return yield L(!!e.multiChain,a,m=>l(this,null,function*(){var b;if(!(o!=null&&o.includes(m.chainId)))return;if(!B(s))throw new Error(`${s} is not available`);if(!i)throw new Error("No tendermint client found");let w=yield (()=>l(this,null,function*(){switch(e.offlineSigner){case"offlineSigner":return v(s).getOfflineSigner(m.chainId);case"offlineSignerAuto":return v(s).getOfflineSignerAuto(m.chainId);case"offlineSignerOnlyAmino":return v(s).getOfflineSignerOnlyAmino(m.chainId);default:return v(s).getOfflineSignerAuto(m.chainId)}}))(),S=e.multiChain?i[m.chainId]:i;return yield stargate.SigningStargateClient.createWithSigner(S,w,e.multiChain?(b=e.opts)==null?void 0:b[m.chainId]:e.opts)}))}),enabled:!!t&&t.length>0&&!!n&&!!i&&(e.enabled!==void 0?!!e.enabled:!0),refetchOnWindowFocus:!1})}function Gr(e){let t=U({chainId:e.chainId,multiChain:e.multiChain}),n=d(s=>s.walletType),o=y(s=>s.activeChainIds),r=react.useMemo(()=>["USE_COSMWASM_TM_SIGNING_CLIENT",t,n,e,o],[o,e,t,n]),{data:i}=de({type:e.type,chainId:e.chainId,multiChain:!1,enabled:!e.multiChain}),{data:a}=de({type:e.type,chainId:e.chainId,multiChain:!0,enabled:!!e.multiChain});return reactQuery.useQuery({queryKey:r,queryFn:u=>l(this,[u],function*({queryKey:[,s,c]}){if(s.length<1)throw new Error("No chains found");return yield L(!!e.multiChain,s,C=>l(this,null,function*(){var g,A;if(!(o!=null&&o.includes(C.chainId)))return;if(!B(c))throw new Error(`${c} is not available`);let S=yield (()=>l(this,null,function*(){switch(e.offlineSigner){case"offlineSigner":return v(c).getOfflineSigner(C.chainId);case"offlineSignerAuto":return v(c).getOfflineSignerAuto(C.chainId);case"offlineSignerOnlyAmino":return v(c).getOfflineSignerOnlyAmino(C.chainId);default:return v(c).getOfflineSignerAuto(C.chainId)}}))(),I=(g=d.getState().chainsConfig)==null?void 0:g[C.chainId],b=I!=null&&I.gas?stargate.GasPrice.fromString(`${I.gas.price}${I.gas.denom}`):void 0,x=e.multiChain?a==null?void 0:a[C.chainId]:i;if(!x)throw new Error("No tendermint client found");return yield cosmwasmStargate.SigningCosmWasmClient.createWithSigner(x,S,E({gasPrice:b},e.multiChain?(A=e.opts)==null?void 0:A[C.chainId]:e.opts||{}))}))}),enabled:!!t&&t.length>0&&!!n&&(!!i||!ue(a))&&(e.enabled!==void 0?!!e.enabled:!0),refetchOnWindowFocus:!1})}var At=({children:e})=>{let[t,n]=react.useState(!1);return react.useEffect(()=>{n(!0);},[]),jsxRuntime.jsx(jsxRuntime.Fragment,{children:t?e:null})};var en=()=>{let e=typeof window!="undefined"&&window.sessionStorage.getItem(J)==="Active",{_reconnect:t,_onReconnectFailed:n,_reconnectConnector:o}=d(),{activeChainIds:r,wcSignClient:i}=y(),a=B(o||void 0);return react.useEffect(()=>{if(o){if(!a)return;e&&r?F({onError:n}):!e&&t&&F({onError:n});}},[a]),react.useEffect(()=>{var s,c,u,m,C,w,S,I,b,x,N,g;if(o){if(!a)return;o==="cosmostation"&&((c=(s=re()).subscription)==null||c.call(s,()=>{F({onError:n});})),o==="keplr"&&((m=(u=se()).subscription)==null||m.call(u,()=>{F({onError:n});})),o==="leap"&&((w=(C=ae()).subscription)==null||w.call(C,()=>{F({onError:n});})),o==="vectis"&&((I=(S=ce()).subscription)==null||I.call(S,()=>{F({onError:n});})),o==="walletconnect"&&i&&((x=(b=Q()).subscription)==null||x.call(b,()=>{F({onError:n});})),o==="station"&&((g=(N=le()).subscription)==null||g.call(N,()=>{F({onError:n});}));}},[o,i,a]),null},Tt=()=>(en(),null);var on=new reactQuery.QueryClient({}),ps=o=>{var r=o,{children:e,grazOptions:t}=r,n=De(r,["children","grazOptions"]);return tt(t),jsxRuntime.jsx(reactQuery.QueryClientProvider,P(E({client:on},n),{children:jsxRuntime.jsxs(At,{children:[e,jsxRuntime.jsx(Tt,{})]})}),"graz-provider")};
21
+ var Wt=Object.defineProperty,vt=Object.defineProperties;var Rt=Object.getOwnPropertyDescriptors;var re=Object.getOwnPropertySymbols;var Ke=Object.prototype.hasOwnProperty,Ue=Object.prototype.propertyIsEnumerable;var Le=(e,t,n)=>t in e?Wt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,E=(e,t)=>{for(var n in t||(t={}))Ke.call(t,n)&&Le(e,n,t[n]);if(re)for(var n of re(t))Ue.call(t,n)&&Le(e,n,t[n]);return e},N=(e,t)=>vt(e,Rt(t));var qe=(e,t)=>{var n={};for(var i in e)Ke.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(e!=null&&re)for(var i of re(e))t.indexOf(i)<0&&Ue.call(e,i)&&(n[i]=e[i]);return n};var l=(e,t,n)=>new Promise((i,r)=>{var o=c=>{try{a(n.next(c));}catch(d){r(d);}},s=c=>{try{a(n.throw(c));}catch(d){r(d);}},a=c=>c.done?i(c.value):Promise.resolve(c.value).then(o,s);a((n=n.apply(e,t)).next());});var J="graz-reconnect-session";var Ge=(p=>(p.KEPLR="keplr",p.LEAP="leap",p.VECTIS="vectis",p.COSMOSTATION="cosmostation",p.WALLETCONNECT="walletconnect",p.WC_KEPLR_MOBILE="wc_keplr_mobile",p.WC_LEAP_MOBILE="wc_leap_mobile",p.WC_COSMOSTATION_MOBILE="wc_cosmostation_mobile",p.METAMASK_SNAP_LEAP="metamask_snap_leap",p.STATION="station",p.XDEFI="xdefi",p))(Ge||{}),Fe=["keplr","leap","vectis","cosmostation","walletconnect","wc_keplr_mobile","wc_leap_mobile","wc_cosmostation_mobile","metamask_snap_leap","station","xdefi"];var Pt={recentChainIds:null,chains:null,chainsConfig:null,multiChainFetchConcurrency:3,walletType:"keplr",walletConnect:{options:null,web3Modal:null},_notFoundFn:()=>null,_onReconnectFailed:()=>null,_reconnect:!1,_reconnectConnector:null},Z={accounts:null,activeChainIds:null,status:"disconnected",wcSignClients:new Map},Nt={name:"graz-session",version:2,partialize:e=>({accounts:e.accounts,activeChainIds:e.activeChainIds}),storage:middleware.createJSONStorage(()=>sessionStorage)},_t={name:"graz-internal",partialize:e=>({recentChainIds:e.recentChainIds,_reconnect:e._reconnect,_reconnectConnector:e._reconnectConnector}),version:2},C=zustand.create(middleware.subscribeWithSelector(middleware.persist(()=>Z,Nt))),u=zustand.create(middleware.subscribeWithSelector(middleware.persist(()=>Pt,_t)));var se=()=>{var e;if(typeof((e=window.cosmostation)==null?void 0:e.providers.keplr)!="undefined"){let t=window.cosmostation.providers.keplr;return Object.assign(t,{subscription:r=>{var s;let o=()=>{F(),r();};return (s=window.cosmostation)==null||s.cosmos.on("accountChanged",o),()=>{var a;(a=window.cosmostation)==null||a.cosmos.off("accountChanged",o);}}})}throw u.getState()._notFoundFn(),new Error("window.cosmostation.providers.keplr is not defined")};var ae=()=>{if(typeof window.keplr!="undefined"){let e=window.keplr;return Object.assign(e,{subscription:i=>{let r=()=>{F(),i();};return window.addEventListener("keplr_keystorechange",r),()=>{window.removeEventListener("keplr_keystorechange",r);}}})}throw u.getState()._notFoundFn(),new Error("window.keplr is not defined")};var ce=()=>{if(typeof window.leap!="undefined"){let e=window.leap;return Object.assign(e,{subscription:i=>{let r=()=>{F(),i();};return window.addEventListener("leap_keystorechange",r),()=>{window.removeEventListener("leap_keystorechange",r);}}})}throw u.getState()._notFoundFn(),new Error("window.leap is not defined")};var $e=e=>{let t=window.ethereum;if(t&&e){let n=()=>l(void 0,null,function*(){return yield t.request({method:"wallet_getSnaps"})}),i=h=>l(void 0,null,function*(){try{let w=yield n();return Object.values(w).find(x=>x.id===e.id&&(!h||x.version===h))}catch(w){return}}),r=()=>l(void 0,null,function*(){yield t.request({method:"wallet_requestSnaps",params:{[e.id]:e.params||{}}});}),o=()=>l(void 0,null,function*(){var _;let h=yield t.request({method:"web3_clientVersion"});if(!h.includes("MetaMask"))throw new Error("Metamask is not installed");let x=(_=h.split("MetaMask/v")[1])==null?void 0:_.split(".")[0];if(!(Number(x)>=11))throw new Error("Metamask Snap is not supported in this version");return (yield i())||(yield r()),!0}),s=h=>l(void 0,null,function*(){(yield i())||(yield r());}),a=(h,w,x)=>l(void 0,null,function*(){let P=yield t.request({method:"wallet_invokeSnap",params:{snapId:e.id,request:{method:"signDirect",params:{chainId:h,signerAddress:w,signDoc:x}}}}),D=x.accountNumber,_=new Bt__default.default(D.low,D.high,D.unsigned);return {signature:P.signature,signed:N(E({},P.signed),{accountNumber:`${_.toString()}`,authInfoBytes:new Uint8Array(Object.values(P.signed.authInfoBytes)),bodyBytes:new Uint8Array(Object.values(P.signed.bodyBytes))})}}),c=(h,w,x)=>l(void 0,null,function*(){return yield t.request({method:"wallet_invokeSnap",params:{snapId:e.id,request:{method:"signAmino",params:{chainId:h,signerAddress:w,signDoc:x}}}})}),d=h=>l(void 0,null,function*(){let w=yield t.request({method:"wallet_invokeSnap",params:{snapId:e.id,request:{method:"getKey",params:{chainId:h}}}});if(!w)throw new Error("No response from Metamask");return w.pubKey=Uint8Array.from(Object.values(w.pubkey)),delete w.pubkey,E({},w)}),g=h=>l(void 0,null,function*(){let w=yield d(h);return {address:w.bech32Address,algo:w.algo,pubkey:w.pubKey}}),p=(...h)=>l(void 0,null,function*(){let[w,x,P,D]=h;return yield c(w,x,P)}),A=(...h)=>l(void 0,null,function*(){let[w,x,P]=h;return yield a(w,x,P)}),S=h=>({getAccounts:()=>l(void 0,null,function*(){return [yield g(h)]}),signDirect:(w,x)=>A(h,w,x)}),b=h=>({getAccounts:()=>l(void 0,null,function*(){return [yield g(h)]}),signAmino:(w,x)=>p(h,w,x)});return {enable:s,experimentalSuggestChain:(...h)=>l(void 0,null,function*(){yield o(),yield t.request({method:"wallet_invokeSnap",params:{snapId:e.id,request:{method:"suggestChain",params:{chainInfo:h[0]}}}});}),getKey:d,getOfflineSigner:h=>({getAccounts:()=>l(void 0,null,function*(){return [yield g(h)]}),signDirect:(w,x)=>A(h,w,x),signAmino:(w,x)=>p(h,w,x)}),getOfflineSignerAuto:h=>l(void 0,null,function*(){return (yield d(h)).isNanoLedger?b(h):S(h)}),getOfflineSignerOnlyAmino:b,init:o,signAmino:p,signDirect:A}}throw u.getState()._notFoundFn(),new Error("window.ethereum is not defined")};var He=()=>$e({id:"npm:@leapwallet/metamask-cosmos-snap"});var le=()=>{if(typeof window.station!="undefined"){let e=window.station.keplr;return {subscription:o=>{let s=()=>{F(),o();};return window.addEventListener("station_wallet_change",s),()=>{window.removeEventListener("station_wallet_change",s);}},getKey:o=>l(void 0,null,function*(){let s=yield e.getKey(o);return E({isKeystone:!1},s)}),getOfflineSigner:o=>{try{let s=e.getOfflineSignerOnlyAmino(o);return Object.assign(s,{signDirect:(d,g)=>{throw new Error("signDirect not supported by Station")}})}catch(s){throw console.error(s),s}},experimentalSuggestChain:o=>l(void 0,null,function*(){try{let s=Object.assign(o,{chainSymbolImageUrl:o.chainSymbolImageUrl||"",stakeCurrency:{coinDecimals:o.stakeCurrency.coinDecimals,coinDenom:o.stakeCurrency.coinDenom,coinImageUrl:o.stakeCurrency.coinImageUrl||"",coinMinimalDenom:o.stakeCurrency.coinMinimalDenom},currencies:o.currencies.map(a=>({coinDecimals:a.coinDecimals,coinDenom:a.coinDenom,coinImageUrl:a.coinImageUrl||"",coinMinimalDenom:a.coinMinimalDenom})),feeCurrencies:o.feeCurrencies.map(a=>{var c,d,g;return {coinDecimals:a.coinDecimals,coinDenom:a.coinDenom,coinImageUrl:a.coinImageUrl||"",coinMinimalDenom:a.coinMinimalDenom,gasPriceStep:{average:((c=a.gasPriceStep)==null?void 0:c.average)||0,high:((d=a.gasPriceStep)==null?void 0:d.high)||0,low:((g=a.gasPriceStep)==null?void 0:g.low)||0}}})});yield e.experimentalSuggestChain(s);}catch(s){throw console.error(s),s}}),enable:o=>e.enable(o),disable:o=>e.disable(o),getOfflineSignerAuto:o=>e.getOfflineSignerAuto(o),getOfflineSignerOnlyAmino:o=>e.getOfflineSignerOnlyAmino(o),signDirect:()=>e.signDirect(),signAmino:(o,s,a,c)=>e.signAmino(o,s,a)}}throw u.getState()._notFoundFn(),new Error("window.station is not defined")};var ue=()=>{if(typeof window.vectis!="undefined"){let e=window.vectis.cosmos;return {enable:a=>e.enable(a),getOfflineSigner:a=>e.getOfflineSigner(a),getOfflineSignerAuto:a=>e.getOfflineSignerAuto(a),getKey:a=>l(void 0,null,function*(){let c=yield e.getKey(a);return {address:encoding.fromBech32(c.address).data,algo:c.algo,bech32Address:c.address,name:c.name,pubKey:c.pubKey,isKeystone:!1,isNanoLedger:c.isNanoLedger}}),subscription:a=>{let c=()=>{F(),a();};return window.addEventListener("vectis_accountChanged",c),()=>{window.removeEventListener("vectis_accountChanged",c);}},getOfflineSignerOnlyAmino:(...a)=>e.getOfflineSignerAmino(...a),experimentalSuggestChain:(...a)=>l(void 0,null,function*(){let[c]=a,d=N(E({},c),{rpcUrl:c.rpc,restUrl:c.rest,prettyName:c.chainName.replace(" ",""),bech32Prefix:c.bech32Config.bech32PrefixAccAddr});return e.suggestChains([d])}),signDirect:(...a)=>l(void 0,null,function*(){var g;let{1:c,2:d}=a;return e.signDirect(c,{bodyBytes:d.bodyBytes||Uint8Array.from([]),authInfoBytes:d.authInfoBytes||Uint8Array.from([]),accountNumber:Bt__default.default.fromString(((g=d.accountNumber)==null?void 0:g.toString())||"",!1),chainId:d.chainId||""})}),signAmino:(...a)=>l(void 0,null,function*(){let{1:c,2:d}=a;return e.signAmino(c,d)})}}throw u.getState()._notFoundFn(),new Error("window.vectis is not defined")};var Q=()=>typeof window!="undefined"?!!(window.matchMedia("(pointer:coarse)").matches||/Android|webOS|iPhone|iPad|iPod|BlackBerry|Opera Mini/u.test(navigator.userAgent)):!1,Ve=()=>Q()&&navigator.userAgent.toLowerCase().includes("android"),Ye=()=>Q()&&(navigator.userAgent.toLowerCase().includes("iphone")||navigator.userAgent.toLowerCase().includes("ipad"));var Ie=(e,t,n=new Error("Promise timed out"))=>{let i=new Promise((r,o)=>{setTimeout(()=>{o(n);},t);});return Promise.race([e,i])};var j=e=>{var _,te,Pe;if(!((Pe=(te=(_=u.getState().walletConnect)==null?void 0:_.options)==null?void 0:te.projectId)!=null&&Pe.trim()))throw new Error("walletConnect.options.projectId is not defined");let t=(e==null?void 0:e.walletType)||"walletconnect",n=(e==null?void 0:e.encoding)||"base64",i=m=>{if(!e)return;let{appUrl:f,formatNativeUrl:y}=e;if(Q()){if(Ve())if(!m)window.open(f.mobile.android,"_self","noreferrer noopener");else {let I=y(f.mobile.android,m,"android");window.open(I,"_self","noreferrer noopener");}if(Ye())if(!m)window.open(f.mobile.ios,"_self","noreferrer noopener");else {let I=y(f.mobile.ios,m,"ios");window.open(I,"_self","noreferrer noopener");}}},r=()=>{let{wcSignClients:m}=C.getState();if(!m.get(t))throw new Error("walletConnect.signClient is not defined");m.delete(t),C.setState({wcSignClients:m}),u.setState({_reconnect:!1,_reconnectConnector:null,recentChainIds:null});},o=m=>l(void 0,null,function*(){let{wcSignClients:f}=C.getState(),y=f.get(t);if(!y)throw new Error("walletConnect.signClient is not defined");if(!m)throw new Error("No wallet connect session");yield y.disconnect({topic:m,reason:utils.getSdkError("USER_DISCONNECTED")}),yield c(y);}),s=m=>{try{let{wcSignClients:f}=C.getState(),y=f.get(t);if(!y)throw new Error("walletConnect.signClient is not defined");let I=y.session.getAll().at(-1);if(!I)return;if(!(I.expiry*1e3>Date.now()+1e3))throw o(I.topic),new Error("invalid session");try{let M=y.find({requiredNamespaces:{cosmos:{methods:["cosmos_getAccounts","cosmos_signAmino","cosmos_signDirect"],chains:m.map(U=>`cosmos:${U}`),events:["chainChanged","accountsChanged"]}}});if(!M.length)throw new Error("no session");return M.at(-1)}catch(M){if(!M.message.toLowerCase().includes("no matching key"))throw M}return I}catch(f){if(!f.message.toLowerCase().includes("no matching key"))throw f}},a=m=>{try{return s(m)}catch(f){return}},c=m=>l(void 0,null,function*(){try{let f=m.core.pairing.pairings.getAll({active:!1});if(!f.length)return;yield Promise.all(f.map(y=>l(void 0,null,function*(){yield m.core.pairing.pairings.delete(y.topic,{code:7001,message:"clear pairing"});})));}catch(f){if(!f.message.toLowerCase().includes("no matching key"))throw f}}),d=()=>l(void 0,null,function*(){let{walletConnect:m}=u.getState();if(!(m!=null&&m.options))throw new Error("walletConnect.options is not defined");let{wcSignClients:f}=C.getState(),y=f.get(t);if(y)return y;let I=yield signClient.SignClient.init(m.options);return f.set(t,I),C.setState({wcSignClients:f}),I}),g=m=>{let{wcSignClients:f}=C.getState(),y=f.get(t);if(!y)return ()=>{};let I=v=>{let M=C.getState().accounts;if(v.params.event.name==="accountsChanged"&&M&&!Object.values(M).map(U=>U.bech32Address).includes(v.params.event.data[0])){let U=v.params.chainId.split(":")[1];U&&p([U]);}else m();};return y.events.on("session_delete",r),y.events.on("session_expire",r),y.events.on("session_event",I),()=>{y.events.off("session_delete",r),y.events.off("session_expire",r),y.events.off("session_event",I);}},p=m=>l(void 0,null,function*(){var ne;let f=typeof m=="string"?[m]:m,{wcSignClients:y}=C.getState(),I=y.get(t);if(!I)throw new Error("enable walletConnect.signClient is not defined");let{walletConnect:v,chains:M}=u.getState();if(!((ne=v==null?void 0:v.options)!=null&&ne.projectId))throw new Error("walletConnect.options.projectId is not defined");let{Web3Modal:U}=yield import('@web3modal/standalone'),$=new U(E({projectId:v.options.projectId,walletConnectVersion:2,enableExplorer:!1,explorerRecommendedWalletIds:"NONE"},v.web3Modal)),V=a(f);if(!V){let{uri:L,approval:Y}=yield Ie(I.connect({requiredNamespaces:{cosmos:{methods:["cosmos_getAccounts","cosmos_signAmino","cosmos_signDirect"],chains:f.map(G=>`cosmos:${G}`),events:["chainChanged","accountsChanged"]}}}),15e3,new Error("Connection timeout"));if(!L)throw new Error("No wallet connect uri");e?i(L):yield $.openModal({uri:L});let oe=G=>l(void 0,null,function*(){return G.aborted?Promise.reject(new Error("User closed wallet connect")):new Promise((we,X)=>{Y().then(Ne=>{let _e=Ne.sessionProperties;if(!_e)return X(new Error("No session properties"));let Ae=JSON.parse(String(_e.keys));if(Ae.length===0)return X(new Error("No accounts"));let Be=Ae[0];if(!Be)return X(new Error("No accounts"));let De={};return f.forEach(ie=>{De[ie]=N(E({},Be),{bech32Address:encoding.toBech32(M.find(Mt=>Mt.chainId===ie).bech32Config.bech32PrefixAccAddr,encoding.fromBech32(Ae[0].bech32Address).data)});}),C.setState(ie=>({accounts:E(E({},ie.accounts||{}),De)})),we(Ne)}).catch(X),G.addEventListener("abort",()=>{X(new Error("User closed wallet connect"));},{once:!0});})});try{let G=new AbortController,we=G.signal;$.subscribeModal(X=>{X.open||G.abort();}),yield oe(we);}catch(G){if($.closeModal(),!G.message.toLowerCase().includes("no matching key"))return Promise.reject(G)}return e||$.closeModal(),Promise.resolve()}try{yield Ie((()=>l(void 0,null,function*(){let L=yield S(f[0]),Y={};f.forEach(oe=>{Y[oe]=N(E({},L),{bech32Address:encoding.toBech32(M.find(G=>G.chainId===oe).bech32Config.bech32PrefixAccAddr,encoding.fromBech32(L.bech32Address).data)});}),C.setState({accounts:Y});}))(),15e3,new Error("Connection timeout"));}catch(L){if(o(V.topic),!L.message.toLowerCase().includes("no matching key"))throw L}}),A=m=>l(void 0,null,function*(){var M;let{wcSignClients:f}=C.getState(),y=f.get(t);if(!y)throw new Error("walletConnect.signClient is not defined");let I=(M=s([m]))==null?void 0:M.topic;if(!I)throw new Error("No wallet connect session");let v=yield y.request({topic:I,chainId:`cosmos:${m}`,request:{method:"cosmos_getAccounts",params:{}}});if(!v[0])throw new Error("No wallet connect account");return {address:v[0].address,algo:v[0].algo,pubkey:new Uint8Array(Buffer.from(v[0].pubkey,n))}}),S=m=>l(void 0,null,function*(){let{address:f,algo:y,pubkey:I}=yield A(m);return {address:encoding.fromBech32(f).data,algo:y,bech32Address:f,name:"",pubKey:I,isKeystone:!1,isNanoLedger:!1}}),b=(...m)=>l(void 0,null,function*(){var L,Y;let[f,y,I]=m,{accounts:v,wcSignClients:M}=C.getState(),U=M.get(t);if(!U)throw new Error("walletConnect.signClient is not defined");if(!v)throw new Error("account is not defined");let $=(L=s([f]))==null?void 0:L.topic;if(!$)throw new Error("No wallet connect session");if(!I.bodyBytes)throw new Error("No bodyBytes");if(!I.authInfoBytes)throw new Error("No authInfoBytes");let V={topic:$,chainId:`cosmos:${f}`,request:{method:"cosmos_signDirect",params:{signerAddress:y,signDoc:N(E({},I),{bodyBytes:Buffer.from(I.bodyBytes).toString(n),authInfoBytes:Buffer.from(I.authInfoBytes).toString(n),accountNumber:(Y=I.accountNumber)==null?void 0:Y.toString()})}}};return i(),yield U.request(V)}),T=(...m)=>l(void 0,null,function*(){let[f,y,I]=m,{signature:v,signed:M}=yield b(f,y,I);return {signed:{chainId:M.chainId,accountNumber:Bt__default.default.fromString(M.accountNumber,!1),authInfoBytes:new Uint8Array(Buffer.from(M.authInfoBytes,n)),bodyBytes:new Uint8Array(Buffer.from(M.bodyBytes,n))},signature:v}}),W=(...m)=>l(void 0,null,function*(){var L;let[f,y,I,v]=m,{wcSignClients:M}=C.getState(),U=M.get(t),{accounts:$}=C.getState();if(!U)throw new Error("walletConnect.signClient is not defined");if(!$)throw new Error("account is not defined");let V=(L=s([f]))==null?void 0:L.topic;if(!V)throw new Error("No wallet connect session");return i(),yield U.request({topic:V,chainId:`cosmos:${f}`,request:{method:"cosmos_signDirect",params:{signerAddress:y,signDoc:I}}})}),k=(...m)=>l(void 0,null,function*(){let[f,y,I,v]=m;return yield W(f,y,I)}),h=m=>({getAccounts:()=>l(void 0,null,function*(){return [yield A(m)]}),signDirect:(f,y)=>T(m,f,y)}),w=m=>({getAccounts:()=>l(void 0,null,function*(){return [yield A(m)]}),signAmino:(f,y)=>k(m,f,y)});return {enable:p,disable:m=>l(void 0,null,function*(){var I;let{wcSignClients:f}=C.getState(),y=f.get(t);if(m===void 0){let v=y==null?void 0:y.session.getAll();v!==void 0&&(yield Promise.all(v.map(M=>o(M.topic))));}else typeof m=="string"?yield o((I=s([m]))==null?void 0:I.topic):yield Promise.all(m.map(v=>{var M;return o((M=s([v]))==null?void 0:M.topic)}));(y==null?void 0:y.session.getAll().length)===0&&r();}),experimentalSuggestChain:(...m)=>l(void 0,null,function*(){yield Promise.reject(new Error("WalletConnect does not support experimentalSuggestChain"));}),getKey:S,getOfflineSigner:m=>({getAccounts:()=>l(void 0,null,function*(){return [yield A(m)]}),signDirect:(f,y)=>T(m,f,y),signAmino:(f,y)=>k(m,f,y)}),getOfflineSignerAuto:m=>l(void 0,null,function*(){return (yield S(m)).isNanoLedger?w(m):h(m)}),getOfflineSignerOnlyAmino:w,signAmino:k,signDirect:T,subscription:g,init:d}};var Je=()=>{var t,n,i;if(!((i=(n=(t=u.getState().walletConnect)==null?void 0:t.options)==null?void 0:n.projectId)!=null&&i.trim()))throw new Error("walletConnect.options.projectId is not defined");if(!Q())throw new Error("WalletConnect Cosmostation mobile is only supported in mobile");let e={encoding:"hex",appUrl:{mobile:{ios:"cosmostation://",android:"cosmostation://"}},walletType:"wc_cosmostation_mobile",formatNativeUrl:(r,o,s)=>`${r.replaceAll("/","").replaceAll(":","")}://wc?${o}`};return j(e)};var Ze=()=>{var t,n,i;if(!((i=(n=(t=u.getState().walletConnect)==null?void 0:t.options)==null?void 0:n.projectId)!=null&&i.trim()))throw new Error("walletConnect.options.projectId is not defined");if(!Q())throw new Error("WalletConnect Keplr mobile is only supported in mobile");let e={encoding:"base64",appUrl:{mobile:{ios:"keplrwallet://",android:"intent://"}},walletType:"wc_keplr_mobile",formatNativeUrl:(r,o,s)=>{let a=r.replaceAll("/","").replaceAll(":",""),c=encodeURIComponent(o);switch(s){case"ios":return `${a}://wcV2?${c}`;case"android":return `${a}://wcV2?${c}#Intent;package=com.chainapsis.keplr;scheme=keplrwallet;end;`;default:return `${a}://wc?uri=${c}`}}};return j(e)};var et=()=>{var t,n,i;if(!((i=(n=(t=u.getState().walletConnect)==null?void 0:t.options)==null?void 0:n.projectId)!=null&&i.trim()))throw new Error("walletConnect.options.projectId is not defined");if(!Q())throw new Error("WalletConnect Leap mobile is only supported in mobile");let e={encoding:"base64",appUrl:{mobile:{ios:"leapcosmos://",android:"intent://"}},walletType:"wc_leap_mobile",formatNativeUrl:(r,o,s)=>{let a=r.replaceAll("/","").replaceAll(":",""),c=encodeURIComponent(o);switch(s){case"ios":return `${a}://wcV2?${c}`;case"android":return `${a}://wcV2?${c}#Intent;package=io.leapwallet.cosmos;scheme=leapwallet;end;`;default:return `${a}://wc?uri=${c}`}}};return j(e)};var de=()=>{var e;if(typeof((e=window.xfi)==null?void 0:e.keplr)!="undefined"){let t=window.xfi.keplr;return Object.assign(t,{subscription:r=>{let o=()=>{F(),r();};return window.addEventListener("keplr_keystorechange",o),()=>{window.removeEventListener("keplr_keystorechange",o);}}})}throw u.getState()._notFoundFn(),new Error("window.xfi.keplr is not defined")};var B=(e=u.getState().walletType)=>{try{return R(e),!0}catch(t){return !1}},F=()=>{window.sessionStorage.removeItem(J),C.setState(Z);},R=(e=u.getState().walletType)=>{switch(e){case"keplr":return ae();case"leap":return ce();case"cosmostation":return se();case"vectis":return ue();case"walletconnect":return j();case"wc_keplr_mobile":return Ze();case"wc_leap_mobile":return et();case"wc_cosmostation_mobile":return Je();case"metamask_snap_leap":return He();case"station":return le();case"xdefi":return de();default:throw new Error("Unknown wallet type")}},Qo=()=>Object.fromEntries(Fe.map(e=>[e,B(e)])),tt=e=>e==="walletconnect"||e==="wc_keplr_mobile"||e==="wc_leap_mobile"||e==="wc_cosmostation_mobile";var ee=e=>l(void 0,null,function*(){var t;try{let{recentChainIds:n,chains:i,walletType:r}=u.getState(),o=(e==null?void 0:e.walletType)||r;if(!B(o))throw new Error(`${o} is not available`);let a=R(o),c=typeof(e==null?void 0:e.chainId)=="string"?[e.chainId]:(e==null?void 0:e.chainId)||n;if(!c)throw new Error("No last known connected chain, connect action requires chain ids");let d=i==null?void 0:i.map(S=>S.chainId);c.forEach(S=>{if(!(d!=null&&d.includes(S)))throw new Error(`Chain ${S} is not provided in GrazProvider`)}),C.setState(S=>{let b=u.getState()._reconnect||!!u.getState()._reconnectConnector||!!c;return S.activeChainIds&&c.filter(W=>{var k;return !((k=S.activeChainIds)!=null&&k.includes(W))}).length>0?{status:"connecting"}:b?{status:"reconnecting"}:{status:"connecting"}});let{accounts:g}=C.getState();if(yield (t=a.init)==null?void 0:t.call(a),yield a.enable(c),!tt(o)){let S=yield a.getKey(c[0]),b={};c.forEach(T=>{b[T]=N(E({},S),{bech32Address:encoding.toBech32(i.find(W=>W.chainId===T).bech32Config.bech32PrefixAccAddr,encoding.fromBech32(S.bech32Address).data)});}),C.setState(T=>({accounts:E(E({},T.accounts||{}),b)}));}u.setState(S=>({recentChainIds:[...S.recentChainIds||[],...c].filter((b,T,W)=>W.indexOf(b)===T)})),C.setState(S=>({activeChainIds:[...S.activeChainIds||[],...c].filter((b,T,W)=>W.indexOf(b)===T)})),u.setState({walletType:o,_reconnect:!!(e!=null&&e.autoReconnect),_reconnectConnector:o}),C.setState({status:"connected"}),typeof window!="undefined"&&window.sessionStorage.setItem(J,"Active");let p=c.map(S=>i.find(b=>b.chainId===S));return {accounts:C.getState().accounts,walletType:o,chains:p}}catch(n){throw console.error("connect ",n),C.getState().accounts===null&&C.setState({status:"disconnected"}),C.getState().accounts&&C.getState().activeChainIds&&C.setState({status:"connected"}),n}}),Ee=e=>{typeof window!="undefined"&&window.sessionStorage.removeItem(J);let t=typeof(e==null?void 0:e.chainId)=="string"?[e.chainId]:e==null?void 0:e.chainId;if(t){let n=C.getState().accounts;t.forEach(r=>{n==null||delete n[r];}),Object.values(n||{}).length===0?(C.setState(Z),u.setState({_reconnect:!1,_reconnectConnector:null,recentChainIds:null})):(C.setState(r=>{var o;return {activeChainIds:(o=r.activeChainIds)==null?void 0:o.filter(s=>!t.includes(s)),accounts:n}}),u.setState(r=>{var o;return {recentChainIds:(o=r.recentChainIds)==null?void 0:o.filter(s=>!t.includes(s))}}));}else C.setState(Z),u.setState({_reconnect:!1,_reconnectConnector:null,recentChainIds:null});return Promise.resolve()},z=e=>l(void 0,null,function*(){var r;let{recentChainIds:t,_reconnectConnector:n,_reconnect:i}=u.getState();try{let o=B(n||void 0);if(t&&o&&n)return yield ee({chainId:t,walletType:n,autoReconnect:i})}catch(o){(r=e==null?void 0:e.onError)==null||r.call(e,o),Ee();}}),nt=e=>l(void 0,null,function*(){if(!(e!=null&&e.chainId))throw new Error("chainId is required");let{walletType:t}=u.getState(),n=e.walletType||t;if(!B(n))throw new Error(`${n} is not available`);let r=R(n),o=r.getOfflineSigner(e.chainId),s=r.getOfflineSignerOnlyAmino(e.chainId),a=yield r.getOfflineSignerAuto(e.chainId);return {offlineSigner:o,offlineSignerAmino:s,offlineSignerAuto:a}});var be=()=>{u.setState({recentChainIds:null});},ii=()=>u.getState().recentChainIds,ri=()=>{var n;let{recentChainIds:e,chains:t}=u.getState();return (n=e==null?void 0:e.map(i=>t.find(r=>r.chainId===i)))!=null?n:null},Oe=n=>l(void 0,[n],function*({chainInfo:e,walletType:t}){return yield R(t).experimentalSuggestChain(e),e}),ot=e=>l(void 0,null,function*(){var i;let t=u.getState().walletType;return yield Oe({chainInfo:e.chainInfo,walletType:(i=e.walletType)!=null?i:t}),yield ee({chainId:e.chainInfo.chainId,walletType:e.walletType,autoReconnect:e.autoReconnect})});var it=e=>(u.setState(t=>({walletConnect:e.walletConnect||t.walletConnect,walletType:e.defaultWallet||t.walletType,chains:e.chains,chainsConfig:e.chainsConfig||t.chainsConfig,multiChainFetchConcurrency:e.multiChainFetchConcurrency||t.multiChainFetchConcurrency,_notFoundFn:e.onNotFound||t._notFoundFn,_onReconnectFailed:e.onReconnectFailed||t._onReconnectFailed,_reconnect:e.autoReconnect===void 0?!0:e.autoReconnect||t._reconnect})),e);var rt=s=>l(void 0,[s],function*({signingClient:e,senderAddress:t,recipientAddress:n,amount:i,fee:r,memo:o}){if(!e)throw new Error("No connected account detected");if(!t)throw new Error("senderAddress is not defined");return e.sendTokens(t,n,i,r,o)}),st=g=>l(void 0,[g],function*({signingClient:e,senderAddress:t,recipientAddress:n,transferAmount:i,sourcePort:r,sourceChannel:o,timeoutHeight:s,timeoutTimestamp:a,fee:c,memo:d}){if(!e)throw new Error("Stargate signing client is not ready");if(!t)throw new Error("senderAddress is not defined");return e.sendIbcTokens(t,n,i,r,o,s,a,c,d)}),at=a=>l(void 0,[a],function*({signingClient:e,senderAddress:t,msg:n,fee:i,options:r,label:o,codeId:s}){if(!e)throw new Error("CosmWasm signing client is not ready");return e.instantiate(t,s,n,o,i,r)}),ct=a=>l(void 0,[a],function*({signingClient:e,senderAddress:t,msg:n,fee:i,contractAddress:r,funds:o,memo:s}){if(!e)throw new Error("CosmWasm signing client is not ready");return e.execute(t,r,n,i,s,o)}),lt=(e,t,n)=>l(void 0,null,function*(){if(!n)throw new Error("CosmWasm client is not ready");return yield n.queryContractSmart(e,t)}),ut=(e,t,n)=>{if(!n)throw new Error("CosmWasm client is not ready");let i=new TextEncoder().encode(t);return n.queryContractRaw(e,i)};var gi=e=>e,yi=e=>e;var me=e=>e?Object.keys(e).length===0:!0;var xe=class extends Error{constructor(t){super(),this.name="AbortError",this.message=t;}},dt=e=>globalThis.DOMException===void 0?new xe(e):new DOMException(e),mt=e=>{let t=e.reason===void 0?dt("This operation was aborted."):e.reason;return t instanceof Error?t:dt(t)};function Me(o,s){return l(this,arguments,function*(e,t,{concurrency:n=Number.POSITIVE_INFINITY,stopOnError:i=!0,signal:r}={}){return new Promise((a,c)=>{if(e[Symbol.iterator]===void 0&&e[Symbol.asyncIterator]===void 0)throw new TypeError(`Expected \`input\` to be either an \`Iterable\` or \`AsyncIterable\`, got (${typeof e})`);if(typeof t!="function")throw new TypeError("Mapper function is required");if(!((Number.isSafeInteger(n)||n===Number.POSITIVE_INFINITY)&&n>=1))throw new TypeError(`Expected \`concurrency\` to be an integer from 1 and up or \`Infinity\`, got \`${n}\` (${typeof n})`);let d=[],g=[],p=new Map,A=!1,S=!1,b=!1,T=0,W=0,k=e[Symbol.iterator]===void 0?e[Symbol.asyncIterator]():e[Symbol.iterator](),h=x=>{A=!0,S=!0,c(x);};r&&(r.aborted&&h(mt(r)),r.addEventListener("abort",()=>{h(mt(r));}));let w=()=>l(this,null,function*(){if(S)return;let x=yield k.next(),P=W;if(W++,x.done){if(b=!0,T===0&&!S){if(!i&&g.length>0){h(new AggregateError(g));return}if(S=!0,p.size===0){a(d);return}let D=[];for(let[_,te]of d.entries())p.get(_)!==pt&&D.push(te);a(D);}return}T++,l(this,null,function*(){try{let D=yield x.value;if(S)return;let _=yield t(D,P);_===pt&&p.set(P,_),d[P]=_,T--,yield w();}catch(D){if(i)h(D);else {g.push(D),T--;try{yield w();}catch(_){h(_);}}}});});l(this,null,function*(){for(let x=0;x<n;x++){try{yield w();}catch(P){h(P);break}if(b||A)break}});})})}var pt=Symbol("skip");var K=({chainId:e,multiChain:t})=>{let n=u(r=>r.chains);if(!n)throw new Error("No chains found in GrazProvider");let i=typeof e=="string"?[e]:e;switch(!0){case(!!t&&!!i):return i.map(r=>n.find(o=>o.chainId===r)).filter(Boolean);case(!t&&!!i):return [i.map(r=>n.find(o=>o.chainId===r)).filter(Boolean)[0]];case(!!t&&!i):return n;default:return [n[0]]}},q=(e,t,n)=>l(void 0,null,function*(){let i=u.getState().multiChainFetchConcurrency;if(e){let o=yield Me(t,n,{concurrency:i});return Object.fromEntries(o.map((s,a)=>[t[a].chainId,s]))}return yield n(t[0])}),ft=(e,t,n)=>{if(e){let r=t.map(n);return Object.fromEntries(r.map((o,s)=>[t[s].chainId,o]))}return n(t[0])};var Re=e=>{let t=K({chainId:e==null?void 0:e.chainId,multiChain:e==null?void 0:e.multiChain}),n=react.useMemo(()=>["USE_STARGATE_CLIENT",t],[t]);return reactQuery.useQuery({queryKey:n,queryFn:r=>l(void 0,[r],function*({queryKey:[,i]}){if(i.length<1)throw new Error("No chains found");return yield q(!!(e!=null&&e.multiChain),i,s=>l(void 0,null,function*(){var g;let a=(g=u.getState().chainsConfig)==null?void 0:g[s.chainId],c={url:s.rpc,headers:E({},(a==null?void 0:a.rpcHeaders)||{})};return yield stargate.StargateClient.connect(c)}))}),enabled:!!t&&t.length>0&&((e==null?void 0:e.enabled)!==void 0?!!e.enabled:!0),refetchOnWindowFocus:!1})},ke=e=>{let t=K({chainId:e==null?void 0:e.chainId,multiChain:e==null?void 0:e.multiChain}),n=react.useMemo(()=>["USE_COSMWASM_CLIENT",t],[t]);return reactQuery.useQuery({queryKey:n,queryFn:r=>l(void 0,[r],function*({queryKey:[,i]}){if(i.length<1)throw new Error("No chains found");return yield q(!!(e!=null&&e.multiChain),i,s=>l(void 0,null,function*(){var g;let a=(g=u.getState().chainsConfig)==null?void 0:g[s.chainId],c={url:s.rpc,headers:E({},(a==null?void 0:a.rpcHeaders)||{})};return yield cosmwasmStargate.CosmWasmClient.connect(c)}))}),enabled:!!t&&t.length>0&&((e==null?void 0:e.enabled)!==void 0?!!e.enabled:!0),refetchOnWindowFocus:!1})},pe=({type:e,chainId:t,multiChain:n,enabled:i})=>{let r=K({chainId:t,multiChain:n}),o=react.useMemo(()=>["USE_TENDERMINT_CLIENT",e,r],[e,r]);return reactQuery.useQuery({queryKey:o,queryFn:c=>l(void 0,[c],function*({queryKey:[,s,a]}){if(a.length<1)throw new Error("No chains found");return yield q(!!n,a,g=>l(void 0,null,function*(){var T;let p=(T=u.getState().chainsConfig)==null?void 0:T[g.chainId],A={url:g.rpc,headers:E({},(p==null?void 0:p.rpcHeaders)||{})};return yield (s==="tm37"?tendermintRpc.Tendermint37Client:tendermintRpc.Tendermint34Client).connect(A)}))}),enabled:!!r&&r.length>0&&(i!==void 0?!!i:!0),refetchOnWindowFocus:!1})};var Fi=()=>u(e=>({walletType:e.walletType,isCosmostation:e.walletType==="cosmostation",isCosmostationMobile:e.walletType==="wc_cosmostation_mobile",isKeplr:e.walletType==="keplr",isKeplrMobile:e.walletType==="wc_keplr_mobile",isLeap:e.walletType==="leap",isLeapMobile:e.walletType==="wc_leap_mobile",isVectis:e.walletType==="vectis",isWalletConnect:e.walletType==="walletconnect",isMetamaskSnapLeap:e.walletType==="metamask_snap_leap",isStation:e.walletType==="station"}),shallow.shallow),fe=e=>{let n=["USE_CHECK_WALLET",u(r=>e||r.walletType)];return reactQuery.useQuery(n,({queryKey:[,r]})=>B(r))};var H=e=>{let t=u(a=>a.walletType),n=C(a=>a.activeChainIds),i=K({chainId:e!=null&&e.chainId?e.chainId:n||void 0,multiChain:e==null?void 0:e.multiChain}),r=C(a=>a.accounts),o=C(a=>a.status);return react.useEffect(()=>C.subscribe(a=>a.status,(a,c)=>{var d,g,p;if(a==="connected"){let{accounts:A,activeChainIds:S}=C.getState(),{chains:b}=u.getState(),{walletType:T}=u.getState();if(!A||!S||!b)return (d=e==null?void 0:e.onDisconnect)==null?void 0:d.call(e);(g=e==null?void 0:e.onConnect)==null||g.call(e,{accounts:A,chains:S.map(W=>b.find(k=>k.chainId===W)),walletType:T,isReconnect:c==="reconnecting"});}a==="disconnected"&&((p=e==null?void 0:e.onDisconnect)==null||p.call(e));}),[e]),{data:react.useMemo(()=>r?ft(!!(e!=null&&e.multiChain),i,a=>r[a.chainId]):void 0,[r,i,e==null?void 0:e.multiChain]),isConnected:o==="connected",isConnecting:o==="connecting",isDisconnected:o==="disconnected",isReconnecting:o==="reconnecting",isLoading:o==="connecting"||o==="reconnecting",walletType:o==="connected"?t:void 0,reconnect:z,status:o}},Xt=e=>{let t=K({chainId:e==null?void 0:e.chainId,multiChain:e==null?void 0:e.multiChain}),{data:n}=H(),i=(e==null?void 0:e.bech32Address)||(n==null?void 0:n.bech32Address),{data:r}=Re({chainId:t.map(s=>s.chainId),multiChain:!0,enabled:((e==null?void 0:e.enabled)===void 0?!0:e.enabled)&&!!i}),o=react.useMemo(()=>["USE_ALL_BALANCES",r,t,i,e==null?void 0:e.chainId],[i,e==null?void 0:e.chainId,t,r]);return reactQuery.useQuery(o,d=>l(void 0,[d],function*({queryKey:[,s,a,c]}){if(!c)throw new Error("address is not defined");return yield q(!!(e!=null&&e.multiChain),a,p=>l(void 0,null,function*(){let A=s==null?void 0:s[p.chainId];if(!A)throw new Error(`Client is not ready ${p.chainId}`);return yield A.getAllBalances(encoding.toBech32(p.bech32Config.bech32PrefixAccAddr,encoding.fromBech32(c).data))}))}),{enabled:!!i&&!!t&&t.length>0&&!me(r)&&((e==null?void 0:e.enabled)===void 0?!0:e.enabled),refetchOnMount:!1,refetchOnReconnect:!0,refetchOnWindowFocus:!1})},nr=e=>{let t=K({chainId:e.chainId}),{data:n}=H({chainId:e.chainId}),i=e.bech32Address||(n==null?void 0:n.bech32Address),{data:r,refetch:o}=Xt({chainId:t.map(c=>c.chainId),bech32Address:i,enabled:!!i&&(e.enabled===void 0?!0:e.enabled)}),s=["USE_BALANCE",e.denom,r,t,i,e.chainId],a=reactQuery.useQuery(s,({queryKey:[,c,d]})=>d==null?void 0:d.find(g=>g.denom===c),{enabled:!!r&&!!(r!=null&&r.length)&&(e.enabled===void 0?!0:e.enabled)});return N(E({},a),{refetch:c=>l(void 0,null,function*(){return yield o(),a.refetch(c)})})},or=({onError:e,onLoading:t,onSuccess:n}={})=>{let r=reactQuery.useMutation(["USE_CONNECT",e,t,n],ee,{onError:(s,a)=>Promise.resolve(e==null?void 0:e(s,a)),onMutate:t,onSuccess:s=>Promise.resolve(n==null?void 0:n(s))}),{data:o}=fe();return {connect:s=>r.mutate(s),connectAsync:s=>r.mutateAsync(s),error:r.error,isLoading:r.isLoading,isSuccess:r.isSuccess,isSupported:!!o,status:r.status}},ir=({onError:e,onLoading:t,onSuccess:n}={})=>{let r=reactQuery.useMutation(["USE_DISCONNECT",e,t,n],Ee,{onError:o=>Promise.resolve(e==null?void 0:e(o,void 0)),onMutate:t,onSuccess:()=>Promise.resolve(n==null?void 0:n(void 0))});return {disconnect:o=>r.mutate(o),disconnectAsync:o=>r.mutateAsync(o),error:r.error,isLoading:r.isLoading,isSuccess:r.isSuccess,status:r.status}},rr=e=>{let t=K({chainId:e==null?void 0:e.chainId,multiChain:e==null?void 0:e.multiChain}),n=u(r=>r.walletType),i=react.useMemo(()=>["USE_OFFLINE_SIGNERS",t,n],[t,n]);return reactQuery.useQuery({queryKey:i,queryFn:s=>l(void 0,[s],function*({queryKey:[,r,o]}){if(r.length<1)throw new Error("No chain found");if(!B(o))throw new Error(`${o} is not available`);return yield q(!!(e!=null&&e.multiChain),r,d=>l(void 0,null,function*(){return yield nt({chainId:d.chainId,walletType:o})}))}),enabled:!!t&&t.length>0&&!!n,refetchOnWindowFocus:!1})},sr=e=>{let t=K({chainId:e==null?void 0:e.chainId,multiChain:e==null?void 0:e.multiChain}),{data:n}=H(),{data:i}=Re({chainId:t.map(s=>s.chainId),multiChain:!0}),r=(e==null?void 0:e.bech32Address)||(n==null?void 0:n.bech32Address),o=react.useMemo(()=>["USE_BALANCE_STAKED",i,t,r],[t,r,i]);return reactQuery.useQuery(o,d=>l(void 0,[d],function*({queryKey:[,s,a,c]}){if(!c)throw new Error("address is not defined");return yield q(!!(e!=null&&e.multiChain),a,p=>l(void 0,null,function*(){var S;if(!s)throw new Error("Client is not ready");return yield (S=s[p.chainId])==null?void 0:S.getBalanceStaked(encoding.toBech32(p.bech32Config.bech32PrefixAccAddr,encoding.fromBech32(c).data))}))}),{enabled:!!r&&!!t&&t.length>0&&!!i,refetchOnMount:!1,refetchOnReconnect:!0,refetchOnWindowFocus:!1})};var fr=()=>C(e=>e.activeChainIds),Jt=()=>{var e;return (e=C(t=>t.activeChainIds))==null?void 0:e.map(t=>{var i;let n=(i=u.getState().chains)==null?void 0:i.find(r=>r.chainId===t);if(n)return n}).filter(Boolean)},gr=({denom:e})=>{let t=Jt();return reactQuery.useQuery(["USE_ACTIVE_CHAIN_CURRENCY",e],({queryKey:[,r]})=>{var o;return (o=t==null?void 0:t.find(s=>s.currencies.find(a=>a.coinMinimalDenom===r)))==null?void 0:o.currencies.find(s=>s)})},yr=e=>{var r;let t=(r=e.status)!=null?r:"BOND_STATUS_BONDED",n=["USE_ACTIVE_CHAIN_VALIDATORS",e.queryClient,t];return reactQuery.useQuery(n,a=>l(void 0,[a],function*({queryKey:[,o,s]}){if(!o)throw new Error("Query client is not defined");return yield o.staking.validators(s)}),{enabled:typeof e.queryClient!="undefined"})},Cr=()=>({data:u(t=>t.recentChainIds),clear:be}),hr=()=>{var t;return {data:(t=u(n=>n.recentChainIds))==null?void 0:t.map(n=>{var r;let i=(r=u.getState().chains)==null?void 0:r.find(o=>o.chainId===n);if(i)return i}).filter(Boolean),clear:be}},Sr=({onError:e,onLoading:t,onSuccess:n}={})=>{let r=reactQuery.useMutation(["USE_SUGGEST_CHAIN",e,t,n],Oe,{onError:(o,s)=>Promise.resolve(e==null?void 0:e(o,s.chainInfo)),onMutate:o=>t==null?void 0:t(o.chainInfo),onSuccess:o=>Promise.resolve(n==null?void 0:n(o))});return {error:r.error,isLoading:r.isLoading,isSuccess:r.isSuccess,suggest:r.mutate,suggestAsync:r.mutateAsync,status:r.status}},wr=({onError:e,onLoading:t,onSuccess:n}={})=>{let r=reactQuery.useMutation(["USE_SUGGEST_CHAIN_AND_CONNECT",e,t,n],ot,{onError:(s,a)=>Promise.resolve(e==null?void 0:e(s,a)),onMutate:s=>t==null?void 0:t(s),onSuccess:s=>Promise.resolve(n==null?void 0:n(s))}),{data:o}=fe();return {error:r.error,isLoading:r.isLoading,isSuccess:r.isSuccess,isSupported:!!o,status:r.status,suggestAndConnect:r.mutate,suggestAndConnectAsync:r.mutateAsync}};var Mr=({onError:e,onLoading:t,onSuccess:n}={})=>{let{data:i}=H(),r=i==null?void 0:i.bech32Address,o=reactQuery.useMutation(["USE_SEND_TOKENS",e,t,n,r],s=>rt(E({senderAddress:r},s)),{onError:(s,a)=>Promise.resolve(e==null?void 0:e(s,a)),onMutate:t,onSuccess:s=>Promise.resolve(n==null?void 0:n(s))});return {error:o.error,isLoading:o.isLoading,isSuccess:o.isSuccess,sendTokens:o.mutate,sendTokensAsync:o.mutateAsync,status:o.status}},Wr=({onError:e,onLoading:t,onSuccess:n}={})=>{let{data:i}=H(),r=i==null?void 0:i.bech32Address,o=reactQuery.useMutation(["USE_SEND_IBC_TOKENS",e,t,n,r],s=>st(E({senderAddress:r},s)),{onError:(s,a)=>Promise.resolve(e==null?void 0:e(s,a)),onMutate:t,onSuccess:s=>Promise.resolve(n==null?void 0:n(s))});return {error:o.error,isLoading:o.isLoading,isSuccess:o.isSuccess,sendIbcTokens:o.mutate,sendIbcTokensAsync:o.mutateAsync,status:o.status}},vr=({codeId:e,onError:t,onLoading:n,onSuccess:i})=>{let{data:r}=H(),o=r==null?void 0:r.bech32Address,a=reactQuery.useMutation(["USE_INSTANTIATE_CONTRACT",t,n,i,e,o],c=>{var g;if(!o)throw new Error("senderAddress is undefined");let d=N(E({},c),{fee:(g=c.fee)!=null?g:"auto",senderAddress:o,codeId:e});return at(d)},{onError:(c,d)=>Promise.resolve(t==null?void 0:t(c,d)),onMutate:n,onSuccess:c=>Promise.resolve(i==null?void 0:i(c))});return {error:a.error,isLoading:a.isLoading,isSuccess:a.isSuccess,instantiateContract:a.mutate,instantiateContractAsync:a.mutateAsync,status:a.status}},Rr=({contractAddress:e,onError:t,onLoading:n,onSuccess:i})=>{let{data:r}=H(),o=r==null?void 0:r.bech32Address,a=reactQuery.useMutation(["USE_EXECUTE_CONTRACT",t,n,i,e,o],c=>{var g,p,A;if(!o)throw new Error("senderAddress is undefined");let d=N(E({},c),{fee:(g=c.fee)!=null?g:"auto",senderAddress:o,contractAddress:e,memo:(p=c.memo)!=null?p:"",funds:(A=c.funds)!=null?A:[]});return ct(d)},{onError:(c,d)=>Promise.resolve(t==null?void 0:t(c,d)),onMutate:n,onSuccess:c=>Promise.resolve(i==null?void 0:i(c))});return {error:a.error,isLoading:a.isLoading,isSuccess:a.isSuccess,executeContract:a.mutate,executeContractAsync:a.mutateAsync,status:a.status}},kr=e=>{let{data:t}=ke();return reactQuery.useQuery(["USE_QUERY_SMART",e==null?void 0:e.address,e==null?void 0:e.queryMsg,t],({queryKey:[,i]})=>{if(!(e!=null&&e.address)||!e.queryMsg)throw new Error("address or queryMsg undefined");return lt(e.address,e.queryMsg,t)},{enabled:!!(e!=null&&e.address)&&!!(e!=null&&e.queryMsg)&&!!t})},Pr=e=>{let{data:t}=ke(),n=["USE_QUERY_RAW",e==null?void 0:e.key,e==null?void 0:e.address,t];return reactQuery.useQuery(n,({queryKey:[,r]})=>{if(!(e!=null&&e.address)||!e.key)throw new Error("address or key undefined");return ut(e.address,e.key,t)},{enabled:!!(e!=null&&e.address)&&!!(e!=null&&e.key)&&!!t})};function jr(e){let t=K({chainId:e==null?void 0:e.chainId,multiChain:e==null?void 0:e.multiChain}),n=u(o=>o.walletType),i=C(o=>o.activeChainIds),r=react.useMemo(()=>["USE_STARGATE_SIGNING_CLIENT",t,n,e,i],[i,e,t,n]);return reactQuery.useQuery({queryKey:r,queryFn:a=>l(this,[a],function*({queryKey:[,o,s]}){if(o.length<1)throw new Error("No chains found");return yield q(!!(e!=null&&e.multiChain),o,d=>l(this,null,function*(){var T,W;if(!(i!=null&&i.includes(d.chainId)))return;if(!B(s))throw new Error(`${s} is not available`);let p=yield (()=>l(this,null,function*(){switch(e==null?void 0:e.offlineSigner){case"offlineSigner":return R(s).getOfflineSigner(d.chainId);case"offlineSignerAuto":return R(s).getOfflineSignerAuto(d.chainId);case"offlineSignerOnlyAmino":return R(s).getOfflineSignerOnlyAmino(d.chainId);default:return R(s).getOfflineSignerAuto(d.chainId)}}))(),A=(T=u.getState().chainsConfig)==null?void 0:T[d.chainId],S={url:d.rpc,headers:E({},(A==null?void 0:A.rpcHeaders)||{})};return (e==null?void 0:e.multiChain)===!0&&e.opts,yield stargate.SigningStargateClient.connectWithSigner(S,p,e!=null&&e.multiChain?(W=e.opts)==null?void 0:W[d.chainId]:e==null?void 0:e.opts)}))}),enabled:!!t&&t.length>0&&!!n&&((e==null?void 0:e.enabled)!==void 0?!!e.enabled:!0),refetchOnWindowFocus:!1})}function $r(e){let t=K({chainId:e==null?void 0:e.chainId,multiChain:e==null?void 0:e.multiChain}),n=u(o=>o.walletType),i=C(o=>o.activeChainIds),r=react.useMemo(()=>["USE_COSMWASM_SIGNING_CLIENT",t,n,e,i],[i,e,t,n]);return reactQuery.useQuery({queryKey:r,queryFn:a=>l(this,[a],function*({queryKey:[,o,s]}){if(o.length<1)throw new Error("No chains found");return yield q(!!(e!=null&&e.multiChain),o,d=>l(this,null,function*(){var W,k;if(!(i!=null&&i.includes(d.chainId)))return;if(!B(s))throw new Error(`${s} is not available`);let p=yield (()=>l(this,null,function*(){switch(e==null?void 0:e.offlineSigner){case"offlineSigner":return R(s).getOfflineSigner(d.chainId);case"offlineSignerAuto":return R(s).getOfflineSignerAuto(d.chainId);case"offlineSignerOnlyAmino":return R(s).getOfflineSignerOnlyAmino(d.chainId);default:return R(s).getOfflineSignerAuto(d.chainId)}}))(),A=(W=u.getState().chainsConfig)==null?void 0:W[d.chainId],S={url:d.rpc,headers:E({},(A==null?void 0:A.rpcHeaders)||{})},b=A!=null&&A.gas?stargate.GasPrice.fromString(`${A.gas.price}${A.gas.denom}`):void 0;return yield cosmwasmStargate.SigningCosmWasmClient.connectWithSigner(S,p,E({gasPrice:b},e!=null&&e.multiChain?(k=e.opts)==null?void 0:k[d.chainId]:(e==null?void 0:e.opts)||{}))}))}),enabled:!!t&&t.length>0&&!!n&&((e==null?void 0:e.enabled)!==void 0?!!e.enabled:!0),refetchOnWindowFocus:!1})}function Hr(e){let t=K({chainId:e.chainId,multiChain:e.multiChain}),n=u(s=>s.walletType),i=C(s=>s.activeChainIds),r=react.useMemo(()=>["USE_STARGATE_TM_SIGNING_CLIENT",t,n,e,i],[i,e,t,n]),{data:o}=pe({type:e.type,chainId:e.chainId,multiChain:e.multiChain});return reactQuery.useQuery({queryKey:r,queryFn:c=>l(this,[c],function*({queryKey:[,s,a]}){if(s.length<1)throw new Error("No chains found");return yield q(!!e.multiChain,s,g=>l(this,null,function*(){var T;if(!(i!=null&&i.includes(g.chainId)))return;if(!B(a))throw new Error(`${a} is not available`);if(!o)throw new Error("No tendermint client found");let A=yield (()=>l(this,null,function*(){switch(e.offlineSigner){case"offlineSigner":return R(a).getOfflineSigner(g.chainId);case"offlineSignerAuto":return R(a).getOfflineSignerAuto(g.chainId);case"offlineSignerOnlyAmino":return R(a).getOfflineSignerOnlyAmino(g.chainId);default:return R(a).getOfflineSignerAuto(g.chainId)}}))(),S=e.multiChain?o[g.chainId]:o;return yield stargate.SigningStargateClient.createWithSigner(S,A,e.multiChain?(T=e.opts)==null?void 0:T[g.chainId]:e.opts)}))}),enabled:!!t&&t.length>0&&!!n&&!!o&&(e.enabled!==void 0?!!e.enabled:!0),refetchOnWindowFocus:!1})}function Vr(e){let t=K({chainId:e.chainId,multiChain:e.multiChain}),n=u(a=>a.walletType),i=C(a=>a.activeChainIds),r=react.useMemo(()=>["USE_COSMWASM_TM_SIGNING_CLIENT",t,n,e,i],[i,e,t,n]),{data:o}=pe({type:e.type,chainId:e.chainId,multiChain:!1,enabled:!e.multiChain}),{data:s}=pe({type:e.type,chainId:e.chainId,multiChain:!0,enabled:!!e.multiChain});return reactQuery.useQuery({queryKey:r,queryFn:d=>l(this,[d],function*({queryKey:[,a,c]}){if(a.length<1)throw new Error("No chains found");return yield q(!!e.multiChain,a,p=>l(this,null,function*(){var h,w;if(!(i!=null&&i.includes(p.chainId)))return;if(!B(c))throw new Error(`${c} is not available`);let S=yield (()=>l(this,null,function*(){switch(e.offlineSigner){case"offlineSigner":return R(c).getOfflineSigner(p.chainId);case"offlineSignerAuto":return R(c).getOfflineSignerAuto(p.chainId);case"offlineSignerOnlyAmino":return R(c).getOfflineSignerOnlyAmino(p.chainId);default:return R(c).getOfflineSignerAuto(p.chainId)}}))(),b=(h=u.getState().chainsConfig)==null?void 0:h[p.chainId],T=b!=null&&b.gas?stargate.GasPrice.fromString(`${b.gas.price}${b.gas.denom}`):void 0,W=e.multiChain?s==null?void 0:s[p.chainId]:o;if(!W)throw new Error("No tendermint client found");return yield cosmwasmStargate.SigningCosmWasmClient.createWithSigner(W,S,E({gasPrice:T},e.multiChain?(w=e.opts)==null?void 0:w[p.chainId]:e.opts||{}))}))}),enabled:!!t&&t.length>0&&!!n&&(!!o||!me(s))&&(e.enabled!==void 0?!!e.enabled:!0),refetchOnWindowFocus:!1})}var Et=({children:e})=>{let[t,n]=react.useState(!1);return react.useEffect(()=>{n(!0);},[]),jsxRuntime.jsx(jsxRuntime.Fragment,{children:t?e:null})};var on=()=>{let e=typeof window!="undefined"&&window.sessionStorage.getItem(J)==="Active",{_reconnect:t,_onReconnectFailed:n,_reconnectConnector:i}=u(),{activeChainIds:r,wcSignClients:o}=C(),s=B(i||void 0);return react.useEffect(()=>{if(i){if(!s)return;e&&r?z({onError:n}):!e&&t&&z({onError:n});}},[s]),react.useEffect(()=>{var a,c,d,g,p,A,S,b,T,W,k,h,w,x;if(i){if(!s)return;i==="cosmostation"&&((c=(a=se()).subscription)==null||c.call(a,()=>{z({onError:n});})),i==="keplr"&&((g=(d=ae()).subscription)==null||g.call(d,()=>{z({onError:n});})),i==="leap"&&((A=(p=ce()).subscription)==null||A.call(p,()=>{z({onError:n});})),i==="vectis"&&((b=(S=ue()).subscription)==null||b.call(S,()=>{z({onError:n});})),i==="walletconnect"&&o.has("walletconnect")&&((W=(T=j()).subscription)==null||W.call(T,()=>{z({onError:n});})),i==="station"&&((h=(k=le()).subscription)==null||h.call(k,()=>{z({onError:n});})),i==="xdefi"&&((x=(w=de()).subscription)==null||x.call(w,()=>{z({onError:n});}));}},[i,o,s]),null},Ot=()=>(on(),null);var an=new reactQuery.QueryClient({}),As=i=>{var r=i,{children:e,grazOptions:t}=r,n=qe(r,["children","grazOptions"]);return it(t),jsxRuntime.jsx(reactQuery.QueryClientProvider,N(E({client:an},n),{children:jsxRuntime.jsxs(Et,{children:[e,jsxRuntime.jsx(Ot,{})]})}),"graz-provider")};
22
22
 
23
- exports.GrazEvents = Tt;
24
- exports.GrazProvider = ps;
25
- exports.WALLET_TYPES = Ue;
26
- exports.WalletType = Ke;
23
+ exports.GrazEvents = Ot;
24
+ exports.GrazProvider = As;
25
+ exports.WALLET_TYPES = Fe;
26
+ exports.WalletType = Ge;
27
27
  exports.checkWallet = B;
28
- exports.clearRecentChain = Ie;
29
- exports.clearSession = G;
30
- exports.configureGraz = tt;
31
- exports.connect = Z;
32
- exports.defineChainInfo = li;
33
- exports.defineChains = ci;
34
- exports.disconnect = Ae;
35
- exports.executeContract = rt;
36
- exports.getAvailableWallets = Ko;
37
- exports.getCosmostation = re;
38
- exports.getKeplr = se;
39
- exports.getLeap = ae;
40
- exports.getMetamaskSnapLeap = ze;
41
- exports.getOfflineSigners = Ze;
42
- exports.getQueryRaw = at;
43
- exports.getQuerySmart = st;
44
- exports.getRecentChainIds = Jo;
45
- exports.getRecentChains = Xo;
46
- exports.getVectis = ce;
47
- exports.getWCCosmostation = Ve;
48
- exports.getWCKeplr = Ye;
49
- exports.getWCLeap = Je;
50
- exports.getWallet = v;
51
- exports.getWalletConnect = Q;
52
- exports.instantiateContract = it;
53
- exports.isWalletConnect = Xe;
54
- exports.reconnect = F;
55
- exports.sendIbcTokens = ot;
56
- exports.sendTokens = nt;
57
- exports.suggestChain = Te;
58
- exports.suggestChainAndConnect = et;
59
- exports.useAccount = $;
60
- exports.useActiveChainCurrency = cr;
61
- exports.useActiveChainIds = ar;
62
- exports.useActiveChains = Vt;
63
- exports.useActiveWalletType = Bi;
64
- exports.useBalance = Vi;
65
- exports.useBalanceStaked = Zi;
66
- exports.useBalances = Ht;
67
- exports.useCheckWallet = me;
68
- exports.useConnect = Yi;
69
- exports.useCosmWasmClient = We;
70
- exports.useCosmWasmSigningClient = Lr;
71
- exports.useCosmWasmTmSigningClient = Gr;
72
- exports.useDisconnect = Ji;
73
- exports.useExecuteContract = Er;
74
- exports.useGrazEvents = en;
75
- exports.useInstantiateContract = Tr;
76
- exports.useOfflineSigners = Xi;
77
- exports.useQueryClientValidators = lr;
78
- exports.useQueryRaw = Or;
79
- exports.useQuerySmart = br;
80
- exports.useRecentChainIds = ur;
81
- exports.useRecentChains = dr;
82
- exports.useSendIbcTokens = Ir;
83
- exports.useSendTokens = Ar;
84
- exports.useStargateClient = xe;
85
- exports.useStargateSigningClient = Ur;
86
- exports.useStargateTmSigningClient = qr;
87
- exports.useSuggestChain = mr;
88
- exports.useSuggestChainAndConnect = pr;
89
- exports.useTendermintClient = de;
28
+ exports.clearRecentChain = be;
29
+ exports.clearSession = F;
30
+ exports.configureGraz = it;
31
+ exports.connect = ee;
32
+ exports.defineChainInfo = yi;
33
+ exports.defineChains = gi;
34
+ exports.disconnect = Ee;
35
+ exports.executeContract = ct;
36
+ exports.getAvailableWallets = Qo;
37
+ exports.getCosmostation = se;
38
+ exports.getKeplr = ae;
39
+ exports.getLeap = ce;
40
+ exports.getMetamaskSnapLeap = He;
41
+ exports.getOfflineSigners = nt;
42
+ exports.getQueryRaw = ut;
43
+ exports.getQuerySmart = lt;
44
+ exports.getRecentChainIds = ii;
45
+ exports.getRecentChains = ri;
46
+ exports.getVectis = ue;
47
+ exports.getWCCosmostation = Je;
48
+ exports.getWCKeplr = Ze;
49
+ exports.getWCLeap = et;
50
+ exports.getWallet = R;
51
+ exports.getWalletConnect = j;
52
+ exports.instantiateContract = at;
53
+ exports.isWalletConnect = tt;
54
+ exports.reconnect = z;
55
+ exports.sendIbcTokens = st;
56
+ exports.sendTokens = rt;
57
+ exports.suggestChain = Oe;
58
+ exports.suggestChainAndConnect = ot;
59
+ exports.useAccount = H;
60
+ exports.useActiveChainCurrency = gr;
61
+ exports.useActiveChainIds = fr;
62
+ exports.useActiveChains = Jt;
63
+ exports.useActiveWalletType = Fi;
64
+ exports.useBalance = nr;
65
+ exports.useBalanceStaked = sr;
66
+ exports.useBalances = Xt;
67
+ exports.useCheckWallet = fe;
68
+ exports.useConnect = or;
69
+ exports.useCosmWasmClient = ke;
70
+ exports.useCosmWasmSigningClient = $r;
71
+ exports.useCosmWasmTmSigningClient = Vr;
72
+ exports.useDisconnect = ir;
73
+ exports.useExecuteContract = Rr;
74
+ exports.useGrazEvents = on;
75
+ exports.useInstantiateContract = vr;
76
+ exports.useOfflineSigners = rr;
77
+ exports.useQueryClientValidators = yr;
78
+ exports.useQueryRaw = Pr;
79
+ exports.useQuerySmart = kr;
80
+ exports.useRecentChainIds = Cr;
81
+ exports.useRecentChains = hr;
82
+ exports.useSendIbcTokens = Wr;
83
+ exports.useSendTokens = Mr;
84
+ exports.useStargateClient = Re;
85
+ exports.useStargateSigningClient = jr;
86
+ exports.useStargateTmSigningClient = Hr;
87
+ exports.useSuggestChain = Sr;
88
+ exports.useSuggestChainAndConnect = wr;
89
+ exports.useTendermintClient = pe;
package/dist/index.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  import { fromBech32, toBech32 } from '@cosmjs/encoding';
2
2
  import { create } from 'zustand';
3
3
  import { createJSONStorage, subscribeWithSelector, persist } from 'zustand/middleware';
4
- import Nt from 'long';
4
+ import Dt from 'long';
5
5
  import { SignClient } from '@walletconnect/sign-client';
6
6
  import { getSdkError } from '@walletconnect/utils';
7
7
  import { QueryClient, useQuery, useMutation, QueryClientProvider } from '@tanstack/react-query';
@@ -12,6 +12,6 @@ import { Tendermint37Client, Tendermint34Client } from '@cosmjs/tendermint-rpc';
12
12
  import { shallow } from 'zustand/shallow';
13
13
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
14
14
 
15
- var Mt=Object.defineProperty,xt=Object.defineProperties;var Wt=Object.getOwnPropertyDescriptors;var re=Object.getOwnPropertySymbols;var Be=Object.prototype.hasOwnProperty,De=Object.prototype.propertyIsEnumerable;var _e=(e,t,n)=>t in e?Mt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,E=(e,t)=>{for(var n in t||(t={}))Be.call(t,n)&&_e(e,n,t[n]);if(re)for(var n of re(t))De.call(t,n)&&_e(e,n,t[n]);return e},N=(e,t)=>xt(e,Wt(t));var Ke=(e,t)=>{var n={};for(var o in e)Be.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(e!=null&&re)for(var o of re(e))t.indexOf(o)<0&&De.call(e,o)&&(n[o]=e[o]);return n};var l=(e,t,n)=>new Promise((o,r)=>{var i=c=>{try{s(n.next(c));}catch(u){r(u);}},a=c=>{try{s(n.throw(c));}catch(u){r(u);}},s=c=>c.done?o(c.value):Promise.resolve(c.value).then(i,a);s((n=n.apply(e,t)).next());});var X="graz-reconnect-session";var Ue=(m=>(m.KEPLR="keplr",m.LEAP="leap",m.VECTIS="vectis",m.COSMOSTATION="cosmostation",m.WALLETCONNECT="walletconnect",m.WC_KEPLR_MOBILE="wc_keplr_mobile",m.WC_LEAP_MOBILE="wc_leap_mobile",m.WC_COSMOSTATION_MOBILE="wc_cosmostation_mobile",m.METAMASK_SNAP_LEAP="metamask_snap_leap",m.STATION="station",m))(Ue||{}),Le=["keplr","leap","vectis","cosmostation","walletconnect","wc_keplr_mobile","wc_leap_mobile","wc_cosmostation_mobile","metamask_snap_leap","station"];var Rt={recentChainIds:null,chains:null,chainsConfig:null,multiChainFetchConcurrency:3,walletType:"keplr",walletConnect:{options:null,web3Modal:null},_notFoundFn:()=>null,_onReconnectFailed:()=>null,_reconnect:!1,_reconnectConnector:null},Z={accounts:null,activeChainIds:null,status:"disconnected",wcSignClient:null},kt={name:"graz-session",version:2,partialize:e=>({accounts:e.accounts,activeChainIds:e.activeChainIds}),storage:createJSONStorage(()=>sessionStorage)},Pt={name:"graz-internal",partialize:e=>({recentChainIds:e.recentChainIds,_reconnect:e._reconnect,_reconnectConnector:e._reconnectConnector}),version:2},y=create(subscribeWithSelector(persist(()=>Z,kt))),d=create(subscribeWithSelector(persist(()=>Rt,Pt)));var se=()=>{if(typeof window.cosmostation.providers.keplr!="undefined"){let e=window.cosmostation.providers.keplr;return Object.assign(e,{subscription:o=>{let r=()=>{F(),o();};return window.cosmostation.cosmos.on("accountChanged",r),()=>{window.cosmostation.cosmos.off("accountChanged",r);}}})}throw d.getState()._notFoundFn(),new Error("window.cosmostation.providers.keplr is not defined")};var ae=()=>{if(typeof window.keplr!="undefined"){let e=window.keplr;return Object.assign(e,{subscription:o=>{let r=()=>{F(),o();};return window.addEventListener("keplr_keystorechange",r),()=>{window.removeEventListener("keplr_keystorechange",r);}}})}throw d.getState()._notFoundFn(),new Error("window.keplr is not defined")};var ce=()=>{if(typeof window.leap!="undefined"){let e=window.leap;return Object.assign(e,{subscription:o=>{let r=()=>{F(),o();};return window.addEventListener("leap_keystorechange",r),()=>{window.removeEventListener("leap_keystorechange",r);}}})}throw d.getState()._notFoundFn(),new Error("window.leap is not defined")};var ze=e=>{let t=window.ethereum;if(t&&e){let n=()=>l(void 0,null,function*(){return yield t.request({method:"wallet_getSnaps"})}),o=g=>l(void 0,null,function*(){try{let A=yield n();return Object.values(A).find(x=>x.id===e.id&&(!g||x.version===g))}catch(A){return}}),r=()=>l(void 0,null,function*(){yield t.request({method:"wallet_requestSnaps",params:{[e.id]:e.params||{}}});}),i=()=>l(void 0,null,function*(){var B;let g=yield t.request({method:"web3_clientVersion"});if(!g.includes("MetaMask"))throw new Error("Metamask is not installed");let x=(B=g.split("MetaMask/v")[1])==null?void 0:B.split(".")[0];if(!(Number(x)>=11))throw new Error("Metamask Snap is not supported in this version");return (yield o())||(yield r()),!0}),a=g=>l(void 0,null,function*(){(yield o())||(yield r());}),s=(g,A,x)=>l(void 0,null,function*(){let k=yield t.request({method:"wallet_invokeSnap",params:{snapId:e.id,request:{method:"signDirect",params:{chainId:g,signerAddress:A,signDoc:x}}}}),P=x.accountNumber,B=new Nt(P.low,P.high,P.unsigned);return {signature:k.signature,signed:N(E({},k.signed),{accountNumber:`${B.toString()}`,authInfoBytes:new Uint8Array(Object.values(k.signed.authInfoBytes)),bodyBytes:new Uint8Array(Object.values(k.signed.bodyBytes))})}}),c=(g,A,x)=>l(void 0,null,function*(){return yield t.request({method:"wallet_invokeSnap",params:{snapId:e.id,request:{method:"signAmino",params:{chainId:g,signerAddress:A,signDoc:x}}}})}),u=g=>l(void 0,null,function*(){let A=yield t.request({method:"wallet_invokeSnap",params:{snapId:e.id,request:{method:"getKey",params:{chainId:g}}}});if(!A)throw new Error("No response from Metamask");return A.pubKey=Uint8Array.from(Object.values(A.pubkey)),delete A.pubkey,E({},A)}),m=g=>l(void 0,null,function*(){let A=yield u(g);return {address:A.bech32Address,algo:A.algo,pubkey:A.pubKey}}),C=(...g)=>l(void 0,null,function*(){let[A,x,k,P]=g;return yield c(A,x,k)}),w=(...g)=>l(void 0,null,function*(){let[A,x,k]=g;return yield s(A,x,k)}),S=g=>({getAccounts:()=>l(void 0,null,function*(){return [yield m(g)]}),signDirect:(A,x)=>w(g,A,x)}),I=g=>({getAccounts:()=>l(void 0,null,function*(){return [yield m(g)]}),signAmino:(A,x)=>C(g,A,x)});return {enable:a,experimentalSuggestChain:(...g)=>l(void 0,null,function*(){yield i(),yield t.request({method:"wallet_invokeSnap",params:{snapId:e.id,request:{method:"suggestChain",params:{chainInfo:g[0]}}}});}),getKey:u,getOfflineSigner:g=>({getAccounts:()=>l(void 0,null,function*(){return [yield m(g)]}),signDirect:(A,x)=>w(g,A,x),signAmino:(A,x)=>C(g,A,x)}),getOfflineSignerAuto:g=>l(void 0,null,function*(){return (yield u(g)).isNanoLedger?I(g):S(g)}),getOfflineSignerOnlyAmino:I,init:i,signAmino:C,signDirect:w}}throw d.getState()._notFoundFn(),new Error("window.ethereum is not defined")};var Qe=()=>ze({id:"npm:@leapwallet/metamask-cosmos-snap"});var le=()=>{if(typeof window.vectis!="undefined"){let e=window.vectis.cosmos;return {enable:s=>e.enable(s),getOfflineSigner:s=>e.getOfflineSigner(s),getOfflineSignerAuto:s=>e.getOfflineSignerAuto(s),getKey:s=>l(void 0,null,function*(){let c=yield e.getKey(s);return {address:fromBech32(c.address).data,algo:c.algo,bech32Address:c.address,name:c.name,pubKey:c.pubKey,isKeystone:!1,isNanoLedger:c.isNanoLedger}}),subscription:s=>{let c=()=>{F(),s();};return window.addEventListener("vectis_accountChanged",c),()=>{window.removeEventListener("vectis_accountChanged",c);}},getOfflineSignerOnlyAmino:(...s)=>e.getOfflineSignerAmino(...s),experimentalSuggestChain:(...s)=>l(void 0,null,function*(){let[c]=s,u=N(E({},c),{rpcUrl:c.rpc,restUrl:c.rest,prettyName:c.chainName.replace(" ",""),bech32Prefix:c.bech32Config.bech32PrefixAccAddr});return e.suggestChains([u])}),signDirect:(...s)=>l(void 0,null,function*(){var m;let{1:c,2:u}=s;return e.signDirect(c,{bodyBytes:u.bodyBytes||Uint8Array.from([]),authInfoBytes:u.authInfoBytes||Uint8Array.from([]),accountNumber:Nt.fromString(((m=u.accountNumber)==null?void 0:m.toString())||"",!1),chainId:u.chainId||""})}),signAmino:(...s)=>l(void 0,null,function*(){let{1:c,2:u}=s;return e.signAmino(c,u)})}}throw d.getState()._notFoundFn(),new Error("window.vectis is not defined")};var Q=()=>typeof window!="undefined"?!!(window.matchMedia("(pointer:coarse)").matches||/Android|webOS|iPhone|iPad|iPod|BlackBerry|Opera Mini/u.test(navigator.userAgent)):!1,je=()=>Q()&&navigator.userAgent.toLowerCase().includes("android"),$e=()=>Q()&&(navigator.userAgent.toLowerCase().includes("iphone")||navigator.userAgent.toLowerCase().includes("ipad"));var He=(e,t,n=new Error("Promise timed out"))=>{let o=new Promise((r,i)=>{setTimeout(()=>{i(n);},t);});return Promise.race([e,o])};var j=e=>{var P,B,te;if(!((te=(B=(P=d.getState().walletConnect)==null?void 0:P.options)==null?void 0:B.projectId)!=null&&te.trim()))throw new Error("walletConnect.options.projectId is not defined");let t=(e==null?void 0:e.encoding)||"base64",n=f=>{if(!e)return;let{appUrl:p,formatNativeUrl:h}=e;if(Q()){if(je())if(!f)window.open(p.mobile.android,"_self","noreferrer noopener");else {let T=h(p.mobile.android,f,"android");window.open(T,"_self","noreferrer noopener");}if($e())if(!f)window.open(p.mobile.ios,"_self","noreferrer noopener");else {let T=h(p.mobile.ios,f,"ios");window.open(T,"_self","noreferrer noopener");}}},o=()=>{let{wcSignClient:f}=y.getState();if(!f)throw new Error("walletConnect.signClient is not defined");F(),d.setState({_reconnect:!1,_reconnectConnector:null,recentChainIds:null});},r=f=>l(void 0,null,function*(){let{wcSignClient:p}=y.getState();if(!p)throw new Error("walletConnect.signClient is not defined");if(!f)throw new Error("No wallet connect session");yield p.disconnect({topic:f,reason:getSdkError("USER_DISCONNECTED")}),yield s(p),o();}),i=f=>{try{let{wcSignClient:p}=y.getState();if(!p)throw new Error("walletConnect.signClient is not defined");let h=p.session.getAll().at(-1);if(!h)return;if(!(h.expiry*1e3>Date.now()+1e3))throw r(h.topic),new Error("invalid session");try{let v=p.find({requiredNamespaces:{cosmos:{methods:["cosmos_getAccounts","cosmos_signAmino","cosmos_signDirect"],chains:f.map(K=>`cosmos:${K}`),events:["chainChanged","accountsChanged"]}}});if(!v.length)throw new Error("no session");return v.at(-1)}catch(v){if(!v.message.toLowerCase().includes("no matching key"))throw v}return h}catch(p){if(!p.message.toLowerCase().includes("no matching key"))throw p}},a=f=>{try{return i(f)}catch(p){return}},s=f=>l(void 0,null,function*(){try{let p=f.core.pairing.pairings.getAll({active:!1});if(!p.length)return;yield Promise.all(p.map(h=>l(void 0,null,function*(){yield f.core.pairing.pairings.delete(h.topic,{code:7001,message:"clear pairing"});})));}catch(p){if(!p.message.toLowerCase().includes("no matching key"))throw p}}),c=()=>l(void 0,null,function*(){let{walletConnect:f}=d.getState();if(!(f!=null&&f.options))throw new Error("walletConnect.options is not defined");let{wcSignClient:p}=y.getState();if(p)return y.setState({wcSignClient:p}),p;let h=yield SignClient.init(f.options);return y.setState({wcSignClient:h}),h}),u=f=>{let{wcSignClient:p}=y.getState();return p?(p.events.on("session_delete",h=>{o();}),p.events.on("session_expire",h=>{o();}),p.events.on("session_event",h=>{let T=y.getState().accounts;if(h.params.event.name==="accountsChanged"&&T&&!Object.values(T).map(v=>v.bech32Address).includes(h.params.event.data[0])){let v=h.params.chainId.split(":")[1];v&&m([v]);}else f();}),()=>{p.events.off("session_delete",h=>{o();}),p.events.off("session_expire",h=>{o();}),p.events.off("session_event",h=>{let T=y.getState().accounts;if(h.params.event.name==="accountsChanged"&&T&&!Object.values(T).map(v=>v.bech32Address).includes(h.params.event.data[0])){let v=h.params.chainId.split(":")[1];v&&m([v]);}else f();});}):()=>{}},m=f=>l(void 0,null,function*(){var ne;let p=typeof f=="string"?[f]:f,{wcSignClient:h}=y.getState();if(!h)throw new Error("enable walletConnect.signClient is not defined");let{walletConnect:T,chains:v}=d.getState();if(!((ne=T==null?void 0:T.options)!=null&&ne.projectId))throw new Error("walletConnect.options.projectId is not defined");let{Web3Modal:K}=yield import('@web3modal/standalone'),$=new K(E({projectId:T.options.projectId,walletConnectVersion:2,enableExplorer:!1,explorerRecommendedWalletIds:"NONE"},T.web3Modal)),V=a(p);if(!V){let{uri:U,approval:Y}=yield h.connect({requiredNamespaces:{cosmos:{methods:["cosmos_getAccounts","cosmos_signAmino","cosmos_signDirect"],chains:p.map(G=>`cosmos:${G}`),events:["chainChanged","accountsChanged"]}}});if(!U)throw new Error("No wallet connect uri");e?n(U):yield $.openModal({uri:U});let oe=G=>l(void 0,null,function*(){return G.aborted?Promise.reject(new Error("User closed wallet connect")):new Promise((Se,J)=>{Y().then(Re=>{let ke=Re.sessionProperties;if(!ke)return J(new Error("No session properties"));let we=JSON.parse(String(ke.keys));if(we.length===0)return J(new Error("No accounts"));let Pe=we[0];if(!Pe)return J(new Error("No accounts"));let Ne={};return p.forEach(ie=>{Ne[ie]=N(E({},Pe),{bech32Address:toBech32(v.find(Ot=>Ot.chainId===ie).bech32Config.bech32PrefixAccAddr,fromBech32(we[0].bech32Address).data)});}),y.setState(ie=>({accounts:E(E({},ie.accounts||{}),Ne)})),Se(Re)}).catch(J),G.addEventListener("abort",()=>{J(new Error("User closed wallet connect"));},{once:!0});})});try{let G=new AbortController,Se=G.signal;$.subscribeModal(J=>{J.open||G.abort();}),yield oe(Se);}catch(G){if($.closeModal(),!G.message.toLowerCase().includes("no matching key"))return Promise.reject(G)}return e||$.closeModal(),Promise.resolve()}try{yield He((()=>l(void 0,null,function*(){let U=yield w(p[0]),Y={};p.forEach(oe=>{Y[oe]=N(E({},U),{bech32Address:toBech32(v.find(G=>G.chainId===oe).bech32Config.bech32PrefixAccAddr,fromBech32(U.bech32Address).data)});}),y.setState({accounts:Y});}))(),15e3,new Error("Connection timeout"));}catch(U){if(r(V.topic),!U.message.toLowerCase().includes("no matching key"))throw U}}),C=f=>l(void 0,null,function*(){var v;let{wcSignClient:p}=y.getState();if(!p)throw new Error("walletConnect.signClient is not defined");let h=(v=i([f]))==null?void 0:v.topic;if(!h)throw new Error("No wallet connect session");n();let T=yield p.request({topic:h,chainId:`cosmos:${f}`,request:{method:"cosmos_getAccounts",params:{}}});if(!T[0])throw new Error("No wallet connect account");return {address:T[0].address,algo:T[0].algo,pubkey:new Uint8Array(Buffer.from(T[0].pubkey,t))}}),w=f=>l(void 0,null,function*(){let{address:p,algo:h,pubkey:T}=yield C(f);return {address:fromBech32(p).data,algo:h,bech32Address:p,name:"",pubKey:T,isKeystone:!1,isNanoLedger:!1}}),S=(...f)=>l(void 0,null,function*(){var U,Y;let[p,h,T]=f,{accounts:v,wcSignClient:K}=y.getState();if(!K)throw new Error("walletConnect.signClient is not defined");if(!v)throw new Error("account is not defined");let $=(U=i([p]))==null?void 0:U.topic;if(!$)throw new Error("No wallet connect session");if(!T.bodyBytes)throw new Error("No bodyBytes");if(!T.authInfoBytes)throw new Error("No authInfoBytes");let V={topic:$,chainId:`cosmos:${p}`,request:{method:"cosmos_signDirect",params:{signerAddress:h,signDoc:N(E({},T),{bodyBytes:Buffer.from(T.bodyBytes).toString(t),authInfoBytes:Buffer.from(T.authInfoBytes).toString(t),accountNumber:(Y=T.accountNumber)==null?void 0:Y.toString()})}}};return n(),yield K.request(V)}),I=(...f)=>l(void 0,null,function*(){let[p,h,T]=f,{signature:v,signed:K}=yield S(p,h,T);return {signed:{chainId:K.chainId,accountNumber:Nt.fromString(K.accountNumber,!1),authInfoBytes:new Uint8Array(Buffer.from(K.authInfoBytes,t)),bodyBytes:new Uint8Array(Buffer.from(K.bodyBytes,t))},signature:v}}),b=(...f)=>l(void 0,null,function*(){var U;let[p,h,T,v]=f,{wcSignClient:K}=y.getState(),{accounts:$}=y.getState();if(!K)throw new Error("walletConnect.signClient is not defined");if(!$)throw new Error("account is not defined");let V=(U=i([p]))==null?void 0:U.topic;if(!V)throw new Error("No wallet connect session");return n(),yield K.request({topic:V,chainId:`cosmos:${p}`,request:{method:"cosmos_signDirect",params:{signerAddress:h,signDoc:T}}})}),W=(...f)=>l(void 0,null,function*(){let[p,h,T,v]=f;return yield b(p,h,T)}),_=f=>({getAccounts:()=>l(void 0,null,function*(){return [yield C(f)]}),signDirect:(p,h)=>I(f,p,h)}),g=f=>({getAccounts:()=>l(void 0,null,function*(){return [yield C(f)]}),signAmino:(p,h)=>W(f,p,h)});return {enable:m,experimentalSuggestChain:(...f)=>l(void 0,null,function*(){yield Promise.reject(new Error("WalletConnect does not support experimentalSuggestChain"));}),getKey:w,getOfflineSigner:f=>({getAccounts:()=>l(void 0,null,function*(){return [yield C(f)]}),signDirect:(p,h)=>I(f,p,h),signAmino:(p,h)=>W(f,p,h)}),getOfflineSignerAuto:f=>l(void 0,null,function*(){return (yield w(f)).isNanoLedger?g(f):_(f)}),getOfflineSignerOnlyAmino:g,signAmino:W,signDirect:I,subscription:u,init:c}};var Ye=()=>{var t,n,o;if(!((o=(n=(t=d.getState().walletConnect)==null?void 0:t.options)==null?void 0:n.projectId)!=null&&o.trim()))throw new Error("walletConnect.options.projectId is not defined");if(!Q())throw new Error("WalletConnect Cosmostation mobile is only supported in mobile");let e={encoding:"hex",appUrl:{mobile:{ios:"cosmostation://",android:"cosmostation://"}},walletType:"wc_cosmostation_mobile",formatNativeUrl:(r,i,a)=>`${r.replaceAll("/","").replaceAll(":","")}://wc?${i}`};return j(e)};var Je=()=>{var t,n,o;if(!((o=(n=(t=d.getState().walletConnect)==null?void 0:t.options)==null?void 0:n.projectId)!=null&&o.trim()))throw new Error("walletConnect.options.projectId is not defined");if(!Q())throw new Error("WalletConnect Keplr mobile is only supported in mobile");let e={encoding:"base64",appUrl:{mobile:{ios:"keplrwallet://",android:"intent://"}},walletType:"wc_keplr_mobile",formatNativeUrl:(r,i,a)=>{let s=r.replaceAll("/","").replaceAll(":",""),c=encodeURIComponent(i);switch(a){case"ios":return `${s}://wcV2?${c}`;case"android":return `${s}://wcV2?${c}#Intent;package=com.chainapsis.keplr;scheme=keplrwallet;end;`;default:return `${s}://wc?uri=${c}`}}};return j(e)};var Xe=()=>{var t,n,o;if(!((o=(n=(t=d.getState().walletConnect)==null?void 0:t.options)==null?void 0:n.projectId)!=null&&o.trim()))throw new Error("walletConnect.options.projectId is not defined");if(!Q())throw new Error("WalletConnect Leap mobile is only supported in mobile");let e={encoding:"base64",appUrl:{mobile:{ios:"leapcosmos://",android:"intent://"}},walletType:"wc_leap_mobile",formatNativeUrl:(r,i,a)=>{let s=r.replaceAll("/","").replaceAll(":",""),c=encodeURIComponent(i);switch(a){case"ios":return `${s}://wcV2?${c}`;case"android":return `${s}://wcV2?${c}#Intent;package=io.leapwallet.cosmos;scheme=leapwallet;end;`;default:return `${s}://wc?uri=${c}`}}};return j(e)};var ue=()=>{if(typeof window.station!="undefined"){let e=window.station.keplr;return {subscription:i=>{let a=()=>{F(),i();};return window.addEventListener("station_wallet_change",a),()=>{window.removeEventListener("station_wallet_change",a);}},getKey:i=>l(void 0,null,function*(){let a=yield e.getKey(i);return E({isKeystone:!1},a)}),getOfflineSigner:i=>{try{let a=e.getOfflineSignerOnlyAmino(i);return Object.assign(a,{signDirect:(u,m)=>{throw new Error("signDirect not supported by Station")}})}catch(a){throw console.error(a),a}},experimentalSuggestChain:i=>l(void 0,null,function*(){try{let a=Object.assign(i,{chainSymbolImageUrl:i.chainSymbolImageUrl||"",stakeCurrency:{coinDecimals:i.stakeCurrency.coinDecimals,coinDenom:i.stakeCurrency.coinDenom,coinImageUrl:i.stakeCurrency.coinImageUrl||"",coinMinimalDenom:i.stakeCurrency.coinMinimalDenom},currencies:i.currencies.map(s=>({coinDecimals:s.coinDecimals,coinDenom:s.coinDenom,coinImageUrl:s.coinImageUrl||"",coinMinimalDenom:s.coinMinimalDenom})),feeCurrencies:i.feeCurrencies.map(s=>{var c,u,m;return {coinDecimals:s.coinDecimals,coinDenom:s.coinDenom,coinImageUrl:s.coinImageUrl||"",coinMinimalDenom:s.coinMinimalDenom,gasPriceStep:{average:((c=s.gasPriceStep)==null?void 0:c.average)||0,high:((u=s.gasPriceStep)==null?void 0:u.high)||0,low:((m=s.gasPriceStep)==null?void 0:m.low)||0}}})});yield e.experimentalSuggestChain(a);}catch(a){throw console.error(a),a}}),enable:i=>e.enable(i),getOfflineSignerAuto:i=>e.getOfflineSignerAuto(i),getOfflineSignerOnlyAmino:i=>e.getOfflineSignerOnlyAmino(i),signDirect:()=>e.signDirect(),signAmino:(i,a,s,c)=>e.signAmino(i,a,s)}}throw d.getState()._notFoundFn(),new Error("window.station is not defined")};var D=(e=d.getState().walletType)=>{try{return R(e),!0}catch(t){return !1}},F=()=>{window.sessionStorage.removeItem(X),y.setState(Z);},R=(e=d.getState().walletType)=>{switch(e){case"keplr":return ae();case"leap":return ce();case"cosmostation":return se();case"vectis":return le();case"walletconnect":return j();case"wc_keplr_mobile":return Je();case"wc_leap_mobile":return Xe();case"wc_cosmostation_mobile":return Ye();case"metamask_snap_leap":return Qe();case"station":return ue();default:throw new Error("Unknown wallet type")}},Uo=()=>Object.fromEntries(Le.map(e=>[e,D(e)])),Ze=e=>e==="walletconnect"||e==="wc_keplr_mobile"||e==="wc_leap_mobile"||e==="wc_cosmostation_mobile";var ee=e=>l(void 0,null,function*(){var t;try{let{recentChainIds:n,chains:o,walletType:r}=d.getState(),i=(e==null?void 0:e.walletType)||r;if(!D(i))throw new Error(`${i} is not available`);let s=R(i),c=typeof(e==null?void 0:e.chainId)=="string"?[e.chainId]:(e==null?void 0:e.chainId)||n;if(!c)throw new Error("No last known connected chain, connect action requires chain ids");let u=o==null?void 0:o.map(S=>S.chainId);c.forEach(S=>{if(!(u!=null&&u.includes(S)))throw new Error(`Chain ${S} is not provided in GrazProvider`)}),y.setState(S=>{let I=d.getState()._reconnect||!!d.getState()._reconnectConnector||!!c;return S.activeChainIds&&c.filter(W=>{var _;return !((_=S.activeChainIds)!=null&&_.includes(W))}).length>0?{status:"connecting"}:I?{status:"reconnecting"}:{status:"connecting"}});let{accounts:m}=y.getState();if(yield (t=s.init)==null?void 0:t.call(s),yield s.enable(c),!Ze(i)){let S=yield s.getKey(c[0]),I={};c.forEach(b=>{I[b]=N(E({},S),{bech32Address:toBech32(o.find(W=>W.chainId===b).bech32Config.bech32PrefixAccAddr,fromBech32(S.bech32Address).data)});}),y.setState(b=>({accounts:E(E({},b.accounts||{}),I)}));}d.setState(S=>({recentChainIds:[...S.recentChainIds||[],...c].filter((I,b,W)=>W.indexOf(I)===b)})),y.setState(S=>({activeChainIds:[...S.activeChainIds||[],...c].filter((I,b,W)=>W.indexOf(I)===b)})),d.setState({walletType:i,_reconnect:!!(e!=null&&e.autoReconnect),_reconnectConnector:i}),y.setState({status:"connected"}),typeof window!="undefined"&&window.sessionStorage.setItem(X,"Active");let C=c.map(S=>o.find(I=>I.chainId===S));return {accounts:y.getState().accounts,walletType:i,chains:C}}catch(n){throw console.error("connect ",n),y.getState().accounts===null&&y.setState({status:"disconnected"}),y.getState().accounts&&y.getState().activeChainIds&&y.setState({status:"connected"}),n}}),Ie=e=>{typeof window!="undefined"&&window.sessionStorage.removeItem(X);let t=typeof(e==null?void 0:e.chainId)=="string"?[e.chainId]:e==null?void 0:e.chainId;if(t){let n=y.getState().accounts;t.forEach(r=>{n==null||delete n[r];}),Object.values(n||{}).length===0?(y.setState(Z),d.setState({_reconnect:!1,_reconnectConnector:null,recentChainIds:null})):(y.setState(r=>{var i;return {activeChainIds:(i=r.activeChainIds)==null?void 0:i.filter(a=>!t.includes(a)),accounts:n}}),d.setState(r=>{var i;return {recentChainIds:(i=r.recentChainIds)==null?void 0:i.filter(a=>!t.includes(a))}}));}else y.setState(Z),d.setState({_reconnect:!1,_reconnectConnector:null,recentChainIds:null});return Promise.resolve()},z=e=>l(void 0,null,function*(){var r;let{recentChainIds:t,_reconnectConnector:n,_reconnect:o}=d.getState();try{let i=D(n||void 0);if(t&&i&&n)return yield ee({chainId:t,walletType:n,autoReconnect:o})}catch(i){(r=e==null?void 0:e.onError)==null||r.call(e,i),Ie();}}),et=e=>l(void 0,null,function*(){if(!(e!=null&&e.chainId))throw new Error("chainId is required");let{walletType:t}=d.getState(),n=e.walletType||t;if(!D(n))throw new Error(`${n} is not available`);let r=R(n),i=r.getOfflineSigner(e.chainId),a=r.getOfflineSignerOnlyAmino(e.chainId),s=yield r.getOfflineSignerAuto(e.chainId);return {offlineSigner:i,offlineSignerAmino:a,offlineSignerAuto:s}});var Te=()=>{d.setState({recentChainIds:null});},Xo=()=>d.getState().recentChainIds,Zo=()=>{var n;let{recentChainIds:e,chains:t}=d.getState();return (n=e==null?void 0:e.map(o=>t.find(r=>r.chainId===o)))!=null?n:null},Ee=n=>l(void 0,[n],function*({chainInfo:e,walletType:t}){return yield R(t).experimentalSuggestChain(e),e}),tt=e=>l(void 0,null,function*(){var o;let t=d.getState().walletType;return yield Ee({chainInfo:e.chainInfo,walletType:(o=e.walletType)!=null?o:t}),yield ee({chainId:e.chainInfo.chainId,walletType:e.walletType,autoReconnect:e.autoReconnect})});var nt=e=>(d.setState(t=>({walletConnect:e.walletConnect||t.walletConnect,walletType:e.defaultWallet||t.walletType,chains:e.chains,chainsConfig:e.chainsConfig||t.chainsConfig,multiChainFetchConcurrency:e.multiChainFetchConcurrency||t.multiChainFetchConcurrency,_notFoundFn:e.onNotFound||t._notFoundFn,_onReconnectFailed:e.onReconnectFailed||t._onReconnectFailed,_reconnect:e.autoReconnect===void 0?!0:e.autoReconnect||t._reconnect})),e);var ot=a=>l(void 0,[a],function*({signingClient:e,senderAddress:t,recipientAddress:n,amount:o,fee:r,memo:i}){if(!e)throw new Error("No connected account detected");if(!t)throw new Error("senderAddress is not defined");return e.sendTokens(t,n,o,r,i)}),it=m=>l(void 0,[m],function*({signingClient:e,senderAddress:t,recipientAddress:n,transferAmount:o,sourcePort:r,sourceChannel:i,timeoutHeight:a,timeoutTimestamp:s,fee:c,memo:u}){if(!e)throw new Error("Stargate signing client is not ready");if(!t)throw new Error("senderAddress is not defined");return e.sendIbcTokens(t,n,o,r,i,a,s,c,u)}),rt=s=>l(void 0,[s],function*({signingClient:e,senderAddress:t,msg:n,fee:o,options:r,label:i,codeId:a}){if(!e)throw new Error("CosmWasm signing client is not ready");return e.instantiate(t,a,n,i,o,r)}),st=s=>l(void 0,[s],function*({signingClient:e,senderAddress:t,msg:n,fee:o,contractAddress:r,funds:i,memo:a}){if(!e)throw new Error("CosmWasm signing client is not ready");return e.execute(t,r,n,o,a,i)}),at=(e,t,n)=>l(void 0,null,function*(){if(!n)throw new Error("CosmWasm client is not ready");return yield n.queryContractSmart(e,t)}),ct=(e,t,n)=>{if(!n)throw new Error("CosmWasm client is not ready");let o=new TextEncoder().encode(t);return n.queryContractRaw(e,o)};var li=e=>e,ui=e=>e;var de=e=>e?Object.keys(e).length===0:!0;var be=class extends Error{constructor(t){super(),this.name="AbortError",this.message=t;}},lt=e=>globalThis.DOMException===void 0?new be(e):new DOMException(e),ut=e=>{let t=e.reason===void 0?lt("This operation was aborted."):e.reason;return t instanceof Error?t:lt(t)};function Oe(i,a){return l(this,arguments,function*(e,t,{concurrency:n=Number.POSITIVE_INFINITY,stopOnError:o=!0,signal:r}={}){return new Promise((s,c)=>{if(e[Symbol.iterator]===void 0&&e[Symbol.asyncIterator]===void 0)throw new TypeError(`Expected \`input\` to be either an \`Iterable\` or \`AsyncIterable\`, got (${typeof e})`);if(typeof t!="function")throw new TypeError("Mapper function is required");if(!((Number.isSafeInteger(n)||n===Number.POSITIVE_INFINITY)&&n>=1))throw new TypeError(`Expected \`concurrency\` to be an integer from 1 and up or \`Infinity\`, got \`${n}\` (${typeof n})`);let u=[],m=[],C=new Map,w=!1,S=!1,I=!1,b=0,W=0,_=e[Symbol.iterator]===void 0?e[Symbol.asyncIterator]():e[Symbol.iterator](),g=x=>{w=!0,S=!0,c(x);};r&&(r.aborted&&g(ut(r)),r.addEventListener("abort",()=>{g(ut(r));}));let A=()=>l(this,null,function*(){if(S)return;let x=yield _.next(),k=W;if(W++,x.done){if(I=!0,b===0&&!S){if(!o&&m.length>0){g(new AggregateError(m));return}if(S=!0,C.size===0){s(u);return}let P=[];for(let[B,te]of u.entries())C.get(B)!==dt&&P.push(te);s(P);}return}b++,l(this,null,function*(){try{let P=yield x.value;if(S)return;let B=yield t(P,k);B===dt&&C.set(k,B),u[k]=B,b--,yield A();}catch(P){if(o)g(P);else {m.push(P),b--;try{yield A();}catch(B){g(B);}}}});});l(this,null,function*(){for(let x=0;x<n;x++){try{yield A();}catch(k){g(k);break}if(I||w)break}});})})}var dt=Symbol("skip");var L=({chainId:e,multiChain:t})=>{let n=d(r=>r.chains);if(!n)throw new Error("No chains found in GrazProvider");let o=typeof e=="string"?[e]:e;switch(!0){case(!!t&&!!o):return o.map(r=>n.find(i=>i.chainId===r)).filter(Boolean);case(!t&&!!o):return [o.map(r=>n.find(i=>i.chainId===r)).filter(Boolean)[0]];case(!!t&&!o):return n;default:return [n[0]]}},q=(e,t,n)=>l(void 0,null,function*(){let o=d.getState().multiChainFetchConcurrency;if(e){let i=yield Oe(t,n,{concurrency:o});return Object.fromEntries(i.map((a,s)=>[t[s].chainId,a]))}return yield n(t[0])}),mt=(e,t,n)=>{if(e){let r=t.map(n);return Object.fromEntries(r.map((i,a)=>[t[a].chainId,i]))}return n(t[0])};var We=e=>{let t=L({chainId:e==null?void 0:e.chainId,multiChain:e==null?void 0:e.multiChain}),n=useMemo(()=>["USE_STARGATE_CLIENT",t],[t]);return useQuery({queryKey:n,queryFn:r=>l(void 0,[r],function*({queryKey:[,o]}){if(o.length<1)throw new Error("No chains found");return yield q(!!(e!=null&&e.multiChain),o,a=>l(void 0,null,function*(){var m;let s=(m=d.getState().chainsConfig)==null?void 0:m[a.chainId],c={url:a.rpc,headers:E({},(s==null?void 0:s.rpcHeaders)||{})};return yield StargateClient.connect(c)}))}),enabled:!!t&&t.length>0&&((e==null?void 0:e.enabled)!==void 0?!!e.enabled:!0),refetchOnWindowFocus:!1})},ve=e=>{let t=L({chainId:e==null?void 0:e.chainId,multiChain:e==null?void 0:e.multiChain}),n=useMemo(()=>["USE_COSMWASM_CLIENT",t],[t]);return useQuery({queryKey:n,queryFn:r=>l(void 0,[r],function*({queryKey:[,o]}){if(o.length<1)throw new Error("No chains found");return yield q(!!(e!=null&&e.multiChain),o,a=>l(void 0,null,function*(){var m;let s=(m=d.getState().chainsConfig)==null?void 0:m[a.chainId],c={url:a.rpc,headers:E({},(s==null?void 0:s.rpcHeaders)||{})};return yield CosmWasmClient.connect(c)}))}),enabled:!!t&&t.length>0&&((e==null?void 0:e.enabled)!==void 0?!!e.enabled:!0),refetchOnWindowFocus:!1})},me=({type:e,chainId:t,multiChain:n,enabled:o})=>{let r=L({chainId:t,multiChain:n}),i=useMemo(()=>["USE_TENDERMINT_CLIENT",e,r],[e,r]);return useQuery({queryKey:i,queryFn:c=>l(void 0,[c],function*({queryKey:[,a,s]}){if(s.length<1)throw new Error("No chains found");return yield q(!!n,s,m=>l(void 0,null,function*(){var b;let C=(b=d.getState().chainsConfig)==null?void 0:b[m.chainId],w={url:m.rpc,headers:E({},(C==null?void 0:C.rpcHeaders)||{})};return yield (a==="tm37"?Tendermint37Client:Tendermint34Client).connect(w)}))}),enabled:!!r&&r.length>0&&(o!==void 0?!!o:!0),refetchOnWindowFocus:!1})};var Di=()=>d(e=>({walletType:e.walletType,isCosmostation:e.walletType==="cosmostation",isCosmostationMobile:e.walletType==="wc_cosmostation_mobile",isKeplr:e.walletType==="keplr",isKeplrMobile:e.walletType==="wc_keplr_mobile",isLeap:e.walletType==="leap",isLeapMobile:e.walletType==="wc_leap_mobile",isVectis:e.walletType==="vectis",isWalletConnect:e.walletType==="walletconnect",isMetamaskSnapLeap:e.walletType==="metamask_snap_leap",isStation:e.walletType==="station"}),shallow),pe=e=>{let n=["USE_CHECK_WALLET",d(r=>e||r.walletType)];return useQuery(n,({queryKey:[,r]})=>D(r))};var H=e=>{let t=d(s=>s.walletType),n=y(s=>s.activeChainIds),o=L({chainId:e!=null&&e.chainId?e.chainId:n||void 0,multiChain:e==null?void 0:e.multiChain}),r=y(s=>s.accounts),i=y(s=>s.status);return useEffect(()=>y.subscribe(s=>s.status,(s,c)=>{var u,m,C;if(s==="connected"){let{accounts:w,activeChainIds:S}=y.getState(),{chains:I}=d.getState(),{walletType:b}=d.getState();if(!w||!S||!I)return (u=e==null?void 0:e.onDisconnect)==null?void 0:u.call(e);(m=e==null?void 0:e.onConnect)==null||m.call(e,{accounts:w,chains:S.map(W=>I.find(_=>_.chainId===W)),walletType:b,isReconnect:c==="reconnecting"});}s==="disconnected"&&((C=e==null?void 0:e.onDisconnect)==null||C.call(e));}),[e]),{data:useMemo(()=>r?mt(!!(e!=null&&e.multiChain),o,s=>r[s.chainId]):void 0,[r,o,e==null?void 0:e.multiChain]),isConnected:i==="connected",isConnecting:i==="connecting",isDisconnected:i==="disconnected",isReconnecting:i==="reconnecting",isLoading:i==="connecting"||i==="reconnecting",walletType:i==="connected"?t:void 0,reconnect:z,status:i}},Vt=e=>{let t=L({chainId:e==null?void 0:e.chainId,multiChain:e==null?void 0:e.multiChain}),{data:n}=H(),o=(e==null?void 0:e.bech32Address)||(n==null?void 0:n.bech32Address),{data:r}=We({chainId:t.map(a=>a.chainId),multiChain:!0,enabled:((e==null?void 0:e.enabled)===void 0?!0:e.enabled)&&!!o}),i=useMemo(()=>["USE_ALL_BALANCES",r,t,o,e==null?void 0:e.chainId],[o,e==null?void 0:e.chainId,t,r]);return useQuery(i,u=>l(void 0,[u],function*({queryKey:[,a,s,c]}){if(!c)throw new Error("address is not defined");return yield q(!!(e!=null&&e.multiChain),s,C=>l(void 0,null,function*(){let w=a==null?void 0:a[C.chainId];if(!w)throw new Error(`Client is not ready ${C.chainId}`);return yield w.getAllBalances(toBech32(C.bech32Config.bech32PrefixAccAddr,fromBech32(c).data))}))}),{enabled:!!o&&!!t&&t.length>0&&!de(r)&&((e==null?void 0:e.enabled)===void 0?!0:e.enabled),refetchOnMount:!1,refetchOnReconnect:!0,refetchOnWindowFocus:!1})},Yi=e=>{let t=L({chainId:e.chainId}),{data:n}=H({chainId:e.chainId}),o=e.bech32Address||(n==null?void 0:n.bech32Address),{data:r,refetch:i}=Vt({chainId:t.map(c=>c.chainId),bech32Address:o,enabled:!!o&&(e.enabled===void 0?!0:e.enabled)}),a=["USE_BALANCE",e.denom,r,t,o,e.chainId],s=useQuery(a,({queryKey:[,c,u]})=>u==null?void 0:u.find(m=>m.denom===c),{enabled:!!r&&!!(r!=null&&r.length)&&(e.enabled===void 0?!0:e.enabled)});return N(E({},s),{refetch:c=>l(void 0,null,function*(){return yield i(),s.refetch(c)})})},Ji=({onError:e,onLoading:t,onSuccess:n}={})=>{let r=useMutation(["USE_CONNECT",e,t,n],ee,{onError:(a,s)=>Promise.resolve(e==null?void 0:e(a,s)),onMutate:t,onSuccess:a=>Promise.resolve(n==null?void 0:n(a))}),{data:i}=pe();return {connect:a=>r.mutate(a),connectAsync:a=>r.mutateAsync(a),error:r.error,isLoading:r.isLoading,isSuccess:r.isSuccess,isSupported:!!i,status:r.status}},Xi=({onError:e,onLoading:t,onSuccess:n}={})=>{let r=useMutation(["USE_DISCONNECT",e,t,n],Ie,{onError:i=>Promise.resolve(e==null?void 0:e(i,void 0)),onMutate:t,onSuccess:()=>Promise.resolve(n==null?void 0:n(void 0))});return {disconnect:i=>r.mutate(i),disconnectAsync:i=>r.mutateAsync(i),error:r.error,isLoading:r.isLoading,isSuccess:r.isSuccess,status:r.status}},Zi=e=>{let t=L({chainId:e==null?void 0:e.chainId,multiChain:e==null?void 0:e.multiChain}),n=d(r=>r.walletType),o=useMemo(()=>["USE_OFFLINE_SIGNERS",t,n],[t,n]);return useQuery({queryKey:o,queryFn:a=>l(void 0,[a],function*({queryKey:[,r,i]}){if(r.length<1)throw new Error("No chain found");if(!D(i))throw new Error(`${i} is not available`);return yield q(!!(e!=null&&e.multiChain),r,u=>l(void 0,null,function*(){return yield et({chainId:u.chainId,walletType:i})}))}),enabled:!!t&&t.length>0&&!!n,refetchOnWindowFocus:!1})},er=e=>{let t=L({chainId:e==null?void 0:e.chainId,multiChain:e==null?void 0:e.multiChain}),{data:n}=H(),{data:o}=We({chainId:t.map(a=>a.chainId),multiChain:!0}),r=(e==null?void 0:e.bech32Address)||(n==null?void 0:n.bech32Address),i=useMemo(()=>["USE_BALANCE_STAKED",o,t,r],[t,r,o]);return useQuery(i,u=>l(void 0,[u],function*({queryKey:[,a,s,c]}){if(!c)throw new Error("address is not defined");return yield q(!!(e!=null&&e.multiChain),s,C=>l(void 0,null,function*(){var S;if(!a)throw new Error("Client is not ready");return yield (S=a[C.chainId])==null?void 0:S.getBalanceStaked(toBech32(C.bech32Config.bech32PrefixAccAddr,fromBech32(c).data))}))}),{enabled:!!r&&!!t&&t.length>0&&!!o,refetchOnMount:!1,refetchOnReconnect:!0,refetchOnWindowFocus:!1})};var cr=()=>y(e=>e.activeChainIds),Yt=()=>{var e;return (e=y(t=>t.activeChainIds))==null?void 0:e.map(t=>{var o;let n=(o=d.getState().chains)==null?void 0:o.find(r=>r.chainId===t);if(n)return n}).filter(Boolean)},lr=({denom:e})=>{let t=Yt();return useQuery(["USE_ACTIVE_CHAIN_CURRENCY",e],({queryKey:[,r]})=>{var i;return (i=t==null?void 0:t.find(a=>a.currencies.find(s=>s.coinMinimalDenom===r)))==null?void 0:i.currencies.find(a=>a)})},ur=e=>{var r;let t=(r=e.status)!=null?r:"BOND_STATUS_BONDED",n=["USE_ACTIVE_CHAIN_VALIDATORS",e.queryClient,t];return useQuery(n,s=>l(void 0,[s],function*({queryKey:[,i,a]}){if(!i)throw new Error("Query client is not defined");return yield i.staking.validators(a)}),{enabled:typeof e.queryClient!="undefined"})},dr=()=>({data:d(t=>t.recentChainIds),clear:Te}),mr=()=>{var t;return {data:(t=d(n=>n.recentChainIds))==null?void 0:t.map(n=>{var r;let o=(r=d.getState().chains)==null?void 0:r.find(i=>i.chainId===n);if(o)return o}).filter(Boolean),clear:Te}},pr=({onError:e,onLoading:t,onSuccess:n}={})=>{let r=useMutation(["USE_SUGGEST_CHAIN",e,t,n],Ee,{onError:(i,a)=>Promise.resolve(e==null?void 0:e(i,a.chainInfo)),onMutate:i=>t==null?void 0:t(i.chainInfo),onSuccess:i=>Promise.resolve(n==null?void 0:n(i))});return {error:r.error,isLoading:r.isLoading,isSuccess:r.isSuccess,suggest:r.mutate,suggestAsync:r.mutateAsync,status:r.status}},fr=({onError:e,onLoading:t,onSuccess:n}={})=>{let r=useMutation(["USE_SUGGEST_CHAIN_AND_CONNECT",e,t,n],tt,{onError:(a,s)=>Promise.resolve(e==null?void 0:e(a,s)),onMutate:a=>t==null?void 0:t(a),onSuccess:a=>Promise.resolve(n==null?void 0:n(a))}),{data:i}=pe();return {error:r.error,isLoading:r.isLoading,isSuccess:r.isSuccess,isSupported:!!i,status:r.status,suggestAndConnect:r.mutate,suggestAndConnectAsync:r.mutateAsync}};var Ir=({onError:e,onLoading:t,onSuccess:n}={})=>{let{data:o}=H(),r=o==null?void 0:o.bech32Address,i=useMutation(["USE_SEND_TOKENS",e,t,n,r],a=>ot(E({senderAddress:r},a)),{onError:(a,s)=>Promise.resolve(e==null?void 0:e(a,s)),onMutate:t,onSuccess:a=>Promise.resolve(n==null?void 0:n(a))});return {error:i.error,isLoading:i.isLoading,isSuccess:i.isSuccess,sendTokens:i.mutate,sendTokensAsync:i.mutateAsync,status:i.status}},Tr=({onError:e,onLoading:t,onSuccess:n}={})=>{let{data:o}=H(),r=o==null?void 0:o.bech32Address,i=useMutation(["USE_SEND_IBC_TOKENS",e,t,n,r],a=>it(E({senderAddress:r},a)),{onError:(a,s)=>Promise.resolve(e==null?void 0:e(a,s)),onMutate:t,onSuccess:a=>Promise.resolve(n==null?void 0:n(a))});return {error:i.error,isLoading:i.isLoading,isSuccess:i.isSuccess,sendIbcTokens:i.mutate,sendIbcTokensAsync:i.mutateAsync,status:i.status}},Er=({codeId:e,onError:t,onLoading:n,onSuccess:o})=>{let{data:r}=H(),i=r==null?void 0:r.bech32Address,s=useMutation(["USE_INSTANTIATE_CONTRACT",t,n,o,e,i],c=>{var m;if(!i)throw new Error("senderAddress is undefined");let u=N(E({},c),{fee:(m=c.fee)!=null?m:"auto",senderAddress:i,codeId:e});return rt(u)},{onError:(c,u)=>Promise.resolve(t==null?void 0:t(c,u)),onMutate:n,onSuccess:c=>Promise.resolve(o==null?void 0:o(c))});return {error:s.error,isLoading:s.isLoading,isSuccess:s.isSuccess,instantiateContract:s.mutate,instantiateContractAsync:s.mutateAsync,status:s.status}},br=({contractAddress:e,onError:t,onLoading:n,onSuccess:o})=>{let{data:r}=H(),i=r==null?void 0:r.bech32Address,s=useMutation(["USE_EXECUTE_CONTRACT",t,n,o,e,i],c=>{var m,C,w;if(!i)throw new Error("senderAddress is undefined");let u=N(E({},c),{fee:(m=c.fee)!=null?m:"auto",senderAddress:i,contractAddress:e,memo:(C=c.memo)!=null?C:"",funds:(w=c.funds)!=null?w:[]});return st(u)},{onError:(c,u)=>Promise.resolve(t==null?void 0:t(c,u)),onMutate:n,onSuccess:c=>Promise.resolve(o==null?void 0:o(c))});return {error:s.error,isLoading:s.isLoading,isSuccess:s.isSuccess,executeContract:s.mutate,executeContractAsync:s.mutateAsync,status:s.status}},Or=e=>{let{data:t}=ve();return useQuery(["USE_QUERY_SMART",e==null?void 0:e.address,e==null?void 0:e.queryMsg,t],({queryKey:[,o]})=>{if(!(e!=null&&e.address)||!e.queryMsg)throw new Error("address or queryMsg undefined");return at(e.address,e.queryMsg,t)},{enabled:!!(e!=null&&e.address)&&!!(e!=null&&e.queryMsg)&&!!t})},Mr=e=>{let{data:t}=ve(),n=["USE_QUERY_RAW",e==null?void 0:e.key,e==null?void 0:e.address,t];return useQuery(n,({queryKey:[,r]})=>{if(!(e!=null&&e.address)||!e.key)throw new Error("address or key undefined");return ct(e.address,e.key,t)},{enabled:!!(e!=null&&e.address)&&!!(e!=null&&e.key)&&!!t})};function Lr(e){let t=L({chainId:e==null?void 0:e.chainId,multiChain:e==null?void 0:e.multiChain}),n=d(i=>i.walletType),o=y(i=>i.activeChainIds),r=useMemo(()=>["USE_STARGATE_SIGNING_CLIENT",t,n,e,o],[o,e,t,n]);return useQuery({queryKey:r,queryFn:s=>l(this,[s],function*({queryKey:[,i,a]}){if(i.length<1)throw new Error("No chains found");return yield q(!!(e!=null&&e.multiChain),i,u=>l(this,null,function*(){var b,W;if(!(o!=null&&o.includes(u.chainId)))return;if(!D(a))throw new Error(`${a} is not available`);let C=yield (()=>l(this,null,function*(){switch(e==null?void 0:e.offlineSigner){case"offlineSigner":return R(a).getOfflineSigner(u.chainId);case"offlineSignerAuto":return R(a).getOfflineSignerAuto(u.chainId);case"offlineSignerOnlyAmino":return R(a).getOfflineSignerOnlyAmino(u.chainId);default:return R(a).getOfflineSignerAuto(u.chainId)}}))(),w=(b=d.getState().chainsConfig)==null?void 0:b[u.chainId],S={url:u.rpc,headers:E({},(w==null?void 0:w.rpcHeaders)||{})};return (e==null?void 0:e.multiChain)===!0&&e.opts,yield SigningStargateClient.connectWithSigner(S,C,e!=null&&e.multiChain?(W=e.opts)==null?void 0:W[u.chainId]:e==null?void 0:e.opts)}))}),enabled:!!t&&t.length>0&&!!n&&((e==null?void 0:e.enabled)!==void 0?!!e.enabled:!0),refetchOnWindowFocus:!1})}function qr(e){let t=L({chainId:e==null?void 0:e.chainId,multiChain:e==null?void 0:e.multiChain}),n=d(i=>i.walletType),o=y(i=>i.activeChainIds),r=useMemo(()=>["USE_COSMWASM_SIGNING_CLIENT",t,n,e,o],[o,e,t,n]);return useQuery({queryKey:r,queryFn:s=>l(this,[s],function*({queryKey:[,i,a]}){if(i.length<1)throw new Error("No chains found");return yield q(!!(e!=null&&e.multiChain),i,u=>l(this,null,function*(){var W,_;if(!(o!=null&&o.includes(u.chainId)))return;if(!D(a))throw new Error(`${a} is not available`);let C=yield (()=>l(this,null,function*(){switch(e==null?void 0:e.offlineSigner){case"offlineSigner":return R(a).getOfflineSigner(u.chainId);case"offlineSignerAuto":return R(a).getOfflineSignerAuto(u.chainId);case"offlineSignerOnlyAmino":return R(a).getOfflineSignerOnlyAmino(u.chainId);default:return R(a).getOfflineSignerAuto(u.chainId)}}))(),w=(W=d.getState().chainsConfig)==null?void 0:W[u.chainId],S={url:u.rpc,headers:E({},(w==null?void 0:w.rpcHeaders)||{})},I=w!=null&&w.gas?GasPrice.fromString(`${w.gas.price}${w.gas.denom}`):void 0;return yield SigningCosmWasmClient.connectWithSigner(S,C,E({gasPrice:I},e!=null&&e.multiChain?(_=e.opts)==null?void 0:_[u.chainId]:(e==null?void 0:e.opts)||{}))}))}),enabled:!!t&&t.length>0&&!!n&&((e==null?void 0:e.enabled)!==void 0?!!e.enabled:!0),refetchOnWindowFocus:!1})}function Gr(e){let t=L({chainId:e.chainId,multiChain:e.multiChain}),n=d(a=>a.walletType),o=y(a=>a.activeChainIds),r=useMemo(()=>["USE_STARGATE_TM_SIGNING_CLIENT",t,n,e,o],[o,e,t,n]),{data:i}=me({type:e.type,chainId:e.chainId,multiChain:e.multiChain});return useQuery({queryKey:r,queryFn:c=>l(this,[c],function*({queryKey:[,a,s]}){if(a.length<1)throw new Error("No chains found");return yield q(!!e.multiChain,a,m=>l(this,null,function*(){var b;if(!(o!=null&&o.includes(m.chainId)))return;if(!D(s))throw new Error(`${s} is not available`);if(!i)throw new Error("No tendermint client found");let w=yield (()=>l(this,null,function*(){switch(e.offlineSigner){case"offlineSigner":return R(s).getOfflineSigner(m.chainId);case"offlineSignerAuto":return R(s).getOfflineSignerAuto(m.chainId);case"offlineSignerOnlyAmino":return R(s).getOfflineSignerOnlyAmino(m.chainId);default:return R(s).getOfflineSignerAuto(m.chainId)}}))(),S=e.multiChain?i[m.chainId]:i;return yield SigningStargateClient.createWithSigner(S,w,e.multiChain?(b=e.opts)==null?void 0:b[m.chainId]:e.opts)}))}),enabled:!!t&&t.length>0&&!!n&&!!i&&(e.enabled!==void 0?!!e.enabled:!0),refetchOnWindowFocus:!1})}function Fr(e){let t=L({chainId:e.chainId,multiChain:e.multiChain}),n=d(s=>s.walletType),o=y(s=>s.activeChainIds),r=useMemo(()=>["USE_COSMWASM_TM_SIGNING_CLIENT",t,n,e,o],[o,e,t,n]),{data:i}=me({type:e.type,chainId:e.chainId,multiChain:!1,enabled:!e.multiChain}),{data:a}=me({type:e.type,chainId:e.chainId,multiChain:!0,enabled:!!e.multiChain});return useQuery({queryKey:r,queryFn:u=>l(this,[u],function*({queryKey:[,s,c]}){if(s.length<1)throw new Error("No chains found");return yield q(!!e.multiChain,s,C=>l(this,null,function*(){var g,A;if(!(o!=null&&o.includes(C.chainId)))return;if(!D(c))throw new Error(`${c} is not available`);let S=yield (()=>l(this,null,function*(){switch(e.offlineSigner){case"offlineSigner":return R(c).getOfflineSigner(C.chainId);case"offlineSignerAuto":return R(c).getOfflineSignerAuto(C.chainId);case"offlineSignerOnlyAmino":return R(c).getOfflineSignerOnlyAmino(C.chainId);default:return R(c).getOfflineSignerAuto(C.chainId)}}))(),I=(g=d.getState().chainsConfig)==null?void 0:g[C.chainId],b=I!=null&&I.gas?GasPrice.fromString(`${I.gas.price}${I.gas.denom}`):void 0,W=e.multiChain?a==null?void 0:a[C.chainId]:i;if(!W)throw new Error("No tendermint client found");return yield SigningCosmWasmClient.createWithSigner(W,S,E({gasPrice:b},e.multiChain?(A=e.opts)==null?void 0:A[C.chainId]:e.opts||{}))}))}),enabled:!!t&&t.length>0&&!!n&&(!!i||!de(a))&&(e.enabled!==void 0?!!e.enabled:!0),refetchOnWindowFocus:!1})}var It=({children:e})=>{let[t,n]=useState(!1);return useEffect(()=>{n(!0);},[]),jsx(Fragment,{children:t?e:null})};var tn=()=>{let e=typeof window!="undefined"&&window.sessionStorage.getItem(X)==="Active",{_reconnect:t,_onReconnectFailed:n,_reconnectConnector:o}=d(),{activeChainIds:r,wcSignClient:i}=y(),a=D(o||void 0);return useEffect(()=>{if(o){if(!a)return;e&&r?z({onError:n}):!e&&t&&z({onError:n});}},[a]),useEffect(()=>{var s,c,u,m,C,w,S,I,b,W,_,g;if(o){if(!a)return;o==="cosmostation"&&((c=(s=se()).subscription)==null||c.call(s,()=>{z({onError:n});})),o==="keplr"&&((m=(u=ae()).subscription)==null||m.call(u,()=>{z({onError:n});})),o==="leap"&&((w=(C=ce()).subscription)==null||w.call(C,()=>{z({onError:n});})),o==="vectis"&&((I=(S=le()).subscription)==null||I.call(S,()=>{z({onError:n});})),o==="walletconnect"&&i&&((W=(b=j()).subscription)==null||W.call(b,()=>{z({onError:n});})),o==="station"&&((g=(_=ue()).subscription)==null||g.call(_,()=>{z({onError:n});}));}},[o,i,a]),null},Et=()=>(tn(),null);var rn=new QueryClient({}),fs=o=>{var r=o,{children:e,grazOptions:t}=r,n=Ke(r,["children","grazOptions"]);return nt(t),jsx(QueryClientProvider,N(E({client:rn},n),{children:jsxs(It,{children:[e,jsx(Et,{})]})}),"graz-provider")};
15
+ var vt=Object.defineProperty,Rt=Object.defineProperties;var kt=Object.getOwnPropertyDescriptors;var se=Object.getOwnPropertySymbols;var Ue=Object.prototype.hasOwnProperty,qe=Object.prototype.propertyIsEnumerable;var Ke=(e,t,n)=>t in e?vt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,E=(e,t)=>{for(var n in t||(t={}))Ue.call(t,n)&&Ke(e,n,t[n]);if(se)for(var n of se(t))qe.call(t,n)&&Ke(e,n,t[n]);return e},_=(e,t)=>Rt(e,kt(t));var Ge=(e,t)=>{var n={};for(var i in e)Ue.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(e!=null&&se)for(var i of se(e))t.indexOf(i)<0&&qe.call(e,i)&&(n[i]=e[i]);return n};var l=(e,t,n)=>new Promise((i,r)=>{var o=c=>{try{a(n.next(c));}catch(d){r(d);}},s=c=>{try{a(n.throw(c));}catch(d){r(d);}},a=c=>c.done?i(c.value):Promise.resolve(c.value).then(o,s);a((n=n.apply(e,t)).next());});var Z="graz-reconnect-session";var Fe=(p=>(p.KEPLR="keplr",p.LEAP="leap",p.VECTIS="vectis",p.COSMOSTATION="cosmostation",p.WALLETCONNECT="walletconnect",p.WC_KEPLR_MOBILE="wc_keplr_mobile",p.WC_LEAP_MOBILE="wc_leap_mobile",p.WC_COSMOSTATION_MOBILE="wc_cosmostation_mobile",p.METAMASK_SNAP_LEAP="metamask_snap_leap",p.STATION="station",p.XDEFI="xdefi",p))(Fe||{}),ze=["keplr","leap","vectis","cosmostation","walletconnect","wc_keplr_mobile","wc_leap_mobile","wc_cosmostation_mobile","metamask_snap_leap","station","xdefi"];var Nt={recentChainIds:null,chains:null,chainsConfig:null,multiChainFetchConcurrency:3,walletType:"keplr",walletConnect:{options:null,web3Modal:null},_notFoundFn:()=>null,_onReconnectFailed:()=>null,_reconnect:!1,_reconnectConnector:null},ee={accounts:null,activeChainIds:null,status:"disconnected",wcSignClients:new Map},_t={name:"graz-session",version:2,partialize:e=>({accounts:e.accounts,activeChainIds:e.activeChainIds}),storage:createJSONStorage(()=>sessionStorage)},Bt={name:"graz-internal",partialize:e=>({recentChainIds:e.recentChainIds,_reconnect:e._reconnect,_reconnectConnector:e._reconnectConnector}),version:2},C=create(subscribeWithSelector(persist(()=>ee,_t))),u=create(subscribeWithSelector(persist(()=>Nt,Bt)));var ae=()=>{var e;if(typeof((e=window.cosmostation)==null?void 0:e.providers.keplr)!="undefined"){let t=window.cosmostation.providers.keplr;return Object.assign(t,{subscription:r=>{var s;let o=()=>{z(),r();};return (s=window.cosmostation)==null||s.cosmos.on("accountChanged",o),()=>{var a;(a=window.cosmostation)==null||a.cosmos.off("accountChanged",o);}}})}throw u.getState()._notFoundFn(),new Error("window.cosmostation.providers.keplr is not defined")};var ce=()=>{if(typeof window.keplr!="undefined"){let e=window.keplr;return Object.assign(e,{subscription:i=>{let r=()=>{z(),i();};return window.addEventListener("keplr_keystorechange",r),()=>{window.removeEventListener("keplr_keystorechange",r);}}})}throw u.getState()._notFoundFn(),new Error("window.keplr is not defined")};var le=()=>{if(typeof window.leap!="undefined"){let e=window.leap;return Object.assign(e,{subscription:i=>{let r=()=>{z(),i();};return window.addEventListener("leap_keystorechange",r),()=>{window.removeEventListener("leap_keystorechange",r);}}})}throw u.getState()._notFoundFn(),new Error("window.leap is not defined")};var He=e=>{let t=window.ethereum;if(t&&e){let n=()=>l(void 0,null,function*(){return yield t.request({method:"wallet_getSnaps"})}),i=h=>l(void 0,null,function*(){try{let w=yield n();return Object.values(w).find(M=>M.id===e.id&&(!h||M.version===h))}catch(w){return}}),r=()=>l(void 0,null,function*(){yield t.request({method:"wallet_requestSnaps",params:{[e.id]:e.params||{}}});}),o=()=>l(void 0,null,function*(){var B;let h=yield t.request({method:"web3_clientVersion"});if(!h.includes("MetaMask"))throw new Error("Metamask is not installed");let M=(B=h.split("MetaMask/v")[1])==null?void 0:B.split(".")[0];if(!(Number(M)>=11))throw new Error("Metamask Snap is not supported in this version");return (yield i())||(yield r()),!0}),s=h=>l(void 0,null,function*(){(yield i())||(yield r());}),a=(h,w,M)=>l(void 0,null,function*(){let N=yield t.request({method:"wallet_invokeSnap",params:{snapId:e.id,request:{method:"signDirect",params:{chainId:h,signerAddress:w,signDoc:M}}}}),L=M.accountNumber,B=new Dt(L.low,L.high,L.unsigned);return {signature:N.signature,signed:_(E({},N.signed),{accountNumber:`${B.toString()}`,authInfoBytes:new Uint8Array(Object.values(N.signed.authInfoBytes)),bodyBytes:new Uint8Array(Object.values(N.signed.bodyBytes))})}}),c=(h,w,M)=>l(void 0,null,function*(){return yield t.request({method:"wallet_invokeSnap",params:{snapId:e.id,request:{method:"signAmino",params:{chainId:h,signerAddress:w,signDoc:M}}}})}),d=h=>l(void 0,null,function*(){let w=yield t.request({method:"wallet_invokeSnap",params:{snapId:e.id,request:{method:"getKey",params:{chainId:h}}}});if(!w)throw new Error("No response from Metamask");return w.pubKey=Uint8Array.from(Object.values(w.pubkey)),delete w.pubkey,E({},w)}),g=h=>l(void 0,null,function*(){let w=yield d(h);return {address:w.bech32Address,algo:w.algo,pubkey:w.pubKey}}),p=(...h)=>l(void 0,null,function*(){let[w,M,N,L]=h;return yield c(w,M,N)}),A=(...h)=>l(void 0,null,function*(){let[w,M,N]=h;return yield a(w,M,N)}),S=h=>({getAccounts:()=>l(void 0,null,function*(){return [yield g(h)]}),signDirect:(w,M)=>A(h,w,M)}),b=h=>({getAccounts:()=>l(void 0,null,function*(){return [yield g(h)]}),signAmino:(w,M)=>p(h,w,M)});return {enable:s,experimentalSuggestChain:(...h)=>l(void 0,null,function*(){yield o(),yield t.request({method:"wallet_invokeSnap",params:{snapId:e.id,request:{method:"suggestChain",params:{chainInfo:h[0]}}}});}),getKey:d,getOfflineSigner:h=>({getAccounts:()=>l(void 0,null,function*(){return [yield g(h)]}),signDirect:(w,M)=>A(h,w,M),signAmino:(w,M)=>p(h,w,M)}),getOfflineSignerAuto:h=>l(void 0,null,function*(){return (yield d(h)).isNanoLedger?b(h):S(h)}),getOfflineSignerOnlyAmino:b,init:o,signAmino:p,signDirect:A}}throw u.getState()._notFoundFn(),new Error("window.ethereum is not defined")};var Ve=()=>He({id:"npm:@leapwallet/metamask-cosmos-snap"});var ue=()=>{if(typeof window.station!="undefined"){let e=window.station.keplr;return {subscription:o=>{let s=()=>{z(),o();};return window.addEventListener("station_wallet_change",s),()=>{window.removeEventListener("station_wallet_change",s);}},getKey:o=>l(void 0,null,function*(){let s=yield e.getKey(o);return E({isKeystone:!1},s)}),getOfflineSigner:o=>{try{let s=e.getOfflineSignerOnlyAmino(o);return Object.assign(s,{signDirect:(d,g)=>{throw new Error("signDirect not supported by Station")}})}catch(s){throw console.error(s),s}},experimentalSuggestChain:o=>l(void 0,null,function*(){try{let s=Object.assign(o,{chainSymbolImageUrl:o.chainSymbolImageUrl||"",stakeCurrency:{coinDecimals:o.stakeCurrency.coinDecimals,coinDenom:o.stakeCurrency.coinDenom,coinImageUrl:o.stakeCurrency.coinImageUrl||"",coinMinimalDenom:o.stakeCurrency.coinMinimalDenom},currencies:o.currencies.map(a=>({coinDecimals:a.coinDecimals,coinDenom:a.coinDenom,coinImageUrl:a.coinImageUrl||"",coinMinimalDenom:a.coinMinimalDenom})),feeCurrencies:o.feeCurrencies.map(a=>{var c,d,g;return {coinDecimals:a.coinDecimals,coinDenom:a.coinDenom,coinImageUrl:a.coinImageUrl||"",coinMinimalDenom:a.coinMinimalDenom,gasPriceStep:{average:((c=a.gasPriceStep)==null?void 0:c.average)||0,high:((d=a.gasPriceStep)==null?void 0:d.high)||0,low:((g=a.gasPriceStep)==null?void 0:g.low)||0}}})});yield e.experimentalSuggestChain(s);}catch(s){throw console.error(s),s}}),enable:o=>e.enable(o),disable:o=>e.disable(o),getOfflineSignerAuto:o=>e.getOfflineSignerAuto(o),getOfflineSignerOnlyAmino:o=>e.getOfflineSignerOnlyAmino(o),signDirect:()=>e.signDirect(),signAmino:(o,s,a,c)=>e.signAmino(o,s,a)}}throw u.getState()._notFoundFn(),new Error("window.station is not defined")};var de=()=>{if(typeof window.vectis!="undefined"){let e=window.vectis.cosmos;return {enable:a=>e.enable(a),getOfflineSigner:a=>e.getOfflineSigner(a),getOfflineSignerAuto:a=>e.getOfflineSignerAuto(a),getKey:a=>l(void 0,null,function*(){let c=yield e.getKey(a);return {address:fromBech32(c.address).data,algo:c.algo,bech32Address:c.address,name:c.name,pubKey:c.pubKey,isKeystone:!1,isNanoLedger:c.isNanoLedger}}),subscription:a=>{let c=()=>{z(),a();};return window.addEventListener("vectis_accountChanged",c),()=>{window.removeEventListener("vectis_accountChanged",c);}},getOfflineSignerOnlyAmino:(...a)=>e.getOfflineSignerAmino(...a),experimentalSuggestChain:(...a)=>l(void 0,null,function*(){let[c]=a,d=_(E({},c),{rpcUrl:c.rpc,restUrl:c.rest,prettyName:c.chainName.replace(" ",""),bech32Prefix:c.bech32Config.bech32PrefixAccAddr});return e.suggestChains([d])}),signDirect:(...a)=>l(void 0,null,function*(){var g;let{1:c,2:d}=a;return e.signDirect(c,{bodyBytes:d.bodyBytes||Uint8Array.from([]),authInfoBytes:d.authInfoBytes||Uint8Array.from([]),accountNumber:Dt.fromString(((g=d.accountNumber)==null?void 0:g.toString())||"",!1),chainId:d.chainId||""})}),signAmino:(...a)=>l(void 0,null,function*(){let{1:c,2:d}=a;return e.signAmino(c,d)})}}throw u.getState()._notFoundFn(),new Error("window.vectis is not defined")};var j=()=>typeof window!="undefined"?!!(window.matchMedia("(pointer:coarse)").matches||/Android|webOS|iPhone|iPad|iPod|BlackBerry|Opera Mini/u.test(navigator.userAgent)):!1,Ye=()=>j()&&navigator.userAgent.toLowerCase().includes("android"),Xe=()=>j()&&(navigator.userAgent.toLowerCase().includes("iphone")||navigator.userAgent.toLowerCase().includes("ipad"));var Te=(e,t,n=new Error("Promise timed out"))=>{let i=new Promise((r,o)=>{setTimeout(()=>{o(n);},t);});return Promise.race([e,i])};var $=e=>{var B,ne,Ne;if(!((Ne=(ne=(B=u.getState().walletConnect)==null?void 0:B.options)==null?void 0:ne.projectId)!=null&&Ne.trim()))throw new Error("walletConnect.options.projectId is not defined");let t=(e==null?void 0:e.walletType)||"walletconnect",n=(e==null?void 0:e.encoding)||"base64",i=m=>{if(!e)return;let{appUrl:f,formatNativeUrl:y}=e;if(j()){if(Ye())if(!m)window.open(f.mobile.android,"_self","noreferrer noopener");else {let I=y(f.mobile.android,m,"android");window.open(I,"_self","noreferrer noopener");}if(Xe())if(!m)window.open(f.mobile.ios,"_self","noreferrer noopener");else {let I=y(f.mobile.ios,m,"ios");window.open(I,"_self","noreferrer noopener");}}},r=()=>{let{wcSignClients:m}=C.getState();if(!m.get(t))throw new Error("walletConnect.signClient is not defined");m.delete(t),C.setState({wcSignClients:m}),u.setState({_reconnect:!1,_reconnectConnector:null,recentChainIds:null});},o=m=>l(void 0,null,function*(){let{wcSignClients:f}=C.getState(),y=f.get(t);if(!y)throw new Error("walletConnect.signClient is not defined");if(!m)throw new Error("No wallet connect session");yield y.disconnect({topic:m,reason:getSdkError("USER_DISCONNECTED")}),yield c(y);}),s=m=>{try{let{wcSignClients:f}=C.getState(),y=f.get(t);if(!y)throw new Error("walletConnect.signClient is not defined");let I=y.session.getAll().at(-1);if(!I)return;if(!(I.expiry*1e3>Date.now()+1e3))throw o(I.topic),new Error("invalid session");try{let W=y.find({requiredNamespaces:{cosmos:{methods:["cosmos_getAccounts","cosmos_signAmino","cosmos_signDirect"],chains:m.map(q=>`cosmos:${q}`),events:["chainChanged","accountsChanged"]}}});if(!W.length)throw new Error("no session");return W.at(-1)}catch(W){if(!W.message.toLowerCase().includes("no matching key"))throw W}return I}catch(f){if(!f.message.toLowerCase().includes("no matching key"))throw f}},a=m=>{try{return s(m)}catch(f){return}},c=m=>l(void 0,null,function*(){try{let f=m.core.pairing.pairings.getAll({active:!1});if(!f.length)return;yield Promise.all(f.map(y=>l(void 0,null,function*(){yield m.core.pairing.pairings.delete(y.topic,{code:7001,message:"clear pairing"});})));}catch(f){if(!f.message.toLowerCase().includes("no matching key"))throw f}}),d=()=>l(void 0,null,function*(){let{walletConnect:m}=u.getState();if(!(m!=null&&m.options))throw new Error("walletConnect.options is not defined");let{wcSignClients:f}=C.getState(),y=f.get(t);if(y)return y;let I=yield SignClient.init(m.options);return f.set(t,I),C.setState({wcSignClients:f}),I}),g=m=>{let{wcSignClients:f}=C.getState(),y=f.get(t);if(!y)return ()=>{};let I=R=>{let W=C.getState().accounts;if(R.params.event.name==="accountsChanged"&&W&&!Object.values(W).map(q=>q.bech32Address).includes(R.params.event.data[0])){let q=R.params.chainId.split(":")[1];q&&p([q]);}else m();};return y.events.on("session_delete",r),y.events.on("session_expire",r),y.events.on("session_event",I),()=>{y.events.off("session_delete",r),y.events.off("session_expire",r),y.events.off("session_event",I);}},p=m=>l(void 0,null,function*(){var oe;let f=typeof m=="string"?[m]:m,{wcSignClients:y}=C.getState(),I=y.get(t);if(!I)throw new Error("enable walletConnect.signClient is not defined");let{walletConnect:R,chains:W}=u.getState();if(!((oe=R==null?void 0:R.options)!=null&&oe.projectId))throw new Error("walletConnect.options.projectId is not defined");let{Web3Modal:q}=yield import('@web3modal/standalone'),H=new q(E({projectId:R.options.projectId,walletConnectVersion:2,enableExplorer:!1,explorerRecommendedWalletIds:"NONE"},R.web3Modal)),Y=a(f);if(!Y){let{uri:K,approval:X}=yield Te(I.connect({requiredNamespaces:{cosmos:{methods:["cosmos_getAccounts","cosmos_signAmino","cosmos_signDirect"],chains:f.map(F=>`cosmos:${F}`),events:["chainChanged","accountsChanged"]}}}),15e3,new Error("Connection timeout"));if(!K)throw new Error("No wallet connect uri");e?i(K):yield H.openModal({uri:K});let ie=F=>l(void 0,null,function*(){return F.aborted?Promise.reject(new Error("User closed wallet connect")):new Promise((Ae,J)=>{X().then(_e=>{let Be=_e.sessionProperties;if(!Be)return J(new Error("No session properties"));let Ie=JSON.parse(String(Be.keys));if(Ie.length===0)return J(new Error("No accounts"));let De=Ie[0];if(!De)return J(new Error("No accounts"));let Le={};return f.forEach(re=>{Le[re]=_(E({},De),{bech32Address:toBech32(W.find(Wt=>Wt.chainId===re).bech32Config.bech32PrefixAccAddr,fromBech32(Ie[0].bech32Address).data)});}),C.setState(re=>({accounts:E(E({},re.accounts||{}),Le)})),Ae(_e)}).catch(J),F.addEventListener("abort",()=>{J(new Error("User closed wallet connect"));},{once:!0});})});try{let F=new AbortController,Ae=F.signal;H.subscribeModal(J=>{J.open||F.abort();}),yield ie(Ae);}catch(F){if(H.closeModal(),!F.message.toLowerCase().includes("no matching key"))return Promise.reject(F)}return e||H.closeModal(),Promise.resolve()}try{yield Te((()=>l(void 0,null,function*(){let K=yield S(f[0]),X={};f.forEach(ie=>{X[ie]=_(E({},K),{bech32Address:toBech32(W.find(F=>F.chainId===ie).bech32Config.bech32PrefixAccAddr,fromBech32(K.bech32Address).data)});}),C.setState({accounts:X});}))(),15e3,new Error("Connection timeout"));}catch(K){if(o(Y.topic),!K.message.toLowerCase().includes("no matching key"))throw K}}),A=m=>l(void 0,null,function*(){var W;let{wcSignClients:f}=C.getState(),y=f.get(t);if(!y)throw new Error("walletConnect.signClient is not defined");let I=(W=s([m]))==null?void 0:W.topic;if(!I)throw new Error("No wallet connect session");let R=yield y.request({topic:I,chainId:`cosmos:${m}`,request:{method:"cosmos_getAccounts",params:{}}});if(!R[0])throw new Error("No wallet connect account");return {address:R[0].address,algo:R[0].algo,pubkey:new Uint8Array(Buffer.from(R[0].pubkey,n))}}),S=m=>l(void 0,null,function*(){let{address:f,algo:y,pubkey:I}=yield A(m);return {address:fromBech32(f).data,algo:y,bech32Address:f,name:"",pubKey:I,isKeystone:!1,isNanoLedger:!1}}),b=(...m)=>l(void 0,null,function*(){var K,X;let[f,y,I]=m,{accounts:R,wcSignClients:W}=C.getState(),q=W.get(t);if(!q)throw new Error("walletConnect.signClient is not defined");if(!R)throw new Error("account is not defined");let H=(K=s([f]))==null?void 0:K.topic;if(!H)throw new Error("No wallet connect session");if(!I.bodyBytes)throw new Error("No bodyBytes");if(!I.authInfoBytes)throw new Error("No authInfoBytes");let Y={topic:H,chainId:`cosmos:${f}`,request:{method:"cosmos_signDirect",params:{signerAddress:y,signDoc:_(E({},I),{bodyBytes:Buffer.from(I.bodyBytes).toString(n),authInfoBytes:Buffer.from(I.authInfoBytes).toString(n),accountNumber:(X=I.accountNumber)==null?void 0:X.toString()})}}};return i(),yield q.request(Y)}),T=(...m)=>l(void 0,null,function*(){let[f,y,I]=m,{signature:R,signed:W}=yield b(f,y,I);return {signed:{chainId:W.chainId,accountNumber:Dt.fromString(W.accountNumber,!1),authInfoBytes:new Uint8Array(Buffer.from(W.authInfoBytes,n)),bodyBytes:new Uint8Array(Buffer.from(W.bodyBytes,n))},signature:R}}),v=(...m)=>l(void 0,null,function*(){var K;let[f,y,I,R]=m,{wcSignClients:W}=C.getState(),q=W.get(t),{accounts:H}=C.getState();if(!q)throw new Error("walletConnect.signClient is not defined");if(!H)throw new Error("account is not defined");let Y=(K=s([f]))==null?void 0:K.topic;if(!Y)throw new Error("No wallet connect session");return i(),yield q.request({topic:Y,chainId:`cosmos:${f}`,request:{method:"cosmos_signDirect",params:{signerAddress:y,signDoc:I}}})}),P=(...m)=>l(void 0,null,function*(){let[f,y,I,R]=m;return yield v(f,y,I)}),h=m=>({getAccounts:()=>l(void 0,null,function*(){return [yield A(m)]}),signDirect:(f,y)=>T(m,f,y)}),w=m=>({getAccounts:()=>l(void 0,null,function*(){return [yield A(m)]}),signAmino:(f,y)=>P(m,f,y)});return {enable:p,disable:m=>l(void 0,null,function*(){var I;let{wcSignClients:f}=C.getState(),y=f.get(t);if(m===void 0){let R=y==null?void 0:y.session.getAll();R!==void 0&&(yield Promise.all(R.map(W=>o(W.topic))));}else typeof m=="string"?yield o((I=s([m]))==null?void 0:I.topic):yield Promise.all(m.map(R=>{var W;return o((W=s([R]))==null?void 0:W.topic)}));(y==null?void 0:y.session.getAll().length)===0&&r();}),experimentalSuggestChain:(...m)=>l(void 0,null,function*(){yield Promise.reject(new Error("WalletConnect does not support experimentalSuggestChain"));}),getKey:S,getOfflineSigner:m=>({getAccounts:()=>l(void 0,null,function*(){return [yield A(m)]}),signDirect:(f,y)=>T(m,f,y),signAmino:(f,y)=>P(m,f,y)}),getOfflineSignerAuto:m=>l(void 0,null,function*(){return (yield S(m)).isNanoLedger?w(m):h(m)}),getOfflineSignerOnlyAmino:w,signAmino:P,signDirect:T,subscription:g,init:d}};var Ze=()=>{var t,n,i;if(!((i=(n=(t=u.getState().walletConnect)==null?void 0:t.options)==null?void 0:n.projectId)!=null&&i.trim()))throw new Error("walletConnect.options.projectId is not defined");if(!j())throw new Error("WalletConnect Cosmostation mobile is only supported in mobile");let e={encoding:"hex",appUrl:{mobile:{ios:"cosmostation://",android:"cosmostation://"}},walletType:"wc_cosmostation_mobile",formatNativeUrl:(r,o,s)=>`${r.replaceAll("/","").replaceAll(":","")}://wc?${o}`};return $(e)};var et=()=>{var t,n,i;if(!((i=(n=(t=u.getState().walletConnect)==null?void 0:t.options)==null?void 0:n.projectId)!=null&&i.trim()))throw new Error("walletConnect.options.projectId is not defined");if(!j())throw new Error("WalletConnect Keplr mobile is only supported in mobile");let e={encoding:"base64",appUrl:{mobile:{ios:"keplrwallet://",android:"intent://"}},walletType:"wc_keplr_mobile",formatNativeUrl:(r,o,s)=>{let a=r.replaceAll("/","").replaceAll(":",""),c=encodeURIComponent(o);switch(s){case"ios":return `${a}://wcV2?${c}`;case"android":return `${a}://wcV2?${c}#Intent;package=com.chainapsis.keplr;scheme=keplrwallet;end;`;default:return `${a}://wc?uri=${c}`}}};return $(e)};var tt=()=>{var t,n,i;if(!((i=(n=(t=u.getState().walletConnect)==null?void 0:t.options)==null?void 0:n.projectId)!=null&&i.trim()))throw new Error("walletConnect.options.projectId is not defined");if(!j())throw new Error("WalletConnect Leap mobile is only supported in mobile");let e={encoding:"base64",appUrl:{mobile:{ios:"leapcosmos://",android:"intent://"}},walletType:"wc_leap_mobile",formatNativeUrl:(r,o,s)=>{let a=r.replaceAll("/","").replaceAll(":",""),c=encodeURIComponent(o);switch(s){case"ios":return `${a}://wcV2?${c}`;case"android":return `${a}://wcV2?${c}#Intent;package=io.leapwallet.cosmos;scheme=leapwallet;end;`;default:return `${a}://wc?uri=${c}`}}};return $(e)};var me=()=>{var e;if(typeof((e=window.xfi)==null?void 0:e.keplr)!="undefined"){let t=window.xfi.keplr;return Object.assign(t,{subscription:r=>{let o=()=>{z(),r();};return window.addEventListener("keplr_keystorechange",o),()=>{window.removeEventListener("keplr_keystorechange",o);}}})}throw u.getState()._notFoundFn(),new Error("window.xfi.keplr is not defined")};var D=(e=u.getState().walletType)=>{try{return k(e),!0}catch(t){return !1}},z=()=>{window.sessionStorage.removeItem(Z),C.setState(ee);},k=(e=u.getState().walletType)=>{switch(e){case"keplr":return ce();case"leap":return le();case"cosmostation":return ae();case"vectis":return de();case"walletconnect":return $();case"wc_keplr_mobile":return et();case"wc_leap_mobile":return tt();case"wc_cosmostation_mobile":return Ze();case"metamask_snap_leap":return Ve();case"station":return ue();case"xdefi":return me();default:throw new Error("Unknown wallet type")}},jo=()=>Object.fromEntries(ze.map(e=>[e,D(e)])),nt=e=>e==="walletconnect"||e==="wc_keplr_mobile"||e==="wc_leap_mobile"||e==="wc_cosmostation_mobile";var te=e=>l(void 0,null,function*(){var t;try{let{recentChainIds:n,chains:i,walletType:r}=u.getState(),o=(e==null?void 0:e.walletType)||r;if(!D(o))throw new Error(`${o} is not available`);let a=k(o),c=typeof(e==null?void 0:e.chainId)=="string"?[e.chainId]:(e==null?void 0:e.chainId)||n;if(!c)throw new Error("No last known connected chain, connect action requires chain ids");let d=i==null?void 0:i.map(S=>S.chainId);c.forEach(S=>{if(!(d!=null&&d.includes(S)))throw new Error(`Chain ${S} is not provided in GrazProvider`)}),C.setState(S=>{let b=u.getState()._reconnect||!!u.getState()._reconnectConnector||!!c;return S.activeChainIds&&c.filter(v=>{var P;return !((P=S.activeChainIds)!=null&&P.includes(v))}).length>0?{status:"connecting"}:b?{status:"reconnecting"}:{status:"connecting"}});let{accounts:g}=C.getState();if(yield (t=a.init)==null?void 0:t.call(a),yield a.enable(c),!nt(o)){let S=yield a.getKey(c[0]),b={};c.forEach(T=>{b[T]=_(E({},S),{bech32Address:toBech32(i.find(v=>v.chainId===T).bech32Config.bech32PrefixAccAddr,fromBech32(S.bech32Address).data)});}),C.setState(T=>({accounts:E(E({},T.accounts||{}),b)}));}u.setState(S=>({recentChainIds:[...S.recentChainIds||[],...c].filter((b,T,v)=>v.indexOf(b)===T)})),C.setState(S=>({activeChainIds:[...S.activeChainIds||[],...c].filter((b,T,v)=>v.indexOf(b)===T)})),u.setState({walletType:o,_reconnect:!!(e!=null&&e.autoReconnect),_reconnectConnector:o}),C.setState({status:"connected"}),typeof window!="undefined"&&window.sessionStorage.setItem(Z,"Active");let p=c.map(S=>i.find(b=>b.chainId===S));return {accounts:C.getState().accounts,walletType:o,chains:p}}catch(n){throw console.error("connect ",n),C.getState().accounts===null&&C.setState({status:"disconnected"}),C.getState().accounts&&C.getState().activeChainIds&&C.setState({status:"connected"}),n}}),be=e=>{typeof window!="undefined"&&window.sessionStorage.removeItem(Z);let t=typeof(e==null?void 0:e.chainId)=="string"?[e.chainId]:e==null?void 0:e.chainId;if(t){let n=C.getState().accounts;t.forEach(r=>{n==null||delete n[r];}),Object.values(n||{}).length===0?(C.setState(ee),u.setState({_reconnect:!1,_reconnectConnector:null,recentChainIds:null})):(C.setState(r=>{var o;return {activeChainIds:(o=r.activeChainIds)==null?void 0:o.filter(s=>!t.includes(s)),accounts:n}}),u.setState(r=>{var o;return {recentChainIds:(o=r.recentChainIds)==null?void 0:o.filter(s=>!t.includes(s))}}));}else C.setState(ee),u.setState({_reconnect:!1,_reconnectConnector:null,recentChainIds:null});return Promise.resolve()},Q=e=>l(void 0,null,function*(){var r;let{recentChainIds:t,_reconnectConnector:n,_reconnect:i}=u.getState();try{let o=D(n||void 0);if(t&&o&&n)return yield te({chainId:t,walletType:n,autoReconnect:i})}catch(o){(r=e==null?void 0:e.onError)==null||r.call(e,o),be();}}),ot=e=>l(void 0,null,function*(){if(!(e!=null&&e.chainId))throw new Error("chainId is required");let{walletType:t}=u.getState(),n=e.walletType||t;if(!D(n))throw new Error(`${n} is not available`);let r=k(n),o=r.getOfflineSigner(e.chainId),s=r.getOfflineSignerOnlyAmino(e.chainId),a=yield r.getOfflineSignerAuto(e.chainId);return {offlineSigner:o,offlineSignerAmino:s,offlineSignerAuto:a}});var Oe=()=>{u.setState({recentChainIds:null});},ri=()=>u.getState().recentChainIds,si=()=>{var n;let{recentChainIds:e,chains:t}=u.getState();return (n=e==null?void 0:e.map(i=>t.find(r=>r.chainId===i)))!=null?n:null},xe=n=>l(void 0,[n],function*({chainInfo:e,walletType:t}){return yield k(t).experimentalSuggestChain(e),e}),it=e=>l(void 0,null,function*(){var i;let t=u.getState().walletType;return yield xe({chainInfo:e.chainInfo,walletType:(i=e.walletType)!=null?i:t}),yield te({chainId:e.chainInfo.chainId,walletType:e.walletType,autoReconnect:e.autoReconnect})});var rt=e=>(u.setState(t=>({walletConnect:e.walletConnect||t.walletConnect,walletType:e.defaultWallet||t.walletType,chains:e.chains,chainsConfig:e.chainsConfig||t.chainsConfig,multiChainFetchConcurrency:e.multiChainFetchConcurrency||t.multiChainFetchConcurrency,_notFoundFn:e.onNotFound||t._notFoundFn,_onReconnectFailed:e.onReconnectFailed||t._onReconnectFailed,_reconnect:e.autoReconnect===void 0?!0:e.autoReconnect||t._reconnect})),e);var st=s=>l(void 0,[s],function*({signingClient:e,senderAddress:t,recipientAddress:n,amount:i,fee:r,memo:o}){if(!e)throw new Error("No connected account detected");if(!t)throw new Error("senderAddress is not defined");return e.sendTokens(t,n,i,r,o)}),at=g=>l(void 0,[g],function*({signingClient:e,senderAddress:t,recipientAddress:n,transferAmount:i,sourcePort:r,sourceChannel:o,timeoutHeight:s,timeoutTimestamp:a,fee:c,memo:d}){if(!e)throw new Error("Stargate signing client is not ready");if(!t)throw new Error("senderAddress is not defined");return e.sendIbcTokens(t,n,i,r,o,s,a,c,d)}),ct=a=>l(void 0,[a],function*({signingClient:e,senderAddress:t,msg:n,fee:i,options:r,label:o,codeId:s}){if(!e)throw new Error("CosmWasm signing client is not ready");return e.instantiate(t,s,n,o,i,r)}),lt=a=>l(void 0,[a],function*({signingClient:e,senderAddress:t,msg:n,fee:i,contractAddress:r,funds:o,memo:s}){if(!e)throw new Error("CosmWasm signing client is not ready");return e.execute(t,r,n,i,s,o)}),ut=(e,t,n)=>l(void 0,null,function*(){if(!n)throw new Error("CosmWasm client is not ready");return yield n.queryContractSmart(e,t)}),dt=(e,t,n)=>{if(!n)throw new Error("CosmWasm client is not ready");let i=new TextEncoder().encode(t);return n.queryContractRaw(e,i)};var yi=e=>e,Ci=e=>e;var pe=e=>e?Object.keys(e).length===0:!0;var Me=class extends Error{constructor(t){super(),this.name="AbortError",this.message=t;}},mt=e=>globalThis.DOMException===void 0?new Me(e):new DOMException(e),pt=e=>{let t=e.reason===void 0?mt("This operation was aborted."):e.reason;return t instanceof Error?t:mt(t)};function We(o,s){return l(this,arguments,function*(e,t,{concurrency:n=Number.POSITIVE_INFINITY,stopOnError:i=!0,signal:r}={}){return new Promise((a,c)=>{if(e[Symbol.iterator]===void 0&&e[Symbol.asyncIterator]===void 0)throw new TypeError(`Expected \`input\` to be either an \`Iterable\` or \`AsyncIterable\`, got (${typeof e})`);if(typeof t!="function")throw new TypeError("Mapper function is required");if(!((Number.isSafeInteger(n)||n===Number.POSITIVE_INFINITY)&&n>=1))throw new TypeError(`Expected \`concurrency\` to be an integer from 1 and up or \`Infinity\`, got \`${n}\` (${typeof n})`);let d=[],g=[],p=new Map,A=!1,S=!1,b=!1,T=0,v=0,P=e[Symbol.iterator]===void 0?e[Symbol.asyncIterator]():e[Symbol.iterator](),h=M=>{A=!0,S=!0,c(M);};r&&(r.aborted&&h(pt(r)),r.addEventListener("abort",()=>{h(pt(r));}));let w=()=>l(this,null,function*(){if(S)return;let M=yield P.next(),N=v;if(v++,M.done){if(b=!0,T===0&&!S){if(!i&&g.length>0){h(new AggregateError(g));return}if(S=!0,p.size===0){a(d);return}let L=[];for(let[B,ne]of d.entries())p.get(B)!==ft&&L.push(ne);a(L);}return}T++,l(this,null,function*(){try{let L=yield M.value;if(S)return;let B=yield t(L,N);B===ft&&p.set(N,B),d[N]=B,T--,yield w();}catch(L){if(i)h(L);else {g.push(L),T--;try{yield w();}catch(B){h(B);}}}});});l(this,null,function*(){for(let M=0;M<n;M++){try{yield w();}catch(N){h(N);break}if(b||A)break}});})})}var ft=Symbol("skip");var U=({chainId:e,multiChain:t})=>{let n=u(r=>r.chains);if(!n)throw new Error("No chains found in GrazProvider");let i=typeof e=="string"?[e]:e;switch(!0){case(!!t&&!!i):return i.map(r=>n.find(o=>o.chainId===r)).filter(Boolean);case(!t&&!!i):return [i.map(r=>n.find(o=>o.chainId===r)).filter(Boolean)[0]];case(!!t&&!i):return n;default:return [n[0]]}},G=(e,t,n)=>l(void 0,null,function*(){let i=u.getState().multiChainFetchConcurrency;if(e){let o=yield We(t,n,{concurrency:i});return Object.fromEntries(o.map((s,a)=>[t[a].chainId,s]))}return yield n(t[0])}),gt=(e,t,n)=>{if(e){let r=t.map(n);return Object.fromEntries(r.map((o,s)=>[t[s].chainId,o]))}return n(t[0])};var ke=e=>{let t=U({chainId:e==null?void 0:e.chainId,multiChain:e==null?void 0:e.multiChain}),n=useMemo(()=>["USE_STARGATE_CLIENT",t],[t]);return useQuery({queryKey:n,queryFn:r=>l(void 0,[r],function*({queryKey:[,i]}){if(i.length<1)throw new Error("No chains found");return yield G(!!(e!=null&&e.multiChain),i,s=>l(void 0,null,function*(){var g;let a=(g=u.getState().chainsConfig)==null?void 0:g[s.chainId],c={url:s.rpc,headers:E({},(a==null?void 0:a.rpcHeaders)||{})};return yield StargateClient.connect(c)}))}),enabled:!!t&&t.length>0&&((e==null?void 0:e.enabled)!==void 0?!!e.enabled:!0),refetchOnWindowFocus:!1})},Pe=e=>{let t=U({chainId:e==null?void 0:e.chainId,multiChain:e==null?void 0:e.multiChain}),n=useMemo(()=>["USE_COSMWASM_CLIENT",t],[t]);return useQuery({queryKey:n,queryFn:r=>l(void 0,[r],function*({queryKey:[,i]}){if(i.length<1)throw new Error("No chains found");return yield G(!!(e!=null&&e.multiChain),i,s=>l(void 0,null,function*(){var g;let a=(g=u.getState().chainsConfig)==null?void 0:g[s.chainId],c={url:s.rpc,headers:E({},(a==null?void 0:a.rpcHeaders)||{})};return yield CosmWasmClient.connect(c)}))}),enabled:!!t&&t.length>0&&((e==null?void 0:e.enabled)!==void 0?!!e.enabled:!0),refetchOnWindowFocus:!1})},fe=({type:e,chainId:t,multiChain:n,enabled:i})=>{let r=U({chainId:t,multiChain:n}),o=useMemo(()=>["USE_TENDERMINT_CLIENT",e,r],[e,r]);return useQuery({queryKey:o,queryFn:c=>l(void 0,[c],function*({queryKey:[,s,a]}){if(a.length<1)throw new Error("No chains found");return yield G(!!n,a,g=>l(void 0,null,function*(){var T;let p=(T=u.getState().chainsConfig)==null?void 0:T[g.chainId],A={url:g.rpc,headers:E({},(p==null?void 0:p.rpcHeaders)||{})};return yield (s==="tm37"?Tendermint37Client:Tendermint34Client).connect(A)}))}),enabled:!!r&&r.length>0&&(i!==void 0?!!i:!0),refetchOnWindowFocus:!1})};var zi=()=>u(e=>({walletType:e.walletType,isCosmostation:e.walletType==="cosmostation",isCosmostationMobile:e.walletType==="wc_cosmostation_mobile",isKeplr:e.walletType==="keplr",isKeplrMobile:e.walletType==="wc_keplr_mobile",isLeap:e.walletType==="leap",isLeapMobile:e.walletType==="wc_leap_mobile",isVectis:e.walletType==="vectis",isWalletConnect:e.walletType==="walletconnect",isMetamaskSnapLeap:e.walletType==="metamask_snap_leap",isStation:e.walletType==="station"}),shallow),ge=e=>{let n=["USE_CHECK_WALLET",u(r=>e||r.walletType)];return useQuery(n,({queryKey:[,r]})=>D(r))};var V=e=>{let t=u(a=>a.walletType),n=C(a=>a.activeChainIds),i=U({chainId:e!=null&&e.chainId?e.chainId:n||void 0,multiChain:e==null?void 0:e.multiChain}),r=C(a=>a.accounts),o=C(a=>a.status);return useEffect(()=>C.subscribe(a=>a.status,(a,c)=>{var d,g,p;if(a==="connected"){let{accounts:A,activeChainIds:S}=C.getState(),{chains:b}=u.getState(),{walletType:T}=u.getState();if(!A||!S||!b)return (d=e==null?void 0:e.onDisconnect)==null?void 0:d.call(e);(g=e==null?void 0:e.onConnect)==null||g.call(e,{accounts:A,chains:S.map(v=>b.find(P=>P.chainId===v)),walletType:T,isReconnect:c==="reconnecting"});}a==="disconnected"&&((p=e==null?void 0:e.onDisconnect)==null||p.call(e));}),[e]),{data:useMemo(()=>r?gt(!!(e!=null&&e.multiChain),i,a=>r[a.chainId]):void 0,[r,i,e==null?void 0:e.multiChain]),isConnected:o==="connected",isConnecting:o==="connecting",isDisconnected:o==="disconnected",isReconnecting:o==="reconnecting",isLoading:o==="connecting"||o==="reconnecting",walletType:o==="connected"?t:void 0,reconnect:Q,status:o}},Jt=e=>{let t=U({chainId:e==null?void 0:e.chainId,multiChain:e==null?void 0:e.multiChain}),{data:n}=V(),i=(e==null?void 0:e.bech32Address)||(n==null?void 0:n.bech32Address),{data:r}=ke({chainId:t.map(s=>s.chainId),multiChain:!0,enabled:((e==null?void 0:e.enabled)===void 0?!0:e.enabled)&&!!i}),o=useMemo(()=>["USE_ALL_BALANCES",r,t,i,e==null?void 0:e.chainId],[i,e==null?void 0:e.chainId,t,r]);return useQuery(o,d=>l(void 0,[d],function*({queryKey:[,s,a,c]}){if(!c)throw new Error("address is not defined");return yield G(!!(e!=null&&e.multiChain),a,p=>l(void 0,null,function*(){let A=s==null?void 0:s[p.chainId];if(!A)throw new Error(`Client is not ready ${p.chainId}`);return yield A.getAllBalances(toBech32(p.bech32Config.bech32PrefixAccAddr,fromBech32(c).data))}))}),{enabled:!!i&&!!t&&t.length>0&&!pe(r)&&((e==null?void 0:e.enabled)===void 0?!0:e.enabled),refetchOnMount:!1,refetchOnReconnect:!0,refetchOnWindowFocus:!1})},or=e=>{let t=U({chainId:e.chainId}),{data:n}=V({chainId:e.chainId}),i=e.bech32Address||(n==null?void 0:n.bech32Address),{data:r,refetch:o}=Jt({chainId:t.map(c=>c.chainId),bech32Address:i,enabled:!!i&&(e.enabled===void 0?!0:e.enabled)}),s=["USE_BALANCE",e.denom,r,t,i,e.chainId],a=useQuery(s,({queryKey:[,c,d]})=>d==null?void 0:d.find(g=>g.denom===c),{enabled:!!r&&!!(r!=null&&r.length)&&(e.enabled===void 0?!0:e.enabled)});return _(E({},a),{refetch:c=>l(void 0,null,function*(){return yield o(),a.refetch(c)})})},ir=({onError:e,onLoading:t,onSuccess:n}={})=>{let r=useMutation(["USE_CONNECT",e,t,n],te,{onError:(s,a)=>Promise.resolve(e==null?void 0:e(s,a)),onMutate:t,onSuccess:s=>Promise.resolve(n==null?void 0:n(s))}),{data:o}=ge();return {connect:s=>r.mutate(s),connectAsync:s=>r.mutateAsync(s),error:r.error,isLoading:r.isLoading,isSuccess:r.isSuccess,isSupported:!!o,status:r.status}},rr=({onError:e,onLoading:t,onSuccess:n}={})=>{let r=useMutation(["USE_DISCONNECT",e,t,n],be,{onError:o=>Promise.resolve(e==null?void 0:e(o,void 0)),onMutate:t,onSuccess:()=>Promise.resolve(n==null?void 0:n(void 0))});return {disconnect:o=>r.mutate(o),disconnectAsync:o=>r.mutateAsync(o),error:r.error,isLoading:r.isLoading,isSuccess:r.isSuccess,status:r.status}},sr=e=>{let t=U({chainId:e==null?void 0:e.chainId,multiChain:e==null?void 0:e.multiChain}),n=u(r=>r.walletType),i=useMemo(()=>["USE_OFFLINE_SIGNERS",t,n],[t,n]);return useQuery({queryKey:i,queryFn:s=>l(void 0,[s],function*({queryKey:[,r,o]}){if(r.length<1)throw new Error("No chain found");if(!D(o))throw new Error(`${o} is not available`);return yield G(!!(e!=null&&e.multiChain),r,d=>l(void 0,null,function*(){return yield ot({chainId:d.chainId,walletType:o})}))}),enabled:!!t&&t.length>0&&!!n,refetchOnWindowFocus:!1})},ar=e=>{let t=U({chainId:e==null?void 0:e.chainId,multiChain:e==null?void 0:e.multiChain}),{data:n}=V(),{data:i}=ke({chainId:t.map(s=>s.chainId),multiChain:!0}),r=(e==null?void 0:e.bech32Address)||(n==null?void 0:n.bech32Address),o=useMemo(()=>["USE_BALANCE_STAKED",i,t,r],[t,r,i]);return useQuery(o,d=>l(void 0,[d],function*({queryKey:[,s,a,c]}){if(!c)throw new Error("address is not defined");return yield G(!!(e!=null&&e.multiChain),a,p=>l(void 0,null,function*(){var S;if(!s)throw new Error("Client is not ready");return yield (S=s[p.chainId])==null?void 0:S.getBalanceStaked(toBech32(p.bech32Config.bech32PrefixAccAddr,fromBech32(c).data))}))}),{enabled:!!r&&!!t&&t.length>0&&!!i,refetchOnMount:!1,refetchOnReconnect:!0,refetchOnWindowFocus:!1})};var gr=()=>C(e=>e.activeChainIds),Zt=()=>{var e;return (e=C(t=>t.activeChainIds))==null?void 0:e.map(t=>{var i;let n=(i=u.getState().chains)==null?void 0:i.find(r=>r.chainId===t);if(n)return n}).filter(Boolean)},yr=({denom:e})=>{let t=Zt();return useQuery(["USE_ACTIVE_CHAIN_CURRENCY",e],({queryKey:[,r]})=>{var o;return (o=t==null?void 0:t.find(s=>s.currencies.find(a=>a.coinMinimalDenom===r)))==null?void 0:o.currencies.find(s=>s)})},Cr=e=>{var r;let t=(r=e.status)!=null?r:"BOND_STATUS_BONDED",n=["USE_ACTIVE_CHAIN_VALIDATORS",e.queryClient,t];return useQuery(n,a=>l(void 0,[a],function*({queryKey:[,o,s]}){if(!o)throw new Error("Query client is not defined");return yield o.staking.validators(s)}),{enabled:typeof e.queryClient!="undefined"})},hr=()=>({data:u(t=>t.recentChainIds),clear:Oe}),Sr=()=>{var t;return {data:(t=u(n=>n.recentChainIds))==null?void 0:t.map(n=>{var r;let i=(r=u.getState().chains)==null?void 0:r.find(o=>o.chainId===n);if(i)return i}).filter(Boolean),clear:Oe}},wr=({onError:e,onLoading:t,onSuccess:n}={})=>{let r=useMutation(["USE_SUGGEST_CHAIN",e,t,n],xe,{onError:(o,s)=>Promise.resolve(e==null?void 0:e(o,s.chainInfo)),onMutate:o=>t==null?void 0:t(o.chainInfo),onSuccess:o=>Promise.resolve(n==null?void 0:n(o))});return {error:r.error,isLoading:r.isLoading,isSuccess:r.isSuccess,suggest:r.mutate,suggestAsync:r.mutateAsync,status:r.status}},Ar=({onError:e,onLoading:t,onSuccess:n}={})=>{let r=useMutation(["USE_SUGGEST_CHAIN_AND_CONNECT",e,t,n],it,{onError:(s,a)=>Promise.resolve(e==null?void 0:e(s,a)),onMutate:s=>t==null?void 0:t(s),onSuccess:s=>Promise.resolve(n==null?void 0:n(s))}),{data:o}=ge();return {error:r.error,isLoading:r.isLoading,isSuccess:r.isSuccess,isSupported:!!o,status:r.status,suggestAndConnect:r.mutate,suggestAndConnectAsync:r.mutateAsync}};var Wr=({onError:e,onLoading:t,onSuccess:n}={})=>{let{data:i}=V(),r=i==null?void 0:i.bech32Address,o=useMutation(["USE_SEND_TOKENS",e,t,n,r],s=>st(E({senderAddress:r},s)),{onError:(s,a)=>Promise.resolve(e==null?void 0:e(s,a)),onMutate:t,onSuccess:s=>Promise.resolve(n==null?void 0:n(s))});return {error:o.error,isLoading:o.isLoading,isSuccess:o.isSuccess,sendTokens:o.mutate,sendTokensAsync:o.mutateAsync,status:o.status}},vr=({onError:e,onLoading:t,onSuccess:n}={})=>{let{data:i}=V(),r=i==null?void 0:i.bech32Address,o=useMutation(["USE_SEND_IBC_TOKENS",e,t,n,r],s=>at(E({senderAddress:r},s)),{onError:(s,a)=>Promise.resolve(e==null?void 0:e(s,a)),onMutate:t,onSuccess:s=>Promise.resolve(n==null?void 0:n(s))});return {error:o.error,isLoading:o.isLoading,isSuccess:o.isSuccess,sendIbcTokens:o.mutate,sendIbcTokensAsync:o.mutateAsync,status:o.status}},Rr=({codeId:e,onError:t,onLoading:n,onSuccess:i})=>{let{data:r}=V(),o=r==null?void 0:r.bech32Address,a=useMutation(["USE_INSTANTIATE_CONTRACT",t,n,i,e,o],c=>{var g;if(!o)throw new Error("senderAddress is undefined");let d=_(E({},c),{fee:(g=c.fee)!=null?g:"auto",senderAddress:o,codeId:e});return ct(d)},{onError:(c,d)=>Promise.resolve(t==null?void 0:t(c,d)),onMutate:n,onSuccess:c=>Promise.resolve(i==null?void 0:i(c))});return {error:a.error,isLoading:a.isLoading,isSuccess:a.isSuccess,instantiateContract:a.mutate,instantiateContractAsync:a.mutateAsync,status:a.status}},kr=({contractAddress:e,onError:t,onLoading:n,onSuccess:i})=>{let{data:r}=V(),o=r==null?void 0:r.bech32Address,a=useMutation(["USE_EXECUTE_CONTRACT",t,n,i,e,o],c=>{var g,p,A;if(!o)throw new Error("senderAddress is undefined");let d=_(E({},c),{fee:(g=c.fee)!=null?g:"auto",senderAddress:o,contractAddress:e,memo:(p=c.memo)!=null?p:"",funds:(A=c.funds)!=null?A:[]});return lt(d)},{onError:(c,d)=>Promise.resolve(t==null?void 0:t(c,d)),onMutate:n,onSuccess:c=>Promise.resolve(i==null?void 0:i(c))});return {error:a.error,isLoading:a.isLoading,isSuccess:a.isSuccess,executeContract:a.mutate,executeContractAsync:a.mutateAsync,status:a.status}},Pr=e=>{let{data:t}=Pe();return useQuery(["USE_QUERY_SMART",e==null?void 0:e.address,e==null?void 0:e.queryMsg,t],({queryKey:[,i]})=>{if(!(e!=null&&e.address)||!e.queryMsg)throw new Error("address or queryMsg undefined");return ut(e.address,e.queryMsg,t)},{enabled:!!(e!=null&&e.address)&&!!(e!=null&&e.queryMsg)&&!!t})},Nr=e=>{let{data:t}=Pe(),n=["USE_QUERY_RAW",e==null?void 0:e.key,e==null?void 0:e.address,t];return useQuery(n,({queryKey:[,r]})=>{if(!(e!=null&&e.address)||!e.key)throw new Error("address or key undefined");return dt(e.address,e.key,t)},{enabled:!!(e!=null&&e.address)&&!!(e!=null&&e.key)&&!!t})};function $r(e){let t=U({chainId:e==null?void 0:e.chainId,multiChain:e==null?void 0:e.multiChain}),n=u(o=>o.walletType),i=C(o=>o.activeChainIds),r=useMemo(()=>["USE_STARGATE_SIGNING_CLIENT",t,n,e,i],[i,e,t,n]);return useQuery({queryKey:r,queryFn:a=>l(this,[a],function*({queryKey:[,o,s]}){if(o.length<1)throw new Error("No chains found");return yield G(!!(e!=null&&e.multiChain),o,d=>l(this,null,function*(){var T,v;if(!(i!=null&&i.includes(d.chainId)))return;if(!D(s))throw new Error(`${s} is not available`);let p=yield (()=>l(this,null,function*(){switch(e==null?void 0:e.offlineSigner){case"offlineSigner":return k(s).getOfflineSigner(d.chainId);case"offlineSignerAuto":return k(s).getOfflineSignerAuto(d.chainId);case"offlineSignerOnlyAmino":return k(s).getOfflineSignerOnlyAmino(d.chainId);default:return k(s).getOfflineSignerAuto(d.chainId)}}))(),A=(T=u.getState().chainsConfig)==null?void 0:T[d.chainId],S={url:d.rpc,headers:E({},(A==null?void 0:A.rpcHeaders)||{})};return (e==null?void 0:e.multiChain)===!0&&e.opts,yield SigningStargateClient.connectWithSigner(S,p,e!=null&&e.multiChain?(v=e.opts)==null?void 0:v[d.chainId]:e==null?void 0:e.opts)}))}),enabled:!!t&&t.length>0&&!!n&&((e==null?void 0:e.enabled)!==void 0?!!e.enabled:!0),refetchOnWindowFocus:!1})}function Hr(e){let t=U({chainId:e==null?void 0:e.chainId,multiChain:e==null?void 0:e.multiChain}),n=u(o=>o.walletType),i=C(o=>o.activeChainIds),r=useMemo(()=>["USE_COSMWASM_SIGNING_CLIENT",t,n,e,i],[i,e,t,n]);return useQuery({queryKey:r,queryFn:a=>l(this,[a],function*({queryKey:[,o,s]}){if(o.length<1)throw new Error("No chains found");return yield G(!!(e!=null&&e.multiChain),o,d=>l(this,null,function*(){var v,P;if(!(i!=null&&i.includes(d.chainId)))return;if(!D(s))throw new Error(`${s} is not available`);let p=yield (()=>l(this,null,function*(){switch(e==null?void 0:e.offlineSigner){case"offlineSigner":return k(s).getOfflineSigner(d.chainId);case"offlineSignerAuto":return k(s).getOfflineSignerAuto(d.chainId);case"offlineSignerOnlyAmino":return k(s).getOfflineSignerOnlyAmino(d.chainId);default:return k(s).getOfflineSignerAuto(d.chainId)}}))(),A=(v=u.getState().chainsConfig)==null?void 0:v[d.chainId],S={url:d.rpc,headers:E({},(A==null?void 0:A.rpcHeaders)||{})},b=A!=null&&A.gas?GasPrice.fromString(`${A.gas.price}${A.gas.denom}`):void 0;return yield SigningCosmWasmClient.connectWithSigner(S,p,E({gasPrice:b},e!=null&&e.multiChain?(P=e.opts)==null?void 0:P[d.chainId]:(e==null?void 0:e.opts)||{}))}))}),enabled:!!t&&t.length>0&&!!n&&((e==null?void 0:e.enabled)!==void 0?!!e.enabled:!0),refetchOnWindowFocus:!1})}function Vr(e){let t=U({chainId:e.chainId,multiChain:e.multiChain}),n=u(s=>s.walletType),i=C(s=>s.activeChainIds),r=useMemo(()=>["USE_STARGATE_TM_SIGNING_CLIENT",t,n,e,i],[i,e,t,n]),{data:o}=fe({type:e.type,chainId:e.chainId,multiChain:e.multiChain});return useQuery({queryKey:r,queryFn:c=>l(this,[c],function*({queryKey:[,s,a]}){if(s.length<1)throw new Error("No chains found");return yield G(!!e.multiChain,s,g=>l(this,null,function*(){var T;if(!(i!=null&&i.includes(g.chainId)))return;if(!D(a))throw new Error(`${a} is not available`);if(!o)throw new Error("No tendermint client found");let A=yield (()=>l(this,null,function*(){switch(e.offlineSigner){case"offlineSigner":return k(a).getOfflineSigner(g.chainId);case"offlineSignerAuto":return k(a).getOfflineSignerAuto(g.chainId);case"offlineSignerOnlyAmino":return k(a).getOfflineSignerOnlyAmino(g.chainId);default:return k(a).getOfflineSignerAuto(g.chainId)}}))(),S=e.multiChain?o[g.chainId]:o;return yield SigningStargateClient.createWithSigner(S,A,e.multiChain?(T=e.opts)==null?void 0:T[g.chainId]:e.opts)}))}),enabled:!!t&&t.length>0&&!!n&&!!o&&(e.enabled!==void 0?!!e.enabled:!0),refetchOnWindowFocus:!1})}function Yr(e){let t=U({chainId:e.chainId,multiChain:e.multiChain}),n=u(a=>a.walletType),i=C(a=>a.activeChainIds),r=useMemo(()=>["USE_COSMWASM_TM_SIGNING_CLIENT",t,n,e,i],[i,e,t,n]),{data:o}=fe({type:e.type,chainId:e.chainId,multiChain:!1,enabled:!e.multiChain}),{data:s}=fe({type:e.type,chainId:e.chainId,multiChain:!0,enabled:!!e.multiChain});return useQuery({queryKey:r,queryFn:d=>l(this,[d],function*({queryKey:[,a,c]}){if(a.length<1)throw new Error("No chains found");return yield G(!!e.multiChain,a,p=>l(this,null,function*(){var h,w;if(!(i!=null&&i.includes(p.chainId)))return;if(!D(c))throw new Error(`${c} is not available`);let S=yield (()=>l(this,null,function*(){switch(e.offlineSigner){case"offlineSigner":return k(c).getOfflineSigner(p.chainId);case"offlineSignerAuto":return k(c).getOfflineSignerAuto(p.chainId);case"offlineSignerOnlyAmino":return k(c).getOfflineSignerOnlyAmino(p.chainId);default:return k(c).getOfflineSignerAuto(p.chainId)}}))(),b=(h=u.getState().chainsConfig)==null?void 0:h[p.chainId],T=b!=null&&b.gas?GasPrice.fromString(`${b.gas.price}${b.gas.denom}`):void 0,v=e.multiChain?s==null?void 0:s[p.chainId]:o;if(!v)throw new Error("No tendermint client found");return yield SigningCosmWasmClient.createWithSigner(v,S,E({gasPrice:T},e.multiChain?(w=e.opts)==null?void 0:w[p.chainId]:e.opts||{}))}))}),enabled:!!t&&t.length>0&&!!n&&(!!o||!pe(s))&&(e.enabled!==void 0?!!e.enabled:!0),refetchOnWindowFocus:!1})}var bt=({children:e})=>{let[t,n]=useState(!1);return useEffect(()=>{n(!0);},[]),jsx(Fragment,{children:t?e:null})};var rn=()=>{let e=typeof window!="undefined"&&window.sessionStorage.getItem(Z)==="Active",{_reconnect:t,_onReconnectFailed:n,_reconnectConnector:i}=u(),{activeChainIds:r,wcSignClients:o}=C(),s=D(i||void 0);return useEffect(()=>{if(i){if(!s)return;e&&r?Q({onError:n}):!e&&t&&Q({onError:n});}},[s]),useEffect(()=>{var a,c,d,g,p,A,S,b,T,v,P,h,w,M;if(i){if(!s)return;i==="cosmostation"&&((c=(a=ae()).subscription)==null||c.call(a,()=>{Q({onError:n});})),i==="keplr"&&((g=(d=ce()).subscription)==null||g.call(d,()=>{Q({onError:n});})),i==="leap"&&((A=(p=le()).subscription)==null||A.call(p,()=>{Q({onError:n});})),i==="vectis"&&((b=(S=de()).subscription)==null||b.call(S,()=>{Q({onError:n});})),i==="walletconnect"&&o.has("walletconnect")&&((v=(T=$()).subscription)==null||v.call(T,()=>{Q({onError:n});})),i==="station"&&((h=(P=ue()).subscription)==null||h.call(P,()=>{Q({onError:n});})),i==="xdefi"&&((M=(w=me()).subscription)==null||M.call(w,()=>{Q({onError:n});}));}},[i,o,s]),null},xt=()=>(rn(),null);var cn=new QueryClient({}),Is=i=>{var r=i,{children:e,grazOptions:t}=r,n=Ge(r,["children","grazOptions"]);return rt(t),jsx(QueryClientProvider,_(E({client:cn},n),{children:jsxs(bt,{children:[e,jsx(xt,{})]})}),"graz-provider")};
16
16
 
17
- export { Et as GrazEvents, fs as GrazProvider, Le as WALLET_TYPES, Ue as WalletType, D as checkWallet, Te as clearRecentChain, F as clearSession, nt as configureGraz, ee as connect, ui as defineChainInfo, li as defineChains, Ie as disconnect, st as executeContract, Uo as getAvailableWallets, se as getCosmostation, ae as getKeplr, ce as getLeap, Qe as getMetamaskSnapLeap, et as getOfflineSigners, ct as getQueryRaw, at as getQuerySmart, Xo as getRecentChainIds, Zo as getRecentChains, le as getVectis, Ye as getWCCosmostation, Je as getWCKeplr, Xe as getWCLeap, R as getWallet, j as getWalletConnect, rt as instantiateContract, Ze as isWalletConnect, z as reconnect, it as sendIbcTokens, ot as sendTokens, Ee as suggestChain, tt as suggestChainAndConnect, H as useAccount, lr as useActiveChainCurrency, cr as useActiveChainIds, Yt as useActiveChains, Di as useActiveWalletType, Yi as useBalance, er as useBalanceStaked, Vt as useBalances, pe as useCheckWallet, Ji as useConnect, ve as useCosmWasmClient, qr as useCosmWasmSigningClient, Fr as useCosmWasmTmSigningClient, Xi as useDisconnect, br as useExecuteContract, tn as useGrazEvents, Er as useInstantiateContract, Zi as useOfflineSigners, ur as useQueryClientValidators, Mr as useQueryRaw, Or as useQuerySmart, dr as useRecentChainIds, mr as useRecentChains, Tr as useSendIbcTokens, Ir as useSendTokens, We as useStargateClient, Lr as useStargateSigningClient, Gr as useStargateTmSigningClient, pr as useSuggestChain, fr as useSuggestChainAndConnect, me as useTendermintClient };
17
+ export { xt as GrazEvents, Is as GrazProvider, ze as WALLET_TYPES, Fe as WalletType, D as checkWallet, Oe as clearRecentChain, z as clearSession, rt as configureGraz, te as connect, Ci as defineChainInfo, yi as defineChains, be as disconnect, lt as executeContract, jo as getAvailableWallets, ae as getCosmostation, ce as getKeplr, le as getLeap, Ve as getMetamaskSnapLeap, ot as getOfflineSigners, dt as getQueryRaw, ut as getQuerySmart, ri as getRecentChainIds, si as getRecentChains, de as getVectis, Ze as getWCCosmostation, et as getWCKeplr, tt as getWCLeap, k as getWallet, $ as getWalletConnect, ct as instantiateContract, nt as isWalletConnect, Q as reconnect, at as sendIbcTokens, st as sendTokens, xe as suggestChain, it as suggestChainAndConnect, V as useAccount, yr as useActiveChainCurrency, gr as useActiveChainIds, Zt as useActiveChains, zi as useActiveWalletType, or as useBalance, ar as useBalanceStaked, Jt as useBalances, ge as useCheckWallet, ir as useConnect, Pe as useCosmWasmClient, Hr as useCosmWasmSigningClient, Yr as useCosmWasmTmSigningClient, rr as useDisconnect, kr as useExecuteContract, rn as useGrazEvents, Rr as useInstantiateContract, sr as useOfflineSigners, Cr as useQueryClientValidators, Nr as useQueryRaw, Pr as useQuerySmart, hr as useRecentChainIds, Sr as useRecentChains, vr as useSendIbcTokens, Wr as useSendTokens, ke as useStargateClient, $r as useStargateSigningClient, Vr as useStargateTmSigningClient, wr as useSuggestChain, Ar as useSuggestChainAndConnect, fe as useTendermintClient };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "graz",
3
3
  "description": "React hooks for Cosmos",
4
- "version": "0.1.1",
4
+ "version": "0.1.3",
5
5
  "author": "Griko Nibras <griko@strange.love>",
6
6
  "repository": "https://github.com/graz-sh/graz.git",
7
7
  "homepage": "https://github.com/graz-sh/graz",
package/types/global.d.ts CHANGED
@@ -1,11 +1,12 @@
1
+ import type Station from "@terra-money/station-connector";
2
+
1
3
  type KeplrWindow = import("@keplr-wallet/types").Window;
2
4
  type VectisWindow = import("@vectis/extension-client").VectisWindow;
3
- import Station from "@terra-money/station-connector";
4
5
 
5
6
  declare global {
6
7
  interface Window extends KeplrWindow, VectisWindow {
7
- leap: KeplrWindow["keplr"];
8
- cosmostation: {
8
+ leap?: KeplrWindow["keplr"];
9
+ cosmostation?: {
9
10
  cosmos: {
10
11
  on: (type: string, listener: EventListenerOrEventListenerObject) => void;
11
12
  off: (type: string, listener: EventListenerOrEventListenerObject) => void;
@@ -16,5 +17,8 @@ declare global {
16
17
  };
17
18
  ethereum?: import("@metamask/providers").MetaMaskInpageProvider;
18
19
  station?: Station;
20
+ xfi?: {
21
+ keplr: KeplrWindow["keplr"];
22
+ };
19
23
  }
20
24
  }