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