graz 0.0.20 → 0.0.22

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.
@@ -0,0 +1 @@
1
+ var f=Object.create;var c=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var s=Object.getPrototypeOf,x=Object.prototype.hasOwnProperty;var R=(a,e)=>()=>(a&&(e=a(a=0)),e);var g=(a,e)=>()=>(e||a((e={exports:{}}).exports,e),e.exports);var b=(a,e,o,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of p(e))!x.call(a,r)&&r!==o&&c(a,r,{get:()=>e[r],enumerable:!(t=m(e,r))||t.enumerable});return a};var h=(a,e,o)=>(o=a!=null?f(s(a)):{},b(e||!a||!a.__esModule?c(o,"default",{value:a,enumerable:!0}):o,a));import*as k from"react";var d=R(()=>{"use strict"});export{g as a,h as b,d as c};
package/dist/cosmjs.mjs CHANGED
@@ -1 +1 @@
1
- export*from"@cosmjs/cosmwasm-stargate";export*from"@cosmjs/proto-signing";export*from"@cosmjs/stargate";
1
+ import{c as o}from"./chunk-6M3A6KFX.mjs";o();export*from"@cosmjs/cosmwasm-stargate";export*from"@cosmjs/proto-signing";export*from"@cosmjs/stargate";
package/dist/index.d.ts CHANGED
@@ -1,16 +1,17 @@
1
- import * as _cosmjs_cosmwasm_stargate from '@cosmjs/cosmwasm-stargate';
2
1
  import { SigningCosmWasmClientOptions, CosmWasmClient, SigningCosmWasmClient } from '@cosmjs/cosmwasm-stargate';
3
2
  import * as _cosmjs_proto_signing from '@cosmjs/proto-signing';
4
3
  import { Coin, OfflineSigner, OfflineDirectSigner } from '@cosmjs/proto-signing';
5
4
  import { ChainInfo, AppCurrency, Key, Keplr } from '@keplr-wallet/types';
6
- import * as _cosmjs_stargate from '@cosmjs/stargate';
7
- import { StargateClient, SigningStargateClient, SigningStargateClientOptions } from '@cosmjs/stargate';
5
+ import { QueryClient, StargateClient, SigningStargateClient, SigningStargateClientOptions, StakingExtension } from '@cosmjs/stargate';
6
+ import { Tendermint34Client } from '@cosmjs/tendermint-rpc';
8
7
  import * as _tanstack_react_query from '@tanstack/react-query';
9
- import { QueryClientProviderProps } from '@tanstack/react-query';
10
- import * as _cosmjs_amino from '@cosmjs/amino';
8
+ import { UseQueryResult, QueryClientProviderProps } from '@tanstack/react-query';
9
+ import { BondStatusString } from '@cosmjs/stargate/build/modules/staking/queries';
10
+ import { QueryValidatorsResponse } from 'cosmjs-types/cosmos/staking/v1beta1/query';
11
11
 
12
12
  declare type Dictionary<T = string> = Record<string, T>;
13
13
  declare type Maybe<T> = T | undefined;
14
+ declare type WalletType = "keplr";
14
15
 
15
16
  interface ChainInfoWithPath extends ChainInfo {
16
17
  path: string;
@@ -144,14 +145,43 @@ declare const testnetChainsArray: ChainInfo[];
144
145
 
145
146
  declare type ConnectArgs = Maybe<GrazChain & {
146
147
  signerOpts?: SigningCosmWasmClientOptions;
148
+ walletType?: WalletType;
147
149
  }>;
148
150
  declare function connect(args?: ConnectArgs): Promise<Key>;
149
151
  declare function disconnect(clearRecentChain?: boolean): Promise<void>;
150
152
  declare function getBalances(bech32Address: string): Promise<Coin[]>;
153
+ declare function getStakedBalances(bech32Address: string): Promise<Coin | null>;
151
154
  declare function reconnect(): void;
152
155
 
153
- declare function getRecentChain(): GrazChain | null;
156
+ declare type ExtensionSetup<P> = (queryClient: QueryClient) => P;
157
+
158
+ /**
159
+ * Note: `createQueryClient` creates \@cosmjs/stargate's {@link QueryClient},
160
+ * NOT to be confused with \@tanstack/react-query query client
161
+ */
162
+ declare function createQueryClient(): QueryClient;
163
+ declare function createQueryClient<A extends object>(setupA: ExtensionSetup<A>): QueryClient & A;
164
+ declare function createQueryClient<A extends object, B extends object>(setupA: ExtensionSetup<A>, setupB: ExtensionSetup<B>): QueryClient & A & B;
165
+ declare function createQueryClient<A extends object, B extends object, C extends object>(setupA: ExtensionSetup<A>, setupB: ExtensionSetup<B>, setupC: ExtensionSetup<C>): QueryClient & A & B & C;
166
+ declare function createQueryClient<A extends object, B extends object, C extends object, D extends object>(setupA: ExtensionSetup<A>, setupB: ExtensionSetup<B>, setupC: ExtensionSetup<C>, setupD: ExtensionSetup<D>): QueryClient & A & B & C & D;
167
+ declare function createQueryClient<A extends object, B extends object, C extends object, D extends object, E extends object>(setupA: ExtensionSetup<A>, setupB: ExtensionSetup<B>, setupC: ExtensionSetup<C>, setupD: ExtensionSetup<D>, setupE: ExtensionSetup<E>): QueryClient & A & B & C & D & E;
168
+ declare function createQueryClient<A extends object, B extends object, C extends object, D extends object, E extends object, F extends object>(setupA: ExtensionSetup<A>, setupB: ExtensionSetup<B>, setupC: ExtensionSetup<C>, setupD: ExtensionSetup<D>, setupE: ExtensionSetup<E>, setupF: ExtensionSetup<F>): QueryClient & A & B & C & D & E & F;
169
+ declare function createQueryClient<A extends object, B extends object, C extends object, D extends object, E extends object, F extends object, G extends object>(setupA: ExtensionSetup<A>, setupB: ExtensionSetup<B>, setupC: ExtensionSetup<C>, setupD: ExtensionSetup<D>, setupE: ExtensionSetup<E>, setupF: ExtensionSetup<F>, setupG: ExtensionSetup<G>): QueryClient & A & B & C & D & E & F & G;
170
+ declare function createQueryClient<A extends object, B extends object, C extends object, D extends object, E extends object, F extends object, G extends object, H extends object>(setupA: ExtensionSetup<A>, setupB: ExtensionSetup<B>, setupC: ExtensionSetup<C>, setupD: ExtensionSetup<D>, setupE: ExtensionSetup<E>, setupF: ExtensionSetup<F>, setupG: ExtensionSetup<G>, setupH: ExtensionSetup<H>): QueryClient & A & B & C & D & E & F & G & H;
171
+ declare function createQueryClient<A extends object, B extends object, C extends object, D extends object, E extends object, F extends object, G extends object, H extends object, I extends object>(setupA: ExtensionSetup<A>, setupB: ExtensionSetup<B>, setupC: ExtensionSetup<C>, setupD: ExtensionSetup<D>, setupE: ExtensionSetup<E>, setupF: ExtensionSetup<F>, setupG: ExtensionSetup<G>, setupH: ExtensionSetup<H>, setupI: ExtensionSetup<I>): QueryClient & A & B & C & D & E & F & G & H & I;
172
+ declare function createQueryClient<A extends object, B extends object, C extends object, D extends object, E extends object, F extends object, G extends object, H extends object, I extends object, J extends object>(setupA: ExtensionSetup<A>, setupB: ExtensionSetup<B>, setupC: ExtensionSetup<C>, setupD: ExtensionSetup<D>, setupE: ExtensionSetup<E>, setupF: ExtensionSetup<F>, setupG: ExtensionSetup<G>, setupH: ExtensionSetup<H>, setupI: ExtensionSetup<I>, setupJ: ExtensionSetup<J>): QueryClient & A & B & C & D & E & F & G & H & I & J;
173
+ declare function createQueryClient<A extends object, B extends object, C extends object, D extends object, E extends object, F extends object, G extends object, H extends object, I extends object, J extends object, K extends object>(setupA: ExtensionSetup<A>, setupB: ExtensionSetup<B>, setupC: ExtensionSetup<C>, setupD: ExtensionSetup<D>, setupE: ExtensionSetup<E>, setupF: ExtensionSetup<F>, setupG: ExtensionSetup<G>, setupH: ExtensionSetup<H>, setupI: ExtensionSetup<I>, setupJ: ExtensionSetup<J>, setupK: ExtensionSetup<K>): QueryClient & A & B & C & D & E & F & G & H & I & J & K;
174
+ declare function createQueryClient<A extends object, B extends object, C extends object, D extends object, E extends object, F extends object, G extends object, H extends object, I extends object, J extends object, K extends object, L extends object>(setupA: ExtensionSetup<A>, setupB: ExtensionSetup<B>, setupC: ExtensionSetup<C>, setupD: ExtensionSetup<D>, setupE: ExtensionSetup<E>, setupF: ExtensionSetup<F>, setupG: ExtensionSetup<G>, setupH: ExtensionSetup<H>, setupI: ExtensionSetup<I>, setupJ: ExtensionSetup<J>, setupK: ExtensionSetup<K>, setupL: ExtensionSetup<L>): QueryClient & A & B & C & D & E & F & G & H & I & J & K & L;
175
+ declare function createQueryClient<A extends object, B extends object, C extends object, D extends object, E extends object, F extends object, G extends object, H extends object, I extends object, J extends object, K extends object, L extends object, M extends object>(setupA: ExtensionSetup<A>, setupB: ExtensionSetup<B>, setupC: ExtensionSetup<C>, setupD: ExtensionSetup<D>, setupE: ExtensionSetup<E>, setupF: ExtensionSetup<F>, setupG: ExtensionSetup<G>, setupH: ExtensionSetup<H>, setupI: ExtensionSetup<I>, setupJ: ExtensionSetup<J>, setupK: ExtensionSetup<K>, setupL: ExtensionSetup<L>, setupM: ExtensionSetup<M>): QueryClient & A & B & C & D & E & F & G & H & I & J & K & L & M;
176
+ declare function createQueryClient<A extends object, B extends object, C extends object, D extends object, E extends object, F extends object, G extends object, H extends object, I extends object, J extends object, K extends object, L extends object, M extends object, N extends object>(setupA: ExtensionSetup<A>, setupB: ExtensionSetup<B>, setupC: ExtensionSetup<C>, setupD: ExtensionSetup<D>, setupE: ExtensionSetup<E>, setupF: ExtensionSetup<F>, setupG: ExtensionSetup<G>, setupH: ExtensionSetup<H>, setupI: ExtensionSetup<I>, setupJ: ExtensionSetup<J>, setupK: ExtensionSetup<K>, setupL: ExtensionSetup<L>, setupM: ExtensionSetup<M>, setupN: ExtensionSetup<N>): QueryClient & A & B & C & D & E & F & G & H & I & J & K & L & M & N;
177
+ declare function createQueryClient<A extends object, B extends object, C extends object, D extends object, E extends object, F extends object, G extends object, H extends object, I extends object, J extends object, K extends object, L extends object, M extends object, N extends object, O extends object>(setupA: ExtensionSetup<A>, setupB: ExtensionSetup<B>, setupC: ExtensionSetup<C>, setupD: ExtensionSetup<D>, setupE: ExtensionSetup<E>, setupF: ExtensionSetup<F>, setupG: ExtensionSetup<G>, setupH: ExtensionSetup<H>, setupI: ExtensionSetup<I>, setupJ: ExtensionSetup<J>, setupK: ExtensionSetup<K>, setupL: ExtensionSetup<L>, setupM: ExtensionSetup<M>, setupN: ExtensionSetup<N>, setupO: ExtensionSetup<O>): QueryClient & A & B & C & D & E & F & G & H & I & J & K & L & M & N & O;
178
+ declare function createQueryClient<A extends object, B extends object, C extends object, D extends object, E extends object, F extends object, G extends object, H extends object, I extends object, J extends object, K extends object, L extends object, M extends object, N extends object, O extends object, P extends object>(setupA: ExtensionSetup<A>, setupB: ExtensionSetup<B>, setupC: ExtensionSetup<C>, setupD: ExtensionSetup<D>, setupE: ExtensionSetup<E>, setupF: ExtensionSetup<F>, setupG: ExtensionSetup<G>, setupH: ExtensionSetup<H>, setupI: ExtensionSetup<I>, setupJ: ExtensionSetup<J>, setupK: ExtensionSetup<K>, setupL: ExtensionSetup<L>, setupM: ExtensionSetup<M>, setupN: ExtensionSetup<N>, setupO: ExtensionSetup<O>, setupP: ExtensionSetup<P>): QueryClient & A & B & C & D & E & F & G & H & I & J & K & L & M & N & O & P;
179
+ declare function createQueryClient<A extends object, B extends object, C extends object, D extends object, E extends object, F extends object, G extends object, H extends object, I extends object, J extends object, K extends object, L extends object, M extends object, N extends object, O extends object, P extends object, Q extends object>(setupA: ExtensionSetup<A>, setupB: ExtensionSetup<B>, setupC: ExtensionSetup<C>, setupD: ExtensionSetup<D>, setupE: ExtensionSetup<E>, setupF: ExtensionSetup<F>, setupG: ExtensionSetup<G>, setupH: ExtensionSetup<H>, setupI: ExtensionSetup<I>, setupJ: ExtensionSetup<J>, setupK: ExtensionSetup<K>, setupL: ExtensionSetup<L>, setupM: ExtensionSetup<M>, setupN: ExtensionSetup<N>, setupO: ExtensionSetup<O>, setupP: ExtensionSetup<P>, setupQ: ExtensionSetup<Q>): QueryClient & A & B & C & D & E & F & G & H & I & J & K & L & M & N & O & P & Q;
180
+ declare function createQueryClient<A extends object, B extends object, C extends object, D extends object, E extends object, F extends object, G extends object, H extends object, I extends object, J extends object, K extends object, L extends object, M extends object, N extends object, O extends object, P extends object, Q extends object, R extends object>(setupA: ExtensionSetup<A>, setupB: ExtensionSetup<B>, setupC: ExtensionSetup<C>, setupD: ExtensionSetup<D>, setupE: ExtensionSetup<E>, setupF: ExtensionSetup<F>, setupG: ExtensionSetup<G>, setupH: ExtensionSetup<H>, setupI: ExtensionSetup<I>, setupJ: ExtensionSetup<J>, setupK: ExtensionSetup<K>, setupL: ExtensionSetup<L>, setupM: ExtensionSetup<M>, setupN: ExtensionSetup<N>, setupO: ExtensionSetup<O>, setupP: ExtensionSetup<P>, setupQ: ExtensionSetup<Q>, setupR: ExtensionSetup<R>): QueryClient & A & B & C & D & E & F & G & H & I & J & K & L & M & N & O & P & Q & R;
181
+
154
182
  declare function clearRecentChain(): void;
183
+ declare function getActiveChainCurrency(denom: string): AppCurrency | undefined;
184
+ declare function getRecentChain(): GrazChain | null;
155
185
  declare function suggestChain(chainInfo: ChainInfo): Promise<ChainInfo>;
156
186
  declare function suggestChainAndConnect(chainInfo: ChainInfo): Promise<{
157
187
  account: Key;
@@ -165,6 +195,7 @@ interface GrazStore {
165
195
  clients: {
166
196
  cosmWasm: CosmWasmClient;
167
197
  stargate: StargateClient;
198
+ tendermint: Tendermint34Client;
168
199
  } | null;
169
200
  defaultChain: GrazChain | null;
170
201
  defaultSigningClient: "cosmWasm" | "stargate";
@@ -177,9 +208,9 @@ interface GrazStore {
177
208
  stargate: SigningStargateClient;
178
209
  } | null;
179
210
  status: "connected" | "connecting" | "reconnecting" | "disconnected";
211
+ walletType: WalletType;
180
212
  _notFoundFn: () => void;
181
213
  _reconnect: boolean;
182
- _supported: boolean;
183
214
  }
184
215
 
185
216
  declare type CreateClientArgs = Pick<GrazChain, "rpc" | "rpcHeaders">;
@@ -194,10 +225,21 @@ declare function createSigningClients(args: CreateSigningClientArgs): Promise<Gr
194
225
  interface ConfigureGrazArgs {
195
226
  defaultChain?: GrazChain;
196
227
  defaultSigningClient?: GrazStore["defaultSigningClient"];
197
- onKeplrNotFound?: () => void;
228
+ defaultWallet?: WalletType;
229
+ onNotFound?: () => void;
198
230
  }
199
231
  declare function configureGraz(args?: ConfigureGrazArgs): ConfigureGrazArgs;
200
232
 
233
+ /**
234
+ * Function to check whether given {@link WalletType} or default configured wallet exists.
235
+ *
236
+ * @example
237
+ * ```ts
238
+ * const isSupported = checkWallet();
239
+ * const isKeplrSupported = checkWallet("keplr");
240
+ * ```
241
+ */
242
+ declare function checkWallet(type?: WalletType): boolean;
201
243
  /**
202
244
  * Function to return {@link Keplr} object and throws and error if it does not exist on `window`.
203
245
  *
@@ -214,24 +256,23 @@ declare function configureGraz(args?: ConfigureGrazArgs): ConfigureGrazArgs;
214
256
  */
215
257
  declare function getKeplr(): Keplr;
216
258
  /**
217
- * Register a callback to run when invoking {@link getKeplr} throws an error.
259
+ * Function to return wallet object based on given {@link WalletType} or from store and throws an error if it does not
260
+ * exist on `window` or unknown wallet type.
218
261
  *
219
262
  * @example
220
263
  * ```ts
221
- * registerKeplrNotFound(() => {
222
- * console.error("keplr not found");
223
- * });
264
+ * const wallet = getWallet();
265
+ * const keplr = getWallet("keplr");
224
266
  * ```
225
267
  *
226
- * @see {@link unregisterKeplrNotFound}
227
- */
228
- declare function registerKeplrNotFound(fn: () => void): void;
229
- /**
230
- * Clear registered callback when using {@link registerKeplrNotFound}.
231
- *
232
- * @see {@link registerKeplrNotFound}
268
+ * @see {@link getKeplr}
233
269
  */
234
- declare function unregisterKeplrNotFound(): void;
270
+ declare function getWallet(type?: WalletType): Keplr;
271
+
272
+ interface GrazAdapter {
273
+ name: string;
274
+ id: string;
275
+ }
235
276
 
236
277
  interface MutationEventArgs<TInitial = unknown, TSuccess = TInitial> {
237
278
  onError?: (error: unknown, data: TInitial) => unknown;
@@ -289,16 +330,25 @@ declare function useAccount({ onConnect, onDisconnect }?: UseAccountArgs): {
289
330
  * useBalances("cosmos1kpzxx2lxg05xxn8mfygrerhmkj0ypn8edmu2pu");
290
331
  * ```
291
332
  */
292
- declare function useBalances(bech32Address?: string): {
293
- data: _cosmjs_amino.Coin[] | undefined;
294
- error: unknown;
295
- isFetching: boolean;
296
- isLoading: boolean;
297
- isRefetching: boolean;
298
- isSuccess: boolean;
299
- refetch: <TPageData>(options?: (_tanstack_react_query.RefetchOptions & _tanstack_react_query.RefetchQueryFilters<TPageData>) | undefined) => Promise<_tanstack_react_query.QueryObserverResult<_cosmjs_amino.Coin[], unknown>>;
300
- status: "error" | "success" | "loading";
301
- };
333
+ declare function useBalances(bech32Address?: string): UseQueryResult<Coin[]>;
334
+ /**
335
+ * graz query hook to retrieve specific asset balance from current account or given address.
336
+ *
337
+ * @param denom - Asset denom to search
338
+ * @param bech32Address - Optional bech32 account address, defaults to connected account address
339
+ *
340
+ * @example
341
+ * ```ts
342
+ * import { useBalance } from "graz";
343
+ *
344
+ * // basic example
345
+ * const { data, isFetching, refetch, ... } = useBalance("atom");
346
+ *
347
+ * // with custom bech32 address
348
+ * useBalance("atom", "cosmos1kpzxx2lxg05xxn8mfygrerhmkj0ypn8edmu2pu");
349
+ * ```
350
+ */
351
+ declare function useBalance(denom: string, bech32Address?: string): UseQueryResult<Coin | undefined>;
302
352
  declare type UseConnectChainArgs = MutationEventArgs<ConnectArgs, Key>;
303
353
  /**
304
354
  * graz mutation hook to execute wallet connection with optional arguments to
@@ -339,7 +389,7 @@ declare function useConnect({ onError, onLoading, onSuccess }?: UseConnectChainA
339
389
  isLoading: boolean;
340
390
  isSuccess: boolean;
341
391
  isSupported: boolean;
342
- status: "error" | "success" | "loading" | "idle";
392
+ status: "error" | "idle" | "loading" | "success";
343
393
  };
344
394
  /**
345
395
  * graz mutation hook to execute wallet disconnection with optional arguments to
@@ -371,7 +421,7 @@ declare function useDisconnect({ onError, onLoading, onSuccess }?: MutationEvent
371
421
  error: unknown;
372
422
  isLoading: boolean;
373
423
  isSuccess: boolean;
374
- status: "error" | "success" | "loading" | "idle";
424
+ status: "error" | "idle" | "loading" | "success";
375
425
  };
376
426
  /**
377
427
  * graz hook to retrieve offline signer objects (default, amino enabled, and auto).
@@ -380,15 +430,43 @@ declare function useDisconnect({ onError, onLoading, onSuccess }?: MutationEvent
380
430
  *
381
431
  * @example
382
432
  * ```ts
383
- * import { useSigners } from "graz";
384
- * const { signer, signerAmino, signerAuto } = useSigners();
433
+ * import { useOfflineSigners } from "graz";
434
+ * const { signer, signerAmino, signerAuto } = useOfflineSigners();
385
435
  * ```
386
436
  */
437
+ declare function useOfflineSigners(): {
438
+ signer: (_cosmjs_proto_signing.OfflineSigner & _cosmjs_proto_signing.OfflineDirectSigner) | null;
439
+ signerAmino: _cosmjs_proto_signing.OfflineSigner | null;
440
+ signerAuto: _cosmjs_proto_signing.OfflineSigner | null;
441
+ };
442
+ /**
443
+ * graz hook to retrieve offline signer objects (default, amino enabled, and auto).
444
+ *
445
+ * @deprecated prefer using {@link useOfflineSigners}
446
+ * @see {@link useOfflineSigners}
447
+ */
387
448
  declare function useSigners(): {
388
449
  signer: (_cosmjs_proto_signing.OfflineSigner & _cosmjs_proto_signing.OfflineDirectSigner) | null;
389
450
  signerAmino: _cosmjs_proto_signing.OfflineSigner | null;
390
451
  signerAuto: _cosmjs_proto_signing.OfflineSigner | null;
391
452
  };
453
+ /**
454
+ * graz query hook to retrieve list of staked balances from current account or given address.
455
+ *
456
+ * @param bech32Address - Optional bech32 account address, defaults to connected account address
457
+ *
458
+ * @example
459
+ * ```ts
460
+ * import { useStakedBalances } from "graz";
461
+ *
462
+ * // basic example
463
+ * const { data, isFetching, refetch, ... } = useStakedBalances();
464
+ *
465
+ * // with custom bech32 address
466
+ * useStakedBalances("cosmos1kpzxx2lxg05xxn8mfygrerhmkj0ypn8edmu2pu");
467
+ * ```
468
+ */
469
+ declare function useStakedBalances(bech32Address?: string): UseQueryResult<Coin | null>;
392
470
 
393
471
  /**
394
472
  * graz hook to retrieve connected account's active chain
@@ -400,6 +478,34 @@ declare function useSigners(): {
400
478
  * ```
401
479
  */
402
480
  declare function useActiveChain(): GrazChain | null;
481
+ /**
482
+ * graz hook to retrieve specific connected account's currency
483
+ *
484
+ * @param denom - Currency denom to search
485
+ *
486
+ * @example
487
+ * ```ts
488
+ * import { useActiveChainCurrency } from "graz";
489
+ * const { data: currency, ... } = useActiveChainCurrency("juno");
490
+ * ```
491
+ */
492
+ declare function useActiveChainCurrency(denom: string): UseQueryResult<AppCurrency | undefined>;
493
+ /**
494
+ * graz hook to retrieve active chain validators with given query client and optional bond status
495
+ *
496
+ * @param queryClient - \@cosmjs/stargate query client object with {@link StakingExtension}
497
+ * @param status - Validator bond status string (defaults to BOND_STATUS_BONDED)
498
+ *
499
+ * @example
500
+ * ```ts
501
+ * import { useActiveChainValidators, useQueryClient } from "graz";
502
+ * import { setupStakingExtension } from "@cosmjs/stargate";
503
+ *
504
+ * const queryClient = useQueryClient(setupStakingExtension);
505
+ * const { data: response, ... } = useActiveChainValidators(queryClient);
506
+ * ```
507
+ */
508
+ declare function useActiveChainValidators<T extends QueryClient & StakingExtension>(queryClient: T, status?: BondStatusString): UseQueryResult<QueryValidatorsResponse>;
403
509
  /**
404
510
  * graz hook to retrieve last connected chain info
405
511
  *
@@ -443,7 +549,7 @@ declare function useSuggestChain({ onError, onLoading, onSuccess }?: UseSuggestC
443
549
  isSuccess: boolean;
444
550
  suggest: _tanstack_react_query.UseMutateFunction<ChainInfo, unknown, ChainInfo, unknown>;
445
551
  suggestAsync: _tanstack_react_query.UseMutateAsyncFunction<ChainInfo, unknown, ChainInfo, unknown>;
446
- status: "error" | "success" | "loading" | "idle";
552
+ status: "error" | "idle" | "loading" | "success";
447
553
  };
448
554
  declare type UseSuggestChainAndConnectArgs = MutationEventArgs<ChainInfo, {
449
555
  chain: ChainInfo;
@@ -481,7 +587,7 @@ declare function useSuggestChainAndConnect({ onError, onLoading, onSuccess }?: U
481
587
  isLoading: boolean;
482
588
  isSuccess: boolean;
483
589
  isSupported: boolean;
484
- status: "error" | "success" | "loading" | "idle";
590
+ status: "error" | "idle" | "loading" | "success";
485
591
  suggestAndConnect: _tanstack_react_query.UseMutateFunction<{
486
592
  account: Key;
487
593
  chain: ChainInfo;
@@ -492,9 +598,48 @@ declare function useSuggestChainAndConnect({ onError, onLoading, onSuccess }?: U
492
598
  }, unknown, ChainInfo, unknown>;
493
599
  };
494
600
 
495
- declare type WithRefetchOpts<T> = T & {
496
- keepRefetchBehavior?: boolean;
497
- };
601
+ /**
602
+ * graz query hook to create and use {@link QueryClient} similar when using {@link QueryClient.withExtensions}.
603
+ *
604
+ * Note: `useQueryClient` returns \@cosmjs/stargate's {@link QueryClient},
605
+ * NOT to be confused with \@tanstack/react-query useQueryClient.
606
+ *
607
+ * @example
608
+ * ```ts
609
+ * // example without extensions
610
+ * import { useQueryClient } from "graz";
611
+ *
612
+ * const queryClient = useQueryClient();
613
+ *
614
+ * // example with extensions
615
+ * import { useQueryClient } from "graz";
616
+ * import { setupAuthExtension, setupIbcExtension } from "@cosmjs/stargate";
617
+ *
618
+ * const queryClientWithExtensions = useQueryClient(setupAuthExtension, setupIbcExtension);
619
+ * ```
620
+ *
621
+ * @see {@link createQueryClient}
622
+ */
623
+ declare function useQueryClient(): UseQueryResult<QueryClient>;
624
+ declare function useQueryClient<A extends object>(setupA: ExtensionSetup<A>): UseQueryResult<QueryClient & A>;
625
+ declare function useQueryClient<A extends object, B extends object>(setupA: ExtensionSetup<A>, setupB: ExtensionSetup<B>): UseQueryResult<QueryClient & A & B>;
626
+ declare function useQueryClient<A extends object, B extends object, C extends object>(setupA: ExtensionSetup<A>, setupB: ExtensionSetup<B>, setupC: ExtensionSetup<C>): UseQueryResult<QueryClient & A & B & C>;
627
+ declare function useQueryClient<A extends object, B extends object, C extends object, D extends object>(setupA: ExtensionSetup<A>, setupB: ExtensionSetup<B>, setupC: ExtensionSetup<C>, setupD: ExtensionSetup<D>): UseQueryResult<QueryClient & A & B & C & D>;
628
+ declare function useQueryClient<A extends object, B extends object, C extends object, D extends object, E extends object>(setupA: ExtensionSetup<A>, setupB: ExtensionSetup<B>, setupC: ExtensionSetup<C>, setupD: ExtensionSetup<D>, setupE: ExtensionSetup<E>): UseQueryResult<QueryClient & A & B & C & D & E>;
629
+ declare function useQueryClient<A extends object, B extends object, C extends object, D extends object, E extends object, F extends object>(setupA: ExtensionSetup<A>, setupB: ExtensionSetup<B>, setupC: ExtensionSetup<C>, setupD: ExtensionSetup<D>, setupE: ExtensionSetup<E>, setupF: ExtensionSetup<F>): UseQueryResult<QueryClient & A & B & C & D & E & F>;
630
+ declare function useQueryClient<A extends object, B extends object, C extends object, D extends object, E extends object, F extends object, G extends object>(setupA: ExtensionSetup<A>, setupB: ExtensionSetup<B>, setupC: ExtensionSetup<C>, setupD: ExtensionSetup<D>, setupE: ExtensionSetup<E>, setupF: ExtensionSetup<F>, setupG: ExtensionSetup<G>): UseQueryResult<QueryClient & A & B & C & D & E & F & G>;
631
+ declare function useQueryClient<A extends object, B extends object, C extends object, D extends object, E extends object, F extends object, G extends object, H extends object>(setupA: ExtensionSetup<A>, setupB: ExtensionSetup<B>, setupC: ExtensionSetup<C>, setupD: ExtensionSetup<D>, setupE: ExtensionSetup<E>, setupF: ExtensionSetup<F>, setupG: ExtensionSetup<G>, setupH: ExtensionSetup<H>): UseQueryResult<QueryClient & A & B & C & D & E & F & G & H>;
632
+ declare function useQueryClient<A extends object, B extends object, C extends object, D extends object, E extends object, F extends object, G extends object, H extends object, I extends object>(setupA: ExtensionSetup<A>, setupB: ExtensionSetup<B>, setupC: ExtensionSetup<C>, setupD: ExtensionSetup<D>, setupE: ExtensionSetup<E>, setupF: ExtensionSetup<F>, setupG: ExtensionSetup<G>, setupH: ExtensionSetup<H>, setupI: ExtensionSetup<I>): UseQueryResult<QueryClient & A & B & C & D & E & F & G & H & I>;
633
+ declare function useQueryClient<A extends object, B extends object, C extends object, D extends object, E extends object, F extends object, G extends object, H extends object, I extends object, J extends object>(setupA: ExtensionSetup<A>, setupB: ExtensionSetup<B>, setupC: ExtensionSetup<C>, setupD: ExtensionSetup<D>, setupE: ExtensionSetup<E>, setupF: ExtensionSetup<F>, setupG: ExtensionSetup<G>, setupH: ExtensionSetup<H>, setupI: ExtensionSetup<I>, setupJ: ExtensionSetup<J>): UseQueryResult<QueryClient & A & B & C & D & E & F & G & H & I & J>;
634
+ declare function useQueryClient<A extends object, B extends object, C extends object, D extends object, E extends object, F extends object, G extends object, H extends object, I extends object, J extends object, K extends object>(setupA: ExtensionSetup<A>, setupB: ExtensionSetup<B>, setupC: ExtensionSetup<C>, setupD: ExtensionSetup<D>, setupE: ExtensionSetup<E>, setupF: ExtensionSetup<F>, setupG: ExtensionSetup<G>, setupH: ExtensionSetup<H>, setupI: ExtensionSetup<I>, setupJ: ExtensionSetup<J>, setupK: ExtensionSetup<K>): UseQueryResult<QueryClient & A & B & C & D & E & F & G & H & I & J & K>;
635
+ declare function useQueryClient<A extends object, B extends object, C extends object, D extends object, E extends object, F extends object, G extends object, H extends object, I extends object, J extends object, K extends object, L extends object>(setupA: ExtensionSetup<A>, setupB: ExtensionSetup<B>, setupC: ExtensionSetup<C>, setupD: ExtensionSetup<D>, setupE: ExtensionSetup<E>, setupF: ExtensionSetup<F>, setupG: ExtensionSetup<G>, setupH: ExtensionSetup<H>, setupI: ExtensionSetup<I>, setupJ: ExtensionSetup<J>, setupK: ExtensionSetup<K>, setupL: ExtensionSetup<L>): UseQueryResult<QueryClient & A & B & C & D & E & F & G & H & I & J & K & L>;
636
+ declare function useQueryClient<A extends object, B extends object, C extends object, D extends object, E extends object, F extends object, G extends object, H extends object, I extends object, J extends object, K extends object, L extends object, M extends object>(setupA: ExtensionSetup<A>, setupB: ExtensionSetup<B>, setupC: ExtensionSetup<C>, setupD: ExtensionSetup<D>, setupE: ExtensionSetup<E>, setupF: ExtensionSetup<F>, setupG: ExtensionSetup<G>, setupH: ExtensionSetup<H>, setupI: ExtensionSetup<I>, setupJ: ExtensionSetup<J>, setupK: ExtensionSetup<K>, setupL: ExtensionSetup<L>, setupM: ExtensionSetup<M>): UseQueryResult<QueryClient & A & B & C & D & E & F & G & H & I & J & K & L & M>;
637
+ declare function useQueryClient<A extends object, B extends object, C extends object, D extends object, E extends object, F extends object, G extends object, H extends object, I extends object, J extends object, K extends object, L extends object, M extends object, N extends object>(setupA: ExtensionSetup<A>, setupB: ExtensionSetup<B>, setupC: ExtensionSetup<C>, setupD: ExtensionSetup<D>, setupE: ExtensionSetup<E>, setupF: ExtensionSetup<F>, setupG: ExtensionSetup<G>, setupH: ExtensionSetup<H>, setupI: ExtensionSetup<I>, setupJ: ExtensionSetup<J>, setupK: ExtensionSetup<K>, setupL: ExtensionSetup<L>, setupM: ExtensionSetup<M>, setupN: ExtensionSetup<N>): UseQueryResult<QueryClient & A & B & C & D & E & F & G & H & I & J & K & L & M & N>;
638
+ declare function useQueryClient<A extends object, B extends object, C extends object, D extends object, E extends object, F extends object, G extends object, H extends object, I extends object, J extends object, K extends object, L extends object, M extends object, N extends object, O extends object>(setupA: ExtensionSetup<A>, setupB: ExtensionSetup<B>, setupC: ExtensionSetup<C>, setupD: ExtensionSetup<D>, setupE: ExtensionSetup<E>, setupF: ExtensionSetup<F>, setupG: ExtensionSetup<G>, setupH: ExtensionSetup<H>, setupI: ExtensionSetup<I>, setupJ: ExtensionSetup<J>, setupK: ExtensionSetup<K>, setupL: ExtensionSetup<L>, setupM: ExtensionSetup<M>, setupN: ExtensionSetup<N>, setupO: ExtensionSetup<O>): UseQueryResult<QueryClient & A & B & C & D & E & F & G & H & I & J & K & L & M & N & O>;
639
+ declare function useQueryClient<A extends object, B extends object, C extends object, D extends object, E extends object, F extends object, G extends object, H extends object, I extends object, J extends object, K extends object, L extends object, M extends object, N extends object, O extends object, P extends object>(setupA: ExtensionSetup<A>, setupB: ExtensionSetup<B>, setupC: ExtensionSetup<C>, setupD: ExtensionSetup<D>, setupE: ExtensionSetup<E>, setupF: ExtensionSetup<F>, setupG: ExtensionSetup<G>, setupH: ExtensionSetup<H>, setupI: ExtensionSetup<I>, setupJ: ExtensionSetup<J>, setupK: ExtensionSetup<K>, setupL: ExtensionSetup<L>, setupM: ExtensionSetup<M>, setupN: ExtensionSetup<N>, setupO: ExtensionSetup<O>, setupP: ExtensionSetup<P>): UseQueryResult<QueryClient & A & B & C & D & E & F & G & H & I & J & K & L & M & N & O & P>;
640
+ declare function useQueryClient<A extends object, B extends object, C extends object, D extends object, E extends object, F extends object, G extends object, H extends object, I extends object, J extends object, K extends object, L extends object, M extends object, N extends object, O extends object, P extends object, Q extends object>(setupA: ExtensionSetup<A>, setupB: ExtensionSetup<B>, setupC: ExtensionSetup<C>, setupD: ExtensionSetup<D>, setupE: ExtensionSetup<E>, setupF: ExtensionSetup<F>, setupG: ExtensionSetup<G>, setupH: ExtensionSetup<H>, setupI: ExtensionSetup<I>, setupJ: ExtensionSetup<J>, setupK: ExtensionSetup<K>, setupL: ExtensionSetup<L>, setupM: ExtensionSetup<M>, setupN: ExtensionSetup<N>, setupO: ExtensionSetup<O>, setupP: ExtensionSetup<P>, setupQ: ExtensionSetup<Q>): UseQueryResult<QueryClient & A & B & C & D & E & F & G & H & I & J & K & L & M & N & O & P & Q>;
641
+ declare function useQueryClient<A extends object, B extends object, C extends object, D extends object, E extends object, F extends object, G extends object, H extends object, I extends object, J extends object, K extends object, L extends object, M extends object, N extends object, O extends object, P extends object, Q extends object, R extends object>(setupA: ExtensionSetup<A>, setupB: ExtensionSetup<B>, setupC: ExtensionSetup<C>, setupD: ExtensionSetup<D>, setupE: ExtensionSetup<E>, setupF: ExtensionSetup<F>, setupG: ExtensionSetup<G>, setupH: ExtensionSetup<H>, setupI: ExtensionSetup<I>, setupJ: ExtensionSetup<J>, setupK: ExtensionSetup<K>, setupL: ExtensionSetup<L>, setupM: ExtensionSetup<M>, setupN: ExtensionSetup<N>, setupO: ExtensionSetup<O>, setupP: ExtensionSetup<P>, setupQ: ExtensionSetup<Q>, setupR: ExtensionSetup<R>): UseQueryResult<QueryClient & A & B & C & D & E & F & G & H & I & J & K & L & M & N & O & P & Q & R>;
642
+
498
643
  /**
499
644
  * graz query hook to retrieve a CosmWasmClient. If there's no given arguments it will be using the current connected client
500
645
  *
@@ -509,22 +654,7 @@ declare type WithRefetchOpts<T> = T & {
509
654
  * useClient({ rpc: "https://rpc.cosmoshub.strange.love", });
510
655
  * ```
511
656
  */
512
- declare function useClients(args?: WithRefetchOpts<CreateClientArgs>): {
513
- data: {
514
- cosmWasm: _cosmjs_cosmwasm_stargate.CosmWasmClient;
515
- stargate: _cosmjs_stargate.StargateClient;
516
- } | null | undefined;
517
- error: unknown;
518
- isFetching: boolean;
519
- isLoading: boolean;
520
- isRefetching: boolean;
521
- isSuccess: boolean;
522
- refetch: <TPageData>(options?: (_tanstack_react_query.RefetchOptions & _tanstack_react_query.RefetchQueryFilters<TPageData>) | undefined) => Promise<_tanstack_react_query.QueryObserverResult<{
523
- cosmWasm: _cosmjs_cosmwasm_stargate.CosmWasmClient;
524
- stargate: _cosmjs_stargate.StargateClient;
525
- } | null, unknown>>;
526
- status: "error" | "success" | "loading";
527
- };
657
+ declare function useClients(args?: CreateClientArgs): UseQueryResult<GrazStore["clients"]>;
528
658
  /**
529
659
  * graz query hook to retrieve a SigningCosmWasmClient. If there's no given args it will be using the current connected signer
530
660
  *
@@ -543,22 +673,7 @@ declare function useClients(args?: WithRefetchOpts<CreateClientArgs>): {
543
673
  * });
544
674
  * ```
545
675
  */
546
- declare function useSigningClients(args?: WithRefetchOpts<CreateSigningClientArgs>): {
547
- data: {
548
- cosmWasm: _cosmjs_cosmwasm_stargate.SigningCosmWasmClient;
549
- stargate: _cosmjs_stargate.SigningStargateClient;
550
- } | null | undefined;
551
- error: unknown;
552
- isFetching: boolean;
553
- isLoading: boolean;
554
- isRefetching: boolean;
555
- isSuccess: boolean;
556
- refetch: <TPageData>(options?: (_tanstack_react_query.RefetchOptions & _tanstack_react_query.RefetchQueryFilters<TPageData>) | undefined) => Promise<_tanstack_react_query.QueryObserverResult<{
557
- cosmWasm: _cosmjs_cosmwasm_stargate.SigningCosmWasmClient;
558
- stargate: _cosmjs_stargate.SigningStargateClient;
559
- } | null, unknown>>;
560
- status: "error" | "success" | "loading";
561
- };
676
+ declare function useSigningClients(args?: CreateSigningClientArgs): UseQueryResult<GrazStore["signingClients"]>;
562
677
 
563
678
  /**
564
679
  * graz hook which returns boolean whether Keplr Wallet is supported
@@ -567,16 +682,24 @@ declare function useSigningClients(args?: WithRefetchOpts<CreateSigningClientArg
567
682
  * ```ts
568
683
  * import { useCheckKeplr } from "graz";
569
684
  *
570
- * // basic example
571
- * const isSupported = useCheckKeplr();
572
- * if (isSupported) {
573
- * ...
574
- * }
685
+ * const { data: isSupported } = useCheckKeplr();
575
686
  * ```
576
687
  *
577
- * @see {@link getKeplr}
688
+ * @deprecated prefer using {@link useCheckWallet}
689
+ */
690
+ declare function useCheckKeplr(): UseQueryResult<boolean>;
691
+ /**
692
+ * graz query hook to check whether given {@link WalletType} or default configured wallet is supported
693
+ *
694
+ * @example
695
+ * ```ts
696
+ * import { useCheckWallet } from "graz";
697
+ *
698
+ * const { data: isSupported } = useCheckWallet();
699
+ * const { data: isKeplrSupported } = useCheckWallet("keplr");
700
+ * ```
578
701
  */
579
- declare function useCheckKeplr(): boolean;
702
+ declare function useCheckWallet(type?: WalletType): UseQueryResult<boolean>;
580
703
 
581
704
  declare type GrazProviderProps = Partial<QueryClientProviderProps> & {
582
705
  grazOptions?: ConfigureGrazArgs;
@@ -614,4 +737,4 @@ declare function useGrazEvents(): null;
614
737
  */
615
738
  declare function GrazEvents(): null;
616
739
 
617
- export { ChainInfoWithPath, ConfigureGrazArgs, ConnectArgs, CreateClientArgs, CreateSigningClientArgs, Dictionary, GrazChain, GrazEvents, GrazProvider, GrazProviderProps, Maybe, UseAccountArgs, UseConnectChainArgs, UseSuggestChainAndConnectArgs, UseSuggestChainArgs, clearRecentChain, configureGraz, connect, createClients, createSigningClients, defineChain, defineChainInfo, defineChains, disconnect, getBalances, getKeplr, getRecentChain, mainnetChains, mainnetChainsArray, reconnect, registerKeplrNotFound, suggestChain, suggestChainAndConnect, testnetChains, testnetChainsArray, unregisterKeplrNotFound, useAccount, useActiveChain, useBalances, useCheckKeplr, useClients, useConnect, useDisconnect, useGrazEvents, useRecentChain, useSigners, useSigningClients, useSuggestChain, useSuggestChainAndConnect };
740
+ export { ChainInfoWithPath, ConfigureGrazArgs, ConnectArgs, CreateClientArgs, CreateSigningClientArgs, Dictionary, GrazAdapter, GrazChain, GrazEvents, GrazProvider, GrazProviderProps, Maybe, UseAccountArgs, UseConnectChainArgs, UseSuggestChainAndConnectArgs, UseSuggestChainArgs, WalletType, checkWallet, clearRecentChain, configureGraz, connect, createClients, createQueryClient, createSigningClients, defineChain, defineChainInfo, defineChains, disconnect, getActiveChainCurrency, getBalances, getKeplr, getRecentChain, getStakedBalances, getWallet, mainnetChains, mainnetChainsArray, reconnect, suggestChain, suggestChainAndConnect, testnetChains, testnetChainsArray, useAccount, useActiveChain, useActiveChainCurrency, useActiveChainValidators, useBalance, useBalances, useCheckKeplr, useCheckWallet, useClients, useConnect, useDisconnect, useGrazEvents, useOfflineSigners, useQueryClient, useRecentChain, useSigners, useSigningClients, useStakedBalances, useSuggestChain, useSuggestChainAndConnect };
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";var De=Object.create;var y=Object.defineProperty;var ve=Object.getOwnPropertyDescriptor;var be=Object.getOwnPropertyNames;var Ge=Object.getPrototypeOf,ze=Object.prototype.hasOwnProperty;var je=(e,t)=>{for(var o in t)y(e,o,{get:t[o],enumerable:!0})},Q=(e,t,o,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of be(t))!ze.call(e,n)&&n!==o&&y(e,n,{get:()=>t[n],enumerable:!(i=ve(t,n))||i.enumerable});return e};var J=(e,t,o)=>(o=e!=null?De(Ge(e)):{},Q(t||!e||!e.__esModule?y(o,"default",{value:e,enumerable:!0}):o,e)),Oe=e=>Q(y({},"__esModule",{value:!0}),e);var Sn={};je(Sn,{GrazEvents:()=>_,GrazProvider:()=>dn,clearRecentChain:()=>j,configureGraz:()=>M,connect:()=>p,createClients:()=>u,createSigningClients:()=>l,defineChain:()=>en,defineChainInfo:()=>nn,defineChains:()=>Ze,disconnect:()=>G,getBalances:()=>z,getKeplr:()=>g,getRecentChain:()=>Ue,mainnetChains:()=>tn,mainnetChainsArray:()=>on,reconnect:()=>m,registerKeplrNotFound:()=>b,suggestChain:()=>S,suggestChainAndConnect:()=>O,testnetChains:()=>rn,testnetChainsArray:()=>sn,unregisterKeplrNotFound:()=>Ke,useAccount:()=>Se,useActiveChain:()=>un,useBalances:()=>cn,useCheckKeplr:()=>f,useClients:()=>hn,useConnect:()=>an,useDisconnect:()=>mn,useGrazEvents:()=>we,useRecentChain:()=>ln,useSigners:()=>pn,useSigningClients:()=>Cn,useSuggestChain:()=>gn,useSuggestChainAndConnect:()=>fn});module.exports=Oe(Sn);var X=require("@cosmjs/stargate");var V=J(require("zustand")),d=require("zustand/middleware"),I={account:null,activeChain:null,balances:null,clients:null,defaultChain:null,defaultSigningClient:"stargate",offlineSigner:null,offlineSignerAmino:null,offlineSignerAuto:null,recentChain:null,signingClients:null,status:"disconnected",_notFoundFn:()=>null,_reconnect:!1,_supported:!1},Me={name:"graz",partialize:e=>({activeChain:e.activeChain,recentChain:e.recentChain,_reconnect:e._reconnect}),version:1},r=(0,V.default)((0,d.subscribeWithSelector)((0,d.persist)(()=>I,Me)));var D=require("@cosmjs/cosmwasm-stargate"),v=require("@cosmjs/stargate");async function u({rpc:e,rpcHeaders:t}){let o={url:e,headers:{...t||{}}},[i,n]=await Promise.all([D.SigningCosmWasmClient.connect(o),v.SigningStargateClient.connect(o)]);return{cosmWasm:i,stargate:n}}async function l(e){let{rpc:t,rpcHeaders:o,offlineSignerAuto:i,cosmWasmSignerOptions:n={},stargateSignerOptions:s={}}=e,a={url:t,headers:{...o||{}}},[C,x]=await Promise.all([D.SigningCosmWasmClient.connectWithSigner(a,i,n),v.SigningStargateClient.connectWithSigner(a,i,s)]);return{cosmWasm:C,stargate:x}}function g(){if(typeof window.keplr<"u")return window.keplr;throw r.getState()._notFoundFn(),new Error("Keplr is not defined")}function b(e){r.setState({_notFoundFn:e})}function Ke(){r.setState({_notFoundFn:()=>null})}async function p(e){try{let t=g(),{defaultChain:o,recentChain:i}=r.getState(),n=e||i||o;if(!n)throw new Error("No last known connected chain, connect action requires chain info");r.setState(k=>{let Ie=k._reconnect;return k.activeChain&&k.activeChain.chainId!==n.chainId?{status:"connecting"}:Ie?{status:"reconnecting"}:{status:"connecting"}}),await t.enable(n.chainId);let s=t.getOfflineSigner(n.chainId),a=t.getOfflineSignerOnlyAmino(n.chainId),C=await t.getOfflineSignerAuto(n.chainId),x=n.gas?X.GasPrice.fromString(`${n.gas.price}${n.gas.denom}`):void 0,[H,xe,ke]=await Promise.all([t.getKey(n.chainId),u(n),l({...n,offlineSignerAuto:C,cosmWasmSignerOptions:{gasPrice:x,...(e==null?void 0:e.signerOpts)||{}}})]);return r.setState({account:H,activeChain:n,clients:xe,offlineSigner:s,offlineSignerAmino:a,offlineSignerAuto:C,recentChain:n,signingClients:ke,status:"connected",_reconnect:!0}),H}catch(t){throw r.getState().account===null&&r.setState({status:"disconnected"}),t}}async function G(e=!1){return r.setState(t=>({...I,recentChain:e?null:t.recentChain,_supported:t._supported})),Promise.resolve()}async function z(e){let{activeChain:t,signingClients:o}=r.getState();if(!t||!o)throw new Error("No connected account detected");let{defaultSigningClient:i}=r.getState();return await Promise.all(t.currencies.map(async s=>o[i].getBalance(e,s.coinMinimalDenom)))}function m(){let{activeChain:e}=r.getState();e&&p(e)}function Ue(){return r.getState().recentChain}function j(){r.setState({recentChain:null})}async function S(e){return await g().experimentalSuggestChain(e),e}async function O(e){let t=await S(e);return{account:await p(e),chain:t}}function M(e={}){return e.defaultChain&&r.setState({defaultChain:e.defaultChain}),e.defaultSigningClient&&r.setState({defaultSigningClient:e.defaultSigningClient}),e.onKeplrNotFound&&b(e.onKeplrNotFound),e}var Y=require("@keplr-wallet/cosmos"),Z={coinDenom:"axl",coinMinimalDenom:"uaxl",coinDecimals:6,coinGeckoId:"axelar-network",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/axl.png"},Te={coinDenom:"usdc",coinMinimalDenom:"uusdc",coinDecimals:6,coinGeckoId:"usd-coin",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/usdc.png"},qe={coinDenom:"dai",coinMinimalDenom:"dai-wei",coinDecimals:18,coinGeckoId:"dai",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/dai.png"},Pe={coinDenom:"usdt",coinMinimalDenom:"uusdt",coinDecimals:6,coinGeckoId:"tether",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/usdt.png"},Be={coinDenom:"weth-wei",coinMinimalDenom:"weth",coinDecimals:18,coinGeckoId:"weth",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/weth.png"},Ne={coinDenom:"wbtc-satoshi",coinMinimalDenom:"wbtc",coinDecimals:8,coinGeckoId:"wrapped-bitcoin",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/wbtc.png"},$=[Z,Te,qe,Pe,Be,Ne],K={rpc:"https://rpc.axelar.strange.love",rest:"https://api.axelar.strange.love",chainId:"axelar-dojo-1",chainName:"Axelar",stakeCurrency:Z,bip44:{coinType:118},bech32Config:Y.Bech32Address.defaultBech32Config("axelar"),currencies:$,feeCurrencies:$};var ne=require("@keplr-wallet/cosmos"),te={coinDenom:"atom",coinMinimalDenom:"uatom",coinDecimals:6,coinGeckoId:"cosmos",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/cosmoshub/images/atom.png"},ee=[te],A={rpc:"https://rpc.cosmoshub.strange.love",rest:"https://api.cosmoshub.strange.love",chainId:"cosmoshub-4",chainName:"Cosmos Hub",stakeCurrency:te,bip44:{coinType:118},bech32Config:ne.Bech32Address.defaultBech32Config("cosmos"),currencies:ee,feeCurrencies:ee};var ie=require("@keplr-wallet/cosmos"),re={coinDenom:"juno",coinMinimalDenom:"ujuno",coinDecimals:6,coinGeckoId:"juno-network",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/juno.png"},Re={coinDenom:"neta",coinMinimalDenom:"cw20:juno168ctmpyppk90d34p3jjy658zf5a5l3w8wk35wht6ccqj4mr0yv8s4j5awr",coinDecimals:6,coinGeckoId:"neta",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/neta.png"},We={coinDenom:"marble",coinMinimalDenom:"cw20:juno1g2g7ucurum66d42g8k5twk34yegdq8c82858gz0tq2fc75zy7khssgnhjl",coinDecimals:3,coinGeckoId:"marble",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/marble.png"},Ee={coinDenom:"hope",coinMinimalDenom:"cw20:juno1re3x67ppxap48ygndmrc7har2cnc7tcxtm9nplcas4v0gc3wnmvs3s807z",coinDecimals:6,coinGeckoId:"hope-galaxy",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/hope.png"},Fe={coinDenom:"rac",coinMinimalDenom:"cw20:juno1r4pzw8f9z0sypct5l9j906d47z998ulwvhvqe5xdwgy8wf84583sxwh0pa",coinDecimals:6,coinGeckoId:"racoon",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/rac.png"},_e={coinDenom:"block",coinMinimalDenom:"cw20:juno1y9rf7ql6ffwkv02hsgd4yruz23pn4w97p75e2slsnkm0mnamhzysvqnxaq",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/block.png"},Le={coinDenom:"dhk",coinMinimalDenom:"cw20:juno1tdjwrqmnztn2j3sj2ln9xnyps5hs48q3ddwjrz7jpv6mskappjys5czd49",coinDecimals:0,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/dhk.png"},He={coinDenom:"raw",coinMinimalDenom:"cw20:juno15u3dt79t6sxxa3x3kpkhzsy56edaa5a66wvt3kxmukqjz2sx0hes5sn38g",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/raw.png",coinGeckoId:"junoswap-raw-dao"},Qe={coinDenom:"asvt",coinMinimalDenom:"cw20:juno17wzaxtfdw5em7lc94yed4ylgjme63eh73lm3lutp2rhcxttyvpwsypjm4w",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/asvt.png"},Je={coinDenom:"hns",coinMinimalDenom:"cw20:juno1ur4jx0sxchdevahep7fwq28yk4tqsrhshdtylz46yka3uf6kky5qllqp4k",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/hns.svg"},Ve={coinDenom:"joe",coinMinimalDenom:"cw20:juno1n7n7d5088qlzlj37e9mgmkhx6dfgtvt02hqxq66lcap4dxnzdhwqfmgng3",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/joe.png"},oe=[re,Re,We,Ee,Fe,_e,Le,He,Qe,Je,Ve],U={rpc:"https://rpc.juno.strange.love",rest:"https://api.juno.strange.love",chainId:"juno-1",chainName:"Juno",stakeCurrency:re,bip44:{coinType:118},bech32Config:ie.Bech32Address.defaultBech32Config("juno"),currencies:oe,feeCurrencies:oe};var ce=require("@keplr-wallet/cosmos"),ae={coinDenom:"osmo",coinMinimalDenom:"uosmo",coinDecimals:6,coinGeckoId:"osmosis",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/cosmoshub/images/atom.png"},Xe={coinDenom:"ion",coinMinimalDenom:"uion",coinDecimals:6,coinGeckoId:"ion",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/ion.png"},se=[ae,Xe],T={rpc:"https://rpc.osmosis.strange.love",rest:"https://api.osmosis.strange.love",chainId:"osmosis-1",chainName:"Osmosis",stakeCurrency:ae,bip44:{coinType:118},bech32Config:ce.Bech32Address.defaultBech32Config("osmo"),currencies:se,feeCurrencies:se};var pe=require("@keplr-wallet/cosmos"),ue={coinDenom:"somm",coinMinimalDenom:"usomm",coinDecimals:6,coinGeckoId:"sommelier",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/sommelier/images/somm.png"},me=[ue],q={rpc:"https://rpc.sommelier.strange.love",rest:"https://api.sommelier.strange.love",chainId:"sommelier-3",chainName:"Sommelier",stakeCurrency:ue,bip44:{coinType:118},bech32Config:pe.Bech32Address.defaultBech32Config("somm"),currencies:me,feeCurrencies:me};var ge=require("@keplr-wallet/cosmos"),fe={coinDenom:"CRE",coinMinimalDenom:"ucre",coinDecimals:6,coinGeckoId:"crescent",coinImageUrl:"https://raw.githubusercontent.com/crescent-network/asset/main/images/coin/CRE.png"},le=[fe],P={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:ge.Bech32Address.defaultBech32Config("CRE"),currencies:le,feeCurrencies:le,stakeCurrency:fe,coinType:118};var he=require("@keplr-wallet/cosmos"),B={coinDenom:"junox",coinMinimalDenom:"ujunox",coinDecimals:6,coinGeckoId:"juno-network",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/juno.png"},$e=[B],N={rpc:"https://rpc.uni.junonetwork.io",rest:"https://api.uni.junonetwork.io",chainId:"uni-3",chainName:"Juno Testnet",stakeCurrency:B,bip44:{coinType:118},bech32Config:he.Bech32Address.defaultBech32Config("juno"),currencies:$e,feeCurrencies:[B],coinType:118};var Ce=require("@keplr-wallet/cosmos"),R={coinDenom:"osmo",coinMinimalDenom:"uosmo",coinDecimals:6,coinGeckoId:"osmosis",coinImageUrl:"https://dhj8dql1kzq2v.cloudfront.net/white/osmo.png"},Ye=[R],W={rpc:"https://testnet-rpc.osmosis.zone",rest:"https://testnet-rest.osmosis.zone",chainId:"osmo-test-4",chainName:"Osmosis Testnet",stakeCurrency:R,bip44:{coinType:118},bech32Config:Ce.Bech32Address.defaultBech32Config("osmo"),currencies:Ye,feeCurrencies:[R],coinType:118};function Ze(e){return e}function en(e){return e}function nn(e){return e}var tn={axelar:K,cosmos:A,cosmoshub:A,juno:U,osmosis:T,sommelier:q},on=[K,A,U,T,q],rn={crescent:P,juno:N,osmosis:W},sn=[P,N,W];var h=require("@tanstack/react-query"),ye=require("react"),de=J(require("zustand/shallow"));function f(){return r(e=>e._supported)}function Se({onConnect:e,onDisconnect:t}={}){let o=r(n=>n.account),i=r(n=>n.status);return(0,ye.useEffect)(()=>r.subscribe(n=>n.status,(n,s)=>{if(n==="connected"){let a=r.getState();e==null||e({account:a.account,isReconnect:s==="reconnecting"})}n==="disconnected"&&(t==null||t())}),[e,t]),{data:o,isConnected:Boolean(o),isConnecting:i==="connecting",isDisconnected:i==="disconnected",isReconnecting:i==="reconnecting",reconnect:m,status:i}}function cn(e){let{data:t}=Se(),o=e||(t==null?void 0:t.bech32Address),n=(0,h.useQuery)(["USE_BALANCES",o],({queryKey:[,s]})=>z(s),{enabled:Boolean(o)});return{data:n.data,error:n.error,isFetching:n.isFetching,isLoading:n.isLoading,isRefetching:n.isRefetching,isSuccess:n.isSuccess,refetch:n.refetch,status:n.status}}function an({onError:e,onLoading:t,onSuccess:o}={}){let n=(0,h.useMutation)(["USE_CONNECT",e,t,o],p,{onError:(s,a)=>Promise.resolve(e==null?void 0:e(s,a)),onMutate:t,onSuccess:s=>Promise.resolve(o==null?void 0:o(s))});return{connect:s=>n.mutate(s),connectAsync:s=>n.mutateAsync(s),error:n.error,isLoading:n.isLoading,isSuccess:n.isSuccess,isSupported:f(),status:n.status}}function mn({onError:e,onLoading:t,onSuccess:o}={}){let n=(0,h.useMutation)(["USE_DISCONNECT",e,t,o],G,{onError:s=>Promise.resolve(e==null?void 0:e(s,void 0)),onMutate:t,onSuccess:()=>Promise.resolve(o==null?void 0:o(void 0))});return{disconnect:s=>n.mutate(s),disconnectAsync:s=>n.mutateAsync(s),error:n.error,isLoading:n.isLoading,isSuccess:n.isSuccess,status:n.status}}function pn(){return r(e=>({signer:e.offlineSigner,signerAmino:e.offlineSignerAmino,signerAuto:e.offlineSignerAuto}),de.default)}var E=require("@tanstack/react-query");function un(){return r(e=>e.activeChain)}function ln(){return{data:r(t=>t.recentChain),clear:j}}function gn({onError:e,onLoading:t,onSuccess:o}={}){let n=(0,E.useMutation)(["USE_SUGGEST_CHAIN",e,t,o],S,{onError:(s,a)=>Promise.resolve(e==null?void 0:e(s,a)),onMutate:t,onSuccess:s=>Promise.resolve(o==null?void 0:o(s))});return{error:n.error,isLoading:n.isLoading,isSuccess:n.isSuccess,suggest:n.mutate,suggestAsync:n.mutateAsync,status:n.status}}function fn({onError:e,onLoading:t,onSuccess:o}={}){let n=(0,E.useMutation)(["USE_SUGGEST_CHAIN_AND_CONNECT",e,t,o],O,{onError:(s,a)=>Promise.resolve(e==null?void 0:e(s,a)),onMutate:t,onSuccess:s=>Promise.resolve(o==null?void 0:o(s))});return{error:n.error,isLoading:n.isLoading,isSuccess:n.isSuccess,isSupported:f(),status:n.status,suggestAndConnect:n.mutate,suggestAndConnectAsync:n.mutateAsync}}var F=require("@tanstack/react-query");function hn(e){let t=r(n=>n.clients),i=(0,F.useQuery)(["USE_CLIENTS",e,t],({queryKey:[,n,s]})=>n!=null&&n.rpc?u(n):s,{refetchOnMount:Boolean(e==null?void 0:e.keepRefetchBehavior),refetchOnWindowFocus:Boolean(e==null?void 0:e.keepRefetchBehavior)});return{data:i.data,error:i.error,isFetching:i.isFetching,isLoading:i.isLoading,isRefetching:i.isRefetching,isSuccess:i.isSuccess,refetch:i.refetch,status:i.status}}function Cn(e){let t=r(n=>n.signingClients),i=(0,F.useQuery)(["USE_SIGNING_CLIENTS",e,t],({queryKey:[,n,s]})=>n!=null&&n.rpc?l(n):s,{refetchOnMount:Boolean(e==null?void 0:e.keepRefetchBehavior),refetchOnWindowFocus:Boolean(e==null?void 0:e.keepRefetchBehavior)});return{data:i.data,error:i.error,isFetching:i.isFetching,isLoading:i.isLoading,isRefetching:i.isRefetching,isSuccess:i.isSuccess,refetch:i.refetch,status:i.status}}var w=require("@tanstack/react-query");var Ae=require("react");function we(){return(0,Ae.useEffect)(()=>{r.setState({_supported:typeof window.keplr<"u"});let{_reconnect:e}=r.getState();return e&&m(),window.addEventListener("keplr_keystorechange",m),()=>{window.removeEventListener("keplr_keystorechange",m)}},[]),null}function _(){return we(),null}var L=require("react/jsx-runtime"),yn=new w.QueryClient({});function dn({children:e,grazOptions:t,...o}){return t&&M(t),(0,L.jsxs)(w.QueryClientProvider,{client:yn,...o,children:[(0,L.jsx)(_,{}),e]})}0&&(module.exports={GrazEvents,GrazProvider,clearRecentChain,configureGraz,connect,createClients,createSigningClients,defineChain,defineChainInfo,defineChains,disconnect,getBalances,getKeplr,getRecentChain,mainnetChains,mainnetChainsArray,reconnect,registerKeplrNotFound,suggestChain,suggestChainAndConnect,testnetChains,testnetChainsArray,unregisterKeplrNotFound,useAccount,useActiveChain,useBalances,useCheckKeplr,useClients,useConnect,useDisconnect,useGrazEvents,useRecentChain,useSigners,useSigningClients,useSuggestChain,useSuggestChainAndConnect});
1
+ "use strict";var et=Object.create;var D=Object.defineProperty;var tt=Object.getOwnPropertyDescriptor;var nt=Object.getOwnPropertyNames;var st=Object.getPrototypeOf,ot=Object.prototype.hasOwnProperty;var it=(e,t)=>()=>(e&&(t=e(e=0)),t);var g=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),rt=(e,t)=>{for(var s in t)D(e,s,{get:t[s],enumerable:!0})},ce=(e,t,s,c)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of nt(t))!ot.call(e,n)&&n!==s&&D(e,n,{get:()=>t[n],enumerable:!(c=tt(t,n))||c.enumerable});return e};var B=(e,t,s)=>(s=e!=null?et(st(e)):{},ce(t||!e||!e.__esModule?D(s,"default",{value:e,enumerable:!0}):s,e)),ut=e=>ce(D({},"__esModule",{value:!0}),e);var p,o=it(()=>{"use strict";p=B(require("react"))});var me=g(S=>{"use strict";o();Object.defineProperty(S,"__esModule",{value:!0});S.arrayContentStartsWith=S.arrayContentEquals=void 0;function pt(e,t){if(e.length!==t.length)return!1;for(let s=0;s<e.length;++s)if(e[s]!==t[s])return!1;return!0}S.arrayContentEquals=pt;function at(e,t){if(e.length<t.length)return!1;for(let s=0;s<t.length;++s)if(e[s]!==t[s])return!1;return!0}S.arrayContentStartsWith=at});var de=g(l=>{"use strict";o();Object.defineProperty(l,"__esModule",{value:!0});l.assertDefinedAndNotNull=l.assertDefined=l.assert=void 0;function xt(e,t){if(!e)throw new Error(t||"condition is not truthy")}l.assert=xt;function lt(e,t){if(e===void 0)throw new Error(t??"value is undefined")}l.assertDefined=lt;function mt(e,t){if(e==null)throw new Error(t??"value is undefined or null")}l.assertDefinedAndNotNull=mt});var Ce=g(G=>{"use strict";o();Object.defineProperty(G,"__esModule",{value:!0});G.sleep=void 0;async function dt(e){return new Promise(t=>setTimeout(t,e))}G.sleep=dt});var Se=g(E=>{"use strict";o();Object.defineProperty(E,"__esModule",{value:!0});E.isUint8Array=E.isNonNullObject=void 0;function ye(e){return typeof e=="object"&&e!==null}E.isNonNullObject=ye;function Ct(e){return!(!ye(e)||Object.prototype.toString.call(e)!=="[object Uint8Array]"||typeof Buffer<"u"&&typeof Buffer.isBuffer<"u"&&Buffer.isBuffer(e))}E.isUint8Array=Ct});var be=g(a=>{"use strict";o();Object.defineProperty(a,"__esModule",{value:!0});a.isUint8Array=a.isNonNullObject=a.sleep=a.assertDefinedAndNotNull=a.assertDefined=a.assert=a.arrayContentStartsWith=a.arrayContentEquals=void 0;var Ee=me();Object.defineProperty(a,"arrayContentEquals",{enumerable:!0,get:function(){return Ee.arrayContentEquals}});Object.defineProperty(a,"arrayContentStartsWith",{enumerable:!0,get:function(){return Ee.arrayContentStartsWith}});var P=de();Object.defineProperty(a,"assert",{enumerable:!0,get:function(){return P.assert}});Object.defineProperty(a,"assertDefined",{enumerable:!0,get:function(){return P.assertDefined}});Object.defineProperty(a,"assertDefinedAndNotNull",{enumerable:!0,get:function(){return P.assertDefinedAndNotNull}});var yt=Ce();Object.defineProperty(a,"sleep",{enumerable:!0,get:function(){return yt.sleep}});var fe=Se();Object.defineProperty(a,"isNonNullObject",{enumerable:!0,get:function(){return fe.isNonNullObject}});Object.defineProperty(a,"isUint8Array",{enumerable:!0,get:function(){return fe.isUint8Array}})});var un={};rt(un,{GrazEvents:()=>oe,GrazProvider:()=>rn,checkWallet:()=>M,clearRecentChain:()=>z,configureGraz:()=>R,connect:()=>y,createClients:()=>h,createQueryClient:()=>T,createSigningClients:()=>A,defineChain:()=>Mt,defineChainInfo:()=>vt,defineChains:()=>Ht,disconnect:()=>v,getActiveChainCurrency:()=>J,getBalances:()=>U,getKeplr:()=>xe,getRecentChain:()=>St,getStakedBalances:()=>q,getWallet:()=>C,mainnetChains:()=>Ut,mainnetChainsArray:()=>qt,reconnect:()=>m,suggestChain:()=>w,suggestChainAndConnect:()=>L,testnetChains:()=>Pt,testnetChainsArray:()=>Tt,useAccount:()=>ne,useActiveChain:()=>Vt,useActiveChainCurrency:()=>$t,useActiveChainValidators:()=>Xt,useBalance:()=>Jt,useBalances:()=>Le,useCheckKeplr:()=>zt,useCheckWallet:()=>b,useClients:()=>nn,useConnect:()=>Lt,useDisconnect:()=>Rt,useGrazEvents:()=>Ve,useOfflineSigners:()=>Re,useQueryClient:()=>tn,useRecentChain:()=>Yt,useSigners:()=>Wt,useSigningClients:()=>sn,useStakedBalances:()=>_t,useSuggestChain:()=>Zt,useSuggestChainAndConnect:()=>en});module.exports=ut(un);o();o();var le=require("@cosmjs/stargate");o();var pe=B(require("zustand")),I=require("zustand/middleware"),O={account:null,activeChain:null,balances:null,clients:null,defaultChain:null,defaultSigningClient:"stargate",offlineSigner:null,offlineSignerAmino:null,offlineSignerAuto:null,recentChain:null,signingClients:null,status:"disconnected",walletType:"keplr",_notFoundFn:()=>null,_reconnect:!1},ct={name:"graz",partialize:e=>({activeChain:e.activeChain,recentChain:e.recentChain,_reconnect:e._reconnect}),version:1},u=(0,pe.default)((0,I.subscribeWithSelector)((0,I.persist)(()=>O,ct)));o();var N=require("@cosmjs/cosmwasm-stargate"),H=require("@cosmjs/stargate"),ae=require("@cosmjs/tendermint-rpc");async function h({rpc:e,rpcHeaders:t}){let s={url:e,headers:{...t||{}}},[c,n,i]=await Promise.all([N.SigningCosmWasmClient.connect(s),H.SigningStargateClient.connect(s),ae.Tendermint34Client.connect(e)]);return{cosmWasm:c,stargate:n,tendermint:i}}async function A(e){let{rpc:t,rpcHeaders:s,offlineSignerAuto:c,cosmWasmSignerOptions:n={},stargateSignerOptions:i={}}=e,r={url:t,headers:{...s||{}}},[x,K]=await Promise.all([N.SigningCosmWasmClient.connectWithSigner(r,c,n),H.SigningStargateClient.connectWithSigner(r,c,i)]);return{cosmWasm:x,stargate:K}}o();function M(e=u.getState().walletType){try{return C(e),!0}catch(t){return console.error(t),!1}}function xe(){if(typeof window.keplr<"u")return window.keplr;throw u.getState()._notFoundFn(),new Error("window.keplr is not defined")}function C(e=u.getState().walletType){switch(e){case"keplr":return xe();default:throw new Error("Unknown wallet type")}}async function y(e){try{let{defaultChain:t,recentChain:s,walletType:c}=u.getState(),n=(e==null?void 0:e.walletType)||c,i=C(n),r=e||s||t;if(!r)throw new Error("No last known connected chain, connect action requires chain info");u.setState(k=>{let Ze=k._reconnect;return k.activeChain&&k.activeChain.chainId!==r.chainId?{status:"connecting"}:Ze?{status:"reconnecting"}:{status:"connecting"}}),await i.enable(r.chainId);let x=i.getOfflineSigner(r.chainId),K=i.getOfflineSignerOnlyAmino(r.chainId),re=await i.getOfflineSignerAuto(r.chainId),$e=r.gas?le.GasPrice.fromString(`${r.gas.price}${r.gas.denom}`):void 0,[ue,Xe,Ye]=await Promise.all([i.getKey(r.chainId),h(r),A({...r,offlineSignerAuto:re,cosmWasmSignerOptions:{gasPrice:$e,...(e==null?void 0:e.signerOpts)||{}}})]);return u.setState({account:ue,activeChain:r,clients:Xe,offlineSigner:x,offlineSignerAmino:K,offlineSignerAuto:re,recentChain:r,signingClients:Ye,status:"connected",walletType:n,_reconnect:!0}),ue}catch(t){throw u.getState().account===null&&u.setState({status:"disconnected"}),t}}async function v(e=!1){return u.setState(t=>({...O,recentChain:e?null:t.recentChain})),Promise.resolve()}async function U(e){let{activeChain:t,signingClients:s}=u.getState();if(!t||!s)throw new Error("No connected account detected");let{defaultSigningClient:c}=u.getState();return await Promise.all(t.currencies.map(async i=>s[c].getBalance(e,i.coinMinimalDenom)))}async function q(e){let{clients:t}=u.getState();if(!(t!=null&&t.stargate))throw new Error("Stargate client is not ready");return t.stargate.getBalanceStaked(e)}function m(){let{activeChain:e}=u.getState();e&&y(e)}o();o();var je=require("@cosmjs/stargate"),f=B(be());function T(...e){let{tendermint:t}=u.getState().clients,s=new je.QueryClient(t),c=e.map(n=>n(s));for(let n of c){(0,f.assert)((0,f.isNonNullObject)(n),"Extension must be a non-null object");for(let[i,r]of Object.entries(n)){(0,f.assert)((0,f.isNonNullObject)(r),`Module must be a non-null object. Found type ${typeof r} for module "${i}".`);let x=s[i]||{};s[i]={...x,...r}}}return s}function z(){u.setState({recentChain:null})}function J(e){let{activeChain:t}=u.getState();return t==null?void 0:t.currencies.find(s=>s.coinMinimalDenom===e)}function St(){return u.getState().recentChain}async function w(e){return await C().experimentalSuggestChain(e),e}async function L(e){let t=await w(e);return{account:await y(e),chain:t}}o();function R(e={}){return u.setState(t=>({defaultChain:e.defaultChain||t.defaultChain,defaultSigningClient:e.defaultSigningClient||e.defaultSigningClient,walletType:e.defaultWallet||t.walletType,_notFoundFn:e.onNotFound||t._notFoundFn})),e}o();o();var he=require("@keplr-wallet/cosmos"),Ae={coinDenom:"axl",coinMinimalDenom:"uaxl",coinDecimals:6,coinGeckoId:"axelar-network",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/axl.png"},Et={coinDenom:"usdc",coinMinimalDenom:"uusdc",coinDecimals:6,coinGeckoId:"usd-coin",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/usdc.png"},ft={coinDenom:"dai",coinMinimalDenom:"dai-wei",coinDecimals:18,coinGeckoId:"dai",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/dai.png"},bt={coinDenom:"usdt",coinMinimalDenom:"uusdt",coinDecimals:6,coinGeckoId:"tether",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/usdt.png"},jt={coinDenom:"weth-wei",coinMinimalDenom:"weth",coinDecimals:18,coinGeckoId:"weth",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/weth.png"},gt={coinDenom:"wbtc-satoshi",coinMinimalDenom:"wbtc",coinDecimals:8,coinGeckoId:"wrapped-bitcoin",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/wbtc.png"},ge=[Ae,Et,ft,bt,jt,gt],W={rpc:"https://rpc.axelar.strange.love",rest:"https://api.axelar.strange.love",chainId:"axelar-dojo-1",chainName:"Axelar",stakeCurrency:Ae,bip44:{coinType:118},bech32Config:he.Bech32Address.defaultBech32Config("axelar"),currencies:ge,feeCurrencies:ge};o();var Be=require("@keplr-wallet/cosmos"),Ie={coinDenom:"atom",coinMinimalDenom:"uatom",coinDecimals:6,coinGeckoId:"cosmos",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/cosmoshub/images/atom.png"},De=[Ie],Q={rpc:"https://rpc.cosmoshub.strange.love",rest:"https://api.cosmoshub.strange.love",chainId:"cosmoshub-4",chainName:"Cosmos Hub",stakeCurrency:Ie,bip44:{coinType:118},bech32Config:Be.Bech32Address.defaultBech32Config("cosmos"),currencies:De,feeCurrencies:De};o();var we=require("@keplr-wallet/cosmos"),Qe={coinDenom:"juno",coinMinimalDenom:"ujuno",coinDecimals:6,coinGeckoId:"juno-network",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/juno.png"},ht={coinDenom:"neta",coinMinimalDenom:"cw20:juno168ctmpyppk90d34p3jjy658zf5a5l3w8wk35wht6ccqj4mr0yv8s4j5awr",coinDecimals:6,coinGeckoId:"neta",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/neta.png"},At={coinDenom:"marble",coinMinimalDenom:"cw20:juno1g2g7ucurum66d42g8k5twk34yegdq8c82858gz0tq2fc75zy7khssgnhjl",coinDecimals:3,coinGeckoId:"marble",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/marble.png"},Dt={coinDenom:"hope",coinMinimalDenom:"cw20:juno1re3x67ppxap48ygndmrc7har2cnc7tcxtm9nplcas4v0gc3wnmvs3s807z",coinDecimals:6,coinGeckoId:"hope-galaxy",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/hope.png"},Bt={coinDenom:"rac",coinMinimalDenom:"cw20:juno1r4pzw8f9z0sypct5l9j906d47z998ulwvhvqe5xdwgy8wf84583sxwh0pa",coinDecimals:6,coinGeckoId:"racoon",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/rac.png"},It={coinDenom:"block",coinMinimalDenom:"cw20:juno1y9rf7ql6ffwkv02hsgd4yruz23pn4w97p75e2slsnkm0mnamhzysvqnxaq",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/block.png"},Gt={coinDenom:"dhk",coinMinimalDenom:"cw20:juno1tdjwrqmnztn2j3sj2ln9xnyps5hs48q3ddwjrz7jpv6mskappjys5czd49",coinDecimals:0,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/dhk.png"},wt={coinDenom:"raw",coinMinimalDenom:"cw20:juno15u3dt79t6sxxa3x3kpkhzsy56edaa5a66wvt3kxmukqjz2sx0hes5sn38g",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/raw.png",coinGeckoId:"junoswap-raw-dao"},Qt={coinDenom:"asvt",coinMinimalDenom:"cw20:juno17wzaxtfdw5em7lc94yed4ylgjme63eh73lm3lutp2rhcxttyvpwsypjm4w",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/asvt.png"},Ft={coinDenom:"hns",coinMinimalDenom:"cw20:juno1ur4jx0sxchdevahep7fwq28yk4tqsrhshdtylz46yka3uf6kky5qllqp4k",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/hns.svg"},Kt={coinDenom:"joe",coinMinimalDenom:"cw20:juno1n7n7d5088qlzlj37e9mgmkhx6dfgtvt02hqxq66lcap4dxnzdhwqfmgng3",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/joe.png"},Ge=[Qe,ht,At,Dt,Bt,It,Gt,wt,Qt,Ft,Kt],_={rpc:"https://rpc.juno.strange.love",rest:"https://api.juno.strange.love",chainId:"juno-1",chainName:"Juno",stakeCurrency:Qe,bip44:{coinType:118},bech32Config:we.Bech32Address.defaultBech32Config("juno"),currencies:Ge,feeCurrencies:Ge};o();var Ke=require("@keplr-wallet/cosmos"),ke={coinDenom:"osmo",coinMinimalDenom:"uosmo",coinDecimals:6,coinGeckoId:"osmosis",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/cosmoshub/images/atom.png"},kt={coinDenom:"ion",coinMinimalDenom:"uion",coinDecimals:6,coinGeckoId:"ion",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/ion.png"},Fe=[ke,kt],V={rpc:"https://rpc.osmosis.strange.love",rest:"https://api.osmosis.strange.love",chainId:"osmosis-1",chainName:"Osmosis",stakeCurrency:ke,bip44:{coinType:118},bech32Config:Ke.Bech32Address.defaultBech32Config("osmo"),currencies:Fe,feeCurrencies:Fe};o();var Ne=require("@keplr-wallet/cosmos"),He={coinDenom:"somm",coinMinimalDenom:"usomm",coinDecimals:6,coinGeckoId:"sommelier",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/sommelier/images/somm.png"},Oe=[He],$={rpc:"https://rpc.sommelier.strange.love",rest:"https://api.sommelier.strange.love",chainId:"sommelier-3",chainName:"Sommelier",stakeCurrency:He,bip44:{coinType:118},bech32Config:Ne.Bech32Address.defaultBech32Config("somm"),currencies:Oe,feeCurrencies:Oe};o();var ve=require("@keplr-wallet/cosmos"),Ue={coinDenom:"CRE",coinMinimalDenom:"ucre",coinDecimals:6,coinGeckoId:"crescent",coinImageUrl:"https://raw.githubusercontent.com/crescent-network/asset/main/images/coin/CRE.png"},Me=[Ue],X={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:ve.Bech32Address.defaultBech32Config("CRE"),currencies:Me,feeCurrencies:Me,stakeCurrency:Ue,coinType:118};o();var qe=require("@keplr-wallet/cosmos"),Y={coinDenom:"junox",coinMinimalDenom:"ujunox",coinDecimals:6,coinGeckoId:"juno-network",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/juno.png"},Ot=[Y],Z={rpc:"https://rpc.uni.junonetwork.io",rest:"https://api.uni.junonetwork.io",chainId:"uni-3",chainName:"Juno Testnet",stakeCurrency:Y,bip44:{coinType:118},bech32Config:qe.Bech32Address.defaultBech32Config("juno"),currencies:Ot,feeCurrencies:[Y],coinType:118};o();var Pe=require("@keplr-wallet/cosmos"),ee={coinDenom:"osmo",coinMinimalDenom:"uosmo",coinDecimals:6,coinGeckoId:"osmosis",coinImageUrl:"https://dhj8dql1kzq2v.cloudfront.net/white/osmo.png"},Nt=[ee],te={rpc:"https://testnet-rpc.osmosis.zone",rest:"https://testnet-rest.osmosis.zone",chainId:"osmo-test-4",chainName:"Osmosis Testnet",stakeCurrency:ee,bip44:{coinType:118},bech32Config:Pe.Bech32Address.defaultBech32Config("osmo"),currencies:Nt,feeCurrencies:[ee],coinType:118};function Ht(e){return e}function Mt(e){return e}function vt(e){return e}var Ut={axelar:W,cosmos:Q,cosmoshub:Q,juno:_,osmosis:V,sommelier:$},qt=[W,Q,_,V,$],Pt={crescent:X,juno:Z,osmosis:te},Tt=[X,Z,te];o();var d=require("@tanstack/react-query"),ze=require("react"),Je=B(require("zustand/shallow"));o();var Te=require("@tanstack/react-query");function zt(){return b("keplr")}function b(e){let t=u(n=>e||n.walletType);return(0,Te.useQuery)(["USE_CHECK_WALLET",t],({queryKey:[,n]})=>M(n))}function ne({onConnect:e,onDisconnect:t}={}){let s=u(n=>n.account),c=u(n=>n.status);return(0,ze.useEffect)(()=>u.subscribe(n=>n.status,(n,i)=>{if(n==="connected"){let r=u.getState();e==null||e({account:r.account,isReconnect:i==="reconnecting"})}n==="disconnected"&&(t==null||t())}),[e,t]),{data:s,isConnected:Boolean(s),isConnecting:c==="connecting",isDisconnected:c==="disconnected",isReconnecting:c==="reconnecting",reconnect:m,status:c}}function Le(e){let{data:t}=ne(),s=e||(t==null?void 0:t.bech32Address);return(0,d.useQuery)(["USE_BALANCES",s],({queryKey:[,i]})=>U(i),{enabled:Boolean(s)})}function Jt(e,t){let{data:s}=Le(t);return(0,d.useQuery)(["USE_BALANCE",s,e,t],({queryKey:[,i]})=>i==null?void 0:i.find(r=>r.denom===e),{enabled:Boolean(s)})}function Lt({onError:e,onLoading:t,onSuccess:s}={}){let n=(0,d.useMutation)(["USE_CONNECT",e,t,s],y,{onError:(r,x)=>Promise.resolve(e==null?void 0:e(r,x)),onMutate:t,onSuccess:r=>Promise.resolve(s==null?void 0:s(r))}),{data:i}=b();return{connect:r=>n.mutate(r),connectAsync:r=>n.mutateAsync(r),error:n.error,isLoading:n.isLoading,isSuccess:n.isSuccess,isSupported:Boolean(i),status:n.status}}function Rt({onError:e,onLoading:t,onSuccess:s}={}){let n=(0,d.useMutation)(["USE_DISCONNECT",e,t,s],v,{onError:i=>Promise.resolve(e==null?void 0:e(i,void 0)),onMutate:t,onSuccess:()=>Promise.resolve(s==null?void 0:s(void 0))});return{disconnect:i=>n.mutate(i),disconnectAsync:i=>n.mutateAsync(i),error:n.error,isLoading:n.isLoading,isSuccess:n.isSuccess,status:n.status}}function Re(){return u(e=>({signer:e.offlineSigner,signerAmino:e.offlineSignerAmino,signerAuto:e.offlineSignerAuto}),Je.default)}function Wt(){return Re()}function _t(e){let{data:t}=ne(),s=e||(t==null?void 0:t.bech32Address);return(0,d.useQuery)(["USE_STAKED_BALANCES",s],({queryKey:[,i]})=>q(s),{enabled:Boolean(s)})}o();var j=require("@tanstack/react-query");function Vt(){return u(e=>e.activeChain)}function $t(e){return(0,j.useQuery)(["USE_ACTIVE_CHAIN_CURRENCY",e],({queryKey:[,c]})=>J(c))}function Xt(e,t="BOND_STATUS_BONDED"){return(0,j.useQuery)(["USE_ACTIVE_CHAIN_VALIDATORS",e,t],({queryKey:[,n,i]})=>n.staking.validators(i))}function Yt(){return{data:u(t=>t.recentChain),clear:z}}function Zt({onError:e,onLoading:t,onSuccess:s}={}){let n=(0,j.useMutation)(["USE_SUGGEST_CHAIN",e,t,s],w,{onError:(i,r)=>Promise.resolve(e==null?void 0:e(i,r)),onMutate:t,onSuccess:i=>Promise.resolve(s==null?void 0:s(i))});return{error:n.error,isLoading:n.isLoading,isSuccess:n.isSuccess,suggest:n.mutate,suggestAsync:n.mutateAsync,status:n.status}}function en({onError:e,onLoading:t,onSuccess:s}={}){let n=(0,j.useMutation)(["USE_SUGGEST_CHAIN_AND_CONNECT",e,t,s],L,{onError:(r,x)=>Promise.resolve(e==null?void 0:e(r,x)),onMutate:t,onSuccess:r=>Promise.resolve(s==null?void 0:s(r))}),{data:i}=b();return{error:n.error,isLoading:n.isLoading,isSuccess:n.isSuccess,isSupported:Boolean(i),status:n.status,suggestAndConnect:n.mutate,suggestAndConnectAsync:n.mutateAsync}}o();var se=require("@tanstack/react-query");o();var We=require("@tanstack/react-query");function tn(...e){let t=["USE_QUERY_CLIENT",...e];return(0,We.useQuery)(t,({queryKey:[,...c]})=>T(...e),{refetchOnMount:!1,refetchOnWindowFocus:!1})}function nn(e){let t=u(n=>n.clients);return(0,se.useQuery)(["USE_CLIENTS",e,t],({queryKey:[,n,i]})=>n!=null&&n.rpc?h(n):i,{refetchOnMount:!1,refetchOnWindowFocus:!1})}function sn(e){let t=u(n=>n.signingClients);return(0,se.useQuery)(["USE_SIGNING_CLIENTS",e,t],({queryKey:[,n,i]})=>n!=null&&n.rpc?A(n):i,{refetchOnMount:!1,refetchOnWindowFocus:!1})}o();var F=require("@tanstack/react-query");o();var _e=require("react");function Ve(){return(0,_e.useEffect)(()=>{let{_reconnect:e}=u.getState();return e&&m(),window.addEventListener("keplr_keystorechange",m),()=>{window.removeEventListener("keplr_keystorechange",m)}},[]),null}function oe(){return Ve(),null}var ie=require("react/jsx-runtime"),on=new F.QueryClient({});function rn({children:e,grazOptions:t,...s}){return t&&R(t),(0,ie.jsxs)(F.QueryClientProvider,{client:on,...s,children:[(0,ie.jsx)(oe,{}),e]})}0&&(module.exports={GrazEvents,GrazProvider,checkWallet,clearRecentChain,configureGraz,connect,createClients,createQueryClient,createSigningClients,defineChain,defineChainInfo,defineChains,disconnect,getActiveChainCurrency,getBalances,getKeplr,getRecentChain,getStakedBalances,getWallet,mainnetChains,mainnetChainsArray,reconnect,suggestChain,suggestChainAndConnect,testnetChains,testnetChainsArray,useAccount,useActiveChain,useActiveChainCurrency,useActiveChainValidators,useBalance,useBalances,useCheckKeplr,useCheckWallet,useClients,useConnect,useDisconnect,useGrazEvents,useOfflineSigners,useQueryClient,useRecentChain,useSigners,useSigningClients,useStakedBalances,useSuggestChain,useSuggestChainAndConnect});
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- import{GasPrice as ae}from"@cosmjs/stargate";import ie from"zustand";import{persist as re,subscribeWithSelector as se}from"zustand/middleware";var S={account:null,activeChain:null,balances:null,clients:null,defaultChain:null,defaultSigningClient:"stargate",offlineSigner:null,offlineSignerAmino:null,offlineSignerAuto:null,recentChain:null,signingClients:null,status:"disconnected",_notFoundFn:()=>null,_reconnect:!1,_supported:!1},ce={name:"graz",partialize:e=>({activeChain:e.activeChain,recentChain:e.recentChain,_reconnect:e._reconnect}),version:1},i=ie(se(re(()=>S,ce)));import{SigningCosmWasmClient as O}from"@cosmjs/cosmwasm-stargate";import{SigningStargateClient as M}from"@cosmjs/stargate";async function l({rpc:e,rpcHeaders:t}){let o={url:e,headers:{...t||{}}},[r,n]=await Promise.all([O.connect(o),M.connect(o)]);return{cosmWasm:r,stargate:n}}async function g(e){let{rpc:t,rpcHeaders:o,offlineSignerAuto:r,cosmWasmSignerOptions:n={},stargateSignerOptions:s={}}=e,a={url:t,headers:{...o||{}}},[u,y]=await Promise.all([O.connectWithSigner(a,r,n),M.connectWithSigner(a,r,s)]);return{cosmWasm:u,stargate:y}}function f(){if(typeof window.keplr<"u")return window.keplr;throw i.getState()._notFoundFn(),new Error("Keplr is not defined")}function K(e){i.setState({_notFoundFn:e})}function en(){i.setState({_notFoundFn:()=>null})}async function p(e){try{let t=f(),{defaultChain:o,recentChain:r}=i.getState(),n=e||r||o;if(!n)throw new Error("No last known connected chain, connect action requires chain info");i.setState(d=>{let oe=d._reconnect;return d.activeChain&&d.activeChain.chainId!==n.chainId?{status:"connecting"}:oe?{status:"reconnecting"}:{status:"connecting"}}),await t.enable(n.chainId);let s=t.getOfflineSigner(n.chainId),a=t.getOfflineSignerOnlyAmino(n.chainId),u=await t.getOfflineSignerAuto(n.chainId),y=n.gas?ae.fromString(`${n.gas.price}${n.gas.denom}`):void 0,[j,ne,te]=await Promise.all([t.getKey(n.chainId),l(n),g({...n,offlineSignerAuto:u,cosmWasmSignerOptions:{gasPrice:y,...(e==null?void 0:e.signerOpts)||{}}})]);return i.setState({account:j,activeChain:n,clients:ne,offlineSigner:s,offlineSignerAmino:a,offlineSignerAuto:u,recentChain:n,signingClients:te,status:"connected",_reconnect:!0}),j}catch(t){throw i.getState().account===null&&i.setState({status:"disconnected"}),t}}async function U(e=!1){return i.setState(t=>({...S,recentChain:e?null:t.recentChain,_supported:t._supported})),Promise.resolve()}async function T(e){let{activeChain:t,signingClients:o}=i.getState();if(!t||!o)throw new Error("No connected account detected");let{defaultSigningClient:r}=i.getState();return await Promise.all(t.currencies.map(async s=>o[r].getBalance(e,s.coinMinimalDenom)))}function m(){let{activeChain:e}=i.getState();e&&p(e)}function un(){return i.getState().recentChain}function q(){i.setState({recentChain:null})}async function A(e){return await f().experimentalSuggestChain(e),e}async function P(e){let t=await A(e);return{account:await p(e),chain:t}}function B(e={}){return e.defaultChain&&i.setState({defaultChain:e.defaultChain}),e.defaultSigningClient&&i.setState({defaultSigningClient:e.defaultSigningClient}),e.onKeplrNotFound&&K(e.onKeplrNotFound),e}import{Bech32Address as me}from"@keplr-wallet/cosmos";var R={coinDenom:"axl",coinMinimalDenom:"uaxl",coinDecimals:6,coinGeckoId:"axelar-network",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/axl.png"},pe={coinDenom:"usdc",coinMinimalDenom:"uusdc",coinDecimals:6,coinGeckoId:"usd-coin",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/usdc.png"},ue={coinDenom:"dai",coinMinimalDenom:"dai-wei",coinDecimals:18,coinGeckoId:"dai",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/dai.png"},le={coinDenom:"usdt",coinMinimalDenom:"uusdt",coinDecimals:6,coinGeckoId:"tether",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/usdt.png"},ge={coinDenom:"weth-wei",coinMinimalDenom:"weth",coinDecimals:18,coinGeckoId:"weth",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/weth.png"},fe={coinDenom:"wbtc-satoshi",coinMinimalDenom:"wbtc",coinDecimals:8,coinGeckoId:"wrapped-bitcoin",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/wbtc.png"},N=[R,pe,ue,le,ge,fe],w={rpc:"https://rpc.axelar.strange.love",rest:"https://api.axelar.strange.love",chainId:"axelar-dojo-1",chainName:"Axelar",stakeCurrency:R,bip44:{coinType:118},bech32Config:me.defaultBech32Config("axelar"),currencies:N,feeCurrencies:N};import{Bech32Address as he}from"@keplr-wallet/cosmos";var E={coinDenom:"atom",coinMinimalDenom:"uatom",coinDecimals:6,coinGeckoId:"cosmos",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/cosmoshub/images/atom.png"},W=[E],h={rpc:"https://rpc.cosmoshub.strange.love",rest:"https://api.cosmoshub.strange.love",chainId:"cosmoshub-4",chainName:"Cosmos Hub",stakeCurrency:E,bip44:{coinType:118},bech32Config:he.defaultBech32Config("cosmos"),currencies:W,feeCurrencies:W};import{Bech32Address as Ce}from"@keplr-wallet/cosmos";var _={coinDenom:"juno",coinMinimalDenom:"ujuno",coinDecimals:6,coinGeckoId:"juno-network",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/juno.png"},ye={coinDenom:"neta",coinMinimalDenom:"cw20:juno168ctmpyppk90d34p3jjy658zf5a5l3w8wk35wht6ccqj4mr0yv8s4j5awr",coinDecimals:6,coinGeckoId:"neta",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/neta.png"},de={coinDenom:"marble",coinMinimalDenom:"cw20:juno1g2g7ucurum66d42g8k5twk34yegdq8c82858gz0tq2fc75zy7khssgnhjl",coinDecimals:3,coinGeckoId:"marble",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/marble.png"},Se={coinDenom:"hope",coinMinimalDenom:"cw20:juno1re3x67ppxap48ygndmrc7har2cnc7tcxtm9nplcas4v0gc3wnmvs3s807z",coinDecimals:6,coinGeckoId:"hope-galaxy",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/hope.png"},Ae={coinDenom:"rac",coinMinimalDenom:"cw20:juno1r4pzw8f9z0sypct5l9j906d47z998ulwvhvqe5xdwgy8wf84583sxwh0pa",coinDecimals:6,coinGeckoId:"racoon",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/rac.png"},we={coinDenom:"block",coinMinimalDenom:"cw20:juno1y9rf7ql6ffwkv02hsgd4yruz23pn4w97p75e2slsnkm0mnamhzysvqnxaq",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/block.png"},xe={coinDenom:"dhk",coinMinimalDenom:"cw20:juno1tdjwrqmnztn2j3sj2ln9xnyps5hs48q3ddwjrz7jpv6mskappjys5czd49",coinDecimals:0,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/dhk.png"},ke={coinDenom:"raw",coinMinimalDenom:"cw20:juno15u3dt79t6sxxa3x3kpkhzsy56edaa5a66wvt3kxmukqjz2sx0hes5sn38g",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/raw.png",coinGeckoId:"junoswap-raw-dao"},Ie={coinDenom:"asvt",coinMinimalDenom:"cw20:juno17wzaxtfdw5em7lc94yed4ylgjme63eh73lm3lutp2rhcxttyvpwsypjm4w",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/asvt.png"},De={coinDenom:"hns",coinMinimalDenom:"cw20:juno1ur4jx0sxchdevahep7fwq28yk4tqsrhshdtylz46yka3uf6kky5qllqp4k",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/hns.svg"},ve={coinDenom:"joe",coinMinimalDenom:"cw20:juno1n7n7d5088qlzlj37e9mgmkhx6dfgtvt02hqxq66lcap4dxnzdhwqfmgng3",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/joe.png"},F=[_,ye,de,Se,Ae,we,xe,ke,Ie,De,ve],x={rpc:"https://rpc.juno.strange.love",rest:"https://api.juno.strange.love",chainId:"juno-1",chainName:"Juno",stakeCurrency:_,bip44:{coinType:118},bech32Config:Ce.defaultBech32Config("juno"),currencies:F,feeCurrencies:F};import{Bech32Address as be}from"@keplr-wallet/cosmos";var H={coinDenom:"osmo",coinMinimalDenom:"uosmo",coinDecimals:6,coinGeckoId:"osmosis",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/cosmoshub/images/atom.png"},Ge={coinDenom:"ion",coinMinimalDenom:"uion",coinDecimals:6,coinGeckoId:"ion",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/ion.png"},L=[H,Ge],k={rpc:"https://rpc.osmosis.strange.love",rest:"https://api.osmosis.strange.love",chainId:"osmosis-1",chainName:"Osmosis",stakeCurrency:H,bip44:{coinType:118},bech32Config:be.defaultBech32Config("osmo"),currencies:L,feeCurrencies:L};import{Bech32Address as ze}from"@keplr-wallet/cosmos";var J={coinDenom:"somm",coinMinimalDenom:"usomm",coinDecimals:6,coinGeckoId:"sommelier",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/sommelier/images/somm.png"},Q=[J],I={rpc:"https://rpc.sommelier.strange.love",rest:"https://api.sommelier.strange.love",chainId:"sommelier-3",chainName:"Sommelier",stakeCurrency:J,bip44:{coinType:118},bech32Config:ze.defaultBech32Config("somm"),currencies:Q,feeCurrencies:Q};import{Bech32Address as je}from"@keplr-wallet/cosmos";var X={coinDenom:"CRE",coinMinimalDenom:"ucre",coinDecimals:6,coinGeckoId:"crescent",coinImageUrl:"https://raw.githubusercontent.com/crescent-network/asset/main/images/coin/CRE.png"},V=[X],D={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:je.defaultBech32Config("CRE"),currencies:V,feeCurrencies:V,stakeCurrency:X,coinType:118};import{Bech32Address as Oe}from"@keplr-wallet/cosmos";var v={coinDenom:"junox",coinMinimalDenom:"ujunox",coinDecimals:6,coinGeckoId:"juno-network",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/juno.png"},Me=[v],b={rpc:"https://rpc.uni.junonetwork.io",rest:"https://api.uni.junonetwork.io",chainId:"uni-3",chainName:"Juno Testnet",stakeCurrency:v,bip44:{coinType:118},bech32Config:Oe.defaultBech32Config("juno"),currencies:Me,feeCurrencies:[v],coinType:118};import{Bech32Address as Ke}from"@keplr-wallet/cosmos";var G={coinDenom:"osmo",coinMinimalDenom:"uosmo",coinDecimals:6,coinGeckoId:"osmosis",coinImageUrl:"https://dhj8dql1kzq2v.cloudfront.net/white/osmo.png"},Ue=[G],z={rpc:"https://testnet-rpc.osmosis.zone",rest:"https://testnet-rest.osmosis.zone",chainId:"osmo-test-4",chainName:"Osmosis Testnet",stakeCurrency:G,bip44:{coinType:118},bech32Config:Ke.defaultBech32Config("osmo"),currencies:Ue,feeCurrencies:[G],coinType:118};function Rn(e){return e}function Wn(e){return e}function En(e){return e}var Fn={axelar:w,cosmos:h,cosmoshub:h,juno:x,osmosis:k,sommelier:I},_n=[w,h,x,k,I],Ln={crescent:D,juno:b,osmosis:z},Hn=[D,b,z];import{useMutation as $,useQuery as Te}from"@tanstack/react-query";import{useEffect as qe}from"react";import Pe from"zustand/shallow";function C(){return i(e=>e._supported)}function Be({onConnect:e,onDisconnect:t}={}){let o=i(n=>n.account),r=i(n=>n.status);return qe(()=>i.subscribe(n=>n.status,(n,s)=>{if(n==="connected"){let a=i.getState();e==null||e({account:a.account,isReconnect:s==="reconnecting"})}n==="disconnected"&&(t==null||t())}),[e,t]),{data:o,isConnected:Boolean(o),isConnecting:r==="connecting",isDisconnected:r==="disconnected",isReconnecting:r==="reconnecting",reconnect:m,status:r}}function tt(e){let{data:t}=Be(),o=e||(t==null?void 0:t.bech32Address),n=Te(["USE_BALANCES",o],({queryKey:[,s]})=>T(s),{enabled:Boolean(o)});return{data:n.data,error:n.error,isFetching:n.isFetching,isLoading:n.isLoading,isRefetching:n.isRefetching,isSuccess:n.isSuccess,refetch:n.refetch,status:n.status}}function ot({onError:e,onLoading:t,onSuccess:o}={}){let n=$(["USE_CONNECT",e,t,o],p,{onError:(s,a)=>Promise.resolve(e==null?void 0:e(s,a)),onMutate:t,onSuccess:s=>Promise.resolve(o==null?void 0:o(s))});return{connect:s=>n.mutate(s),connectAsync:s=>n.mutateAsync(s),error:n.error,isLoading:n.isLoading,isSuccess:n.isSuccess,isSupported:C(),status:n.status}}function it({onError:e,onLoading:t,onSuccess:o}={}){let n=$(["USE_DISCONNECT",e,t,o],U,{onError:s=>Promise.resolve(e==null?void 0:e(s,void 0)),onMutate:t,onSuccess:()=>Promise.resolve(o==null?void 0:o(void 0))});return{disconnect:s=>n.mutate(s),disconnectAsync:s=>n.mutateAsync(s),error:n.error,isLoading:n.isLoading,isSuccess:n.isSuccess,status:n.status}}function rt(){return i(e=>({signer:e.offlineSigner,signerAmino:e.offlineSignerAmino,signerAuto:e.offlineSignerAuto}),Pe)}import{useMutation as Y}from"@tanstack/react-query";function ut(){return i(e=>e.activeChain)}function lt(){return{data:i(t=>t.recentChain),clear:q}}function gt({onError:e,onLoading:t,onSuccess:o}={}){let n=Y(["USE_SUGGEST_CHAIN",e,t,o],A,{onError:(s,a)=>Promise.resolve(e==null?void 0:e(s,a)),onMutate:t,onSuccess:s=>Promise.resolve(o==null?void 0:o(s))});return{error:n.error,isLoading:n.isLoading,isSuccess:n.isSuccess,suggest:n.mutate,suggestAsync:n.mutateAsync,status:n.status}}function ft({onError:e,onLoading:t,onSuccess:o}={}){let n=Y(["USE_SUGGEST_CHAIN_AND_CONNECT",e,t,o],P,{onError:(s,a)=>Promise.resolve(e==null?void 0:e(s,a)),onMutate:t,onSuccess:s=>Promise.resolve(o==null?void 0:o(s))});return{error:n.error,isLoading:n.isLoading,isSuccess:n.isSuccess,isSupported:C(),status:n.status,suggestAndConnect:n.mutate,suggestAndConnectAsync:n.mutateAsync}}import{useQuery as Z}from"@tanstack/react-query";function St(e){let t=i(n=>n.clients),r=Z(["USE_CLIENTS",e,t],({queryKey:[,n,s]})=>n!=null&&n.rpc?l(n):s,{refetchOnMount:Boolean(e==null?void 0:e.keepRefetchBehavior),refetchOnWindowFocus:Boolean(e==null?void 0:e.keepRefetchBehavior)});return{data:r.data,error:r.error,isFetching:r.isFetching,isLoading:r.isLoading,isRefetching:r.isRefetching,isSuccess:r.isSuccess,refetch:r.refetch,status:r.status}}function At(e){let t=i(n=>n.signingClients),r=Z(["USE_SIGNING_CLIENTS",e,t],({queryKey:[,n,s]})=>n!=null&&n.rpc?g(n):s,{refetchOnMount:Boolean(e==null?void 0:e.keepRefetchBehavior),refetchOnWindowFocus:Boolean(e==null?void 0:e.keepRefetchBehavior)});return{data:r.data,error:r.error,isFetching:r.isFetching,isLoading:r.isLoading,isRefetching:r.isRefetching,isSuccess:r.isSuccess,refetch:r.refetch,status:r.status}}import{QueryClient as We,QueryClientProvider as Ee}from"@tanstack/react-query";import{useEffect as Ne}from"react";function Re(){return Ne(()=>{i.setState({_supported:typeof window.keplr<"u"});let{_reconnect:e}=i.getState();return e&&m(),window.addEventListener("keplr_keystorechange",m),()=>{window.removeEventListener("keplr_keystorechange",m)}},[]),null}function ee(){return Re(),null}import{jsx as _e,jsxs as Le}from"react/jsx-runtime";var Fe=new We({});function zt({children:e,grazOptions:t,...o}){return t&&B(t),Le(Ee,{client:Fe,...o,children:[_e(ee,{}),e]})}export{ee as GrazEvents,zt as GrazProvider,q as clearRecentChain,B as configureGraz,p as connect,l as createClients,g as createSigningClients,Wn as defineChain,En as defineChainInfo,Rn as defineChains,U as disconnect,T as getBalances,f as getKeplr,un as getRecentChain,Fn as mainnetChains,_n as mainnetChainsArray,m as reconnect,K as registerKeplrNotFound,A as suggestChain,P as suggestChainAndConnect,Ln as testnetChains,Hn as testnetChainsArray,en as unregisterKeplrNotFound,Be as useAccount,ut as useActiveChain,tt as useBalances,C as useCheckKeplr,St as useClients,ot as useConnect,it as useDisconnect,Re as useGrazEvents,lt as useRecentChain,rt as useSigners,At as useSigningClients,gt as useSuggestChain,ft as useSuggestChainAndConnect};
1
+ import{a as S,b as we,c as o}from"./chunk-6M3A6KFX.mjs";var _=S(d=>{"use strict";o();Object.defineProperty(d,"__esModule",{value:!0});d.arrayContentStartsWith=d.arrayContentEquals=void 0;function Me(e,t){if(e.length!==t.length)return!1;for(let s=0;s<e.length;++s)if(e[s]!==t[s])return!1;return!0}d.arrayContentEquals=Me;function ve(e,t){if(e.length<t.length)return!1;for(let s=0;s<t.length;++s)if(e[s]!==t[s])return!1;return!0}d.arrayContentStartsWith=ve});var V=S(l=>{"use strict";o();Object.defineProperty(l,"__esModule",{value:!0});l.assertDefinedAndNotNull=l.assertDefined=l.assert=void 0;function Ue(e,t){if(!e)throw new Error(t||"condition is not truthy")}l.assert=Ue;function qe(e,t){if(e===void 0)throw new Error(t??"value is undefined")}l.assertDefined=qe;function Pe(e,t){if(e==null)throw new Error(t??"value is undefined or null")}l.assertDefinedAndNotNull=Pe});var $=S(h=>{"use strict";o();Object.defineProperty(h,"__esModule",{value:!0});h.sleep=void 0;async function Te(e){return new Promise(t=>setTimeout(t,e))}h.sleep=Te});var Y=S(C=>{"use strict";o();Object.defineProperty(C,"__esModule",{value:!0});C.isUint8Array=C.isNonNullObject=void 0;function X(e){return typeof e=="object"&&e!==null}C.isNonNullObject=X;function ze(e){return!(!X(e)||Object.prototype.toString.call(e)!=="[object Uint8Array]"||typeof Buffer<"u"&&typeof Buffer.isBuffer<"u"&&Buffer.isBuffer(e))}C.isUint8Array=ze});var te=S(a=>{"use strict";o();Object.defineProperty(a,"__esModule",{value:!0});a.isUint8Array=a.isNonNullObject=a.sleep=a.assertDefinedAndNotNull=a.assertDefined=a.assert=a.arrayContentStartsWith=a.arrayContentEquals=void 0;var Z=_();Object.defineProperty(a,"arrayContentEquals",{enumerable:!0,get:function(){return Z.arrayContentEquals}});Object.defineProperty(a,"arrayContentStartsWith",{enumerable:!0,get:function(){return Z.arrayContentStartsWith}});var G=V();Object.defineProperty(a,"assert",{enumerable:!0,get:function(){return G.assert}});Object.defineProperty(a,"assertDefined",{enumerable:!0,get:function(){return G.assertDefined}});Object.defineProperty(a,"assertDefinedAndNotNull",{enumerable:!0,get:function(){return G.assertDefinedAndNotNull}});var Je=$();Object.defineProperty(a,"sleep",{enumerable:!0,get:function(){return Je.sleep}});var ee=Y();Object.defineProperty(a,"isNonNullObject",{enumerable:!0,get:function(){return ee.isNonNullObject}});Object.defineProperty(a,"isUint8Array",{enumerable:!0,get:function(){return ee.isUint8Array}})});o();o();import{GasPrice as He}from"@cosmjs/stargate";o();import Qe from"zustand";import{persist as Fe,subscribeWithSelector as Ke}from"zustand/middleware";var I={account:null,activeChain:null,balances:null,clients:null,defaultChain:null,defaultSigningClient:"stargate",offlineSigner:null,offlineSignerAmino:null,offlineSignerAuto:null,recentChain:null,signingClients:null,status:"disconnected",walletType:"keplr",_notFoundFn:()=>null,_reconnect:!1},ke={name:"graz",partialize:e=>({activeChain:e.activeChain,recentChain:e.recentChain,_reconnect:e._reconnect}),version:1},u=Qe(Ke(Fe(()=>I,ke)));o();import{SigningCosmWasmClient as T}from"@cosmjs/cosmwasm-stargate";import{SigningStargateClient as z}from"@cosmjs/stargate";import{Tendermint34Client as Oe}from"@cosmjs/tendermint-rpc";async function j({rpc:e,rpcHeaders:t}){let s={url:e,headers:{...t||{}}},[c,n,i]=await Promise.all([T.connect(s),z.connect(s),Oe.connect(e)]);return{cosmWasm:c,stargate:n,tendermint:i}}async function g(e){let{rpc:t,rpcHeaders:s,offlineSignerAuto:c,cosmWasmSignerOptions:n={},stargateSignerOptions:i={}}=e,r={url:t,headers:{...s||{}}},[x,D]=await Promise.all([T.connectWithSigner(r,c,n),z.connectWithSigner(r,c,i)]);return{cosmWasm:x,stargate:D}}o();function J(e=u.getState().walletType){try{return E(e),!0}catch(t){return console.error(t),!1}}function Ne(){if(typeof window.keplr<"u")return window.keplr;throw u.getState()._notFoundFn(),new Error("window.keplr is not defined")}function E(e=u.getState().walletType){switch(e){case"keplr":return Ne();default:throw new Error("Unknown wallet type")}}async function f(e){try{let{defaultChain:t,recentChain:s,walletType:c}=u.getState(),n=(e==null?void 0:e.walletType)||c,i=E(n),r=e||s||t;if(!r)throw new Error("No last known connected chain, connect action requires chain info");u.setState(B=>{let Ge=B._reconnect;return B.activeChain&&B.activeChain.chainId!==r.chainId?{status:"connecting"}:Ge?{status:"reconnecting"}:{status:"connecting"}}),await i.enable(r.chainId);let x=i.getOfflineSigner(r.chainId),D=i.getOfflineSignerOnlyAmino(r.chainId),q=await i.getOfflineSignerAuto(r.chainId),De=r.gas?He.fromString(`${r.gas.price}${r.gas.denom}`):void 0,[P,Be,Ie]=await Promise.all([i.getKey(r.chainId),j(r),g({...r,offlineSignerAuto:q,cosmWasmSignerOptions:{gasPrice:De,...(e==null?void 0:e.signerOpts)||{}}})]);return u.setState({account:P,activeChain:r,clients:Be,offlineSigner:x,offlineSignerAmino:D,offlineSignerAuto:q,recentChain:r,signingClients:Ie,status:"connected",walletType:n,_reconnect:!0}),P}catch(t){throw u.getState().account===null&&u.setState({status:"disconnected"}),t}}async function L(e=!1){return u.setState(t=>({...I,recentChain:e?null:t.recentChain})),Promise.resolve()}async function R(e){let{activeChain:t,signingClients:s}=u.getState();if(!t||!s)throw new Error("No connected account detected");let{defaultSigningClient:c}=u.getState();return await Promise.all(t.currencies.map(async i=>s[c].getBalance(e,i.coinMinimalDenom)))}async function W(e){let{clients:t}=u.getState();if(!(t!=null&&t.stargate))throw new Error("Stargate client is not ready");return t.stargate.getBalanceStaked(e)}function m(){let{activeChain:e}=u.getState();e&&f(e)}o();o();var y=we(te());import{QueryClient as Le}from"@cosmjs/stargate";function ne(...e){let{tendermint:t}=u.getState().clients,s=new Le(t),c=e.map(n=>n(s));for(let n of c){(0,y.assert)((0,y.isNonNullObject)(n),"Extension must be a non-null object");for(let[i,r]of Object.entries(n)){(0,y.assert)((0,y.isNonNullObject)(r),`Module must be a non-null object. Found type ${typeof r} for module "${i}".`);let x=s[i]||{};s[i]={...x,...r}}}return s}function se(){u.setState({recentChain:null})}function oe(e){let{activeChain:t}=u.getState();return t==null?void 0:t.currencies.find(s=>s.coinMinimalDenom===e)}function sn(){return u.getState().recentChain}async function w(e){return await E().experimentalSuggestChain(e),e}async function ie(e){let t=await w(e);return{account:await f(e),chain:t}}o();function re(e={}){return u.setState(t=>({defaultChain:e.defaultChain||t.defaultChain,defaultSigningClient:e.defaultSigningClient||e.defaultSigningClient,walletType:e.defaultWallet||t.walletType,_notFoundFn:e.onNotFound||t._notFoundFn})),e}o();o();import{Bech32Address as Re}from"@keplr-wallet/cosmos";var ce={coinDenom:"axl",coinMinimalDenom:"uaxl",coinDecimals:6,coinGeckoId:"axelar-network",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/axl.png"},We={coinDenom:"usdc",coinMinimalDenom:"uusdc",coinDecimals:6,coinGeckoId:"usd-coin",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/usdc.png"},_e={coinDenom:"dai",coinMinimalDenom:"dai-wei",coinDecimals:18,coinGeckoId:"dai",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/dai.png"},Ve={coinDenom:"usdt",coinMinimalDenom:"uusdt",coinDecimals:6,coinGeckoId:"tether",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/usdt.png"},$e={coinDenom:"weth-wei",coinMinimalDenom:"weth",coinDecimals:18,coinGeckoId:"weth",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/weth.png"},Xe={coinDenom:"wbtc-satoshi",coinMinimalDenom:"wbtc",coinDecimals:8,coinGeckoId:"wrapped-bitcoin",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/wbtc.png"},ue=[ce,We,_e,Ve,$e,Xe],Q={rpc:"https://rpc.axelar.strange.love",rest:"https://api.axelar.strange.love",chainId:"axelar-dojo-1",chainName:"Axelar",stakeCurrency:ce,bip44:{coinType:118},bech32Config:Re.defaultBech32Config("axelar"),currencies:ue,feeCurrencies:ue};o();import{Bech32Address as Ye}from"@keplr-wallet/cosmos";var ae={coinDenom:"atom",coinMinimalDenom:"uatom",coinDecimals:6,coinGeckoId:"cosmos",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/cosmoshub/images/atom.png"},pe=[ae],A={rpc:"https://rpc.cosmoshub.strange.love",rest:"https://api.cosmoshub.strange.love",chainId:"cosmoshub-4",chainName:"Cosmos Hub",stakeCurrency:ae,bip44:{coinType:118},bech32Config:Ye.defaultBech32Config("cosmos"),currencies:pe,feeCurrencies:pe};o();import{Bech32Address as Ze}from"@keplr-wallet/cosmos";var le={coinDenom:"juno",coinMinimalDenom:"ujuno",coinDecimals:6,coinGeckoId:"juno-network",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/juno.png"},et={coinDenom:"neta",coinMinimalDenom:"cw20:juno168ctmpyppk90d34p3jjy658zf5a5l3w8wk35wht6ccqj4mr0yv8s4j5awr",coinDecimals:6,coinGeckoId:"neta",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/neta.png"},tt={coinDenom:"marble",coinMinimalDenom:"cw20:juno1g2g7ucurum66d42g8k5twk34yegdq8c82858gz0tq2fc75zy7khssgnhjl",coinDecimals:3,coinGeckoId:"marble",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/marble.png"},nt={coinDenom:"hope",coinMinimalDenom:"cw20:juno1re3x67ppxap48ygndmrc7har2cnc7tcxtm9nplcas4v0gc3wnmvs3s807z",coinDecimals:6,coinGeckoId:"hope-galaxy",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/hope.png"},st={coinDenom:"rac",coinMinimalDenom:"cw20:juno1r4pzw8f9z0sypct5l9j906d47z998ulwvhvqe5xdwgy8wf84583sxwh0pa",coinDecimals:6,coinGeckoId:"racoon",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/rac.png"},ot={coinDenom:"block",coinMinimalDenom:"cw20:juno1y9rf7ql6ffwkv02hsgd4yruz23pn4w97p75e2slsnkm0mnamhzysvqnxaq",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/block.png"},it={coinDenom:"dhk",coinMinimalDenom:"cw20:juno1tdjwrqmnztn2j3sj2ln9xnyps5hs48q3ddwjrz7jpv6mskappjys5czd49",coinDecimals:0,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/dhk.png"},rt={coinDenom:"raw",coinMinimalDenom:"cw20:juno15u3dt79t6sxxa3x3kpkhzsy56edaa5a66wvt3kxmukqjz2sx0hes5sn38g",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/raw.png",coinGeckoId:"junoswap-raw-dao"},ut={coinDenom:"asvt",coinMinimalDenom:"cw20:juno17wzaxtfdw5em7lc94yed4ylgjme63eh73lm3lutp2rhcxttyvpwsypjm4w",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/asvt.png"},ct={coinDenom:"hns",coinMinimalDenom:"cw20:juno1ur4jx0sxchdevahep7fwq28yk4tqsrhshdtylz46yka3uf6kky5qllqp4k",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/hns.svg"},pt={coinDenom:"joe",coinMinimalDenom:"cw20:juno1n7n7d5088qlzlj37e9mgmkhx6dfgtvt02hqxq66lcap4dxnzdhwqfmgng3",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/joe.png"},xe=[le,et,tt,nt,st,ot,it,rt,ut,ct,pt],F={rpc:"https://rpc.juno.strange.love",rest:"https://api.juno.strange.love",chainId:"juno-1",chainName:"Juno",stakeCurrency:le,bip44:{coinType:118},bech32Config:Ze.defaultBech32Config("juno"),currencies:xe,feeCurrencies:xe};o();import{Bech32Address as at}from"@keplr-wallet/cosmos";var de={coinDenom:"osmo",coinMinimalDenom:"uosmo",coinDecimals:6,coinGeckoId:"osmosis",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/cosmoshub/images/atom.png"},xt={coinDenom:"ion",coinMinimalDenom:"uion",coinDecimals:6,coinGeckoId:"ion",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/ion.png"},me=[de,xt],K={rpc:"https://rpc.osmosis.strange.love",rest:"https://api.osmosis.strange.love",chainId:"osmosis-1",chainName:"Osmosis",stakeCurrency:de,bip44:{coinType:118},bech32Config:at.defaultBech32Config("osmo"),currencies:me,feeCurrencies:me};o();import{Bech32Address as lt}from"@keplr-wallet/cosmos";var ye={coinDenom:"somm",coinMinimalDenom:"usomm",coinDecimals:6,coinGeckoId:"sommelier",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/sommelier/images/somm.png"},Ce=[ye],k={rpc:"https://rpc.sommelier.strange.love",rest:"https://api.sommelier.strange.love",chainId:"sommelier-3",chainName:"Sommelier",stakeCurrency:ye,bip44:{coinType:118},bech32Config:lt.defaultBech32Config("somm"),currencies:Ce,feeCurrencies:Ce};o();import{Bech32Address as mt}from"@keplr-wallet/cosmos";var Ee={coinDenom:"CRE",coinMinimalDenom:"ucre",coinDecimals:6,coinGeckoId:"crescent",coinImageUrl:"https://raw.githubusercontent.com/crescent-network/asset/main/images/coin/CRE.png"},Se=[Ee],O={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:mt.defaultBech32Config("CRE"),currencies:Se,feeCurrencies:Se,stakeCurrency:Ee,coinType:118};o();import{Bech32Address as dt}from"@keplr-wallet/cosmos";var N={coinDenom:"junox",coinMinimalDenom:"ujunox",coinDecimals:6,coinGeckoId:"juno-network",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/juno.png"},Ct=[N],H={rpc:"https://rpc.uni.junonetwork.io",rest:"https://api.uni.junonetwork.io",chainId:"uni-3",chainName:"Juno Testnet",stakeCurrency:N,bip44:{coinType:118},bech32Config:dt.defaultBech32Config("juno"),currencies:Ct,feeCurrencies:[N],coinType:118};o();import{Bech32Address as yt}from"@keplr-wallet/cosmos";var M={coinDenom:"osmo",coinMinimalDenom:"uosmo",coinDecimals:6,coinGeckoId:"osmosis",coinImageUrl:"https://dhj8dql1kzq2v.cloudfront.net/white/osmo.png"},St=[M],v={rpc:"https://testnet-rpc.osmosis.zone",rest:"https://testnet-rest.osmosis.zone",chainId:"osmo-test-4",chainName:"Osmosis Testnet",stakeCurrency:M,bip44:{coinType:118},bech32Config:yt.defaultBech32Config("osmo"),currencies:St,feeCurrencies:[M],coinType:118};function kn(e){return e}function On(e){return e}function Nn(e){return e}var Hn={axelar:Q,cosmos:A,cosmoshub:A,juno:F,osmosis:K,sommelier:k},Mn=[Q,A,F,K,k],vn={crescent:O,juno:H,osmosis:v},Un=[O,H,v];o();import{useMutation as fe,useQuery as U}from"@tanstack/react-query";import{useEffect as ft}from"react";import bt from"zustand/shallow";o();import{useQuery as Et}from"@tanstack/react-query";function Jn(){return b("keplr")}function b(e){let t=u(n=>e||n.walletType);return Et(["USE_CHECK_WALLET",t],({queryKey:[,n]})=>J(n))}function be({onConnect:e,onDisconnect:t}={}){let s=u(n=>n.account),c=u(n=>n.status);return ft(()=>u.subscribe(n=>n.status,(n,i)=>{if(n==="connected"){let r=u.getState();e==null||e({account:r.account,isReconnect:i==="reconnecting"})}n==="disconnected"&&(t==null||t())}),[e,t]),{data:s,isConnected:Boolean(s),isConnecting:c==="connecting",isDisconnected:c==="disconnected",isReconnecting:c==="reconnecting",reconnect:m,status:c}}function jt(e){let{data:t}=be(),s=e||(t==null?void 0:t.bech32Address);return U(["USE_BALANCES",s],({queryKey:[,i]})=>R(i),{enabled:Boolean(s)})}function Yn(e,t){let{data:s}=jt(t);return U(["USE_BALANCE",s,e,t],({queryKey:[,i]})=>i==null?void 0:i.find(r=>r.denom===e),{enabled:Boolean(s)})}function Zn({onError:e,onLoading:t,onSuccess:s}={}){let n=fe(["USE_CONNECT",e,t,s],f,{onError:(r,x)=>Promise.resolve(e==null?void 0:e(r,x)),onMutate:t,onSuccess:r=>Promise.resolve(s==null?void 0:s(r))}),{data:i}=b();return{connect:r=>n.mutate(r),connectAsync:r=>n.mutateAsync(r),error:n.error,isLoading:n.isLoading,isSuccess:n.isSuccess,isSupported:Boolean(i),status:n.status}}function es({onError:e,onLoading:t,onSuccess:s}={}){let n=fe(["USE_DISCONNECT",e,t,s],L,{onError:i=>Promise.resolve(e==null?void 0:e(i,void 0)),onMutate:t,onSuccess:()=>Promise.resolve(s==null?void 0:s(void 0))});return{disconnect:i=>n.mutate(i),disconnectAsync:i=>n.mutateAsync(i),error:n.error,isLoading:n.isLoading,isSuccess:n.isSuccess,status:n.status}}function gt(){return u(e=>({signer:e.offlineSigner,signerAmino:e.offlineSignerAmino,signerAuto:e.offlineSignerAuto}),bt)}function ts(){return gt()}function ns(e){let{data:t}=be(),s=e||(t==null?void 0:t.bech32Address);return U(["USE_STAKED_BALANCES",s],({queryKey:[,i]})=>W(s),{enabled:Boolean(s)})}o();import{useMutation as je,useQuery as ge}from"@tanstack/react-query";function cs(){return u(e=>e.activeChain)}function ps(e){return ge(["USE_ACTIVE_CHAIN_CURRENCY",e],({queryKey:[,c]})=>oe(c))}function as(e,t="BOND_STATUS_BONDED"){return ge(["USE_ACTIVE_CHAIN_VALIDATORS",e,t],({queryKey:[,n,i]})=>n.staking.validators(i))}function xs(){return{data:u(t=>t.recentChain),clear:se}}function ls({onError:e,onLoading:t,onSuccess:s}={}){let n=je(["USE_SUGGEST_CHAIN",e,t,s],w,{onError:(i,r)=>Promise.resolve(e==null?void 0:e(i,r)),onMutate:t,onSuccess:i=>Promise.resolve(s==null?void 0:s(i))});return{error:n.error,isLoading:n.isLoading,isSuccess:n.isSuccess,suggest:n.mutate,suggestAsync:n.mutateAsync,status:n.status}}function ms({onError:e,onLoading:t,onSuccess:s}={}){let n=je(["USE_SUGGEST_CHAIN_AND_CONNECT",e,t,s],ie,{onError:(r,x)=>Promise.resolve(e==null?void 0:e(r,x)),onMutate:t,onSuccess:r=>Promise.resolve(s==null?void 0:s(r))}),{data:i}=b();return{error:n.error,isLoading:n.isLoading,isSuccess:n.isSuccess,isSupported:Boolean(i),status:n.status,suggestAndConnect:n.mutate,suggestAndConnectAsync:n.mutateAsync}}o();import{useQuery as he}from"@tanstack/react-query";o();import{useQuery as ht}from"@tanstack/react-query";function Ss(...e){let t=["USE_QUERY_CLIENT",...e];return ht(t,({queryKey:[,...c]})=>ne(...e),{refetchOnMount:!1,refetchOnWindowFocus:!1})}function gs(e){let t=u(n=>n.clients);return he(["USE_CLIENTS",e,t],({queryKey:[,n,i]})=>n!=null&&n.rpc?j(n):i,{refetchOnMount:!1,refetchOnWindowFocus:!1})}function hs(e){let t=u(n=>n.signingClients);return he(["USE_SIGNING_CLIENTS",e,t],({queryKey:[,n,i]})=>n!=null&&n.rpc?g(n):i,{refetchOnMount:!1,refetchOnWindowFocus:!1})}o();import{QueryClient as Bt,QueryClientProvider as It}from"@tanstack/react-query";o();import{useEffect as At}from"react";function Dt(){return At(()=>{let{_reconnect:e}=u.getState();return e&&m(),window.addEventListener("keplr_keystorechange",m),()=>{window.removeEventListener("keplr_keystorechange",m)}},[]),null}function Ae(){return Dt(),null}import{jsx as wt,jsxs as Qt}from"react/jsx-runtime";var Gt=new Bt({});function ks({children:e,grazOptions:t,...s}){return t&&re(t),Qt(It,{client:Gt,...s,children:[wt(Ae,{}),e]})}export{Ae as GrazEvents,ks as GrazProvider,J as checkWallet,se as clearRecentChain,re as configureGraz,f as connect,j as createClients,ne as createQueryClient,g as createSigningClients,On as defineChain,Nn as defineChainInfo,kn as defineChains,L as disconnect,oe as getActiveChainCurrency,R as getBalances,Ne as getKeplr,sn as getRecentChain,W as getStakedBalances,E as getWallet,Hn as mainnetChains,Mn as mainnetChainsArray,m as reconnect,w as suggestChain,ie as suggestChainAndConnect,vn as testnetChains,Un as testnetChainsArray,be as useAccount,cs as useActiveChain,ps as useActiveChainCurrency,as as useActiveChainValidators,Yn as useBalance,jt as useBalances,Jn as useCheckKeplr,b as useCheckWallet,gs as useClients,Zn as useConnect,es as useDisconnect,Dt as useGrazEvents,gt as useOfflineSigners,Ss as useQueryClient,xs as useRecentChain,ts as useSigners,hs as useSigningClients,ns as useStakedBalances,ls as useSuggestChain,ms as useSuggestChainAndConnect};
package/dist/keplr.mjs CHANGED
@@ -1 +1 @@
1
- export*from"@keplr-wallet/cosmos";export*from"@keplr-wallet/types";
1
+ import{c as o}from"./chunk-6M3A6KFX.mjs";o();export*from"@keplr-wallet/cosmos";export*from"@keplr-wallet/types";
@@ -0,0 +1 @@
1
+ export * from '@cosmjs/tendermint-rpc';
@@ -0,0 +1 @@
1
+ "use strict";var a=Object.defineProperty;var b=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var d=Object.prototype.hasOwnProperty;var t=(r,o,m,x)=>{if(o&&typeof o=="object"||typeof o=="function")for(let e of c(o))!d.call(r,e)&&e!==m&&a(r,e,{get:()=>o[e],enumerable:!(x=b(o,e))||x.enumerable});return r},p=(r,o,m)=>(t(r,o,"default"),m&&t(m,o,"default"));var g=r=>t(a({},"__esModule",{value:!0}),r);var f={};module.exports=g(f);p(f,require("@cosmjs/tendermint-rpc"),module.exports);
@@ -0,0 +1 @@
1
+ import{c as o}from"./chunk-6M3A6KFX.mjs";o();export*from"@cosmjs/tendermint-rpc";
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.20",
4
+ "version": "0.0.22",
5
5
  "author": "Griko Nibras <griko@strangelove.ventures>",
6
6
  "repository": "https://github.com/strangelove-ventures/graz.git",
7
7
  "homepage": "https://github.com/strangelove-ventures/graz",
@@ -38,6 +38,7 @@
38
38
  "@cosmjs/cosmwasm-stargate": "^0",
39
39
  "@cosmjs/proto-signing": "^0",
40
40
  "@cosmjs/stargate": "^0",
41
+ "@cosmjs/tendermint-rpc": "^0",
41
42
  "@keplr-wallet/cosmos": "^0",
42
43
  "@keplr-wallet/types": "^0",
43
44
  "@tanstack/react-query": "^4",