graz 0.0.49 → 0.0.51

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.ts CHANGED
@@ -1,10 +1,10 @@
1
- import * as _cosmjs_cosmwasm_stargate from '@cosmjs/cosmwasm-stargate';
2
- import { SigningCosmWasmClientOptions, SigningCosmWasmClient, InstantiateOptions, CosmWasmClient, InstantiateResult, ExecuteResult } from '@cosmjs/cosmwasm-stargate';
3
1
  import { OfflineDirectSigner, Coin } from '@cosmjs/proto-signing';
4
2
  import * as _keplr_wallet_types from '@keplr-wallet/types';
5
3
  import { ChainInfo, AppCurrency, Keplr, Key, OfflineAminoSigner } from '@keplr-wallet/types';
6
4
  import { SignClientTypes } from '@walletconnect/types';
7
5
  import { Web3ModalConfig } from '@web3modal/standalone';
6
+ import * as _cosmjs_cosmwasm_stargate from '@cosmjs/cosmwasm-stargate';
7
+ import { SigningCosmWasmClient, InstantiateOptions, CosmWasmClient, InstantiateResult, ExecuteResult, SigningCosmWasmClientOptions } from '@cosmjs/cosmwasm-stargate';
8
8
  import { SigningStargateClient, StdFee, DeliverTxResponse, QueryClient, StakingExtension, StargateClient, SigningStargateClientOptions } from '@cosmjs/stargate';
9
9
  import { Height } from 'cosmjs-types/ibc/core/client/v1/client';
10
10
  import { OfflineSigner } from '@cosmjs/launchpad';
@@ -178,7 +178,6 @@ type SignAminoParams = Parameters<Wallet["signAmino"]>;
178
178
 
179
179
  type ConnectArgs = Maybe<{
180
180
  chain?: GrazChain;
181
- signerOpts?: SigningCosmWasmClientOptions;
182
181
  walletType?: WalletType;
183
182
  autoReconnect?: boolean;
184
183
  }>;
@@ -206,10 +205,13 @@ declare const getOfflineSigners: (args?: {
206
205
  declare const clearRecentChain: () => void;
207
206
  declare const getActiveChainCurrency: (denom: string) => AppCurrency | undefined;
208
207
  declare const getRecentChain: () => GrazChain | null;
209
- declare const suggestChain: (chainInfo: ChainInfo) => Promise<ChainInfo>;
208
+ interface SuggestChainArgs {
209
+ chainInfo: ChainInfo;
210
+ walletType: WalletType;
211
+ }
212
+ declare const suggestChain: ({ chainInfo, walletType }: SuggestChainArgs) => Promise<ChainInfo>;
210
213
  interface SuggestChainAndConnectArgs {
211
214
  chainInfo: ChainInfo;
212
- signerOpts?: SigningCosmWasmClientOptions;
213
215
  walletType?: WalletType;
214
216
  gas?: {
215
217
  price: string;
@@ -227,7 +229,6 @@ interface WalletConnectStore {
227
229
  }
228
230
  interface GrazInternalStore {
229
231
  defaultChain: GrazChain | null;
230
- defaultSigningClient: "cosmWasm" | "stargate";
231
232
  recentChain: GrazChain | null;
232
233
  walletType: WalletType;
233
234
  walletConnect: WalletConnectStore | null;
@@ -239,7 +240,6 @@ interface GrazInternalStore {
239
240
 
240
241
  interface ConfigureGrazArgs {
241
242
  defaultChain?: GrazChain;
242
- defaultSigningClient?: GrazInternalStore["defaultSigningClient"];
243
243
  defaultWallet?: WalletType;
244
244
  onNotFound?: () => void;
245
245
  onReconnectFailed?: () => void;
@@ -329,6 +329,7 @@ declare const clearSession: () => void;
329
329
  */
330
330
  declare const getWallet: (type?: WalletType) => Wallet;
331
331
  declare const getAvailableWallets: () => Record<WalletType, boolean>;
332
+ declare const isWalletConnect: (type: WalletType) => boolean;
332
333
 
333
334
  /**
334
335
  * Function to return cosmostation object (which is {@link Wallet}) and throws and error if it does not exist on `window`.
@@ -688,7 +689,7 @@ declare const useRecentChain: () => {
688
689
  data: GrazChain | null;
689
690
  clear: () => void;
690
691
  };
691
- type UseSuggestChainArgs = MutationEventArgs<ChainInfo>;
692
+ type UseSuggestChainArgs = MutationEventArgs<SuggestChainArgs, ChainInfo>;
692
693
  /**
693
694
  * graz mutation hook to suggest chain to a Wallet
694
695
  *
@@ -709,8 +710,8 @@ declare const useSuggestChain: ({ onError, onLoading, onSuccess }?: UseSuggestCh
709
710
  error: unknown;
710
711
  isLoading: boolean;
711
712
  isSuccess: boolean;
712
- suggest: _tanstack_react_query.UseMutateFunction<ChainInfo, unknown, ChainInfo, unknown>;
713
- suggestAsync: _tanstack_react_query.UseMutateAsyncFunction<ChainInfo, unknown, ChainInfo, unknown>;
713
+ suggest: _tanstack_react_query.UseMutateFunction<ChainInfo, unknown, SuggestChainArgs, unknown>;
714
+ suggestAsync: _tanstack_react_query.UseMutateAsyncFunction<ChainInfo, unknown, SuggestChainArgs, unknown>;
714
715
  status: "error" | "success" | "loading" | "idle";
715
716
  };
716
717
  type UseSuggestChainAndConnectArgs = MutationEventArgs<SuggestChainAndConnectArgs, ConnectResult>;
@@ -1086,4 +1087,4 @@ declare const useGrazEvents: () => null;
1086
1087
  */
1087
1088
  declare const GrazEvents: FC;
1088
1089
 
1089
- export { AccountData, ChainInfoWithPath, ConfigureGrazArgs, ConnectArgs, ConnectResult, Connector, Dictionary, ExecuteContractArgs, ExecuteContractMutationArgs, GrazAdapter, GrazChain, GrazEvents, GrazProvider, GrazProviderProps, InstantiateContractArgs, InstantiateContractMutationArgs, Maybe, OfflineSigners, ReconnectArgs, SendIbcTokensArgs, SendTokensArgs, SignAminoParams, SignDirectParams, SuggestChainAndConnectArgs, UseAccountArgs, UseConnectChainArgs, UseExecuteContractArgs, UseInstantiateContractArgs, UseSuggestChainAndConnectArgs, UseSuggestChainArgs, WALLET_TYPES, Wallet, WalletType, checkWallet, clearRecentChain, clearSession, configureGraz, connect, defineChain, defineChainInfo, defineChains, disconnect, executeContract, getActiveChainCurrency, getAvailableWallets, getCosmostation, getKeplr, getLeap, getMetamaskSnapLeap, getOfflineSigners, getQueryRaw, getQuerySmart, getRecentChain, getVectis, getWCCosmostation, getWCKeplr, getWCLeap, getWallet, getWalletConnect, instantiateContract, mainnetChains, mainnetChainsArray, reconnect, sendIbcTokens, sendTokens, suggestChain, suggestChainAndConnect, testnetChains, testnetChainsArray, useAccount, useActiveChain, useActiveChainCurrency, useActiveChainValidators, useActiveWalletType, useBalance, useBalanceStaked, useBalances, useCheckWallet, useConnect, useCosmWasmClient, useCosmWasmSigningClient, useCosmWasmTmSigningClient, useDisconnect, useExecuteContract, useGrazEvents, useInstantiateContract, useOfflineSigners, useQueryRaw, useQuerySmart, useRecentChain, useSendIbcTokens, useSendTokens, useStargateClient, useStargateSigningClient, useStargateTmSigningClient, useSuggestChain, useSuggestChainAndConnect, useTendermintClient };
1090
+ export { AccountData, ChainInfoWithPath, ConfigureGrazArgs, ConnectArgs, ConnectResult, Connector, Dictionary, ExecuteContractArgs, ExecuteContractMutationArgs, GrazAdapter, GrazChain, GrazEvents, GrazProvider, GrazProviderProps, InstantiateContractArgs, InstantiateContractMutationArgs, Maybe, OfflineSigners, ReconnectArgs, SendIbcTokensArgs, SendTokensArgs, SignAminoParams, SignDirectParams, SuggestChainAndConnectArgs, SuggestChainArgs, UseAccountArgs, UseConnectChainArgs, UseExecuteContractArgs, UseInstantiateContractArgs, UseSuggestChainAndConnectArgs, UseSuggestChainArgs, WALLET_TYPES, Wallet, WalletType, checkWallet, clearRecentChain, clearSession, configureGraz, connect, defineChain, defineChainInfo, defineChains, disconnect, executeContract, getActiveChainCurrency, getAvailableWallets, getCosmostation, getKeplr, getLeap, getMetamaskSnapLeap, getOfflineSigners, getQueryRaw, getQuerySmart, getRecentChain, getVectis, getWCCosmostation, getWCKeplr, getWCLeap, getWallet, getWalletConnect, instantiateContract, isWalletConnect, mainnetChains, mainnetChainsArray, reconnect, sendIbcTokens, sendTokens, suggestChain, suggestChainAndConnect, testnetChains, testnetChainsArray, useAccount, useActiveChain, useActiveChainCurrency, useActiveChainValidators, useActiveWalletType, useBalance, useBalanceStaked, useBalances, useCheckWallet, useConnect, useCosmWasmClient, useCosmWasmSigningClient, useCosmWasmTmSigningClient, useDisconnect, useExecuteContract, useGrazEvents, useInstantiateContract, useOfflineSigners, useQueryRaw, useQuerySmart, useRecentChain, useSendIbcTokens, useSendTokens, useStargateClient, useStargateSigningClient, useStargateTmSigningClient, useSuggestChain, useSuggestChainAndConnect, useTendermintClient };
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";var wn=Object.create;var Ae=Object.defineProperty;var Cn=Object.getOwnPropertyDescriptor;var Sn=Object.getOwnPropertyNames;var An=Object.getPrototypeOf,En=Object.prototype.hasOwnProperty;var In=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),bn=(t,e)=>{for(var n in e)Ae(t,n,{get:e[n],enumerable:!0})},Ct=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Sn(e))!En.call(t,o)&&o!==n&&Ae(t,o,{get:()=>e[o],enumerable:!(r=Cn(e,o))||r.enumerable});return t};var Ee=(t,e,n)=>(n=t!=null?wn(An(t)):{},Ct(e||!t||!t.__esModule?Ae(n,"default",{value:t,enumerable:!0}):n,t)),Tn=t=>Ct(Ae({},"__esModule",{value:!0}),t);var be=In((Bo,Wt)=>{"use strict";Wt.exports=E;var P=null;try{P=new WebAssembly.Instance(new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,13,2,96,0,1,127,96,4,127,127,127,127,1,127,3,7,6,0,1,1,1,1,1,6,6,1,127,1,65,0,11,7,50,6,3,109,117,108,0,1,5,100,105,118,95,115,0,2,5,100,105,118,95,117,0,3,5,114,101,109,95,115,0,4,5,114,101,109,95,117,0,5,8,103,101,116,95,104,105,103,104,0,0,10,191,1,6,4,0,35,0,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,126,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,127,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,128,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,129,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,130,34,4,66,32,135,167,36,0,32,4,167,11])),{}).exports}catch{}function E(t,e,n){this.low=t|0,this.high=e|0,this.unsigned=!!n}E.prototype.__isLong__;Object.defineProperty(E.prototype,"__isLong__",{value:!0});function _(t){return(t&&t.__isLong__)===!0}E.isLong=_;var At={},Et={};function J(t,e){var n,r,o;return e?(t>>>=0,(o=0<=t&&t<256)&&(r=Et[t],r)?r:(n=I(t,(t|0)<0?-1:0,!0),o&&(Et[t]=n),n)):(t|=0,(o=-128<=t&&t<128)&&(r=At[t],r)?r:(n=I(t,t<0?-1:0,!1),o&&(At[t]=n),n))}E.fromInt=J;function R(t,e){if(isNaN(t))return e?X:q;if(e){if(t<0)return X;if(t>=xt)return kt}else{if(t<=-bt)return F;if(t+1>=bt)return Ot}return t<0?R(-t,e).neg():I(t%ne|0,t/ne|0,e)}E.fromNumber=R;function I(t,e,n){return new E(t,e,n)}E.fromBits=I;var Ie=Math.pow;function Be(t,e,n){if(t.length===0)throw Error("empty string");if(t==="NaN"||t==="Infinity"||t==="+Infinity"||t==="-Infinity")return q;if(typeof e=="number"?(n=e,e=!1):e=!!e,n=n||10,n<2||36<n)throw RangeError("radix");var r;if((r=t.indexOf("-"))>0)throw Error("interior hyphen");if(r===0)return Be(t.substring(1),e,n).neg();for(var o=R(Ie(n,8)),i=q,s=0;s<t.length;s+=8){var a=Math.min(8,t.length-s),c=parseInt(t.substring(s,s+a),n);if(a<8){var u=R(Ie(n,a));i=i.mul(u).add(R(c))}else i=i.mul(o),i=i.add(R(c))}return i.unsigned=e,i}E.fromString=Be;function L(t,e){return typeof t=="number"?R(t,e):typeof t=="string"?Be(t,e):I(t.low,t.high,typeof e=="boolean"?e:t.unsigned)}E.fromValue=L;var It=65536,kn=1<<24,ne=It*It,xt=ne*ne,bt=xt/2,Tt=J(kn),q=J(0);E.ZERO=q;var X=J(0,!0);E.UZERO=X;var te=J(1);E.ONE=te;var vt=J(1,!0);E.UONE=vt;var Ue=J(-1);E.NEG_ONE=Ue;var Ot=I(-1,2147483647,!1);E.MAX_VALUE=Ot;var kt=I(-1,-1,!0);E.MAX_UNSIGNED_VALUE=kt;var F=I(0,-2147483648,!1);E.MIN_VALUE=F;var l=E.prototype;l.toInt=function(){return this.unsigned?this.low>>>0:this.low};l.toNumber=function(){return this.unsigned?(this.high>>>0)*ne+(this.low>>>0):this.high*ne+(this.low>>>0)};l.toString=function(e){if(e=e||10,e<2||36<e)throw RangeError("radix");if(this.isZero())return"0";if(this.isNegative())if(this.eq(F)){var n=R(e),r=this.div(n),o=r.mul(n).sub(this);return r.toString(e)+o.toInt().toString(e)}else return"-"+this.neg().toString(e);for(var i=R(Ie(e,6),this.unsigned),s=this,a="";;){var c=s.div(i),u=s.sub(c.mul(i)).toInt()>>>0,h=u.toString(e);if(s=c,s.isZero())return h+a;for(;h.length<6;)h="0"+h;a=""+h+a}};l.getHighBits=function(){return this.high};l.getHighBitsUnsigned=function(){return this.high>>>0};l.getLowBits=function(){return this.low};l.getLowBitsUnsigned=function(){return this.low>>>0};l.getNumBitsAbs=function(){if(this.isNegative())return this.eq(F)?64:this.neg().getNumBitsAbs();for(var e=this.high!=0?this.high:this.low,n=31;n>0&&!(e&1<<n);n--);return this.high!=0?n+33:n+1};l.isZero=function(){return this.high===0&&this.low===0};l.eqz=l.isZero;l.isNegative=function(){return!this.unsigned&&this.high<0};l.isPositive=function(){return this.unsigned||this.high>=0};l.isOdd=function(){return(this.low&1)===1};l.isEven=function(){return(this.low&1)===0};l.equals=function(e){return _(e)||(e=L(e)),this.unsigned!==e.unsigned&&this.high>>>31===1&&e.high>>>31===1?!1:this.high===e.high&&this.low===e.low};l.eq=l.equals;l.notEquals=function(e){return!this.eq(e)};l.neq=l.notEquals;l.ne=l.notEquals;l.lessThan=function(e){return this.comp(e)<0};l.lt=l.lessThan;l.lessThanOrEqual=function(e){return this.comp(e)<=0};l.lte=l.lessThanOrEqual;l.le=l.lessThanOrEqual;l.greaterThan=function(e){return this.comp(e)>0};l.gt=l.greaterThan;l.greaterThanOrEqual=function(e){return this.comp(e)>=0};l.gte=l.greaterThanOrEqual;l.ge=l.greaterThanOrEqual;l.compare=function(e){if(_(e)||(e=L(e)),this.eq(e))return 0;var n=this.isNegative(),r=e.isNegative();return n&&!r?-1:!n&&r?1:this.unsigned?e.high>>>0>this.high>>>0||e.high===this.high&&e.low>>>0>this.low>>>0?-1:1:this.sub(e).isNegative()?-1:1};l.comp=l.compare;l.negate=function(){return!this.unsigned&&this.eq(F)?F:this.not().add(te)};l.neg=l.negate;l.add=function(e){_(e)||(e=L(e));var n=this.high>>>16,r=this.high&65535,o=this.low>>>16,i=this.low&65535,s=e.high>>>16,a=e.high&65535,c=e.low>>>16,u=e.low&65535,h=0,A=0,C=0,x=0;return x+=i+u,C+=x>>>16,x&=65535,C+=o+c,A+=C>>>16,C&=65535,A+=r+a,h+=A>>>16,A&=65535,h+=n+s,h&=65535,I(C<<16|x,h<<16|A,this.unsigned)};l.subtract=function(e){return _(e)||(e=L(e)),this.add(e.neg())};l.sub=l.subtract;l.multiply=function(e){if(this.isZero())return q;if(_(e)||(e=L(e)),P){var n=P.mul(this.low,this.high,e.low,e.high);return I(n,P.get_high(),this.unsigned)}if(e.isZero())return q;if(this.eq(F))return e.isOdd()?F:q;if(e.eq(F))return this.isOdd()?F:q;if(this.isNegative())return e.isNegative()?this.neg().mul(e.neg()):this.neg().mul(e).neg();if(e.isNegative())return this.mul(e.neg()).neg();if(this.lt(Tt)&&e.lt(Tt))return R(this.toNumber()*e.toNumber(),this.unsigned);var r=this.high>>>16,o=this.high&65535,i=this.low>>>16,s=this.low&65535,a=e.high>>>16,c=e.high&65535,u=e.low>>>16,h=e.low&65535,A=0,C=0,x=0,N=0;return N+=s*h,x+=N>>>16,N&=65535,x+=i*h,C+=x>>>16,x&=65535,x+=s*u,C+=x>>>16,x&=65535,C+=o*h,A+=C>>>16,C&=65535,C+=i*u,A+=C>>>16,C&=65535,C+=s*c,A+=C>>>16,C&=65535,A+=r*h+o*u+i*c+s*a,A&=65535,I(x<<16|N,A<<16|C,this.unsigned)};l.mul=l.multiply;l.divide=function(e){if(_(e)||(e=L(e)),e.isZero())throw Error("division by zero");if(P){if(!this.unsigned&&this.high===-2147483648&&e.low===-1&&e.high===-1)return this;var n=(this.unsigned?P.div_u:P.div_s)(this.low,this.high,e.low,e.high);return I(n,P.get_high(),this.unsigned)}if(this.isZero())return this.unsigned?X:q;var r,o,i;if(this.unsigned){if(e.unsigned||(e=e.toUnsigned()),e.gt(this))return X;if(e.gt(this.shru(1)))return vt;i=X}else{if(this.eq(F)){if(e.eq(te)||e.eq(Ue))return F;if(e.eq(F))return te;var s=this.shr(1);return r=s.div(e).shl(1),r.eq(q)?e.isNegative()?te:Ue:(o=this.sub(e.mul(r)),i=r.add(o.div(e)),i)}else if(e.eq(F))return this.unsigned?X:q;if(this.isNegative())return e.isNegative()?this.neg().div(e.neg()):this.neg().div(e).neg();if(e.isNegative())return this.div(e.neg()).neg();i=q}for(o=this;o.gte(e);){r=Math.max(1,Math.floor(o.toNumber()/e.toNumber()));for(var a=Math.ceil(Math.log(r)/Math.LN2),c=a<=48?1:Ie(2,a-48),u=R(r),h=u.mul(e);h.isNegative()||h.gt(o);)r-=c,u=R(r,this.unsigned),h=u.mul(e);u.isZero()&&(u=te),i=i.add(u),o=o.sub(h)}return i};l.div=l.divide;l.modulo=function(e){if(_(e)||(e=L(e)),P){var n=(this.unsigned?P.rem_u:P.rem_s)(this.low,this.high,e.low,e.high);return I(n,P.get_high(),this.unsigned)}return this.sub(this.div(e).mul(e))};l.mod=l.modulo;l.rem=l.modulo;l.not=function(){return I(~this.low,~this.high,this.unsigned)};l.and=function(e){return _(e)||(e=L(e)),I(this.low&e.low,this.high&e.high,this.unsigned)};l.or=function(e){return _(e)||(e=L(e)),I(this.low|e.low,this.high|e.high,this.unsigned)};l.xor=function(e){return _(e)||(e=L(e)),I(this.low^e.low,this.high^e.high,this.unsigned)};l.shiftLeft=function(e){return _(e)&&(e=e.toInt()),(e&=63)===0?this:e<32?I(this.low<<e,this.high<<e|this.low>>>32-e,this.unsigned):I(0,this.low<<e-32,this.unsigned)};l.shl=l.shiftLeft;l.shiftRight=function(e){return _(e)&&(e=e.toInt()),(e&=63)===0?this:e<32?I(this.low>>>e|this.high<<32-e,this.high>>e,this.unsigned):I(this.high>>e-32,this.high>=0?0:-1,this.unsigned)};l.shr=l.shiftRight;l.shiftRightUnsigned=function(e){if(_(e)&&(e=e.toInt()),e&=63,e===0)return this;var n=this.high;if(e<32){var r=this.low;return I(r>>>e|n<<32-e,n>>>e,this.unsigned)}else return e===32?I(n,0,this.unsigned):I(n>>>e-32,0,this.unsigned)};l.shru=l.shiftRightUnsigned;l.shr_u=l.shiftRightUnsigned;l.toSigned=function(){return this.unsigned?I(this.low,this.high,!1):this};l.toUnsigned=function(){return this.unsigned?this:I(this.low,this.high,!0)};l.toBytes=function(e){return e?this.toBytesLE():this.toBytesBE()};l.toBytesLE=function(){var e=this.high,n=this.low;return[n&255,n>>>8&255,n>>>16&255,n>>>24,e&255,e>>>8&255,e>>>16&255,e>>>24]};l.toBytesBE=function(){var e=this.high,n=this.low;return[e>>>24,e>>>16&255,e>>>8&255,e&255,n>>>24,n>>>16&255,n>>>8&255,n&255]};E.fromBytes=function(e,n,r){return r?E.fromBytesLE(e,n):E.fromBytesBE(e,n)};E.fromBytesLE=function(e,n){return new E(e[0]|e[1]<<8|e[2]<<16|e[3]<<24,e[4]|e[5]<<8|e[6]<<16|e[7]<<24,n)};E.fromBytesBE=function(e,n){return new E(e[4]<<24|e[5]<<16|e[6]<<8|e[7],e[0]<<24|e[1]<<16|e[2]<<8|e[3],n)}});var vo={};bn(vo,{GrazEvents:()=>ht,GrazProvider:()=>xo,WALLET_TYPES:()=>qe,WalletType:()=>Re,checkWallet:()=>W,clearRecentChain:()=>He,clearSession:()=>M,configureGraz:()=>Ze,connect:()=>oe,defineChain:()=>Zn,defineChainInfo:()=>Yn,defineChains:()=>gt,disconnect:()=>Te,executeContract:()=>et,getActiveChainCurrency:()=>Ve,getAvailableWallets:()=>Wn,getCosmostation:()=>me,getKeplr:()=>pe,getLeap:()=>ge,getMetamaskSnapLeap:()=>Ge,getOfflineSigners:()=>Qe,getQueryRaw:()=>nt,getQuerySmart:()=>tt,getRecentChain:()=>Nn,getVectis:()=>fe,getWCCosmostation:()=>je,getWCKeplr:()=>Ke,getWCLeap:()=>ze,getWallet:()=>T,getWalletConnect:()=>U,instantiateContract:()=>Je,mainnetChains:()=>Xn,mainnetChainsArray:()=>Jn,reconnect:()=>B,sendIbcTokens:()=>Xe,sendTokens:()=>Ye,suggestChain:()=>xe,suggestChainAndConnect:()=>$e,testnetChains:()=>eo,testnetChainsArray:()=>to,useAccount:()=>z,useActiveChain:()=>co,useActiveChainCurrency:()=>lo,useActiveChainValidators:()=>uo,useActiveWalletType:()=>no,useBalance:()=>oo,useBalanceStaked:()=>ao,useBalances:()=>gn,useCheckWallet:()=>de,useConnect:()=>ro,useCosmWasmClient:()=>Ne,useCosmWasmSigningClient:()=>Eo,useCosmWasmTmSigningClient:()=>bo,useDisconnect:()=>io,useExecuteContract:()=>wo,useGrazEvents:()=>dn,useInstantiateContract:()=>yo,useOfflineSigners:()=>so,useQueryRaw:()=>So,useQuerySmart:()=>Co,useRecentChain:()=>mo,useSendIbcTokens:()=>ho,useSendTokens:()=>fo,useStargateClient:()=>We,useStargateSigningClient:()=>Ao,useStargateTmSigningClient:()=>Io,useSuggestChain:()=>po,useSuggestChainAndConnect:()=>go,useTendermintClient:()=>Me});module.exports=Tn(vo);var Y="graz-reconnect-session";var Le=require("zustand"),St=require("zustand/middleware"),ee=require("zustand/middleware");var Re=(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))(Re||{}),qe=["keplr","leap","vectis","cosmostation","walletconnect","wc_keplr_mobile","wc_leap_mobile","wc_cosmostation_mobile","metamask_snap_leap"];var xn={recentChain:null,defaultChain:null,defaultSigningClient:"stargate",walletType:"keplr",walletConnect:{options:null,web3Modal:null},_notFoundFn:()=>null,_onReconnectFailed:()=>null,_reconnect:!1,_reconnectConnector:null},ue={account:null,activeChain:null,balances:null,status:"disconnected",wcSignClient:null},vn={name:"graz-session",version:1,partialize:t=>({account:t.account,activeChain:t.activeChain}),storage:(0,St.createJSONStorage)(()=>sessionStorage)},On={name:"graz-internal",partialize:t=>({recentChain:t.recentChain,_reconnect:t._reconnect,_reconnectConnector:t._reconnectConnector}),version:1},g=(0,Le.create)((0,ee.subscribeWithSelector)((0,ee.persist)(()=>ue,vn))),f=(0,Le.create)((0,ee.subscribeWithSelector)((0,ee.persist)(()=>xn,On)));var me=()=>{if(typeof window.cosmostation.providers.keplr<"u"){let t=window.cosmostation.providers.keplr;return Object.assign(t,{subscription:r=>(window.cosmostation.cosmos.on("accountChanged",()=>{M(),r()}),()=>{window.cosmostation.cosmos.off("accountChanged",()=>{M(),r()})})})}throw f.getState()._notFoundFn(),new Error("window.cosmostation.providers.keplr is not defined")};var pe=()=>{if(typeof window.keplr<"u"){let t=window.keplr;return Object.assign(t,{subscription:r=>(window.addEventListener("keplr_keystorechange",()=>{M(),r()}),()=>{window.removeEventListener("keplr_keystorechange",()=>{M(),r()})})})}throw f.getState()._notFoundFn(),new Error("window.keplr is not defined")};var ge=()=>{if(typeof window.leap<"u"){let t=window.leap;return Object.assign(t,{subscription:r=>(window.addEventListener("leap_keystorechange",()=>{M(),r()}),()=>{window.removeEventListener("leap_keystorechange",()=>{M(),r()})})})}throw f.getState()._notFoundFn(),new Error("window.leap is not defined")};var Nt=Ee(be());var Mt=t=>{let e=window.ethereum;if(e&&t){let n=async()=>await e.request({method:"wallet_getSnaps"}),r=async y=>{try{let S=await n();return Object.values(S).find(O=>O.id===t.id&&(!y||O.version===y))}catch{return}},o=async()=>{await e.request({method:"wallet_requestSnaps",params:{[t.id]:t.params||{}}})},i=async()=>{let y=await e.request({method:"web3_clientVersion"});if(!(y==null?void 0:y.includes("flask")))throw new Error("Metamask Flask is not detected");return!0},s=async y=>{await r()||await o()},a=async(y,S,O)=>{let G=await e.request({method:"wallet_invokeSnap",params:{snapId:t.id,request:{method:"signDirect",params:{chainId:y,signerAddress:S,signDoc:O}}}}),Q=O.accountNumber,le=new Nt.default(Q.low,Q.high,Q.unsigned);return{signature:G.signature,signed:{...G.signed,accountNumber:`${le.toString()}`,authInfoBytes:new Uint8Array(Object.values(G.signed.authInfoBytes)),bodyBytes:new Uint8Array(Object.values(G.signed.bodyBytes))}}},c=async(y,S,O)=>await e.request({method:"wallet_invokeSnap",params:{snapId:t.id,request:{method:"signAmino",params:{chainId:y,signerAddress:S,signDoc:O}}}}),u=async y=>{let S=await e.request({method:"wallet_invokeSnap",params:{snapId:t.id,request:{method:"getKey",params:{chainId:y}}}});if(!S)throw new Error("No response from Metamask");return S.pubKey=Uint8Array.from(Object.values(S.pubkey)),delete S.pubkey,{...S}},h=async y=>{let S=await u(y);return{address:S.bech32Address,algo:S.algo,pubkey:S.pubKey}},A=async(...y)=>{let[S,O,G,Q]=y;return await c(S,O,G)},C=async(...y)=>{let[S,O,G]=y;return await a(S,O,G)},x=y=>({getAccounts:async()=>[await h(y)],signDirect:(S,O)=>C(y,S,O)}),N=y=>({getAccounts:async()=>[await h(y)],signAmino:(S,O)=>A(y,S,O)});return{getKey:u,getOfflineSigner:y=>({getAccounts:async()=>[await h(y)],signDirect:(S,O)=>C(y,S,O),signAmino:(S,O)=>A(y,S,O)}),getOfflineSignerAuto:async y=>(await u(y)).isNanoLedger?N(y):x(y),getOfflineSignerOnlyAmino:N,signDirect:C,signAmino:A,enable:s,experimentalSuggestChain:async(...y)=>{await e.request({method:"wallet_invokeSnap",params:{snapId:t.id,request:{method:"suggestChain",params:{chainInfo:y[0]}}}})},init:i}}throw f.getState()._notFoundFn(),new Error("window.ethereum is not defined")};var Ge=()=>Mt({id:"npm:@leapwallet/metamask-cosmos-snap"});var Dt=require("@cosmjs/encoding"),Ft=Ee(be());var fe=()=>{if(typeof window.vectis<"u"){let t=window.vectis.cosmos;return{enable:a=>t.enable(a),getOfflineSigner:a=>t.getOfflineSigner(a),getOfflineSignerAuto:a=>t.getOfflineSignerAuto(a),getKey:async a=>{let c=await t.getKey(a);return{address:(0,Dt.fromBech32)(c.address).data,algo:c.algo,bech32Address:c.address,name:c.name,pubKey:c.pubKey,isKeystone:!1,isNanoLedger:c.isNanoLedger}},subscription:a=>(window.addEventListener("vectis_accountChanged",()=>{M(),a()}),()=>{window.removeEventListener("vectis_accountChanged",()=>{M(),a()})}),getOfflineSignerOnlyAmino:(...a)=>t.getOfflineSignerAmino(...a),experimentalSuggestChain:async(...a)=>{let[c]=a,u={...c,rpcUrl:c.rpc,restUrl:c.rest,prettyName:c.chainName.replace(" ",""),bech32Prefix:c.bech32Config.bech32PrefixAccAddr};return t.suggestChains([u])},signDirect:async(...a)=>{var h;let{1:c,2:u}=a;return t.signDirect(c,{bodyBytes:u.bodyBytes||Uint8Array.from([]),authInfoBytes:u.authInfoBytes||Uint8Array.from([]),accountNumber:Ft.default.fromString(((h=u.accountNumber)==null?void 0:h.toString())||"",!1),chainId:u.chainId||""})},signAmino:async(...a)=>{let{1:c,2:u}=a;return t.signAmino(c,u)}}}throw f.getState()._notFoundFn(),new Error("window.vectis is not defined")};var qt=require("@cosmjs/encoding"),Lt=require("@walletconnect/sign-client"),Ut=require("@walletconnect/utils"),Bt=Ee(be());var j=()=>typeof window<"u"?!!(window.matchMedia("(pointer:coarse)").matches||/Android|webOS|iPhone|iPad|iPod|BlackBerry|Opera Mini/u.test(navigator.userAgent)):!1,_t=()=>j()&&navigator.userAgent.toLowerCase().includes("android"),Pt=()=>j()&&(navigator.userAgent.toLowerCase().includes("iphone")||navigator.userAgent.toLowerCase().includes("ipad"));var Rt=(t,e,n=new Error("Promise timed out"))=>{let r=new Promise((o,i)=>{setTimeout(()=>{i(n)},e)});return Promise.race([t,r])};var U=t=>{var Q,le,wt;if(!((wt=(le=(Q=f.getState().walletConnect)==null?void 0:Q.options)==null?void 0:le.projectId)!=null&&wt.trim()))throw new Error("walletConnect.options.projectId is not defined");let e=(t==null?void 0:t.encoding)||"base64",n=p=>{if(!t)return;let{appUrl:m,formatNativeUrl:d}=t;if(j()){if(_t())if(!p)window.open(m.mobile.android,"_self","noreferrer noopener");else{let w=d(m.mobile.android,p,"android");window.open(w,"_self","noreferrer noopener")}if(Pt())if(!p)window.open(m.mobile.ios,"_self","noreferrer noopener");else{let w=d(m.mobile.ios,p,"ios");window.open(w,"_self","noreferrer noopener")}}},r=()=>{let{wcSignClient:p}=g.getState();if(!p)throw new Error("walletConnect.signClient is not defined");M(),f.setState({_reconnect:!1,_reconnectConnector:null,recentChain:null})},o=async p=>{let{wcSignClient:m}=g.getState();if(!m)throw new Error("walletConnect.signClient is not defined");if(!p)throw new Error("No wallet connect session");await m.disconnect({topic:p,reason:(0,Ut.getSdkError)("USER_DISCONNECTED")}),await a(m),r()},i=p=>{var m,d;try{let{wcSignClient:w}=g.getState();if(!w)throw new Error("walletConnect.signClient is not defined");let b=w.session.getAll().at(-1);if(!b)return;let v=(d=(m=w.session.getAll().at(-1))==null?void 0:m.namespaces.cosmos)==null?void 0:d.accounts.find(k=>k.startsWith(`cosmos:${p}`));if(!(b.expiry*1e3>Date.now()+1e3))throw o(b.topic),new Error("invalid session");if(!v)try{let k=w.find({requiredNamespaces:{cosmos:{methods:["cosmos_getAccounts","cosmos_signAmino","cosmos_signDirect"],chains:[`cosmos:${p}`],events:["chainChanged","accountsChanged"]}}});if(!k.length)throw new Error("no session");return k.at(-1)}catch(k){if(!k.message.toLowerCase().includes("no matching key"))throw k}return b}catch(w){if(!w.message.toLowerCase().includes("no matching key"))throw w}},s=p=>{try{return i(p)}catch{return}},a=async p=>{try{let m=p.core.pairing.pairings.getAll({active:!1});if(!m.length)return;await Promise.all(m.map(async d=>{await p.core.pairing.pairings.delete(d.topic,{code:7001,message:"clear pairing"})}))}catch(m){if(!m.message.toLowerCase().includes("no matching key"))throw m}},c=async()=>{let{walletConnect:p}=f.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 d=await Lt.SignClient.init(p.options);return g.setState({wcSignClient:d}),d},u=p=>{let{wcSignClient:m}=g.getState();if(m)return m.events.on("session_delete",d=>{r()}),m.events.on("session_expire",d=>{r()}),m.events.on("session_event",d=>{var w,b;if(d.params.event.name==="accountsChanged"&&((w=d.params.event.data)==null?void 0:w[0])!==((b=g.getState().account)==null?void 0:b.bech32Address)){let v=d.params.chainId.split(":")[1];v&&h(v)}else p()}),()=>{m.events.off("session_delete",d=>{r()}),m.events.off("session_expire",d=>{r()}),m.events.off("session_event",d=>{var w,b;if(d.params.event.name==="accountsChanged"&&((w=d.params.event.data)==null?void 0:w[0])!==((b=g.getState().account)==null?void 0:b.bech32Address)){let v=d.params.chainId.split(":")[1];v&&h(v)}else p()})}},h=async p=>{var we;let{wcSignClient:m}=g.getState();if(!m)throw new Error("enable walletConnect.signClient is not defined");let{walletConnect:d}=f.getState();if(!((we=d==null?void 0:d.options)!=null&&we.projectId))throw new Error("walletConnect.options.projectId is not defined");let{Web3Modal:w}=await import("@web3modal/standalone"),b=new w({projectId:d.options.projectId,walletConnectVersion:2,enableExplorer:!1,explorerRecommendedWalletIds:"NONE",...d.web3Modal}),{account:v,activeChain:K}=g.getState(),k=s(p);if((K==null?void 0:K.chainId)!==p&&!k||!v){let{uri:D,approval:Ce}=await m.connect({requiredNamespaces:{cosmos:{methods:["cosmos_getAccounts","cosmos_signAmino","cosmos_signDirect"],chains:[`cosmos:${p}`],events:["chainChanged","accountsChanged"]}}});if(!D)throw new Error("No wallet connect uri");t?n(D):await b.openModal({uri:D});let yn=async H=>H.aborted?Promise.reject(new Error("User closed wallet connect")):new Promise((Pe,Se)=>{Ce().then(Pe).catch(Se),H.addEventListener("abort",()=>{Se(new Error("User closed wallet connect"))})});try{let H=new AbortController,Pe=H.signal;b.subscribeModal(Se=>{Se.open||H.abort()}),await yn(Pe)}catch(H){if(b.closeModal(),!H.message.toLowerCase().includes("no matching key"))return Promise.reject(H)}return t||b.closeModal(),Promise.resolve()}try{await Rt((async()=>{let D=await C(p);g.setState({account:D})})(),15e3,new Error("Connection timeout"))}catch(D){if(o(k==null?void 0:k.topic),!D.message.toLowerCase().includes("no matching key"))throw D}},A=async p=>{var b;let{wcSignClient:m}=g.getState();if(!m)throw new Error("walletConnect.signClient is not defined");let d=(b=i(p))==null?void 0:b.topic;if(!d)throw new Error("No wallet connect session");n();let w=await m.request({topic:d,chainId:`cosmos:${p}`,request:{method:"cosmos_getAccounts",params:{}}});if(!w[0])throw new Error("No wallet connect account");return{address:w[0].address,algo:w[0].algo,pubkey:new Uint8Array(Buffer.from(w[0].pubkey,e))}},C=async p=>{let{address:m,algo:d,pubkey:w}=await A(p);return{address:(0,qt.fromBech32)(m).data,algo:d,bech32Address:m,name:"",pubKey:w,isKeystone:!1,isNanoLedger:!1}},x=async(...p)=>{var D,Ce;let[m,d,w]=p,{account:b,wcSignClient:v}=g.getState();if(!v)throw new Error("walletConnect.signClient is not defined");if(!b)throw new Error("account is not defined");let K=(D=i(m))==null?void 0:D.topic;if(!K)throw new Error("No wallet connect session");if(!w.bodyBytes)throw new Error("No bodyBytes");if(!w.authInfoBytes)throw new Error("No authInfoBytes");let k={topic:K,chainId:`cosmos:${m}`,request:{method:"cosmos_signDirect",params:{signerAddress:d,signDoc:{...w,bodyBytes:Buffer.from(w.bodyBytes).toString(e),authInfoBytes:Buffer.from(w.authInfoBytes).toString(e),accountNumber:(Ce=w.accountNumber)==null?void 0:Ce.toString()}}}};return n(),await v.request(k)},N=async(...p)=>{let[m,d,w]=p,{signature:b,signed:v}=await x(m,d,w);return{signed:{chainId:v.chainId,accountNumber:Bt.default.fromString(v.accountNumber,!1),authInfoBytes:new Uint8Array(Buffer.from(v.authInfoBytes,e)),bodyBytes:new Uint8Array(Buffer.from(v.bodyBytes,e))},signature:b}},ce=async(...p)=>{var D;let[m,d,w,b]=p,{wcSignClient:v}=g.getState(),{account:K}=g.getState();if(!v)throw new Error("walletConnect.signClient is not defined");if(!K)throw new Error("account is not defined");let k=(D=i(m))==null?void 0:D.topic;if(!k)throw new Error("No wallet connect session");return n(),await v.request({topic:k,chainId:`cosmos:${m}`,request:{method:"cosmos_signDirect",params:{signerAddress:d,signDoc:w}}})},Z=async(...p)=>{let[m,d,w,b]=p;return await ce(m,d,w)},yt=p=>({getAccounts:async()=>[await A(p)],signDirect:(m,d)=>N(p,m,d)}),y=p=>({getAccounts:async()=>[await A(p)],signAmino:(m,d)=>Z(p,m,d)});return{enable:h,experimentalSuggestChain:async(...p)=>{await Promise.reject(new Error("WalletConnect does not support experimentalSuggestChain"))},getKey:C,getOfflineSigner:p=>({getAccounts:async()=>[await A(p)],signDirect:(m,d)=>N(p,m,d),signAmino:(m,d)=>Z(p,m,d)}),getOfflineSignerAuto:async p=>(await C(p)).isNanoLedger?y(p):yt(p),getOfflineSignerOnlyAmino:y,signAmino:Z,signDirect:N,subscription:u,init:c}};var je=()=>{var e,n,r;if(!((r=(n=(e=f.getState().walletConnect)==null?void 0:e.options)==null?void 0:n.projectId)!=null&&r.trim()))throw new Error("walletConnect.options.projectId is not defined");if(!j())throw new Error("WalletConnect Leap mobile is only supported in mobile");let t={encoding:"hex",appUrl:{mobile:{ios:"cosmostation://",android:"cosmostation://"}},walletType:"wc_leap_mobile",formatNativeUrl:(o,i,s)=>`${o.replaceAll("/","").replaceAll(":","")}://wc?${i}`};return U(t)};var Ke=()=>{var e,n,r;if(!((r=(n=(e=f.getState().walletConnect)==null?void 0:e.options)==null?void 0:n.projectId)!=null&&r.trim()))throw new Error("walletConnect.options.projectId is not defined");if(!j())throw new Error("WalletConnect Keplr mobile is only supported in mobile");let t={encoding:"base64",appUrl:{mobile:{ios:"keplrwallet://",android:"intent://"}},walletType:"wc_keplr_mobile",formatNativeUrl:(o,i,s)=>{let a=o.replaceAll("/","").replaceAll(":",""),c=encodeURIComponent(i);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 U(t)};var ze=()=>{var e,n,r;if(!((r=(n=(e=f.getState().walletConnect)==null?void 0:e.options)==null?void 0:n.projectId)!=null&&r.trim()))throw new Error("walletConnect.options.projectId is not defined");if(!j())throw new Error("WalletConnect Leap mobile is only supported in mobile");let t={encoding:"base64",appUrl:{mobile:{ios:"leapcosmos://",android:"intent://"}},walletType:"wc_leap_mobile",formatNativeUrl:(o,i,s)=>{let a=o.replaceAll("/","").replaceAll(":",""),c=encodeURIComponent(i);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 U(t)};var W=(t=f.getState().walletType)=>{try{return T(t),!0}catch{return!1}},M=()=>{window.sessionStorage.removeItem(Y),g.setState(ue)},T=(t=f.getState().walletType)=>{switch(t){case"keplr":return pe();case"leap":return ge();case"cosmostation":return me();case"vectis":return fe();case"walletconnect":return U();case"wc_keplr_mobile":return Ke();case"wc_leap_mobile":return ze();case"wc_cosmostation_mobile":return je();case"metamask_snap_leap":return Ge();default:throw new Error("Unknown wallet type")}},Wn=()=>Object.fromEntries(qe.map(t=>[t,W(t)]));var oe=async t=>{var e;try{let{defaultChain:n,recentChain:r,walletType:o}=f.getState(),i=(t==null?void 0:t.walletType)||o;if(!W(i))throw new Error(`${i} is not available`);let a=T(i),c=(t==null?void 0:t.chain)||r||n;if(!c)throw new Error("No last known connected chain, connect action requires chain info");g.setState(C=>{let x=f.getState()._reconnect||!!f.getState()._reconnectConnector||!!c;return C.activeChain&&C.activeChain.chainId!==c.chainId?{status:"connecting"}:x?{status:"reconnecting"}:{status:"connecting"}});let{account:u,activeChain:h}=g.getState();if(await((e=a.init)==null?void 0:e.call(a)),!u||(h==null?void 0:h.chainId)!==c.chainId){await a.enable(c.chainId);let C=await a.getKey(c.chainId);g.setState({account:C})}f.setState({recentChain:c,walletType:i,_reconnect:!!(t!=null&&t.autoReconnect),_reconnectConnector:i}),g.setState({activeChain:c,status:"connected"}),typeof window<"u"&&window.sessionStorage.setItem(Y,"Active");let{account:A}=g.getState();return{account:A,walletType:i,chain:c}}catch(n){throw console.error("connect ",n),g.getState().account===null&&g.setState({status:"disconnected"}),g.getState().account&&g.getState().activeChain&&g.setState({status:"connected"}),n}},Te=async(t=!1)=>(typeof window<"u"&&window.sessionStorage.removeItem(Y),g.setState(ue),f.setState(e=>({_reconnect:!1,_reconnectConnector:null,recentChain:t?null:e.recentChain})),Promise.resolve()),B=async t=>{var o;let{recentChain:e,_reconnectConnector:n,_reconnect:r}=f.getState();try{let i=W(n||void 0);if(e&&i&&n)return await oe({chain:e,walletType:n,autoReconnect:r})}catch(i){(o=t==null?void 0:t.onError)==null||o.call(t,i),Te()}},Qe=async t=>{if(!(t!=null&&t.chainId))throw new Error("chainId is required");let{walletType:e}=f.getState(),n=t.walletType||e;if(!W(n))throw new Error(`${n} is not available`);let o=T(n),i=o.getOfflineSigner(t.chainId),s=o.getOfflineSignerOnlyAmino(t.chainId),a=await o.getOfflineSignerAuto(t.chainId);return{offlineSigner:i,offlineSignerAmino:s,offlineSignerAuto:a}};var He=()=>{f.setState({recentChain:null})},Ve=t=>{let{activeChain:e}=g.getState();return e==null?void 0:e.currencies.find(n=>n.coinMinimalDenom===t)},Nn=()=>f.getState().recentChain,xe=async t=>(await T().experimentalSuggestChain(t),t),$e=async({chainInfo:t,rpcHeaders:e,gas:n,path:r,...o})=>{let i=await xe(t);return{...await oe({chain:{chainId:t.chainId,currencies:t.currencies,rest:t.rest,rpc:t.rpc,rpcHeaders:e,gas:n,path:r},...o}),chain:i}};var Ze=(t={})=>(f.setState(e=>({defaultChain:t.defaultChain||e.defaultChain,defaultSigningClient:t.defaultSigningClient||e.defaultSigningClient,walletConnect:t.walletConnect||e.walletConnect,walletType:t.defaultWallet||e.walletType,_notFoundFn:t.onNotFound||e._notFoundFn,_onReconnectFailed:t.onReconnectFailed||e._onReconnectFailed,_reconnect:t.autoReconnect===void 0?!0:t.autoReconnect||e._reconnect})),t);var Ye=async({signingClient:t,senderAddress:e,recipientAddress:n,amount:r,fee:o,memo:i})=>{if(!t)throw new Error("No connected account detected");if(!e)throw new Error("senderAddress is not defined");return t.sendTokens(e,n,r,o,i)},Xe=async({signingClient:t,senderAddress:e,recipientAddress:n,transferAmount:r,sourcePort:o,sourceChannel:i,timeoutHeight:s,timeoutTimestamp:a,fee:c,memo:u})=>{if(!t)throw new Error("Stargate signing client is not ready");if(!e)throw new Error("senderAddress is not defined");return t.sendIbcTokens(e,n,r,o,i,s,a,c,u)},Je=async({signingClient:t,senderAddress:e,msg:n,fee:r,options:o,label:i,codeId:s})=>{if(!t)throw new Error("CosmWasm signing client is not ready");return t.instantiate(e,s,n,i,r,o)},et=async({signingClient:t,senderAddress:e,msg:n,fee:r,contractAddress:o,funds:i,memo:s})=>{if(!t)throw new Error("CosmWasm signing client is not ready");return t.execute(e,o,n,r,s,i)},tt=async(t,e,n)=>{if(!n)throw new Error("CosmWasm client is not ready");return await n.queryContractSmart(t,e)},nt=(t,e,n)=>{if(!n)throw new Error("CosmWasm client is not ready");let r=new TextEncoder().encode(e);return n.queryContractRaw(t,r)};var jt=require("@keplr-wallet/cosmos"),Kt={coinDenom:"axl",coinMinimalDenom:"uaxl",coinDecimals:6,coinGeckoId:"axelar-network",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/axl.png"},Mn={coinDenom:"usdc",coinMinimalDenom:"uusdc",coinDecimals:6,coinGeckoId:"usd-coin",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/usdc.png"},Dn={coinDenom:"dai",coinMinimalDenom:"dai-wei",coinDecimals:18,coinGeckoId:"dai",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/dai.png"},Fn={coinDenom:"usdt",coinMinimalDenom:"uusdt",coinDecimals:6,coinGeckoId:"tether",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/usdt.png"},_n={coinDenom:"weth-wei",coinMinimalDenom:"weth",coinDecimals:18,coinGeckoId:"weth",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/weth.png"},Pn={coinDenom:"wbtc-satoshi",coinMinimalDenom:"wbtc",coinDecimals:8,coinGeckoId:"wrapped-bitcoin",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/wbtc.png"},Gt=[Kt,Mn,Dn,Fn,_n,Pn],ot={rpc:"https://rpc.axelar.strange.love",rest:"https://api.axelar.strange.love",chainId:"axelar-dojo-1",chainName:"Axelar",stakeCurrency:Kt,bip44:{coinType:118},bech32Config:jt.Bech32Address.defaultBech32Config("axelar"),currencies:Gt,feeCurrencies:Gt};var Qt=require("@keplr-wallet/cosmos"),Ht={coinDenom:"atom",coinMinimalDenom:"uatom",coinDecimals:6,coinGeckoId:"cosmos",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/cosmoshub/images/atom.png"},zt=[Ht],rt={rpc:"https://rpc.cosmoshub.strange.love",rest:"https://api.cosmoshub.strange.love",chainId:"cosmoshub-4",chainName:"Cosmos Hub",stakeCurrency:Ht,bip44:{coinType:118},bech32Config:Qt.Bech32Address.defaultBech32Config("cosmos"),currencies:zt,feeCurrencies:zt};var $t=require("@keplr-wallet/cosmos"),Zt={coinDenom:"juno",coinMinimalDenom:"ujuno",coinDecimals:6,coinGeckoId:"juno-network",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/juno.png"},Rn={coinDenom:"neta",coinMinimalDenom:"cw20:juno168ctmpyppk90d34p3jjy658zf5a5l3w8wk35wht6ccqj4mr0yv8s4j5awr",coinDecimals:6,coinGeckoId:"neta",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/neta.png"},qn={coinDenom:"marble",coinMinimalDenom:"cw20:juno1g2g7ucurum66d42g8k5twk34yegdq8c82858gz0tq2fc75zy7khssgnhjl",coinDecimals:3,coinGeckoId:"marble",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/marble.png"},Ln={coinDenom:"hope",coinMinimalDenom:"cw20:juno1re3x67ppxap48ygndmrc7har2cnc7tcxtm9nplcas4v0gc3wnmvs3s807z",coinDecimals:6,coinGeckoId:"hope-galaxy",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/hope.png"},Un={coinDenom:"rac",coinMinimalDenom:"cw20:juno1r4pzw8f9z0sypct5l9j906d47z998ulwvhvqe5xdwgy8wf84583sxwh0pa",coinDecimals:6,coinGeckoId:"racoon",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/rac.png"},Bn={coinDenom:"block",coinMinimalDenom:"cw20:juno1y9rf7ql6ffwkv02hsgd4yruz23pn4w97p75e2slsnkm0mnamhzysvqnxaq",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/block.png"},Gn={coinDenom:"dhk",coinMinimalDenom:"cw20:juno1tdjwrqmnztn2j3sj2ln9xnyps5hs48q3ddwjrz7jpv6mskappjys5czd49",coinDecimals:0,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/dhk.png"},jn={coinDenom:"raw",coinMinimalDenom:"cw20:juno15u3dt79t6sxxa3x3kpkhzsy56edaa5a66wvt3kxmukqjz2sx0hes5sn38g",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/raw.png",coinGeckoId:"junoswap-raw-dao"},Kn={coinDenom:"asvt",coinMinimalDenom:"cw20:juno17wzaxtfdw5em7lc94yed4ylgjme63eh73lm3lutp2rhcxttyvpwsypjm4w",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/asvt.png"},zn={coinDenom:"hns",coinMinimalDenom:"cw20:juno1ur4jx0sxchdevahep7fwq28yk4tqsrhshdtylz46yka3uf6kky5qllqp4k",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/hns.svg"},Qn={coinDenom:"joe",coinMinimalDenom:"cw20:juno1n7n7d5088qlzlj37e9mgmkhx6dfgtvt02hqxq66lcap4dxnzdhwqfmgng3",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/joe.png"},Vt=[Zt,Rn,qn,Ln,Un,Bn,Gn,jn,Kn,zn,Qn],it={rpc:"https://rpc.juno.strange.love",rest:"https://api.juno.strange.love",chainId:"juno-1",chainName:"Juno",stakeCurrency:Zt,bip44:{coinType:118},bech32Config:$t.Bech32Address.defaultBech32Config("juno"),currencies:Vt,feeCurrencies:Vt};var Xt=require("@keplr-wallet/cosmos"),Jt={coinDenom:"osmo",coinMinimalDenom:"uosmo",coinDecimals:6,coinGeckoId:"osmosis",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/cosmoshub/images/atom.png"},Hn={coinDenom:"ion",coinMinimalDenom:"uion",coinDecimals:6,coinGeckoId:"ion",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/ion.png"},Yt=[Jt,Hn],st={rpc:"https://rpc.osmosis.strange.love",rest:"https://api.osmosis.strange.love",chainId:"osmosis-1",chainName:"Osmosis",stakeCurrency:Jt,bip44:{coinType:118},bech32Config:Xt.Bech32Address.defaultBech32Config("osmo"),currencies:Yt,feeCurrencies:Yt};var tn=require("@keplr-wallet/cosmos"),nn={coinDenom:"somm",coinMinimalDenom:"usomm",coinDecimals:6,coinGeckoId:"sommelier",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/sommelier/images/somm.png"},en=[nn],at={rpc:"https://rpc.sommelier.strange.love",rest:"https://api.sommelier.strange.love",chainId:"sommelier-3",chainName:"Sommelier",stakeCurrency:nn,bip44:{coinType:118},bech32Config:tn.Bech32Address.defaultBech32Config("somm"),currencies:en,feeCurrencies:en};var rn=require("@keplr-wallet/cosmos"),sn={coinDenom:"CRE",coinMinimalDenom:"ucre",coinDecimals:6,coinGeckoId:"crescent",coinImageUrl:"https://raw.githubusercontent.com/crescent-network/asset/main/images/coin/CRE.png"},on=[sn],ct={rpc:"https://testnet-endpoint.crescent.network/rpc/crescent",rest:"https://testnet-endpoint.crescent.network/api/crescent",chainId:"mooncat-1-1",chainName:"Crescent Testnet",bip44:{coinType:118},bech32Config:rn.Bech32Address.defaultBech32Config("CRE"),currencies:on,feeCurrencies:on,stakeCurrency:sn,coinType:118};var an=require("@keplr-wallet/cosmos"),lt={coinDenom:"junox",coinMinimalDenom:"ujunox",coinDecimals:6,coinGeckoId:"juno-network",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/juno.png"},Vn=[lt],ut={rpc:"https://rpc.uni.junonetwork.io",rest:"https://api.uni.junonetwork.io",chainId:"uni-5",chainName:"Juno Testnet",stakeCurrency:lt,bip44:{coinType:118},bech32Config:an.Bech32Address.defaultBech32Config("juno"),currencies:Vn,feeCurrencies:[lt],coinType:118};var cn=require("@keplr-wallet/cosmos"),mt={coinDenom:"osmo",coinMinimalDenom:"uosmo",coinDecimals:6,coinGeckoId:"osmosis",coinImageUrl:"https://dhj8dql1kzq2v.cloudfront.net/white/osmo.png"},$n=[mt],pt={rpc:"https://testnet-rpc.osmosis.zone",rest:"https://testnet-rest.osmosis.zone",chainId:"osmo-test-4",chainName:"Osmosis Testnet",stakeCurrency:mt,bip44:{coinType:118},bech32Config:cn.Bech32Address.defaultBech32Config("osmo"),currencies:$n,feeCurrencies:[mt],coinType:118};var gt=t=>t,Zn=t=>t,Yn=t=>t,Xn=gt({axelar:ot,cosmoshub:rt,juno:it,osmosis:st,sommelier:at}),Jn=[ot,rt,it,st,at],eo=gt({crescent:ct,juno:ut,osmosis:pt}),to=[ct,ut,pt];var V=require("@tanstack/react-query"),re=require("react");var ln=require("@cosmjs/cosmwasm-stargate"),un=require("@cosmjs/stargate"),ve=require("@cosmjs/tendermint-rpc"),Oe=require("@tanstack/react-query"),ke=require("react");var We=()=>{let t=g(n=>n.activeChain),e=(0,ke.useMemo)(()=>["USE_STARGATE_CLIENT",t],[t]);return(0,Oe.useQuery)({queryKey:e,queryFn:async({queryKey:[,n]})=>{if(!n)throw new Error("No chain found");let r={url:n.rpc,headers:{...n.rpcHeaders||{}}};return await un.StargateClient.connect(r)},enabled:!!t,refetchOnWindowFocus:!1})},Ne=()=>{let t=g(n=>n.activeChain),e=(0,ke.useMemo)(()=>["USE_COSMWASM_CLIENT",t],[t]);return(0,Oe.useQuery)({queryKey:e,queryFn:async({queryKey:[,n]})=>{if(!n)throw new Error("No chain found");let r={url:n.rpc,headers:{...n.rpcHeaders||{}}};return await ln.CosmWasmClient.connect(r)},enabled:!!t,refetchOnWindowFocus:!1})},Me=t=>{let e=g(r=>r.activeChain),n=(0,ke.useMemo)(()=>["USE_TENDERMINT_CLIENT",t,e],[t,e]);return(0,Oe.useQuery)({queryKey:n,queryFn:async({queryKey:[,r,o]})=>{if(!o)throw new Error("No chain found");let i={url:o.rpc,headers:{...o.rpcHeaders||{}}};return await(r==="tm37"?ve.Tendermint37Client:ve.Tendermint34Client).connect(i)},enabled:!!e,refetchOnWindowFocus:!1})};var mn=require("@tanstack/react-query"),pn=require("zustand/shallow");var no=()=>f(t=>({walletType:t.walletType,isCosmostation:t.walletType==="cosmostation",isCosmostationMobile:t.walletType==="wc_cosmostation_mobile",isKeplr:t.walletType==="keplr",isKeplrMobile:t.walletType==="wc_keplr_mobile",isLeap:t.walletType==="leap",isLeapMobile:t.walletType==="wc_leap_mobile",isVectis:t.walletType==="vectis",isWalletConnect:t.walletType==="walletconnect"}),pn.shallow),de=t=>{let n=["USE_CHECK_WALLET",f(o=>t||o.walletType)];return(0,mn.useQuery)(n,({queryKey:[,o]})=>W(o))};var z=({onConnect:t,onDisconnect:e}={})=>{let n=g(o=>o.account),r=g(o=>o.status);return(0,re.useEffect)(()=>g.subscribe(o=>o.status,(o,i)=>{if(o==="connected"){let{account:s,activeChain:a}=g.getState(),{walletType:c}=f.getState();t==null||t({account:s,chain:a,walletType:c,isReconnect:i==="reconnecting"})}o==="disconnected"&&(e==null||e())}),[t,e]),{data:n,isConnected:!!n,isConnecting:r==="connecting",isDisconnected:r==="disconnected",isReconnecting:r==="reconnecting",isLoading:r==="connecting"||r==="reconnecting",reconnect:B,status:r}},gn=t=>{let{data:e}=z(),{data:n}=We(),{activeChain:r}=g.getState(),o=t||(e==null?void 0:e.bech32Address),i=(0,re.useMemo)(()=>["USE_ALL_BALANCES",n,r,o],[r,o,n]);return(0,V.useQuery)(i,async({queryKey:[,a,c,u]})=>{if(!c||!a)throw new Error("No connected account detected");if(!u)throw new Error("address is not defined");return await a.getAllBalances(u)},{enabled:!!o&&!!r&&!!n,refetchOnMount:!1,refetchOnReconnect:!0,refetchOnWindowFocus:!1})},oo=(t,e)=>{let{data:n}=z(),r=e||(n==null?void 0:n.bech32Address),{data:o,refetch:i}=gn(r),a=(0,V.useQuery)(["USE_BALANCE",o,t,e],({queryKey:[,c]})=>c==null?void 0:c.find(u=>u.denom===t),{enabled:!!o});return{...a,refetch:async()=>(await i(),a.refetch())}},ro=({onError:t,onLoading:e,onSuccess:n}={})=>{let o=(0,V.useMutation)(["USE_CONNECT",t,e,n],oe,{onError:(s,a)=>Promise.resolve(t==null?void 0:t(s,a)),onMutate:e,onSuccess:s=>Promise.resolve(n==null?void 0:n(s))}),{data:i}=de();return{connect:s=>o.mutate(s),connectAsync:s=>o.mutateAsync(s),error:o.error,isLoading:o.isLoading,isSuccess:o.isSuccess,isSupported:!!i,status:o.status}},io=({onError:t,onLoading:e,onSuccess:n}={})=>{let o=(0,V.useMutation)(["USE_DISCONNECT",t,e,n],Te,{onError:i=>Promise.resolve(t==null?void 0:t(i,void 0)),onMutate:e,onSuccess:()=>Promise.resolve(n==null?void 0:n(void 0))});return{disconnect:i=>o.mutate(i),disconnectAsync:i=>o.mutateAsync(i),error:o.error,isLoading:o.isLoading,isSuccess:o.isSuccess,status:o.status}},so=()=>{let t=g(r=>r.activeChain),e=f(r=>r.walletType),n=(0,re.useMemo)(()=>["USE_OFFLINE_SIGNERS",t,e],[t,e]);return(0,V.useQuery)({queryKey:n,queryFn:async({queryKey:[,r,o]})=>{if(!r)throw new Error("No chain found");if(!W(o))throw new Error(`${o} is not available`);return await Qe({chainId:r.chainId,walletType:o})},enabled:!!t&&!!e,refetchOnWindowFocus:!1})},ao=t=>{let{data:e}=z(),{data:n}=We(),{activeChain:r}=g.getState(),o=t||(e==null?void 0:e.bech32Address),i=(0,re.useMemo)(()=>["USE_BALANCE_STAKED",n,r,o],[r,o,n]);return(0,V.useQuery)(i,async({queryKey:[,a,c,u]})=>{if(!c||!a)throw new Error("No connected account detected");if(!u)throw new Error("address is not defined");return await a.getBalanceStaked(u)},{enabled:!!o&&!!r&&!!n,refetchOnMount:!1,refetchOnReconnect:!0,refetchOnWindowFocus:!1})};var ie=require("@tanstack/react-query");var co=()=>g(t=>t.activeChain),lo=t=>(0,ie.useQuery)(["USE_ACTIVE_CHAIN_CURRENCY",t],({queryKey:[,r]})=>Ve(r)),uo=(t,e="BOND_STATUS_BONDED")=>(0,ie.useQuery)(["USE_ACTIVE_CHAIN_VALIDATORS",t,e],async({queryKey:[,o,i]})=>{if(!o)throw new Error("Query client is not defined");return await o.staking.validators(i)},{enabled:typeof t<"u"}),mo=()=>({data:f(e=>e.recentChain),clear:He}),po=({onError:t,onLoading:e,onSuccess:n}={})=>{let o=(0,ie.useMutation)(["USE_SUGGEST_CHAIN",t,e,n],xe,{onError:(i,s)=>Promise.resolve(t==null?void 0:t(i,s)),onMutate:e,onSuccess:i=>Promise.resolve(n==null?void 0:n(i))});return{error:o.error,isLoading:o.isLoading,isSuccess:o.isSuccess,suggest:o.mutate,suggestAsync:o.mutateAsync,status:o.status}},go=({onError:t,onLoading:e,onSuccess:n}={})=>{let o=(0,ie.useMutation)(["USE_SUGGEST_CHAIN_AND_CONNECT",t,e,n],$e,{onError:(s,a)=>Promise.resolve(t==null?void 0:t(s,a)),onMutate:s=>e==null?void 0:e(s),onSuccess:s=>Promise.resolve(n==null?void 0:n(s))}),{data:i}=de();return{error:o.error,isLoading:o.isLoading,isSuccess:o.isSuccess,isSupported:!!i,status:o.status,suggestAndConnect:o.mutate,suggestAndConnectAsync:o.mutateAsync}};var $=require("@tanstack/react-query");var fo=({onError:t,onLoading:e,onSuccess:n}={})=>{let{data:r}=z(),o=r==null?void 0:r.bech32Address,i=(0,$.useMutation)(["USE_SEND_TOKENS",t,e,n,o],s=>Ye({senderAddress:o,...s}),{onError:(s,a)=>Promise.resolve(t==null?void 0:t(s,a)),onMutate:e,onSuccess:s=>Promise.resolve(n==null?void 0:n(s))});return{error:i.error,isLoading:i.isLoading,isSuccess:i.isSuccess,sendTokens:i.mutate,sendTokensAsync:i.mutateAsync,status:i.status}},ho=({onError:t,onLoading:e,onSuccess:n}={})=>{let{data:r}=z(),o=r==null?void 0:r.bech32Address,i=(0,$.useMutation)(["USE_SEND_IBC_TOKENS",t,e,n,o],s=>Xe({senderAddress:o,...s}),{onError:(s,a)=>Promise.resolve(t==null?void 0:t(s,a)),onMutate:e,onSuccess:s=>Promise.resolve(n==null?void 0:n(s))});return{error:i.error,isLoading:i.isLoading,isSuccess:i.isSuccess,sendIbcTokens:i.mutate,sendIbcTokensAsync:i.mutateAsync,status:i.status}},yo=({codeId:t,onError:e,onLoading:n,onSuccess:r})=>{let{data:o}=z(),i=o==null?void 0:o.bech32Address,a=(0,$.useMutation)(["USE_INSTANTIATE_CONTRACT",e,n,r,t,i],c=>{if(!i)throw new Error("senderAddress is undefined");let u={...c,fee:c.fee??"auto",senderAddress:i,codeId:t};return Je(u)},{onError:(c,u)=>Promise.resolve(e==null?void 0:e(c,u)),onMutate:n,onSuccess:c=>Promise.resolve(r==null?void 0:r(c))});return{error:a.error,isLoading:a.isLoading,isSuccess:a.isSuccess,instantiateContract:a.mutate,instantiateContractAsync:a.mutateAsync,status:a.status}},wo=({contractAddress:t,onError:e,onLoading:n,onSuccess:r})=>{let{data:o}=z(),i=o==null?void 0:o.bech32Address,a=(0,$.useMutation)(["USE_EXECUTE_CONTRACT",e,n,r,t,i],c=>{if(!i)throw new Error("senderAddress is undefined");let u={...c,fee:c.fee??"auto",senderAddress:i,contractAddress:t,memo:c.memo??"",funds:c.funds??[]};return et(u)},{onError:(c,u)=>Promise.resolve(e==null?void 0:e(c,u)),onMutate:n,onSuccess:c=>Promise.resolve(r==null?void 0:r(c))});return{error:a.error,isLoading:a.isLoading,isSuccess:a.isSuccess,executeContract:a.mutate,executeContractAsync:a.mutateAsync,status:a.status}},Co=(t,e)=>{let{data:n}=Ne();return(0,$.useQuery)(["USE_QUERY_SMART",t,e,n],({queryKey:[,o]})=>{if(!t||!e)throw new Error("address or queryMsg undefined");return tt(t,e,n)},{enabled:!!t&&!!e&&!!n})},So=(t,e)=>{let{data:n}=Ne();return(0,$.useQuery)(["USE_QUERY_RAW",e,t,n],({queryKey:[,i]})=>{if(!t||!e)throw new Error("address or key undefined");return nt(t,e,n)},{enabled:!!t&&!!e&&!!n})};var ft=require("@cosmjs/cosmwasm-stargate"),se=require("@cosmjs/stargate"),he=require("@tanstack/react-query"),ye=require("react");var Ao=t=>{let e=g(o=>o.activeChain),n=f(o=>o.walletType),r=(0,ye.useMemo)(()=>["USE_STARGATE_SIGNING_CLIENT",e,n,t],[t,e,n]);return(0,he.useQuery)({queryKey:r,queryFn:async({queryKey:[,o,i,s]})=>{if(!o)throw new Error("No chain found");if(!W(i))throw new Error(`${i} is not available`);let c=await(async()=>{switch(t==null?void 0:t.offlineSigner){case"offlineSigner":return T(i).getOfflineSigner(o.chainId);case"offlineSignerAuto":return T(i).getOfflineSignerAuto(o.chainId);case"offlineSignerOnlyAmino":return T(i).getOfflineSignerOnlyAmino(o.chainId);default:return T(i).getOfflineSignerAuto(o.chainId)}})(),u={url:o.rpc,headers:{...o.rpcHeaders||{}}};return await se.SigningStargateClient.connectWithSigner(u,c,s==null?void 0:s.opts)},enabled:!!e&&!!n,refetchOnWindowFocus:!1})},Eo=t=>{let e=g(o=>o.activeChain),n=f(o=>o.walletType),r=(0,ye.useMemo)(()=>["USE_COSMWASM_SIGNING_CLIENT",e,n,t],[t,e,n]);return(0,he.useQuery)({queryKey:r,queryFn:async({queryKey:[,o,i,s]})=>{if(!o)throw new Error("No chain found");if(!W(i))throw new Error(`${i} is not available`);let c=await(async()=>{switch(t==null?void 0:t.offlineSigner){case"offlineSigner":return T(i).getOfflineSigner(o.chainId);case"offlineSignerAuto":return T(i).getOfflineSignerAuto(o.chainId);case"offlineSignerOnlyAmino":return T(i).getOfflineSignerOnlyAmino(o.chainId);default:return T(i).getOfflineSignerAuto(o.chainId)}})(),u={url:o.rpc,headers:{...o.rpcHeaders||{}}},h=o.gas?se.GasPrice.fromString(`${o.gas.price}${o.gas.denom}`):void 0;return await ft.SigningCosmWasmClient.connectWithSigner(u,c,{gasPrice:h,...(s==null?void 0:s.opts)||{}})},enabled:!!e&&!!n,refetchOnWindowFocus:!1})},Io=t=>{let e=g(i=>i.activeChain),n=f(i=>i.walletType),r=(0,ye.useMemo)(()=>["USE_STARGATE_TM_SIGNING_CLIENT",e,n,t],[t,e,n]),{data:o}=Me(t.type);return(0,he.useQuery)({queryKey:r,queryFn:async({queryKey:[,i,s,a]})=>{if(!i)throw new Error("No chain found");if(!W(s))throw new Error(`${s} is not available`);if(!o)throw new Error("No tendermint client found");let u=await(async()=>{switch(t.offlineSigner){case"offlineSigner":return T(s).getOfflineSigner(i.chainId);case"offlineSignerAuto":return T(s).getOfflineSignerAuto(i.chainId);case"offlineSignerOnlyAmino":return T(s).getOfflineSignerOnlyAmino(i.chainId);default:return T(s).getOfflineSignerAuto(i.chainId)}})();return se.SigningStargateClient.createWithSigner(o,u,a.opts)},enabled:!!e&&!!n&&!!o,refetchOnWindowFocus:!1})},bo=t=>{let e=g(i=>i.activeChain),n=f(i=>i.walletType),r=(0,ye.useMemo)(()=>["USE_COSMWASM_TM_SIGNING_CLIENT",e,n,t],[t,e,n]),{data:o}=Me(t.type);return(0,he.useQuery)({queryKey:r,queryFn:async({queryKey:[,i,s,a]})=>{if(!i)throw new Error("No chain found");if(!W(s))throw new Error(`${s} is not available`);if(!o)throw new Error("No tendermint client found");let u=await(async()=>{switch(t.offlineSigner){case"offlineSigner":return T(s).getOfflineSigner(i.chainId);case"offlineSignerAuto":return T(s).getOfflineSignerAuto(i.chainId);case"offlineSignerOnlyAmino":return T(s).getOfflineSignerOnlyAmino(i.chainId);default:return T(s).getOfflineSignerAuto(i.chainId)}})(),h=i.gas?se.GasPrice.fromString(`${i.gas.price}${i.gas.denom}`):void 0;return ft.SigningCosmWasmClient.createWithSigner(o,u,{gasPrice:h,...(a==null?void 0:a.opts)||{}})},enabled:!!e&&!!n&&!!o,refetchOnWindowFocus:!1})};var _e=require("@tanstack/react-query"),hn=require("@tanstack/react-query-devtools");var De=require("react"),Fe=require("react/jsx-runtime"),fn=({children:t})=>{let[e,n]=(0,De.useState)(!1);return(0,De.useEffect)(()=>{n(!0)},[]),(0,Fe.jsx)(Fe.Fragment,{children:e?t:null})};var dt=require("react");var dn=()=>{let t=typeof window<"u"&&window.sessionStorage.getItem(Y)==="Active",{_reconnect:e,_onReconnectFailed:n,_reconnectConnector:r}=f(),{activeChain:o,wcSignClient:i}=g(),s=W(r||void 0);return(0,dt.useEffect)(()=>{if(r){if(!s)return;t&&o?B({onError:n}):!t&&e&&B({onError:n})}},[s]),(0,dt.useEffect)(()=>{var a,c,u,h,A,C,x,N,ce,Z;if(r){if(!s)return;r==="cosmostation"&&((c=(a=me()).subscription)==null||c.call(a,()=>{B({onError:n})})),r==="keplr"&&((h=(u=pe()).subscription)==null||h.call(u,()=>{B({onError:n})})),r==="leap"&&((C=(A=ge()).subscription)==null||C.call(A,()=>{B({onError:n})})),r==="vectis"&&((N=(x=fe()).subscription)==null||N.call(x,()=>{B({onError:n})})),r==="walletconnect"&&i&&((Z=(ce=U()).subscription)==null||Z.call(ce,()=>{B({onError:n})}))}},[r,i,s]),null},ht=()=>(dn(),null);var ae=require("react/jsx-runtime"),To=new _e.QueryClient({}),xo=({children:t,grazOptions:e,debug:n,...r})=>(e&&Ze(e),(0,ae.jsxs)(_e.QueryClientProvider,{client:To,...r,children:[(0,ae.jsxs)(fn,{children:[t,(0,ae.jsx)(ht,{})]}),n?(0,ae.jsx)(hn.ReactQueryDevtools,{initialIsOpen:!1,position:"bottom-right"}):null]},"graz-provider"));0&&(module.exports={GrazEvents,GrazProvider,WALLET_TYPES,WalletType,checkWallet,clearRecentChain,clearSession,configureGraz,connect,defineChain,defineChainInfo,defineChains,disconnect,executeContract,getActiveChainCurrency,getAvailableWallets,getCosmostation,getKeplr,getLeap,getMetamaskSnapLeap,getOfflineSigners,getQueryRaw,getQuerySmart,getRecentChain,getVectis,getWCCosmostation,getWCKeplr,getWCLeap,getWallet,getWalletConnect,instantiateContract,mainnetChains,mainnetChainsArray,reconnect,sendIbcTokens,sendTokens,suggestChain,suggestChainAndConnect,testnetChains,testnetChainsArray,useAccount,useActiveChain,useActiveChainCurrency,useActiveChainValidators,useActiveWalletType,useBalance,useBalanceStaked,useBalances,useCheckWallet,useConnect,useCosmWasmClient,useCosmWasmSigningClient,useCosmWasmTmSigningClient,useDisconnect,useExecuteContract,useGrazEvents,useInstantiateContract,useOfflineSigners,useQueryRaw,useQuerySmart,useRecentChain,useSendIbcTokens,useSendTokens,useStargateClient,useStargateSigningClient,useStargateTmSigningClient,useSuggestChain,useSuggestChainAndConnect,useTendermintClient});
1
+ "use strict";var In=Object.create;var Ae=Object.defineProperty;var bn=Object.getOwnPropertyDescriptor;var Tn=Object.getOwnPropertyNames;var xn=Object.getPrototypeOf,vn=Object.prototype.hasOwnProperty;var On=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),kn=(t,e)=>{for(var n in e)Ae(t,n,{get:e[n],enumerable:!0})},It=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Tn(e))!vn.call(t,o)&&o!==n&&Ae(t,o,{get:()=>e[o],enumerable:!(r=bn(e,o))||r.enumerable});return t};var Ee=(t,e,n)=>(n=t!=null?In(xn(t)):{},It(e||!t||!t.__esModule?Ae(n,"default",{value:t,enumerable:!0}):n,t)),Wn=t=>It(Ae({},"__esModule",{value:!0}),t);var be=On((Ho,Dt)=>{"use strict";Dt.exports=E;var P=null;try{P=new WebAssembly.Instance(new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,13,2,96,0,1,127,96,4,127,127,127,127,1,127,3,7,6,0,1,1,1,1,1,6,6,1,127,1,65,0,11,7,50,6,3,109,117,108,0,1,5,100,105,118,95,115,0,2,5,100,105,118,95,117,0,3,5,114,101,109,95,115,0,4,5,114,101,109,95,117,0,5,8,103,101,116,95,104,105,103,104,0,0,10,191,1,6,4,0,35,0,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,126,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,127,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,128,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,129,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,130,34,4,66,32,135,167,36,0,32,4,167,11])),{}).exports}catch{}function E(t,e,n){this.low=t|0,this.high=e|0,this.unsigned=!!n}E.prototype.__isLong__;Object.defineProperty(E.prototype,"__isLong__",{value:!0});function F(t){return(t&&t.__isLong__)===!0}E.isLong=F;var Tt={},xt={};function ee(t,e){var n,r,o;return e?(t>>>=0,(o=0<=t&&t<256)&&(r=xt[t],r)?r:(n=I(t,(t|0)<0?-1:0,!0),o&&(xt[t]=n),n)):(t|=0,(o=-128<=t&&t<128)&&(r=Tt[t],r)?r:(n=I(t,t<0?-1:0,!1),o&&(Tt[t]=n),n))}E.fromInt=ee;function R(t,e){if(isNaN(t))return e?X:L;if(e){if(t<0)return X;if(t>=Wt)return _t}else{if(t<=-Ot)return D;if(t+1>=Ot)return Mt}return t<0?R(-t,e).neg():I(t%re|0,t/re|0,e)}E.fromNumber=R;function I(t,e,n){return new E(t,e,n)}E.fromBits=I;var Ie=Math.pow;function Be(t,e,n){if(t.length===0)throw Error("empty string");if(t==="NaN"||t==="Infinity"||t==="+Infinity"||t==="-Infinity")return L;if(typeof e=="number"?(n=e,e=!1):e=!!e,n=n||10,n<2||36<n)throw RangeError("radix");var r;if((r=t.indexOf("-"))>0)throw Error("interior hyphen");if(r===0)return Be(t.substring(1),e,n).neg();for(var o=R(Ie(n,8)),i=L,s=0;s<t.length;s+=8){var a=Math.min(8,t.length-s),c=parseInt(t.substring(s,s+a),n);if(a<8){var u=R(Ie(n,a));i=i.mul(u).add(R(c))}else i=i.mul(o),i=i.add(R(c))}return i.unsigned=e,i}E.fromString=Be;function U(t,e){return typeof t=="number"?R(t,e):typeof t=="string"?Be(t,e):I(t.low,t.high,typeof e=="boolean"?e:t.unsigned)}E.fromValue=U;var vt=65536,Dn=1<<24,re=vt*vt,Wt=re*re,Ot=Wt/2,kt=ee(Dn),L=ee(0);E.ZERO=L;var X=ee(0,!0);E.UZERO=X;var oe=ee(1);E.ONE=oe;var Nt=ee(1,!0);E.UONE=Nt;var Ue=ee(-1);E.NEG_ONE=Ue;var Mt=I(-1,2147483647,!1);E.MAX_VALUE=Mt;var _t=I(-1,-1,!0);E.MAX_UNSIGNED_VALUE=_t;var D=I(0,-2147483648,!1);E.MIN_VALUE=D;var l=E.prototype;l.toInt=function(){return this.unsigned?this.low>>>0:this.low};l.toNumber=function(){return this.unsigned?(this.high>>>0)*re+(this.low>>>0):this.high*re+(this.low>>>0)};l.toString=function(e){if(e=e||10,e<2||36<e)throw RangeError("radix");if(this.isZero())return"0";if(this.isNegative())if(this.eq(D)){var n=R(e),r=this.div(n),o=r.mul(n).sub(this);return r.toString(e)+o.toInt().toString(e)}else return"-"+this.neg().toString(e);for(var i=R(Ie(e,6),this.unsigned),s=this,a="";;){var c=s.div(i),u=s.sub(c.mul(i)).toInt()>>>0,h=u.toString(e);if(s=c,s.isZero())return h+a;for(;h.length<6;)h="0"+h;a=""+h+a}};l.getHighBits=function(){return this.high};l.getHighBitsUnsigned=function(){return this.high>>>0};l.getLowBits=function(){return this.low};l.getLowBitsUnsigned=function(){return this.low>>>0};l.getNumBitsAbs=function(){if(this.isNegative())return this.eq(D)?64:this.neg().getNumBitsAbs();for(var e=this.high!=0?this.high:this.low,n=31;n>0&&!(e&1<<n);n--);return this.high!=0?n+33:n+1};l.isZero=function(){return this.high===0&&this.low===0};l.eqz=l.isZero;l.isNegative=function(){return!this.unsigned&&this.high<0};l.isPositive=function(){return this.unsigned||this.high>=0};l.isOdd=function(){return(this.low&1)===1};l.isEven=function(){return(this.low&1)===0};l.equals=function(e){return F(e)||(e=U(e)),this.unsigned!==e.unsigned&&this.high>>>31===1&&e.high>>>31===1?!1:this.high===e.high&&this.low===e.low};l.eq=l.equals;l.notEquals=function(e){return!this.eq(e)};l.neq=l.notEquals;l.ne=l.notEquals;l.lessThan=function(e){return this.comp(e)<0};l.lt=l.lessThan;l.lessThanOrEqual=function(e){return this.comp(e)<=0};l.lte=l.lessThanOrEqual;l.le=l.lessThanOrEqual;l.greaterThan=function(e){return this.comp(e)>0};l.gt=l.greaterThan;l.greaterThanOrEqual=function(e){return this.comp(e)>=0};l.gte=l.greaterThanOrEqual;l.ge=l.greaterThanOrEqual;l.compare=function(e){if(F(e)||(e=U(e)),this.eq(e))return 0;var n=this.isNegative(),r=e.isNegative();return n&&!r?-1:!n&&r?1:this.unsigned?e.high>>>0>this.high>>>0||e.high===this.high&&e.low>>>0>this.low>>>0?-1:1:this.sub(e).isNegative()?-1:1};l.comp=l.compare;l.negate=function(){return!this.unsigned&&this.eq(D)?D:this.not().add(oe)};l.neg=l.negate;l.add=function(e){F(e)||(e=U(e));var n=this.high>>>16,r=this.high&65535,o=this.low>>>16,i=this.low&65535,s=e.high>>>16,a=e.high&65535,c=e.low>>>16,u=e.low&65535,h=0,A=0,C=0,x=0;return x+=i+u,C+=x>>>16,x&=65535,C+=o+c,A+=C>>>16,C&=65535,A+=r+a,h+=A>>>16,A&=65535,h+=n+s,h&=65535,I(C<<16|x,h<<16|A,this.unsigned)};l.subtract=function(e){return F(e)||(e=U(e)),this.add(e.neg())};l.sub=l.subtract;l.multiply=function(e){if(this.isZero())return L;if(F(e)||(e=U(e)),P){var n=P.mul(this.low,this.high,e.low,e.high);return I(n,P.get_high(),this.unsigned)}if(e.isZero())return L;if(this.eq(D))return e.isOdd()?D:L;if(e.eq(D))return this.isOdd()?D:L;if(this.isNegative())return e.isNegative()?this.neg().mul(e.neg()):this.neg().mul(e).neg();if(e.isNegative())return this.mul(e.neg()).neg();if(this.lt(kt)&&e.lt(kt))return R(this.toNumber()*e.toNumber(),this.unsigned);var r=this.high>>>16,o=this.high&65535,i=this.low>>>16,s=this.low&65535,a=e.high>>>16,c=e.high&65535,u=e.low>>>16,h=e.low&65535,A=0,C=0,x=0,N=0;return N+=s*h,x+=N>>>16,N&=65535,x+=i*h,C+=x>>>16,x&=65535,x+=s*u,C+=x>>>16,x&=65535,C+=o*h,A+=C>>>16,C&=65535,C+=i*u,A+=C>>>16,C&=65535,C+=s*c,A+=C>>>16,C&=65535,A+=r*h+o*u+i*c+s*a,A&=65535,I(x<<16|N,A<<16|C,this.unsigned)};l.mul=l.multiply;l.divide=function(e){if(F(e)||(e=U(e)),e.isZero())throw Error("division by zero");if(P){if(!this.unsigned&&this.high===-2147483648&&e.low===-1&&e.high===-1)return this;var n=(this.unsigned?P.div_u:P.div_s)(this.low,this.high,e.low,e.high);return I(n,P.get_high(),this.unsigned)}if(this.isZero())return this.unsigned?X:L;var r,o,i;if(this.unsigned){if(e.unsigned||(e=e.toUnsigned()),e.gt(this))return X;if(e.gt(this.shru(1)))return Nt;i=X}else{if(this.eq(D)){if(e.eq(oe)||e.eq(Ue))return D;if(e.eq(D))return oe;var s=this.shr(1);return r=s.div(e).shl(1),r.eq(L)?e.isNegative()?oe:Ue:(o=this.sub(e.mul(r)),i=r.add(o.div(e)),i)}else if(e.eq(D))return this.unsigned?X:L;if(this.isNegative())return e.isNegative()?this.neg().div(e.neg()):this.neg().div(e).neg();if(e.isNegative())return this.div(e.neg()).neg();i=L}for(o=this;o.gte(e);){r=Math.max(1,Math.floor(o.toNumber()/e.toNumber()));for(var a=Math.ceil(Math.log(r)/Math.LN2),c=a<=48?1:Ie(2,a-48),u=R(r),h=u.mul(e);h.isNegative()||h.gt(o);)r-=c,u=R(r,this.unsigned),h=u.mul(e);u.isZero()&&(u=oe),i=i.add(u),o=o.sub(h)}return i};l.div=l.divide;l.modulo=function(e){if(F(e)||(e=U(e)),P){var n=(this.unsigned?P.rem_u:P.rem_s)(this.low,this.high,e.low,e.high);return I(n,P.get_high(),this.unsigned)}return this.sub(this.div(e).mul(e))};l.mod=l.modulo;l.rem=l.modulo;l.not=function(){return I(~this.low,~this.high,this.unsigned)};l.and=function(e){return F(e)||(e=U(e)),I(this.low&e.low,this.high&e.high,this.unsigned)};l.or=function(e){return F(e)||(e=U(e)),I(this.low|e.low,this.high|e.high,this.unsigned)};l.xor=function(e){return F(e)||(e=U(e)),I(this.low^e.low,this.high^e.high,this.unsigned)};l.shiftLeft=function(e){return F(e)&&(e=e.toInt()),(e&=63)===0?this:e<32?I(this.low<<e,this.high<<e|this.low>>>32-e,this.unsigned):I(0,this.low<<e-32,this.unsigned)};l.shl=l.shiftLeft;l.shiftRight=function(e){return F(e)&&(e=e.toInt()),(e&=63)===0?this:e<32?I(this.low>>>e|this.high<<32-e,this.high>>e,this.unsigned):I(this.high>>e-32,this.high>=0?0:-1,this.unsigned)};l.shr=l.shiftRight;l.shiftRightUnsigned=function(e){if(F(e)&&(e=e.toInt()),e&=63,e===0)return this;var n=this.high;if(e<32){var r=this.low;return I(r>>>e|n<<32-e,n>>>e,this.unsigned)}else return e===32?I(n,0,this.unsigned):I(n>>>e-32,0,this.unsigned)};l.shru=l.shiftRightUnsigned;l.shr_u=l.shiftRightUnsigned;l.toSigned=function(){return this.unsigned?I(this.low,this.high,!1):this};l.toUnsigned=function(){return this.unsigned?this:I(this.low,this.high,!0)};l.toBytes=function(e){return e?this.toBytesLE():this.toBytesBE()};l.toBytesLE=function(){var e=this.high,n=this.low;return[n&255,n>>>8&255,n>>>16&255,n>>>24,e&255,e>>>8&255,e>>>16&255,e>>>24]};l.toBytesBE=function(){var e=this.high,n=this.low;return[e>>>24,e>>>16&255,e>>>8&255,e&255,n>>>24,n>>>16&255,n>>>8&255,n&255]};E.fromBytes=function(e,n,r){return r?E.fromBytesLE(e,n):E.fromBytesBE(e,n)};E.fromBytesLE=function(e,n){return new E(e[0]|e[1]<<8|e[2]<<16|e[3]<<24,e[4]|e[5]<<8|e[6]<<16|e[7]<<24,n)};E.fromBytesBE=function(e,n){return new E(e[4]<<24|e[5]<<16|e[6]<<8|e[7],e[0]<<24|e[1]<<16|e[2]<<8|e[3],n)}});var Mo={};kn(Mo,{GrazEvents:()=>yt,GrazProvider:()=>No,WALLET_TYPES:()=>Le,WalletType:()=>Re,checkWallet:()=>W,clearRecentChain:()=>Ve,clearSession:()=>M,configureGraz:()=>Ye,connect:()=>ie,defineChain:()=>to,defineChainInfo:()=>no,defineChains:()=>ft,disconnect:()=>Te,executeContract:()=>tt,getActiveChainCurrency:()=>$e,getAvailableWallets:()=>Fn,getCosmostation:()=>pe,getKeplr:()=>ge,getLeap:()=>fe,getMetamaskSnapLeap:()=>Ge,getOfflineSigners:()=>He,getQueryRaw:()=>ot,getQuerySmart:()=>nt,getRecentChain:()=>Pn,getVectis:()=>de,getWCCosmostation:()=>Ke,getWCKeplr:()=>ze,getWCLeap:()=>je,getWallet:()=>T,getWalletConnect:()=>B,instantiateContract:()=>et,isWalletConnect:()=>Qe,mainnetChains:()=>oo,mainnetChainsArray:()=>ro,reconnect:()=>G,sendIbcTokens:()=>Xe,sendTokens:()=>Je,suggestChain:()=>xe,suggestChainAndConnect:()=>Ze,testnetChains:()=>io,testnetChainsArray:()=>so,useAccount:()=>Q,useActiveChain:()=>go,useActiveChainCurrency:()=>fo,useActiveChainValidators:()=>ho,useActiveWalletType:()=>ao,useBalance:()=>co,useBalanceStaked:()=>po,useBalances:()=>yn,useCheckWallet:()=>he,useConnect:()=>lo,useCosmWasmClient:()=>Ne,useCosmWasmSigningClient:()=>vo,useCosmWasmTmSigningClient:()=>ko,useDisconnect:()=>uo,useExecuteContract:()=>Io,useGrazEvents:()=>Cn,useInstantiateContract:()=>Eo,useOfflineSigners:()=>mo,useQueryRaw:()=>To,useQuerySmart:()=>bo,useRecentChain:()=>yo,useSendIbcTokens:()=>Ao,useSendTokens:()=>So,useStargateClient:()=>We,useStargateSigningClient:()=>xo,useStargateTmSigningClient:()=>Oo,useSuggestChain:()=>wo,useSuggestChainAndConnect:()=>Co,useTendermintClient:()=>Me});module.exports=Wn(Mo);var J="graz-reconnect-session";var qe=require("zustand"),bt=require("zustand/middleware"),ne=require("zustand/middleware");var Re=(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))(Re||{}),Le=["keplr","leap","vectis","cosmostation","walletconnect","wc_keplr_mobile","wc_leap_mobile","wc_cosmostation_mobile","metamask_snap_leap"];var Nn={recentChain:null,defaultChain:null,walletType:"keplr",walletConnect:{options:null,web3Modal:null},_notFoundFn:()=>null,_onReconnectFailed:()=>null,_reconnect:!1,_reconnectConnector:null},me={account:null,activeChain:null,status:"disconnected",wcSignClient:null},Mn={name:"graz-session",version:1,partialize:t=>({account:t.account,activeChain:t.activeChain}),storage:(0,bt.createJSONStorage)(()=>sessionStorage)},_n={name:"graz-internal",partialize:t=>({recentChain:t.recentChain,_reconnect:t._reconnect,_reconnectConnector:t._reconnectConnector}),version:1},g=(0,qe.create)((0,ne.subscribeWithSelector)((0,ne.persist)(()=>me,Mn))),f=(0,qe.create)((0,ne.subscribeWithSelector)((0,ne.persist)(()=>Nn,_n)));var pe=()=>{if(typeof window.cosmostation.providers.keplr<"u"){let t=window.cosmostation.providers.keplr;return Object.assign(t,{subscription:r=>(window.cosmostation.cosmos.on("accountChanged",()=>{M(),r()}),()=>{window.cosmostation.cosmos.off("accountChanged",()=>{M(),r()})})})}throw f.getState()._notFoundFn(),new Error("window.cosmostation.providers.keplr is not defined")};var ge=()=>{if(typeof window.keplr<"u"){let t=window.keplr;return Object.assign(t,{subscription:r=>(window.addEventListener("keplr_keystorechange",()=>{M(),r()}),()=>{window.removeEventListener("keplr_keystorechange",()=>{M(),r()})})})}throw f.getState()._notFoundFn(),new Error("window.keplr is not defined")};var fe=()=>{if(typeof window.leap<"u"){let t=window.leap;return Object.assign(t,{subscription:r=>(window.addEventListener("leap_keystorechange",()=>{M(),r()}),()=>{window.removeEventListener("leap_keystorechange",()=>{M(),r()})})})}throw f.getState()._notFoundFn(),new Error("window.leap is not defined")};var Ft=Ee(be());var Pt=t=>{let e=window.ethereum;if(e&&t){let n=async()=>await e.request({method:"wallet_getSnaps"}),r=async y=>{try{let S=await n();return Object.values(S).find(v=>v.id===t.id&&(!y||v.version===y))}catch{return}},o=async()=>{await e.request({method:"wallet_requestSnaps",params:{[t.id]:t.params||{}}})},i=async()=>{var H;let y=await e.request({method:"web3_clientVersion"});if(!(y==null?void 0:y.includes("MetaMask")))throw new Error("Metamask is not installed");let v=(H=y.split("MetaMask/v")[1])==null?void 0:H.split(".")[0];if(!(Number(v)>=11))throw new Error("Metamask Snap is not supported in this version");return await r()||await o(),!0},s=async y=>{await r()||await o()},a=async(y,S,v)=>{let q=await e.request({method:"wallet_invokeSnap",params:{snapId:t.id,request:{method:"signDirect",params:{chainId:y,signerAddress:S,signDoc:v}}}}),z=v.accountNumber,H=new Ft.default(z.low,z.high,z.unsigned);return{signature:q.signature,signed:{...q.signed,accountNumber:`${H.toString()}`,authInfoBytes:new Uint8Array(Object.values(q.signed.authInfoBytes)),bodyBytes:new Uint8Array(Object.values(q.signed.bodyBytes))}}},c=async(y,S,v)=>await e.request({method:"wallet_invokeSnap",params:{snapId:t.id,request:{method:"signAmino",params:{chainId:y,signerAddress:S,signDoc:v}}}}),u=async y=>{let S=await e.request({method:"wallet_invokeSnap",params:{snapId:t.id,request:{method:"getKey",params:{chainId:y}}}});if(!S)throw new Error("No response from Metamask");return S.pubKey=Uint8Array.from(Object.values(S.pubkey)),delete S.pubkey,{...S}},h=async y=>{let S=await u(y);return{address:S.bech32Address,algo:S.algo,pubkey:S.pubKey}},A=async(...y)=>{let[S,v,q,z]=y;return await c(S,v,q)},C=async(...y)=>{let[S,v,q]=y;return await a(S,v,q)},x=y=>({getAccounts:async()=>[await h(y)],signDirect:(S,v)=>C(y,S,v)}),N=y=>({getAccounts:async()=>[await h(y)],signAmino:(S,v)=>A(y,S,v)});return{enable:s,experimentalSuggestChain:async(...y)=>{await i(),await e.request({method:"wallet_invokeSnap",params:{snapId:t.id,request:{method:"suggestChain",params:{chainInfo:y[0]}}}})},getKey:u,getOfflineSigner:y=>({getAccounts:async()=>[await h(y)],signDirect:(S,v)=>C(y,S,v),signAmino:(S,v)=>A(y,S,v)}),getOfflineSignerAuto:async y=>(await u(y)).isNanoLedger?N(y):x(y),getOfflineSignerOnlyAmino:N,init:i,signAmino:A,signDirect:C}}throw f.getState()._notFoundFn(),new Error("window.ethereum is not defined")};var Ge=()=>Pt({id:"npm:@leapwallet/metamask-cosmos-snap"});var Rt=require("@cosmjs/encoding"),Lt=Ee(be());var de=()=>{if(typeof window.vectis<"u"){let t=window.vectis.cosmos;return{enable:a=>t.enable(a),getOfflineSigner:a=>t.getOfflineSigner(a),getOfflineSignerAuto:a=>t.getOfflineSignerAuto(a),getKey:async a=>{let c=await t.getKey(a);return{address:(0,Rt.fromBech32)(c.address).data,algo:c.algo,bech32Address:c.address,name:c.name,pubKey:c.pubKey,isKeystone:!1,isNanoLedger:c.isNanoLedger}},subscription:a=>(window.addEventListener("vectis_accountChanged",()=>{M(),a()}),()=>{window.removeEventListener("vectis_accountChanged",()=>{M(),a()})}),getOfflineSignerOnlyAmino:(...a)=>t.getOfflineSignerAmino(...a),experimentalSuggestChain:async(...a)=>{let[c]=a,u={...c,rpcUrl:c.rpc,restUrl:c.rest,prettyName:c.chainName.replace(" ",""),bech32Prefix:c.bech32Config.bech32PrefixAccAddr};return t.suggestChains([u])},signDirect:async(...a)=>{var h;let{1:c,2:u}=a;return t.signDirect(c,{bodyBytes:u.bodyBytes||Uint8Array.from([]),authInfoBytes:u.authInfoBytes||Uint8Array.from([]),accountNumber:Lt.default.fromString(((h=u.accountNumber)==null?void 0:h.toString())||"",!1),chainId:u.chainId||""})},signAmino:async(...a)=>{let{1:c,2:u}=a;return t.signAmino(c,u)}}}throw f.getState()._notFoundFn(),new Error("window.vectis is not defined")};var Gt=require("@cosmjs/encoding"),Kt=require("@walletconnect/sign-client"),zt=require("@walletconnect/utils"),jt=Ee(be());var K=()=>typeof window<"u"?!!(window.matchMedia("(pointer:coarse)").matches||/Android|webOS|iPhone|iPad|iPod|BlackBerry|Opera Mini/u.test(navigator.userAgent)):!1,qt=()=>K()&&navigator.userAgent.toLowerCase().includes("android"),Ut=()=>K()&&(navigator.userAgent.toLowerCase().includes("iphone")||navigator.userAgent.toLowerCase().includes("ipad"));var Bt=(t,e,n=new Error("Promise timed out"))=>{let r=new Promise((o,i)=>{setTimeout(()=>{i(n)},e)});return Promise.race([t,r])};var B=t=>{var z,H,Ct;if(!((Ct=(H=(z=f.getState().walletConnect)==null?void 0:z.options)==null?void 0:H.projectId)!=null&&Ct.trim()))throw new Error("walletConnect.options.projectId is not defined");let e=(t==null?void 0:t.encoding)||"base64",n=m=>{if(!t)return;let{appUrl:p,formatNativeUrl:d}=t;if(K()){if(qt())if(!m)window.open(p.mobile.android,"_self","noreferrer noopener");else{let w=d(p.mobile.android,m,"android");window.open(w,"_self","noreferrer noopener")}if(Ut())if(!m)window.open(p.mobile.ios,"_self","noreferrer noopener");else{let w=d(p.mobile.ios,m,"ios");window.open(w,"_self","noreferrer noopener")}}},r=()=>{let{wcSignClient:m}=g.getState();if(!m)throw new Error("walletConnect.signClient is not defined");M(),f.setState({_reconnect:!1,_reconnectConnector:null,recentChain:null})},o=async m=>{let{wcSignClient:p}=g.getState();if(!p)throw new Error("walletConnect.signClient is not defined");if(!m)throw new Error("No wallet connect session");await p.disconnect({topic:m,reason:(0,zt.getSdkError)("USER_DISCONNECTED")}),await a(p),r()},i=m=>{var p,d;try{let{wcSignClient:w}=g.getState();if(!w)throw new Error("walletConnect.signClient is not defined");let b=w.session.getAll().at(-1);if(!b)return;let O=(d=(p=w.session.getAll().at(-1))==null?void 0:p.namespaces.cosmos)==null?void 0:d.accounts.find(k=>k.startsWith(`cosmos:${m}`));if(!(b.expiry*1e3>Date.now()+1e3))throw o(b.topic),new Error("invalid session");if(!O)try{let k=w.find({requiredNamespaces:{cosmos:{methods:["cosmos_getAccounts","cosmos_signAmino","cosmos_signDirect"],chains:[`cosmos:${m}`],events:["chainChanged","accountsChanged"]}}});if(!k.length)throw new Error("no session");return k.at(-1)}catch(k){if(!k.message.toLowerCase().includes("no matching key"))throw k}return b}catch(w){if(!w.message.toLowerCase().includes("no matching key"))throw w}},s=m=>{try{return i(m)}catch{return}},a=async m=>{try{let p=m.core.pairing.pairings.getAll({active:!1});if(!p.length)return;await Promise.all(p.map(async d=>{await m.core.pairing.pairings.delete(d.topic,{code:7001,message:"clear pairing"})}))}catch(p){if(!p.message.toLowerCase().includes("no matching key"))throw p}},c=async()=>{let{walletConnect:m}=f.getState();if(!(m!=null&&m.options))throw new Error("walletConnect.options is not defined");let{wcSignClient:p}=g.getState();if(p)return g.setState({wcSignClient:p}),p;let d=await Kt.SignClient.init(m.options);return g.setState({wcSignClient:d}),d},u=m=>{let{wcSignClient:p}=g.getState();if(p)return p.events.on("session_delete",d=>{r()}),p.events.on("session_expire",d=>{r()}),p.events.on("session_event",d=>{var w,b;if(d.params.event.name==="accountsChanged"&&((w=d.params.event.data)==null?void 0:w[0])!==((b=g.getState().account)==null?void 0:b.bech32Address)){let O=d.params.chainId.split(":")[1];O&&h(O)}else m()}),()=>{p.events.off("session_delete",d=>{r()}),p.events.off("session_expire",d=>{r()}),p.events.off("session_event",d=>{var w,b;if(d.params.event.name==="accountsChanged"&&((w=d.params.event.data)==null?void 0:w[0])!==((b=g.getState().account)==null?void 0:b.bech32Address)){let O=d.params.chainId.split(":")[1];O&&h(O)}else m()})}},h=async m=>{var Ce;let{wcSignClient:p}=g.getState();if(!p)throw new Error("enable walletConnect.signClient is not defined");let{walletConnect:d}=f.getState();if(!((Ce=d==null?void 0:d.options)!=null&&Ce.projectId))throw new Error("walletConnect.options.projectId is not defined");let{Web3Modal:w}=await import("@web3modal/standalone"),b=new w({projectId:d.options.projectId,walletConnectVersion:2,enableExplorer:!1,explorerRecommendedWalletIds:"NONE",...d.web3Modal}),{account:O,activeChain:j}=g.getState(),k=s(m);if((j==null?void 0:j.chainId)!==m&&!k||!O){let{uri:_,approval:Se}=await p.connect({requiredNamespaces:{cosmos:{methods:["cosmos_getAccounts","cosmos_signAmino","cosmos_signDirect"],chains:[`cosmos:${m}`],events:["chainChanged","accountsChanged"]}}});if(!_)throw new Error("No wallet connect uri");t?n(_):await b.openModal({uri:_});let An=async V=>V.aborted?Promise.reject(new Error("User closed wallet connect")):new Promise((Pe,te)=>{Se().then(St=>{let At=St.sessionProperties;if(!At)return te(new Error("No session properties"));let Et=JSON.parse(String(At.keys)).find(En=>En.chainId===m);return Et?(g.setState({account:Et}),Pe(St)):te(new Error("No account"))}).catch(te),V.addEventListener("abort",()=>{te(new Error("User closed wallet connect"))})});try{let V=new AbortController,Pe=V.signal;b.subscribeModal(te=>{te.open||V.abort()}),await An(Pe)}catch(V){if(b.closeModal(),!V.message.toLowerCase().includes("no matching key"))return Promise.reject(V)}return t||b.closeModal(),Promise.resolve()}try{await Bt((async()=>{let _=await C(m);g.setState({account:_})})(),15e3,new Error("Connection timeout"))}catch(_){if(o(k==null?void 0:k.topic),!_.message.toLowerCase().includes("no matching key"))throw _}},A=async m=>{var b;let{wcSignClient:p}=g.getState();if(!p)throw new Error("walletConnect.signClient is not defined");let d=(b=i(m))==null?void 0:b.topic;if(!d)throw new Error("No wallet connect session");n();let w=await p.request({topic:d,chainId:`cosmos:${m}`,request:{method:"cosmos_getAccounts",params:{}}});if(!w[0])throw new Error("No wallet connect account");return{address:w[0].address,algo:w[0].algo,pubkey:new Uint8Array(Buffer.from(w[0].pubkey,e))}},C=async m=>{let{address:p,algo:d,pubkey:w}=await A(m);return{address:(0,Gt.fromBech32)(p).data,algo:d,bech32Address:p,name:"",pubKey:w,isKeystone:!1,isNanoLedger:!1}},x=async(...m)=>{var _,Se;let[p,d,w]=m,{account:b,wcSignClient:O}=g.getState();if(!O)throw new Error("walletConnect.signClient is not defined");if(!b)throw new Error("account is not defined");let j=(_=i(p))==null?void 0:_.topic;if(!j)throw new Error("No wallet connect session");if(!w.bodyBytes)throw new Error("No bodyBytes");if(!w.authInfoBytes)throw new Error("No authInfoBytes");let k={topic:j,chainId:`cosmos:${p}`,request:{method:"cosmos_signDirect",params:{signerAddress:d,signDoc:{...w,bodyBytes:Buffer.from(w.bodyBytes).toString(e),authInfoBytes:Buffer.from(w.authInfoBytes).toString(e),accountNumber:(Se=w.accountNumber)==null?void 0:Se.toString()}}}};return n(),await O.request(k)},N=async(...m)=>{let[p,d,w]=m,{signature:b,signed:O}=await x(p,d,w);return{signed:{chainId:O.chainId,accountNumber:jt.default.fromString(O.accountNumber,!1),authInfoBytes:new Uint8Array(Buffer.from(O.authInfoBytes,e)),bodyBytes:new Uint8Array(Buffer.from(O.bodyBytes,e))},signature:b}},ue=async(...m)=>{var _;let[p,d,w,b]=m,{wcSignClient:O}=g.getState(),{account:j}=g.getState();if(!O)throw new Error("walletConnect.signClient is not defined");if(!j)throw new Error("account is not defined");let k=(_=i(p))==null?void 0:_.topic;if(!k)throw new Error("No wallet connect session");return n(),await O.request({topic:k,chainId:`cosmos:${p}`,request:{method:"cosmos_signDirect",params:{signerAddress:d,signDoc:w}}})},Y=async(...m)=>{let[p,d,w,b]=m;return await ue(p,d,w)},wt=m=>({getAccounts:async()=>[await A(m)],signDirect:(p,d)=>N(m,p,d)}),y=m=>({getAccounts:async()=>[await A(m)],signAmino:(p,d)=>Y(m,p,d)});return{enable:h,experimentalSuggestChain:async(...m)=>{await Promise.reject(new Error("WalletConnect does not support experimentalSuggestChain"))},getKey:C,getOfflineSigner:m=>({getAccounts:async()=>[await A(m)],signDirect:(p,d)=>N(m,p,d),signAmino:(p,d)=>Y(m,p,d)}),getOfflineSignerAuto:async m=>(await C(m)).isNanoLedger?y(m):wt(m),getOfflineSignerOnlyAmino:y,signAmino:Y,signDirect:N,subscription:u,init:c}};var Ke=()=>{var e,n,r;if(!((r=(n=(e=f.getState().walletConnect)==null?void 0:e.options)==null?void 0:n.projectId)!=null&&r.trim()))throw new Error("walletConnect.options.projectId is not defined");if(!K())throw new Error("WalletConnect Leap mobile is only supported in mobile");let t={encoding:"hex",appUrl:{mobile:{ios:"cosmostation://",android:"cosmostation://"}},walletType:"wc_leap_mobile",formatNativeUrl:(o,i,s)=>`${o.replaceAll("/","").replaceAll(":","")}://wc?${i}`};return B(t)};var ze=()=>{var e,n,r;if(!((r=(n=(e=f.getState().walletConnect)==null?void 0:e.options)==null?void 0:n.projectId)!=null&&r.trim()))throw new Error("walletConnect.options.projectId is not defined");if(!K())throw new Error("WalletConnect Keplr mobile is only supported in mobile");let t={encoding:"base64",appUrl:{mobile:{ios:"keplrwallet://",android:"intent://"}},walletType:"wc_keplr_mobile",formatNativeUrl:(o,i,s)=>{let a=o.replaceAll("/","").replaceAll(":",""),c=encodeURIComponent(i);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 B(t)};var je=()=>{var e,n,r;if(!((r=(n=(e=f.getState().walletConnect)==null?void 0:e.options)==null?void 0:n.projectId)!=null&&r.trim()))throw new Error("walletConnect.options.projectId is not defined");if(!K())throw new Error("WalletConnect Leap mobile is only supported in mobile");let t={encoding:"base64",appUrl:{mobile:{ios:"leapcosmos://",android:"intent://"}},walletType:"wc_leap_mobile",formatNativeUrl:(o,i,s)=>{let a=o.replaceAll("/","").replaceAll(":",""),c=encodeURIComponent(i);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 B(t)};var W=(t=f.getState().walletType)=>{try{return T(t),!0}catch{return!1}},M=()=>{window.sessionStorage.removeItem(J),g.setState(me)},T=(t=f.getState().walletType)=>{switch(t){case"keplr":return ge();case"leap":return fe();case"cosmostation":return pe();case"vectis":return de();case"walletconnect":return B();case"wc_keplr_mobile":return ze();case"wc_leap_mobile":return je();case"wc_cosmostation_mobile":return Ke();case"metamask_snap_leap":return Ge();default:throw new Error("Unknown wallet type")}},Fn=()=>Object.fromEntries(Le.map(t=>[t,W(t)])),Qe=t=>t==="walletconnect"||t==="wc_keplr_mobile"||t==="wc_leap_mobile"||t==="wc_cosmostation_mobile";var ie=async t=>{var e;try{let{defaultChain:n,recentChain:r,walletType:o}=f.getState(),i=(t==null?void 0:t.walletType)||o;if(!W(i))throw new Error(`${i} is not available`);let a=T(i),c=(t==null?void 0:t.chain)||r||n;if(!c)throw new Error("No last known connected chain, connect action requires chain info");g.setState(C=>{let x=f.getState()._reconnect||!!f.getState()._reconnectConnector||!!c;return C.activeChain&&C.activeChain.chainId!==c.chainId?{status:"connecting"}:x?{status:"reconnecting"}:{status:"connecting"}});let{account:u,activeChain:h}=g.getState();if(await((e=a.init)==null?void 0:e.call(a)),(!u||(h==null?void 0:h.chainId)!==c.chainId)&&(await a.enable(c.chainId),!Qe(i))){let C=await a.getKey(c.chainId);g.setState({account:C})}f.setState({recentChain:c,walletType:i,_reconnect:!!(t!=null&&t.autoReconnect),_reconnectConnector:i}),g.setState({activeChain:c,status:"connected"}),typeof window<"u"&&window.sessionStorage.setItem(J,"Active");let{account:A}=g.getState();return{account:A,walletType:i,chain:c}}catch(n){throw console.error("connect ",n),g.getState().account===null&&g.setState({status:"disconnected"}),g.getState().account&&g.getState().activeChain&&g.setState({status:"connected"}),n}},Te=async(t=!1)=>(typeof window<"u"&&window.sessionStorage.removeItem(J),g.setState(me),f.setState(e=>({_reconnect:!1,_reconnectConnector:null,recentChain:t?null:e.recentChain})),Promise.resolve()),G=async t=>{var o;let{recentChain:e,_reconnectConnector:n,_reconnect:r}=f.getState();try{let i=W(n||void 0);if(e&&i&&n)return await ie({chain:e,walletType:n,autoReconnect:r})}catch(i){(o=t==null?void 0:t.onError)==null||o.call(t,i),Te()}},He=async t=>{if(!(t!=null&&t.chainId))throw new Error("chainId is required");let{walletType:e}=f.getState(),n=t.walletType||e;if(!W(n))throw new Error(`${n} is not available`);let o=T(n),i=o.getOfflineSigner(t.chainId),s=o.getOfflineSignerOnlyAmino(t.chainId),a=await o.getOfflineSignerAuto(t.chainId);return{offlineSigner:i,offlineSignerAmino:s,offlineSignerAuto:a}};var Ve=()=>{f.setState({recentChain:null})},$e=t=>{let{activeChain:e}=g.getState();return e==null?void 0:e.currencies.find(n=>n.coinMinimalDenom===t)},Pn=()=>f.getState().recentChain,xe=async({chainInfo:t,walletType:e})=>(await T(e).experimentalSuggestChain(t),t),Ze=async({chainInfo:t,rpcHeaders:e,gas:n,path:r,...o})=>{let{walletType:i}=f.getState(),s=o.walletType||i,a=await xe({chainInfo:t,walletType:s});return{...await ie({chain:{chainId:t.chainId,currencies:t.currencies,rest:t.rest,rpc:t.rpc,rpcHeaders:e,gas:n,path:r},...o}),chain:a}};var Ye=(t={})=>(f.setState(e=>({defaultChain:t.defaultChain||e.defaultChain,walletConnect:t.walletConnect||e.walletConnect,walletType:t.defaultWallet||e.walletType,_notFoundFn:t.onNotFound||e._notFoundFn,_onReconnectFailed:t.onReconnectFailed||e._onReconnectFailed,_reconnect:t.autoReconnect===void 0?!0:t.autoReconnect||e._reconnect})),t);var Je=async({signingClient:t,senderAddress:e,recipientAddress:n,amount:r,fee:o,memo:i})=>{if(!t)throw new Error("No connected account detected");if(!e)throw new Error("senderAddress is not defined");return t.sendTokens(e,n,r,o,i)},Xe=async({signingClient:t,senderAddress:e,recipientAddress:n,transferAmount:r,sourcePort:o,sourceChannel:i,timeoutHeight:s,timeoutTimestamp:a,fee:c,memo:u})=>{if(!t)throw new Error("Stargate signing client is not ready");if(!e)throw new Error("senderAddress is not defined");return t.sendIbcTokens(e,n,r,o,i,s,a,c,u)},et=async({signingClient:t,senderAddress:e,msg:n,fee:r,options:o,label:i,codeId:s})=>{if(!t)throw new Error("CosmWasm signing client is not ready");return t.instantiate(e,s,n,i,r,o)},tt=async({signingClient:t,senderAddress:e,msg:n,fee:r,contractAddress:o,funds:i,memo:s})=>{if(!t)throw new Error("CosmWasm signing client is not ready");return t.execute(e,o,n,r,s,i)},nt=async(t,e,n)=>{if(!n)throw new Error("CosmWasm client is not ready");return await n.queryContractSmart(t,e)},ot=(t,e,n)=>{if(!n)throw new Error("CosmWasm client is not ready");let r=new TextEncoder().encode(e);return n.queryContractRaw(t,r)};var Ht=require("@keplr-wallet/cosmos"),Vt={coinDenom:"axl",coinMinimalDenom:"uaxl",coinDecimals:6,coinGeckoId:"axelar-network",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/axl.png"},Rn={coinDenom:"usdc",coinMinimalDenom:"uusdc",coinDecimals:6,coinGeckoId:"usd-coin",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/usdc.png"},Ln={coinDenom:"dai",coinMinimalDenom:"dai-wei",coinDecimals:18,coinGeckoId:"dai",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/dai.png"},qn={coinDenom:"usdt",coinMinimalDenom:"uusdt",coinDecimals:6,coinGeckoId:"tether",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/usdt.png"},Un={coinDenom:"weth-wei",coinMinimalDenom:"weth",coinDecimals:18,coinGeckoId:"weth",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/weth.png"},Bn={coinDenom:"wbtc-satoshi",coinMinimalDenom:"wbtc",coinDecimals:8,coinGeckoId:"wrapped-bitcoin",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/wbtc.png"},Qt=[Vt,Rn,Ln,qn,Un,Bn],rt={rpc:"https://rpc.axelar.strange.love",rest:"https://api.axelar.strange.love",chainId:"axelar-dojo-1",chainName:"Axelar",stakeCurrency:Vt,bip44:{coinType:118},bech32Config:Ht.Bech32Address.defaultBech32Config("axelar"),currencies:Qt,feeCurrencies:Qt};var Zt=require("@keplr-wallet/cosmos"),Yt={coinDenom:"atom",coinMinimalDenom:"uatom",coinDecimals:6,coinGeckoId:"cosmos",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/cosmoshub/images/atom.png"},$t=[Yt],it={rpc:"https://rpc.cosmoshub.strange.love",rest:"https://api.cosmoshub.strange.love",chainId:"cosmoshub-4",chainName:"Cosmos Hub",stakeCurrency:Yt,bip44:{coinType:118},bech32Config:Zt.Bech32Address.defaultBech32Config("cosmos"),currencies:$t,feeCurrencies:$t};var Xt=require("@keplr-wallet/cosmos"),en={coinDenom:"juno",coinMinimalDenom:"ujuno",coinDecimals:6,coinGeckoId:"juno-network",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/juno.png"},Gn={coinDenom:"neta",coinMinimalDenom:"cw20:juno168ctmpyppk90d34p3jjy658zf5a5l3w8wk35wht6ccqj4mr0yv8s4j5awr",coinDecimals:6,coinGeckoId:"neta",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/neta.png"},Kn={coinDenom:"marble",coinMinimalDenom:"cw20:juno1g2g7ucurum66d42g8k5twk34yegdq8c82858gz0tq2fc75zy7khssgnhjl",coinDecimals:3,coinGeckoId:"marble",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/marble.png"},zn={coinDenom:"hope",coinMinimalDenom:"cw20:juno1re3x67ppxap48ygndmrc7har2cnc7tcxtm9nplcas4v0gc3wnmvs3s807z",coinDecimals:6,coinGeckoId:"hope-galaxy",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/hope.png"},jn={coinDenom:"rac",coinMinimalDenom:"cw20:juno1r4pzw8f9z0sypct5l9j906d47z998ulwvhvqe5xdwgy8wf84583sxwh0pa",coinDecimals:6,coinGeckoId:"racoon",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/rac.png"},Qn={coinDenom:"block",coinMinimalDenom:"cw20:juno1y9rf7ql6ffwkv02hsgd4yruz23pn4w97p75e2slsnkm0mnamhzysvqnxaq",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/block.png"},Hn={coinDenom:"dhk",coinMinimalDenom:"cw20:juno1tdjwrqmnztn2j3sj2ln9xnyps5hs48q3ddwjrz7jpv6mskappjys5czd49",coinDecimals:0,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/dhk.png"},Vn={coinDenom:"raw",coinMinimalDenom:"cw20:juno15u3dt79t6sxxa3x3kpkhzsy56edaa5a66wvt3kxmukqjz2sx0hes5sn38g",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/raw.png",coinGeckoId:"junoswap-raw-dao"},$n={coinDenom:"asvt",coinMinimalDenom:"cw20:juno17wzaxtfdw5em7lc94yed4ylgjme63eh73lm3lutp2rhcxttyvpwsypjm4w",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/asvt.png"},Zn={coinDenom:"hns",coinMinimalDenom:"cw20:juno1ur4jx0sxchdevahep7fwq28yk4tqsrhshdtylz46yka3uf6kky5qllqp4k",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/hns.svg"},Yn={coinDenom:"joe",coinMinimalDenom:"cw20:juno1n7n7d5088qlzlj37e9mgmkhx6dfgtvt02hqxq66lcap4dxnzdhwqfmgng3",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/joe.png"},Jt=[en,Gn,Kn,zn,jn,Qn,Hn,Vn,$n,Zn,Yn],st={rpc:"https://rpc.juno.strange.love",rest:"https://api.juno.strange.love",chainId:"juno-1",chainName:"Juno",stakeCurrency:en,bip44:{coinType:118},bech32Config:Xt.Bech32Address.defaultBech32Config("juno"),currencies:Jt,feeCurrencies:Jt};var nn=require("@keplr-wallet/cosmos"),on={coinDenom:"osmo",coinMinimalDenom:"uosmo",coinDecimals:6,coinGeckoId:"osmosis",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/cosmoshub/images/atom.png"},Jn={coinDenom:"ion",coinMinimalDenom:"uion",coinDecimals:6,coinGeckoId:"ion",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/ion.png"},tn=[on,Jn],at={rpc:"https://rpc.osmosis.strange.love",rest:"https://api.osmosis.strange.love",chainId:"osmosis-1",chainName:"Osmosis",stakeCurrency:on,bip44:{coinType:118},bech32Config:nn.Bech32Address.defaultBech32Config("osmo"),currencies:tn,feeCurrencies:tn};var sn=require("@keplr-wallet/cosmos"),an={coinDenom:"somm",coinMinimalDenom:"usomm",coinDecimals:6,coinGeckoId:"sommelier",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/sommelier/images/somm.png"},rn=[an],ct={rpc:"https://rpc.sommelier.strange.love",rest:"https://api.sommelier.strange.love",chainId:"sommelier-3",chainName:"Sommelier",stakeCurrency:an,bip44:{coinType:118},bech32Config:sn.Bech32Address.defaultBech32Config("somm"),currencies:rn,feeCurrencies:rn};var ln=require("@keplr-wallet/cosmos"),un={coinDenom:"CRE",coinMinimalDenom:"ucre",coinDecimals:6,coinGeckoId:"crescent",coinImageUrl:"https://raw.githubusercontent.com/crescent-network/asset/main/images/coin/CRE.png"},cn=[un],lt={rpc:"https://testnet-endpoint.crescent.network/rpc/crescent",rest:"https://testnet-endpoint.crescent.network/api/crescent",chainId:"mooncat-1-1",chainName:"Crescent Testnet",bip44:{coinType:118},bech32Config:ln.Bech32Address.defaultBech32Config("CRE"),currencies:cn,feeCurrencies:cn,stakeCurrency:un,coinType:118};var mn=require("@keplr-wallet/cosmos"),ut={coinDenom:"junox",coinMinimalDenom:"ujunox",coinDecimals:6,coinGeckoId:"juno-network",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/juno.png"},Xn=[ut],mt={rpc:"https://rpc.uni.junonetwork.io",rest:"https://api.uni.junonetwork.io",chainId:"uni-5",chainName:"Juno Testnet",stakeCurrency:ut,bip44:{coinType:118},bech32Config:mn.Bech32Address.defaultBech32Config("juno"),currencies:Xn,feeCurrencies:[ut],coinType:118};var pn=require("@keplr-wallet/cosmos"),pt={coinDenom:"osmo",coinMinimalDenom:"uosmo",coinDecimals:6,coinGeckoId:"osmosis",coinImageUrl:"https://dhj8dql1kzq2v.cloudfront.net/white/osmo.png"},eo=[pt],gt={rpc:"https://testnet-rpc.osmosis.zone",rest:"https://testnet-rest.osmosis.zone",chainId:"osmo-test-4",chainName:"Osmosis Testnet",stakeCurrency:pt,bip44:{coinType:118},bech32Config:pn.Bech32Address.defaultBech32Config("osmo"),currencies:eo,feeCurrencies:[pt],coinType:118};var ft=t=>t,to=t=>t,no=t=>t,oo=ft({axelar:rt,cosmoshub:it,juno:st,osmosis:at,sommelier:ct}),ro=[rt,it,st,at,ct],io=ft({crescent:lt,juno:mt,osmosis:gt}),so=[lt,mt,gt];var $=require("@tanstack/react-query"),se=require("react");var gn=require("@cosmjs/cosmwasm-stargate"),fn=require("@cosmjs/stargate"),ve=require("@cosmjs/tendermint-rpc"),Oe=require("@tanstack/react-query"),ke=require("react");var We=()=>{let t=g(n=>n.activeChain),e=(0,ke.useMemo)(()=>["USE_STARGATE_CLIENT",t],[t]);return(0,Oe.useQuery)({queryKey:e,queryFn:async({queryKey:[,n]})=>{if(!n)throw new Error("No chain found");let r={url:n.rpc,headers:{...n.rpcHeaders||{}}};return await fn.StargateClient.connect(r)},enabled:!!t,refetchOnWindowFocus:!1})},Ne=()=>{let t=g(n=>n.activeChain),e=(0,ke.useMemo)(()=>["USE_COSMWASM_CLIENT",t],[t]);return(0,Oe.useQuery)({queryKey:e,queryFn:async({queryKey:[,n]})=>{if(!n)throw new Error("No chain found");let r={url:n.rpc,headers:{...n.rpcHeaders||{}}};return await gn.CosmWasmClient.connect(r)},enabled:!!t,refetchOnWindowFocus:!1})},Me=t=>{let e=g(r=>r.activeChain),n=(0,ke.useMemo)(()=>["USE_TENDERMINT_CLIENT",t,e],[t,e]);return(0,Oe.useQuery)({queryKey:n,queryFn:async({queryKey:[,r,o]})=>{if(!o)throw new Error("No chain found");let i={url:o.rpc,headers:{...o.rpcHeaders||{}}};return await(r==="tm37"?ve.Tendermint37Client:ve.Tendermint34Client).connect(i)},enabled:!!e,refetchOnWindowFocus:!1})};var dn=require("@tanstack/react-query"),hn=require("zustand/shallow");var ao=()=>f(t=>({walletType:t.walletType,isCosmostation:t.walletType==="cosmostation",isCosmostationMobile:t.walletType==="wc_cosmostation_mobile",isKeplr:t.walletType==="keplr",isKeplrMobile:t.walletType==="wc_keplr_mobile",isLeap:t.walletType==="leap",isLeapMobile:t.walletType==="wc_leap_mobile",isVectis:t.walletType==="vectis",isWalletConnect:t.walletType==="walletconnect"}),hn.shallow),he=t=>{let n=["USE_CHECK_WALLET",f(o=>t||o.walletType)];return(0,dn.useQuery)(n,({queryKey:[,o]})=>W(o))};var Q=({onConnect:t,onDisconnect:e}={})=>{let n=g(o=>o.account),r=g(o=>o.status);return(0,se.useEffect)(()=>g.subscribe(o=>o.status,(o,i)=>{if(o==="connected"){let{account:s,activeChain:a}=g.getState(),{walletType:c}=f.getState();t==null||t({account:s,chain:a,walletType:c,isReconnect:i==="reconnecting"})}o==="disconnected"&&(e==null||e())}),[t,e]),{data:n,isConnected:!!n,isConnecting:r==="connecting",isDisconnected:r==="disconnected",isReconnecting:r==="reconnecting",isLoading:r==="connecting"||r==="reconnecting",reconnect:G,status:r}},yn=t=>{let{data:e}=Q(),{data:n}=We(),{activeChain:r}=g.getState(),o=t||(e==null?void 0:e.bech32Address),i=(0,se.useMemo)(()=>["USE_ALL_BALANCES",n,r,o],[r,o,n]);return(0,$.useQuery)(i,async({queryKey:[,a,c,u]})=>{if(!c||!a)throw new Error("No connected account detected");if(!u)throw new Error("address is not defined");return await a.getAllBalances(u)},{enabled:!!o&&!!r&&!!n,refetchOnMount:!1,refetchOnReconnect:!0,refetchOnWindowFocus:!1})},co=(t,e)=>{let{data:n}=Q(),r=e||(n==null?void 0:n.bech32Address),{data:o,refetch:i}=yn(r),a=(0,$.useQuery)(["USE_BALANCE",o,t,e],({queryKey:[,c]})=>c==null?void 0:c.find(u=>u.denom===t),{enabled:!!o});return{...a,refetch:async()=>(await i(),a.refetch())}},lo=({onError:t,onLoading:e,onSuccess:n}={})=>{let o=(0,$.useMutation)(["USE_CONNECT",t,e,n],ie,{onError:(s,a)=>Promise.resolve(t==null?void 0:t(s,a)),onMutate:e,onSuccess:s=>Promise.resolve(n==null?void 0:n(s))}),{data:i}=he();return{connect:s=>o.mutate(s),connectAsync:s=>o.mutateAsync(s),error:o.error,isLoading:o.isLoading,isSuccess:o.isSuccess,isSupported:!!i,status:o.status}},uo=({onError:t,onLoading:e,onSuccess:n}={})=>{let o=(0,$.useMutation)(["USE_DISCONNECT",t,e,n],Te,{onError:i=>Promise.resolve(t==null?void 0:t(i,void 0)),onMutate:e,onSuccess:()=>Promise.resolve(n==null?void 0:n(void 0))});return{disconnect:i=>o.mutate(i),disconnectAsync:i=>o.mutateAsync(i),error:o.error,isLoading:o.isLoading,isSuccess:o.isSuccess,status:o.status}},mo=()=>{let t=g(r=>r.activeChain),e=f(r=>r.walletType),n=(0,se.useMemo)(()=>["USE_OFFLINE_SIGNERS",t,e],[t,e]);return(0,$.useQuery)({queryKey:n,queryFn:async({queryKey:[,r,o]})=>{if(!r)throw new Error("No chain found");if(!W(o))throw new Error(`${o} is not available`);return await He({chainId:r.chainId,walletType:o})},enabled:!!t&&!!e,refetchOnWindowFocus:!1})},po=t=>{let{data:e}=Q(),{data:n}=We(),{activeChain:r}=g.getState(),o=t||(e==null?void 0:e.bech32Address),i=(0,se.useMemo)(()=>["USE_BALANCE_STAKED",n,r,o],[r,o,n]);return(0,$.useQuery)(i,async({queryKey:[,a,c,u]})=>{if(!c||!a)throw new Error("No connected account detected");if(!u)throw new Error("address is not defined");return await a.getBalanceStaked(u)},{enabled:!!o&&!!r&&!!n,refetchOnMount:!1,refetchOnReconnect:!0,refetchOnWindowFocus:!1})};var ae=require("@tanstack/react-query");var go=()=>g(t=>t.activeChain),fo=t=>(0,ae.useQuery)(["USE_ACTIVE_CHAIN_CURRENCY",t],({queryKey:[,r]})=>$e(r)),ho=(t,e="BOND_STATUS_BONDED")=>(0,ae.useQuery)(["USE_ACTIVE_CHAIN_VALIDATORS",t,e],async({queryKey:[,o,i]})=>{if(!o)throw new Error("Query client is not defined");return await o.staking.validators(i)},{enabled:typeof t<"u"}),yo=()=>({data:f(e=>e.recentChain),clear:Ve}),wo=({onError:t,onLoading:e,onSuccess:n}={})=>{let o=(0,ae.useMutation)(["USE_SUGGEST_CHAIN",t,e,n],xe,{onError:(i,s)=>Promise.resolve(t==null?void 0:t(i,s)),onMutate:e,onSuccess:i=>Promise.resolve(n==null?void 0:n(i))});return{error:o.error,isLoading:o.isLoading,isSuccess:o.isSuccess,suggest:o.mutate,suggestAsync:o.mutateAsync,status:o.status}},Co=({onError:t,onLoading:e,onSuccess:n}={})=>{let o=(0,ae.useMutation)(["USE_SUGGEST_CHAIN_AND_CONNECT",t,e,n],Ze,{onError:(s,a)=>Promise.resolve(t==null?void 0:t(s,a)),onMutate:s=>e==null?void 0:e(s),onSuccess:s=>Promise.resolve(n==null?void 0:n(s))}),{data:i}=he();return{error:o.error,isLoading:o.isLoading,isSuccess:o.isSuccess,isSupported:!!i,status:o.status,suggestAndConnect:o.mutate,suggestAndConnectAsync:o.mutateAsync}};var Z=require("@tanstack/react-query");var So=({onError:t,onLoading:e,onSuccess:n}={})=>{let{data:r}=Q(),o=r==null?void 0:r.bech32Address,i=(0,Z.useMutation)(["USE_SEND_TOKENS",t,e,n,o],s=>Je({senderAddress:o,...s}),{onError:(s,a)=>Promise.resolve(t==null?void 0:t(s,a)),onMutate:e,onSuccess:s=>Promise.resolve(n==null?void 0:n(s))});return{error:i.error,isLoading:i.isLoading,isSuccess:i.isSuccess,sendTokens:i.mutate,sendTokensAsync:i.mutateAsync,status:i.status}},Ao=({onError:t,onLoading:e,onSuccess:n}={})=>{let{data:r}=Q(),o=r==null?void 0:r.bech32Address,i=(0,Z.useMutation)(["USE_SEND_IBC_TOKENS",t,e,n,o],s=>Xe({senderAddress:o,...s}),{onError:(s,a)=>Promise.resolve(t==null?void 0:t(s,a)),onMutate:e,onSuccess:s=>Promise.resolve(n==null?void 0:n(s))});return{error:i.error,isLoading:i.isLoading,isSuccess:i.isSuccess,sendIbcTokens:i.mutate,sendIbcTokensAsync:i.mutateAsync,status:i.status}},Eo=({codeId:t,onError:e,onLoading:n,onSuccess:r})=>{let{data:o}=Q(),i=o==null?void 0:o.bech32Address,a=(0,Z.useMutation)(["USE_INSTANTIATE_CONTRACT",e,n,r,t,i],c=>{if(!i)throw new Error("senderAddress is undefined");let u={...c,fee:c.fee??"auto",senderAddress:i,codeId:t};return et(u)},{onError:(c,u)=>Promise.resolve(e==null?void 0:e(c,u)),onMutate:n,onSuccess:c=>Promise.resolve(r==null?void 0:r(c))});return{error:a.error,isLoading:a.isLoading,isSuccess:a.isSuccess,instantiateContract:a.mutate,instantiateContractAsync:a.mutateAsync,status:a.status}},Io=({contractAddress:t,onError:e,onLoading:n,onSuccess:r})=>{let{data:o}=Q(),i=o==null?void 0:o.bech32Address,a=(0,Z.useMutation)(["USE_EXECUTE_CONTRACT",e,n,r,t,i],c=>{if(!i)throw new Error("senderAddress is undefined");let u={...c,fee:c.fee??"auto",senderAddress:i,contractAddress:t,memo:c.memo??"",funds:c.funds??[]};return tt(u)},{onError:(c,u)=>Promise.resolve(e==null?void 0:e(c,u)),onMutate:n,onSuccess:c=>Promise.resolve(r==null?void 0:r(c))});return{error:a.error,isLoading:a.isLoading,isSuccess:a.isSuccess,executeContract:a.mutate,executeContractAsync:a.mutateAsync,status:a.status}},bo=(t,e)=>{let{data:n}=Ne();return(0,Z.useQuery)(["USE_QUERY_SMART",t,e,n],({queryKey:[,o]})=>{if(!t||!e)throw new Error("address or queryMsg undefined");return nt(t,e,n)},{enabled:!!t&&!!e&&!!n})},To=(t,e)=>{let{data:n}=Ne();return(0,Z.useQuery)(["USE_QUERY_RAW",e,t,n],({queryKey:[,i]})=>{if(!t||!e)throw new Error("address or key undefined");return ot(t,e,n)},{enabled:!!t&&!!e&&!!n})};var dt=require("@cosmjs/cosmwasm-stargate"),ce=require("@cosmjs/stargate"),ye=require("@tanstack/react-query"),we=require("react");var xo=t=>{let e=g(o=>o.activeChain),n=f(o=>o.walletType),r=(0,we.useMemo)(()=>["USE_STARGATE_SIGNING_CLIENT",e,n,t],[t,e,n]);return(0,ye.useQuery)({queryKey:r,queryFn:async({queryKey:[,o,i,s]})=>{if(!o)throw new Error("No chain found");if(!W(i))throw new Error(`${i} is not available`);let c=await(async()=>{switch(t==null?void 0:t.offlineSigner){case"offlineSigner":return T(i).getOfflineSigner(o.chainId);case"offlineSignerAuto":return T(i).getOfflineSignerAuto(o.chainId);case"offlineSignerOnlyAmino":return T(i).getOfflineSignerOnlyAmino(o.chainId);default:return T(i).getOfflineSignerAuto(o.chainId)}})(),u={url:o.rpc,headers:{...o.rpcHeaders||{}}};return await ce.SigningStargateClient.connectWithSigner(u,c,s==null?void 0:s.opts)},enabled:!!e&&!!n,refetchOnWindowFocus:!1})},vo=t=>{let e=g(o=>o.activeChain),n=f(o=>o.walletType),r=(0,we.useMemo)(()=>["USE_COSMWASM_SIGNING_CLIENT",e,n,t],[t,e,n]);return(0,ye.useQuery)({queryKey:r,queryFn:async({queryKey:[,o,i,s]})=>{if(!o)throw new Error("No chain found");if(!W(i))throw new Error(`${i} is not available`);let c=await(async()=>{switch(t==null?void 0:t.offlineSigner){case"offlineSigner":return T(i).getOfflineSigner(o.chainId);case"offlineSignerAuto":return T(i).getOfflineSignerAuto(o.chainId);case"offlineSignerOnlyAmino":return T(i).getOfflineSignerOnlyAmino(o.chainId);default:return T(i).getOfflineSignerAuto(o.chainId)}})(),u={url:o.rpc,headers:{...o.rpcHeaders||{}}},h=o.gas?ce.GasPrice.fromString(`${o.gas.price}${o.gas.denom}`):void 0;return await dt.SigningCosmWasmClient.connectWithSigner(u,c,{gasPrice:h,...(s==null?void 0:s.opts)||{}})},enabled:!!e&&!!n,refetchOnWindowFocus:!1})},Oo=t=>{let e=g(i=>i.activeChain),n=f(i=>i.walletType),r=(0,we.useMemo)(()=>["USE_STARGATE_TM_SIGNING_CLIENT",e,n,t],[t,e,n]),{data:o}=Me(t.type);return(0,ye.useQuery)({queryKey:r,queryFn:async({queryKey:[,i,s,a]})=>{if(!i)throw new Error("No chain found");if(!W(s))throw new Error(`${s} is not available`);if(!o)throw new Error("No tendermint client found");let u=await(async()=>{switch(t.offlineSigner){case"offlineSigner":return T(s).getOfflineSigner(i.chainId);case"offlineSignerAuto":return T(s).getOfflineSignerAuto(i.chainId);case"offlineSignerOnlyAmino":return T(s).getOfflineSignerOnlyAmino(i.chainId);default:return T(s).getOfflineSignerAuto(i.chainId)}})();return ce.SigningStargateClient.createWithSigner(o,u,a.opts)},enabled:!!e&&!!n&&!!o,refetchOnWindowFocus:!1})},ko=t=>{let e=g(i=>i.activeChain),n=f(i=>i.walletType),r=(0,we.useMemo)(()=>["USE_COSMWASM_TM_SIGNING_CLIENT",e,n,t],[t,e,n]),{data:o}=Me(t.type);return(0,ye.useQuery)({queryKey:r,queryFn:async({queryKey:[,i,s,a]})=>{if(!i)throw new Error("No chain found");if(!W(s))throw new Error(`${s} is not available`);if(!o)throw new Error("No tendermint client found");let u=await(async()=>{switch(t.offlineSigner){case"offlineSigner":return T(s).getOfflineSigner(i.chainId);case"offlineSignerAuto":return T(s).getOfflineSignerAuto(i.chainId);case"offlineSignerOnlyAmino":return T(s).getOfflineSignerOnlyAmino(i.chainId);default:return T(s).getOfflineSignerAuto(i.chainId)}})(),h=i.gas?ce.GasPrice.fromString(`${i.gas.price}${i.gas.denom}`):void 0;return dt.SigningCosmWasmClient.createWithSigner(o,u,{gasPrice:h,...(a==null?void 0:a.opts)||{}})},enabled:!!e&&!!n&&!!o,refetchOnWindowFocus:!1})};var Fe=require("@tanstack/react-query"),Sn=require("@tanstack/react-query-devtools");var _e=require("react"),De=require("react/jsx-runtime"),wn=({children:t})=>{let[e,n]=(0,_e.useState)(!1);return(0,_e.useEffect)(()=>{n(!0)},[]),(0,De.jsx)(De.Fragment,{children:e?t:null})};var ht=require("react");var Cn=()=>{let t=typeof window<"u"&&window.sessionStorage.getItem(J)==="Active",{_reconnect:e,_onReconnectFailed:n,_reconnectConnector:r}=f(),{activeChain:o,wcSignClient:i}=g(),s=W(r||void 0);return(0,ht.useEffect)(()=>{if(r){if(!s)return;t&&o?G({onError:n}):!t&&e&&G({onError:n})}},[s]),(0,ht.useEffect)(()=>{var a,c,u,h,A,C,x,N,ue,Y;if(r){if(!s)return;r==="cosmostation"&&((c=(a=pe()).subscription)==null||c.call(a,()=>{G({onError:n})})),r==="keplr"&&((h=(u=ge()).subscription)==null||h.call(u,()=>{G({onError:n})})),r==="leap"&&((C=(A=fe()).subscription)==null||C.call(A,()=>{G({onError:n})})),r==="vectis"&&((N=(x=de()).subscription)==null||N.call(x,()=>{G({onError:n})})),r==="walletconnect"&&i&&((Y=(ue=B()).subscription)==null||Y.call(ue,()=>{G({onError:n})}))}},[r,i,s]),null},yt=()=>(Cn(),null);var le=require("react/jsx-runtime"),Wo=new Fe.QueryClient({}),No=({children:t,grazOptions:e,debug:n,...r})=>(e&&Ye(e),(0,le.jsxs)(Fe.QueryClientProvider,{client:Wo,...r,children:[(0,le.jsxs)(wn,{children:[t,(0,le.jsx)(yt,{})]}),n?(0,le.jsx)(Sn.ReactQueryDevtools,{initialIsOpen:!1,position:"bottom-right"}):null]},"graz-provider"));0&&(module.exports={GrazEvents,GrazProvider,WALLET_TYPES,WalletType,checkWallet,clearRecentChain,clearSession,configureGraz,connect,defineChain,defineChainInfo,defineChains,disconnect,executeContract,getActiveChainCurrency,getAvailableWallets,getCosmostation,getKeplr,getLeap,getMetamaskSnapLeap,getOfflineSigners,getQueryRaw,getQuerySmart,getRecentChain,getVectis,getWCCosmostation,getWCKeplr,getWCLeap,getWallet,getWalletConnect,instantiateContract,isWalletConnect,mainnetChains,mainnetChainsArray,reconnect,sendIbcTokens,sendTokens,suggestChain,suggestChainAndConnect,testnetChains,testnetChainsArray,useAccount,useActiveChain,useActiveChainCurrency,useActiveChainValidators,useActiveWalletType,useBalance,useBalanceStaked,useBalances,useCheckWallet,useConnect,useCosmWasmClient,useCosmWasmSigningClient,useCosmWasmTmSigningClient,useDisconnect,useExecuteContract,useGrazEvents,useInstantiateContract,useOfflineSigners,useQueryRaw,useQuerySmart,useRecentChain,useSendIbcTokens,useSendTokens,useStargateClient,useStargateSigningClient,useStargateTmSigningClient,useSuggestChain,useSuggestChainAndConnect,useTendermintClient});
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- import{a as Yt,b as Ce,c as $}from"./chunk-HBC2VYPF.mjs";var me=Yt((mo,nt)=>{"use strict";nt.exports=E;var P=null;try{P=new WebAssembly.Instance(new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,13,2,96,0,1,127,96,4,127,127,127,127,1,127,3,7,6,0,1,1,1,1,1,6,6,1,127,1,65,0,11,7,50,6,3,109,117,108,0,1,5,100,105,118,95,115,0,2,5,100,105,118,95,117,0,3,5,114,101,109,95,115,0,4,5,114,101,109,95,117,0,5,8,103,101,116,95,104,105,103,104,0,0,10,191,1,6,4,0,35,0,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,126,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,127,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,128,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,129,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,130,34,4,66,32,135,167,36,0,32,4,167,11])),{}).exports}catch{}function E(t,e,n){this.low=t|0,this.high=e|0,this.unsigned=!!n}E.prototype.__isLong__;Object.defineProperty(E.prototype,"__isLong__",{value:!0});function _(t){return(t&&t.__isLong__)===!0}E.isLong=_;var He={},Ve={};function Y(t,e){var n,r,o;return e?(t>>>=0,(o=0<=t&&t<256)&&(r=Ve[t],r)?r:(n=I(t,(t|0)<0?-1:0,!0),o&&(Ve[t]=n),n)):(t|=0,(o=-128<=t&&t<128)&&(r=He[t],r)?r:(n=I(t,t<0?-1:0,!1),o&&(He[t]=n),n))}E.fromInt=Y;function R(t,e){if(isNaN(t))return e?Z:q;if(e){if(t<0)return Z;if(t>=Xe)return tt}else{if(t<=-Ze)return F;if(t+1>=Ze)return et}return t<0?R(-t,e).neg():I(t%J|0,t/J|0,e)}E.fromNumber=R;function I(t,e,n){return new E(t,e,n)}E.fromBits=I;var ue=Math.pow;function Ae(t,e,n){if(t.length===0)throw Error("empty string");if(t==="NaN"||t==="Infinity"||t==="+Infinity"||t==="-Infinity")return q;if(typeof e=="number"?(n=e,e=!1):e=!!e,n=n||10,n<2||36<n)throw RangeError("radix");var r;if((r=t.indexOf("-"))>0)throw Error("interior hyphen");if(r===0)return Ae(t.substring(1),e,n).neg();for(var o=R(ue(n,8)),i=q,s=0;s<t.length;s+=8){var a=Math.min(8,t.length-s),c=parseInt(t.substring(s,s+a),n);if(a<8){var u=R(ue(n,a));i=i.mul(u).add(R(c))}else i=i.mul(o),i=i.add(R(c))}return i.unsigned=e,i}E.fromString=Ae;function L(t,e){return typeof t=="number"?R(t,e):typeof t=="string"?Ae(t,e):I(t.low,t.high,typeof e=="boolean"?e:t.unsigned)}E.fromValue=L;var $e=65536,nn=1<<24,J=$e*$e,Xe=J*J,Ze=Xe/2,Ye=Y(nn),q=Y(0);E.ZERO=q;var Z=Y(0,!0);E.UZERO=Z;var X=Y(1);E.ONE=X;var Je=Y(1,!0);E.UONE=Je;var Se=Y(-1);E.NEG_ONE=Se;var et=I(-1,2147483647,!1);E.MAX_VALUE=et;var tt=I(-1,-1,!0);E.MAX_UNSIGNED_VALUE=tt;var F=I(0,-2147483648,!1);E.MIN_VALUE=F;var l=E.prototype;l.toInt=function(){return this.unsigned?this.low>>>0:this.low};l.toNumber=function(){return this.unsigned?(this.high>>>0)*J+(this.low>>>0):this.high*J+(this.low>>>0)};l.toString=function(e){if(e=e||10,e<2||36<e)throw RangeError("radix");if(this.isZero())return"0";if(this.isNegative())if(this.eq(F)){var n=R(e),r=this.div(n),o=r.mul(n).sub(this);return r.toString(e)+o.toInt().toString(e)}else return"-"+this.neg().toString(e);for(var i=R(ue(e,6),this.unsigned),s=this,a="";;){var c=s.div(i),u=s.sub(c.mul(i)).toInt()>>>0,h=u.toString(e);if(s=c,s.isZero())return h+a;for(;h.length<6;)h="0"+h;a=""+h+a}};l.getHighBits=function(){return this.high};l.getHighBitsUnsigned=function(){return this.high>>>0};l.getLowBits=function(){return this.low};l.getLowBitsUnsigned=function(){return this.low>>>0};l.getNumBitsAbs=function(){if(this.isNegative())return this.eq(F)?64:this.neg().getNumBitsAbs();for(var e=this.high!=0?this.high:this.low,n=31;n>0&&!(e&1<<n);n--);return this.high!=0?n+33:n+1};l.isZero=function(){return this.high===0&&this.low===0};l.eqz=l.isZero;l.isNegative=function(){return!this.unsigned&&this.high<0};l.isPositive=function(){return this.unsigned||this.high>=0};l.isOdd=function(){return(this.low&1)===1};l.isEven=function(){return(this.low&1)===0};l.equals=function(e){return _(e)||(e=L(e)),this.unsigned!==e.unsigned&&this.high>>>31===1&&e.high>>>31===1?!1:this.high===e.high&&this.low===e.low};l.eq=l.equals;l.notEquals=function(e){return!this.eq(e)};l.neq=l.notEquals;l.ne=l.notEquals;l.lessThan=function(e){return this.comp(e)<0};l.lt=l.lessThan;l.lessThanOrEqual=function(e){return this.comp(e)<=0};l.lte=l.lessThanOrEqual;l.le=l.lessThanOrEqual;l.greaterThan=function(e){return this.comp(e)>0};l.gt=l.greaterThan;l.greaterThanOrEqual=function(e){return this.comp(e)>=0};l.gte=l.greaterThanOrEqual;l.ge=l.greaterThanOrEqual;l.compare=function(e){if(_(e)||(e=L(e)),this.eq(e))return 0;var n=this.isNegative(),r=e.isNegative();return n&&!r?-1:!n&&r?1:this.unsigned?e.high>>>0>this.high>>>0||e.high===this.high&&e.low>>>0>this.low>>>0?-1:1:this.sub(e).isNegative()?-1:1};l.comp=l.compare;l.negate=function(){return!this.unsigned&&this.eq(F)?F:this.not().add(X)};l.neg=l.negate;l.add=function(e){_(e)||(e=L(e));var n=this.high>>>16,r=this.high&65535,o=this.low>>>16,i=this.low&65535,s=e.high>>>16,a=e.high&65535,c=e.low>>>16,u=e.low&65535,h=0,A=0,C=0,x=0;return x+=i+u,C+=x>>>16,x&=65535,C+=o+c,A+=C>>>16,C&=65535,A+=r+a,h+=A>>>16,A&=65535,h+=n+s,h&=65535,I(C<<16|x,h<<16|A,this.unsigned)};l.subtract=function(e){return _(e)||(e=L(e)),this.add(e.neg())};l.sub=l.subtract;l.multiply=function(e){if(this.isZero())return q;if(_(e)||(e=L(e)),P){var n=P.mul(this.low,this.high,e.low,e.high);return I(n,P.get_high(),this.unsigned)}if(e.isZero())return q;if(this.eq(F))return e.isOdd()?F:q;if(e.eq(F))return this.isOdd()?F:q;if(this.isNegative())return e.isNegative()?this.neg().mul(e.neg()):this.neg().mul(e).neg();if(e.isNegative())return this.mul(e.neg()).neg();if(this.lt(Ye)&&e.lt(Ye))return R(this.toNumber()*e.toNumber(),this.unsigned);var r=this.high>>>16,o=this.high&65535,i=this.low>>>16,s=this.low&65535,a=e.high>>>16,c=e.high&65535,u=e.low>>>16,h=e.low&65535,A=0,C=0,x=0,N=0;return N+=s*h,x+=N>>>16,N&=65535,x+=i*h,C+=x>>>16,x&=65535,x+=s*u,C+=x>>>16,x&=65535,C+=o*h,A+=C>>>16,C&=65535,C+=i*u,A+=C>>>16,C&=65535,C+=s*c,A+=C>>>16,C&=65535,A+=r*h+o*u+i*c+s*a,A&=65535,I(x<<16|N,A<<16|C,this.unsigned)};l.mul=l.multiply;l.divide=function(e){if(_(e)||(e=L(e)),e.isZero())throw Error("division by zero");if(P){if(!this.unsigned&&this.high===-2147483648&&e.low===-1&&e.high===-1)return this;var n=(this.unsigned?P.div_u:P.div_s)(this.low,this.high,e.low,e.high);return I(n,P.get_high(),this.unsigned)}if(this.isZero())return this.unsigned?Z:q;var r,o,i;if(this.unsigned){if(e.unsigned||(e=e.toUnsigned()),e.gt(this))return Z;if(e.gt(this.shru(1)))return Je;i=Z}else{if(this.eq(F)){if(e.eq(X)||e.eq(Se))return F;if(e.eq(F))return X;var s=this.shr(1);return r=s.div(e).shl(1),r.eq(q)?e.isNegative()?X:Se:(o=this.sub(e.mul(r)),i=r.add(o.div(e)),i)}else if(e.eq(F))return this.unsigned?Z:q;if(this.isNegative())return e.isNegative()?this.neg().div(e.neg()):this.neg().div(e).neg();if(e.isNegative())return this.div(e.neg()).neg();i=q}for(o=this;o.gte(e);){r=Math.max(1,Math.floor(o.toNumber()/e.toNumber()));for(var a=Math.ceil(Math.log(r)/Math.LN2),c=a<=48?1:ue(2,a-48),u=R(r),h=u.mul(e);h.isNegative()||h.gt(o);)r-=c,u=R(r,this.unsigned),h=u.mul(e);u.isZero()&&(u=X),i=i.add(u),o=o.sub(h)}return i};l.div=l.divide;l.modulo=function(e){if(_(e)||(e=L(e)),P){var n=(this.unsigned?P.rem_u:P.rem_s)(this.low,this.high,e.low,e.high);return I(n,P.get_high(),this.unsigned)}return this.sub(this.div(e).mul(e))};l.mod=l.modulo;l.rem=l.modulo;l.not=function(){return I(~this.low,~this.high,this.unsigned)};l.and=function(e){return _(e)||(e=L(e)),I(this.low&e.low,this.high&e.high,this.unsigned)};l.or=function(e){return _(e)||(e=L(e)),I(this.low|e.low,this.high|e.high,this.unsigned)};l.xor=function(e){return _(e)||(e=L(e)),I(this.low^e.low,this.high^e.high,this.unsigned)};l.shiftLeft=function(e){return _(e)&&(e=e.toInt()),(e&=63)===0?this:e<32?I(this.low<<e,this.high<<e|this.low>>>32-e,this.unsigned):I(0,this.low<<e-32,this.unsigned)};l.shl=l.shiftLeft;l.shiftRight=function(e){return _(e)&&(e=e.toInt()),(e&=63)===0?this:e<32?I(this.low>>>e|this.high<<32-e,this.high>>e,this.unsigned):I(this.high>>e-32,this.high>=0?0:-1,this.unsigned)};l.shr=l.shiftRight;l.shiftRightUnsigned=function(e){if(_(e)&&(e=e.toInt()),e&=63,e===0)return this;var n=this.high;if(e<32){var r=this.low;return I(r>>>e|n<<32-e,n>>>e,this.unsigned)}else return e===32?I(n,0,this.unsigned):I(n>>>e-32,0,this.unsigned)};l.shru=l.shiftRightUnsigned;l.shr_u=l.shiftRightUnsigned;l.toSigned=function(){return this.unsigned?I(this.low,this.high,!1):this};l.toUnsigned=function(){return this.unsigned?this:I(this.low,this.high,!0)};l.toBytes=function(e){return e?this.toBytesLE():this.toBytesBE()};l.toBytesLE=function(){var e=this.high,n=this.low;return[n&255,n>>>8&255,n>>>16&255,n>>>24,e&255,e>>>8&255,e>>>16&255,e>>>24]};l.toBytesBE=function(){var e=this.high,n=this.low;return[e>>>24,e>>>16&255,e>>>8&255,e&255,n>>>24,n>>>16&255,n>>>8&255,n&255]};E.fromBytes=function(e,n,r){return r?E.fromBytesLE(e,n):E.fromBytesBE(e,n)};E.fromBytesLE=function(e,n){return new E(e[0]|e[1]<<8|e[2]<<16|e[3]<<24,e[4]|e[5]<<8|e[6]<<16|e[7]<<24,n)};E.fromBytesBE=function(e,n){return new E(e[4]<<24|e[5]<<16|e[6]<<8|e[7],e[0]<<24|e[1]<<16|e[2]<<8|e[3],n)}});import{create as Ke}from"zustand";import{createJSONStorage as Xt}from"zustand/middleware";import{persist as ze,subscribeWithSelector as Qe}from"zustand/middleware";var Ge=(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))(Ge||{}),je=["keplr","leap","vectis","cosmostation","walletconnect","wc_keplr_mobile","wc_leap_mobile","wc_cosmostation_mobile","metamask_snap_leap"];var Jt={recentChain:null,defaultChain:null,defaultSigningClient:"stargate",walletType:"keplr",walletConnect:{options:null,web3Modal:null},_notFoundFn:()=>null,_onReconnectFailed:()=>null,_reconnect:!1,_reconnectConnector:null},ne={account:null,activeChain:null,balances:null,status:"disconnected",wcSignClient:null},en={name:"graz-session",version:1,partialize:t=>({account:t.account,activeChain:t.activeChain}),storage:Xt(()=>sessionStorage)},tn={name:"graz-internal",partialize:t=>({recentChain:t.recentChain,_reconnect:t._reconnect,_reconnectConnector:t._reconnectConnector}),version:1},g=Ke(Qe(ze(()=>ne,en))),f=Ke(Qe(ze(()=>Jt,tn)));var ae=()=>{if(typeof window.cosmostation.providers.keplr<"u"){let t=window.cosmostation.providers.keplr;return Object.assign(t,{subscription:r=>(window.cosmostation.cosmos.on("accountChanged",()=>{D(),r()}),()=>{window.cosmostation.cosmos.off("accountChanged",()=>{D(),r()})})})}throw f.getState()._notFoundFn(),new Error("window.cosmostation.providers.keplr is not defined")};var ce=()=>{if(typeof window.keplr<"u"){let t=window.keplr;return Object.assign(t,{subscription:r=>(window.addEventListener("keplr_keystorechange",()=>{D(),r()}),()=>{window.removeEventListener("keplr_keystorechange",()=>{D(),r()})})})}throw f.getState()._notFoundFn(),new Error("window.keplr is not defined")};var le=()=>{if(typeof window.leap<"u"){let t=window.leap;return Object.assign(t,{subscription:r=>(window.addEventListener("leap_keystorechange",()=>{D(),r()}),()=>{window.removeEventListener("leap_keystorechange",()=>{D(),r()})})})}throw f.getState()._notFoundFn(),new Error("window.leap is not defined")};var ot=Ce(me());var rt=t=>{let e=window.ethereum;if(e&&t){let n=async()=>await e.request({method:"wallet_getSnaps"}),r=async y=>{try{let S=await n();return Object.values(S).find(O=>O.id===t.id&&(!y||O.version===y))}catch{return}},o=async()=>{await e.request({method:"wallet_requestSnaps",params:{[t.id]:t.params||{}}})},i=async()=>{let y=await e.request({method:"web3_clientVersion"});if(!(y==null?void 0:y.includes("flask")))throw new Error("Metamask Flask is not detected");return!0},s=async y=>{await r()||await o()},a=async(y,S,O)=>{let U=await e.request({method:"wallet_invokeSnap",params:{snapId:t.id,request:{method:"signDirect",params:{chainId:y,signerAddress:S,signDoc:O}}}}),z=O.accountNumber,te=new ot.default(z.low,z.high,z.unsigned);return{signature:U.signature,signed:{...U.signed,accountNumber:`${te.toString()}`,authInfoBytes:new Uint8Array(Object.values(U.signed.authInfoBytes)),bodyBytes:new Uint8Array(Object.values(U.signed.bodyBytes))}}},c=async(y,S,O)=>await e.request({method:"wallet_invokeSnap",params:{snapId:t.id,request:{method:"signAmino",params:{chainId:y,signerAddress:S,signDoc:O}}}}),u=async y=>{let S=await e.request({method:"wallet_invokeSnap",params:{snapId:t.id,request:{method:"getKey",params:{chainId:y}}}});if(!S)throw new Error("No response from Metamask");return S.pubKey=Uint8Array.from(Object.values(S.pubkey)),delete S.pubkey,{...S}},h=async y=>{let S=await u(y);return{address:S.bech32Address,algo:S.algo,pubkey:S.pubKey}},A=async(...y)=>{let[S,O,U,z]=y;return await c(S,O,U)},C=async(...y)=>{let[S,O,U]=y;return await a(S,O,U)},x=y=>({getAccounts:async()=>[await h(y)],signDirect:(S,O)=>C(y,S,O)}),N=y=>({getAccounts:async()=>[await h(y)],signAmino:(S,O)=>A(y,S,O)});return{getKey:u,getOfflineSigner:y=>({getAccounts:async()=>[await h(y)],signDirect:(S,O)=>C(y,S,O),signAmino:(S,O)=>A(y,S,O)}),getOfflineSignerAuto:async y=>(await u(y)).isNanoLedger?N(y):x(y),getOfflineSignerOnlyAmino:N,signDirect:C,signAmino:A,enable:s,experimentalSuggestChain:async(...y)=>{await e.request({method:"wallet_invokeSnap",params:{snapId:t.id,request:{method:"suggestChain",params:{chainInfo:y[0]}}}})},init:i}}throw f.getState()._notFoundFn(),new Error("window.ethereum is not defined")};var it=()=>rt({id:"npm:@leapwallet/metamask-cosmos-snap"});var st=Ce(me());import{fromBech32 as on}from"@cosmjs/encoding";var pe=()=>{if(typeof window.vectis<"u"){let t=window.vectis.cosmos;return{enable:a=>t.enable(a),getOfflineSigner:a=>t.getOfflineSigner(a),getOfflineSignerAuto:a=>t.getOfflineSignerAuto(a),getKey:async a=>{let c=await t.getKey(a);return{address:on(c.address).data,algo:c.algo,bech32Address:c.address,name:c.name,pubKey:c.pubKey,isKeystone:!1,isNanoLedger:c.isNanoLedger}},subscription:a=>(window.addEventListener("vectis_accountChanged",()=>{D(),a()}),()=>{window.removeEventListener("vectis_accountChanged",()=>{D(),a()})}),getOfflineSignerOnlyAmino:(...a)=>t.getOfflineSignerAmino(...a),experimentalSuggestChain:async(...a)=>{let[c]=a,u={...c,rpcUrl:c.rpc,restUrl:c.rest,prettyName:c.chainName.replace(" ",""),bech32Prefix:c.bech32Config.bech32PrefixAccAddr};return t.suggestChains([u])},signDirect:async(...a)=>{var h;let{1:c,2:u}=a;return t.signDirect(c,{bodyBytes:u.bodyBytes||Uint8Array.from([]),authInfoBytes:u.authInfoBytes||Uint8Array.from([]),accountNumber:st.default.fromString(((h=u.accountNumber)==null?void 0:h.toString())||"",!1),chainId:u.chainId||""})},signAmino:async(...a)=>{let{1:c,2:u}=a;return t.signAmino(c,u)}}}throw f.getState()._notFoundFn(),new Error("window.vectis is not defined")};var ut=Ce(me());import{fromBech32 as rn}from"@cosmjs/encoding";import{SignClient as sn}from"@walletconnect/sign-client";import{getSdkError as an}from"@walletconnect/utils";var B=()=>typeof window<"u"?!!(window.matchMedia("(pointer:coarse)").matches||/Android|webOS|iPhone|iPad|iPod|BlackBerry|Opera Mini/u.test(navigator.userAgent)):!1,at=()=>B()&&navigator.userAgent.toLowerCase().includes("android"),ct=()=>B()&&(navigator.userAgent.toLowerCase().includes("iphone")||navigator.userAgent.toLowerCase().includes("ipad"));var lt=(t,e,n=new Error("Promise timed out"))=>{let r=new Promise((o,i)=>{setTimeout(()=>{i(n)},e)});return Promise.race([t,r])};var G=t=>{var z,te,Be;if(!((Be=(te=(z=f.getState().walletConnect)==null?void 0:z.options)==null?void 0:te.projectId)!=null&&Be.trim()))throw new Error("walletConnect.options.projectId is not defined");let e=(t==null?void 0:t.encoding)||"base64",n=p=>{if(!t)return;let{appUrl:m,formatNativeUrl:d}=t;if(B()){if(at())if(!p)window.open(m.mobile.android,"_self","noreferrer noopener");else{let w=d(m.mobile.android,p,"android");window.open(w,"_self","noreferrer noopener")}if(ct())if(!p)window.open(m.mobile.ios,"_self","noreferrer noopener");else{let w=d(m.mobile.ios,p,"ios");window.open(w,"_self","noreferrer noopener")}}},r=()=>{let{wcSignClient:p}=g.getState();if(!p)throw new Error("walletConnect.signClient is not defined");D(),f.setState({_reconnect:!1,_reconnectConnector:null,recentChain:null})},o=async p=>{let{wcSignClient:m}=g.getState();if(!m)throw new Error("walletConnect.signClient is not defined");if(!p)throw new Error("No wallet connect session");await m.disconnect({topic:p,reason:an("USER_DISCONNECTED")}),await a(m),r()},i=p=>{var m,d;try{let{wcSignClient:w}=g.getState();if(!w)throw new Error("walletConnect.signClient is not defined");let b=w.session.getAll().at(-1);if(!b)return;let v=(d=(m=w.session.getAll().at(-1))==null?void 0:m.namespaces.cosmos)==null?void 0:d.accounts.find(k=>k.startsWith(`cosmos:${p}`));if(!(b.expiry*1e3>Date.now()+1e3))throw o(b.topic),new Error("invalid session");if(!v)try{let k=w.find({requiredNamespaces:{cosmos:{methods:["cosmos_getAccounts","cosmos_signAmino","cosmos_signDirect"],chains:[`cosmos:${p}`],events:["chainChanged","accountsChanged"]}}});if(!k.length)throw new Error("no session");return k.at(-1)}catch(k){if(!k.message.toLowerCase().includes("no matching key"))throw k}return b}catch(w){if(!w.message.toLowerCase().includes("no matching key"))throw w}},s=p=>{try{return i(p)}catch{return}},a=async p=>{try{let m=p.core.pairing.pairings.getAll({active:!1});if(!m.length)return;await Promise.all(m.map(async d=>{await p.core.pairing.pairings.delete(d.topic,{code:7001,message:"clear pairing"})}))}catch(m){if(!m.message.toLowerCase().includes("no matching key"))throw m}},c=async()=>{let{walletConnect:p}=f.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 d=await sn.init(p.options);return g.setState({wcSignClient:d}),d},u=p=>{let{wcSignClient:m}=g.getState();if(m)return m.events.on("session_delete",d=>{r()}),m.events.on("session_expire",d=>{r()}),m.events.on("session_event",d=>{var w,b;if(d.params.event.name==="accountsChanged"&&((w=d.params.event.data)==null?void 0:w[0])!==((b=g.getState().account)==null?void 0:b.bech32Address)){let v=d.params.chainId.split(":")[1];v&&h(v)}else p()}),()=>{m.events.off("session_delete",d=>{r()}),m.events.off("session_expire",d=>{r()}),m.events.off("session_event",d=>{var w,b;if(d.params.event.name==="accountsChanged"&&((w=d.params.event.data)==null?void 0:w[0])!==((b=g.getState().account)==null?void 0:b.bech32Address)){let v=d.params.chainId.split(":")[1];v&&h(v)}else p()})}},h=async p=>{var re;let{wcSignClient:m}=g.getState();if(!m)throw new Error("enable walletConnect.signClient is not defined");let{walletConnect:d}=f.getState();if(!((re=d==null?void 0:d.options)!=null&&re.projectId))throw new Error("walletConnect.options.projectId is not defined");let{Web3Modal:w}=await import("@web3modal/standalone"),b=new w({projectId:d.options.projectId,walletConnectVersion:2,enableExplorer:!1,explorerRecommendedWalletIds:"NONE",...d.web3Modal}),{account:v,activeChain:K}=g.getState(),k=s(p);if((K==null?void 0:K.chainId)!==p&&!k||!v){let{uri:M,approval:ie}=await m.connect({requiredNamespaces:{cosmos:{methods:["cosmos_getAccounts","cosmos_signAmino","cosmos_signDirect"],chains:[`cosmos:${p}`],events:["chainChanged","accountsChanged"]}}});if(!M)throw new Error("No wallet connect uri");t?n(M):await b.openModal({uri:M});let Zt=async Q=>Q.aborted?Promise.reject(new Error("User closed wallet connect")):new Promise((we,se)=>{ie().then(we).catch(se),Q.addEventListener("abort",()=>{se(new Error("User closed wallet connect"))})});try{let Q=new AbortController,we=Q.signal;b.subscribeModal(se=>{se.open||Q.abort()}),await Zt(we)}catch(Q){if(b.closeModal(),!Q.message.toLowerCase().includes("no matching key"))return Promise.reject(Q)}return t||b.closeModal(),Promise.resolve()}try{await lt((async()=>{let M=await C(p);g.setState({account:M})})(),15e3,new Error("Connection timeout"))}catch(M){if(o(k==null?void 0:k.topic),!M.message.toLowerCase().includes("no matching key"))throw M}},A=async p=>{var b;let{wcSignClient:m}=g.getState();if(!m)throw new Error("walletConnect.signClient is not defined");let d=(b=i(p))==null?void 0:b.topic;if(!d)throw new Error("No wallet connect session");n();let w=await m.request({topic:d,chainId:`cosmos:${p}`,request:{method:"cosmos_getAccounts",params:{}}});if(!w[0])throw new Error("No wallet connect account");return{address:w[0].address,algo:w[0].algo,pubkey:new Uint8Array(Buffer.from(w[0].pubkey,e))}},C=async p=>{let{address:m,algo:d,pubkey:w}=await A(p);return{address:rn(m).data,algo:d,bech32Address:m,name:"",pubKey:w,isKeystone:!1,isNanoLedger:!1}},x=async(...p)=>{var M,ie;let[m,d,w]=p,{account:b,wcSignClient:v}=g.getState();if(!v)throw new Error("walletConnect.signClient is not defined");if(!b)throw new Error("account is not defined");let K=(M=i(m))==null?void 0:M.topic;if(!K)throw new Error("No wallet connect session");if(!w.bodyBytes)throw new Error("No bodyBytes");if(!w.authInfoBytes)throw new Error("No authInfoBytes");let k={topic:K,chainId:`cosmos:${m}`,request:{method:"cosmos_signDirect",params:{signerAddress:d,signDoc:{...w,bodyBytes:Buffer.from(w.bodyBytes).toString(e),authInfoBytes:Buffer.from(w.authInfoBytes).toString(e),accountNumber:(ie=w.accountNumber)==null?void 0:ie.toString()}}}};return n(),await v.request(k)},N=async(...p)=>{let[m,d,w]=p,{signature:b,signed:v}=await x(m,d,w);return{signed:{chainId:v.chainId,accountNumber:ut.default.fromString(v.accountNumber,!1),authInfoBytes:new Uint8Array(Buffer.from(v.authInfoBytes,e)),bodyBytes:new Uint8Array(Buffer.from(v.bodyBytes,e))},signature:b}},ee=async(...p)=>{var M;let[m,d,w,b]=p,{wcSignClient:v}=g.getState(),{account:K}=g.getState();if(!v)throw new Error("walletConnect.signClient is not defined");if(!K)throw new Error("account is not defined");let k=(M=i(m))==null?void 0:M.topic;if(!k)throw new Error("No wallet connect session");return n(),await v.request({topic:k,chainId:`cosmos:${m}`,request:{method:"cosmos_signDirect",params:{signerAddress:d,signDoc:w}}})},V=async(...p)=>{let[m,d,w,b]=p;return await ee(m,d,w)},Ue=p=>({getAccounts:async()=>[await A(p)],signDirect:(m,d)=>N(p,m,d)}),y=p=>({getAccounts:async()=>[await A(p)],signAmino:(m,d)=>V(p,m,d)});return{enable:h,experimentalSuggestChain:async(...p)=>{await Promise.reject(new Error("WalletConnect does not support experimentalSuggestChain"))},getKey:C,getOfflineSigner:p=>({getAccounts:async()=>[await A(p)],signDirect:(m,d)=>N(p,m,d),signAmino:(m,d)=>V(p,m,d)}),getOfflineSignerAuto:async p=>(await C(p)).isNanoLedger?y(p):Ue(p),getOfflineSignerOnlyAmino:y,signAmino:V,signDirect:N,subscription:u,init:c}};var mt=()=>{var e,n,r;if(!((r=(n=(e=f.getState().walletConnect)==null?void 0:e.options)==null?void 0:n.projectId)!=null&&r.trim()))throw new Error("walletConnect.options.projectId is not defined");if(!B())throw new Error("WalletConnect Leap mobile is only supported in mobile");let t={encoding:"hex",appUrl:{mobile:{ios:"cosmostation://",android:"cosmostation://"}},walletType:"wc_leap_mobile",formatNativeUrl:(o,i,s)=>`${o.replaceAll("/","").replaceAll(":","")}://wc?${i}`};return G(t)};var pt=()=>{var e,n,r;if(!((r=(n=(e=f.getState().walletConnect)==null?void 0:e.options)==null?void 0:n.projectId)!=null&&r.trim()))throw new Error("walletConnect.options.projectId is not defined");if(!B())throw new Error("WalletConnect Keplr mobile is only supported in mobile");let t={encoding:"base64",appUrl:{mobile:{ios:"keplrwallet://",android:"intent://"}},walletType:"wc_keplr_mobile",formatNativeUrl:(o,i,s)=>{let a=o.replaceAll("/","").replaceAll(":",""),c=encodeURIComponent(i);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 G(t)};var gt=()=>{var e,n,r;if(!((r=(n=(e=f.getState().walletConnect)==null?void 0:e.options)==null?void 0:n.projectId)!=null&&r.trim()))throw new Error("walletConnect.options.projectId is not defined");if(!B())throw new Error("WalletConnect Leap mobile is only supported in mobile");let t={encoding:"base64",appUrl:{mobile:{ios:"leapcosmos://",android:"intent://"}},walletType:"wc_leap_mobile",formatNativeUrl:(o,i,s)=>{let a=o.replaceAll("/","").replaceAll(":",""),c=encodeURIComponent(i);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 G(t)};var W=(t=f.getState().walletType)=>{try{return T(t),!0}catch{return!1}},D=()=>{window.sessionStorage.removeItem($),g.setState(ne)},T=(t=f.getState().walletType)=>{switch(t){case"keplr":return ce();case"leap":return le();case"cosmostation":return ae();case"vectis":return pe();case"walletconnect":return G();case"wc_keplr_mobile":return pt();case"wc_leap_mobile":return gt();case"wc_cosmostation_mobile":return mt();case"metamask_snap_leap":return it();default:throw new Error("Unknown wallet type")}},tr=()=>Object.fromEntries(je.map(t=>[t,W(t)]));var oe=async t=>{var e;try{let{defaultChain:n,recentChain:r,walletType:o}=f.getState(),i=(t==null?void 0:t.walletType)||o;if(!W(i))throw new Error(`${i} is not available`);let a=T(i),c=(t==null?void 0:t.chain)||r||n;if(!c)throw new Error("No last known connected chain, connect action requires chain info");g.setState(C=>{let x=f.getState()._reconnect||!!f.getState()._reconnectConnector||!!c;return C.activeChain&&C.activeChain.chainId!==c.chainId?{status:"connecting"}:x?{status:"reconnecting"}:{status:"connecting"}});let{account:u,activeChain:h}=g.getState();if(await((e=a.init)==null?void 0:e.call(a)),!u||(h==null?void 0:h.chainId)!==c.chainId){await a.enable(c.chainId);let C=await a.getKey(c.chainId);g.setState({account:C})}f.setState({recentChain:c,walletType:i,_reconnect:!!(t!=null&&t.autoReconnect),_reconnectConnector:i}),g.setState({activeChain:c,status:"connected"}),typeof window<"u"&&window.sessionStorage.setItem($,"Active");let{account:A}=g.getState();return{account:A,walletType:i,chain:c}}catch(n){throw console.error("connect ",n),g.getState().account===null&&g.setState({status:"disconnected"}),g.getState().account&&g.getState().activeChain&&g.setState({status:"connected"}),n}},Ee=async(t=!1)=>(typeof window<"u"&&window.sessionStorage.removeItem($),g.setState(ne),f.setState(e=>({_reconnect:!1,_reconnectConnector:null,recentChain:t?null:e.recentChain})),Promise.resolve()),j=async t=>{var o;let{recentChain:e,_reconnectConnector:n,_reconnect:r}=f.getState();try{let i=W(n||void 0);if(e&&i&&n)return await oe({chain:e,walletType:n,autoReconnect:r})}catch(i){(o=t==null?void 0:t.onError)==null||o.call(t,i),Ee()}},ft=async t=>{if(!(t!=null&&t.chainId))throw new Error("chainId is required");let{walletType:e}=f.getState(),n=t.walletType||e;if(!W(n))throw new Error(`${n} is not available`);let o=T(n),i=o.getOfflineSigner(t.chainId),s=o.getOfflineSignerOnlyAmino(t.chainId),a=await o.getOfflineSignerAuto(t.chainId);return{offlineSigner:i,offlineSignerAmino:s,offlineSignerAuto:a}};var dt=()=>{f.setState({recentChain:null})},ht=t=>{let{activeChain:e}=g.getState();return e==null?void 0:e.currencies.find(n=>n.coinMinimalDenom===t)},ur=()=>f.getState().recentChain,Ie=async t=>(await T().experimentalSuggestChain(t),t),yt=async({chainInfo:t,rpcHeaders:e,gas:n,path:r,...o})=>{let i=await Ie(t);return{...await oe({chain:{chainId:t.chainId,currencies:t.currencies,rest:t.rest,rpc:t.rpc,rpcHeaders:e,gas:n,path:r},...o}),chain:i}};var wt=(t={})=>(f.setState(e=>({defaultChain:t.defaultChain||e.defaultChain,defaultSigningClient:t.defaultSigningClient||e.defaultSigningClient,walletConnect:t.walletConnect||e.walletConnect,walletType:t.defaultWallet||e.walletType,_notFoundFn:t.onNotFound||e._notFoundFn,_onReconnectFailed:t.onReconnectFailed||e._onReconnectFailed,_reconnect:t.autoReconnect===void 0?!0:t.autoReconnect||e._reconnect})),t);var Ct=async({signingClient:t,senderAddress:e,recipientAddress:n,amount:r,fee:o,memo:i})=>{if(!t)throw new Error("No connected account detected");if(!e)throw new Error("senderAddress is not defined");return t.sendTokens(e,n,r,o,i)},St=async({signingClient:t,senderAddress:e,recipientAddress:n,transferAmount:r,sourcePort:o,sourceChannel:i,timeoutHeight:s,timeoutTimestamp:a,fee:c,memo:u})=>{if(!t)throw new Error("Stargate signing client is not ready");if(!e)throw new Error("senderAddress is not defined");return t.sendIbcTokens(e,n,r,o,i,s,a,c,u)},At=async({signingClient:t,senderAddress:e,msg:n,fee:r,options:o,label:i,codeId:s})=>{if(!t)throw new Error("CosmWasm signing client is not ready");return t.instantiate(e,s,n,i,r,o)},Et=async({signingClient:t,senderAddress:e,msg:n,fee:r,contractAddress:o,funds:i,memo:s})=>{if(!t)throw new Error("CosmWasm signing client is not ready");return t.execute(e,o,n,r,s,i)},It=async(t,e,n)=>{if(!n)throw new Error("CosmWasm client is not ready");return await n.queryContractSmart(t,e)},bt=(t,e,n)=>{if(!n)throw new Error("CosmWasm client is not ready");let r=new TextEncoder().encode(e);return n.queryContractRaw(t,r)};import{Bech32Address as cn}from"@keplr-wallet/cosmos";var xt={coinDenom:"axl",coinMinimalDenom:"uaxl",coinDecimals:6,coinGeckoId:"axelar-network",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/axl.png"},ln={coinDenom:"usdc",coinMinimalDenom:"uusdc",coinDecimals:6,coinGeckoId:"usd-coin",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/usdc.png"},un={coinDenom:"dai",coinMinimalDenom:"dai-wei",coinDecimals:18,coinGeckoId:"dai",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/dai.png"},mn={coinDenom:"usdt",coinMinimalDenom:"uusdt",coinDecimals:6,coinGeckoId:"tether",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/usdt.png"},pn={coinDenom:"weth-wei",coinMinimalDenom:"weth",coinDecimals:18,coinGeckoId:"weth",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/weth.png"},gn={coinDenom:"wbtc-satoshi",coinMinimalDenom:"wbtc",coinDecimals:8,coinGeckoId:"wrapped-bitcoin",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/wbtc.png"},Tt=[xt,ln,un,mn,pn,gn],be={rpc:"https://rpc.axelar.strange.love",rest:"https://api.axelar.strange.love",chainId:"axelar-dojo-1",chainName:"Axelar",stakeCurrency:xt,bip44:{coinType:118},bech32Config:cn.defaultBech32Config("axelar"),currencies:Tt,feeCurrencies:Tt};import{Bech32Address as fn}from"@keplr-wallet/cosmos";var Ot={coinDenom:"atom",coinMinimalDenom:"uatom",coinDecimals:6,coinGeckoId:"cosmos",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/cosmoshub/images/atom.png"},vt=[Ot],Te={rpc:"https://rpc.cosmoshub.strange.love",rest:"https://api.cosmoshub.strange.love",chainId:"cosmoshub-4",chainName:"Cosmos Hub",stakeCurrency:Ot,bip44:{coinType:118},bech32Config:fn.defaultBech32Config("cosmos"),currencies:vt,feeCurrencies:vt};import{Bech32Address as dn}from"@keplr-wallet/cosmos";var Wt={coinDenom:"juno",coinMinimalDenom:"ujuno",coinDecimals:6,coinGeckoId:"juno-network",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/juno.png"},hn={coinDenom:"neta",coinMinimalDenom:"cw20:juno168ctmpyppk90d34p3jjy658zf5a5l3w8wk35wht6ccqj4mr0yv8s4j5awr",coinDecimals:6,coinGeckoId:"neta",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/neta.png"},yn={coinDenom:"marble",coinMinimalDenom:"cw20:juno1g2g7ucurum66d42g8k5twk34yegdq8c82858gz0tq2fc75zy7khssgnhjl",coinDecimals:3,coinGeckoId:"marble",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/marble.png"},wn={coinDenom:"hope",coinMinimalDenom:"cw20:juno1re3x67ppxap48ygndmrc7har2cnc7tcxtm9nplcas4v0gc3wnmvs3s807z",coinDecimals:6,coinGeckoId:"hope-galaxy",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/hope.png"},Cn={coinDenom:"rac",coinMinimalDenom:"cw20:juno1r4pzw8f9z0sypct5l9j906d47z998ulwvhvqe5xdwgy8wf84583sxwh0pa",coinDecimals:6,coinGeckoId:"racoon",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/rac.png"},Sn={coinDenom:"block",coinMinimalDenom:"cw20:juno1y9rf7ql6ffwkv02hsgd4yruz23pn4w97p75e2slsnkm0mnamhzysvqnxaq",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/block.png"},An={coinDenom:"dhk",coinMinimalDenom:"cw20:juno1tdjwrqmnztn2j3sj2ln9xnyps5hs48q3ddwjrz7jpv6mskappjys5czd49",coinDecimals:0,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/dhk.png"},En={coinDenom:"raw",coinMinimalDenom:"cw20:juno15u3dt79t6sxxa3x3kpkhzsy56edaa5a66wvt3kxmukqjz2sx0hes5sn38g",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/raw.png",coinGeckoId:"junoswap-raw-dao"},In={coinDenom:"asvt",coinMinimalDenom:"cw20:juno17wzaxtfdw5em7lc94yed4ylgjme63eh73lm3lutp2rhcxttyvpwsypjm4w",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/asvt.png"},bn={coinDenom:"hns",coinMinimalDenom:"cw20:juno1ur4jx0sxchdevahep7fwq28yk4tqsrhshdtylz46yka3uf6kky5qllqp4k",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/hns.svg"},Tn={coinDenom:"joe",coinMinimalDenom:"cw20:juno1n7n7d5088qlzlj37e9mgmkhx6dfgtvt02hqxq66lcap4dxnzdhwqfmgng3",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/joe.png"},kt=[Wt,hn,yn,wn,Cn,Sn,An,En,In,bn,Tn],xe={rpc:"https://rpc.juno.strange.love",rest:"https://api.juno.strange.love",chainId:"juno-1",chainName:"Juno",stakeCurrency:Wt,bip44:{coinType:118},bech32Config:dn.defaultBech32Config("juno"),currencies:kt,feeCurrencies:kt};import{Bech32Address as xn}from"@keplr-wallet/cosmos";var Mt={coinDenom:"osmo",coinMinimalDenom:"uosmo",coinDecimals:6,coinGeckoId:"osmosis",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/cosmoshub/images/atom.png"},vn={coinDenom:"ion",coinMinimalDenom:"uion",coinDecimals:6,coinGeckoId:"ion",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/ion.png"},Nt=[Mt,vn],ve={rpc:"https://rpc.osmosis.strange.love",rest:"https://api.osmosis.strange.love",chainId:"osmosis-1",chainName:"Osmosis",stakeCurrency:Mt,bip44:{coinType:118},bech32Config:xn.defaultBech32Config("osmo"),currencies:Nt,feeCurrencies:Nt};import{Bech32Address as On}from"@keplr-wallet/cosmos";var Ft={coinDenom:"somm",coinMinimalDenom:"usomm",coinDecimals:6,coinGeckoId:"sommelier",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/sommelier/images/somm.png"},Dt=[Ft],Oe={rpc:"https://rpc.sommelier.strange.love",rest:"https://api.sommelier.strange.love",chainId:"sommelier-3",chainName:"Sommelier",stakeCurrency:Ft,bip44:{coinType:118},bech32Config:On.defaultBech32Config("somm"),currencies:Dt,feeCurrencies:Dt};import{Bech32Address as kn}from"@keplr-wallet/cosmos";var Pt={coinDenom:"CRE",coinMinimalDenom:"ucre",coinDecimals:6,coinGeckoId:"crescent",coinImageUrl:"https://raw.githubusercontent.com/crescent-network/asset/main/images/coin/CRE.png"},_t=[Pt],ke={rpc:"https://testnet-endpoint.crescent.network/rpc/crescent",rest:"https://testnet-endpoint.crescent.network/api/crescent",chainId:"mooncat-1-1",chainName:"Crescent Testnet",bip44:{coinType:118},bech32Config:kn.defaultBech32Config("CRE"),currencies:_t,feeCurrencies:_t,stakeCurrency:Pt,coinType:118};import{Bech32Address as Wn}from"@keplr-wallet/cosmos";var We={coinDenom:"junox",coinMinimalDenom:"ujunox",coinDecimals:6,coinGeckoId:"juno-network",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/juno.png"},Nn=[We],Ne={rpc:"https://rpc.uni.junonetwork.io",rest:"https://api.uni.junonetwork.io",chainId:"uni-5",chainName:"Juno Testnet",stakeCurrency:We,bip44:{coinType:118},bech32Config:Wn.defaultBech32Config("juno"),currencies:Nn,feeCurrencies:[We],coinType:118};import{Bech32Address as Mn}from"@keplr-wallet/cosmos";var Me={coinDenom:"osmo",coinMinimalDenom:"uosmo",coinDecimals:6,coinGeckoId:"osmosis",coinImageUrl:"https://dhj8dql1kzq2v.cloudfront.net/white/osmo.png"},Dn=[Me],De={rpc:"https://testnet-rpc.osmosis.zone",rest:"https://testnet-rest.osmosis.zone",chainId:"osmo-test-4",chainName:"Osmosis Testnet",stakeCurrency:Me,bip44:{coinType:118},bech32Config:Mn.defaultBech32Config("osmo"),currencies:Dn,feeCurrencies:[Me],coinType:118};var Rt=t=>t,Lr=t=>t,Ur=t=>t,Br=Rt({axelar:be,cosmoshub:Te,juno:xe,osmosis:ve,sommelier:Oe}),Gr=[be,Te,xe,ve,Oe],jr=Rt({crescent:ke,juno:Ne,osmosis:De}),Kr=[ke,Ne,De];import{useMutation as qt,useQuery as fe}from"@tanstack/react-query";import{useEffect as Un,useMemo as Le}from"react";import{CosmWasmClient as Fn}from"@cosmjs/cosmwasm-stargate";import{StargateClient as _n}from"@cosmjs/stargate";import{Tendermint34Client as Pn,Tendermint37Client as Rn}from"@cosmjs/tendermint-rpc";import{useQuery as Fe}from"@tanstack/react-query";import{useMemo as _e}from"react";var Pe=()=>{let t=g(n=>n.activeChain),e=_e(()=>["USE_STARGATE_CLIENT",t],[t]);return Fe({queryKey:e,queryFn:async({queryKey:[,n]})=>{if(!n)throw new Error("No chain found");let r={url:n.rpc,headers:{...n.rpcHeaders||{}}};return await _n.connect(r)},enabled:!!t,refetchOnWindowFocus:!1})},Re=()=>{let t=g(n=>n.activeChain),e=_e(()=>["USE_COSMWASM_CLIENT",t],[t]);return Fe({queryKey:e,queryFn:async({queryKey:[,n]})=>{if(!n)throw new Error("No chain found");let r={url:n.rpc,headers:{...n.rpcHeaders||{}}};return await Fn.connect(r)},enabled:!!t,refetchOnWindowFocus:!1})},qe=t=>{let e=g(r=>r.activeChain),n=_e(()=>["USE_TENDERMINT_CLIENT",t,e],[t,e]);return Fe({queryKey:n,queryFn:async({queryKey:[,r,o]})=>{if(!o)throw new Error("No chain found");let i={url:o.rpc,headers:{...o.rpcHeaders||{}}};return await(r==="tm37"?Rn:Pn).connect(i)},enabled:!!e,refetchOnWindowFocus:!1})};import{useQuery as qn}from"@tanstack/react-query";import{shallow as Ln}from"zustand/shallow";var oi=()=>f(t=>({walletType:t.walletType,isCosmostation:t.walletType==="cosmostation",isCosmostationMobile:t.walletType==="wc_cosmostation_mobile",isKeplr:t.walletType==="keplr",isKeplrMobile:t.walletType==="wc_keplr_mobile",isLeap:t.walletType==="leap",isLeapMobile:t.walletType==="wc_leap_mobile",isVectis:t.walletType==="vectis",isWalletConnect:t.walletType==="walletconnect"}),Ln),ge=t=>{let n=["USE_CHECK_WALLET",f(o=>t||o.walletType)];return qn(n,({queryKey:[,o]})=>W(o))};var H=({onConnect:t,onDisconnect:e}={})=>{let n=g(o=>o.account),r=g(o=>o.status);return Un(()=>g.subscribe(o=>o.status,(o,i)=>{if(o==="connected"){let{account:s,activeChain:a}=g.getState(),{walletType:c}=f.getState();t==null||t({account:s,chain:a,walletType:c,isReconnect:i==="reconnecting"})}o==="disconnected"&&(e==null||e())}),[t,e]),{data:n,isConnected:!!n,isConnecting:r==="connecting",isDisconnected:r==="disconnected",isReconnecting:r==="reconnecting",isLoading:r==="connecting"||r==="reconnecting",reconnect:j,status:r}},Bn=t=>{let{data:e}=H(),{data:n}=Pe(),{activeChain:r}=g.getState(),o=t||(e==null?void 0:e.bech32Address),i=Le(()=>["USE_ALL_BALANCES",n,r,o],[r,o,n]);return fe(i,async({queryKey:[,a,c,u]})=>{if(!c||!a)throw new Error("No connected account detected");if(!u)throw new Error("address is not defined");return await a.getAllBalances(u)},{enabled:!!o&&!!r&&!!n,refetchOnMount:!1,refetchOnReconnect:!0,refetchOnWindowFocus:!1})},pi=(t,e)=>{let{data:n}=H(),r=e||(n==null?void 0:n.bech32Address),{data:o,refetch:i}=Bn(r),a=fe(["USE_BALANCE",o,t,e],({queryKey:[,c]})=>c==null?void 0:c.find(u=>u.denom===t),{enabled:!!o});return{...a,refetch:async()=>(await i(),a.refetch())}},gi=({onError:t,onLoading:e,onSuccess:n}={})=>{let o=qt(["USE_CONNECT",t,e,n],oe,{onError:(s,a)=>Promise.resolve(t==null?void 0:t(s,a)),onMutate:e,onSuccess:s=>Promise.resolve(n==null?void 0:n(s))}),{data:i}=ge();return{connect:s=>o.mutate(s),connectAsync:s=>o.mutateAsync(s),error:o.error,isLoading:o.isLoading,isSuccess:o.isSuccess,isSupported:!!i,status:o.status}},fi=({onError:t,onLoading:e,onSuccess:n}={})=>{let o=qt(["USE_DISCONNECT",t,e,n],Ee,{onError:i=>Promise.resolve(t==null?void 0:t(i,void 0)),onMutate:e,onSuccess:()=>Promise.resolve(n==null?void 0:n(void 0))});return{disconnect:i=>o.mutate(i),disconnectAsync:i=>o.mutateAsync(i),error:o.error,isLoading:o.isLoading,isSuccess:o.isSuccess,status:o.status}},di=()=>{let t=g(r=>r.activeChain),e=f(r=>r.walletType),n=Le(()=>["USE_OFFLINE_SIGNERS",t,e],[t,e]);return fe({queryKey:n,queryFn:async({queryKey:[,r,o]})=>{if(!r)throw new Error("No chain found");if(!W(o))throw new Error(`${o} is not available`);return await ft({chainId:r.chainId,walletType:o})},enabled:!!t&&!!e,refetchOnWindowFocus:!1})},hi=t=>{let{data:e}=H(),{data:n}=Pe(),{activeChain:r}=g.getState(),o=t||(e==null?void 0:e.bech32Address),i=Le(()=>["USE_BALANCE_STAKED",n,r,o],[r,o,n]);return fe(i,async({queryKey:[,a,c,u]})=>{if(!c||!a)throw new Error("No connected account detected");if(!u)throw new Error("address is not defined");return await a.getBalanceStaked(u)},{enabled:!!o&&!!r&&!!n,refetchOnMount:!1,refetchOnReconnect:!0,refetchOnWindowFocus:!1})};import{useMutation as Lt,useQuery as Ut}from"@tanstack/react-query";var Ei=()=>g(t=>t.activeChain),Ii=t=>Ut(["USE_ACTIVE_CHAIN_CURRENCY",t],({queryKey:[,r]})=>ht(r)),bi=(t,e="BOND_STATUS_BONDED")=>Ut(["USE_ACTIVE_CHAIN_VALIDATORS",t,e],async({queryKey:[,o,i]})=>{if(!o)throw new Error("Query client is not defined");return await o.staking.validators(i)},{enabled:typeof t<"u"}),Ti=()=>({data:f(e=>e.recentChain),clear:dt}),xi=({onError:t,onLoading:e,onSuccess:n}={})=>{let o=Lt(["USE_SUGGEST_CHAIN",t,e,n],Ie,{onError:(i,s)=>Promise.resolve(t==null?void 0:t(i,s)),onMutate:e,onSuccess:i=>Promise.resolve(n==null?void 0:n(i))});return{error:o.error,isLoading:o.isLoading,isSuccess:o.isSuccess,suggest:o.mutate,suggestAsync:o.mutateAsync,status:o.status}},vi=({onError:t,onLoading:e,onSuccess:n}={})=>{let o=Lt(["USE_SUGGEST_CHAIN_AND_CONNECT",t,e,n],yt,{onError:(s,a)=>Promise.resolve(t==null?void 0:t(s,a)),onMutate:s=>e==null?void 0:e(s),onSuccess:s=>Promise.resolve(n==null?void 0:n(s))}),{data:i}=ge();return{error:o.error,isLoading:o.isLoading,isSuccess:o.isSuccess,isSupported:!!i,status:o.status,suggestAndConnect:o.mutate,suggestAndConnectAsync:o.mutateAsync}};import{useMutation as de,useQuery as Bt}from"@tanstack/react-query";var Di=({onError:t,onLoading:e,onSuccess:n}={})=>{let{data:r}=H(),o=r==null?void 0:r.bech32Address,i=de(["USE_SEND_TOKENS",t,e,n,o],s=>Ct({senderAddress:o,...s}),{onError:(s,a)=>Promise.resolve(t==null?void 0:t(s,a)),onMutate:e,onSuccess:s=>Promise.resolve(n==null?void 0:n(s))});return{error:i.error,isLoading:i.isLoading,isSuccess:i.isSuccess,sendTokens:i.mutate,sendTokensAsync:i.mutateAsync,status:i.status}},Fi=({onError:t,onLoading:e,onSuccess:n}={})=>{let{data:r}=H(),o=r==null?void 0:r.bech32Address,i=de(["USE_SEND_IBC_TOKENS",t,e,n,o],s=>St({senderAddress:o,...s}),{onError:(s,a)=>Promise.resolve(t==null?void 0:t(s,a)),onMutate:e,onSuccess:s=>Promise.resolve(n==null?void 0:n(s))});return{error:i.error,isLoading:i.isLoading,isSuccess:i.isSuccess,sendIbcTokens:i.mutate,sendIbcTokensAsync:i.mutateAsync,status:i.status}},_i=({codeId:t,onError:e,onLoading:n,onSuccess:r})=>{let{data:o}=H(),i=o==null?void 0:o.bech32Address,a=de(["USE_INSTANTIATE_CONTRACT",e,n,r,t,i],c=>{if(!i)throw new Error("senderAddress is undefined");let u={...c,fee:c.fee??"auto",senderAddress:i,codeId:t};return At(u)},{onError:(c,u)=>Promise.resolve(e==null?void 0:e(c,u)),onMutate:n,onSuccess:c=>Promise.resolve(r==null?void 0:r(c))});return{error:a.error,isLoading:a.isLoading,isSuccess:a.isSuccess,instantiateContract:a.mutate,instantiateContractAsync:a.mutateAsync,status:a.status}},Pi=({contractAddress:t,onError:e,onLoading:n,onSuccess:r})=>{let{data:o}=H(),i=o==null?void 0:o.bech32Address,a=de(["USE_EXECUTE_CONTRACT",e,n,r,t,i],c=>{if(!i)throw new Error("senderAddress is undefined");let u={...c,fee:c.fee??"auto",senderAddress:i,contractAddress:t,memo:c.memo??"",funds:c.funds??[]};return Et(u)},{onError:(c,u)=>Promise.resolve(e==null?void 0:e(c,u)),onMutate:n,onSuccess:c=>Promise.resolve(r==null?void 0:r(c))});return{error:a.error,isLoading:a.isLoading,isSuccess:a.isSuccess,executeContract:a.mutate,executeContractAsync:a.mutateAsync,status:a.status}},Ri=(t,e)=>{let{data:n}=Re();return Bt(["USE_QUERY_SMART",t,e,n],({queryKey:[,o]})=>{if(!t||!e)throw new Error("address or queryMsg undefined");return It(t,e,n)},{enabled:!!t&&!!e&&!!n})},qi=(t,e)=>{let{data:n}=Re();return Bt(["USE_QUERY_RAW",e,t,n],({queryKey:[,i]})=>{if(!t||!e)throw new Error("address or key undefined");return bt(t,e,n)},{enabled:!!t&&!!e&&!!n})};import{SigningCosmWasmClient as Gt}from"@cosmjs/cosmwasm-stargate";import{GasPrice as jt,SigningStargateClient as Kt}from"@cosmjs/stargate";import{useQuery as he}from"@tanstack/react-query";import{useMemo as ye}from"react";var Hi=t=>{let e=g(o=>o.activeChain),n=f(o=>o.walletType),r=ye(()=>["USE_STARGATE_SIGNING_CLIENT",e,n,t],[t,e,n]);return he({queryKey:r,queryFn:async({queryKey:[,o,i,s]})=>{if(!o)throw new Error("No chain found");if(!W(i))throw new Error(`${i} is not available`);let c=await(async()=>{switch(t==null?void 0:t.offlineSigner){case"offlineSigner":return T(i).getOfflineSigner(o.chainId);case"offlineSignerAuto":return T(i).getOfflineSignerAuto(o.chainId);case"offlineSignerOnlyAmino":return T(i).getOfflineSignerOnlyAmino(o.chainId);default:return T(i).getOfflineSignerAuto(o.chainId)}})(),u={url:o.rpc,headers:{...o.rpcHeaders||{}}};return await Kt.connectWithSigner(u,c,s==null?void 0:s.opts)},enabled:!!e&&!!n,refetchOnWindowFocus:!1})},Vi=t=>{let e=g(o=>o.activeChain),n=f(o=>o.walletType),r=ye(()=>["USE_COSMWASM_SIGNING_CLIENT",e,n,t],[t,e,n]);return he({queryKey:r,queryFn:async({queryKey:[,o,i,s]})=>{if(!o)throw new Error("No chain found");if(!W(i))throw new Error(`${i} is not available`);let c=await(async()=>{switch(t==null?void 0:t.offlineSigner){case"offlineSigner":return T(i).getOfflineSigner(o.chainId);case"offlineSignerAuto":return T(i).getOfflineSignerAuto(o.chainId);case"offlineSignerOnlyAmino":return T(i).getOfflineSignerOnlyAmino(o.chainId);default:return T(i).getOfflineSignerAuto(o.chainId)}})(),u={url:o.rpc,headers:{...o.rpcHeaders||{}}},h=o.gas?jt.fromString(`${o.gas.price}${o.gas.denom}`):void 0;return await Gt.connectWithSigner(u,c,{gasPrice:h,...(s==null?void 0:s.opts)||{}})},enabled:!!e&&!!n,refetchOnWindowFocus:!1})},$i=t=>{let e=g(i=>i.activeChain),n=f(i=>i.walletType),r=ye(()=>["USE_STARGATE_TM_SIGNING_CLIENT",e,n,t],[t,e,n]),{data:o}=qe(t.type);return he({queryKey:r,queryFn:async({queryKey:[,i,s,a]})=>{if(!i)throw new Error("No chain found");if(!W(s))throw new Error(`${s} is not available`);if(!o)throw new Error("No tendermint client found");let u=await(async()=>{switch(t.offlineSigner){case"offlineSigner":return T(s).getOfflineSigner(i.chainId);case"offlineSignerAuto":return T(s).getOfflineSignerAuto(i.chainId);case"offlineSignerOnlyAmino":return T(s).getOfflineSignerOnlyAmino(i.chainId);default:return T(s).getOfflineSignerAuto(i.chainId)}})();return Kt.createWithSigner(o,u,a.opts)},enabled:!!e&&!!n&&!!o,refetchOnWindowFocus:!1})},Zi=t=>{let e=g(i=>i.activeChain),n=f(i=>i.walletType),r=ye(()=>["USE_COSMWASM_TM_SIGNING_CLIENT",e,n,t],[t,e,n]),{data:o}=qe(t.type);return he({queryKey:r,queryFn:async({queryKey:[,i,s,a]})=>{if(!i)throw new Error("No chain found");if(!W(s))throw new Error(`${s} is not available`);if(!o)throw new Error("No tendermint client found");let u=await(async()=>{switch(t.offlineSigner){case"offlineSigner":return T(s).getOfflineSigner(i.chainId);case"offlineSignerAuto":return T(s).getOfflineSignerAuto(i.chainId);case"offlineSignerOnlyAmino":return T(s).getOfflineSignerOnlyAmino(i.chainId);default:return T(s).getOfflineSignerAuto(i.chainId)}})(),h=i.gas?jt.fromString(`${i.gas.price}${i.gas.denom}`):void 0;return Gt.createWithSigner(o,u,{gasPrice:h,...(a==null?void 0:a.opts)||{}})},enabled:!!e&&!!n&&!!o,refetchOnWindowFocus:!1})};import{QueryClient as Hn,QueryClientProvider as Vn}from"@tanstack/react-query";import{ReactQueryDevtools as $n}from"@tanstack/react-query-devtools";import{useEffect as Gn,useState as jn}from"react";import{Fragment as Kn,jsx as zn}from"react/jsx-runtime";var zt=({children:t})=>{let[e,n]=jn(!1);return Gn(()=>{n(!0)},[]),zn(Kn,{children:e?t:null})};import{useEffect as Qt}from"react";var Qn=()=>{let t=typeof window<"u"&&window.sessionStorage.getItem($)==="Active",{_reconnect:e,_onReconnectFailed:n,_reconnectConnector:r}=f(),{activeChain:o,wcSignClient:i}=g(),s=W(r||void 0);return Qt(()=>{if(r){if(!s)return;t&&o?j({onError:n}):!t&&e&&j({onError:n})}},[s]),Qt(()=>{var a,c,u,h,A,C,x,N,ee,V;if(r){if(!s)return;r==="cosmostation"&&((c=(a=ae()).subscription)==null||c.call(a,()=>{j({onError:n})})),r==="keplr"&&((h=(u=ce()).subscription)==null||h.call(u,()=>{j({onError:n})})),r==="leap"&&((C=(A=le()).subscription)==null||C.call(A,()=>{j({onError:n})})),r==="vectis"&&((N=(x=pe()).subscription)==null||N.call(x,()=>{j({onError:n})})),r==="walletconnect"&&i&&((V=(ee=G()).subscription)==null||V.call(ee,()=>{j({onError:n})}))}},[r,i,s]),null},Ht=()=>(Qn(),null);import{jsx as Vt,jsxs as $t}from"react/jsx-runtime";var Zn=new Hn({}),ys=({children:t,grazOptions:e,debug:n,...r})=>(e&&wt(e),$t(Vn,{client:Zn,...r,children:[$t(zt,{children:[t,Vt(Ht,{})]}),n?Vt($n,{initialIsOpen:!1,position:"bottom-right"}):null]},"graz-provider"));export{Ht as GrazEvents,ys as GrazProvider,je as WALLET_TYPES,Ge as WalletType,W as checkWallet,dt as clearRecentChain,D as clearSession,wt as configureGraz,oe as connect,Lr as defineChain,Ur as defineChainInfo,Rt as defineChains,Ee as disconnect,Et as executeContract,ht as getActiveChainCurrency,tr as getAvailableWallets,ae as getCosmostation,ce as getKeplr,le as getLeap,it as getMetamaskSnapLeap,ft as getOfflineSigners,bt as getQueryRaw,It as getQuerySmart,ur as getRecentChain,pe as getVectis,mt as getWCCosmostation,pt as getWCKeplr,gt as getWCLeap,T as getWallet,G as getWalletConnect,At as instantiateContract,Br as mainnetChains,Gr as mainnetChainsArray,j as reconnect,St as sendIbcTokens,Ct as sendTokens,Ie as suggestChain,yt as suggestChainAndConnect,jr as testnetChains,Kr as testnetChainsArray,H as useAccount,Ei as useActiveChain,Ii as useActiveChainCurrency,bi as useActiveChainValidators,oi as useActiveWalletType,pi as useBalance,hi as useBalanceStaked,Bn as useBalances,ge as useCheckWallet,gi as useConnect,Re as useCosmWasmClient,Vi as useCosmWasmSigningClient,Zi as useCosmWasmTmSigningClient,fi as useDisconnect,Pi as useExecuteContract,Qn as useGrazEvents,_i as useInstantiateContract,di as useOfflineSigners,qi as useQueryRaw,Ri as useQuerySmart,Ti as useRecentChain,Fi as useSendIbcTokens,Di as useSendTokens,Pe as useStargateClient,Hi as useStargateSigningClient,$i as useStargateTmSigningClient,xi as useSuggestChain,vi as useSuggestChainAndConnect,qe as useTendermintClient};
1
+ import{a as nn,b as Ce,c as Z}from"./chunk-HBC2VYPF.mjs";var me=nn((wo,it)=>{"use strict";it.exports=E;var P=null;try{P=new WebAssembly.Instance(new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,13,2,96,0,1,127,96,4,127,127,127,127,1,127,3,7,6,0,1,1,1,1,1,6,6,1,127,1,65,0,11,7,50,6,3,109,117,108,0,1,5,100,105,118,95,115,0,2,5,100,105,118,95,117,0,3,5,114,101,109,95,115,0,4,5,114,101,109,95,117,0,5,8,103,101,116,95,104,105,103,104,0,0,10,191,1,6,4,0,35,0,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,126,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,127,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,128,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,129,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,130,34,4,66,32,135,167,36,0,32,4,167,11])),{}).exports}catch{}function E(t,e,n){this.low=t|0,this.high=e|0,this.unsigned=!!n}E.prototype.__isLong__;Object.defineProperty(E.prototype,"__isLong__",{value:!0});function F(t){return(t&&t.__isLong__)===!0}E.isLong=F;var Ze={},Ye={};function J(t,e){var n,r,o;return e?(t>>>=0,(o=0<=t&&t<256)&&(r=Ye[t],r)?r:(n=I(t,(t|0)<0?-1:0,!0),o&&(Ye[t]=n),n)):(t|=0,(o=-128<=t&&t<128)&&(r=Ze[t],r)?r:(n=I(t,t<0?-1:0,!1),o&&(Ze[t]=n),n))}E.fromInt=J;function R(t,e){if(isNaN(t))return e?Y:L;if(e){if(t<0)return Y;if(t>=tt)return rt}else{if(t<=-Xe)return D;if(t+1>=Xe)return ot}return t<0?R(-t,e).neg():I(t%te|0,t/te|0,e)}E.fromNumber=R;function I(t,e,n){return new E(t,e,n)}E.fromBits=I;var ue=Math.pow;function Ae(t,e,n){if(t.length===0)throw Error("empty string");if(t==="NaN"||t==="Infinity"||t==="+Infinity"||t==="-Infinity")return L;if(typeof e=="number"?(n=e,e=!1):e=!!e,n=n||10,n<2||36<n)throw RangeError("radix");var r;if((r=t.indexOf("-"))>0)throw Error("interior hyphen");if(r===0)return Ae(t.substring(1),e,n).neg();for(var o=R(ue(n,8)),i=L,s=0;s<t.length;s+=8){var a=Math.min(8,t.length-s),c=parseInt(t.substring(s,s+a),n);if(a<8){var u=R(ue(n,a));i=i.mul(u).add(R(c))}else i=i.mul(o),i=i.add(R(c))}return i.unsigned=e,i}E.fromString=Ae;function U(t,e){return typeof t=="number"?R(t,e):typeof t=="string"?Ae(t,e):I(t.low,t.high,typeof e=="boolean"?e:t.unsigned)}E.fromValue=U;var Je=65536,cn=1<<24,te=Je*Je,tt=te*te,Xe=tt/2,et=J(cn),L=J(0);E.ZERO=L;var Y=J(0,!0);E.UZERO=Y;var ee=J(1);E.ONE=ee;var nt=J(1,!0);E.UONE=nt;var Se=J(-1);E.NEG_ONE=Se;var ot=I(-1,2147483647,!1);E.MAX_VALUE=ot;var rt=I(-1,-1,!0);E.MAX_UNSIGNED_VALUE=rt;var D=I(0,-2147483648,!1);E.MIN_VALUE=D;var l=E.prototype;l.toInt=function(){return this.unsigned?this.low>>>0:this.low};l.toNumber=function(){return this.unsigned?(this.high>>>0)*te+(this.low>>>0):this.high*te+(this.low>>>0)};l.toString=function(e){if(e=e||10,e<2||36<e)throw RangeError("radix");if(this.isZero())return"0";if(this.isNegative())if(this.eq(D)){var n=R(e),r=this.div(n),o=r.mul(n).sub(this);return r.toString(e)+o.toInt().toString(e)}else return"-"+this.neg().toString(e);for(var i=R(ue(e,6),this.unsigned),s=this,a="";;){var c=s.div(i),u=s.sub(c.mul(i)).toInt()>>>0,h=u.toString(e);if(s=c,s.isZero())return h+a;for(;h.length<6;)h="0"+h;a=""+h+a}};l.getHighBits=function(){return this.high};l.getHighBitsUnsigned=function(){return this.high>>>0};l.getLowBits=function(){return this.low};l.getLowBitsUnsigned=function(){return this.low>>>0};l.getNumBitsAbs=function(){if(this.isNegative())return this.eq(D)?64:this.neg().getNumBitsAbs();for(var e=this.high!=0?this.high:this.low,n=31;n>0&&!(e&1<<n);n--);return this.high!=0?n+33:n+1};l.isZero=function(){return this.high===0&&this.low===0};l.eqz=l.isZero;l.isNegative=function(){return!this.unsigned&&this.high<0};l.isPositive=function(){return this.unsigned||this.high>=0};l.isOdd=function(){return(this.low&1)===1};l.isEven=function(){return(this.low&1)===0};l.equals=function(e){return F(e)||(e=U(e)),this.unsigned!==e.unsigned&&this.high>>>31===1&&e.high>>>31===1?!1:this.high===e.high&&this.low===e.low};l.eq=l.equals;l.notEquals=function(e){return!this.eq(e)};l.neq=l.notEquals;l.ne=l.notEquals;l.lessThan=function(e){return this.comp(e)<0};l.lt=l.lessThan;l.lessThanOrEqual=function(e){return this.comp(e)<=0};l.lte=l.lessThanOrEqual;l.le=l.lessThanOrEqual;l.greaterThan=function(e){return this.comp(e)>0};l.gt=l.greaterThan;l.greaterThanOrEqual=function(e){return this.comp(e)>=0};l.gte=l.greaterThanOrEqual;l.ge=l.greaterThanOrEqual;l.compare=function(e){if(F(e)||(e=U(e)),this.eq(e))return 0;var n=this.isNegative(),r=e.isNegative();return n&&!r?-1:!n&&r?1:this.unsigned?e.high>>>0>this.high>>>0||e.high===this.high&&e.low>>>0>this.low>>>0?-1:1:this.sub(e).isNegative()?-1:1};l.comp=l.compare;l.negate=function(){return!this.unsigned&&this.eq(D)?D:this.not().add(ee)};l.neg=l.negate;l.add=function(e){F(e)||(e=U(e));var n=this.high>>>16,r=this.high&65535,o=this.low>>>16,i=this.low&65535,s=e.high>>>16,a=e.high&65535,c=e.low>>>16,u=e.low&65535,h=0,A=0,C=0,x=0;return x+=i+u,C+=x>>>16,x&=65535,C+=o+c,A+=C>>>16,C&=65535,A+=r+a,h+=A>>>16,A&=65535,h+=n+s,h&=65535,I(C<<16|x,h<<16|A,this.unsigned)};l.subtract=function(e){return F(e)||(e=U(e)),this.add(e.neg())};l.sub=l.subtract;l.multiply=function(e){if(this.isZero())return L;if(F(e)||(e=U(e)),P){var n=P.mul(this.low,this.high,e.low,e.high);return I(n,P.get_high(),this.unsigned)}if(e.isZero())return L;if(this.eq(D))return e.isOdd()?D:L;if(e.eq(D))return this.isOdd()?D:L;if(this.isNegative())return e.isNegative()?this.neg().mul(e.neg()):this.neg().mul(e).neg();if(e.isNegative())return this.mul(e.neg()).neg();if(this.lt(et)&&e.lt(et))return R(this.toNumber()*e.toNumber(),this.unsigned);var r=this.high>>>16,o=this.high&65535,i=this.low>>>16,s=this.low&65535,a=e.high>>>16,c=e.high&65535,u=e.low>>>16,h=e.low&65535,A=0,C=0,x=0,N=0;return N+=s*h,x+=N>>>16,N&=65535,x+=i*h,C+=x>>>16,x&=65535,x+=s*u,C+=x>>>16,x&=65535,C+=o*h,A+=C>>>16,C&=65535,C+=i*u,A+=C>>>16,C&=65535,C+=s*c,A+=C>>>16,C&=65535,A+=r*h+o*u+i*c+s*a,A&=65535,I(x<<16|N,A<<16|C,this.unsigned)};l.mul=l.multiply;l.divide=function(e){if(F(e)||(e=U(e)),e.isZero())throw Error("division by zero");if(P){if(!this.unsigned&&this.high===-2147483648&&e.low===-1&&e.high===-1)return this;var n=(this.unsigned?P.div_u:P.div_s)(this.low,this.high,e.low,e.high);return I(n,P.get_high(),this.unsigned)}if(this.isZero())return this.unsigned?Y:L;var r,o,i;if(this.unsigned){if(e.unsigned||(e=e.toUnsigned()),e.gt(this))return Y;if(e.gt(this.shru(1)))return nt;i=Y}else{if(this.eq(D)){if(e.eq(ee)||e.eq(Se))return D;if(e.eq(D))return ee;var s=this.shr(1);return r=s.div(e).shl(1),r.eq(L)?e.isNegative()?ee:Se:(o=this.sub(e.mul(r)),i=r.add(o.div(e)),i)}else if(e.eq(D))return this.unsigned?Y:L;if(this.isNegative())return e.isNegative()?this.neg().div(e.neg()):this.neg().div(e).neg();if(e.isNegative())return this.div(e.neg()).neg();i=L}for(o=this;o.gte(e);){r=Math.max(1,Math.floor(o.toNumber()/e.toNumber()));for(var a=Math.ceil(Math.log(r)/Math.LN2),c=a<=48?1:ue(2,a-48),u=R(r),h=u.mul(e);h.isNegative()||h.gt(o);)r-=c,u=R(r,this.unsigned),h=u.mul(e);u.isZero()&&(u=ee),i=i.add(u),o=o.sub(h)}return i};l.div=l.divide;l.modulo=function(e){if(F(e)||(e=U(e)),P){var n=(this.unsigned?P.rem_u:P.rem_s)(this.low,this.high,e.low,e.high);return I(n,P.get_high(),this.unsigned)}return this.sub(this.div(e).mul(e))};l.mod=l.modulo;l.rem=l.modulo;l.not=function(){return I(~this.low,~this.high,this.unsigned)};l.and=function(e){return F(e)||(e=U(e)),I(this.low&e.low,this.high&e.high,this.unsigned)};l.or=function(e){return F(e)||(e=U(e)),I(this.low|e.low,this.high|e.high,this.unsigned)};l.xor=function(e){return F(e)||(e=U(e)),I(this.low^e.low,this.high^e.high,this.unsigned)};l.shiftLeft=function(e){return F(e)&&(e=e.toInt()),(e&=63)===0?this:e<32?I(this.low<<e,this.high<<e|this.low>>>32-e,this.unsigned):I(0,this.low<<e-32,this.unsigned)};l.shl=l.shiftLeft;l.shiftRight=function(e){return F(e)&&(e=e.toInt()),(e&=63)===0?this:e<32?I(this.low>>>e|this.high<<32-e,this.high>>e,this.unsigned):I(this.high>>e-32,this.high>=0?0:-1,this.unsigned)};l.shr=l.shiftRight;l.shiftRightUnsigned=function(e){if(F(e)&&(e=e.toInt()),e&=63,e===0)return this;var n=this.high;if(e<32){var r=this.low;return I(r>>>e|n<<32-e,n>>>e,this.unsigned)}else return e===32?I(n,0,this.unsigned):I(n>>>e-32,0,this.unsigned)};l.shru=l.shiftRightUnsigned;l.shr_u=l.shiftRightUnsigned;l.toSigned=function(){return this.unsigned?I(this.low,this.high,!1):this};l.toUnsigned=function(){return this.unsigned?this:I(this.low,this.high,!0)};l.toBytes=function(e){return e?this.toBytesLE():this.toBytesBE()};l.toBytesLE=function(){var e=this.high,n=this.low;return[n&255,n>>>8&255,n>>>16&255,n>>>24,e&255,e>>>8&255,e>>>16&255,e>>>24]};l.toBytesBE=function(){var e=this.high,n=this.low;return[e>>>24,e>>>16&255,e>>>8&255,e&255,n>>>24,n>>>16&255,n>>>8&255,n&255]};E.fromBytes=function(e,n,r){return r?E.fromBytesLE(e,n):E.fromBytesBE(e,n)};E.fromBytesLE=function(e,n){return new E(e[0]|e[1]<<8|e[2]<<16|e[3]<<24,e[4]|e[5]<<8|e[6]<<16|e[7]<<24,n)};E.fromBytesBE=function(e,n){return new E(e[4]<<24|e[5]<<16|e[6]<<8|e[7],e[0]<<24|e[1]<<16|e[2]<<8|e[3],n)}});import{create as He}from"zustand";import{createJSONStorage as on}from"zustand/middleware";import{persist as Ve,subscribeWithSelector as $e}from"zustand/middleware";var ze=(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))(ze||{}),Qe=["keplr","leap","vectis","cosmostation","walletconnect","wc_keplr_mobile","wc_leap_mobile","wc_cosmostation_mobile","metamask_snap_leap"];var rn={recentChain:null,defaultChain:null,walletType:"keplr",walletConnect:{options:null,web3Modal:null},_notFoundFn:()=>null,_onReconnectFailed:()=>null,_reconnect:!1,_reconnectConnector:null},oe={account:null,activeChain:null,status:"disconnected",wcSignClient:null},sn={name:"graz-session",version:1,partialize:t=>({account:t.account,activeChain:t.activeChain}),storage:on(()=>sessionStorage)},an={name:"graz-internal",partialize:t=>({recentChain:t.recentChain,_reconnect:t._reconnect,_reconnectConnector:t._reconnectConnector}),version:1},g=He($e(Ve(()=>oe,sn))),f=He($e(Ve(()=>rn,an)));var ae=()=>{if(typeof window.cosmostation.providers.keplr<"u"){let t=window.cosmostation.providers.keplr;return Object.assign(t,{subscription:r=>(window.cosmostation.cosmos.on("accountChanged",()=>{_(),r()}),()=>{window.cosmostation.cosmos.off("accountChanged",()=>{_(),r()})})})}throw f.getState()._notFoundFn(),new Error("window.cosmostation.providers.keplr is not defined")};var ce=()=>{if(typeof window.keplr<"u"){let t=window.keplr;return Object.assign(t,{subscription:r=>(window.addEventListener("keplr_keystorechange",()=>{_(),r()}),()=>{window.removeEventListener("keplr_keystorechange",()=>{_(),r()})})})}throw f.getState()._notFoundFn(),new Error("window.keplr is not defined")};var le=()=>{if(typeof window.leap<"u"){let t=window.leap;return Object.assign(t,{subscription:r=>(window.addEventListener("leap_keystorechange",()=>{_(),r()}),()=>{window.removeEventListener("leap_keystorechange",()=>{_(),r()})})})}throw f.getState()._notFoundFn(),new Error("window.leap is not defined")};var st=Ce(me());var at=t=>{let e=window.ethereum;if(e&&t){let n=async()=>await e.request({method:"wallet_getSnaps"}),r=async y=>{try{let S=await n();return Object.values(S).find(v=>v.id===t.id&&(!y||v.version===y))}catch{return}},o=async()=>{await e.request({method:"wallet_requestSnaps",params:{[t.id]:t.params||{}}})},i=async()=>{var Q;let y=await e.request({method:"web3_clientVersion"});if(!(y==null?void 0:y.includes("MetaMask")))throw new Error("Metamask is not installed");let v=(Q=y.split("MetaMask/v")[1])==null?void 0:Q.split(".")[0];if(!(Number(v)>=11))throw new Error("Metamask Snap is not supported in this version");return await r()||await o(),!0},s=async y=>{await r()||await o()},a=async(y,S,v)=>{let q=await e.request({method:"wallet_invokeSnap",params:{snapId:t.id,request:{method:"signDirect",params:{chainId:y,signerAddress:S,signDoc:v}}}}),j=v.accountNumber,Q=new st.default(j.low,j.high,j.unsigned);return{signature:q.signature,signed:{...q.signed,accountNumber:`${Q.toString()}`,authInfoBytes:new Uint8Array(Object.values(q.signed.authInfoBytes)),bodyBytes:new Uint8Array(Object.values(q.signed.bodyBytes))}}},c=async(y,S,v)=>await e.request({method:"wallet_invokeSnap",params:{snapId:t.id,request:{method:"signAmino",params:{chainId:y,signerAddress:S,signDoc:v}}}}),u=async y=>{let S=await e.request({method:"wallet_invokeSnap",params:{snapId:t.id,request:{method:"getKey",params:{chainId:y}}}});if(!S)throw new Error("No response from Metamask");return S.pubKey=Uint8Array.from(Object.values(S.pubkey)),delete S.pubkey,{...S}},h=async y=>{let S=await u(y);return{address:S.bech32Address,algo:S.algo,pubkey:S.pubKey}},A=async(...y)=>{let[S,v,q,j]=y;return await c(S,v,q)},C=async(...y)=>{let[S,v,q]=y;return await a(S,v,q)},x=y=>({getAccounts:async()=>[await h(y)],signDirect:(S,v)=>C(y,S,v)}),N=y=>({getAccounts:async()=>[await h(y)],signAmino:(S,v)=>A(y,S,v)});return{enable:s,experimentalSuggestChain:async(...y)=>{await i(),await e.request({method:"wallet_invokeSnap",params:{snapId:t.id,request:{method:"suggestChain",params:{chainInfo:y[0]}}}})},getKey:u,getOfflineSigner:y=>({getAccounts:async()=>[await h(y)],signDirect:(S,v)=>C(y,S,v),signAmino:(S,v)=>A(y,S,v)}),getOfflineSignerAuto:async y=>(await u(y)).isNanoLedger?N(y):x(y),getOfflineSignerOnlyAmino:N,init:i,signAmino:A,signDirect:C}}throw f.getState()._notFoundFn(),new Error("window.ethereum is not defined")};var ct=()=>at({id:"npm:@leapwallet/metamask-cosmos-snap"});var lt=Ce(me());import{fromBech32 as ln}from"@cosmjs/encoding";var pe=()=>{if(typeof window.vectis<"u"){let t=window.vectis.cosmos;return{enable:a=>t.enable(a),getOfflineSigner:a=>t.getOfflineSigner(a),getOfflineSignerAuto:a=>t.getOfflineSignerAuto(a),getKey:async a=>{let c=await t.getKey(a);return{address:ln(c.address).data,algo:c.algo,bech32Address:c.address,name:c.name,pubKey:c.pubKey,isKeystone:!1,isNanoLedger:c.isNanoLedger}},subscription:a=>(window.addEventListener("vectis_accountChanged",()=>{_(),a()}),()=>{window.removeEventListener("vectis_accountChanged",()=>{_(),a()})}),getOfflineSignerOnlyAmino:(...a)=>t.getOfflineSignerAmino(...a),experimentalSuggestChain:async(...a)=>{let[c]=a,u={...c,rpcUrl:c.rpc,restUrl:c.rest,prettyName:c.chainName.replace(" ",""),bech32Prefix:c.bech32Config.bech32PrefixAccAddr};return t.suggestChains([u])},signDirect:async(...a)=>{var h;let{1:c,2:u}=a;return t.signDirect(c,{bodyBytes:u.bodyBytes||Uint8Array.from([]),authInfoBytes:u.authInfoBytes||Uint8Array.from([]),accountNumber:lt.default.fromString(((h=u.accountNumber)==null?void 0:h.toString())||"",!1),chainId:u.chainId||""})},signAmino:async(...a)=>{let{1:c,2:u}=a;return t.signAmino(c,u)}}}throw f.getState()._notFoundFn(),new Error("window.vectis is not defined")};var gt=Ce(me());import{fromBech32 as un}from"@cosmjs/encoding";import{SignClient as mn}from"@walletconnect/sign-client";import{getSdkError as pn}from"@walletconnect/utils";var B=()=>typeof window<"u"?!!(window.matchMedia("(pointer:coarse)").matches||/Android|webOS|iPhone|iPad|iPod|BlackBerry|Opera Mini/u.test(navigator.userAgent)):!1,ut=()=>B()&&navigator.userAgent.toLowerCase().includes("android"),mt=()=>B()&&(navigator.userAgent.toLowerCase().includes("iphone")||navigator.userAgent.toLowerCase().includes("ipad"));var pt=(t,e,n=new Error("Promise timed out"))=>{let r=new Promise((o,i)=>{setTimeout(()=>{i(n)},e)});return Promise.race([t,r])};var G=t=>{var j,Q,Be;if(!((Be=(Q=(j=f.getState().walletConnect)==null?void 0:j.options)==null?void 0:Q.projectId)!=null&&Be.trim()))throw new Error("walletConnect.options.projectId is not defined");let e=(t==null?void 0:t.encoding)||"base64",n=m=>{if(!t)return;let{appUrl:p,formatNativeUrl:d}=t;if(B()){if(ut())if(!m)window.open(p.mobile.android,"_self","noreferrer noopener");else{let w=d(p.mobile.android,m,"android");window.open(w,"_self","noreferrer noopener")}if(mt())if(!m)window.open(p.mobile.ios,"_self","noreferrer noopener");else{let w=d(p.mobile.ios,m,"ios");window.open(w,"_self","noreferrer noopener")}}},r=()=>{let{wcSignClient:m}=g.getState();if(!m)throw new Error("walletConnect.signClient is not defined");_(),f.setState({_reconnect:!1,_reconnectConnector:null,recentChain:null})},o=async m=>{let{wcSignClient:p}=g.getState();if(!p)throw new Error("walletConnect.signClient is not defined");if(!m)throw new Error("No wallet connect session");await p.disconnect({topic:m,reason:pn("USER_DISCONNECTED")}),await a(p),r()},i=m=>{var p,d;try{let{wcSignClient:w}=g.getState();if(!w)throw new Error("walletConnect.signClient is not defined");let b=w.session.getAll().at(-1);if(!b)return;let O=(d=(p=w.session.getAll().at(-1))==null?void 0:p.namespaces.cosmos)==null?void 0:d.accounts.find(k=>k.startsWith(`cosmos:${m}`));if(!(b.expiry*1e3>Date.now()+1e3))throw o(b.topic),new Error("invalid session");if(!O)try{let k=w.find({requiredNamespaces:{cosmos:{methods:["cosmos_getAccounts","cosmos_signAmino","cosmos_signDirect"],chains:[`cosmos:${m}`],events:["chainChanged","accountsChanged"]}}});if(!k.length)throw new Error("no session");return k.at(-1)}catch(k){if(!k.message.toLowerCase().includes("no matching key"))throw k}return b}catch(w){if(!w.message.toLowerCase().includes("no matching key"))throw w}},s=m=>{try{return i(m)}catch{return}},a=async m=>{try{let p=m.core.pairing.pairings.getAll({active:!1});if(!p.length)return;await Promise.all(p.map(async d=>{await m.core.pairing.pairings.delete(d.topic,{code:7001,message:"clear pairing"})}))}catch(p){if(!p.message.toLowerCase().includes("no matching key"))throw p}},c=async()=>{let{walletConnect:m}=f.getState();if(!(m!=null&&m.options))throw new Error("walletConnect.options is not defined");let{wcSignClient:p}=g.getState();if(p)return g.setState({wcSignClient:p}),p;let d=await mn.init(m.options);return g.setState({wcSignClient:d}),d},u=m=>{let{wcSignClient:p}=g.getState();if(p)return p.events.on("session_delete",d=>{r()}),p.events.on("session_expire",d=>{r()}),p.events.on("session_event",d=>{var w,b;if(d.params.event.name==="accountsChanged"&&((w=d.params.event.data)==null?void 0:w[0])!==((b=g.getState().account)==null?void 0:b.bech32Address)){let O=d.params.chainId.split(":")[1];O&&h(O)}else m()}),()=>{p.events.off("session_delete",d=>{r()}),p.events.off("session_expire",d=>{r()}),p.events.off("session_event",d=>{var w,b;if(d.params.event.name==="accountsChanged"&&((w=d.params.event.data)==null?void 0:w[0])!==((b=g.getState().account)==null?void 0:b.bech32Address)){let O=d.params.chainId.split(":")[1];O&&h(O)}else m()})}},h=async m=>{var ie;let{wcSignClient:p}=g.getState();if(!p)throw new Error("enable walletConnect.signClient is not defined");let{walletConnect:d}=f.getState();if(!((ie=d==null?void 0:d.options)!=null&&ie.projectId))throw new Error("walletConnect.options.projectId is not defined");let{Web3Modal:w}=await import("@web3modal/standalone"),b=new w({projectId:d.options.projectId,walletConnectVersion:2,enableExplorer:!1,explorerRecommendedWalletIds:"NONE",...d.web3Modal}),{account:O,activeChain:z}=g.getState(),k=s(m);if((z==null?void 0:z.chainId)!==m&&!k||!O){let{uri:M,approval:se}=await p.connect({requiredNamespaces:{cosmos:{methods:["cosmos_getAccounts","cosmos_signAmino","cosmos_signDirect"],chains:[`cosmos:${m}`],events:["chainChanged","accountsChanged"]}}});if(!M)throw new Error("No wallet connect uri");t?n(M):await b.openModal({uri:M});let en=async H=>H.aborted?Promise.reject(new Error("User closed wallet connect")):new Promise((we,X)=>{se().then(Ge=>{let Ke=Ge.sessionProperties;if(!Ke)return X(new Error("No session properties"));let je=JSON.parse(String(Ke.keys)).find(tn=>tn.chainId===m);return je?(g.setState({account:je}),we(Ge)):X(new Error("No account"))}).catch(X),H.addEventListener("abort",()=>{X(new Error("User closed wallet connect"))})});try{let H=new AbortController,we=H.signal;b.subscribeModal(X=>{X.open||H.abort()}),await en(we)}catch(H){if(b.closeModal(),!H.message.toLowerCase().includes("no matching key"))return Promise.reject(H)}return t||b.closeModal(),Promise.resolve()}try{await pt((async()=>{let M=await C(m);g.setState({account:M})})(),15e3,new Error("Connection timeout"))}catch(M){if(o(k==null?void 0:k.topic),!M.message.toLowerCase().includes("no matching key"))throw M}},A=async m=>{var b;let{wcSignClient:p}=g.getState();if(!p)throw new Error("walletConnect.signClient is not defined");let d=(b=i(m))==null?void 0:b.topic;if(!d)throw new Error("No wallet connect session");n();let w=await p.request({topic:d,chainId:`cosmos:${m}`,request:{method:"cosmos_getAccounts",params:{}}});if(!w[0])throw new Error("No wallet connect account");return{address:w[0].address,algo:w[0].algo,pubkey:new Uint8Array(Buffer.from(w[0].pubkey,e))}},C=async m=>{let{address:p,algo:d,pubkey:w}=await A(m);return{address:un(p).data,algo:d,bech32Address:p,name:"",pubKey:w,isKeystone:!1,isNanoLedger:!1}},x=async(...m)=>{var M,se;let[p,d,w]=m,{account:b,wcSignClient:O}=g.getState();if(!O)throw new Error("walletConnect.signClient is not defined");if(!b)throw new Error("account is not defined");let z=(M=i(p))==null?void 0:M.topic;if(!z)throw new Error("No wallet connect session");if(!w.bodyBytes)throw new Error("No bodyBytes");if(!w.authInfoBytes)throw new Error("No authInfoBytes");let k={topic:z,chainId:`cosmos:${p}`,request:{method:"cosmos_signDirect",params:{signerAddress:d,signDoc:{...w,bodyBytes:Buffer.from(w.bodyBytes).toString(e),authInfoBytes:Buffer.from(w.authInfoBytes).toString(e),accountNumber:(se=w.accountNumber)==null?void 0:se.toString()}}}};return n(),await O.request(k)},N=async(...m)=>{let[p,d,w]=m,{signature:b,signed:O}=await x(p,d,w);return{signed:{chainId:O.chainId,accountNumber:gt.default.fromString(O.accountNumber,!1),authInfoBytes:new Uint8Array(Buffer.from(O.authInfoBytes,e)),bodyBytes:new Uint8Array(Buffer.from(O.bodyBytes,e))},signature:b}},ne=async(...m)=>{var M;let[p,d,w,b]=m,{wcSignClient:O}=g.getState(),{account:z}=g.getState();if(!O)throw new Error("walletConnect.signClient is not defined");if(!z)throw new Error("account is not defined");let k=(M=i(p))==null?void 0:M.topic;if(!k)throw new Error("No wallet connect session");return n(),await O.request({topic:k,chainId:`cosmos:${p}`,request:{method:"cosmos_signDirect",params:{signerAddress:d,signDoc:w}}})},$=async(...m)=>{let[p,d,w,b]=m;return await ne(p,d,w)},Ue=m=>({getAccounts:async()=>[await A(m)],signDirect:(p,d)=>N(m,p,d)}),y=m=>({getAccounts:async()=>[await A(m)],signAmino:(p,d)=>$(m,p,d)});return{enable:h,experimentalSuggestChain:async(...m)=>{await Promise.reject(new Error("WalletConnect does not support experimentalSuggestChain"))},getKey:C,getOfflineSigner:m=>({getAccounts:async()=>[await A(m)],signDirect:(p,d)=>N(m,p,d),signAmino:(p,d)=>$(m,p,d)}),getOfflineSignerAuto:async m=>(await C(m)).isNanoLedger?y(m):Ue(m),getOfflineSignerOnlyAmino:y,signAmino:$,signDirect:N,subscription:u,init:c}};var ft=()=>{var e,n,r;if(!((r=(n=(e=f.getState().walletConnect)==null?void 0:e.options)==null?void 0:n.projectId)!=null&&r.trim()))throw new Error("walletConnect.options.projectId is not defined");if(!B())throw new Error("WalletConnect Leap mobile is only supported in mobile");let t={encoding:"hex",appUrl:{mobile:{ios:"cosmostation://",android:"cosmostation://"}},walletType:"wc_leap_mobile",formatNativeUrl:(o,i,s)=>`${o.replaceAll("/","").replaceAll(":","")}://wc?${i}`};return G(t)};var dt=()=>{var e,n,r;if(!((r=(n=(e=f.getState().walletConnect)==null?void 0:e.options)==null?void 0:n.projectId)!=null&&r.trim()))throw new Error("walletConnect.options.projectId is not defined");if(!B())throw new Error("WalletConnect Keplr mobile is only supported in mobile");let t={encoding:"base64",appUrl:{mobile:{ios:"keplrwallet://",android:"intent://"}},walletType:"wc_keplr_mobile",formatNativeUrl:(o,i,s)=>{let a=o.replaceAll("/","").replaceAll(":",""),c=encodeURIComponent(i);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 G(t)};var ht=()=>{var e,n,r;if(!((r=(n=(e=f.getState().walletConnect)==null?void 0:e.options)==null?void 0:n.projectId)!=null&&r.trim()))throw new Error("walletConnect.options.projectId is not defined");if(!B())throw new Error("WalletConnect Leap mobile is only supported in mobile");let t={encoding:"base64",appUrl:{mobile:{ios:"leapcosmos://",android:"intent://"}},walletType:"wc_leap_mobile",formatNativeUrl:(o,i,s)=>{let a=o.replaceAll("/","").replaceAll(":",""),c=encodeURIComponent(i);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 G(t)};var W=(t=f.getState().walletType)=>{try{return T(t),!0}catch{return!1}},_=()=>{window.sessionStorage.removeItem(Z),g.setState(oe)},T=(t=f.getState().walletType)=>{switch(t){case"keplr":return ce();case"leap":return le();case"cosmostation":return ae();case"vectis":return pe();case"walletconnect":return G();case"wc_keplr_mobile":return dt();case"wc_leap_mobile":return ht();case"wc_cosmostation_mobile":return ft();case"metamask_snap_leap":return ct();default:throw new Error("Unknown wallet type")}},ar=()=>Object.fromEntries(Qe.map(t=>[t,W(t)])),yt=t=>t==="walletconnect"||t==="wc_keplr_mobile"||t==="wc_leap_mobile"||t==="wc_cosmostation_mobile";var re=async t=>{var e;try{let{defaultChain:n,recentChain:r,walletType:o}=f.getState(),i=(t==null?void 0:t.walletType)||o;if(!W(i))throw new Error(`${i} is not available`);let a=T(i),c=(t==null?void 0:t.chain)||r||n;if(!c)throw new Error("No last known connected chain, connect action requires chain info");g.setState(C=>{let x=f.getState()._reconnect||!!f.getState()._reconnectConnector||!!c;return C.activeChain&&C.activeChain.chainId!==c.chainId?{status:"connecting"}:x?{status:"reconnecting"}:{status:"connecting"}});let{account:u,activeChain:h}=g.getState();if(await((e=a.init)==null?void 0:e.call(a)),(!u||(h==null?void 0:h.chainId)!==c.chainId)&&(await a.enable(c.chainId),!yt(i))){let C=await a.getKey(c.chainId);g.setState({account:C})}f.setState({recentChain:c,walletType:i,_reconnect:!!(t!=null&&t.autoReconnect),_reconnectConnector:i}),g.setState({activeChain:c,status:"connected"}),typeof window<"u"&&window.sessionStorage.setItem(Z,"Active");let{account:A}=g.getState();return{account:A,walletType:i,chain:c}}catch(n){throw console.error("connect ",n),g.getState().account===null&&g.setState({status:"disconnected"}),g.getState().account&&g.getState().activeChain&&g.setState({status:"connected"}),n}},Ee=async(t=!1)=>(typeof window<"u"&&window.sessionStorage.removeItem(Z),g.setState(oe),f.setState(e=>({_reconnect:!1,_reconnectConnector:null,recentChain:t?null:e.recentChain})),Promise.resolve()),K=async t=>{var o;let{recentChain:e,_reconnectConnector:n,_reconnect:r}=f.getState();try{let i=W(n||void 0);if(e&&i&&n)return await re({chain:e,walletType:n,autoReconnect:r})}catch(i){(o=t==null?void 0:t.onError)==null||o.call(t,i),Ee()}},wt=async t=>{if(!(t!=null&&t.chainId))throw new Error("chainId is required");let{walletType:e}=f.getState(),n=t.walletType||e;if(!W(n))throw new Error(`${n} is not available`);let o=T(n),i=o.getOfflineSigner(t.chainId),s=o.getOfflineSignerOnlyAmino(t.chainId),a=await o.getOfflineSignerAuto(t.chainId);return{offlineSigner:i,offlineSignerAmino:s,offlineSignerAuto:a}};var Ct=()=>{f.setState({recentChain:null})},St=t=>{let{activeChain:e}=g.getState();return e==null?void 0:e.currencies.find(n=>n.coinMinimalDenom===t)},hr=()=>f.getState().recentChain,Ie=async({chainInfo:t,walletType:e})=>(await T(e).experimentalSuggestChain(t),t),At=async({chainInfo:t,rpcHeaders:e,gas:n,path:r,...o})=>{let{walletType:i}=f.getState(),s=o.walletType||i,a=await Ie({chainInfo:t,walletType:s});return{...await re({chain:{chainId:t.chainId,currencies:t.currencies,rest:t.rest,rpc:t.rpc,rpcHeaders:e,gas:n,path:r},...o}),chain:a}};var Et=(t={})=>(f.setState(e=>({defaultChain:t.defaultChain||e.defaultChain,walletConnect:t.walletConnect||e.walletConnect,walletType:t.defaultWallet||e.walletType,_notFoundFn:t.onNotFound||e._notFoundFn,_onReconnectFailed:t.onReconnectFailed||e._onReconnectFailed,_reconnect:t.autoReconnect===void 0?!0:t.autoReconnect||e._reconnect})),t);var It=async({signingClient:t,senderAddress:e,recipientAddress:n,amount:r,fee:o,memo:i})=>{if(!t)throw new Error("No connected account detected");if(!e)throw new Error("senderAddress is not defined");return t.sendTokens(e,n,r,o,i)},bt=async({signingClient:t,senderAddress:e,recipientAddress:n,transferAmount:r,sourcePort:o,sourceChannel:i,timeoutHeight:s,timeoutTimestamp:a,fee:c,memo:u})=>{if(!t)throw new Error("Stargate signing client is not ready");if(!e)throw new Error("senderAddress is not defined");return t.sendIbcTokens(e,n,r,o,i,s,a,c,u)},Tt=async({signingClient:t,senderAddress:e,msg:n,fee:r,options:o,label:i,codeId:s})=>{if(!t)throw new Error("CosmWasm signing client is not ready");return t.instantiate(e,s,n,i,r,o)},xt=async({signingClient:t,senderAddress:e,msg:n,fee:r,contractAddress:o,funds:i,memo:s})=>{if(!t)throw new Error("CosmWasm signing client is not ready");return t.execute(e,o,n,r,s,i)},vt=async(t,e,n)=>{if(!n)throw new Error("CosmWasm client is not ready");return await n.queryContractSmart(t,e)},Ot=(t,e,n)=>{if(!n)throw new Error("CosmWasm client is not ready");let r=new TextEncoder().encode(e);return n.queryContractRaw(t,r)};import{Bech32Address as gn}from"@keplr-wallet/cosmos";var Wt={coinDenom:"axl",coinMinimalDenom:"uaxl",coinDecimals:6,coinGeckoId:"axelar-network",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/axl.png"},fn={coinDenom:"usdc",coinMinimalDenom:"uusdc",coinDecimals:6,coinGeckoId:"usd-coin",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/usdc.png"},dn={coinDenom:"dai",coinMinimalDenom:"dai-wei",coinDecimals:18,coinGeckoId:"dai",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/dai.png"},hn={coinDenom:"usdt",coinMinimalDenom:"uusdt",coinDecimals:6,coinGeckoId:"tether",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/usdt.png"},yn={coinDenom:"weth-wei",coinMinimalDenom:"weth",coinDecimals:18,coinGeckoId:"weth",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/weth.png"},wn={coinDenom:"wbtc-satoshi",coinMinimalDenom:"wbtc",coinDecimals:8,coinGeckoId:"wrapped-bitcoin",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/wbtc.png"},kt=[Wt,fn,dn,hn,yn,wn],be={rpc:"https://rpc.axelar.strange.love",rest:"https://api.axelar.strange.love",chainId:"axelar-dojo-1",chainName:"Axelar",stakeCurrency:Wt,bip44:{coinType:118},bech32Config:gn.defaultBech32Config("axelar"),currencies:kt,feeCurrencies:kt};import{Bech32Address as Cn}from"@keplr-wallet/cosmos";var Mt={coinDenom:"atom",coinMinimalDenom:"uatom",coinDecimals:6,coinGeckoId:"cosmos",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/cosmoshub/images/atom.png"},Nt=[Mt],Te={rpc:"https://rpc.cosmoshub.strange.love",rest:"https://api.cosmoshub.strange.love",chainId:"cosmoshub-4",chainName:"Cosmos Hub",stakeCurrency:Mt,bip44:{coinType:118},bech32Config:Cn.defaultBech32Config("cosmos"),currencies:Nt,feeCurrencies:Nt};import{Bech32Address as Sn}from"@keplr-wallet/cosmos";var Dt={coinDenom:"juno",coinMinimalDenom:"ujuno",coinDecimals:6,coinGeckoId:"juno-network",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/juno.png"},An={coinDenom:"neta",coinMinimalDenom:"cw20:juno168ctmpyppk90d34p3jjy658zf5a5l3w8wk35wht6ccqj4mr0yv8s4j5awr",coinDecimals:6,coinGeckoId:"neta",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/neta.png"},En={coinDenom:"marble",coinMinimalDenom:"cw20:juno1g2g7ucurum66d42g8k5twk34yegdq8c82858gz0tq2fc75zy7khssgnhjl",coinDecimals:3,coinGeckoId:"marble",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/marble.png"},In={coinDenom:"hope",coinMinimalDenom:"cw20:juno1re3x67ppxap48ygndmrc7har2cnc7tcxtm9nplcas4v0gc3wnmvs3s807z",coinDecimals:6,coinGeckoId:"hope-galaxy",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/hope.png"},bn={coinDenom:"rac",coinMinimalDenom:"cw20:juno1r4pzw8f9z0sypct5l9j906d47z998ulwvhvqe5xdwgy8wf84583sxwh0pa",coinDecimals:6,coinGeckoId:"racoon",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/rac.png"},Tn={coinDenom:"block",coinMinimalDenom:"cw20:juno1y9rf7ql6ffwkv02hsgd4yruz23pn4w97p75e2slsnkm0mnamhzysvqnxaq",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/block.png"},xn={coinDenom:"dhk",coinMinimalDenom:"cw20:juno1tdjwrqmnztn2j3sj2ln9xnyps5hs48q3ddwjrz7jpv6mskappjys5czd49",coinDecimals:0,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/dhk.png"},vn={coinDenom:"raw",coinMinimalDenom:"cw20:juno15u3dt79t6sxxa3x3kpkhzsy56edaa5a66wvt3kxmukqjz2sx0hes5sn38g",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/raw.png",coinGeckoId:"junoswap-raw-dao"},On={coinDenom:"asvt",coinMinimalDenom:"cw20:juno17wzaxtfdw5em7lc94yed4ylgjme63eh73lm3lutp2rhcxttyvpwsypjm4w",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/asvt.png"},kn={coinDenom:"hns",coinMinimalDenom:"cw20:juno1ur4jx0sxchdevahep7fwq28yk4tqsrhshdtylz46yka3uf6kky5qllqp4k",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/hns.svg"},Wn={coinDenom:"joe",coinMinimalDenom:"cw20:juno1n7n7d5088qlzlj37e9mgmkhx6dfgtvt02hqxq66lcap4dxnzdhwqfmgng3",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/joe.png"},_t=[Dt,An,En,In,bn,Tn,xn,vn,On,kn,Wn],xe={rpc:"https://rpc.juno.strange.love",rest:"https://api.juno.strange.love",chainId:"juno-1",chainName:"Juno",stakeCurrency:Dt,bip44:{coinType:118},bech32Config:Sn.defaultBech32Config("juno"),currencies:_t,feeCurrencies:_t};import{Bech32Address as Nn}from"@keplr-wallet/cosmos";var Pt={coinDenom:"osmo",coinMinimalDenom:"uosmo",coinDecimals:6,coinGeckoId:"osmosis",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/cosmoshub/images/atom.png"},Mn={coinDenom:"ion",coinMinimalDenom:"uion",coinDecimals:6,coinGeckoId:"ion",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/ion.png"},Ft=[Pt,Mn],ve={rpc:"https://rpc.osmosis.strange.love",rest:"https://api.osmosis.strange.love",chainId:"osmosis-1",chainName:"Osmosis",stakeCurrency:Pt,bip44:{coinType:118},bech32Config:Nn.defaultBech32Config("osmo"),currencies:Ft,feeCurrencies:Ft};import{Bech32Address as _n}from"@keplr-wallet/cosmos";var Lt={coinDenom:"somm",coinMinimalDenom:"usomm",coinDecimals:6,coinGeckoId:"sommelier",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/sommelier/images/somm.png"},Rt=[Lt],Oe={rpc:"https://rpc.sommelier.strange.love",rest:"https://api.sommelier.strange.love",chainId:"sommelier-3",chainName:"Sommelier",stakeCurrency:Lt,bip44:{coinType:118},bech32Config:_n.defaultBech32Config("somm"),currencies:Rt,feeCurrencies:Rt};import{Bech32Address as Dn}from"@keplr-wallet/cosmos";var Ut={coinDenom:"CRE",coinMinimalDenom:"ucre",coinDecimals:6,coinGeckoId:"crescent",coinImageUrl:"https://raw.githubusercontent.com/crescent-network/asset/main/images/coin/CRE.png"},qt=[Ut],ke={rpc:"https://testnet-endpoint.crescent.network/rpc/crescent",rest:"https://testnet-endpoint.crescent.network/api/crescent",chainId:"mooncat-1-1",chainName:"Crescent Testnet",bip44:{coinType:118},bech32Config:Dn.defaultBech32Config("CRE"),currencies:qt,feeCurrencies:qt,stakeCurrency:Ut,coinType:118};import{Bech32Address as Fn}from"@keplr-wallet/cosmos";var We={coinDenom:"junox",coinMinimalDenom:"ujunox",coinDecimals:6,coinGeckoId:"juno-network",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/juno.png"},Pn=[We],Ne={rpc:"https://rpc.uni.junonetwork.io",rest:"https://api.uni.junonetwork.io",chainId:"uni-5",chainName:"Juno Testnet",stakeCurrency:We,bip44:{coinType:118},bech32Config:Fn.defaultBech32Config("juno"),currencies:Pn,feeCurrencies:[We],coinType:118};import{Bech32Address as Rn}from"@keplr-wallet/cosmos";var Me={coinDenom:"osmo",coinMinimalDenom:"uosmo",coinDecimals:6,coinGeckoId:"osmosis",coinImageUrl:"https://dhj8dql1kzq2v.cloudfront.net/white/osmo.png"},Ln=[Me],_e={rpc:"https://testnet-rpc.osmosis.zone",rest:"https://testnet-rest.osmosis.zone",chainId:"osmo-test-4",chainName:"Osmosis Testnet",stakeCurrency:Me,bip44:{coinType:118},bech32Config:Rn.defaultBech32Config("osmo"),currencies:Ln,feeCurrencies:[Me],coinType:118};var Bt=t=>t,zr=t=>t,Qr=t=>t,Hr=Bt({axelar:be,cosmoshub:Te,juno:xe,osmosis:ve,sommelier:Oe}),Vr=[be,Te,xe,ve,Oe],$r=Bt({crescent:ke,juno:Ne,osmosis:_e}),Zr=[ke,Ne,_e];import{useMutation as Gt,useQuery as fe}from"@tanstack/react-query";import{useEffect as zn,useMemo as qe}from"react";import{CosmWasmClient as qn}from"@cosmjs/cosmwasm-stargate";import{StargateClient as Un}from"@cosmjs/stargate";import{Tendermint34Client as Bn,Tendermint37Client as Gn}from"@cosmjs/tendermint-rpc";import{useQuery as De}from"@tanstack/react-query";import{useMemo as Fe}from"react";var Pe=()=>{let t=g(n=>n.activeChain),e=Fe(()=>["USE_STARGATE_CLIENT",t],[t]);return De({queryKey:e,queryFn:async({queryKey:[,n]})=>{if(!n)throw new Error("No chain found");let r={url:n.rpc,headers:{...n.rpcHeaders||{}}};return await Un.connect(r)},enabled:!!t,refetchOnWindowFocus:!1})},Re=()=>{let t=g(n=>n.activeChain),e=Fe(()=>["USE_COSMWASM_CLIENT",t],[t]);return De({queryKey:e,queryFn:async({queryKey:[,n]})=>{if(!n)throw new Error("No chain found");let r={url:n.rpc,headers:{...n.rpcHeaders||{}}};return await qn.connect(r)},enabled:!!t,refetchOnWindowFocus:!1})},Le=t=>{let e=g(r=>r.activeChain),n=Fe(()=>["USE_TENDERMINT_CLIENT",t,e],[t,e]);return De({queryKey:n,queryFn:async({queryKey:[,r,o]})=>{if(!o)throw new Error("No chain found");let i={url:o.rpc,headers:{...o.rpcHeaders||{}}};return await(r==="tm37"?Gn:Bn).connect(i)},enabled:!!e,refetchOnWindowFocus:!1})};import{useQuery as Kn}from"@tanstack/react-query";import{shallow as jn}from"zustand/shallow";var li=()=>f(t=>({walletType:t.walletType,isCosmostation:t.walletType==="cosmostation",isCosmostationMobile:t.walletType==="wc_cosmostation_mobile",isKeplr:t.walletType==="keplr",isKeplrMobile:t.walletType==="wc_keplr_mobile",isLeap:t.walletType==="leap",isLeapMobile:t.walletType==="wc_leap_mobile",isVectis:t.walletType==="vectis",isWalletConnect:t.walletType==="walletconnect"}),jn),ge=t=>{let n=["USE_CHECK_WALLET",f(o=>t||o.walletType)];return Kn(n,({queryKey:[,o]})=>W(o))};var V=({onConnect:t,onDisconnect:e}={})=>{let n=g(o=>o.account),r=g(o=>o.status);return zn(()=>g.subscribe(o=>o.status,(o,i)=>{if(o==="connected"){let{account:s,activeChain:a}=g.getState(),{walletType:c}=f.getState();t==null||t({account:s,chain:a,walletType:c,isReconnect:i==="reconnecting"})}o==="disconnected"&&(e==null||e())}),[t,e]),{data:n,isConnected:!!n,isConnecting:r==="connecting",isDisconnected:r==="disconnected",isReconnecting:r==="reconnecting",isLoading:r==="connecting"||r==="reconnecting",reconnect:K,status:r}},Qn=t=>{let{data:e}=V(),{data:n}=Pe(),{activeChain:r}=g.getState(),o=t||(e==null?void 0:e.bech32Address),i=qe(()=>["USE_ALL_BALANCES",n,r,o],[r,o,n]);return fe(i,async({queryKey:[,a,c,u]})=>{if(!c||!a)throw new Error("No connected account detected");if(!u)throw new Error("address is not defined");return await a.getAllBalances(u)},{enabled:!!o&&!!r&&!!n,refetchOnMount:!1,refetchOnReconnect:!0,refetchOnWindowFocus:!1})},wi=(t,e)=>{let{data:n}=V(),r=e||(n==null?void 0:n.bech32Address),{data:o,refetch:i}=Qn(r),a=fe(["USE_BALANCE",o,t,e],({queryKey:[,c]})=>c==null?void 0:c.find(u=>u.denom===t),{enabled:!!o});return{...a,refetch:async()=>(await i(),a.refetch())}},Ci=({onError:t,onLoading:e,onSuccess:n}={})=>{let o=Gt(["USE_CONNECT",t,e,n],re,{onError:(s,a)=>Promise.resolve(t==null?void 0:t(s,a)),onMutate:e,onSuccess:s=>Promise.resolve(n==null?void 0:n(s))}),{data:i}=ge();return{connect:s=>o.mutate(s),connectAsync:s=>o.mutateAsync(s),error:o.error,isLoading:o.isLoading,isSuccess:o.isSuccess,isSupported:!!i,status:o.status}},Si=({onError:t,onLoading:e,onSuccess:n}={})=>{let o=Gt(["USE_DISCONNECT",t,e,n],Ee,{onError:i=>Promise.resolve(t==null?void 0:t(i,void 0)),onMutate:e,onSuccess:()=>Promise.resolve(n==null?void 0:n(void 0))});return{disconnect:i=>o.mutate(i),disconnectAsync:i=>o.mutateAsync(i),error:o.error,isLoading:o.isLoading,isSuccess:o.isSuccess,status:o.status}},Ai=()=>{let t=g(r=>r.activeChain),e=f(r=>r.walletType),n=qe(()=>["USE_OFFLINE_SIGNERS",t,e],[t,e]);return fe({queryKey:n,queryFn:async({queryKey:[,r,o]})=>{if(!r)throw new Error("No chain found");if(!W(o))throw new Error(`${o} is not available`);return await wt({chainId:r.chainId,walletType:o})},enabled:!!t&&!!e,refetchOnWindowFocus:!1})},Ei=t=>{let{data:e}=V(),{data:n}=Pe(),{activeChain:r}=g.getState(),o=t||(e==null?void 0:e.bech32Address),i=qe(()=>["USE_BALANCE_STAKED",n,r,o],[r,o,n]);return fe(i,async({queryKey:[,a,c,u]})=>{if(!c||!a)throw new Error("No connected account detected");if(!u)throw new Error("address is not defined");return await a.getBalanceStaked(u)},{enabled:!!o&&!!r&&!!n,refetchOnMount:!1,refetchOnReconnect:!0,refetchOnWindowFocus:!1})};import{useMutation as Kt,useQuery as jt}from"@tanstack/react-query";var Oi=()=>g(t=>t.activeChain),ki=t=>jt(["USE_ACTIVE_CHAIN_CURRENCY",t],({queryKey:[,r]})=>St(r)),Wi=(t,e="BOND_STATUS_BONDED")=>jt(["USE_ACTIVE_CHAIN_VALIDATORS",t,e],async({queryKey:[,o,i]})=>{if(!o)throw new Error("Query client is not defined");return await o.staking.validators(i)},{enabled:typeof t<"u"}),Ni=()=>({data:f(e=>e.recentChain),clear:Ct}),Mi=({onError:t,onLoading:e,onSuccess:n}={})=>{let o=Kt(["USE_SUGGEST_CHAIN",t,e,n],Ie,{onError:(i,s)=>Promise.resolve(t==null?void 0:t(i,s)),onMutate:e,onSuccess:i=>Promise.resolve(n==null?void 0:n(i))});return{error:o.error,isLoading:o.isLoading,isSuccess:o.isSuccess,suggest:o.mutate,suggestAsync:o.mutateAsync,status:o.status}},_i=({onError:t,onLoading:e,onSuccess:n}={})=>{let o=Kt(["USE_SUGGEST_CHAIN_AND_CONNECT",t,e,n],At,{onError:(s,a)=>Promise.resolve(t==null?void 0:t(s,a)),onMutate:s=>e==null?void 0:e(s),onSuccess:s=>Promise.resolve(n==null?void 0:n(s))}),{data:i}=ge();return{error:o.error,isLoading:o.isLoading,isSuccess:o.isSuccess,isSupported:!!i,status:o.status,suggestAndConnect:o.mutate,suggestAndConnectAsync:o.mutateAsync}};import{useMutation as de,useQuery as zt}from"@tanstack/react-query";var qi=({onError:t,onLoading:e,onSuccess:n}={})=>{let{data:r}=V(),o=r==null?void 0:r.bech32Address,i=de(["USE_SEND_TOKENS",t,e,n,o],s=>It({senderAddress:o,...s}),{onError:(s,a)=>Promise.resolve(t==null?void 0:t(s,a)),onMutate:e,onSuccess:s=>Promise.resolve(n==null?void 0:n(s))});return{error:i.error,isLoading:i.isLoading,isSuccess:i.isSuccess,sendTokens:i.mutate,sendTokensAsync:i.mutateAsync,status:i.status}},Ui=({onError:t,onLoading:e,onSuccess:n}={})=>{let{data:r}=V(),o=r==null?void 0:r.bech32Address,i=de(["USE_SEND_IBC_TOKENS",t,e,n,o],s=>bt({senderAddress:o,...s}),{onError:(s,a)=>Promise.resolve(t==null?void 0:t(s,a)),onMutate:e,onSuccess:s=>Promise.resolve(n==null?void 0:n(s))});return{error:i.error,isLoading:i.isLoading,isSuccess:i.isSuccess,sendIbcTokens:i.mutate,sendIbcTokensAsync:i.mutateAsync,status:i.status}},Bi=({codeId:t,onError:e,onLoading:n,onSuccess:r})=>{let{data:o}=V(),i=o==null?void 0:o.bech32Address,a=de(["USE_INSTANTIATE_CONTRACT",e,n,r,t,i],c=>{if(!i)throw new Error("senderAddress is undefined");let u={...c,fee:c.fee??"auto",senderAddress:i,codeId:t};return Tt(u)},{onError:(c,u)=>Promise.resolve(e==null?void 0:e(c,u)),onMutate:n,onSuccess:c=>Promise.resolve(r==null?void 0:r(c))});return{error:a.error,isLoading:a.isLoading,isSuccess:a.isSuccess,instantiateContract:a.mutate,instantiateContractAsync:a.mutateAsync,status:a.status}},Gi=({contractAddress:t,onError:e,onLoading:n,onSuccess:r})=>{let{data:o}=V(),i=o==null?void 0:o.bech32Address,a=de(["USE_EXECUTE_CONTRACT",e,n,r,t,i],c=>{if(!i)throw new Error("senderAddress is undefined");let u={...c,fee:c.fee??"auto",senderAddress:i,contractAddress:t,memo:c.memo??"",funds:c.funds??[]};return xt(u)},{onError:(c,u)=>Promise.resolve(e==null?void 0:e(c,u)),onMutate:n,onSuccess:c=>Promise.resolve(r==null?void 0:r(c))});return{error:a.error,isLoading:a.isLoading,isSuccess:a.isSuccess,executeContract:a.mutate,executeContractAsync:a.mutateAsync,status:a.status}},Ki=(t,e)=>{let{data:n}=Re();return zt(["USE_QUERY_SMART",t,e,n],({queryKey:[,o]})=>{if(!t||!e)throw new Error("address or queryMsg undefined");return vt(t,e,n)},{enabled:!!t&&!!e&&!!n})},ji=(t,e)=>{let{data:n}=Re();return zt(["USE_QUERY_RAW",e,t,n],({queryKey:[,i]})=>{if(!t||!e)throw new Error("address or key undefined");return Ot(t,e,n)},{enabled:!!t&&!!e&&!!n})};import{SigningCosmWasmClient as Qt}from"@cosmjs/cosmwasm-stargate";import{GasPrice as Ht,SigningStargateClient as Vt}from"@cosmjs/stargate";import{useQuery as he}from"@tanstack/react-query";import{useMemo as ye}from"react";var Xi=t=>{let e=g(o=>o.activeChain),n=f(o=>o.walletType),r=ye(()=>["USE_STARGATE_SIGNING_CLIENT",e,n,t],[t,e,n]);return he({queryKey:r,queryFn:async({queryKey:[,o,i,s]})=>{if(!o)throw new Error("No chain found");if(!W(i))throw new Error(`${i} is not available`);let c=await(async()=>{switch(t==null?void 0:t.offlineSigner){case"offlineSigner":return T(i).getOfflineSigner(o.chainId);case"offlineSignerAuto":return T(i).getOfflineSignerAuto(o.chainId);case"offlineSignerOnlyAmino":return T(i).getOfflineSignerOnlyAmino(o.chainId);default:return T(i).getOfflineSignerAuto(o.chainId)}})(),u={url:o.rpc,headers:{...o.rpcHeaders||{}}};return await Vt.connectWithSigner(u,c,s==null?void 0:s.opts)},enabled:!!e&&!!n,refetchOnWindowFocus:!1})},es=t=>{let e=g(o=>o.activeChain),n=f(o=>o.walletType),r=ye(()=>["USE_COSMWASM_SIGNING_CLIENT",e,n,t],[t,e,n]);return he({queryKey:r,queryFn:async({queryKey:[,o,i,s]})=>{if(!o)throw new Error("No chain found");if(!W(i))throw new Error(`${i} is not available`);let c=await(async()=>{switch(t==null?void 0:t.offlineSigner){case"offlineSigner":return T(i).getOfflineSigner(o.chainId);case"offlineSignerAuto":return T(i).getOfflineSignerAuto(o.chainId);case"offlineSignerOnlyAmino":return T(i).getOfflineSignerOnlyAmino(o.chainId);default:return T(i).getOfflineSignerAuto(o.chainId)}})(),u={url:o.rpc,headers:{...o.rpcHeaders||{}}},h=o.gas?Ht.fromString(`${o.gas.price}${o.gas.denom}`):void 0;return await Qt.connectWithSigner(u,c,{gasPrice:h,...(s==null?void 0:s.opts)||{}})},enabled:!!e&&!!n,refetchOnWindowFocus:!1})},ts=t=>{let e=g(i=>i.activeChain),n=f(i=>i.walletType),r=ye(()=>["USE_STARGATE_TM_SIGNING_CLIENT",e,n,t],[t,e,n]),{data:o}=Le(t.type);return he({queryKey:r,queryFn:async({queryKey:[,i,s,a]})=>{if(!i)throw new Error("No chain found");if(!W(s))throw new Error(`${s} is not available`);if(!o)throw new Error("No tendermint client found");let u=await(async()=>{switch(t.offlineSigner){case"offlineSigner":return T(s).getOfflineSigner(i.chainId);case"offlineSignerAuto":return T(s).getOfflineSignerAuto(i.chainId);case"offlineSignerOnlyAmino":return T(s).getOfflineSignerOnlyAmino(i.chainId);default:return T(s).getOfflineSignerAuto(i.chainId)}})();return Vt.createWithSigner(o,u,a.opts)},enabled:!!e&&!!n&&!!o,refetchOnWindowFocus:!1})},ns=t=>{let e=g(i=>i.activeChain),n=f(i=>i.walletType),r=ye(()=>["USE_COSMWASM_TM_SIGNING_CLIENT",e,n,t],[t,e,n]),{data:o}=Le(t.type);return he({queryKey:r,queryFn:async({queryKey:[,i,s,a]})=>{if(!i)throw new Error("No chain found");if(!W(s))throw new Error(`${s} is not available`);if(!o)throw new Error("No tendermint client found");let u=await(async()=>{switch(t.offlineSigner){case"offlineSigner":return T(s).getOfflineSigner(i.chainId);case"offlineSignerAuto":return T(s).getOfflineSignerAuto(i.chainId);case"offlineSignerOnlyAmino":return T(s).getOfflineSignerOnlyAmino(i.chainId);default:return T(s).getOfflineSignerAuto(i.chainId)}})(),h=i.gas?Ht.fromString(`${i.gas.price}${i.gas.denom}`):void 0;return Qt.createWithSigner(o,u,{gasPrice:h,...(a==null?void 0:a.opts)||{}})},enabled:!!e&&!!n&&!!o,refetchOnWindowFocus:!1})};import{QueryClient as Jn,QueryClientProvider as Xn}from"@tanstack/react-query";import{ReactQueryDevtools as eo}from"@tanstack/react-query-devtools";import{useEffect as Hn,useState as Vn}from"react";import{Fragment as $n,jsx as Zn}from"react/jsx-runtime";var $t=({children:t})=>{let[e,n]=Vn(!1);return Hn(()=>{n(!0)},[]),Zn($n,{children:e?t:null})};import{useEffect as Zt}from"react";var Yn=()=>{let t=typeof window<"u"&&window.sessionStorage.getItem(Z)==="Active",{_reconnect:e,_onReconnectFailed:n,_reconnectConnector:r}=f(),{activeChain:o,wcSignClient:i}=g(),s=W(r||void 0);return Zt(()=>{if(r){if(!s)return;t&&o?K({onError:n}):!t&&e&&K({onError:n})}},[s]),Zt(()=>{var a,c,u,h,A,C,x,N,ne,$;if(r){if(!s)return;r==="cosmostation"&&((c=(a=ae()).subscription)==null||c.call(a,()=>{K({onError:n})})),r==="keplr"&&((h=(u=ce()).subscription)==null||h.call(u,()=>{K({onError:n})})),r==="leap"&&((C=(A=le()).subscription)==null||C.call(A,()=>{K({onError:n})})),r==="vectis"&&((N=(x=pe()).subscription)==null||N.call(x,()=>{K({onError:n})})),r==="walletconnect"&&i&&(($=(ne=G()).subscription)==null||$.call(ne,()=>{K({onError:n})}))}},[r,i,s]),null},Yt=()=>(Yn(),null);import{jsx as Jt,jsxs as Xt}from"react/jsx-runtime";var to=new Jn({}),Is=({children:t,grazOptions:e,debug:n,...r})=>(e&&Et(e),Xt(Xn,{client:to,...r,children:[Xt($t,{children:[t,Jt(Yt,{})]}),n?Jt(eo,{initialIsOpen:!1,position:"bottom-right"}):null]},"graz-provider"));export{Yt as GrazEvents,Is as GrazProvider,Qe as WALLET_TYPES,ze as WalletType,W as checkWallet,Ct as clearRecentChain,_ as clearSession,Et as configureGraz,re as connect,zr as defineChain,Qr as defineChainInfo,Bt as defineChains,Ee as disconnect,xt as executeContract,St as getActiveChainCurrency,ar as getAvailableWallets,ae as getCosmostation,ce as getKeplr,le as getLeap,ct as getMetamaskSnapLeap,wt as getOfflineSigners,Ot as getQueryRaw,vt as getQuerySmart,hr as getRecentChain,pe as getVectis,ft as getWCCosmostation,dt as getWCKeplr,ht as getWCLeap,T as getWallet,G as getWalletConnect,Tt as instantiateContract,yt as isWalletConnect,Hr as mainnetChains,Vr as mainnetChainsArray,K as reconnect,bt as sendIbcTokens,It as sendTokens,Ie as suggestChain,At as suggestChainAndConnect,$r as testnetChains,Zr as testnetChainsArray,V as useAccount,Oi as useActiveChain,ki as useActiveChainCurrency,Wi as useActiveChainValidators,li as useActiveWalletType,wi as useBalance,Ei as useBalanceStaked,Qn as useBalances,ge as useCheckWallet,Ci as useConnect,Re as useCosmWasmClient,es as useCosmWasmSigningClient,ns as useCosmWasmTmSigningClient,Si as useDisconnect,Gi as useExecuteContract,Yn as useGrazEvents,Bi as useInstantiateContract,Ai as useOfflineSigners,ji as useQueryRaw,Ki as useQuerySmart,Ni as useRecentChain,Ui as useSendIbcTokens,qi as useSendTokens,Pe as useStargateClient,Xi as useStargateSigningClient,ts as useStargateTmSigningClient,Mi as useSuggestChain,_i as useSuggestChainAndConnect,Le 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.0.49",
4
+ "version": "0.0.51",
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",