graz 0.1.0-beta.2 → 0.1.0

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/.gitkeep CHANGED
File without changes
package/dist/index.d.mts CHANGED
@@ -974,22 +974,22 @@ interface BaseSigningClientArgs extends QueryConfig {
974
974
  chainId?: ChainId$1;
975
975
  offlineSigner?: "offlineSigner" | "offlineSignerAuto" | "offlineSignerOnlyAmino";
976
976
  }
977
- declare function useStargateSigningClient(args?: BaseSigningClientArgs & SiginingClientSinglechainArgs<SigningStargateClientOptions>): UseQueryResult<SigningStargateClient>;
978
- declare function useStargateSigningClient(args?: BaseSigningClientArgs & SiginingClientMultichainArgs<SigningStargateClientOptions>): UseQueryResult<Record<string, SigningStargateClient>>;
979
- declare function useCosmWasmSigningClient(args?: BaseSigningClientArgs & SiginingClientSinglechainArgs<SigningCosmWasmClientOptions>): UseQueryResult<SigningCosmWasmClient>;
980
- declare function useCosmWasmSigningClient(args?: BaseSigningClientArgs & SiginingClientMultichainArgs<SigningCosmWasmClientOptions>): UseQueryResult<Record<string, SigningCosmWasmClient>>;
977
+ declare function useStargateSigningClient(args?: BaseSigningClientArgs & SiginingClientSinglechainArgs<SigningStargateClientOptions>): UseQueryResult<SigningStargateClient | undefined>;
978
+ declare function useStargateSigningClient(args?: BaseSigningClientArgs & SiginingClientMultichainArgs<SigningStargateClientOptions>): UseQueryResult<Record<string, SigningStargateClient | undefined>>;
979
+ declare function useCosmWasmSigningClient(args?: BaseSigningClientArgs & SiginingClientSinglechainArgs<SigningCosmWasmClientOptions>): UseQueryResult<SigningCosmWasmClient | undefined>;
980
+ declare function useCosmWasmSigningClient(args?: BaseSigningClientArgs & SiginingClientMultichainArgs<SigningCosmWasmClientOptions>): UseQueryResult<Record<string, SigningCosmWasmClient | undefined>>;
981
981
  declare function useStargateTmSigningClient(args: {
982
982
  type: "tm34" | "tm37";
983
- } & BaseSigningClientArgs & SiginingClientSinglechainArgs<SigningStargateClientOptions>): UseQueryResult<SigningStargateClient>;
983
+ } & BaseSigningClientArgs & SiginingClientSinglechainArgs<SigningStargateClientOptions>): UseQueryResult<SigningStargateClient | undefined>;
984
984
  declare function useStargateTmSigningClient(args: {
985
985
  type: "tm34" | "tm37";
986
- } & BaseSigningClientArgs & SiginingClientMultichainArgs<SigningStargateClientOptions>): UseQueryResult<Record<string, SigningStargateClient>>;
986
+ } & BaseSigningClientArgs & SiginingClientMultichainArgs<SigningStargateClientOptions>): UseQueryResult<Record<string, SigningStargateClient | undefined>>;
987
987
  declare function useCosmWasmTmSigningClient(args: {
988
988
  type: "tm34" | "tm37";
989
- } & BaseSigningClientArgs & SiginingClientSinglechainArgs<SigningCosmWasmClientOptions>): UseQueryResult<SigningCosmWasmClient>;
989
+ } & BaseSigningClientArgs & SiginingClientSinglechainArgs<SigningCosmWasmClientOptions>): UseQueryResult<SigningCosmWasmClient | undefined>;
990
990
  declare function useCosmWasmTmSigningClient(args: {
991
991
  type: "tm34" | "tm37";
992
- } & BaseSigningClientArgs & SiginingClientMultichainArgs<SigningCosmWasmClientOptions>): UseQueryResult<Record<string, SigningCosmWasmClient>>;
992
+ } & BaseSigningClientArgs & SiginingClientMultichainArgs<SigningCosmWasmClientOptions>): UseQueryResult<Record<string, SigningCosmWasmClient | undefined>>;
993
993
 
994
994
  /**
995
995
  * graz hook to retrieve current active {@link WalletType}
package/dist/index.d.ts CHANGED
@@ -974,22 +974,22 @@ interface BaseSigningClientArgs extends QueryConfig {
974
974
  chainId?: ChainId$1;
975
975
  offlineSigner?: "offlineSigner" | "offlineSignerAuto" | "offlineSignerOnlyAmino";
976
976
  }
977
- declare function useStargateSigningClient(args?: BaseSigningClientArgs & SiginingClientSinglechainArgs<SigningStargateClientOptions>): UseQueryResult<SigningStargateClient>;
978
- declare function useStargateSigningClient(args?: BaseSigningClientArgs & SiginingClientMultichainArgs<SigningStargateClientOptions>): UseQueryResult<Record<string, SigningStargateClient>>;
979
- declare function useCosmWasmSigningClient(args?: BaseSigningClientArgs & SiginingClientSinglechainArgs<SigningCosmWasmClientOptions>): UseQueryResult<SigningCosmWasmClient>;
980
- declare function useCosmWasmSigningClient(args?: BaseSigningClientArgs & SiginingClientMultichainArgs<SigningCosmWasmClientOptions>): UseQueryResult<Record<string, SigningCosmWasmClient>>;
977
+ declare function useStargateSigningClient(args?: BaseSigningClientArgs & SiginingClientSinglechainArgs<SigningStargateClientOptions>): UseQueryResult<SigningStargateClient | undefined>;
978
+ declare function useStargateSigningClient(args?: BaseSigningClientArgs & SiginingClientMultichainArgs<SigningStargateClientOptions>): UseQueryResult<Record<string, SigningStargateClient | undefined>>;
979
+ declare function useCosmWasmSigningClient(args?: BaseSigningClientArgs & SiginingClientSinglechainArgs<SigningCosmWasmClientOptions>): UseQueryResult<SigningCosmWasmClient | undefined>;
980
+ declare function useCosmWasmSigningClient(args?: BaseSigningClientArgs & SiginingClientMultichainArgs<SigningCosmWasmClientOptions>): UseQueryResult<Record<string, SigningCosmWasmClient | undefined>>;
981
981
  declare function useStargateTmSigningClient(args: {
982
982
  type: "tm34" | "tm37";
983
- } & BaseSigningClientArgs & SiginingClientSinglechainArgs<SigningStargateClientOptions>): UseQueryResult<SigningStargateClient>;
983
+ } & BaseSigningClientArgs & SiginingClientSinglechainArgs<SigningStargateClientOptions>): UseQueryResult<SigningStargateClient | undefined>;
984
984
  declare function useStargateTmSigningClient(args: {
985
985
  type: "tm34" | "tm37";
986
- } & BaseSigningClientArgs & SiginingClientMultichainArgs<SigningStargateClientOptions>): UseQueryResult<Record<string, SigningStargateClient>>;
986
+ } & BaseSigningClientArgs & SiginingClientMultichainArgs<SigningStargateClientOptions>): UseQueryResult<Record<string, SigningStargateClient | undefined>>;
987
987
  declare function useCosmWasmTmSigningClient(args: {
988
988
  type: "tm34" | "tm37";
989
- } & BaseSigningClientArgs & SiginingClientSinglechainArgs<SigningCosmWasmClientOptions>): UseQueryResult<SigningCosmWasmClient>;
989
+ } & BaseSigningClientArgs & SiginingClientSinglechainArgs<SigningCosmWasmClientOptions>): UseQueryResult<SigningCosmWasmClient | undefined>;
990
990
  declare function useCosmWasmTmSigningClient(args: {
991
991
  type: "tm34" | "tm37";
992
- } & BaseSigningClientArgs & SiginingClientMultichainArgs<SigningCosmWasmClientOptions>): UseQueryResult<Record<string, SigningCosmWasmClient>>;
992
+ } & BaseSigningClientArgs & SiginingClientMultichainArgs<SigningCosmWasmClientOptions>): UseQueryResult<Record<string, SigningCosmWasmClient | undefined>>;
993
993
 
994
994
  /**
995
995
  * graz hook to retrieve current active {@link WalletType}
package/dist/index.js CHANGED
@@ -18,7 +18,7 @@ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
18
18
 
19
19
  var kt__default = /*#__PURE__*/_interopDefault(kt);
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 i in e)Ne.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(e!=null&&ie)for(var i of ie(e))t.indexOf(i)<0&&Be.call(e,i)&&(n[i]=e[i]);return n};var l=(e,t,n)=>new Promise((i,o)=>{var r=a=>{try{s(n.next(a));}catch(d){o(d);}},c=a=>{try{s(n.throw(a));}catch(d){o(d);}},s=a=>a.done?i(a.value):Promise.resolve(a.value).then(r,c);s((n=n.apply(e,t)).next());});var J="graz-reconnect-session";var Le=(d=>(d.KEPLR="keplr",d.LEAP="leap",d.VECTIS="vectis",d.COSMOSTATION="cosmostation",d.WALLETCONNECT="walletconnect",d.WC_KEPLR_MOBILE="wc_keplr_mobile",d.WC_LEAP_MOBILE="wc_leap_mobile",d.WC_COSMOSTATION_MOBILE="wc_cosmostation_mobile",d.METAMASK_SNAP_LEAP="metamask_snap_leap",d))(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},S=zustand.create(middleware.subscribeWithSelector(middleware.persist(()=>X,vt))),u=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:i=>(window.cosmostation.cosmos.on("accountChanged",()=>{U(),i();}),()=>{window.cosmostation.cosmos.off("accountChanged",()=>{U(),i();});})})}throw u.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:i=>(window.addEventListener("keplr_keystorechange",()=>{U(),i();}),()=>{window.removeEventListener("keplr_keystorechange",()=>{U(),i();});})})}throw u.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:i=>(window.addEventListener("leap_keystorechange",()=>{U(),i();}),()=>{window.removeEventListener("leap_keystorechange",()=>{U(),i();});})})}throw u.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"})}),i=y=>l(void 0,null,function*(){try{let A=yield n();return Object.values(A).find(M=>M.id===e.id&&(!y||M.version===y))}catch(A){return}}),o=()=>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 y=yield t.request({method:"web3_clientVersion"});if(!y.includes("MetaMask"))throw new Error("Metamask is not installed");let M=(N=y.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 i())||(yield o()),!0}),c=y=>l(void 0,null,function*(){(yield i())||(yield o());}),s=(y,A,M)=>l(void 0,null,function*(){let R=yield t.request({method:"wallet_invokeSnap",params:{snapId:e.id,request:{method:"signDirect",params:{chainId:y,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))})}}),a=(y,A,M)=>l(void 0,null,function*(){return yield t.request({method:"wallet_invokeSnap",params:{snapId:e.id,request:{method:"signAmino",params:{chainId:y,signerAddress:A,signDoc:M}}}})}),d=y=>l(void 0,null,function*(){let A=yield t.request({method:"wallet_invokeSnap",params:{snapId:e.id,request:{method:"getKey",params:{chainId:y}}}});if(!A)throw new Error("No response from Metamask");return A.pubKey=Uint8Array.from(Object.values(A.pubkey)),delete A.pubkey,b({},A)}),f=y=>l(void 0,null,function*(){let A=yield d(y);return {address:A.bech32Address,algo:A.algo,pubkey:A.pubKey}}),g=(...y)=>l(void 0,null,function*(){let[A,M,R,k]=y;return yield a(A,M,R)}),E=(...y)=>l(void 0,null,function*(){let[A,M,R]=y;return yield s(A,M,R)}),h=y=>({getAccounts:()=>l(void 0,null,function*(){return [yield f(y)]}),signDirect:(A,M)=>E(y,A,M)}),w=y=>({getAccounts:()=>l(void 0,null,function*(){return [yield f(y)]}),signAmino:(A,M)=>g(y,A,M)});return {enable:c,experimentalSuggestChain:(...y)=>l(void 0,null,function*(){yield r(),yield t.request({method:"wallet_invokeSnap",params:{snapId:e.id,request:{method:"suggestChain",params:{chainInfo:y[0]}}}});}),getKey:d,getOfflineSigner:y=>({getAccounts:()=>l(void 0,null,function*(){return [yield f(y)]}),signDirect:(A,M)=>E(y,A,M),signAmino:(A,M)=>g(y,A,M)}),getOfflineSignerAuto:y=>l(void 0,null,function*(){return (yield d(y)).isNanoLedger?w(y):h(y)}),getOfflineSignerOnlyAmino:w,init:r,signAmino:g,signDirect:E}}throw u.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 a=yield e.getKey(s);return {address:encoding.fromBech32(a.address).data,algo:a.algo,bech32Address:a.address,name:a.name,pubKey:a.pubKey,isKeystone:!1,isNanoLedger:a.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[a]=s,d=P(b({},a),{rpcUrl:a.rpc,restUrl:a.rest,prettyName:a.chainName.replace(" ",""),bech32Prefix:a.bech32Config.bech32PrefixAccAddr});return e.suggestChains([d])}),signDirect:(...s)=>l(void 0,null,function*(){var f;let{1:a,2:d}=s;return e.signDirect(a,{bodyBytes:d.bodyBytes||Uint8Array.from([]),authInfoBytes:d.authInfoBytes||Uint8Array.from([]),accountNumber:kt__default.default.fromString(((f=d.accountNumber)==null?void 0:f.toString())||"",!1),chainId:d.chainId||""})}),signAmino:(...s)=>l(void 0,null,function*(){let{1:a,2:d}=s;return e.signAmino(a,d)})}}throw u.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 i=new Promise((o,r)=>{setTimeout(()=>{r(n);},t);});return Promise.race([e,i])};var z=e=>{var k,N,ee;if(!((ee=(N=(k=u.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:C}=e;if(F()){if(ze())if(!p)window.open(m.mobile.android,"_self","noreferrer noopener");else {let I=C(m.mobile.android,p,"android");window.open(I,"_self","noreferrer noopener");}if(Qe())if(!p)window.open(m.mobile.ios,"_self","noreferrer noopener");else {let I=C(m.mobile.ios,p,"ios");window.open(I,"_self","noreferrer noopener");}}},i=()=>{let{wcSignClient:p}=S.getState();if(!p)throw new Error("walletConnect.signClient is not defined");U(),u.setState({_reconnect:!1,_reconnectConnector:null,recentChainIds:null});},o=p=>l(void 0,null,function*(){let{wcSignClient:m}=S.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),i();}),r=p=>{try{let{wcSignClient:m}=S.getState();if(!m)throw new Error("walletConnect.signClient is not defined");let C=m.session.getAll().at(-1);if(!C)return;if(!(C.expiry*1e3>Date.now()+1e3))throw o(C.topic),new Error("invalid session");try{let O=m.find({requiredNamespaces:{cosmos:{methods:["cosmos_getAccounts","cosmos_signAmino","cosmos_signDirect"],chains:p.map(_=>`cosmos:${_}`),events:["chainChanged","accountsChanged"]}}});if(!O.length)throw new Error("no session");return O.at(-1)}catch(O){if(!O.message.toLowerCase().includes("no matching key"))throw O}return C}catch(m){if(!m.message.toLowerCase().includes("no matching key"))throw m}},c=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(C=>l(void 0,null,function*(){yield p.core.pairing.pairings.delete(C.topic,{code:7001,message:"clear pairing"});})));}catch(m){if(!m.message.toLowerCase().includes("no matching key"))throw m}}),a=()=>l(void 0,null,function*(){let{walletConnect:p}=u.getState();if(!(p!=null&&p.options))throw new Error("walletConnect.options is not defined");let{wcSignClient:m}=S.getState();if(m)return S.setState({wcSignClient:m}),m;let C=yield signClient.SignClient.init(p.options);return S.setState({wcSignClient:C}),C}),d=p=>{let{wcSignClient:m}=S.getState();if(m)return m.events.on("session_delete",C=>{i();}),m.events.on("session_expire",C=>{i();}),m.events.on("session_event",C=>{let I=S.getState().accounts;if(C.params.event.name==="accountsChanged"&&I&&!Object.values(I).map(O=>O.bech32Address).includes(C.params.event.data[0])){let O=C.params.chainId.split(":")[1];O&&f([O]);}else p();}),()=>{m.events.off("session_delete",C=>{i();}),m.events.off("session_expire",C=>{i();}),m.events.off("session_event",C=>{let I=S.getState().accounts;if(C.params.event.name==="accountsChanged"&&I&&!Object.values(I).map(O=>O.bech32Address).includes(C.params.event.data[0])){let O=C.params.chainId.split(":")[1];O&&f([O]);}else p();});}},f=p=>l(void 0,null,function*(){var te;let m=typeof p=="string"?[p]:p,{wcSignClient:C}=S.getState();if(!C)throw new Error("enable walletConnect.signClient is not defined");let{walletConnect:I,chains:O}=u.getState();if(!((te=I==null?void 0:I.options)!=null&&te.projectId))throw new Error("walletConnect.options.projectId is not defined");let{Web3Modal:_}=yield import('@web3modal/standalone'),j=new _(b({projectId:I.options.projectId,walletConnectVersion:2,enableExplorer:!1,explorerRecommendedWalletIds:"NONE"},I.web3Modal)),H=c(m);if(!H){let{uri:L,approval:V}=yield C.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(O.find(Tt=>Tt.chainId===oe).bech32Config.bech32PrefixAccAddr,encoding.fromBech32(he[0].bech32Address).data)});}),S.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 E(m[0]),V={};m.forEach(ne=>{V[ne]=P(b({},L),{bech32Address:encoding.toBech32(O.find(G=>G.chainId===ne).bech32Config.bech32PrefixAccAddr,encoding.fromBech32(L.bech32Address).data)});}),S.setState({accounts:V});}))(),15e3,new Error("Connection timeout"));}catch(L){if(o(H.topic),!L.message.toLowerCase().includes("no matching key"))throw L}}),g=p=>l(void 0,null,function*(){var O;let{wcSignClient:m}=S.getState();if(!m)throw new Error("walletConnect.signClient is not defined");let C=(O=r([p]))==null?void 0:O.topic;if(!C)throw new Error("No wallet connect session");n();let I=yield m.request({topic:C,chainId:`cosmos:${p}`,request:{method:"cosmos_getAccounts",params:{}}});if(!I[0])throw new Error("No wallet connect account");return {address:I[0].address,algo:I[0].algo,pubkey:new Uint8Array(Buffer.from(I[0].pubkey,t))}}),E=p=>l(void 0,null,function*(){let{address:m,algo:C,pubkey:I}=yield g(p);return {address:encoding.fromBech32(m).data,algo:C,bech32Address:m,name:"",pubKey:I,isKeystone:!1,isNanoLedger:!1}}),h=(...p)=>l(void 0,null,function*(){var L,V;let[m,C,I]=p,{accounts:O,wcSignClient:_}=S.getState();if(!_)throw new Error("walletConnect.signClient is not defined");if(!O)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(!I.bodyBytes)throw new Error("No bodyBytes");if(!I.authInfoBytes)throw new Error("No authInfoBytes");let H={topic:j,chainId:`cosmos:${m}`,request:{method:"cosmos_signDirect",params:{signerAddress:C,signDoc:P(b({},I),{bodyBytes:Buffer.from(I.bodyBytes).toString(t),authInfoBytes:Buffer.from(I.authInfoBytes).toString(t),accountNumber:(V=I.accountNumber)==null?void 0:V.toString()})}}};return n(),yield _.request(H)}),w=(...p)=>l(void 0,null,function*(){let[m,C,I]=p,{signature:O,signed:_}=yield h(m,C,I);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:O}}),T=(...p)=>l(void 0,null,function*(){var L;let[m,C,I,O]=p,{wcSignClient:_}=S.getState(),{accounts:j}=S.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:C,signDoc:I}}})}),W=(...p)=>l(void 0,null,function*(){let[m,C,I,O]=p;return yield T(m,C,I)}),D=p=>({getAccounts:()=>l(void 0,null,function*(){return [yield g(p)]}),signDirect:(m,C)=>w(p,m,C)}),y=p=>({getAccounts:()=>l(void 0,null,function*(){return [yield g(p)]}),signAmino:(m,C)=>W(p,m,C)});return {enable:f,experimentalSuggestChain:(...p)=>l(void 0,null,function*(){yield Promise.reject(new Error("WalletConnect does not support experimentalSuggestChain"));}),getKey:E,getOfflineSigner:p=>({getAccounts:()=>l(void 0,null,function*(){return [yield g(p)]}),signDirect:(m,C)=>w(p,m,C),signAmino:(m,C)=>W(p,m,C)}),getOfflineSignerAuto:p=>l(void 0,null,function*(){return (yield E(p)).isNanoLedger?y(p):D(p)}),getOfflineSignerOnlyAmino:y,signAmino:W,signDirect:w,subscription:d,init:a}};var He=()=>{var t,n,i;if(!((i=(n=(t=u.getState().walletConnect)==null?void 0:t.options)==null?void 0:n.projectId)!=null&&i.trim()))throw new Error("walletConnect.options.projectId is not defined");if(!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:(o,r,c)=>`${o.replaceAll("/","").replaceAll(":","")}://wc?${r}`};return z(e)};var Ve=()=>{var t,n,i;if(!((i=(n=(t=u.getState().walletConnect)==null?void 0:t.options)==null?void 0:n.projectId)!=null&&i.trim()))throw new Error("walletConnect.options.projectId is not defined");if(!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:(o,r,c)=>{let s=o.replaceAll("/","").replaceAll(":",""),a=encodeURIComponent(r);switch(c){case"ios":return `${s}://wcV2?${a}`;case"android":return `${s}://wcV2?${a}#Intent;package=com.chainapsis.keplr;scheme=keplrwallet;end;`;default:return `${s}://wc?uri=${a}`}}};return z(e)};var Ye=()=>{var t,n,i;if(!((i=(n=(t=u.getState().walletConnect)==null?void 0:t.options)==null?void 0:n.projectId)!=null&&i.trim()))throw new Error("walletConnect.options.projectId is not defined");if(!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:(o,r,c)=>{let s=o.replaceAll("/","").replaceAll(":",""),a=encodeURIComponent(r);switch(c){case"ios":return `${s}://wcV2?${a}`;case"android":return `${s}://wcV2?${a}#Intent;package=io.leapwallet.cosmos;scheme=leapwallet;end;`;default:return `${s}://wc?uri=${a}`}}};return z(e)};var B=(e=u.getState().walletType)=>{try{return v(e),!0}catch(t){return !1}},U=()=>{window.sessionStorage.removeItem(J),S.setState(X);},v=(e=u.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:i,walletType:o}=u.getState(),r=(e==null?void 0:e.walletType)||o;if(!B(r))throw new Error(`${r} is not available`);let s=v(r),a=typeof(e==null?void 0:e.chainId)=="string"?[e.chainId]:(e==null?void 0:e.chainId)||n;if(!a)throw new Error("No last known connected chain, connect action requires chain ids");let d=i==null?void 0:i.map(h=>h.chainId);a.forEach(h=>{if(!(d!=null&&d.includes(h)))throw new Error(`Chain ${h} is not provided in GrazProvider`)}),S.setState(h=>{let w=u.getState()._reconnect||!!u.getState()._reconnectConnector||!!a;return h.activeChainIds&&a.filter(W=>{var D;return !((D=h.activeChainIds)!=null&&D.includes(W))}).length>0?{status:"connecting"}:w?{status:"reconnecting"}:{status:"connecting"}});let{accounts:f}=S.getState();if(yield (t=s.init)==null?void 0:t.call(s),yield s.enable(a),!Je(r)){let h=yield s.getKey(a[0]),w={};a.forEach(T=>{w[T]=P(b({},h),{bech32Address:encoding.toBech32(i.find(W=>W.chainId===T).bech32Config.bech32PrefixAccAddr,encoding.fromBech32(h.bech32Address).data)});}),S.setState(T=>({accounts:b(b({},T.accounts||{}),w)}));}u.setState(h=>({recentChainIds:[...h.recentChainIds||[],...a].filter((w,T,W)=>W.indexOf(w)===T)})),S.setState(h=>({activeChainIds:[...h.activeChainIds||[],...a].filter((w,T,W)=>W.indexOf(w)===T)})),u.setState({walletType:r,_reconnect:!!(e!=null&&e.autoReconnect),_reconnectConnector:r}),S.setState({status:"connected"}),typeof window!="undefined"&&window.sessionStorage.setItem(J,"Active");let g=a.map(h=>i.find(w=>w.chainId===h));return {accounts:S.getState().accounts,walletType:r,chains:g}}catch(n){throw console.error("connect ",n),S.getState().accounts===null&&S.setState({status:"disconnected"}),S.getState().accounts&&S.getState().activeChainIds&&S.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=S.getState().accounts;t.forEach(o=>{n==null||delete n[o];}),Object.values(n||{}).length===0?(S.setState(X),u.setState({_reconnect:!1,_reconnectConnector:null,recentChainIds:null})):(S.setState(o=>{var r;return {activeChainIds:(r=o.activeChainIds)==null?void 0:r.filter(c=>!t.includes(c)),accounts:n}}),u.setState(o=>{var r;return {recentChainIds:(r=o.recentChainIds)==null?void 0:r.filter(c=>!t.includes(c))}}));}else S.setState(X),u.setState({_reconnect:!1,_reconnectConnector:null,recentChainIds:null});return Promise.resolve()},Q=e=>l(void 0,null,function*(){var o;let{recentChainIds:t,_reconnectConnector:n,_reconnect:i}=u.getState();try{let r=B(n||void 0);if(t&&r&&n)return yield Z({chainId:t,walletType:n,autoReconnect:i})}catch(r){(o=e==null?void 0:e.onError)==null||o.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}=u.getState(),n=e.walletType||t;if(!B(n))throw new Error(`${n} is not available`);let o=v(n),r=o.getOfflineSigner(e.chainId),c=o.getOfflineSignerOnlyAmino(e.chainId),s=yield o.getOfflineSignerAuto(e.chainId);return {offlineSigner:r,offlineSignerAmino:c,offlineSignerAuto:s}});var Ae=()=>{u.setState({recentChainIds:null});},zo=()=>u.getState().recentChainIds,Qo=()=>{var n;let{recentChainIds:e,chains:t}=u.getState();return (n=e==null?void 0:e.map(i=>t.find(o=>o.chainId===i)))!=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 i;let t=u.getState().walletType;return yield Ie({chainInfo:e.chainInfo,walletType:(i=e.walletType)!=null?i:t}),yield Z({chainId:e.chainInfo.chainId,walletType:e.walletType,autoReconnect:e.autoReconnect})});var et=e=>(u.setState(t=>({walletConnect:e.walletConnect||t.walletConnect,walletType:e.defaultWallet||t.walletType,chains:e.chains,chainsConfig:e.chainsConfig||t.chainsConfig,multiChainFetchConcurrency:e.multiChainFetchConcurrency||t.multiChainFetchConcurrency,_notFoundFn:e.onNotFound||t._notFoundFn,_onReconnectFailed:e.onReconnectFailed||t._onReconnectFailed,_reconnect:e.autoReconnect===void 0?!0:e.autoReconnect||t._reconnect})),e);var tt=c=>l(void 0,[c],function*({signingClient:e,senderAddress:t,recipientAddress:n,amount:i,fee:o,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,i,o,r)}),nt=f=>l(void 0,[f],function*({signingClient:e,senderAddress:t,recipientAddress:n,transferAmount:i,sourcePort:o,sourceChannel:r,timeoutHeight:c,timeoutTimestamp:s,fee:a,memo:d}){if(!e)throw new Error("Stargate signing client is not ready");if(!t)throw new Error("senderAddress is not defined");return e.sendIbcTokens(t,n,i,o,r,c,s,a,d)}),ot=s=>l(void 0,[s],function*({signingClient:e,senderAddress:t,msg:n,fee:i,options:o,label:r,codeId:c}){if(!e)throw new Error("CosmWasm signing client is not ready");return e.instantiate(t,c,n,r,i,o)}),it=s=>l(void 0,[s],function*({signingClient:e,senderAddress:t,msg:n,fee:i,contractAddress:o,funds:r,memo:c}){if(!e)throw new Error("CosmWasm signing client is not ready");return e.execute(t,o,n,i,c,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 i=new TextEncoder().encode(t);return n.queryContractRaw(e,i)};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,c){return l(this,arguments,function*(e,t,{concurrency:n=Number.POSITIVE_INFINITY,stopOnError:i=!0,signal:o}={}){return new Promise((s,a)=>{if(e[Symbol.iterator]===void 0&&e[Symbol.asyncIterator]===void 0)throw new TypeError(`Expected \`input\` to be either an \`Iterable\` or \`AsyncIterable\`, got (${typeof e})`);if(typeof t!="function")throw new TypeError("Mapper function is required");if(!((Number.isSafeInteger(n)||n===Number.POSITIVE_INFINITY)&&n>=1))throw new TypeError(`Expected \`concurrency\` to be an integer from 1 and up or \`Infinity\`, got \`${n}\` (${typeof n})`);let d=[],f=[],g=new Map,E=!1,h=!1,w=!1,T=0,W=0,D=e[Symbol.iterator]===void 0?e[Symbol.asyncIterator]():e[Symbol.iterator](),y=M=>{E=!0,h=!0,a(M);};o&&(o.aborted&&y(ct(o)),o.addEventListener("abort",()=>{y(ct(o));}));let A=()=>l(this,null,function*(){if(h)return;let M=yield D.next(),R=W;if(W++,M.done){if(w=!0,T===0&&!h){if(!i&&f.length>0){y(new AggregateError(f));return}if(h=!0,g.size===0){s(d);return}let k=[];for(let[N,ee]of d.entries())g.get(N)!==lt&&k.push(ee);s(k);}return}T++,l(this,null,function*(){try{let k=yield M.value;if(h)return;let N=yield t(k,R);N===lt&&g.set(R,N),d[R]=N,T--,yield A();}catch(k){if(i)y(k);else {f.push(k),T--;try{yield A();}catch(N){y(N);}}}});});l(this,null,function*(){for(let M=0;M<n;M++){try{yield A();}catch(R){y(R);break}if(w||E)break}});})})}var lt=Symbol("skip");var K=({chainId:e,multiChain:t})=>{let n=u(o=>o.chains);if(!n)throw new Error("No chains found in GrazProvider");let i=typeof e=="string"?[e]:e;switch(!0){case(!!t&&!!i):return i.map(o=>n.find(r=>r.chainId===o)).filter(Boolean);case(!t&&!!i):return [i.map(o=>n.find(r=>r.chainId===o)).filter(Boolean)[0]];case(!!t&&!i):return n;default:return [n[0]]}},q=(e,t,n)=>l(void 0,null,function*(){let i=u.getState().multiChainFetchConcurrency;if(e){let r=yield Te(t,n,{concurrency:i});return Object.fromEntries(r.map((c,s)=>[t[s].chainId,c]))}return yield n(t[0])}),ut=(e,t,n)=>{if(e){let o=t.map(n);return Object.fromEntries(o.map((r,c)=>[t[c].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:o=>l(void 0,[o],function*({queryKey:[,i]}){if(i.length<1)throw new Error("No chains found");return yield q(!!(e!=null&&e.multiChain),i,c=>l(void 0,null,function*(){var f;let s=(f=u.getState().chainsConfig)==null?void 0:f[c.chainId],a={url:c.rpc,headers:b({},(s==null?void 0:s.rpcHeaders)||{})};return yield stargate.StargateClient.connect(a)}))}),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:o=>l(void 0,[o],function*({queryKey:[,i]}){if(i.length<1)throw new Error("No chains found");return yield q(!!(e!=null&&e.multiChain),i,c=>l(void 0,null,function*(){var f;let s=(f=u.getState().chainsConfig)==null?void 0:f[c.chainId],a={url:c.rpc,headers:b({},(s==null?void 0:s.rpcHeaders)||{})};return yield cosmwasmStargate.CosmWasmClient.connect(a)}))}),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:i})=>{let o=K({chainId:t,multiChain:n}),r=react.useMemo(()=>["USE_TENDERMINT_CLIENT",e,o],[e,o]);return reactQuery.useQuery({queryKey:r,queryFn:a=>l(void 0,[a],function*({queryKey:[,c,s]}){if(s.length<1)throw new Error("No chains found");return yield q(!!n,s,f=>l(void 0,null,function*(){var T;let g=(T=u.getState().chainsConfig)==null?void 0:T[f.chainId],E={url:f.rpc,headers:b({},(g==null?void 0:g.rpcHeaders)||{})};return yield (c==="tm37"?tendermintRpc.Tendermint37Client:tendermintRpc.Tendermint34Client).connect(E)}))}),enabled:!!o&&o.length>0&&(i!==void 0?!!i:!0),refetchOnWindowFocus:!1})};var Wi=()=>u(e=>({walletType:e.walletType,isCosmostation:e.walletType==="cosmostation",isCosmostationMobile:e.walletType==="wc_cosmostation_mobile",isKeplr:e.walletType==="keplr",isKeplrMobile:e.walletType==="wc_keplr_mobile",isLeap:e.walletType==="leap",isLeapMobile:e.walletType==="wc_leap_mobile",isVectis:e.walletType==="vectis",isWalletConnect:e.walletType==="walletconnect",isMetamaskSnapLeap:e.walletType==="metamask_snap_leap"}),shallow.shallow),de=e=>{let n=["USE_CHECK_WALLET",u(o=>e||o.walletType)];return reactQuery.useQuery(n,({queryKey:[,o]})=>B(o))};var $=e=>{let t=u(s=>s.walletType),n=S(s=>s.activeChainIds),i=K({chainId:e!=null&&e.chainId?e.chainId:n||void 0,multiChain:e==null?void 0:e.multiChain}),o=S(s=>s.accounts),r=S(s=>s.status);return react.useEffect(()=>S.subscribe(s=>s.status,(s,a)=>{var d,f,g;if(s==="connected"){let{accounts:E,activeChainIds:h}=S.getState(),{chains:w}=u.getState(),{walletType:T}=u.getState();if(!E||!h||!w)return (d=e==null?void 0:e.onDisconnect)==null?void 0:d.call(e);(f=e==null?void 0:e.onConnect)==null||f.call(e,{accounts:E,chains:h.map(W=>w.find(D=>D.chainId===W)),walletType:T,isReconnect:a==="reconnecting"});}s==="disconnected"&&((g=e==null?void 0:e.onDisconnect)==null||g.call(e));}),[e]),{data:react.useMemo(()=>o?ut(!!(e!=null&&e.multiChain),i,s=>o[s.chainId]):void 0,[o,i,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}=$(),i=(e==null?void 0:e.bech32Address)||(n==null?void 0:n.bech32Address),{data:o}=Me({chainId:t.map(c=>c.chainId),multiChain:!0,enabled:((e==null?void 0:e.enabled)===void 0?!0:e.enabled)&&!!i}),r=react.useMemo(()=>["USE_ALL_BALANCES",o,t,i,e==null?void 0:e.chainId],[i,e==null?void 0:e.chainId,t,o]);return reactQuery.useQuery(r,d=>l(void 0,[d],function*({queryKey:[,c,s,a]}){if(!a)throw new Error("address is not defined");return yield q(!!(e!=null&&e.multiChain),s,g=>l(void 0,null,function*(){let E=c==null?void 0:c[g.chainId];if(!E)throw new Error(`Client is not ready ${g.chainId}`);return yield E.getAllBalances(encoding.toBech32(g.bech32Config.bech32PrefixAccAddr,encoding.fromBech32(a).data))}))}),{enabled:!!i&&!!t&&t.length>0&&!le(o)&&((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}),i=e.bech32Address||(n==null?void 0:n.bech32Address),{data:o,refetch:r}=$t({chainId:t.map(a=>a.chainId),bech32Address:i,enabled:!!i&&(e.enabled===void 0?!0:e.enabled)}),c=["USE_BALANCE",e.denom,o,t,i,e.chainId],s=reactQuery.useQuery(c,({queryKey:[,a,d]})=>d==null?void 0:d.find(f=>f.denom===a),{enabled:!!o&&!!(o!=null&&o.length)&&(e.enabled===void 0?!0:e.enabled)});return P(b({},s),{refetch:a=>l(void 0,null,function*(){return yield r(),s.refetch(a)})})},Fi=({onError:e,onLoading:t,onSuccess:n}={})=>{let o=reactQuery.useMutation(["USE_CONNECT",e,t,n],Z,{onError:(c,s)=>Promise.resolve(e==null?void 0:e(c,s)),onMutate:t,onSuccess:c=>Promise.resolve(n==null?void 0:n(c))}),{data:r}=de();return {connect:c=>o.mutate(c),connectAsync:c=>o.mutateAsync(c),error:o.error,isLoading:o.isLoading,isSuccess:o.isSuccess,isSupported:!!r,status:o.status}},zi=({onError:e,onLoading:t,onSuccess:n}={})=>{let o=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=>o.mutate(r),disconnectAsync:r=>o.mutateAsync(r),error:o.error,isLoading:o.isLoading,isSuccess:o.isSuccess,status:o.status}},Qi=e=>{let t=K({chainId:e==null?void 0:e.chainId,multiChain:e==null?void 0:e.multiChain}),n=u(o=>o.walletType),i=react.useMemo(()=>["USE_OFFLINE_SIGNERS",t,n],[t,n]);return reactQuery.useQuery({queryKey:i,queryFn:c=>l(void 0,[c],function*({queryKey:[,o,r]}){if(o.length<1)throw new Error("No chain found");if(!B(r))throw new Error(`${r} is not available`);return yield q(!!(e!=null&&e.multiChain),o,d=>l(void 0,null,function*(){return yield Xe({chainId:d.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:i}=Me({chainId:t.map(c=>c.chainId),multiChain:!0}),o=(e==null?void 0:e.bech32Address)||(n==null?void 0:n.bech32Address),r=react.useMemo(()=>["USE_BALANCE_STAKED",i,t,o],[t,o,i]);return reactQuery.useQuery(r,d=>l(void 0,[d],function*({queryKey:[,c,s,a]}){if(!a)throw new Error("address is not defined");return yield q(!!(e!=null&&e.multiChain),s,g=>l(void 0,null,function*(){var h;if(!c)throw new Error("Client is not ready");return yield (h=c[g.chainId])==null?void 0:h.getBalanceStaked(encoding.toBech32(g.bech32Config.bech32PrefixAccAddr,encoding.fromBech32(a).data))}))}),{enabled:!!o&&!!t&&t.length>0&&!!i,refetchOnMount:!1,refetchOnReconnect:!0,refetchOnWindowFocus:!1})};var er=()=>S(e=>e.activeChainIds),Ht=()=>{var e;return (e=S(t=>t.activeChainIds))==null?void 0:e.map(t=>{var i;let n=(i=u.getState().chains)==null?void 0:i.find(o=>o.chainId===t);if(n)return n}).filter(Boolean)},tr=({denom:e})=>{let t=Ht();return reactQuery.useQuery(["USE_ACTIVE_CHAIN_CURRENCY",e],({queryKey:[,o]})=>{var r;return (r=t==null?void 0:t.find(c=>c.currencies.find(s=>s.coinMinimalDenom===o)))==null?void 0:r.currencies.find(c=>c)})},nr=e=>{var o;let t=(o=e.status)!=null?o:"BOND_STATUS_BONDED",n=["USE_ACTIVE_CHAIN_VALIDATORS",e.queryClient,t];return reactQuery.useQuery(n,s=>l(void 0,[s],function*({queryKey:[,r,c]}){if(!r)throw new Error("Query client is not defined");return yield r.staking.validators(c)}),{enabled:typeof e.queryClient!="undefined"})},or=()=>({data:u(t=>t.recentChainIds),clear:Ae}),ir=()=>{var t;return {data:(t=u(n=>n.recentChainIds))==null?void 0:t.map(n=>{var o;let i=(o=u.getState().chains)==null?void 0:o.find(r=>r.chainId===n);if(i)return i}).filter(Boolean),clear:Ae}},rr=({onError:e,onLoading:t,onSuccess:n}={})=>{let o=reactQuery.useMutation(["USE_SUGGEST_CHAIN",e,t,n],Ie,{onError:(r,c)=>Promise.resolve(e==null?void 0:e(r,c.chainInfo)),onMutate:r=>t==null?void 0:t(r.chainInfo),onSuccess:r=>Promise.resolve(n==null?void 0:n(r))});return {error:o.error,isLoading:o.isLoading,isSuccess:o.isSuccess,suggest:o.mutate,suggestAsync:o.mutateAsync,status:o.status}},sr=({onError:e,onLoading:t,onSuccess:n}={})=>{let o=reactQuery.useMutation(["USE_SUGGEST_CHAIN_AND_CONNECT",e,t,n],Ze,{onError:(c,s)=>Promise.resolve(e==null?void 0:e(c,s)),onMutate:c=>t==null?void 0:t(c),onSuccess:c=>Promise.resolve(n==null?void 0:n(c))}),{data:r}=de();return {error:o.error,isLoading:o.isLoading,isSuccess:o.isSuccess,isSupported:!!r,status:o.status,suggestAndConnect:o.mutate,suggestAndConnectAsync:o.mutateAsync}};var fr=({onError:e,onLoading:t,onSuccess:n}={})=>{let{data:i}=$(),o=i==null?void 0:i.bech32Address,r=reactQuery.useMutation(["USE_SEND_TOKENS",e,t,n,o],c=>tt(b({senderAddress:o},c)),{onError:(c,s)=>Promise.resolve(e==null?void 0:e(c,s)),onMutate:t,onSuccess:c=>Promise.resolve(n==null?void 0:n(c))});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:i}=$(),o=i==null?void 0:i.bech32Address,r=reactQuery.useMutation(["USE_SEND_IBC_TOKENS",e,t,n,o],c=>nt(b({senderAddress:o},c)),{onError:(c,s)=>Promise.resolve(e==null?void 0:e(c,s)),onMutate:t,onSuccess:c=>Promise.resolve(n==null?void 0:n(c))});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:i})=>{let{data:o}=$(),r=o==null?void 0:o.bech32Address,s=reactQuery.useMutation(["USE_INSTANTIATE_CONTRACT",t,n,i,e,r],a=>{var f;if(!r)throw new Error("senderAddress is undefined");let d=P(b({},a),{fee:(f=a.fee)!=null?f:"auto",senderAddress:r,codeId:e});return ot(d)},{onError:(a,d)=>Promise.resolve(t==null?void 0:t(a,d)),onMutate:n,onSuccess:a=>Promise.resolve(i==null?void 0:i(a))});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:i})=>{let{data:o}=$(),r=o==null?void 0:o.bech32Address,s=reactQuery.useMutation(["USE_EXECUTE_CONTRACT",t,n,i,e,r],a=>{var f,g,E;if(!r)throw new Error("senderAddress is undefined");let d=P(b({},a),{fee:(f=a.fee)!=null?f:"auto",senderAddress:r,contractAddress:e,memo:(g=a.memo)!=null?g:"",funds:(E=a.funds)!=null?E:[]});return it(d)},{onError:(a,d)=>Promise.resolve(t==null?void 0:t(a,d)),onMutate:n,onSuccess:a=>Promise.resolve(i==null?void 0:i(a))});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:[,i]})=>{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:[,o]})=>{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=u(o=>o.walletType),i=react.useMemo(()=>["USE_STARGATE_SIGNING_CLIENT",t,n,e],[e,t,n]);return reactQuery.useQuery({queryKey:i,queryFn:c=>l(this,[c],function*({queryKey:[,o,r]}){if(o.length<1)throw new Error("No chains found");return yield q(!!(e!=null&&e.multiChain),o,a=>l(this,null,function*(){var w,T;if(!B(r))throw new Error(`${r} is not available`);let f=yield (()=>l(this,null,function*(){switch(e==null?void 0:e.offlineSigner){case"offlineSigner":return v(r).getOfflineSigner(a.chainId);case"offlineSignerAuto":return v(r).getOfflineSignerAuto(a.chainId);case"offlineSignerOnlyAmino":return v(r).getOfflineSignerOnlyAmino(a.chainId);default:return v(r).getOfflineSignerAuto(a.chainId)}}))(),g=(w=u.getState().chainsConfig)==null?void 0:w[a.chainId],E={url:a.rpc,headers:b({},(g==null?void 0:g.rpcHeaders)||{})};return (e==null?void 0:e.multiChain)===!0&&e.opts,yield stargate.SigningStargateClient.connectWithSigner(E,f,e!=null&&e.multiChain?(T=e.opts)==null?void 0:T[a.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=u(o=>o.walletType),i=react.useMemo(()=>["USE_COSMWASM_SIGNING_CLIENT",t,n,e],[e,t,n]);return reactQuery.useQuery({queryKey:i,queryFn:c=>l(this,[c],function*({queryKey:[,o,r]}){if(o.length<1)throw new Error("No chains found");return yield q(!!(e!=null&&e.multiChain),o,a=>l(this,null,function*(){var T,W;if(!B(r))throw new Error(`${r} is not available`);let f=yield (()=>l(this,null,function*(){switch(e==null?void 0:e.offlineSigner){case"offlineSigner":return v(r).getOfflineSigner(a.chainId);case"offlineSignerAuto":return v(r).getOfflineSignerAuto(a.chainId);case"offlineSignerOnlyAmino":return v(r).getOfflineSignerOnlyAmino(a.chainId);default:return v(r).getOfflineSignerAuto(a.chainId)}}))(),g=(T=u.getState().chainsConfig)==null?void 0:T[a.chainId],E={url:a.rpc,headers:b({},(g==null?void 0:g.rpcHeaders)||{})},h=g!=null&&g.gas?stargate.GasPrice.fromString(`${g.gas.price}${g.gas.denom}`):void 0;return yield cosmwasmStargate.SigningCosmWasmClient.connectWithSigner(E,f,b({gasPrice:h},e!=null&&e.multiChain?(W=e.opts)==null?void 0:W[a.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=u(r=>r.walletType),i=react.useMemo(()=>["USE_STARGATE_TM_SIGNING_CLIENT",t,n,e],[e,t,n]),{data:o}=ue({type:e.type,chainId:e.chainId,multiChain:e.multiChain});return reactQuery.useQuery({queryKey:i,queryFn:s=>l(this,[s],function*({queryKey:[,r,c]}){if(r.length<1)throw new Error("No chains found");return yield q(!!e.multiChain,r,d=>l(this,null,function*(){var w;if(!B(c))throw new Error(`${c} is not available`);if(!o)throw new Error("No tendermint client found");let g=yield (()=>l(this,null,function*(){switch(e.offlineSigner){case"offlineSigner":return v(c).getOfflineSigner(d.chainId);case"offlineSignerAuto":return v(c).getOfflineSignerAuto(d.chainId);case"offlineSignerOnlyAmino":return v(c).getOfflineSignerOnlyAmino(d.chainId);default:return v(c).getOfflineSignerAuto(d.chainId)}}))(),E=e.multiChain?o[d.chainId]:o;return yield stargate.SigningStargateClient.createWithSigner(E,g,e.multiChain?(w=e.opts)==null?void 0:w[d.chainId]:e.opts)}))}),enabled:!!t&&t.length>0&&!!n&&!!o&&(e.enabled!==void 0?!!e.enabled:!0),refetchOnWindowFocus:!1})}function Br(e){let t=K({chainId:e.chainId,multiChain:e.multiChain}),n=u(c=>c.walletType),i=react.useMemo(()=>["USE_COSMWASM_TM_SIGNING_CLIENT",t,n,e],[e,t,n]),{data:o}=ue({type:e.type,chainId:e.chainId,multiChain:!1,enabled:!e.multiChain}),{data:r}=ue({type:e.type,chainId:e.chainId,multiChain:!0,enabled:!!e.multiChain});return reactQuery.useQuery({queryKey:i,queryFn:a=>l(this,[a],function*({queryKey:[,c,s]}){if(c.length<1)throw new Error("No chains found");return yield q(!!e.multiChain,c,f=>l(this,null,function*(){var D,y;if(!B(s))throw new Error(`${s} is not available`);let E=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)}}))(),h=(D=u.getState().chainsConfig)==null?void 0:D[f.chainId],w=h!=null&&h.gas?stargate.GasPrice.fromString(`${h.gas.price}${h.gas.denom}`):void 0,T=e.multiChain?r==null?void 0:r[f.chainId]:o;if(!T)throw new Error("No tendermint client found");return yield cosmwasmStargate.SigningCosmWasmClient.createWithSigner(T,E,b({gasPrice:w},e.multiChain?(y=e.opts)==null?void 0:y[f.chainId]:e.opts||{}))}))}),enabled:!!t&&t.length>0&&!!n&&(!!o||!le(r))&&(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:i}=u(),{activeChainIds:o,wcSignClient:r}=S(),c=B(i||void 0);return react.useEffect(()=>{if(i){if(!c)return;e&&o?Q({onError:n}):!e&&t&&Q({onError:n});}},[c]),react.useEffect(()=>{var s,a,d,f,g,E,h,w,T,W;if(i){if(!c)return;i==="cosmostation"&&((a=(s=re()).subscription)==null||a.call(s,()=>{Q({onError:n});})),i==="keplr"&&((f=(d=se()).subscription)==null||f.call(d,()=>{Q({onError:n});})),i==="leap"&&((E=(g=ae()).subscription)==null||E.call(g,()=>{Q({onError:n});})),i==="vectis"&&((w=(h=ce()).subscription)==null||w.call(h,()=>{Q({onError:n});})),i==="walletconnect"&&r&&((W=(T=z()).subscription)==null||W.call(T,()=>{Q({onError:n});}));}},[i,r,c]),null},It=()=>(Zt(),null);var nn=new reactQuery.QueryClient({}),rs=i=>{var o=i,{children:e,grazOptions:t}=o,n=_e(o,["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 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")};
22
22
 
23
23
  exports.GrazEvents = It;
24
24
  exports.GrazProvider = rs;
package/dist/index.mjs CHANGED
@@ -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 i in e)Be.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(e!=null&&re)for(var i of re(e))t.indexOf(i)<0&&_e.call(e,i)&&(n[i]=e[i]);return n};var l=(e,t,n)=>new Promise((i,o)=>{var r=a=>{try{s(n.next(a));}catch(d){o(d);}},c=a=>{try{s(n.throw(a));}catch(d){o(d);}},s=a=>a.done?i(a.value):Promise.resolve(a.value).then(r,c);s((n=n.apply(e,t)).next());});var X="graz-reconnect-session";var Ke=(d=>(d.KEPLR="keplr",d.LEAP="leap",d.VECTIS="vectis",d.COSMOSTATION="cosmostation",d.WALLETCONNECT="walletconnect",d.WC_KEPLR_MOBILE="wc_keplr_mobile",d.WC_LEAP_MOBILE="wc_leap_mobile",d.WC_COSMOSTATION_MOBILE="wc_cosmostation_mobile",d.METAMASK_SNAP_LEAP="metamask_snap_leap",d))(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},S=create(subscribeWithSelector(persist(()=>Z,Rt))),u=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:i=>(window.cosmostation.cosmos.on("accountChanged",()=>{q(),i();}),()=>{window.cosmostation.cosmos.off("accountChanged",()=>{q(),i();});})})}throw u.getState()._notFoundFn(),new Error("window.cosmostation.providers.keplr is not defined")};var ae=()=>{if(typeof window.keplr!="undefined"){let e=window.keplr;return Object.assign(e,{subscription:i=>(window.addEventListener("keplr_keystorechange",()=>{q(),i();}),()=>{window.removeEventListener("keplr_keystorechange",()=>{q(),i();});})})}throw u.getState()._notFoundFn(),new Error("window.keplr is not defined")};var ce=()=>{if(typeof window.leap!="undefined"){let e=window.leap;return Object.assign(e,{subscription:i=>(window.addEventListener("leap_keystorechange",()=>{q(),i();}),()=>{window.removeEventListener("leap_keystorechange",()=>{q(),i();});})})}throw u.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"})}),i=y=>l(void 0,null,function*(){try{let A=yield n();return Object.values(A).find(O=>O.id===e.id&&(!y||O.version===y))}catch(A){return}}),o=()=>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 y=yield t.request({method:"web3_clientVersion"});if(!y.includes("MetaMask"))throw new Error("Metamask is not installed");let O=(B=y.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 i())||(yield o()),!0}),c=y=>l(void 0,null,function*(){(yield i())||(yield o());}),s=(y,A,O)=>l(void 0,null,function*(){let k=yield t.request({method:"wallet_invokeSnap",params:{snapId:e.id,request:{method:"signDirect",params:{chainId:y,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))})}}),a=(y,A,O)=>l(void 0,null,function*(){return yield t.request({method:"wallet_invokeSnap",params:{snapId:e.id,request:{method:"signAmino",params:{chainId:y,signerAddress:A,signDoc:O}}}})}),d=y=>l(void 0,null,function*(){let A=yield t.request({method:"wallet_invokeSnap",params:{snapId:e.id,request:{method:"getKey",params:{chainId:y}}}});if(!A)throw new Error("No response from Metamask");return A.pubKey=Uint8Array.from(Object.values(A.pubkey)),delete A.pubkey,b({},A)}),f=y=>l(void 0,null,function*(){let A=yield d(y);return {address:A.bech32Address,algo:A.algo,pubkey:A.pubKey}}),g=(...y)=>l(void 0,null,function*(){let[A,O,k,P]=y;return yield a(A,O,k)}),E=(...y)=>l(void 0,null,function*(){let[A,O,k]=y;return yield s(A,O,k)}),h=y=>({getAccounts:()=>l(void 0,null,function*(){return [yield f(y)]}),signDirect:(A,O)=>E(y,A,O)}),w=y=>({getAccounts:()=>l(void 0,null,function*(){return [yield f(y)]}),signAmino:(A,O)=>g(y,A,O)});return {enable:c,experimentalSuggestChain:(...y)=>l(void 0,null,function*(){yield r(),yield t.request({method:"wallet_invokeSnap",params:{snapId:e.id,request:{method:"suggestChain",params:{chainInfo:y[0]}}}});}),getKey:d,getOfflineSigner:y=>({getAccounts:()=>l(void 0,null,function*(){return [yield f(y)]}),signDirect:(A,O)=>E(y,A,O),signAmino:(A,O)=>g(y,A,O)}),getOfflineSignerAuto:y=>l(void 0,null,function*(){return (yield d(y)).isNanoLedger?w(y):h(y)}),getOfflineSignerOnlyAmino:w,init:r,signAmino:g,signDirect:E}}throw u.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 a=yield e.getKey(s);return {address:fromBech32(a.address).data,algo:a.algo,bech32Address:a.address,name:a.name,pubKey:a.pubKey,isKeystone:!1,isNanoLedger:a.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[a]=s,d=N(b({},a),{rpcUrl:a.rpc,restUrl:a.rest,prettyName:a.chainName.replace(" ",""),bech32Prefix:a.bech32Config.bech32PrefixAccAddr});return e.suggestChains([d])}),signDirect:(...s)=>l(void 0,null,function*(){var f;let{1:a,2:d}=s;return e.signDirect(a,{bodyBytes:d.bodyBytes||Uint8Array.from([]),authInfoBytes:d.authInfoBytes||Uint8Array.from([]),accountNumber:Pt.fromString(((f=d.accountNumber)==null?void 0:f.toString())||"",!1),chainId:d.chainId||""})}),signAmino:(...s)=>l(void 0,null,function*(){let{1:a,2:d}=s;return e.signAmino(a,d)})}}throw u.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 i=new Promise((o,r)=>{setTimeout(()=>{r(n);},t);});return Promise.race([e,i])};var Q=e=>{var P,B,te;if(!((te=(B=(P=u.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:C}=e;if(z()){if(Qe())if(!p)window.open(m.mobile.android,"_self","noreferrer noopener");else {let I=C(m.mobile.android,p,"android");window.open(I,"_self","noreferrer noopener");}if(je())if(!p)window.open(m.mobile.ios,"_self","noreferrer noopener");else {let I=C(m.mobile.ios,p,"ios");window.open(I,"_self","noreferrer noopener");}}},i=()=>{let{wcSignClient:p}=S.getState();if(!p)throw new Error("walletConnect.signClient is not defined");q(),u.setState({_reconnect:!1,_reconnectConnector:null,recentChainIds:null});},o=p=>l(void 0,null,function*(){let{wcSignClient:m}=S.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),i();}),r=p=>{try{let{wcSignClient:m}=S.getState();if(!m)throw new Error("walletConnect.signClient is not defined");let C=m.session.getAll().at(-1);if(!C)return;if(!(C.expiry*1e3>Date.now()+1e3))throw o(C.topic),new Error("invalid session");try{let W=m.find({requiredNamespaces:{cosmos:{methods:["cosmos_getAccounts","cosmos_signAmino","cosmos_signDirect"],chains:p.map(L=>`cosmos:${L}`),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 C}catch(m){if(!m.message.toLowerCase().includes("no matching key"))throw m}},c=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(C=>l(void 0,null,function*(){yield p.core.pairing.pairings.delete(C.topic,{code:7001,message:"clear pairing"});})));}catch(m){if(!m.message.toLowerCase().includes("no matching key"))throw m}}),a=()=>l(void 0,null,function*(){let{walletConnect:p}=u.getState();if(!(p!=null&&p.options))throw new Error("walletConnect.options is not defined");let{wcSignClient:m}=S.getState();if(m)return S.setState({wcSignClient:m}),m;let C=yield SignClient.init(p.options);return S.setState({wcSignClient:C}),C}),d=p=>{let{wcSignClient:m}=S.getState();if(m)return m.events.on("session_delete",C=>{i();}),m.events.on("session_expire",C=>{i();}),m.events.on("session_event",C=>{let I=S.getState().accounts;if(C.params.event.name==="accountsChanged"&&I&&!Object.values(I).map(W=>W.bech32Address).includes(C.params.event.data[0])){let W=C.params.chainId.split(":")[1];W&&f([W]);}else p();}),()=>{m.events.off("session_delete",C=>{i();}),m.events.off("session_expire",C=>{i();}),m.events.off("session_event",C=>{let I=S.getState().accounts;if(C.params.event.name==="accountsChanged"&&I&&!Object.values(I).map(W=>W.bech32Address).includes(C.params.event.data[0])){let W=C.params.chainId.split(":")[1];W&&f([W]);}else p();});}},f=p=>l(void 0,null,function*(){var ne;let m=typeof p=="string"?[p]:p,{wcSignClient:C}=S.getState();if(!C)throw new Error("enable walletConnect.signClient is not defined");let{walletConnect:I,chains:W}=u.getState();if(!((ne=I==null?void 0:I.options)!=null&&ne.projectId))throw new Error("walletConnect.options.projectId is not defined");let{Web3Modal:L}=yield import('@web3modal/standalone'),$=new L(b({projectId:I.options.projectId,walletConnectVersion:2,enableExplorer:!1,explorerRecommendedWalletIds:"NONE"},I.web3Modal)),V=c(m);if(!V){let{uri:K,approval:Y}=yield C.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(W.find(bt=>bt.chainId===ie).bech32Config.bech32PrefixAccAddr,fromBech32(Se[0].bech32Address).data)});}),S.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 E(m[0]),Y={};m.forEach(oe=>{Y[oe]=N(b({},K),{bech32Address:toBech32(W.find(F=>F.chainId===oe).bech32Config.bech32PrefixAccAddr,fromBech32(K.bech32Address).data)});}),S.setState({accounts:Y});}))(),15e3,new Error("Connection timeout"));}catch(K){if(o(V.topic),!K.message.toLowerCase().includes("no matching key"))throw K}}),g=p=>l(void 0,null,function*(){var W;let{wcSignClient:m}=S.getState();if(!m)throw new Error("walletConnect.signClient is not defined");let C=(W=r([p]))==null?void 0:W.topic;if(!C)throw new Error("No wallet connect session");n();let I=yield m.request({topic:C,chainId:`cosmos:${p}`,request:{method:"cosmos_getAccounts",params:{}}});if(!I[0])throw new Error("No wallet connect account");return {address:I[0].address,algo:I[0].algo,pubkey:new Uint8Array(Buffer.from(I[0].pubkey,t))}}),E=p=>l(void 0,null,function*(){let{address:m,algo:C,pubkey:I}=yield g(p);return {address:fromBech32(m).data,algo:C,bech32Address:m,name:"",pubKey:I,isKeystone:!1,isNanoLedger:!1}}),h=(...p)=>l(void 0,null,function*(){var K,Y;let[m,C,I]=p,{accounts:W,wcSignClient:L}=S.getState();if(!L)throw new Error("walletConnect.signClient is not defined");if(!W)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(!I.bodyBytes)throw new Error("No bodyBytes");if(!I.authInfoBytes)throw new Error("No authInfoBytes");let V={topic:$,chainId:`cosmos:${m}`,request:{method:"cosmos_signDirect",params:{signerAddress:C,signDoc:N(b({},I),{bodyBytes:Buffer.from(I.bodyBytes).toString(t),authInfoBytes:Buffer.from(I.authInfoBytes).toString(t),accountNumber:(Y=I.accountNumber)==null?void 0:Y.toString()})}}};return n(),yield L.request(V)}),w=(...p)=>l(void 0,null,function*(){let[m,C,I]=p,{signature:W,signed:L}=yield h(m,C,I);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:W}}),T=(...p)=>l(void 0,null,function*(){var K;let[m,C,I,W]=p,{wcSignClient:L}=S.getState(),{accounts:$}=S.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:C,signDoc:I}}})}),v=(...p)=>l(void 0,null,function*(){let[m,C,I,W]=p;return yield T(m,C,I)}),G=p=>({getAccounts:()=>l(void 0,null,function*(){return [yield g(p)]}),signDirect:(m,C)=>w(p,m,C)}),y=p=>({getAccounts:()=>l(void 0,null,function*(){return [yield g(p)]}),signAmino:(m,C)=>v(p,m,C)});return {enable:f,experimentalSuggestChain:(...p)=>l(void 0,null,function*(){yield Promise.reject(new Error("WalletConnect does not support experimentalSuggestChain"));}),getKey:E,getOfflineSigner:p=>({getAccounts:()=>l(void 0,null,function*(){return [yield g(p)]}),signDirect:(m,C)=>w(p,m,C),signAmino:(m,C)=>v(p,m,C)}),getOfflineSignerAuto:p=>l(void 0,null,function*(){return (yield E(p)).isNanoLedger?y(p):G(p)}),getOfflineSignerOnlyAmino:y,signAmino:v,signDirect:w,subscription:d,init:a}};var Ve=()=>{var t,n,i;if(!((i=(n=(t=u.getState().walletConnect)==null?void 0:t.options)==null?void 0:n.projectId)!=null&&i.trim()))throw new Error("walletConnect.options.projectId is not defined");if(!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:(o,r,c)=>`${o.replaceAll("/","").replaceAll(":","")}://wc?${r}`};return Q(e)};var Ye=()=>{var t,n,i;if(!((i=(n=(t=u.getState().walletConnect)==null?void 0:t.options)==null?void 0:n.projectId)!=null&&i.trim()))throw new Error("walletConnect.options.projectId is not defined");if(!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:(o,r,c)=>{let s=o.replaceAll("/","").replaceAll(":",""),a=encodeURIComponent(r);switch(c){case"ios":return `${s}://wcV2?${a}`;case"android":return `${s}://wcV2?${a}#Intent;package=com.chainapsis.keplr;scheme=keplrwallet;end;`;default:return `${s}://wc?uri=${a}`}}};return Q(e)};var Je=()=>{var t,n,i;if(!((i=(n=(t=u.getState().walletConnect)==null?void 0:t.options)==null?void 0:n.projectId)!=null&&i.trim()))throw new Error("walletConnect.options.projectId is not defined");if(!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:(o,r,c)=>{let s=o.replaceAll("/","").replaceAll(":",""),a=encodeURIComponent(r);switch(c){case"ios":return `${s}://wcV2?${a}`;case"android":return `${s}://wcV2?${a}#Intent;package=io.leapwallet.cosmos;scheme=leapwallet;end;`;default:return `${s}://wc?uri=${a}`}}};return Q(e)};var _=(e=u.getState().walletType)=>{try{return R(e),!0}catch(t){return !1}},q=()=>{window.sessionStorage.removeItem(X),S.setState(Z);},R=(e=u.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:i,walletType:o}=u.getState(),r=(e==null?void 0:e.walletType)||o;if(!_(r))throw new Error(`${r} is not available`);let s=R(r),a=typeof(e==null?void 0:e.chainId)=="string"?[e.chainId]:(e==null?void 0:e.chainId)||n;if(!a)throw new Error("No last known connected chain, connect action requires chain ids");let d=i==null?void 0:i.map(h=>h.chainId);a.forEach(h=>{if(!(d!=null&&d.includes(h)))throw new Error(`Chain ${h} is not provided in GrazProvider`)}),S.setState(h=>{let w=u.getState()._reconnect||!!u.getState()._reconnectConnector||!!a;return h.activeChainIds&&a.filter(v=>{var G;return !((G=h.activeChainIds)!=null&&G.includes(v))}).length>0?{status:"connecting"}:w?{status:"reconnecting"}:{status:"connecting"}});let{accounts:f}=S.getState();if(yield (t=s.init)==null?void 0:t.call(s),yield s.enable(a),!Xe(r)){let h=yield s.getKey(a[0]),w={};a.forEach(T=>{w[T]=N(b({},h),{bech32Address:toBech32(i.find(v=>v.chainId===T).bech32Config.bech32PrefixAccAddr,fromBech32(h.bech32Address).data)});}),S.setState(T=>({accounts:b(b({},T.accounts||{}),w)}));}u.setState(h=>({recentChainIds:[...h.recentChainIds||[],...a].filter((w,T,v)=>v.indexOf(w)===T)})),S.setState(h=>({activeChainIds:[...h.activeChainIds||[],...a].filter((w,T,v)=>v.indexOf(w)===T)})),u.setState({walletType:r,_reconnect:!!(e!=null&&e.autoReconnect),_reconnectConnector:r}),S.setState({status:"connected"}),typeof window!="undefined"&&window.sessionStorage.setItem(X,"Active");let g=a.map(h=>i.find(w=>w.chainId===h));return {accounts:S.getState().accounts,walletType:r,chains:g}}catch(n){throw console.error("connect ",n),S.getState().accounts===null&&S.setState({status:"disconnected"}),S.getState().accounts&&S.getState().activeChainIds&&S.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=S.getState().accounts;t.forEach(o=>{n==null||delete n[o];}),Object.values(n||{}).length===0?(S.setState(Z),u.setState({_reconnect:!1,_reconnectConnector:null,recentChainIds:null})):(S.setState(o=>{var r;return {activeChainIds:(r=o.activeChainIds)==null?void 0:r.filter(c=>!t.includes(c)),accounts:n}}),u.setState(o=>{var r;return {recentChainIds:(r=o.recentChainIds)==null?void 0:r.filter(c=>!t.includes(c))}}));}else S.setState(Z),u.setState({_reconnect:!1,_reconnectConnector:null,recentChainIds:null});return Promise.resolve()},j=e=>l(void 0,null,function*(){var o;let{recentChainIds:t,_reconnectConnector:n,_reconnect:i}=u.getState();try{let r=_(n||void 0);if(t&&r&&n)return yield ee({chainId:t,walletType:n,autoReconnect:i})}catch(r){(o=e==null?void 0:e.onError)==null||o.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}=u.getState(),n=e.walletType||t;if(!_(n))throw new Error(`${n} is not available`);let o=R(n),r=o.getOfflineSigner(e.chainId),c=o.getOfflineSignerOnlyAmino(e.chainId),s=yield o.getOfflineSignerAuto(e.chainId);return {offlineSigner:r,offlineSignerAmino:c,offlineSignerAuto:s}});var Ie=()=>{u.setState({recentChainIds:null});},Qo=()=>u.getState().recentChainIds,jo=()=>{var n;let{recentChainIds:e,chains:t}=u.getState();return (n=e==null?void 0:e.map(i=>t.find(o=>o.chainId===i)))!=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 i;let t=u.getState().walletType;return yield Ee({chainInfo:e.chainInfo,walletType:(i=e.walletType)!=null?i:t}),yield ee({chainId:e.chainInfo.chainId,walletType:e.walletType,autoReconnect:e.autoReconnect})});var tt=e=>(u.setState(t=>({walletConnect:e.walletConnect||t.walletConnect,walletType:e.defaultWallet||t.walletType,chains:e.chains,chainsConfig:e.chainsConfig||t.chainsConfig,multiChainFetchConcurrency:e.multiChainFetchConcurrency||t.multiChainFetchConcurrency,_notFoundFn:e.onNotFound||t._notFoundFn,_onReconnectFailed:e.onReconnectFailed||t._onReconnectFailed,_reconnect:e.autoReconnect===void 0?!0:e.autoReconnect||t._reconnect})),e);var nt=c=>l(void 0,[c],function*({signingClient:e,senderAddress:t,recipientAddress:n,amount:i,fee:o,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,i,o,r)}),ot=f=>l(void 0,[f],function*({signingClient:e,senderAddress:t,recipientAddress:n,transferAmount:i,sourcePort:o,sourceChannel:r,timeoutHeight:c,timeoutTimestamp:s,fee:a,memo:d}){if(!e)throw new Error("Stargate signing client is not ready");if(!t)throw new Error("senderAddress is not defined");return e.sendIbcTokens(t,n,i,o,r,c,s,a,d)}),it=s=>l(void 0,[s],function*({signingClient:e,senderAddress:t,msg:n,fee:i,options:o,label:r,codeId:c}){if(!e)throw new Error("CosmWasm signing client is not ready");return e.instantiate(t,c,n,r,i,o)}),rt=s=>l(void 0,[s],function*({signingClient:e,senderAddress:t,msg:n,fee:i,contractAddress:o,funds:r,memo:c}){if(!e)throw new Error("CosmWasm signing client is not ready");return e.execute(t,o,n,i,c,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 i=new TextEncoder().encode(t);return n.queryContractRaw(e,i)};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,c){return l(this,arguments,function*(e,t,{concurrency:n=Number.POSITIVE_INFINITY,stopOnError:i=!0,signal:o}={}){return new Promise((s,a)=>{if(e[Symbol.iterator]===void 0&&e[Symbol.asyncIterator]===void 0)throw new TypeError(`Expected \`input\` to be either an \`Iterable\` or \`AsyncIterable\`, got (${typeof e})`);if(typeof t!="function")throw new TypeError("Mapper function is required");if(!((Number.isSafeInteger(n)||n===Number.POSITIVE_INFINITY)&&n>=1))throw new TypeError(`Expected \`concurrency\` to be an integer from 1 and up or \`Infinity\`, got \`${n}\` (${typeof n})`);let d=[],f=[],g=new Map,E=!1,h=!1,w=!1,T=0,v=0,G=e[Symbol.iterator]===void 0?e[Symbol.asyncIterator]():e[Symbol.iterator](),y=O=>{E=!0,h=!0,a(O);};o&&(o.aborted&&y(lt(o)),o.addEventListener("abort",()=>{y(lt(o));}));let A=()=>l(this,null,function*(){if(h)return;let O=yield G.next(),k=v;if(v++,O.done){if(w=!0,T===0&&!h){if(!i&&f.length>0){y(new AggregateError(f));return}if(h=!0,g.size===0){s(d);return}let P=[];for(let[B,te]of d.entries())g.get(B)!==ut&&P.push(te);s(P);}return}T++,l(this,null,function*(){try{let P=yield O.value;if(h)return;let B=yield t(P,k);B===ut&&g.set(k,B),d[k]=B,T--,yield A();}catch(P){if(i)y(P);else {f.push(P),T--;try{yield A();}catch(B){y(B);}}}});});l(this,null,function*(){for(let O=0;O<n;O++){try{yield A();}catch(k){y(k);break}if(w||E)break}});})})}var ut=Symbol("skip");var U=({chainId:e,multiChain:t})=>{let n=u(o=>o.chains);if(!n)throw new Error("No chains found in GrazProvider");let i=typeof e=="string"?[e]:e;switch(!0){case(!!t&&!!i):return i.map(o=>n.find(r=>r.chainId===o)).filter(Boolean);case(!t&&!!i):return [i.map(o=>n.find(r=>r.chainId===o)).filter(Boolean)[0]];case(!!t&&!i):return n;default:return [n[0]]}},D=(e,t,n)=>l(void 0,null,function*(){let i=u.getState().multiChainFetchConcurrency;if(e){let r=yield be(t,n,{concurrency:i});return Object.fromEntries(r.map((c,s)=>[t[s].chainId,c]))}return yield n(t[0])}),dt=(e,t,n)=>{if(e){let o=t.map(n);return Object.fromEntries(o.map((r,c)=>[t[c].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:o=>l(void 0,[o],function*({queryKey:[,i]}){if(i.length<1)throw new Error("No chains found");return yield D(!!(e!=null&&e.multiChain),i,c=>l(void 0,null,function*(){var f;let s=(f=u.getState().chainsConfig)==null?void 0:f[c.chainId],a={url:c.rpc,headers:b({},(s==null?void 0:s.rpcHeaders)||{})};return yield StargateClient.connect(a)}))}),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:o=>l(void 0,[o],function*({queryKey:[,i]}){if(i.length<1)throw new Error("No chains found");return yield D(!!(e!=null&&e.multiChain),i,c=>l(void 0,null,function*(){var f;let s=(f=u.getState().chainsConfig)==null?void 0:f[c.chainId],a={url:c.rpc,headers:b({},(s==null?void 0:s.rpcHeaders)||{})};return yield CosmWasmClient.connect(a)}))}),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:i})=>{let o=U({chainId:t,multiChain:n}),r=useMemo(()=>["USE_TENDERMINT_CLIENT",e,o],[e,o]);return useQuery({queryKey:r,queryFn:a=>l(void 0,[a],function*({queryKey:[,c,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 g=(T=u.getState().chainsConfig)==null?void 0:T[f.chainId],E={url:f.rpc,headers:b({},(g==null?void 0:g.rpcHeaders)||{})};return yield (c==="tm37"?Tendermint37Client:Tendermint34Client).connect(E)}))}),enabled:!!o&&o.length>0&&(i!==void 0?!!i:!0),refetchOnWindowFocus:!1})};var vi=()=>u(e=>({walletType:e.walletType,isCosmostation:e.walletType==="cosmostation",isCosmostationMobile:e.walletType==="wc_cosmostation_mobile",isKeplr:e.walletType==="keplr",isKeplrMobile:e.walletType==="wc_keplr_mobile",isLeap:e.walletType==="leap",isLeapMobile:e.walletType==="wc_leap_mobile",isVectis:e.walletType==="vectis",isWalletConnect:e.walletType==="walletconnect",isMetamaskSnapLeap:e.walletType==="metamask_snap_leap"}),shallow),me=e=>{let n=["USE_CHECK_WALLET",u(o=>e||o.walletType)];return useQuery(n,({queryKey:[,o]})=>_(o))};var H=e=>{let t=u(s=>s.walletType),n=S(s=>s.activeChainIds),i=U({chainId:e!=null&&e.chainId?e.chainId:n||void 0,multiChain:e==null?void 0:e.multiChain}),o=S(s=>s.accounts),r=S(s=>s.status);return useEffect(()=>S.subscribe(s=>s.status,(s,a)=>{var d,f,g;if(s==="connected"){let{accounts:E,activeChainIds:h}=S.getState(),{chains:w}=u.getState(),{walletType:T}=u.getState();if(!E||!h||!w)return (d=e==null?void 0:e.onDisconnect)==null?void 0:d.call(e);(f=e==null?void 0:e.onConnect)==null||f.call(e,{accounts:E,chains:h.map(v=>w.find(G=>G.chainId===v)),walletType:T,isReconnect:a==="reconnecting"});}s==="disconnected"&&((g=e==null?void 0:e.onDisconnect)==null||g.call(e));}),[e]),{data:useMemo(()=>o?dt(!!(e!=null&&e.multiChain),i,s=>o[s.chainId]):void 0,[o,i,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(),i=(e==null?void 0:e.bech32Address)||(n==null?void 0:n.bech32Address),{data:o}=Oe({chainId:t.map(c=>c.chainId),multiChain:!0,enabled:((e==null?void 0:e.enabled)===void 0?!0:e.enabled)&&!!i}),r=useMemo(()=>["USE_ALL_BALANCES",o,t,i,e==null?void 0:e.chainId],[i,e==null?void 0:e.chainId,t,o]);return useQuery(r,d=>l(void 0,[d],function*({queryKey:[,c,s,a]}){if(!a)throw new Error("address is not defined");return yield D(!!(e!=null&&e.multiChain),s,g=>l(void 0,null,function*(){let E=c==null?void 0:c[g.chainId];if(!E)throw new Error(`Client is not ready ${g.chainId}`);return yield E.getAllBalances(toBech32(g.bech32Config.bech32PrefixAccAddr,fromBech32(a).data))}))}),{enabled:!!i&&!!t&&t.length>0&&!ue(o)&&((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}),i=e.bech32Address||(n==null?void 0:n.bech32Address),{data:o,refetch:r}=Ht({chainId:t.map(a=>a.chainId),bech32Address:i,enabled:!!i&&(e.enabled===void 0?!0:e.enabled)}),c=["USE_BALANCE",e.denom,o,t,i,e.chainId],s=useQuery(c,({queryKey:[,a,d]})=>d==null?void 0:d.find(f=>f.denom===a),{enabled:!!o&&!!(o!=null&&o.length)&&(e.enabled===void 0?!0:e.enabled)});return N(b({},s),{refetch:a=>l(void 0,null,function*(){return yield r(),s.refetch(a)})})},zi=({onError:e,onLoading:t,onSuccess:n}={})=>{let o=useMutation(["USE_CONNECT",e,t,n],ee,{onError:(c,s)=>Promise.resolve(e==null?void 0:e(c,s)),onMutate:t,onSuccess:c=>Promise.resolve(n==null?void 0:n(c))}),{data:r}=me();return {connect:c=>o.mutate(c),connectAsync:c=>o.mutateAsync(c),error:o.error,isLoading:o.isLoading,isSuccess:o.isSuccess,isSupported:!!r,status:o.status}},Qi=({onError:e,onLoading:t,onSuccess:n}={})=>{let o=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=>o.mutate(r),disconnectAsync:r=>o.mutateAsync(r),error:o.error,isLoading:o.isLoading,isSuccess:o.isSuccess,status:o.status}},ji=e=>{let t=U({chainId:e==null?void 0:e.chainId,multiChain:e==null?void 0:e.multiChain}),n=u(o=>o.walletType),i=useMemo(()=>["USE_OFFLINE_SIGNERS",t,n],[t,n]);return useQuery({queryKey:i,queryFn:c=>l(void 0,[c],function*({queryKey:[,o,r]}){if(o.length<1)throw new Error("No chain found");if(!_(r))throw new Error(`${r} is not available`);return yield D(!!(e!=null&&e.multiChain),o,d=>l(void 0,null,function*(){return yield Ze({chainId:d.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:i}=Oe({chainId:t.map(c=>c.chainId),multiChain:!0}),o=(e==null?void 0:e.bech32Address)||(n==null?void 0:n.bech32Address),r=useMemo(()=>["USE_BALANCE_STAKED",i,t,o],[t,o,i]);return useQuery(r,d=>l(void 0,[d],function*({queryKey:[,c,s,a]}){if(!a)throw new Error("address is not defined");return yield D(!!(e!=null&&e.multiChain),s,g=>l(void 0,null,function*(){var h;if(!c)throw new Error("Client is not ready");return yield (h=c[g.chainId])==null?void 0:h.getBalanceStaked(toBech32(g.bech32Config.bech32PrefixAccAddr,fromBech32(a).data))}))}),{enabled:!!o&&!!t&&t.length>0&&!!i,refetchOnMount:!1,refetchOnReconnect:!0,refetchOnWindowFocus:!1})};var tr=()=>S(e=>e.activeChainIds),Vt=()=>{var e;return (e=S(t=>t.activeChainIds))==null?void 0:e.map(t=>{var i;let n=(i=u.getState().chains)==null?void 0:i.find(o=>o.chainId===t);if(n)return n}).filter(Boolean)},nr=({denom:e})=>{let t=Vt();return useQuery(["USE_ACTIVE_CHAIN_CURRENCY",e],({queryKey:[,o]})=>{var r;return (r=t==null?void 0:t.find(c=>c.currencies.find(s=>s.coinMinimalDenom===o)))==null?void 0:r.currencies.find(c=>c)})},or=e=>{var o;let t=(o=e.status)!=null?o:"BOND_STATUS_BONDED",n=["USE_ACTIVE_CHAIN_VALIDATORS",e.queryClient,t];return useQuery(n,s=>l(void 0,[s],function*({queryKey:[,r,c]}){if(!r)throw new Error("Query client is not defined");return yield r.staking.validators(c)}),{enabled:typeof e.queryClient!="undefined"})},ir=()=>({data:u(t=>t.recentChainIds),clear:Ie}),rr=()=>{var t;return {data:(t=u(n=>n.recentChainIds))==null?void 0:t.map(n=>{var o;let i=(o=u.getState().chains)==null?void 0:o.find(r=>r.chainId===n);if(i)return i}).filter(Boolean),clear:Ie}},sr=({onError:e,onLoading:t,onSuccess:n}={})=>{let o=useMutation(["USE_SUGGEST_CHAIN",e,t,n],Ee,{onError:(r,c)=>Promise.resolve(e==null?void 0:e(r,c.chainInfo)),onMutate:r=>t==null?void 0:t(r.chainInfo),onSuccess:r=>Promise.resolve(n==null?void 0:n(r))});return {error:o.error,isLoading:o.isLoading,isSuccess:o.isSuccess,suggest:o.mutate,suggestAsync:o.mutateAsync,status:o.status}},ar=({onError:e,onLoading:t,onSuccess:n}={})=>{let o=useMutation(["USE_SUGGEST_CHAIN_AND_CONNECT",e,t,n],et,{onError:(c,s)=>Promise.resolve(e==null?void 0:e(c,s)),onMutate:c=>t==null?void 0:t(c),onSuccess:c=>Promise.resolve(n==null?void 0:n(c))}),{data:r}=me();return {error:o.error,isLoading:o.isLoading,isSuccess:o.isSuccess,isSupported:!!r,status:o.status,suggestAndConnect:o.mutate,suggestAndConnectAsync:o.mutateAsync}};var gr=({onError:e,onLoading:t,onSuccess:n}={})=>{let{data:i}=H(),o=i==null?void 0:i.bech32Address,r=useMutation(["USE_SEND_TOKENS",e,t,n,o],c=>nt(b({senderAddress:o},c)),{onError:(c,s)=>Promise.resolve(e==null?void 0:e(c,s)),onMutate:t,onSuccess:c=>Promise.resolve(n==null?void 0:n(c))});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:i}=H(),o=i==null?void 0:i.bech32Address,r=useMutation(["USE_SEND_IBC_TOKENS",e,t,n,o],c=>ot(b({senderAddress:o},c)),{onError:(c,s)=>Promise.resolve(e==null?void 0:e(c,s)),onMutate:t,onSuccess:c=>Promise.resolve(n==null?void 0:n(c))});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:i})=>{let{data:o}=H(),r=o==null?void 0:o.bech32Address,s=useMutation(["USE_INSTANTIATE_CONTRACT",t,n,i,e,r],a=>{var f;if(!r)throw new Error("senderAddress is undefined");let d=N(b({},a),{fee:(f=a.fee)!=null?f:"auto",senderAddress:r,codeId:e});return it(d)},{onError:(a,d)=>Promise.resolve(t==null?void 0:t(a,d)),onMutate:n,onSuccess:a=>Promise.resolve(i==null?void 0:i(a))});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:i})=>{let{data:o}=H(),r=o==null?void 0:o.bech32Address,s=useMutation(["USE_EXECUTE_CONTRACT",t,n,i,e,r],a=>{var f,g,E;if(!r)throw new Error("senderAddress is undefined");let d=N(b({},a),{fee:(f=a.fee)!=null?f:"auto",senderAddress:r,contractAddress:e,memo:(g=a.memo)!=null?g:"",funds:(E=a.funds)!=null?E:[]});return rt(d)},{onError:(a,d)=>Promise.resolve(t==null?void 0:t(a,d)),onMutate:n,onSuccess:a=>Promise.resolve(i==null?void 0:i(a))});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:[,i]})=>{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:[,o]})=>{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=u(o=>o.walletType),i=useMemo(()=>["USE_STARGATE_SIGNING_CLIENT",t,n,e],[e,t,n]);return useQuery({queryKey:i,queryFn:c=>l(this,[c],function*({queryKey:[,o,r]}){if(o.length<1)throw new Error("No chains found");return yield D(!!(e!=null&&e.multiChain),o,a=>l(this,null,function*(){var w,T;if(!_(r))throw new Error(`${r} is not available`);let f=yield (()=>l(this,null,function*(){switch(e==null?void 0:e.offlineSigner){case"offlineSigner":return R(r).getOfflineSigner(a.chainId);case"offlineSignerAuto":return R(r).getOfflineSignerAuto(a.chainId);case"offlineSignerOnlyAmino":return R(r).getOfflineSignerOnlyAmino(a.chainId);default:return R(r).getOfflineSignerAuto(a.chainId)}}))(),g=(w=u.getState().chainsConfig)==null?void 0:w[a.chainId],E={url:a.rpc,headers:b({},(g==null?void 0:g.rpcHeaders)||{})};return (e==null?void 0:e.multiChain)===!0&&e.opts,yield SigningStargateClient.connectWithSigner(E,f,e!=null&&e.multiChain?(T=e.opts)==null?void 0:T[a.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=u(o=>o.walletType),i=useMemo(()=>["USE_COSMWASM_SIGNING_CLIENT",t,n,e],[e,t,n]);return useQuery({queryKey:i,queryFn:c=>l(this,[c],function*({queryKey:[,o,r]}){if(o.length<1)throw new Error("No chains found");return yield D(!!(e!=null&&e.multiChain),o,a=>l(this,null,function*(){var T,v;if(!_(r))throw new Error(`${r} is not available`);let f=yield (()=>l(this,null,function*(){switch(e==null?void 0:e.offlineSigner){case"offlineSigner":return R(r).getOfflineSigner(a.chainId);case"offlineSignerAuto":return R(r).getOfflineSignerAuto(a.chainId);case"offlineSignerOnlyAmino":return R(r).getOfflineSignerOnlyAmino(a.chainId);default:return R(r).getOfflineSignerAuto(a.chainId)}}))(),g=(T=u.getState().chainsConfig)==null?void 0:T[a.chainId],E={url:a.rpc,headers:b({},(g==null?void 0:g.rpcHeaders)||{})},h=g!=null&&g.gas?GasPrice.fromString(`${g.gas.price}${g.gas.denom}`):void 0;return yield SigningCosmWasmClient.connectWithSigner(E,f,b({gasPrice:h},e!=null&&e.multiChain?(v=e.opts)==null?void 0:v[a.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=u(r=>r.walletType),i=useMemo(()=>["USE_STARGATE_TM_SIGNING_CLIENT",t,n,e],[e,t,n]),{data:o}=de({type:e.type,chainId:e.chainId,multiChain:e.multiChain});return useQuery({queryKey:i,queryFn:s=>l(this,[s],function*({queryKey:[,r,c]}){if(r.length<1)throw new Error("No chains found");return yield D(!!e.multiChain,r,d=>l(this,null,function*(){var w;if(!_(c))throw new Error(`${c} is not available`);if(!o)throw new Error("No tendermint client found");let g=yield (()=>l(this,null,function*(){switch(e.offlineSigner){case"offlineSigner":return R(c).getOfflineSigner(d.chainId);case"offlineSignerAuto":return R(c).getOfflineSignerAuto(d.chainId);case"offlineSignerOnlyAmino":return R(c).getOfflineSignerOnlyAmino(d.chainId);default:return R(c).getOfflineSignerAuto(d.chainId)}}))(),E=e.multiChain?o[d.chainId]:o;return yield SigningStargateClient.createWithSigner(E,g,e.multiChain?(w=e.opts)==null?void 0:w[d.chainId]:e.opts)}))}),enabled:!!t&&t.length>0&&!!n&&!!o&&(e.enabled!==void 0?!!e.enabled:!0),refetchOnWindowFocus:!1})}function _r(e){let t=U({chainId:e.chainId,multiChain:e.multiChain}),n=u(c=>c.walletType),i=useMemo(()=>["USE_COSMWASM_TM_SIGNING_CLIENT",t,n,e],[e,t,n]),{data:o}=de({type:e.type,chainId:e.chainId,multiChain:!1,enabled:!e.multiChain}),{data:r}=de({type:e.type,chainId:e.chainId,multiChain:!0,enabled:!!e.multiChain});return useQuery({queryKey:i,queryFn:a=>l(this,[a],function*({queryKey:[,c,s]}){if(c.length<1)throw new Error("No chains found");return yield D(!!e.multiChain,c,f=>l(this,null,function*(){var G,y;if(!_(s))throw new Error(`${s} is not available`);let E=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)}}))(),h=(G=u.getState().chainsConfig)==null?void 0:G[f.chainId],w=h!=null&&h.gas?GasPrice.fromString(`${h.gas.price}${h.gas.denom}`):void 0,T=e.multiChain?r==null?void 0:r[f.chainId]:o;if(!T)throw new Error("No tendermint client found");return yield SigningCosmWasmClient.createWithSigner(T,E,b({gasPrice:w},e.multiChain?(y=e.opts)==null?void 0:y[f.chainId]:e.opts||{}))}))}),enabled:!!t&&t.length>0&&!!n&&(!!o||!ue(r))&&(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:i}=u(),{activeChainIds:o,wcSignClient:r}=S(),c=_(i||void 0);return useEffect(()=>{if(i){if(!c)return;e&&o?j({onError:n}):!e&&t&&j({onError:n});}},[c]),useEffect(()=>{var s,a,d,f,g,E,h,w,T,v;if(i){if(!c)return;i==="cosmostation"&&((a=(s=se()).subscription)==null||a.call(s,()=>{j({onError:n});})),i==="keplr"&&((f=(d=ae()).subscription)==null||f.call(d,()=>{j({onError:n});})),i==="leap"&&((E=(g=ce()).subscription)==null||E.call(g,()=>{j({onError:n});})),i==="vectis"&&((w=(h=le()).subscription)==null||w.call(h,()=>{j({onError:n});})),i==="walletconnect"&&r&&((v=(T=Q()).subscription)==null||v.call(T,()=>{j({onError:n});}));}},[i,r,c]),null},Et=()=>(en(),null);var on=new QueryClient({}),ss=i=>{var o=i,{children:e,grazOptions:t}=o,n=Le(o,["children","grazOptions"]);return tt(t),jsx(QueryClientProvider,N(b({client:on},n),{children:jsxs(At,{children:[e,jsx(Et,{})]})}),"graz-provider")};
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")};
16
16
 
17
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 };
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-beta.2",
4
+ "version": "0.1.0",
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",
@@ -33,14 +33,6 @@
33
33
  "env.d.ts"
34
34
  ],
35
35
  "sideEffects": false,
36
- "scripts": {
37
- "build": "tsup",
38
- "clean": "rm -rf dist/*",
39
- "cli": "node dist/cli.js",
40
- "dev": "tsup --watch",
41
- "lint": "eslint --fix \"src/**/*.{ts,tsx}\"",
42
- "prepublishOnly": "pnpm build"
43
- },
44
36
  "peerDependencies": {
45
37
  "@cosmjs/cosmwasm-stargate": "*",
46
38
  "@cosmjs/launchpad": "*",
@@ -87,5 +79,12 @@
87
79
  "graz-sh",
88
80
  "use-keplr"
89
81
  ],
90
- "license": "MIT"
91
- }
82
+ "license": "MIT",
83
+ "scripts": {
84
+ "build": "tsup",
85
+ "clean": "rm -rf dist/*",
86
+ "cli": "node dist/cli.js",
87
+ "dev": "tsup --watch",
88
+ "lint": "eslint --fix \"src/**/*.{ts,tsx}\""
89
+ }
90
+ }