graz 0.1.0 → 0.1.1

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
@@ -27,11 +27,12 @@ declare enum WalletType {
27
27
  WC_KEPLR_MOBILE = "wc_keplr_mobile",
28
28
  WC_LEAP_MOBILE = "wc_leap_mobile",
29
29
  WC_COSMOSTATION_MOBILE = "wc_cosmostation_mobile",
30
- METAMASK_SNAP_LEAP = "metamask_snap_leap"
30
+ METAMASK_SNAP_LEAP = "metamask_snap_leap",
31
+ STATION = "station"
31
32
  }
32
33
  declare const WALLET_TYPES: WalletType[];
33
34
  type Wallet = Pick<Keplr, "enable" | "getKey" | "getOfflineSigner" | "getOfflineSignerAuto" | "getOfflineSignerOnlyAmino" | "experimentalSuggestChain" | "signDirect" | "signAmino"> & {
34
- subscription?: (reconnect: () => void) => void;
35
+ subscription?: (reconnect: () => void) => () => void;
35
36
  init?: () => Promise<unknown>;
36
37
  };
37
38
  type SignDirectParams = Parameters<Wallet["signDirect"]>;
@@ -296,7 +297,7 @@ declare const getVectis: () => Wallet;
296
297
 
297
298
  interface GetWalletConnectParams {
298
299
  encoding: BufferEncoding;
299
- walletType: WalletType.WC_KEPLR_MOBILE | WalletType.WC_LEAP_MOBILE;
300
+ walletType: WalletType.WC_KEPLR_MOBILE | WalletType.WC_LEAP_MOBILE | WalletType.WC_COSMOSTATION_MOBILE;
300
301
  appUrl: {
301
302
  mobile: {
302
303
  ios: string;
@@ -1011,6 +1012,7 @@ declare const useActiveWalletType: () => {
1011
1012
  isVectis: boolean;
1012
1013
  isWalletConnect: boolean;
1013
1014
  isMetamaskSnapLeap: boolean;
1015
+ isStation: boolean;
1014
1016
  };
1015
1017
  /**
1016
1018
  * graz query hook to check whether given {@link WalletType} or default configured wallet is supported
package/dist/index.d.ts CHANGED
@@ -27,11 +27,12 @@ declare enum WalletType {
27
27
  WC_KEPLR_MOBILE = "wc_keplr_mobile",
28
28
  WC_LEAP_MOBILE = "wc_leap_mobile",
29
29
  WC_COSMOSTATION_MOBILE = "wc_cosmostation_mobile",
30
- METAMASK_SNAP_LEAP = "metamask_snap_leap"
30
+ METAMASK_SNAP_LEAP = "metamask_snap_leap",
31
+ STATION = "station"
31
32
  }
32
33
  declare const WALLET_TYPES: WalletType[];
33
34
  type Wallet = Pick<Keplr, "enable" | "getKey" | "getOfflineSigner" | "getOfflineSignerAuto" | "getOfflineSignerOnlyAmino" | "experimentalSuggestChain" | "signDirect" | "signAmino"> & {
34
- subscription?: (reconnect: () => void) => void;
35
+ subscription?: (reconnect: () => void) => () => void;
35
36
  init?: () => Promise<unknown>;
36
37
  };
37
38
  type SignDirectParams = Parameters<Wallet["signDirect"]>;
@@ -296,7 +297,7 @@ declare const getVectis: () => Wallet;
296
297
 
297
298
  interface GetWalletConnectParams {
298
299
  encoding: BufferEncoding;
299
- walletType: WalletType.WC_KEPLR_MOBILE | WalletType.WC_LEAP_MOBILE;
300
+ walletType: WalletType.WC_KEPLR_MOBILE | WalletType.WC_LEAP_MOBILE | WalletType.WC_COSMOSTATION_MOBILE;
300
301
  appUrl: {
301
302
  mobile: {
302
303
  ios: string;
@@ -1011,6 +1012,7 @@ declare const useActiveWalletType: () => {
1011
1012
  isVectis: boolean;
1012
1013
  isWalletConnect: boolean;
1013
1014
  isMetamaskSnapLeap: boolean;
1015
+ isStation: boolean;
1014
1016
  };
1015
1017
  /**
1016
1018
  * graz query hook to check whether given {@link WalletType} or default configured wallet is supported
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 kt = require('long');
6
+ var Pt = 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 kt__default = /*#__PURE__*/_interopDefault(kt);
19
+ var Pt__default = /*#__PURE__*/_interopDefault(Pt);
20
20
 
21
- var bt=Object.defineProperty,xt=Object.defineProperties;var Mt=Object.getOwnPropertyDescriptors;var ie=Object.getOwnPropertySymbols;var Ne=Object.prototype.hasOwnProperty,Be=Object.prototype.propertyIsEnumerable;var Pe=(e,t,n)=>t in e?bt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,b=(e,t)=>{for(var n in t||(t={}))Ne.call(t,n)&&Pe(e,n,t[n]);if(ie)for(var n of ie(t))Be.call(t,n)&&Pe(e,n,t[n]);return e},P=(e,t)=>xt(e,Mt(t));var _e=(e,t)=>{var n={};for(var o in e)Ne.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,i)=>{var r=c=>{try{s(n.next(c));}catch(u){i(u);}},a=c=>{try{s(n.throw(c));}catch(u){i(u);}},s=c=>c.done?o(c.value):Promise.resolve(c.value).then(r,a);s((n=n.apply(e,t)).next());});var J="graz-reconnect-session";var Le=(u=>(u.KEPLR="keplr",u.LEAP="leap",u.VECTIS="vectis",u.COSMOSTATION="cosmostation",u.WALLETCONNECT="walletconnect",u.WC_KEPLR_MOBILE="wc_keplr_mobile",u.WC_LEAP_MOBILE="wc_leap_mobile",u.WC_COSMOSTATION_MOBILE="wc_cosmostation_mobile",u.METAMASK_SNAP_LEAP="metamask_snap_leap",u))(Le||{}),Ke=["keplr","leap","vectis","cosmostation","walletconnect","wc_keplr_mobile","wc_leap_mobile","wc_cosmostation_mobile","metamask_snap_leap"];var Wt={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},vt={name:"graz-session",version:2,partialize:e=>({accounts:e.accounts,activeChainIds:e.activeChainIds}),storage:middleware.createJSONStorage(()=>sessionStorage)},Rt={name:"graz-internal",partialize:e=>({recentChainIds:e.recentChainIds,_reconnect:e._reconnect,_reconnectConnector:e._reconnectConnector}),version:2},g=zustand.create(middleware.subscribeWithSelector(middleware.persist(()=>X,vt))),d=zustand.create(middleware.subscribeWithSelector(middleware.persist(()=>Wt,Rt)));var re=()=>{if(typeof window.cosmostation.providers.keplr!="undefined"){let e=window.cosmostation.providers.keplr;return Object.assign(e,{subscription:o=>(window.cosmostation.cosmos.on("accountChanged",()=>{U(),o();}),()=>{window.cosmostation.cosmos.off("accountChanged",()=>{U(),o();});})})}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=>(window.addEventListener("keplr_keystorechange",()=>{U(),o();}),()=>{window.removeEventListener("keplr_keystorechange",()=>{U(),o();});})})}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=>(window.addEventListener("leap_keystorechange",()=>{U(),o();}),()=>{window.removeEventListener("leap_keystorechange",()=>{U(),o();});})})}throw d.getState()._notFoundFn(),new Error("window.leap is not defined")};var Ge=e=>{let t=window.ethereum;if(t&&e){let n=()=>l(void 0,null,function*(){return yield t.request({method:"wallet_getSnaps"})}),o=C=>l(void 0,null,function*(){try{let A=yield n();return Object.values(A).find(M=>M.id===e.id&&(!C||M.version===C))}catch(A){return}}),i=()=>l(void 0,null,function*(){yield t.request({method:"wallet_requestSnaps",params:{[e.id]:e.params||{}}});}),r=()=>l(void 0,null,function*(){var N;let C=yield t.request({method:"web3_clientVersion"});if(!C.includes("MetaMask"))throw new Error("Metamask is not installed");let M=(N=C.split("MetaMask/v")[1])==null?void 0:N.split(".")[0];if(!(Number(M)>=11))throw new Error("Metamask Snap is not supported in this version");return (yield o())||(yield i()),!0}),a=C=>l(void 0,null,function*(){(yield o())||(yield i());}),s=(C,A,M)=>l(void 0,null,function*(){let R=yield t.request({method:"wallet_invokeSnap",params:{snapId:e.id,request:{method:"signDirect",params:{chainId:C,signerAddress:A,signDoc:M}}}}),k=M.accountNumber,N=new kt__default.default(k.low,k.high,k.unsigned);return {signature:R.signature,signed:P(b({},R.signed),{accountNumber:`${N.toString()}`,authInfoBytes:new Uint8Array(Object.values(R.signed.authInfoBytes)),bodyBytes:new Uint8Array(Object.values(R.signed.bodyBytes))})}}),c=(C,A,M)=>l(void 0,null,function*(){return yield t.request({method:"wallet_invokeSnap",params:{snapId:e.id,request:{method:"signAmino",params:{chainId:C,signerAddress:A,signDoc:M}}}})}),u=C=>l(void 0,null,function*(){let A=yield t.request({method:"wallet_invokeSnap",params:{snapId:e.id,request:{method:"getKey",params:{chainId:C}}}});if(!A)throw new Error("No response from Metamask");return A.pubKey=Uint8Array.from(Object.values(A.pubkey)),delete A.pubkey,b({},A)}),f=C=>l(void 0,null,function*(){let A=yield u(C);return {address:A.bech32Address,algo:A.algo,pubkey:A.pubKey}}),y=(...C)=>l(void 0,null,function*(){let[A,M,R,k]=C;return yield c(A,M,R)}),w=(...C)=>l(void 0,null,function*(){let[A,M,R]=C;return yield s(A,M,R)}),S=C=>({getAccounts:()=>l(void 0,null,function*(){return [yield f(C)]}),signDirect:(A,M)=>w(C,A,M)}),I=C=>({getAccounts:()=>l(void 0,null,function*(){return [yield f(C)]}),signAmino:(A,M)=>y(C,A,M)});return {enable:a,experimentalSuggestChain:(...C)=>l(void 0,null,function*(){yield r(),yield t.request({method:"wallet_invokeSnap",params:{snapId:e.id,request:{method:"suggestChain",params:{chainInfo:C[0]}}}});}),getKey:u,getOfflineSigner:C=>({getAccounts:()=>l(void 0,null,function*(){return [yield f(C)]}),signDirect:(A,M)=>w(C,A,M),signAmino:(A,M)=>y(C,A,M)}),getOfflineSignerAuto:C=>l(void 0,null,function*(){return (yield u(C)).isNanoLedger?I(C):S(C)}),getOfflineSignerOnlyAmino:I,init:r,signAmino:y,signDirect:w}}throw d.getState()._notFoundFn(),new Error("window.ethereum is not defined")};var Fe=()=>Ge({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=>(window.addEventListener("vectis_accountChanged",()=>{U(),s();}),()=>{window.removeEventListener("vectis_accountChanged",()=>{U(),s();});}),getOfflineSignerOnlyAmino:(...s)=>e.getOfflineSignerAmino(...s),experimentalSuggestChain:(...s)=>l(void 0,null,function*(){let[c]=s,u=P(b({},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 f;let{1:c,2:u}=s;return e.signDirect(c,{bodyBytes:u.bodyBytes||Uint8Array.from([]),authInfoBytes:u.authInfoBytes||Uint8Array.from([]),accountNumber:kt__default.default.fromString(((f=u.accountNumber)==null?void 0:f.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 F=()=>typeof window!="undefined"?!!(window.matchMedia("(pointer:coarse)").matches||/Android|webOS|iPhone|iPad|iPod|BlackBerry|Opera Mini/u.test(navigator.userAgent)):!1,ze=()=>F()&&navigator.userAgent.toLowerCase().includes("android"),Qe=()=>F()&&(navigator.userAgent.toLowerCase().includes("iphone")||navigator.userAgent.toLowerCase().includes("ipad"));var je=(e,t,n=new Error("Promise timed out"))=>{let o=new Promise((i,r)=>{setTimeout(()=>{r(n);},t);});return Promise.race([e,o])};var z=e=>{var k,N,ee;if(!((ee=(N=(k=d.getState().walletConnect)==null?void 0:k.options)==null?void 0:N.projectId)!=null&&ee.trim()))throw new Error("walletConnect.options.projectId is not defined");let t=(e==null?void 0:e.encoding)||"base64",n=p=>{if(!e)return;let{appUrl:m,formatNativeUrl:h}=e;if(F()){if(ze())if(!p)window.open(m.mobile.android,"_self","noreferrer noopener");else {let E=h(m.mobile.android,p,"android");window.open(E,"_self","noreferrer noopener");}if(Qe())if(!p)window.open(m.mobile.ios,"_self","noreferrer noopener");else {let E=h(m.mobile.ios,p,"ios");window.open(E,"_self","noreferrer noopener");}}},o=()=>{let{wcSignClient:p}=g.getState();if(!p)throw new Error("walletConnect.signClient is not defined");U(),d.setState({_reconnect:!1,_reconnectConnector:null,recentChainIds:null});},i=p=>l(void 0,null,function*(){let{wcSignClient:m}=g.getState();if(!m)throw new Error("walletConnect.signClient is not defined");if(!p)throw new Error("No wallet connect session");yield m.disconnect({topic:p,reason:utils.getSdkError("USER_DISCONNECTED")}),yield s(m),o();}),r=p=>{try{let{wcSignClient:m}=g.getState();if(!m)throw new Error("walletConnect.signClient is not defined");let h=m.session.getAll().at(-1);if(!h)return;if(!(h.expiry*1e3>Date.now()+1e3))throw i(h.topic),new Error("invalid session");try{let W=m.find({requiredNamespaces:{cosmos:{methods:["cosmos_getAccounts","cosmos_signAmino","cosmos_signDirect"],chains:p.map(_=>`cosmos:${_}`),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(m){if(!m.message.toLowerCase().includes("no matching key"))throw m}},a=p=>{try{return r(p)}catch(m){return}},s=p=>l(void 0,null,function*(){try{let m=p.core.pairing.pairings.getAll({active:!1});if(!m.length)return;yield Promise.all(m.map(h=>l(void 0,null,function*(){yield p.core.pairing.pairings.delete(h.topic,{code:7001,message:"clear pairing"});})));}catch(m){if(!m.message.toLowerCase().includes("no matching key"))throw m}}),c=()=>l(void 0,null,function*(){let{walletConnect:p}=d.getState();if(!(p!=null&&p.options))throw new Error("walletConnect.options is not defined");let{wcSignClient:m}=g.getState();if(m)return g.setState({wcSignClient:m}),m;let h=yield signClient.SignClient.init(p.options);return g.setState({wcSignClient:h}),h}),u=p=>{let{wcSignClient:m}=g.getState();if(m)return m.events.on("session_delete",h=>{o();}),m.events.on("session_expire",h=>{o();}),m.events.on("session_event",h=>{let E=g.getState().accounts;if(h.params.event.name==="accountsChanged"&&E&&!Object.values(E).map(W=>W.bech32Address).includes(h.params.event.data[0])){let W=h.params.chainId.split(":")[1];W&&f([W]);}else p();}),()=>{m.events.off("session_delete",h=>{o();}),m.events.off("session_expire",h=>{o();}),m.events.off("session_event",h=>{let E=g.getState().accounts;if(h.params.event.name==="accountsChanged"&&E&&!Object.values(E).map(W=>W.bech32Address).includes(h.params.event.data[0])){let W=h.params.chainId.split(":")[1];W&&f([W]);}else p();});}},f=p=>l(void 0,null,function*(){var te;let m=typeof p=="string"?[p]:p,{wcSignClient:h}=g.getState();if(!h)throw new Error("enable walletConnect.signClient is not defined");let{walletConnect:E,chains:W}=d.getState();if(!((te=E==null?void 0:E.options)!=null&&te.projectId))throw new Error("walletConnect.options.projectId is not defined");let{Web3Modal:_}=yield import('@web3modal/standalone'),j=new _(b({projectId:E.options.projectId,walletConnectVersion:2,enableExplorer:!1,explorerRecommendedWalletIds:"NONE"},E.web3Modal)),H=a(m);if(!H){let{uri:L,approval:V}=yield h.connect({requiredNamespaces:{cosmos:{methods:["cosmos_getAccounts","cosmos_signAmino","cosmos_signDirect"],chains:m.map(G=>`cosmos:${G}`),events:["chainChanged","accountsChanged"]}}});if(!L)throw new Error("No wallet connect uri");e?n(L):yield j.openModal({uri:L});let ne=G=>l(void 0,null,function*(){return G.aborted?Promise.reject(new Error("User closed wallet connect")):new Promise((Ce,Y)=>{V().then(We=>{let ve=We.sessionProperties;if(!ve)return Y(new Error("No session properties"));let he=JSON.parse(String(ve.keys));if(he.length===0)return Y(new Error("No accounts"));let Re=he[0];if(!Re)return Y(new Error("No accounts"));let ke={};return m.forEach(oe=>{ke[oe]=P(b({},Re),{bech32Address:encoding.toBech32(W.find(Tt=>Tt.chainId===oe).bech32Config.bech32PrefixAccAddr,encoding.fromBech32(he[0].bech32Address).data)});}),g.setState(oe=>({accounts:b(b({},oe.accounts||{}),ke)})),Ce(We)}).catch(Y),G.addEventListener("abort",()=>{Y(new Error("User closed wallet connect"));});})});try{let G=new AbortController,Ce=G.signal;j.subscribeModal(Y=>{Y.open||G.abort();}),yield ne(Ce);}catch(G){if(j.closeModal(),!G.message.toLowerCase().includes("no matching key"))return Promise.reject(G)}return e||j.closeModal(),Promise.resolve()}try{yield je((()=>l(void 0,null,function*(){let L=yield w(m[0]),V={};m.forEach(ne=>{V[ne]=P(b({},L),{bech32Address:encoding.toBech32(W.find(G=>G.chainId===ne).bech32Config.bech32PrefixAccAddr,encoding.fromBech32(L.bech32Address).data)});}),g.setState({accounts:V});}))(),15e3,new Error("Connection timeout"));}catch(L){if(i(H.topic),!L.message.toLowerCase().includes("no matching key"))throw L}}),y=p=>l(void 0,null,function*(){var W;let{wcSignClient:m}=g.getState();if(!m)throw new Error("walletConnect.signClient is not defined");let h=(W=r([p]))==null?void 0:W.topic;if(!h)throw new Error("No wallet connect session");n();let E=yield m.request({topic:h,chainId:`cosmos:${p}`,request:{method:"cosmos_getAccounts",params:{}}});if(!E[0])throw new Error("No wallet connect account");return {address:E[0].address,algo:E[0].algo,pubkey:new Uint8Array(Buffer.from(E[0].pubkey,t))}}),w=p=>l(void 0,null,function*(){let{address:m,algo:h,pubkey:E}=yield y(p);return {address:encoding.fromBech32(m).data,algo:h,bech32Address:m,name:"",pubKey:E,isKeystone:!1,isNanoLedger:!1}}),S=(...p)=>l(void 0,null,function*(){var L,V;let[m,h,E]=p,{accounts:W,wcSignClient:_}=g.getState();if(!_)throw new Error("walletConnect.signClient is not defined");if(!W)throw new Error("account is not defined");let j=(L=r([m]))==null?void 0:L.topic;if(!j)throw new Error("No wallet connect session");if(!E.bodyBytes)throw new Error("No bodyBytes");if(!E.authInfoBytes)throw new Error("No authInfoBytes");let H={topic:j,chainId:`cosmos:${m}`,request:{method:"cosmos_signDirect",params:{signerAddress:h,signDoc:P(b({},E),{bodyBytes:Buffer.from(E.bodyBytes).toString(t),authInfoBytes:Buffer.from(E.authInfoBytes).toString(t),accountNumber:(V=E.accountNumber)==null?void 0:V.toString()})}}};return n(),yield _.request(H)}),I=(...p)=>l(void 0,null,function*(){let[m,h,E]=p,{signature:W,signed:_}=yield S(m,h,E);return {signed:{chainId:_.chainId,accountNumber:kt__default.default.fromString(_.accountNumber,!1),authInfoBytes:new Uint8Array(Buffer.from(_.authInfoBytes,t)),bodyBytes:new Uint8Array(Buffer.from(_.bodyBytes,t))},signature:W}}),T=(...p)=>l(void 0,null,function*(){var L;let[m,h,E,W]=p,{wcSignClient:_}=g.getState(),{accounts:j}=g.getState();if(!_)throw new Error("walletConnect.signClient is not defined");if(!j)throw new Error("account is not defined");let H=(L=r([m]))==null?void 0:L.topic;if(!H)throw new Error("No wallet connect session");return n(),yield _.request({topic:H,chainId:`cosmos:${m}`,request:{method:"cosmos_signDirect",params:{signerAddress:h,signDoc:E}}})}),O=(...p)=>l(void 0,null,function*(){let[m,h,E,W]=p;return yield T(m,h,E)}),q=p=>({getAccounts:()=>l(void 0,null,function*(){return [yield y(p)]}),signDirect:(m,h)=>I(p,m,h)}),C=p=>({getAccounts:()=>l(void 0,null,function*(){return [yield y(p)]}),signAmino:(m,h)=>O(p,m,h)});return {enable:f,experimentalSuggestChain:(...p)=>l(void 0,null,function*(){yield Promise.reject(new Error("WalletConnect does not support experimentalSuggestChain"));}),getKey:w,getOfflineSigner:p=>({getAccounts:()=>l(void 0,null,function*(){return [yield y(p)]}),signDirect:(m,h)=>I(p,m,h),signAmino:(m,h)=>O(p,m,h)}),getOfflineSignerAuto:p=>l(void 0,null,function*(){return (yield w(p)).isNanoLedger?C(p):q(p)}),getOfflineSignerOnlyAmino:C,signAmino:O,signDirect:I,subscription:u,init:c}};var He=()=>{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(!F())throw new Error("WalletConnect Leap mobile is only supported in mobile");let e={encoding:"hex",appUrl:{mobile:{ios:"cosmostation://",android:"cosmostation://"}},walletType:"wc_leap_mobile",formatNativeUrl:(i,r,a)=>`${i.replaceAll("/","").replaceAll(":","")}://wc?${r}`};return z(e)};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(!F())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:(i,r,a)=>{let s=i.replaceAll("/","").replaceAll(":",""),c=encodeURIComponent(r);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 z(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(!F())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:(i,r,a)=>{let s=i.replaceAll("/","").replaceAll(":",""),c=encodeURIComponent(r);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 z(e)};var B=(e=d.getState().walletType)=>{try{return v(e),!0}catch(t){return !1}},U=()=>{window.sessionStorage.removeItem(J),g.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 z();case"wc_keplr_mobile":return Ve();case"wc_leap_mobile":return Ye();case"wc_cosmostation_mobile":return He();case"metamask_snap_leap":return Fe();default:throw new Error("Unknown wallet type")}},Ro=()=>Object.fromEntries(Ke.map(e=>[e,B(e)])),Je=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:i}=d.getState(),r=(e==null?void 0:e.walletType)||i;if(!B(r))throw new Error(`${r} is not available`);let s=v(r),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`)}),g.setState(S=>{let I=d.getState()._reconnect||!!d.getState()._reconnectConnector||!!c;return S.activeChainIds&&c.filter(O=>{var q;return !((q=S.activeChainIds)!=null&&q.includes(O))}).length>0?{status:"connecting"}:I?{status:"reconnecting"}:{status:"connecting"}});let{accounts:f}=g.getState();if(yield (t=s.init)==null?void 0:t.call(s),yield s.enable(c),!Je(r)){let S=yield s.getKey(c[0]),I={};c.forEach(T=>{I[T]=P(b({},S),{bech32Address:encoding.toBech32(o.find(O=>O.chainId===T).bech32Config.bech32PrefixAccAddr,encoding.fromBech32(S.bech32Address).data)});}),g.setState(T=>({accounts:b(b({},T.accounts||{}),I)}));}d.setState(S=>({recentChainIds:[...S.recentChainIds||[],...c].filter((I,T,O)=>O.indexOf(I)===T)})),g.setState(S=>({activeChainIds:[...S.activeChainIds||[],...c].filter((I,T,O)=>O.indexOf(I)===T)})),d.setState({walletType:r,_reconnect:!!(e!=null&&e.autoReconnect),_reconnectConnector:r}),g.setState({status:"connected"}),typeof window!="undefined"&&window.sessionStorage.setItem(J,"Active");let y=c.map(S=>o.find(I=>I.chainId===S));return {accounts:g.getState().accounts,walletType:r,chains:y}}catch(n){throw console.error("connect ",n),g.getState().accounts===null&&g.setState({status:"disconnected"}),g.getState().accounts&&g.getState().activeChainIds&&g.setState({status:"connected"}),n}}),we=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=g.getState().accounts;t.forEach(i=>{n==null||delete n[i];}),Object.values(n||{}).length===0?(g.setState(X),d.setState({_reconnect:!1,_reconnectConnector:null,recentChainIds:null})):(g.setState(i=>{var r;return {activeChainIds:(r=i.activeChainIds)==null?void 0:r.filter(a=>!t.includes(a)),accounts:n}}),d.setState(i=>{var r;return {recentChainIds:(r=i.recentChainIds)==null?void 0:r.filter(a=>!t.includes(a))}}));}else g.setState(X),d.setState({_reconnect:!1,_reconnectConnector:null,recentChainIds:null});return Promise.resolve()},Q=e=>l(void 0,null,function*(){var i;let{recentChainIds:t,_reconnectConnector:n,_reconnect:o}=d.getState();try{let r=B(n||void 0);if(t&&r&&n)return yield Z({chainId:t,walletType:n,autoReconnect:o})}catch(r){(i=e==null?void 0:e.onError)==null||i.call(e,r),we();}}),Xe=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 i=v(n),r=i.getOfflineSigner(e.chainId),a=i.getOfflineSignerOnlyAmino(e.chainId),s=yield i.getOfflineSignerAuto(e.chainId);return {offlineSigner:r,offlineSignerAmino:a,offlineSignerAuto:s}});var Ae=()=>{d.setState({recentChainIds:null});},zo=()=>d.getState().recentChainIds,Qo=()=>{var n;let{recentChainIds:e,chains:t}=d.getState();return (n=e==null?void 0:e.map(o=>t.find(i=>i.chainId===o)))!=null?n:null},Ie=n=>l(void 0,[n],function*({chainInfo:e,walletType:t}){return yield v(t).experimentalSuggestChain(e),e}),Ze=e=>l(void 0,null,function*(){var o;let t=d.getState().walletType;return yield Ie({chainInfo:e.chainInfo,walletType:(o=e.walletType)!=null?o:t}),yield Z({chainId:e.chainInfo.chainId,walletType:e.walletType,autoReconnect:e.autoReconnect})});var et=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 tt=a=>l(void 0,[a],function*({signingClient:e,senderAddress:t,recipientAddress:n,amount:o,fee:i,memo:r}){if(!e)throw new Error("No connected account detected");if(!t)throw new Error("senderAddress is not defined");return e.sendTokens(t,n,o,i,r)}),nt=f=>l(void 0,[f],function*({signingClient:e,senderAddress:t,recipientAddress:n,transferAmount:o,sourcePort:i,sourceChannel:r,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,i,r,a,s,c,u)}),ot=s=>l(void 0,[s],function*({signingClient:e,senderAddress:t,msg:n,fee:o,options:i,label:r,codeId:a}){if(!e)throw new Error("CosmWasm signing client is not ready");return e.instantiate(t,a,n,r,o,i)}),it=s=>l(void 0,[s],function*({signingClient:e,senderAddress:t,msg:n,fee:o,contractAddress:i,funds:r,memo:a}){if(!e)throw new Error("CosmWasm signing client is not ready");return e.execute(t,i,n,o,a,r)}),rt=(e,t,n)=>l(void 0,null,function*(){if(!n)throw new Error("CosmWasm client is not ready");return yield n.queryContractSmart(e,t)}),st=(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 ti=e=>e,ni=e=>e;var le=e=>e?Object.keys(e).length===0:!0;var Ee=class extends Error{constructor(t){super(),this.name="AbortError",this.message=t;}},at=e=>globalThis.DOMException===void 0?new Ee(e):new DOMException(e),ct=e=>{let t=e.reason===void 0?at("This operation was aborted."):e.reason;return t instanceof Error?t:at(t)};function Te(r,a){return l(this,arguments,function*(e,t,{concurrency:n=Number.POSITIVE_INFINITY,stopOnError:o=!0,signal:i}={}){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=[],f=[],y=new Map,w=!1,S=!1,I=!1,T=0,O=0,q=e[Symbol.iterator]===void 0?e[Symbol.asyncIterator]():e[Symbol.iterator](),C=M=>{w=!0,S=!0,c(M);};i&&(i.aborted&&C(ct(i)),i.addEventListener("abort",()=>{C(ct(i));}));let A=()=>l(this,null,function*(){if(S)return;let M=yield q.next(),R=O;if(O++,M.done){if(I=!0,T===0&&!S){if(!o&&f.length>0){C(new AggregateError(f));return}if(S=!0,y.size===0){s(u);return}let k=[];for(let[N,ee]of u.entries())y.get(N)!==lt&&k.push(ee);s(k);}return}T++,l(this,null,function*(){try{let k=yield M.value;if(S)return;let N=yield t(k,R);N===lt&&y.set(R,N),u[R]=N,T--,yield A();}catch(k){if(o)C(k);else {f.push(k),T--;try{yield A();}catch(N){C(N);}}}});});l(this,null,function*(){for(let M=0;M<n;M++){try{yield A();}catch(R){C(R);break}if(I||w)break}});})})}var lt=Symbol("skip");var K=({chainId:e,multiChain:t})=>{let n=d(i=>i.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(i=>n.find(r=>r.chainId===i)).filter(Boolean);case(!t&&!!o):return [o.map(i=>n.find(r=>r.chainId===i)).filter(Boolean)[0]];case(!!t&&!o):return n;default:return [n[0]]}},D=(e,t,n)=>l(void 0,null,function*(){let o=d.getState().multiChainFetchConcurrency;if(e){let r=yield Te(t,n,{concurrency:o});return Object.fromEntries(r.map((a,s)=>[t[s].chainId,a]))}return yield n(t[0])}),ut=(e,t,n)=>{if(e){let i=t.map(n);return Object.fromEntries(i.map((r,a)=>[t[a].chainId,r]))}return n(t[0])};var Me=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:i=>l(void 0,[i],function*({queryKey:[,o]}){if(o.length<1)throw new Error("No chains found");return yield D(!!(e!=null&&e.multiChain),o,a=>l(void 0,null,function*(){var f;let s=(f=d.getState().chainsConfig)==null?void 0:f[a.chainId],c={url:a.rpc,headers:b({},(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})},Oe=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:i=>l(void 0,[i],function*({queryKey:[,o]}){if(o.length<1)throw new Error("No chains found");return yield D(!!(e!=null&&e.multiChain),o,a=>l(void 0,null,function*(){var f;let s=(f=d.getState().chainsConfig)==null?void 0:f[a.chainId],c={url:a.rpc,headers:b({},(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})},ue=({type:e,chainId:t,multiChain:n,enabled:o})=>{let i=K({chainId:t,multiChain:n}),r=react.useMemo(()=>["USE_TENDERMINT_CLIENT",e,i],[e,i]);return reactQuery.useQuery({queryKey:r,queryFn:c=>l(void 0,[c],function*({queryKey:[,a,s]}){if(s.length<1)throw new Error("No chains found");return yield D(!!n,s,f=>l(void 0,null,function*(){var T;let y=(T=d.getState().chainsConfig)==null?void 0:T[f.chainId],w={url:f.rpc,headers:b({},(y==null?void 0:y.rpcHeaders)||{})};return yield (a==="tm37"?tendermintRpc.Tendermint37Client:tendermintRpc.Tendermint34Client).connect(w)}))}),enabled:!!i&&i.length>0&&(o!==void 0?!!o:!0),refetchOnWindowFocus:!1})};var Wi=()=>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"}),shallow.shallow),de=e=>{let n=["USE_CHECK_WALLET",d(i=>e||i.walletType)];return reactQuery.useQuery(n,({queryKey:[,i]})=>B(i))};var $=e=>{let t=d(s=>s.walletType),n=g(s=>s.activeChainIds),o=K({chainId:e!=null&&e.chainId?e.chainId:n||void 0,multiChain:e==null?void 0:e.multiChain}),i=g(s=>s.accounts),r=g(s=>s.status);return react.useEffect(()=>g.subscribe(s=>s.status,(s,c)=>{var u,f,y;if(s==="connected"){let{accounts:w,activeChainIds:S}=g.getState(),{chains:I}=d.getState(),{walletType:T}=d.getState();if(!w||!S||!I)return (u=e==null?void 0:e.onDisconnect)==null?void 0:u.call(e);(f=e==null?void 0:e.onConnect)==null||f.call(e,{accounts:w,chains:S.map(O=>I.find(q=>q.chainId===O)),walletType:T,isReconnect:c==="reconnecting"});}s==="disconnected"&&((y=e==null?void 0:e.onDisconnect)==null||y.call(e));}),[e]),{data:react.useMemo(()=>i?ut(!!(e!=null&&e.multiChain),o,s=>i[s.chainId]):void 0,[i,o,e==null?void 0:e.multiChain]),isConnected:r==="connected",isConnecting:r==="connecting",isDisconnected:r==="disconnected",isReconnecting:r==="reconnecting",isLoading:r==="connecting"||r==="reconnecting",walletType:r==="connected"?t:void 0,reconnect:Q,status:r}},$t=e=>{let t=K({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:i}=Me({chainId:t.map(a=>a.chainId),multiChain:!0,enabled:((e==null?void 0:e.enabled)===void 0?!0:e.enabled)&&!!o}),r=react.useMemo(()=>["USE_ALL_BALANCES",i,t,o,e==null?void 0:e.chainId],[o,e==null?void 0:e.chainId,t,i]);return reactQuery.useQuery(r,u=>l(void 0,[u],function*({queryKey:[,a,s,c]}){if(!c)throw new Error("address is not defined");return yield D(!!(e!=null&&e.multiChain),s,y=>l(void 0,null,function*(){let w=a==null?void 0:a[y.chainId];if(!w)throw new Error(`Client is not ready ${y.chainId}`);return yield w.getAllBalances(encoding.toBech32(y.bech32Config.bech32PrefixAccAddr,encoding.fromBech32(c).data))}))}),{enabled:!!o&&!!t&&t.length>0&&!le(i)&&((e==null?void 0:e.enabled)===void 0?!0:e.enabled),refetchOnMount:!1,refetchOnReconnect:!0,refetchOnWindowFocus:!1})},Gi=e=>{let t=K({chainId:e.chainId}),{data:n}=$({chainId:e.chainId}),o=e.bech32Address||(n==null?void 0:n.bech32Address),{data:i,refetch:r}=$t({chainId:t.map(c=>c.chainId),bech32Address:o,enabled:!!o&&(e.enabled===void 0?!0:e.enabled)}),a=["USE_BALANCE",e.denom,i,t,o,e.chainId],s=reactQuery.useQuery(a,({queryKey:[,c,u]})=>u==null?void 0:u.find(f=>f.denom===c),{enabled:!!i&&!!(i!=null&&i.length)&&(e.enabled===void 0?!0:e.enabled)});return P(b({},s),{refetch:c=>l(void 0,null,function*(){return yield r(),s.refetch(c)})})},Fi=({onError:e,onLoading:t,onSuccess:n}={})=>{let i=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:r}=de();return {connect:a=>i.mutate(a),connectAsync:a=>i.mutateAsync(a),error:i.error,isLoading:i.isLoading,isSuccess:i.isSuccess,isSupported:!!r,status:i.status}},zi=({onError:e,onLoading:t,onSuccess:n}={})=>{let i=reactQuery.useMutation(["USE_DISCONNECT",e,t,n],we,{onError:r=>Promise.resolve(e==null?void 0:e(r,void 0)),onMutate:t,onSuccess:()=>Promise.resolve(n==null?void 0:n(void 0))});return {disconnect:r=>i.mutate(r),disconnectAsync:r=>i.mutateAsync(r),error:i.error,isLoading:i.isLoading,isSuccess:i.isSuccess,status:i.status}},Qi=e=>{let t=K({chainId:e==null?void 0:e.chainId,multiChain:e==null?void 0:e.multiChain}),n=d(i=>i.walletType),o=react.useMemo(()=>["USE_OFFLINE_SIGNERS",t,n],[t,n]);return reactQuery.useQuery({queryKey:o,queryFn:a=>l(void 0,[a],function*({queryKey:[,i,r]}){if(i.length<1)throw new Error("No chain found");if(!B(r))throw new Error(`${r} is not available`);return yield D(!!(e!=null&&e.multiChain),i,u=>l(void 0,null,function*(){return yield Xe({chainId:u.chainId,walletType:r})}))}),enabled:!!t&&t.length>0&&!!n,refetchOnWindowFocus:!1})},ji=e=>{let t=K({chainId:e==null?void 0:e.chainId,multiChain:e==null?void 0:e.multiChain}),{data:n}=$(),{data:o}=Me({chainId:t.map(a=>a.chainId),multiChain:!0}),i=(e==null?void 0:e.bech32Address)||(n==null?void 0:n.bech32Address),r=react.useMemo(()=>["USE_BALANCE_STAKED",o,t,i],[t,i,o]);return reactQuery.useQuery(r,u=>l(void 0,[u],function*({queryKey:[,a,s,c]}){if(!c)throw new Error("address is not defined");return yield D(!!(e!=null&&e.multiChain),s,y=>l(void 0,null,function*(){var S;if(!a)throw new Error("Client is not ready");return yield (S=a[y.chainId])==null?void 0:S.getBalanceStaked(encoding.toBech32(y.bech32Config.bech32PrefixAccAddr,encoding.fromBech32(c).data))}))}),{enabled:!!i&&!!t&&t.length>0&&!!o,refetchOnMount:!1,refetchOnReconnect:!0,refetchOnWindowFocus:!1})};var er=()=>g(e=>e.activeChainIds),Ht=()=>{var e;return (e=g(t=>t.activeChainIds))==null?void 0:e.map(t=>{var o;let n=(o=d.getState().chains)==null?void 0:o.find(i=>i.chainId===t);if(n)return n}).filter(Boolean)},tr=({denom:e})=>{let t=Ht();return reactQuery.useQuery(["USE_ACTIVE_CHAIN_CURRENCY",e],({queryKey:[,i]})=>{var r;return (r=t==null?void 0:t.find(a=>a.currencies.find(s=>s.coinMinimalDenom===i)))==null?void 0:r.currencies.find(a=>a)})},nr=e=>{var i;let t=(i=e.status)!=null?i:"BOND_STATUS_BONDED",n=["USE_ACTIVE_CHAIN_VALIDATORS",e.queryClient,t];return reactQuery.useQuery(n,s=>l(void 0,[s],function*({queryKey:[,r,a]}){if(!r)throw new Error("Query client is not defined");return yield r.staking.validators(a)}),{enabled:typeof e.queryClient!="undefined"})},or=()=>({data:d(t=>t.recentChainIds),clear:Ae}),ir=()=>{var t;return {data:(t=d(n=>n.recentChainIds))==null?void 0:t.map(n=>{var i;let o=(i=d.getState().chains)==null?void 0:i.find(r=>r.chainId===n);if(o)return o}).filter(Boolean),clear:Ae}},rr=({onError:e,onLoading:t,onSuccess:n}={})=>{let i=reactQuery.useMutation(["USE_SUGGEST_CHAIN",e,t,n],Ie,{onError:(r,a)=>Promise.resolve(e==null?void 0:e(r,a.chainInfo)),onMutate:r=>t==null?void 0:t(r.chainInfo),onSuccess:r=>Promise.resolve(n==null?void 0:n(r))});return {error:i.error,isLoading:i.isLoading,isSuccess:i.isSuccess,suggest:i.mutate,suggestAsync:i.mutateAsync,status:i.status}},sr=({onError:e,onLoading:t,onSuccess:n}={})=>{let i=reactQuery.useMutation(["USE_SUGGEST_CHAIN_AND_CONNECT",e,t,n],Ze,{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:r}=de();return {error:i.error,isLoading:i.isLoading,isSuccess:i.isSuccess,isSupported:!!r,status:i.status,suggestAndConnect:i.mutate,suggestAndConnectAsync:i.mutateAsync}};var fr=({onError:e,onLoading:t,onSuccess:n}={})=>{let{data:o}=$(),i=o==null?void 0:o.bech32Address,r=reactQuery.useMutation(["USE_SEND_TOKENS",e,t,n,i],a=>tt(b({senderAddress:i},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:r.error,isLoading:r.isLoading,isSuccess:r.isSuccess,sendTokens:r.mutate,sendTokensAsync:r.mutateAsync,status:r.status}},gr=({onError:e,onLoading:t,onSuccess:n}={})=>{let{data:o}=$(),i=o==null?void 0:o.bech32Address,r=reactQuery.useMutation(["USE_SEND_IBC_TOKENS",e,t,n,i],a=>nt(b({senderAddress:i},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:r.error,isLoading:r.isLoading,isSuccess:r.isSuccess,sendIbcTokens:r.mutate,sendIbcTokensAsync:r.mutateAsync,status:r.status}},yr=({codeId:e,onError:t,onLoading:n,onSuccess:o})=>{let{data:i}=$(),r=i==null?void 0:i.bech32Address,s=reactQuery.useMutation(["USE_INSTANTIATE_CONTRACT",t,n,o,e,r],c=>{var f;if(!r)throw new Error("senderAddress is undefined");let u=P(b({},c),{fee:(f=c.fee)!=null?f:"auto",senderAddress:r,codeId:e});return ot(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}},Cr=({contractAddress:e,onError:t,onLoading:n,onSuccess:o})=>{let{data:i}=$(),r=i==null?void 0:i.bech32Address,s=reactQuery.useMutation(["USE_EXECUTE_CONTRACT",t,n,o,e,r],c=>{var f,y,w;if(!r)throw new Error("senderAddress is undefined");let u=P(b({},c),{fee:(f=c.fee)!=null?f:"auto",senderAddress:r,contractAddress:e,memo:(y=c.memo)!=null?y:"",funds:(w=c.funds)!=null?w:[]});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,executeContract:s.mutate,executeContractAsync:s.mutateAsync,status:s.status}},hr=e=>{let{data:t}=Oe();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 rt(e.address,e.queryMsg,t)},{enabled:!!(e!=null&&e.address)&&!!(e!=null&&e.queryMsg)&&!!t})},Sr=e=>{let{data:t}=Oe(),n=["USE_QUERY_RAW",e==null?void 0:e.key,e==null?void 0:e.address,t];return reactQuery.useQuery(n,({queryKey:[,i]})=>{if(!(e!=null&&e.address)||!e.key)throw new Error("address or key undefined");return st(e.address,e.key,t)},{enabled:!!(e!=null&&e.address)&&!!(e!=null&&e.key)&&!!t})};function kr(e){let t=K({chainId:e==null?void 0:e.chainId,multiChain:e==null?void 0:e.multiChain}),n=d(r=>r.walletType),o=g(r=>r.activeChainIds),i=react.useMemo(()=>["USE_STARGATE_SIGNING_CLIENT",t,n,e,o],[o,e,t,n]);return reactQuery.useQuery({queryKey:i,queryFn:s=>l(this,[s],function*({queryKey:[,r,a]}){if(r.length<1)throw new Error("No chains found");return yield D(!!(e!=null&&e.multiChain),r,u=>l(this,null,function*(){var T,O;if(!(o!=null&&o.includes(u.chainId)))return;if(!B(a))throw new Error(`${a} is not available`);let y=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=(T=d.getState().chainsConfig)==null?void 0:T[u.chainId],S={url:u.rpc,headers:b({},(w==null?void 0:w.rpcHeaders)||{})};return (e==null?void 0:e.multiChain)===!0&&e.opts,yield stargate.SigningStargateClient.connectWithSigner(S,y,e!=null&&e.multiChain?(O=e.opts)==null?void 0:O[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 Pr(e){let t=K({chainId:e==null?void 0:e.chainId,multiChain:e==null?void 0:e.multiChain}),n=d(r=>r.walletType),o=g(r=>r.activeChainIds),i=react.useMemo(()=>["USE_COSMWASM_SIGNING_CLIENT",t,n,e,o],[o,e,t,n]);return reactQuery.useQuery({queryKey:i,queryFn:s=>l(this,[s],function*({queryKey:[,r,a]}){if(r.length<1)throw new Error("No chains found");return yield D(!!(e!=null&&e.multiChain),r,u=>l(this,null,function*(){var O,q;if(!(o!=null&&o.includes(u.chainId)))return;if(!B(a))throw new Error(`${a} is not available`);let y=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=(O=d.getState().chainsConfig)==null?void 0:O[u.chainId],S={url:u.rpc,headers:b({},(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,y,b({gasPrice:I},e!=null&&e.multiChain?(q=e.opts)==null?void 0:q[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 Nr(e){let t=K({chainId:e.chainId,multiChain:e.multiChain}),n=d(a=>a.walletType),o=g(a=>a.activeChainIds),i=react.useMemo(()=>["USE_STARGATE_TM_SIGNING_CLIENT",t,n,e,o],[o,e,t,n]),{data:r}=ue({type:e.type,chainId:e.chainId,multiChain:e.multiChain});return reactQuery.useQuery({queryKey:i,queryFn:c=>l(this,[c],function*({queryKey:[,a,s]}){if(a.length<1)throw new Error("No chains found");return yield D(!!e.multiChain,a,f=>l(this,null,function*(){var T;if(!(o!=null&&o.includes(f.chainId)))return;if(!B(s))throw new Error(`${s} is not available`);if(!r)throw new Error("No tendermint client found");let w=yield (()=>l(this,null,function*(){switch(e.offlineSigner){case"offlineSigner":return v(s).getOfflineSigner(f.chainId);case"offlineSignerAuto":return v(s).getOfflineSignerAuto(f.chainId);case"offlineSignerOnlyAmino":return v(s).getOfflineSignerOnlyAmino(f.chainId);default:return v(s).getOfflineSignerAuto(f.chainId)}}))(),S=e.multiChain?r[f.chainId]:r;return yield stargate.SigningStargateClient.createWithSigner(S,w,e.multiChain?(T=e.opts)==null?void 0:T[f.chainId]:e.opts)}))}),enabled:!!t&&t.length>0&&!!n&&!!r&&(e.enabled!==void 0?!!e.enabled:!0),refetchOnWindowFocus:!1})}function Br(e){let t=K({chainId:e.chainId,multiChain:e.multiChain}),n=d(s=>s.walletType),o=g(s=>s.activeChainIds),i=react.useMemo(()=>["USE_COSMWASM_TM_SIGNING_CLIENT",t,n,e,o],[o,e,t,n]),{data:r}=ue({type:e.type,chainId:e.chainId,multiChain:!1,enabled:!e.multiChain}),{data:a}=ue({type:e.type,chainId:e.chainId,multiChain:!0,enabled:!!e.multiChain});return reactQuery.useQuery({queryKey:i,queryFn:u=>l(this,[u],function*({queryKey:[,s,c]}){if(s.length<1)throw new Error("No chains found");return yield D(!!e.multiChain,s,y=>l(this,null,function*(){var C,A;if(!(o!=null&&o.includes(y.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(y.chainId);case"offlineSignerAuto":return v(c).getOfflineSignerAuto(y.chainId);case"offlineSignerOnlyAmino":return v(c).getOfflineSignerOnlyAmino(y.chainId);default:return v(c).getOfflineSignerAuto(y.chainId)}}))(),I=(C=d.getState().chainsConfig)==null?void 0:C[y.chainId],T=I!=null&&I.gas?stargate.GasPrice.fromString(`${I.gas.price}${I.gas.denom}`):void 0,O=e.multiChain?a==null?void 0:a[y.chainId]:r;if(!O)throw new Error("No tendermint client found");return yield cosmwasmStargate.SigningCosmWasmClient.createWithSigner(O,S,b({gasPrice:T},e.multiChain?(A=e.opts)==null?void 0:A[y.chainId]:e.opts||{}))}))}),enabled:!!t&&t.length>0&&!!n&&(!!r||!le(a))&&(e.enabled!==void 0?!!e.enabled:!0),refetchOnWindowFocus:!1})}var wt=({children:e})=>{let[t,n]=react.useState(!1);return react.useEffect(()=>{n(!0);},[]),jsxRuntime.jsx(jsxRuntime.Fragment,{children:t?e:null})};var Zt=()=>{let e=typeof window!="undefined"&&window.sessionStorage.getItem(J)==="Active",{_reconnect:t,_onReconnectFailed:n,_reconnectConnector:o}=d(),{activeChainIds:i,wcSignClient:r}=g(),a=B(o||void 0);return react.useEffect(()=>{if(o){if(!a)return;e&&i?Q({onError:n}):!e&&t&&Q({onError:n});}},[a]),react.useEffect(()=>{var s,c,u,f,y,w,S,I,T,O;if(o){if(!a)return;o==="cosmostation"&&((c=(s=re()).subscription)==null||c.call(s,()=>{Q({onError:n});})),o==="keplr"&&((f=(u=se()).subscription)==null||f.call(u,()=>{Q({onError:n});})),o==="leap"&&((w=(y=ae()).subscription)==null||w.call(y,()=>{Q({onError:n});})),o==="vectis"&&((I=(S=ce()).subscription)==null||I.call(S,()=>{Q({onError:n});})),o==="walletconnect"&&r&&((O=(T=z()).subscription)==null||O.call(T,()=>{Q({onError:n});}));}},[o,r,a]),null},It=()=>(Zt(),null);var nn=new reactQuery.QueryClient({}),rs=o=>{var i=o,{children:e,grazOptions:t}=i,n=_e(i,["children","grazOptions"]);return et(t),jsxRuntime.jsx(reactQuery.QueryClientProvider,P(b({client:nn},n),{children:jsxRuntime.jsxs(wt,{children:[e,jsxRuntime.jsx(It,{})]})}),"graz-provider")};
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")};
22
22
 
23
- exports.GrazEvents = It;
24
- exports.GrazProvider = rs;
25
- exports.WALLET_TYPES = Ke;
26
- exports.WalletType = Le;
23
+ exports.GrazEvents = Tt;
24
+ exports.GrazProvider = ps;
25
+ exports.WALLET_TYPES = Ue;
26
+ exports.WalletType = Ke;
27
27
  exports.checkWallet = B;
28
- exports.clearRecentChain = Ae;
29
- exports.clearSession = U;
30
- exports.configureGraz = et;
28
+ exports.clearRecentChain = Ie;
29
+ exports.clearSession = G;
30
+ exports.configureGraz = tt;
31
31
  exports.connect = Z;
32
- exports.defineChainInfo = ni;
33
- exports.defineChains = ti;
34
- exports.disconnect = we;
35
- exports.executeContract = it;
36
- exports.getAvailableWallets = Ro;
32
+ exports.defineChainInfo = li;
33
+ exports.defineChains = ci;
34
+ exports.disconnect = Ae;
35
+ exports.executeContract = rt;
36
+ exports.getAvailableWallets = Ko;
37
37
  exports.getCosmostation = re;
38
38
  exports.getKeplr = se;
39
39
  exports.getLeap = ae;
40
- exports.getMetamaskSnapLeap = Fe;
41
- exports.getOfflineSigners = Xe;
42
- exports.getQueryRaw = st;
43
- exports.getQuerySmart = rt;
44
- exports.getRecentChainIds = zo;
45
- exports.getRecentChains = Qo;
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
46
  exports.getVectis = ce;
47
- exports.getWCCosmostation = He;
48
- exports.getWCKeplr = Ve;
49
- exports.getWCLeap = Ye;
47
+ exports.getWCCosmostation = Ve;
48
+ exports.getWCKeplr = Ye;
49
+ exports.getWCLeap = Je;
50
50
  exports.getWallet = v;
51
- exports.getWalletConnect = z;
52
- exports.instantiateContract = ot;
53
- exports.isWalletConnect = Je;
54
- exports.reconnect = Q;
55
- exports.sendIbcTokens = nt;
56
- exports.sendTokens = tt;
57
- exports.suggestChain = Ie;
58
- exports.suggestChainAndConnect = Ze;
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
59
  exports.useAccount = $;
60
- exports.useActiveChainCurrency = tr;
61
- exports.useActiveChainIds = er;
62
- exports.useActiveChains = Ht;
63
- exports.useActiveWalletType = Wi;
64
- exports.useBalance = Gi;
65
- exports.useBalanceStaked = ji;
66
- exports.useBalances = $t;
67
- exports.useCheckWallet = de;
68
- exports.useConnect = Fi;
69
- exports.useCosmWasmClient = Oe;
70
- exports.useCosmWasmSigningClient = Pr;
71
- exports.useCosmWasmTmSigningClient = Br;
72
- exports.useDisconnect = zi;
73
- exports.useExecuteContract = Cr;
74
- exports.useGrazEvents = Zt;
75
- exports.useInstantiateContract = yr;
76
- exports.useOfflineSigners = Qi;
77
- exports.useQueryClientValidators = nr;
78
- exports.useQueryRaw = Sr;
79
- exports.useQuerySmart = hr;
80
- exports.useRecentChainIds = or;
81
- exports.useRecentChains = ir;
82
- exports.useSendIbcTokens = gr;
83
- exports.useSendTokens = fr;
84
- exports.useStargateClient = Me;
85
- exports.useStargateSigningClient = kr;
86
- exports.useStargateTmSigningClient = Nr;
87
- exports.useSuggestChain = rr;
88
- exports.useSuggestChainAndConnect = sr;
89
- exports.useTendermintClient = ue;
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;
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 Pt from 'long';
4
+ import Nt 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 xt=Object.defineProperty,Mt=Object.defineProperties;var Ot=Object.getOwnPropertyDescriptors;var re=Object.getOwnPropertySymbols;var Be=Object.prototype.hasOwnProperty,_e=Object.prototype.propertyIsEnumerable;var Ne=(e,t,n)=>t in e?xt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,b=(e,t)=>{for(var n in t||(t={}))Be.call(t,n)&&Ne(e,n,t[n]);if(re)for(var n of re(t))_e.call(t,n)&&Ne(e,n,t[n]);return e},N=(e,t)=>Mt(e,Ot(t));var Le=(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&&_e.call(e,o)&&(n[o]=e[o]);return n};var l=(e,t,n)=>new Promise((o,i)=>{var r=c=>{try{s(n.next(c));}catch(u){i(u);}},a=c=>{try{s(n.throw(c));}catch(u){i(u);}},s=c=>c.done?o(c.value):Promise.resolve(c.value).then(r,a);s((n=n.apply(e,t)).next());});var X="graz-reconnect-session";var Ke=(u=>(u.KEPLR="keplr",u.LEAP="leap",u.VECTIS="vectis",u.COSMOSTATION="cosmostation",u.WALLETCONNECT="walletconnect",u.WC_KEPLR_MOBILE="wc_keplr_mobile",u.WC_LEAP_MOBILE="wc_leap_mobile",u.WC_COSMOSTATION_MOBILE="wc_cosmostation_mobile",u.METAMASK_SNAP_LEAP="metamask_snap_leap",u))(Ke||{}),Ue=["keplr","leap","vectis","cosmostation","walletconnect","wc_keplr_mobile","wc_leap_mobile","wc_cosmostation_mobile","metamask_snap_leap"];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},Z={accounts:null,activeChainIds:null,status:"disconnected",wcSignClient:null},Rt={name:"graz-session",version:2,partialize:e=>({accounts:e.accounts,activeChainIds:e.activeChainIds}),storage:createJSONStorage(()=>sessionStorage)},kt={name:"graz-internal",partialize:e=>({recentChainIds:e.recentChainIds,_reconnect:e._reconnect,_reconnectConnector:e._reconnectConnector}),version:2},g=create(subscribeWithSelector(persist(()=>Z,Rt))),d=create(subscribeWithSelector(persist(()=>vt,kt)));var se=()=>{if(typeof window.cosmostation.providers.keplr!="undefined"){let e=window.cosmostation.providers.keplr;return Object.assign(e,{subscription:o=>(window.cosmostation.cosmos.on("accountChanged",()=>{q(),o();}),()=>{window.cosmostation.cosmos.off("accountChanged",()=>{q(),o();});})})}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=>(window.addEventListener("keplr_keystorechange",()=>{q(),o();}),()=>{window.removeEventListener("keplr_keystorechange",()=>{q(),o();});})})}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=>(window.addEventListener("leap_keystorechange",()=>{q(),o();}),()=>{window.removeEventListener("leap_keystorechange",()=>{q(),o();});})})}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=C=>l(void 0,null,function*(){try{let A=yield n();return Object.values(A).find(O=>O.id===e.id&&(!C||O.version===C))}catch(A){return}}),i=()=>l(void 0,null,function*(){yield t.request({method:"wallet_requestSnaps",params:{[e.id]:e.params||{}}});}),r=()=>l(void 0,null,function*(){var B;let C=yield t.request({method:"web3_clientVersion"});if(!C.includes("MetaMask"))throw new Error("Metamask is not installed");let O=(B=C.split("MetaMask/v")[1])==null?void 0:B.split(".")[0];if(!(Number(O)>=11))throw new Error("Metamask Snap is not supported in this version");return (yield o())||(yield i()),!0}),a=C=>l(void 0,null,function*(){(yield o())||(yield i());}),s=(C,A,O)=>l(void 0,null,function*(){let k=yield t.request({method:"wallet_invokeSnap",params:{snapId:e.id,request:{method:"signDirect",params:{chainId:C,signerAddress:A,signDoc:O}}}}),P=O.accountNumber,B=new Pt(P.low,P.high,P.unsigned);return {signature:k.signature,signed:N(b({},k.signed),{accountNumber:`${B.toString()}`,authInfoBytes:new Uint8Array(Object.values(k.signed.authInfoBytes)),bodyBytes:new Uint8Array(Object.values(k.signed.bodyBytes))})}}),c=(C,A,O)=>l(void 0,null,function*(){return yield t.request({method:"wallet_invokeSnap",params:{snapId:e.id,request:{method:"signAmino",params:{chainId:C,signerAddress:A,signDoc:O}}}})}),u=C=>l(void 0,null,function*(){let A=yield t.request({method:"wallet_invokeSnap",params:{snapId:e.id,request:{method:"getKey",params:{chainId:C}}}});if(!A)throw new Error("No response from Metamask");return A.pubKey=Uint8Array.from(Object.values(A.pubkey)),delete A.pubkey,b({},A)}),f=C=>l(void 0,null,function*(){let A=yield u(C);return {address:A.bech32Address,algo:A.algo,pubkey:A.pubKey}}),y=(...C)=>l(void 0,null,function*(){let[A,O,k,P]=C;return yield c(A,O,k)}),w=(...C)=>l(void 0,null,function*(){let[A,O,k]=C;return yield s(A,O,k)}),S=C=>({getAccounts:()=>l(void 0,null,function*(){return [yield f(C)]}),signDirect:(A,O)=>w(C,A,O)}),I=C=>({getAccounts:()=>l(void 0,null,function*(){return [yield f(C)]}),signAmino:(A,O)=>y(C,A,O)});return {enable:a,experimentalSuggestChain:(...C)=>l(void 0,null,function*(){yield r(),yield t.request({method:"wallet_invokeSnap",params:{snapId:e.id,request:{method:"suggestChain",params:{chainInfo:C[0]}}}});}),getKey:u,getOfflineSigner:C=>({getAccounts:()=>l(void 0,null,function*(){return [yield f(C)]}),signDirect:(A,O)=>w(C,A,O),signAmino:(A,O)=>y(C,A,O)}),getOfflineSignerAuto:C=>l(void 0,null,function*(){return (yield u(C)).isNanoLedger?I(C):S(C)}),getOfflineSignerOnlyAmino:I,init:r,signAmino:y,signDirect:w}}throw d.getState()._notFoundFn(),new Error("window.ethereum is not defined")};var ze=()=>Fe({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=>(window.addEventListener("vectis_accountChanged",()=>{q(),s();}),()=>{window.removeEventListener("vectis_accountChanged",()=>{q(),s();});}),getOfflineSignerOnlyAmino:(...s)=>e.getOfflineSignerAmino(...s),experimentalSuggestChain:(...s)=>l(void 0,null,function*(){let[c]=s,u=N(b({},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 f;let{1:c,2:u}=s;return e.signDirect(c,{bodyBytes:u.bodyBytes||Uint8Array.from([]),authInfoBytes:u.authInfoBytes||Uint8Array.from([]),accountNumber:Pt.fromString(((f=u.accountNumber)==null?void 0:f.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((i,r)=>{setTimeout(()=>{r(n);},t);});return Promise.race([e,o])};var Q=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=p=>{if(!e)return;let{appUrl:m,formatNativeUrl:h}=e;if(z()){if(Qe())if(!p)window.open(m.mobile.android,"_self","noreferrer noopener");else {let E=h(m.mobile.android,p,"android");window.open(E,"_self","noreferrer noopener");}if(je())if(!p)window.open(m.mobile.ios,"_self","noreferrer noopener");else {let E=h(m.mobile.ios,p,"ios");window.open(E,"_self","noreferrer noopener");}}},o=()=>{let{wcSignClient:p}=g.getState();if(!p)throw new Error("walletConnect.signClient is not defined");q(),d.setState({_reconnect:!1,_reconnectConnector:null,recentChainIds:null});},i=p=>l(void 0,null,function*(){let{wcSignClient:m}=g.getState();if(!m)throw new Error("walletConnect.signClient is not defined");if(!p)throw new Error("No wallet connect session");yield m.disconnect({topic:p,reason:getSdkError("USER_DISCONNECTED")}),yield s(m),o();}),r=p=>{try{let{wcSignClient:m}=g.getState();if(!m)throw new Error("walletConnect.signClient is not defined");let h=m.session.getAll().at(-1);if(!h)return;if(!(h.expiry*1e3>Date.now()+1e3))throw i(h.topic),new Error("invalid session");try{let v=m.find({requiredNamespaces:{cosmos:{methods:["cosmos_getAccounts","cosmos_signAmino","cosmos_signDirect"],chains:p.map(L=>`cosmos:${L}`),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(m){if(!m.message.toLowerCase().includes("no matching key"))throw m}},a=p=>{try{return r(p)}catch(m){return}},s=p=>l(void 0,null,function*(){try{let m=p.core.pairing.pairings.getAll({active:!1});if(!m.length)return;yield Promise.all(m.map(h=>l(void 0,null,function*(){yield p.core.pairing.pairings.delete(h.topic,{code:7001,message:"clear pairing"});})));}catch(m){if(!m.message.toLowerCase().includes("no matching key"))throw m}}),c=()=>l(void 0,null,function*(){let{walletConnect:p}=d.getState();if(!(p!=null&&p.options))throw new Error("walletConnect.options is not defined");let{wcSignClient:m}=g.getState();if(m)return g.setState({wcSignClient:m}),m;let h=yield SignClient.init(p.options);return g.setState({wcSignClient:h}),h}),u=p=>{let{wcSignClient:m}=g.getState();if(m)return m.events.on("session_delete",h=>{o();}),m.events.on("session_expire",h=>{o();}),m.events.on("session_event",h=>{let E=g.getState().accounts;if(h.params.event.name==="accountsChanged"&&E&&!Object.values(E).map(v=>v.bech32Address).includes(h.params.event.data[0])){let v=h.params.chainId.split(":")[1];v&&f([v]);}else p();}),()=>{m.events.off("session_delete",h=>{o();}),m.events.off("session_expire",h=>{o();}),m.events.off("session_event",h=>{let E=g.getState().accounts;if(h.params.event.name==="accountsChanged"&&E&&!Object.values(E).map(v=>v.bech32Address).includes(h.params.event.data[0])){let v=h.params.chainId.split(":")[1];v&&f([v]);}else p();});}},f=p=>l(void 0,null,function*(){var ne;let m=typeof p=="string"?[p]:p,{wcSignClient:h}=g.getState();if(!h)throw new Error("enable walletConnect.signClient is not defined");let{walletConnect:E,chains:v}=d.getState();if(!((ne=E==null?void 0:E.options)!=null&&ne.projectId))throw new Error("walletConnect.options.projectId is not defined");let{Web3Modal:L}=yield import('@web3modal/standalone'),$=new L(b({projectId:E.options.projectId,walletConnectVersion:2,enableExplorer:!1,explorerRecommendedWalletIds:"NONE"},E.web3Modal)),V=a(m);if(!V){let{uri:K,approval:Y}=yield h.connect({requiredNamespaces:{cosmos:{methods:["cosmos_getAccounts","cosmos_signAmino","cosmos_signDirect"],chains:m.map(F=>`cosmos:${F}`),events:["chainChanged","accountsChanged"]}}});if(!K)throw new Error("No wallet connect uri");e?n(K):yield $.openModal({uri:K});let oe=F=>l(void 0,null,function*(){return F.aborted?Promise.reject(new Error("User closed wallet connect")):new Promise((he,J)=>{Y().then(ve=>{let Re=ve.sessionProperties;if(!Re)return J(new Error("No session properties"));let Se=JSON.parse(String(Re.keys));if(Se.length===0)return J(new Error("No accounts"));let ke=Se[0];if(!ke)return J(new Error("No accounts"));let Pe={};return m.forEach(ie=>{Pe[ie]=N(b({},ke),{bech32Address:toBech32(v.find(bt=>bt.chainId===ie).bech32Config.bech32PrefixAccAddr,fromBech32(Se[0].bech32Address).data)});}),g.setState(ie=>({accounts:b(b({},ie.accounts||{}),Pe)})),he(ve)}).catch(J),F.addEventListener("abort",()=>{J(new Error("User closed wallet connect"));});})});try{let F=new AbortController,he=F.signal;$.subscribeModal(J=>{J.open||F.abort();}),yield oe(he);}catch(F){if($.closeModal(),!F.message.toLowerCase().includes("no matching key"))return Promise.reject(F)}return e||$.closeModal(),Promise.resolve()}try{yield $e((()=>l(void 0,null,function*(){let K=yield w(m[0]),Y={};m.forEach(oe=>{Y[oe]=N(b({},K),{bech32Address:toBech32(v.find(F=>F.chainId===oe).bech32Config.bech32PrefixAccAddr,fromBech32(K.bech32Address).data)});}),g.setState({accounts:Y});}))(),15e3,new Error("Connection timeout"));}catch(K){if(i(V.topic),!K.message.toLowerCase().includes("no matching key"))throw K}}),y=p=>l(void 0,null,function*(){var v;let{wcSignClient:m}=g.getState();if(!m)throw new Error("walletConnect.signClient is not defined");let h=(v=r([p]))==null?void 0:v.topic;if(!h)throw new Error("No wallet connect session");n();let E=yield m.request({topic:h,chainId:`cosmos:${p}`,request:{method:"cosmos_getAccounts",params:{}}});if(!E[0])throw new Error("No wallet connect account");return {address:E[0].address,algo:E[0].algo,pubkey:new Uint8Array(Buffer.from(E[0].pubkey,t))}}),w=p=>l(void 0,null,function*(){let{address:m,algo:h,pubkey:E}=yield y(p);return {address:fromBech32(m).data,algo:h,bech32Address:m,name:"",pubKey:E,isKeystone:!1,isNanoLedger:!1}}),S=(...p)=>l(void 0,null,function*(){var K,Y;let[m,h,E]=p,{accounts:v,wcSignClient:L}=g.getState();if(!L)throw new Error("walletConnect.signClient is not defined");if(!v)throw new Error("account is not defined");let $=(K=r([m]))==null?void 0:K.topic;if(!$)throw new Error("No wallet connect session");if(!E.bodyBytes)throw new Error("No bodyBytes");if(!E.authInfoBytes)throw new Error("No authInfoBytes");let V={topic:$,chainId:`cosmos:${m}`,request:{method:"cosmos_signDirect",params:{signerAddress:h,signDoc:N(b({},E),{bodyBytes:Buffer.from(E.bodyBytes).toString(t),authInfoBytes:Buffer.from(E.authInfoBytes).toString(t),accountNumber:(Y=E.accountNumber)==null?void 0:Y.toString()})}}};return n(),yield L.request(V)}),I=(...p)=>l(void 0,null,function*(){let[m,h,E]=p,{signature:v,signed:L}=yield S(m,h,E);return {signed:{chainId:L.chainId,accountNumber:Pt.fromString(L.accountNumber,!1),authInfoBytes:new Uint8Array(Buffer.from(L.authInfoBytes,t)),bodyBytes:new Uint8Array(Buffer.from(L.bodyBytes,t))},signature:v}}),T=(...p)=>l(void 0,null,function*(){var K;let[m,h,E,v]=p,{wcSignClient:L}=g.getState(),{accounts:$}=g.getState();if(!L)throw new Error("walletConnect.signClient is not defined");if(!$)throw new Error("account is not defined");let V=(K=r([m]))==null?void 0:K.topic;if(!V)throw new Error("No wallet connect session");return n(),yield L.request({topic:V,chainId:`cosmos:${m}`,request:{method:"cosmos_signDirect",params:{signerAddress:h,signDoc:E}}})}),W=(...p)=>l(void 0,null,function*(){let[m,h,E,v]=p;return yield T(m,h,E)}),D=p=>({getAccounts:()=>l(void 0,null,function*(){return [yield y(p)]}),signDirect:(m,h)=>I(p,m,h)}),C=p=>({getAccounts:()=>l(void 0,null,function*(){return [yield y(p)]}),signAmino:(m,h)=>W(p,m,h)});return {enable:f,experimentalSuggestChain:(...p)=>l(void 0,null,function*(){yield Promise.reject(new Error("WalletConnect does not support experimentalSuggestChain"));}),getKey:w,getOfflineSigner:p=>({getAccounts:()=>l(void 0,null,function*(){return [yield y(p)]}),signDirect:(m,h)=>I(p,m,h),signAmino:(m,h)=>W(p,m,h)}),getOfflineSignerAuto:p=>l(void 0,null,function*(){return (yield w(p)).isNanoLedger?C(p):D(p)}),getOfflineSignerOnlyAmino:C,signAmino:W,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 Leap mobile is only supported in mobile");let e={encoding:"hex",appUrl:{mobile:{ios:"cosmostation://",android:"cosmostation://"}},walletType:"wc_leap_mobile",formatNativeUrl:(i,r,a)=>`${i.replaceAll("/","").replaceAll(":","")}://wc?${r}`};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:(i,r,a)=>{let s=i.replaceAll("/","").replaceAll(":",""),c=encodeURIComponent(r);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:(i,r,a)=>{let s=i.replaceAll("/","").replaceAll(":",""),c=encodeURIComponent(r);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 _=(e=d.getState().walletType)=>{try{return R(e),!0}catch(t){return !1}},q=()=>{window.sessionStorage.removeItem(X),g.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 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();default:throw new Error("Unknown wallet type")}},ko=()=>Object.fromEntries(Ue.map(e=>[e,_(e)])),Xe=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:i}=d.getState(),r=(e==null?void 0:e.walletType)||i;if(!_(r))throw new Error(`${r} is not available`);let s=R(r),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`)}),g.setState(S=>{let I=d.getState()._reconnect||!!d.getState()._reconnectConnector||!!c;return S.activeChainIds&&c.filter(W=>{var D;return !((D=S.activeChainIds)!=null&&D.includes(W))}).length>0?{status:"connecting"}:I?{status:"reconnecting"}:{status:"connecting"}});let{accounts:f}=g.getState();if(yield (t=s.init)==null?void 0:t.call(s),yield s.enable(c),!Xe(r)){let S=yield s.getKey(c[0]),I={};c.forEach(T=>{I[T]=N(b({},S),{bech32Address:toBech32(o.find(W=>W.chainId===T).bech32Config.bech32PrefixAccAddr,fromBech32(S.bech32Address).data)});}),g.setState(T=>({accounts:b(b({},T.accounts||{}),I)}));}d.setState(S=>({recentChainIds:[...S.recentChainIds||[],...c].filter((I,T,W)=>W.indexOf(I)===T)})),g.setState(S=>({activeChainIds:[...S.activeChainIds||[],...c].filter((I,T,W)=>W.indexOf(I)===T)})),d.setState({walletType:r,_reconnect:!!(e!=null&&e.autoReconnect),_reconnectConnector:r}),g.setState({status:"connected"}),typeof window!="undefined"&&window.sessionStorage.setItem(X,"Active");let y=c.map(S=>o.find(I=>I.chainId===S));return {accounts:g.getState().accounts,walletType:r,chains:y}}catch(n){throw console.error("connect ",n),g.getState().accounts===null&&g.setState({status:"disconnected"}),g.getState().accounts&&g.getState().activeChainIds&&g.setState({status:"connected"}),n}}),Ae=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=g.getState().accounts;t.forEach(i=>{n==null||delete n[i];}),Object.values(n||{}).length===0?(g.setState(Z),d.setState({_reconnect:!1,_reconnectConnector:null,recentChainIds:null})):(g.setState(i=>{var r;return {activeChainIds:(r=i.activeChainIds)==null?void 0:r.filter(a=>!t.includes(a)),accounts:n}}),d.setState(i=>{var r;return {recentChainIds:(r=i.recentChainIds)==null?void 0:r.filter(a=>!t.includes(a))}}));}else g.setState(Z),d.setState({_reconnect:!1,_reconnectConnector:null,recentChainIds:null});return Promise.resolve()},j=e=>l(void 0,null,function*(){var i;let{recentChainIds:t,_reconnectConnector:n,_reconnect:o}=d.getState();try{let r=_(n||void 0);if(t&&r&&n)return yield ee({chainId:t,walletType:n,autoReconnect:o})}catch(r){(i=e==null?void 0:e.onError)==null||i.call(e,r),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(!_(n))throw new Error(`${n} is not available`);let i=R(n),r=i.getOfflineSigner(e.chainId),a=i.getOfflineSignerOnlyAmino(e.chainId),s=yield i.getOfflineSignerAuto(e.chainId);return {offlineSigner:r,offlineSignerAmino:a,offlineSignerAuto:s}});var Ie=()=>{d.setState({recentChainIds:null});},Qo=()=>d.getState().recentChainIds,jo=()=>{var n;let{recentChainIds:e,chains:t}=d.getState();return (n=e==null?void 0:e.map(o=>t.find(i=>i.chainId===o)))!=null?n:null},Ee=n=>l(void 0,[n],function*({chainInfo:e,walletType:t}){return yield R(t).experimentalSuggestChain(e),e}),et=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 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:i,memo:r}){if(!e)throw new Error("No connected account detected");if(!t)throw new Error("senderAddress is not defined");return e.sendTokens(t,n,o,i,r)}),ot=f=>l(void 0,[f],function*({signingClient:e,senderAddress:t,recipientAddress:n,transferAmount:o,sourcePort:i,sourceChannel:r,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,i,r,a,s,c,u)}),it=s=>l(void 0,[s],function*({signingClient:e,senderAddress:t,msg:n,fee:o,options:i,label:r,codeId:a}){if(!e)throw new Error("CosmWasm signing client is not ready");return e.instantiate(t,a,n,r,o,i)}),rt=s=>l(void 0,[s],function*({signingClient:e,senderAddress:t,msg:n,fee:o,contractAddress:i,funds:r,memo:a}){if(!e)throw new Error("CosmWasm signing client is not ready");return e.execute(t,i,n,o,a,r)}),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 ni=e=>e,oi=e=>e;var ue=e=>e?Object.keys(e).length===0:!0;var Te=class extends Error{constructor(t){super(),this.name="AbortError",this.message=t;}},ct=e=>globalThis.DOMException===void 0?new Te(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(r,a){return l(this,arguments,function*(e,t,{concurrency:n=Number.POSITIVE_INFINITY,stopOnError:o=!0,signal:i}={}){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=[],f=[],y=new Map,w=!1,S=!1,I=!1,T=0,W=0,D=e[Symbol.iterator]===void 0?e[Symbol.asyncIterator]():e[Symbol.iterator](),C=O=>{w=!0,S=!0,c(O);};i&&(i.aborted&&C(lt(i)),i.addEventListener("abort",()=>{C(lt(i));}));let A=()=>l(this,null,function*(){if(S)return;let O=yield D.next(),k=W;if(W++,O.done){if(I=!0,T===0&&!S){if(!o&&f.length>0){C(new AggregateError(f));return}if(S=!0,y.size===0){s(u);return}let P=[];for(let[B,te]of u.entries())y.get(B)!==ut&&P.push(te);s(P);}return}T++,l(this,null,function*(){try{let P=yield O.value;if(S)return;let B=yield t(P,k);B===ut&&y.set(k,B),u[k]=B,T--,yield A();}catch(P){if(o)C(P);else {f.push(P),T--;try{yield A();}catch(B){C(B);}}}});});l(this,null,function*(){for(let O=0;O<n;O++){try{yield A();}catch(k){C(k);break}if(I||w)break}});})})}var ut=Symbol("skip");var U=({chainId:e,multiChain:t})=>{let n=d(i=>i.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(i=>n.find(r=>r.chainId===i)).filter(Boolean);case(!t&&!!o):return [o.map(i=>n.find(r=>r.chainId===i)).filter(Boolean)[0]];case(!!t&&!o):return n;default:return [n[0]]}},G=(e,t,n)=>l(void 0,null,function*(){let o=d.getState().multiChainFetchConcurrency;if(e){let r=yield be(t,n,{concurrency:o});return Object.fromEntries(r.map((a,s)=>[t[s].chainId,a]))}return yield n(t[0])}),dt=(e,t,n)=>{if(e){let i=t.map(n);return Object.fromEntries(i.map((r,a)=>[t[a].chainId,r]))}return n(t[0])};var Oe=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:i=>l(void 0,[i],function*({queryKey:[,o]}){if(o.length<1)throw new Error("No chains found");return yield G(!!(e!=null&&e.multiChain),o,a=>l(void 0,null,function*(){var f;let s=(f=d.getState().chainsConfig)==null?void 0:f[a.chainId],c={url:a.rpc,headers:b({},(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})},We=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:i=>l(void 0,[i],function*({queryKey:[,o]}){if(o.length<1)throw new Error("No chains found");return yield G(!!(e!=null&&e.multiChain),o,a=>l(void 0,null,function*(){var f;let s=(f=d.getState().chainsConfig)==null?void 0:f[a.chainId],c={url:a.rpc,headers:b({},(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})},de=({type:e,chainId:t,multiChain:n,enabled:o})=>{let i=U({chainId:t,multiChain:n}),r=useMemo(()=>["USE_TENDERMINT_CLIENT",e,i],[e,i]);return useQuery({queryKey:r,queryFn:c=>l(void 0,[c],function*({queryKey:[,a,s]}){if(s.length<1)throw new Error("No chains found");return yield G(!!n,s,f=>l(void 0,null,function*(){var T;let y=(T=d.getState().chainsConfig)==null?void 0:T[f.chainId],w={url:f.rpc,headers:b({},(y==null?void 0:y.rpcHeaders)||{})};return yield (a==="tm37"?Tendermint37Client:Tendermint34Client).connect(w)}))}),enabled:!!i&&i.length>0&&(o!==void 0?!!o:!0),refetchOnWindowFocus:!1})};var vi=()=>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"}),shallow),me=e=>{let n=["USE_CHECK_WALLET",d(i=>e||i.walletType)];return useQuery(n,({queryKey:[,i]})=>_(i))};var H=e=>{let t=d(s=>s.walletType),n=g(s=>s.activeChainIds),o=U({chainId:e!=null&&e.chainId?e.chainId:n||void 0,multiChain:e==null?void 0:e.multiChain}),i=g(s=>s.accounts),r=g(s=>s.status);return useEffect(()=>g.subscribe(s=>s.status,(s,c)=>{var u,f,y;if(s==="connected"){let{accounts:w,activeChainIds:S}=g.getState(),{chains:I}=d.getState(),{walletType:T}=d.getState();if(!w||!S||!I)return (u=e==null?void 0:e.onDisconnect)==null?void 0:u.call(e);(f=e==null?void 0:e.onConnect)==null||f.call(e,{accounts:w,chains:S.map(W=>I.find(D=>D.chainId===W)),walletType:T,isReconnect:c==="reconnecting"});}s==="disconnected"&&((y=e==null?void 0:e.onDisconnect)==null||y.call(e));}),[e]),{data:useMemo(()=>i?dt(!!(e!=null&&e.multiChain),o,s=>i[s.chainId]):void 0,[i,o,e==null?void 0:e.multiChain]),isConnected:r==="connected",isConnecting:r==="connecting",isDisconnected:r==="disconnected",isReconnecting:r==="reconnecting",isLoading:r==="connecting"||r==="reconnecting",walletType:r==="connected"?t:void 0,reconnect:j,status:r}},Ht=e=>{let t=U({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:i}=Oe({chainId:t.map(a=>a.chainId),multiChain:!0,enabled:((e==null?void 0:e.enabled)===void 0?!0:e.enabled)&&!!o}),r=useMemo(()=>["USE_ALL_BALANCES",i,t,o,e==null?void 0:e.chainId],[o,e==null?void 0:e.chainId,t,i]);return useQuery(r,u=>l(void 0,[u],function*({queryKey:[,a,s,c]}){if(!c)throw new Error("address is not defined");return yield G(!!(e!=null&&e.multiChain),s,y=>l(void 0,null,function*(){let w=a==null?void 0:a[y.chainId];if(!w)throw new Error(`Client is not ready ${y.chainId}`);return yield w.getAllBalances(toBech32(y.bech32Config.bech32PrefixAccAddr,fromBech32(c).data))}))}),{enabled:!!o&&!!t&&t.length>0&&!ue(i)&&((e==null?void 0:e.enabled)===void 0?!0:e.enabled),refetchOnMount:!1,refetchOnReconnect:!0,refetchOnWindowFocus:!1})},Fi=e=>{let t=U({chainId:e.chainId}),{data:n}=H({chainId:e.chainId}),o=e.bech32Address||(n==null?void 0:n.bech32Address),{data:i,refetch:r}=Ht({chainId:t.map(c=>c.chainId),bech32Address:o,enabled:!!o&&(e.enabled===void 0?!0:e.enabled)}),a=["USE_BALANCE",e.denom,i,t,o,e.chainId],s=useQuery(a,({queryKey:[,c,u]})=>u==null?void 0:u.find(f=>f.denom===c),{enabled:!!i&&!!(i!=null&&i.length)&&(e.enabled===void 0?!0:e.enabled)});return N(b({},s),{refetch:c=>l(void 0,null,function*(){return yield r(),s.refetch(c)})})},zi=({onError:e,onLoading:t,onSuccess:n}={})=>{let i=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:r}=me();return {connect:a=>i.mutate(a),connectAsync:a=>i.mutateAsync(a),error:i.error,isLoading:i.isLoading,isSuccess:i.isSuccess,isSupported:!!r,status:i.status}},Qi=({onError:e,onLoading:t,onSuccess:n}={})=>{let i=useMutation(["USE_DISCONNECT",e,t,n],Ae,{onError:r=>Promise.resolve(e==null?void 0:e(r,void 0)),onMutate:t,onSuccess:()=>Promise.resolve(n==null?void 0:n(void 0))});return {disconnect:r=>i.mutate(r),disconnectAsync:r=>i.mutateAsync(r),error:i.error,isLoading:i.isLoading,isSuccess:i.isSuccess,status:i.status}},ji=e=>{let t=U({chainId:e==null?void 0:e.chainId,multiChain:e==null?void 0:e.multiChain}),n=d(i=>i.walletType),o=useMemo(()=>["USE_OFFLINE_SIGNERS",t,n],[t,n]);return useQuery({queryKey:o,queryFn:a=>l(void 0,[a],function*({queryKey:[,i,r]}){if(i.length<1)throw new Error("No chain found");if(!_(r))throw new Error(`${r} is not available`);return yield G(!!(e!=null&&e.multiChain),i,u=>l(void 0,null,function*(){return yield Ze({chainId:u.chainId,walletType:r})}))}),enabled:!!t&&t.length>0&&!!n,refetchOnWindowFocus:!1})},$i=e=>{let t=U({chainId:e==null?void 0:e.chainId,multiChain:e==null?void 0:e.multiChain}),{data:n}=H(),{data:o}=Oe({chainId:t.map(a=>a.chainId),multiChain:!0}),i=(e==null?void 0:e.bech32Address)||(n==null?void 0:n.bech32Address),r=useMemo(()=>["USE_BALANCE_STAKED",o,t,i],[t,i,o]);return useQuery(r,u=>l(void 0,[u],function*({queryKey:[,a,s,c]}){if(!c)throw new Error("address is not defined");return yield G(!!(e!=null&&e.multiChain),s,y=>l(void 0,null,function*(){var S;if(!a)throw new Error("Client is not ready");return yield (S=a[y.chainId])==null?void 0:S.getBalanceStaked(toBech32(y.bech32Config.bech32PrefixAccAddr,fromBech32(c).data))}))}),{enabled:!!i&&!!t&&t.length>0&&!!o,refetchOnMount:!1,refetchOnReconnect:!0,refetchOnWindowFocus:!1})};var tr=()=>g(e=>e.activeChainIds),Vt=()=>{var e;return (e=g(t=>t.activeChainIds))==null?void 0:e.map(t=>{var o;let n=(o=d.getState().chains)==null?void 0:o.find(i=>i.chainId===t);if(n)return n}).filter(Boolean)},nr=({denom:e})=>{let t=Vt();return useQuery(["USE_ACTIVE_CHAIN_CURRENCY",e],({queryKey:[,i]})=>{var r;return (r=t==null?void 0:t.find(a=>a.currencies.find(s=>s.coinMinimalDenom===i)))==null?void 0:r.currencies.find(a=>a)})},or=e=>{var i;let t=(i=e.status)!=null?i:"BOND_STATUS_BONDED",n=["USE_ACTIVE_CHAIN_VALIDATORS",e.queryClient,t];return useQuery(n,s=>l(void 0,[s],function*({queryKey:[,r,a]}){if(!r)throw new Error("Query client is not defined");return yield r.staking.validators(a)}),{enabled:typeof e.queryClient!="undefined"})},ir=()=>({data:d(t=>t.recentChainIds),clear:Ie}),rr=()=>{var t;return {data:(t=d(n=>n.recentChainIds))==null?void 0:t.map(n=>{var i;let o=(i=d.getState().chains)==null?void 0:i.find(r=>r.chainId===n);if(o)return o}).filter(Boolean),clear:Ie}},sr=({onError:e,onLoading:t,onSuccess:n}={})=>{let i=useMutation(["USE_SUGGEST_CHAIN",e,t,n],Ee,{onError:(r,a)=>Promise.resolve(e==null?void 0:e(r,a.chainInfo)),onMutate:r=>t==null?void 0:t(r.chainInfo),onSuccess:r=>Promise.resolve(n==null?void 0:n(r))});return {error:i.error,isLoading:i.isLoading,isSuccess:i.isSuccess,suggest:i.mutate,suggestAsync:i.mutateAsync,status:i.status}},ar=({onError:e,onLoading:t,onSuccess:n}={})=>{let i=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:r}=me();return {error:i.error,isLoading:i.isLoading,isSuccess:i.isSuccess,isSupported:!!r,status:i.status,suggestAndConnect:i.mutate,suggestAndConnectAsync:i.mutateAsync}};var gr=({onError:e,onLoading:t,onSuccess:n}={})=>{let{data:o}=H(),i=o==null?void 0:o.bech32Address,r=useMutation(["USE_SEND_TOKENS",e,t,n,i],a=>nt(b({senderAddress:i},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:r.error,isLoading:r.isLoading,isSuccess:r.isSuccess,sendTokens:r.mutate,sendTokensAsync:r.mutateAsync,status:r.status}},yr=({onError:e,onLoading:t,onSuccess:n}={})=>{let{data:o}=H(),i=o==null?void 0:o.bech32Address,r=useMutation(["USE_SEND_IBC_TOKENS",e,t,n,i],a=>ot(b({senderAddress:i},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:r.error,isLoading:r.isLoading,isSuccess:r.isSuccess,sendIbcTokens:r.mutate,sendIbcTokensAsync:r.mutateAsync,status:r.status}},Cr=({codeId:e,onError:t,onLoading:n,onSuccess:o})=>{let{data:i}=H(),r=i==null?void 0:i.bech32Address,s=useMutation(["USE_INSTANTIATE_CONTRACT",t,n,o,e,r],c=>{var f;if(!r)throw new Error("senderAddress is undefined");let u=N(b({},c),{fee:(f=c.fee)!=null?f:"auto",senderAddress:r,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}},hr=({contractAddress:e,onError:t,onLoading:n,onSuccess:o})=>{let{data:i}=H(),r=i==null?void 0:i.bech32Address,s=useMutation(["USE_EXECUTE_CONTRACT",t,n,o,e,r],c=>{var f,y,w;if(!r)throw new Error("senderAddress is undefined");let u=N(b({},c),{fee:(f=c.fee)!=null?f:"auto",senderAddress:r,contractAddress:e,memo:(y=c.memo)!=null?y:"",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}},Sr=e=>{let{data:t}=We();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 st(e.address,e.queryMsg,t)},{enabled:!!(e!=null&&e.address)&&!!(e!=null&&e.queryMsg)&&!!t})},wr=e=>{let{data:t}=We(),n=["USE_QUERY_RAW",e==null?void 0:e.key,e==null?void 0:e.address,t];return useQuery(n,({queryKey:[,i]})=>{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 Pr(e){let t=U({chainId:e==null?void 0:e.chainId,multiChain:e==null?void 0:e.multiChain}),n=d(r=>r.walletType),o=g(r=>r.activeChainIds),i=useMemo(()=>["USE_STARGATE_SIGNING_CLIENT",t,n,e,o],[o,e,t,n]);return useQuery({queryKey:i,queryFn:s=>l(this,[s],function*({queryKey:[,r,a]}){if(r.length<1)throw new Error("No chains found");return yield G(!!(e!=null&&e.multiChain),r,u=>l(this,null,function*(){var T,W;if(!(o!=null&&o.includes(u.chainId)))return;if(!_(a))throw new Error(`${a} is not available`);let y=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=(T=d.getState().chainsConfig)==null?void 0:T[u.chainId],S={url:u.rpc,headers:b({},(w==null?void 0:w.rpcHeaders)||{})};return (e==null?void 0:e.multiChain)===!0&&e.opts,yield SigningStargateClient.connectWithSigner(S,y,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 Nr(e){let t=U({chainId:e==null?void 0:e.chainId,multiChain:e==null?void 0:e.multiChain}),n=d(r=>r.walletType),o=g(r=>r.activeChainIds),i=useMemo(()=>["USE_COSMWASM_SIGNING_CLIENT",t,n,e,o],[o,e,t,n]);return useQuery({queryKey:i,queryFn:s=>l(this,[s],function*({queryKey:[,r,a]}){if(r.length<1)throw new Error("No chains found");return yield G(!!(e!=null&&e.multiChain),r,u=>l(this,null,function*(){var W,D;if(!(o!=null&&o.includes(u.chainId)))return;if(!_(a))throw new Error(`${a} is not available`);let y=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:b({},(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,y,b({gasPrice:I},e!=null&&e.multiChain?(D=e.opts)==null?void 0:D[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 Br(e){let t=U({chainId:e.chainId,multiChain:e.multiChain}),n=d(a=>a.walletType),o=g(a=>a.activeChainIds),i=useMemo(()=>["USE_STARGATE_TM_SIGNING_CLIENT",t,n,e,o],[o,e,t,n]),{data:r}=de({type:e.type,chainId:e.chainId,multiChain:e.multiChain});return useQuery({queryKey:i,queryFn:c=>l(this,[c],function*({queryKey:[,a,s]}){if(a.length<1)throw new Error("No chains found");return yield G(!!e.multiChain,a,f=>l(this,null,function*(){var T;if(!(o!=null&&o.includes(f.chainId)))return;if(!_(s))throw new Error(`${s} is not available`);if(!r)throw new Error("No tendermint client found");let w=yield (()=>l(this,null,function*(){switch(e.offlineSigner){case"offlineSigner":return R(s).getOfflineSigner(f.chainId);case"offlineSignerAuto":return R(s).getOfflineSignerAuto(f.chainId);case"offlineSignerOnlyAmino":return R(s).getOfflineSignerOnlyAmino(f.chainId);default:return R(s).getOfflineSignerAuto(f.chainId)}}))(),S=e.multiChain?r[f.chainId]:r;return yield SigningStargateClient.createWithSigner(S,w,e.multiChain?(T=e.opts)==null?void 0:T[f.chainId]:e.opts)}))}),enabled:!!t&&t.length>0&&!!n&&!!r&&(e.enabled!==void 0?!!e.enabled:!0),refetchOnWindowFocus:!1})}function _r(e){let t=U({chainId:e.chainId,multiChain:e.multiChain}),n=d(s=>s.walletType),o=g(s=>s.activeChainIds),i=useMemo(()=>["USE_COSMWASM_TM_SIGNING_CLIENT",t,n,e,o],[o,e,t,n]),{data:r}=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 useQuery({queryKey:i,queryFn:u=>l(this,[u],function*({queryKey:[,s,c]}){if(s.length<1)throw new Error("No chains found");return yield G(!!e.multiChain,s,y=>l(this,null,function*(){var C,A;if(!(o!=null&&o.includes(y.chainId)))return;if(!_(c))throw new Error(`${c} is not available`);let S=yield (()=>l(this,null,function*(){switch(e.offlineSigner){case"offlineSigner":return R(c).getOfflineSigner(y.chainId);case"offlineSignerAuto":return R(c).getOfflineSignerAuto(y.chainId);case"offlineSignerOnlyAmino":return R(c).getOfflineSignerOnlyAmino(y.chainId);default:return R(c).getOfflineSignerAuto(y.chainId)}}))(),I=(C=d.getState().chainsConfig)==null?void 0:C[y.chainId],T=I!=null&&I.gas?GasPrice.fromString(`${I.gas.price}${I.gas.denom}`):void 0,W=e.multiChain?a==null?void 0:a[y.chainId]:r;if(!W)throw new Error("No tendermint client found");return yield SigningCosmWasmClient.createWithSigner(W,S,b({gasPrice:T},e.multiChain?(A=e.opts)==null?void 0:A[y.chainId]:e.opts||{}))}))}),enabled:!!t&&t.length>0&&!!n&&(!!r||!ue(a))&&(e.enabled!==void 0?!!e.enabled:!0),refetchOnWindowFocus:!1})}var At=({children:e})=>{let[t,n]=useState(!1);return useEffect(()=>{n(!0);},[]),jsx(Fragment,{children:t?e:null})};var en=()=>{let e=typeof window!="undefined"&&window.sessionStorage.getItem(X)==="Active",{_reconnect:t,_onReconnectFailed:n,_reconnectConnector:o}=d(),{activeChainIds:i,wcSignClient:r}=g(),a=_(o||void 0);return useEffect(()=>{if(o){if(!a)return;e&&i?j({onError:n}):!e&&t&&j({onError:n});}},[a]),useEffect(()=>{var s,c,u,f,y,w,S,I,T,W;if(o){if(!a)return;o==="cosmostation"&&((c=(s=se()).subscription)==null||c.call(s,()=>{j({onError:n});})),o==="keplr"&&((f=(u=ae()).subscription)==null||f.call(u,()=>{j({onError:n});})),o==="leap"&&((w=(y=ce()).subscription)==null||w.call(y,()=>{j({onError:n});})),o==="vectis"&&((I=(S=le()).subscription)==null||I.call(S,()=>{j({onError:n});})),o==="walletconnect"&&r&&((W=(T=Q()).subscription)==null||W.call(T,()=>{j({onError:n});}));}},[o,r,a]),null},Et=()=>(en(),null);var on=new QueryClient({}),ss=o=>{var i=o,{children:e,grazOptions:t}=i,n=Le(i,["children","grazOptions"]);return tt(t),jsx(QueryClientProvider,N(b({client:on},n),{children:jsxs(At,{children:[e,jsx(Et,{})]})}),"graz-provider")};
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")};
16
16
 
17
- export { Et as GrazEvents, ss as GrazProvider, Ue as WALLET_TYPES, Ke as WalletType, _ as checkWallet, Ie as clearRecentChain, q as clearSession, tt as configureGraz, ee as connect, oi as defineChainInfo, ni as defineChains, Ae as disconnect, rt as executeContract, ko as getAvailableWallets, se as getCosmostation, ae as getKeplr, ce as getLeap, ze as getMetamaskSnapLeap, Ze as getOfflineSigners, at as getQueryRaw, st as getQuerySmart, Qo as getRecentChainIds, jo as getRecentChains, le as getVectis, Ve as getWCCosmostation, Ye as getWCKeplr, Je as getWCLeap, R as getWallet, Q as getWalletConnect, it as instantiateContract, Xe as isWalletConnect, j as reconnect, ot as sendIbcTokens, nt as sendTokens, Ee as suggestChain, et as suggestChainAndConnect, H as useAccount, nr as useActiveChainCurrency, tr as useActiveChainIds, Vt as useActiveChains, vi as useActiveWalletType, Fi as useBalance, $i as useBalanceStaked, Ht as useBalances, me as useCheckWallet, zi as useConnect, We as useCosmWasmClient, Nr as useCosmWasmSigningClient, _r as useCosmWasmTmSigningClient, Qi as useDisconnect, hr as useExecuteContract, en as useGrazEvents, Cr as useInstantiateContract, ji as useOfflineSigners, or as useQueryClientValidators, wr as useQueryRaw, Sr as useQuerySmart, ir as useRecentChainIds, rr as useRecentChains, yr as useSendIbcTokens, gr as useSendTokens, Oe as useStargateClient, Pr as useStargateSigningClient, Br as useStargateTmSigningClient, sr as useSuggestChain, ar as useSuggestChainAndConnect, de as useTendermintClient };
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 };
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.0",
4
+ "version": "0.1.1",
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",
@@ -53,6 +53,7 @@
53
53
  "@keplr-wallet/types": "^0.12.23",
54
54
  "@metamask/providers": "^12.0.0",
55
55
  "@tanstack/react-query": "^4.35.0",
56
+ "@terra-money/station-connector": "^1.0.15",
56
57
  "@vectis/extension-client": "^0.7.2",
57
58
  "@walletconnect/sign-client": "^2.10.0",
58
59
  "@walletconnect/types": "^2.10.0",
package/types/global.d.ts CHANGED
@@ -1,16 +1,20 @@
1
1
  type KeplrWindow = import("@keplr-wallet/types").Window;
2
2
  type VectisWindow = import("@vectis/extension-client").VectisWindow;
3
+ import Station from "@terra-money/station-connector";
3
4
 
4
- interface Window extends KeplrWindow, VectisWindow {
5
- leap: KeplrWindow["keplr"];
6
- cosmostation: {
7
- cosmos: {
8
- on: (type: string, listener: EventListenerOrEventListenerObject) => void;
9
- off: (type: string, listener: EventListenerOrEventListenerObject) => void;
5
+ declare global {
6
+ interface Window extends KeplrWindow, VectisWindow {
7
+ leap: KeplrWindow["keplr"];
8
+ cosmostation: {
9
+ cosmos: {
10
+ on: (type: string, listener: EventListenerOrEventListenerObject) => void;
11
+ off: (type: string, listener: EventListenerOrEventListenerObject) => void;
12
+ };
13
+ providers: {
14
+ keplr: KeplrWindow["keplr"];
15
+ };
10
16
  };
11
- providers: {
12
- keplr: KeplrWindow["keplr"];
13
- };
14
- };
15
- ethereum?: import("@metamask/providers").MetaMaskInpageProvider;
17
+ ethereum?: import("@metamask/providers").MetaMaskInpageProvider;
18
+ station?: Station;
19
+ }
16
20
  }