graz 0.0.21 → 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,13 +1,13 @@
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;
@@ -150,9 +150,37 @@ declare type ConnectArgs = Maybe<GrazChain & {
150
150
  declare function connect(args?: ConnectArgs): Promise<Key>;
151
151
  declare function disconnect(clearRecentChain?: boolean): Promise<void>;
152
152
  declare function getBalances(bech32Address: string): Promise<Coin[]>;
153
+ declare function getStakedBalances(bech32Address: string): Promise<Coin | null>;
153
154
  declare function reconnect(): void;
154
155
 
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
+
155
182
  declare function clearRecentChain(): void;
183
+ declare function getActiveChainCurrency(denom: string): AppCurrency | undefined;
156
184
  declare function getRecentChain(): GrazChain | null;
157
185
  declare function suggestChain(chainInfo: ChainInfo): Promise<ChainInfo>;
158
186
  declare function suggestChainAndConnect(chainInfo: ChainInfo): Promise<{
@@ -167,6 +195,7 @@ interface GrazStore {
167
195
  clients: {
168
196
  cosmWasm: CosmWasmClient;
169
197
  stargate: StargateClient;
198
+ tendermint: Tendermint34Client;
170
199
  } | null;
171
200
  defaultChain: GrazChain | null;
172
201
  defaultSigningClient: "cosmWasm" | "stargate";
@@ -240,6 +269,11 @@ declare function getKeplr(): Keplr;
240
269
  */
241
270
  declare function getWallet(type?: WalletType): Keplr;
242
271
 
272
+ interface GrazAdapter {
273
+ name: string;
274
+ id: string;
275
+ }
276
+
243
277
  interface MutationEventArgs<TInitial = unknown, TSuccess = TInitial> {
244
278
  onError?: (error: unknown, data: TInitial) => unknown;
245
279
  onLoading?: (data: TInitial) => unknown;
@@ -296,16 +330,25 @@ declare function useAccount({ onConnect, onDisconnect }?: UseAccountArgs): {
296
330
  * useBalances("cosmos1kpzxx2lxg05xxn8mfygrerhmkj0ypn8edmu2pu");
297
331
  * ```
298
332
  */
299
- declare function useBalances(bech32Address?: string): {
300
- data: _cosmjs_amino.Coin[] | undefined;
301
- error: unknown;
302
- isFetching: boolean;
303
- isLoading: boolean;
304
- isRefetching: boolean;
305
- isSuccess: boolean;
306
- refetch: <TPageData>(options?: (_tanstack_react_query.RefetchOptions & _tanstack_react_query.RefetchQueryFilters<TPageData>) | undefined) => Promise<_tanstack_react_query.QueryObserverResult<_cosmjs_amino.Coin[], unknown>>;
307
- status: "error" | "success" | "loading";
308
- };
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>;
309
352
  declare type UseConnectChainArgs = MutationEventArgs<ConnectArgs, Key>;
310
353
  /**
311
354
  * graz mutation hook to execute wallet connection with optional arguments to
@@ -346,7 +389,7 @@ declare function useConnect({ onError, onLoading, onSuccess }?: UseConnectChainA
346
389
  isLoading: boolean;
347
390
  isSuccess: boolean;
348
391
  isSupported: boolean;
349
- status: "error" | "success" | "loading" | "idle";
392
+ status: "error" | "idle" | "loading" | "success";
350
393
  };
351
394
  /**
352
395
  * graz mutation hook to execute wallet disconnection with optional arguments to
@@ -378,7 +421,7 @@ declare function useDisconnect({ onError, onLoading, onSuccess }?: MutationEvent
378
421
  error: unknown;
379
422
  isLoading: boolean;
380
423
  isSuccess: boolean;
381
- status: "error" | "success" | "loading" | "idle";
424
+ status: "error" | "idle" | "loading" | "success";
382
425
  };
383
426
  /**
384
427
  * graz hook to retrieve offline signer objects (default, amino enabled, and auto).
@@ -387,15 +430,43 @@ declare function useDisconnect({ onError, onLoading, onSuccess }?: MutationEvent
387
430
  *
388
431
  * @example
389
432
  * ```ts
390
- * import { useSigners } from "graz";
391
- * const { signer, signerAmino, signerAuto } = useSigners();
433
+ * import { useOfflineSigners } from "graz";
434
+ * const { signer, signerAmino, signerAuto } = useOfflineSigners();
392
435
  * ```
393
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
+ */
394
448
  declare function useSigners(): {
395
449
  signer: (_cosmjs_proto_signing.OfflineSigner & _cosmjs_proto_signing.OfflineDirectSigner) | null;
396
450
  signerAmino: _cosmjs_proto_signing.OfflineSigner | null;
397
451
  signerAuto: _cosmjs_proto_signing.OfflineSigner | null;
398
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>;
399
470
 
400
471
  /**
401
472
  * graz hook to retrieve connected account's active chain
@@ -407,6 +478,34 @@ declare function useSigners(): {
407
478
  * ```
408
479
  */
409
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>;
410
509
  /**
411
510
  * graz hook to retrieve last connected chain info
412
511
  *
@@ -450,7 +549,7 @@ declare function useSuggestChain({ onError, onLoading, onSuccess }?: UseSuggestC
450
549
  isSuccess: boolean;
451
550
  suggest: _tanstack_react_query.UseMutateFunction<ChainInfo, unknown, ChainInfo, unknown>;
452
551
  suggestAsync: _tanstack_react_query.UseMutateAsyncFunction<ChainInfo, unknown, ChainInfo, unknown>;
453
- status: "error" | "success" | "loading" | "idle";
552
+ status: "error" | "idle" | "loading" | "success";
454
553
  };
455
554
  declare type UseSuggestChainAndConnectArgs = MutationEventArgs<ChainInfo, {
456
555
  chain: ChainInfo;
@@ -488,7 +587,7 @@ declare function useSuggestChainAndConnect({ onError, onLoading, onSuccess }?: U
488
587
  isLoading: boolean;
489
588
  isSuccess: boolean;
490
589
  isSupported: boolean;
491
- status: "error" | "success" | "loading" | "idle";
590
+ status: "error" | "idle" | "loading" | "success";
492
591
  suggestAndConnect: _tanstack_react_query.UseMutateFunction<{
493
592
  account: Key;
494
593
  chain: ChainInfo;
@@ -499,9 +598,48 @@ declare function useSuggestChainAndConnect({ onError, onLoading, onSuccess }?: U
499
598
  }, unknown, ChainInfo, unknown>;
500
599
  };
501
600
 
502
- declare type WithRefetchOpts<T> = T & {
503
- keepRefetchBehavior?: boolean;
504
- };
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
+
505
643
  /**
506
644
  * graz query hook to retrieve a CosmWasmClient. If there's no given arguments it will be using the current connected client
507
645
  *
@@ -516,22 +654,7 @@ declare type WithRefetchOpts<T> = T & {
516
654
  * useClient({ rpc: "https://rpc.cosmoshub.strange.love", });
517
655
  * ```
518
656
  */
519
- declare function useClients(args?: WithRefetchOpts<CreateClientArgs>): {
520
- data: {
521
- cosmWasm: _cosmjs_cosmwasm_stargate.CosmWasmClient;
522
- stargate: _cosmjs_stargate.StargateClient;
523
- } | null | undefined;
524
- error: unknown;
525
- isFetching: boolean;
526
- isLoading: boolean;
527
- isRefetching: boolean;
528
- isSuccess: boolean;
529
- refetch: <TPageData>(options?: (_tanstack_react_query.RefetchOptions & _tanstack_react_query.RefetchQueryFilters<TPageData>) | undefined) => Promise<_tanstack_react_query.QueryObserverResult<{
530
- cosmWasm: _cosmjs_cosmwasm_stargate.CosmWasmClient;
531
- stargate: _cosmjs_stargate.StargateClient;
532
- } | null, unknown>>;
533
- status: "error" | "success" | "loading";
534
- };
657
+ declare function useClients(args?: CreateClientArgs): UseQueryResult<GrazStore["clients"]>;
535
658
  /**
536
659
  * graz query hook to retrieve a SigningCosmWasmClient. If there's no given args it will be using the current connected signer
537
660
  *
@@ -550,22 +673,7 @@ declare function useClients(args?: WithRefetchOpts<CreateClientArgs>): {
550
673
  * });
551
674
  * ```
552
675
  */
553
- declare function useSigningClients(args?: WithRefetchOpts<CreateSigningClientArgs>): {
554
- data: {
555
- cosmWasm: _cosmjs_cosmwasm_stargate.SigningCosmWasmClient;
556
- stargate: _cosmjs_stargate.SigningStargateClient;
557
- } | null | undefined;
558
- error: unknown;
559
- isFetching: boolean;
560
- isLoading: boolean;
561
- isRefetching: boolean;
562
- isSuccess: boolean;
563
- refetch: <TPageData>(options?: (_tanstack_react_query.RefetchOptions & _tanstack_react_query.RefetchQueryFilters<TPageData>) | undefined) => Promise<_tanstack_react_query.QueryObserverResult<{
564
- cosmWasm: _cosmjs_cosmwasm_stargate.SigningCosmWasmClient;
565
- stargate: _cosmjs_stargate.SigningStargateClient;
566
- } | null, unknown>>;
567
- status: "error" | "success" | "loading";
568
- };
676
+ declare function useSigningClients(args?: CreateSigningClientArgs): UseQueryResult<GrazStore["signingClients"]>;
569
677
 
570
678
  /**
571
679
  * graz hook which returns boolean whether Keplr Wallet is supported
@@ -579,7 +687,7 @@ declare function useSigningClients(args?: WithRefetchOpts<CreateSigningClientArg
579
687
  *
580
688
  * @deprecated prefer using {@link useCheckWallet}
581
689
  */
582
- declare function useCheckKeplr(): _tanstack_react_query.UseQueryResult<boolean, unknown>;
690
+ declare function useCheckKeplr(): UseQueryResult<boolean>;
583
691
  /**
584
692
  * graz query hook to check whether given {@link WalletType} or default configured wallet is supported
585
693
  *
@@ -591,7 +699,7 @@ declare function useCheckKeplr(): _tanstack_react_query.UseQueryResult<boolean,
591
699
  * const { data: isKeplrSupported } = useCheckWallet("keplr");
592
700
  * ```
593
701
  */
594
- declare function useCheckWallet(type?: WalletType): _tanstack_react_query.UseQueryResult<boolean, unknown>;
702
+ declare function useCheckWallet(type?: WalletType): UseQueryResult<boolean>;
595
703
 
596
704
  declare type GrazProviderProps = Partial<QueryClientProviderProps> & {
597
705
  grazOptions?: ConfigureGrazArgs;
@@ -629,4 +737,4 @@ declare function useGrazEvents(): null;
629
737
  */
630
738
  declare function GrazEvents(): null;
631
739
 
632
- export { ChainInfoWithPath, ConfigureGrazArgs, ConnectArgs, CreateClientArgs, CreateSigningClientArgs, Dictionary, GrazChain, GrazEvents, GrazProvider, GrazProviderProps, Maybe, UseAccountArgs, UseConnectChainArgs, UseSuggestChainAndConnectArgs, UseSuggestChainArgs, WalletType, checkWallet, clearRecentChain, configureGraz, connect, createClients, createSigningClients, defineChain, defineChainInfo, defineChains, disconnect, getBalances, getKeplr, getRecentChain, getWallet, mainnetChains, mainnetChainsArray, reconnect, suggestChain, suggestChainAndConnect, testnetChains, testnetChainsArray, useAccount, useActiveChain, useBalances, useCheckKeplr, useCheckWallet, 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 ze=Object.create;var C=Object.defineProperty;var je=Object.getOwnPropertyDescriptor;var Te=Object.getOwnPropertyNames;var Oe=Object.getPrototypeOf,We=Object.prototype.hasOwnProperty;var Me=(e,t)=>{for(var o in t)C(e,o,{get:t[o],enumerable:!0})},J=(e,t,o,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Te(t))!We.call(e,n)&&n!==o&&C(e,n,{get:()=>t[n],enumerable:!(r=je(t,n))||r.enumerable});return e};var V=(e,t,o)=>(o=e!=null?ze(Oe(e)):{},J(t||!e||!e.__esModule?C(o,"default",{value:e,enumerable:!0}):o,e)),Ue=e=>J(C({},"__esModule",{value:!0}),e);var kn={};Me(kn,{GrazEvents:()=>L,GrazProvider:()=>xn,checkWallet:()=>G,clearRecentChain:()=>j,configureGraz:()=>O,connect:()=>l,createClients:()=>h,createSigningClients:()=>f,defineChain:()=>on,defineChainInfo:()=>rn,defineChains:()=>tn,disconnect:()=>b,getBalances:()=>z,getKeplr:()=>$,getRecentChain:()=>Pe,getWallet:()=>u,mainnetChains:()=>sn,mainnetChainsArray:()=>cn,reconnect:()=>p,suggestChain:()=>w,suggestChainAndConnect:()=>T,testnetChains:()=>an,testnetChainsArray:()=>mn,useAccount:()=>xe,useActiveChain:()=>fn,useBalances:()=>un,useCheckKeplr:()=>pn,useCheckWallet:()=>g,useClients:()=>wn,useConnect:()=>ln,useDisconnect:()=>gn,useGrazEvents:()=>Ie,useRecentChain:()=>yn,useSigners:()=>hn,useSigningClients:()=>Sn,useSuggestChain:()=>Cn,useSuggestChainAndConnect:()=>dn});module.exports=Ue(kn);var Y=require("@cosmjs/stargate");var X=V(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",walletType:"keplr",_notFoundFn:()=>null,_reconnect:!1},qe={name:"graz",partialize:e=>({activeChain:e.activeChain,recentChain:e.recentChain,_reconnect:e._reconnect}),version:1},i=(0,X.default)((0,d.subscribeWithSelector)((0,d.persist)(()=>I,qe)));var D=require("@cosmjs/cosmwasm-stargate"),v=require("@cosmjs/stargate");async function h({rpc:e,rpcHeaders:t}){let o={url:e,headers:{...t||{}}},[r,n]=await Promise.all([D.SigningCosmWasmClient.connect(o),v.SigningStargateClient.connect(o)]);return{cosmWasm:r,stargate:n}}async function f(e){let{rpc:t,rpcHeaders:o,offlineSignerAuto:r,cosmWasmSignerOptions:n={},stargateSignerOptions:c={}}=e,s={url:t,headers:{...o||{}}},[m,x]=await Promise.all([D.SigningCosmWasmClient.connectWithSigner(s,r,n),v.SigningStargateClient.connectWithSigner(s,r,c)]);return{cosmWasm:m,stargate:x}}function G(e=i.getState().walletType){try{return u(e),!0}catch(t){return console.error(t),!1}}function $(){if(typeof window.keplr<"u")return window.keplr;throw i.getState()._notFoundFn(),new Error("window.keplr is not defined")}function u(e=i.getState().walletType){switch(e){case"keplr":return $();default:throw new Error("Unknown wallet type")}}async function l(e){try{let{defaultChain:t,recentChain:o,walletType:r}=i.getState(),n=(e==null?void 0:e.walletType)||r,c=u(n),s=e||o||t;if(!s)throw new Error("No last known connected chain, connect action requires chain info");i.setState(k=>{let be=k._reconnect;return k.activeChain&&k.activeChain.chainId!==s.chainId?{status:"connecting"}:be?{status:"reconnecting"}:{status:"connecting"}}),await c.enable(s.chainId);let m=c.getOfflineSigner(s.chainId),x=c.getOfflineSignerOnlyAmino(s.chainId),H=await c.getOfflineSignerAuto(s.chainId),De=s.gas?Y.GasPrice.fromString(`${s.gas.price}${s.gas.denom}`):void 0,[Q,ve,Ge]=await Promise.all([c.getKey(s.chainId),h(s),f({...s,offlineSignerAuto:H,cosmWasmSignerOptions:{gasPrice:De,...(e==null?void 0:e.signerOpts)||{}}})]);return i.setState({account:Q,activeChain:s,clients:ve,offlineSigner:m,offlineSignerAmino:x,offlineSignerAuto:H,recentChain:s,signingClients:Ge,status:"connected",walletType:n,_reconnect:!0}),Q}catch(t){throw i.getState().account===null&&i.setState({status:"disconnected"}),t}}async function b(e=!1){return i.setState(t=>({...I,recentChain:e?null:t.recentChain})),Promise.resolve()}async function z(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 c=>o[r].getBalance(e,c.coinMinimalDenom)))}function p(){let{activeChain:e}=i.getState();e&&l(e)}function j(){i.setState({recentChain:null})}function Pe(){return i.getState().recentChain}async function w(e){return await u().experimentalSuggestChain(e),e}async function T(e){let t=await w(e);return{account:await l(e),chain:t}}function O(e={}){return i.setState(t=>({defaultChain:e.defaultChain||t.defaultChain,defaultSigningClient:e.defaultSigningClient||e.defaultSigningClient,walletType:e.defaultWallet||t.walletType,_notFoundFn:e.onNotFound||t._notFoundFn})),e}var ee=require("@keplr-wallet/cosmos"),ne={coinDenom:"axl",coinMinimalDenom:"uaxl",coinDecimals:6,coinGeckoId:"axelar-network",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/axl.png"},Ke={coinDenom:"usdc",coinMinimalDenom:"uusdc",coinDecimals:6,coinGeckoId:"usd-coin",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/usdc.png"},Be={coinDenom:"dai",coinMinimalDenom:"dai-wei",coinDecimals:18,coinGeckoId:"dai",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/dai.png"},Ee={coinDenom:"usdt",coinMinimalDenom:"uusdt",coinDecimals:6,coinGeckoId:"tether",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/usdt.png"},Ne={coinDenom:"weth-wei",coinMinimalDenom:"weth",coinDecimals:18,coinGeckoId:"weth",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/weth.png"},Re={coinDenom:"wbtc-satoshi",coinMinimalDenom:"wbtc",coinDecimals:8,coinGeckoId:"wrapped-bitcoin",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/wbtc.png"},Z=[ne,Ke,Be,Ee,Ne,Re],W={rpc:"https://rpc.axelar.strange.love",rest:"https://api.axelar.strange.love",chainId:"axelar-dojo-1",chainName:"Axelar",stakeCurrency:ne,bip44:{coinType:118},bech32Config:ee.Bech32Address.defaultBech32Config("axelar"),currencies:Z,feeCurrencies:Z};var oe=require("@keplr-wallet/cosmos"),re={coinDenom:"atom",coinMinimalDenom:"uatom",coinDecimals:6,coinGeckoId:"cosmos",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/cosmoshub/images/atom.png"},te=[re],S={rpc:"https://rpc.cosmoshub.strange.love",rest:"https://api.cosmoshub.strange.love",chainId:"cosmoshub-4",chainName:"Cosmos Hub",stakeCurrency:re,bip44:{coinType:118},bech32Config:oe.Bech32Address.defaultBech32Config("cosmos"),currencies:te,feeCurrencies:te};var se=require("@keplr-wallet/cosmos"),ce={coinDenom:"juno",coinMinimalDenom:"ujuno",coinDecimals:6,coinGeckoId:"juno-network",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/juno.png"},Fe={coinDenom:"neta",coinMinimalDenom:"cw20:juno168ctmpyppk90d34p3jjy658zf5a5l3w8wk35wht6ccqj4mr0yv8s4j5awr",coinDecimals:6,coinGeckoId:"neta",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/neta.png"},Le={coinDenom:"marble",coinMinimalDenom:"cw20:juno1g2g7ucurum66d42g8k5twk34yegdq8c82858gz0tq2fc75zy7khssgnhjl",coinDecimals:3,coinGeckoId:"marble",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/marble.png"},_e={coinDenom:"hope",coinMinimalDenom:"cw20:juno1re3x67ppxap48ygndmrc7har2cnc7tcxtm9nplcas4v0gc3wnmvs3s807z",coinDecimals:6,coinGeckoId:"hope-galaxy",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/hope.png"},He={coinDenom:"rac",coinMinimalDenom:"cw20:juno1r4pzw8f9z0sypct5l9j906d47z998ulwvhvqe5xdwgy8wf84583sxwh0pa",coinDecimals:6,coinGeckoId:"racoon",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/rac.png"},Qe={coinDenom:"block",coinMinimalDenom:"cw20:juno1y9rf7ql6ffwkv02hsgd4yruz23pn4w97p75e2slsnkm0mnamhzysvqnxaq",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/block.png"},Je={coinDenom:"dhk",coinMinimalDenom:"cw20:juno1tdjwrqmnztn2j3sj2ln9xnyps5hs48q3ddwjrz7jpv6mskappjys5czd49",coinDecimals:0,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/dhk.png"},Ve={coinDenom:"raw",coinMinimalDenom:"cw20:juno15u3dt79t6sxxa3x3kpkhzsy56edaa5a66wvt3kxmukqjz2sx0hes5sn38g",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/raw.png",coinGeckoId:"junoswap-raw-dao"},Xe={coinDenom:"asvt",coinMinimalDenom:"cw20:juno17wzaxtfdw5em7lc94yed4ylgjme63eh73lm3lutp2rhcxttyvpwsypjm4w",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/asvt.png"},$e={coinDenom:"hns",coinMinimalDenom:"cw20:juno1ur4jx0sxchdevahep7fwq28yk4tqsrhshdtylz46yka3uf6kky5qllqp4k",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/hns.svg"},Ye={coinDenom:"joe",coinMinimalDenom:"cw20:juno1n7n7d5088qlzlj37e9mgmkhx6dfgtvt02hqxq66lcap4dxnzdhwqfmgng3",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/joe.png"},ie=[ce,Fe,Le,_e,He,Qe,Je,Ve,Xe,$e,Ye],M={rpc:"https://rpc.juno.strange.love",rest:"https://api.juno.strange.love",chainId:"juno-1",chainName:"Juno",stakeCurrency:ce,bip44:{coinType:118},bech32Config:se.Bech32Address.defaultBech32Config("juno"),currencies:ie,feeCurrencies:ie};var me=require("@keplr-wallet/cosmos"),pe={coinDenom:"osmo",coinMinimalDenom:"uosmo",coinDecimals:6,coinGeckoId:"osmosis",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/cosmoshub/images/atom.png"},Ze={coinDenom:"ion",coinMinimalDenom:"uion",coinDecimals:6,coinGeckoId:"ion",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/ion.png"},ae=[pe,Ze],U={rpc:"https://rpc.osmosis.strange.love",rest:"https://api.osmosis.strange.love",chainId:"osmosis-1",chainName:"Osmosis",stakeCurrency:pe,bip44:{coinType:118},bech32Config:me.Bech32Address.defaultBech32Config("osmo"),currencies:ae,feeCurrencies:ae};var le=require("@keplr-wallet/cosmos"),ge={coinDenom:"somm",coinMinimalDenom:"usomm",coinDecimals:6,coinGeckoId:"sommelier",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/sommelier/images/somm.png"},ue=[ge],q={rpc:"https://rpc.sommelier.strange.love",rest:"https://api.sommelier.strange.love",chainId:"sommelier-3",chainName:"Sommelier",stakeCurrency:ge,bip44:{coinType:118},bech32Config:le.Bech32Address.defaultBech32Config("somm"),currencies:ue,feeCurrencies:ue};var fe=require("@keplr-wallet/cosmos"),ye={coinDenom:"CRE",coinMinimalDenom:"ucre",coinDecimals:6,coinGeckoId:"crescent",coinImageUrl:"https://raw.githubusercontent.com/crescent-network/asset/main/images/coin/CRE.png"},he=[ye],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:fe.Bech32Address.defaultBech32Config("CRE"),currencies:he,feeCurrencies:he,stakeCurrency:ye,coinType:118};var Ce=require("@keplr-wallet/cosmos"),K={coinDenom:"junox",coinMinimalDenom:"ujunox",coinDecimals:6,coinGeckoId:"juno-network",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/juno.png"},en=[K],B={rpc:"https://rpc.uni.junonetwork.io",rest:"https://api.uni.junonetwork.io",chainId:"uni-3",chainName:"Juno Testnet",stakeCurrency:K,bip44:{coinType:118},bech32Config:Ce.Bech32Address.defaultBech32Config("juno"),currencies:en,feeCurrencies:[K],coinType:118};var de=require("@keplr-wallet/cosmos"),E={coinDenom:"osmo",coinMinimalDenom:"uosmo",coinDecimals:6,coinGeckoId:"osmosis",coinImageUrl:"https://dhj8dql1kzq2v.cloudfront.net/white/osmo.png"},nn=[E],N={rpc:"https://testnet-rpc.osmosis.zone",rest:"https://testnet-rest.osmosis.zone",chainId:"osmo-test-4",chainName:"Osmosis Testnet",stakeCurrency:E,bip44:{coinType:118},bech32Config:de.Bech32Address.defaultBech32Config("osmo"),currencies:nn,feeCurrencies:[E],coinType:118};function tn(e){return e}function on(e){return e}function rn(e){return e}var sn={axelar:W,cosmos:S,cosmoshub:S,juno:M,osmosis:U,sommelier:q},cn=[W,S,M,U,q],an={crescent:P,juno:B,osmosis:N},mn=[P,B,N];var y=require("@tanstack/react-query"),Se=require("react"),Ae=V(require("zustand/shallow"));var we=require("@tanstack/react-query");function pn(){return g("keplr")}function g(e){let t=i(r=>e||r.walletType);return(0,we.useQuery)(["USE_CHECK_WALLET",t],({queryKey:[,r]})=>G(r))}function xe({onConnect:e,onDisconnect:t}={}){let o=i(n=>n.account),r=i(n=>n.status);return(0,Se.useEffect)(()=>i.subscribe(n=>n.status,(n,c)=>{if(n==="connected"){let s=i.getState();e==null||e({account:s.account,isReconnect:c==="reconnecting"})}n==="disconnected"&&(t==null||t())}),[e,t]),{data:o,isConnected:Boolean(o),isConnecting:r==="connecting",isDisconnected:r==="disconnected",isReconnecting:r==="reconnecting",reconnect:p,status:r}}function un(e){let{data:t}=xe(),o=e||(t==null?void 0:t.bech32Address),n=(0,y.useQuery)(["USE_BALANCES",o],({queryKey:[,c]})=>z(c),{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 ln({onError:e,onLoading:t,onSuccess:o}={}){let n=(0,y.useMutation)(["USE_CONNECT",e,t,o],l,{onError:(s,m)=>Promise.resolve(e==null?void 0:e(s,m)),onMutate:t,onSuccess:s=>Promise.resolve(o==null?void 0:o(s))}),{data:c}=g();return{connect:s=>n.mutate(s),connectAsync:s=>n.mutateAsync(s),error:n.error,isLoading:n.isLoading,isSuccess:n.isSuccess,isSupported:Boolean(c),status:n.status}}function gn({onError:e,onLoading:t,onSuccess:o}={}){let n=(0,y.useMutation)(["USE_DISCONNECT",e,t,o],b,{onError:c=>Promise.resolve(e==null?void 0:e(c,void 0)),onMutate:t,onSuccess:()=>Promise.resolve(o==null?void 0:o(void 0))});return{disconnect:c=>n.mutate(c),disconnectAsync:c=>n.mutateAsync(c),error:n.error,isLoading:n.isLoading,isSuccess:n.isSuccess,status:n.status}}function hn(){return i(e=>({signer:e.offlineSigner,signerAmino:e.offlineSignerAmino,signerAuto:e.offlineSignerAuto}),Ae.default)}var R=require("@tanstack/react-query");function fn(){return i(e=>e.activeChain)}function yn(){return{data:i(t=>t.recentChain),clear:j}}function Cn({onError:e,onLoading:t,onSuccess:o}={}){let n=(0,R.useMutation)(["USE_SUGGEST_CHAIN",e,t,o],w,{onError:(c,s)=>Promise.resolve(e==null?void 0:e(c,s)),onMutate:t,onSuccess:c=>Promise.resolve(o==null?void 0:o(c))});return{error:n.error,isLoading:n.isLoading,isSuccess:n.isSuccess,suggest:n.mutate,suggestAsync:n.mutateAsync,status:n.status}}function dn({onError:e,onLoading:t,onSuccess:o}={}){let n=(0,R.useMutation)(["USE_SUGGEST_CHAIN_AND_CONNECT",e,t,o],T,{onError:(s,m)=>Promise.resolve(e==null?void 0:e(s,m)),onMutate:t,onSuccess:s=>Promise.resolve(o==null?void 0:o(s))}),{data:c}=g();return{error:n.error,isLoading:n.isLoading,isSuccess:n.isSuccess,isSupported:Boolean(c),status:n.status,suggestAndConnect:n.mutate,suggestAndConnectAsync:n.mutateAsync}}var F=require("@tanstack/react-query");function wn(e){let t=i(n=>n.clients),r=(0,F.useQuery)(["USE_CLIENTS",e,t],({queryKey:[,n,c]})=>n!=null&&n.rpc?h(n):c,{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 Sn(e){let t=i(n=>n.signingClients),r=(0,F.useQuery)(["USE_SIGNING_CLIENTS",e,t],({queryKey:[,n,c]})=>n!=null&&n.rpc?f(n):c,{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}}var A=require("@tanstack/react-query");var ke=require("react");function Ie(){return(0,ke.useEffect)(()=>{let{_reconnect:e}=i.getState();return e&&p(),window.addEventListener("keplr_keystorechange",p),()=>{window.removeEventListener("keplr_keystorechange",p)}},[]),null}function L(){return Ie(),null}var _=require("react/jsx-runtime"),An=new A.QueryClient({});function xn({children:e,grazOptions:t,...o}){return t&&O(t),(0,_.jsxs)(A.QueryClientProvider,{client:An,...o,children:[(0,_.jsx)(L,{}),e]})}0&&(module.exports={GrazEvents,GrazProvider,checkWallet,clearRecentChain,configureGraz,connect,createClients,createSigningClients,defineChain,defineChainInfo,defineChains,disconnect,getBalances,getKeplr,getRecentChain,getWallet,mainnetChains,mainnetChainsArray,reconnect,suggestChain,suggestChainAndConnect,testnetChains,testnetChainsArray,useAccount,useActiveChain,useBalances,useCheckKeplr,useCheckWallet,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 ue}from"@cosmjs/stargate";import se from"zustand";import{persist as ce,subscribeWithSelector as ae}from"zustand/middleware";var w={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},me={name:"graz",partialize:e=>({activeChain:e.activeChain,recentChain:e.recentChain,_reconnect:e._reconnect}),version:1},i=se(ae(ce(()=>w,me)));import{SigningCosmWasmClient as O}from"@cosmjs/cosmwasm-stargate";import{SigningStargateClient as W}from"@cosmjs/stargate";async function h({rpc:e,rpcHeaders:t}){let o={url:e,headers:{...t||{}}},[r,n]=await Promise.all([O.connect(o),W.connect(o)]);return{cosmWasm:r,stargate:n}}async function f(e){let{rpc:t,rpcHeaders:o,offlineSignerAuto:r,cosmWasmSignerOptions:n={},stargateSignerOptions:c={}}=e,s={url:t,headers:{...o||{}}},[m,C]=await Promise.all([O.connectWithSigner(s,r,n),W.connectWithSigner(s,r,c)]);return{cosmWasm:m,stargate:C}}function M(e=i.getState().walletType){try{return u(e),!0}catch(t){return console.error(t),!1}}function pe(){if(typeof window.keplr<"u")return window.keplr;throw i.getState()._notFoundFn(),new Error("window.keplr is not defined")}function u(e=i.getState().walletType){switch(e){case"keplr":return pe();default:throw new Error("Unknown wallet type")}}async function l(e){try{let{defaultChain:t,recentChain:o,walletType:r}=i.getState(),n=(e==null?void 0:e.walletType)||r,c=u(n),s=e||o||t;if(!s)throw new Error("No last known connected chain, connect action requires chain info");i.setState(d=>{let ie=d._reconnect;return d.activeChain&&d.activeChain.chainId!==s.chainId?{status:"connecting"}:ie?{status:"reconnecting"}:{status:"connecting"}}),await c.enable(s.chainId);let m=c.getOfflineSigner(s.chainId),C=c.getOfflineSignerOnlyAmino(s.chainId),j=await c.getOfflineSignerAuto(s.chainId),te=s.gas?ue.fromString(`${s.gas.price}${s.gas.denom}`):void 0,[T,oe,re]=await Promise.all([c.getKey(s.chainId),h(s),f({...s,offlineSignerAuto:j,cosmWasmSignerOptions:{gasPrice:te,...(e==null?void 0:e.signerOpts)||{}}})]);return i.setState({account:T,activeChain:s,clients:oe,offlineSigner:m,offlineSignerAmino:C,offlineSignerAuto:j,recentChain:s,signingClients:re,status:"connected",walletType:n,_reconnect:!0}),T}catch(t){throw i.getState().account===null&&i.setState({status:"disconnected"}),t}}async function U(e=!1){return i.setState(t=>({...w,recentChain:e?null:t.recentChain})),Promise.resolve()}async function q(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 c=>o[r].getBalance(e,c.coinMinimalDenom)))}function p(){let{activeChain:e}=i.getState();e&&l(e)}function P(){i.setState({recentChain:null})}function hn(){return i.getState().recentChain}async function S(e){return await u().experimentalSuggestChain(e),e}async function K(e){let t=await S(e);return{account:await l(e),chain:t}}function B(e={}){return i.setState(t=>({defaultChain:e.defaultChain||t.defaultChain,defaultSigningClient:e.defaultSigningClient||e.defaultSigningClient,walletType:e.defaultWallet||t.walletType,_notFoundFn:e.onNotFound||t._notFoundFn})),e}import{Bech32Address as le}from"@keplr-wallet/cosmos";var N={coinDenom:"axl",coinMinimalDenom:"uaxl",coinDecimals:6,coinGeckoId:"axelar-network",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/axl.png"},ge={coinDenom:"usdc",coinMinimalDenom:"uusdc",coinDecimals:6,coinGeckoId:"usd-coin",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/usdc.png"},he={coinDenom:"dai",coinMinimalDenom:"dai-wei",coinDecimals:18,coinGeckoId:"dai",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/dai.png"},fe={coinDenom:"usdt",coinMinimalDenom:"uusdt",coinDecimals:6,coinGeckoId:"tether",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/usdt.png"},ye={coinDenom:"weth-wei",coinMinimalDenom:"weth",coinDecimals:18,coinGeckoId:"weth",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/weth.png"},Ce={coinDenom:"wbtc-satoshi",coinMinimalDenom:"wbtc",coinDecimals:8,coinGeckoId:"wrapped-bitcoin",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/wbtc.png"},E=[N,ge,he,fe,ye,Ce],A={rpc:"https://rpc.axelar.strange.love",rest:"https://api.axelar.strange.love",chainId:"axelar-dojo-1",chainName:"Axelar",stakeCurrency:N,bip44:{coinType:118},bech32Config:le.defaultBech32Config("axelar"),currencies:E,feeCurrencies:E};import{Bech32Address as de}from"@keplr-wallet/cosmos";var F={coinDenom:"atom",coinMinimalDenom:"uatom",coinDecimals:6,coinGeckoId:"cosmos",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/cosmoshub/images/atom.png"},R=[F],y={rpc:"https://rpc.cosmoshub.strange.love",rest:"https://api.cosmoshub.strange.love",chainId:"cosmoshub-4",chainName:"Cosmos Hub",stakeCurrency:F,bip44:{coinType:118},bech32Config:de.defaultBech32Config("cosmos"),currencies:R,feeCurrencies:R};import{Bech32Address as we}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"},Se={coinDenom:"neta",coinMinimalDenom:"cw20:juno168ctmpyppk90d34p3jjy658zf5a5l3w8wk35wht6ccqj4mr0yv8s4j5awr",coinDecimals:6,coinGeckoId:"neta",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/neta.png"},Ae={coinDenom:"marble",coinMinimalDenom:"cw20:juno1g2g7ucurum66d42g8k5twk34yegdq8c82858gz0tq2fc75zy7khssgnhjl",coinDecimals:3,coinGeckoId:"marble",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/marble.png"},xe={coinDenom:"hope",coinMinimalDenom:"cw20:juno1re3x67ppxap48ygndmrc7har2cnc7tcxtm9nplcas4v0gc3wnmvs3s807z",coinDecimals:6,coinGeckoId:"hope-galaxy",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/hope.png"},ke={coinDenom:"rac",coinMinimalDenom:"cw20:juno1r4pzw8f9z0sypct5l9j906d47z998ulwvhvqe5xdwgy8wf84583sxwh0pa",coinDecimals:6,coinGeckoId:"racoon",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/rac.png"},Ie={coinDenom:"block",coinMinimalDenom:"cw20:juno1y9rf7ql6ffwkv02hsgd4yruz23pn4w97p75e2slsnkm0mnamhzysvqnxaq",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/block.png"},De={coinDenom:"dhk",coinMinimalDenom:"cw20:juno1tdjwrqmnztn2j3sj2ln9xnyps5hs48q3ddwjrz7jpv6mskappjys5czd49",coinDecimals:0,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/dhk.png"},ve={coinDenom:"raw",coinMinimalDenom:"cw20:juno15u3dt79t6sxxa3x3kpkhzsy56edaa5a66wvt3kxmukqjz2sx0hes5sn38g",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/raw.png",coinGeckoId:"junoswap-raw-dao"},Ge={coinDenom:"asvt",coinMinimalDenom:"cw20:juno17wzaxtfdw5em7lc94yed4ylgjme63eh73lm3lutp2rhcxttyvpwsypjm4w",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/asvt.png"},be={coinDenom:"hns",coinMinimalDenom:"cw20:juno1ur4jx0sxchdevahep7fwq28yk4tqsrhshdtylz46yka3uf6kky5qllqp4k",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/hns.svg"},ze={coinDenom:"joe",coinMinimalDenom:"cw20:juno1n7n7d5088qlzlj37e9mgmkhx6dfgtvt02hqxq66lcap4dxnzdhwqfmgng3",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/joe.png"},L=[_,Se,Ae,xe,ke,Ie,De,ve,Ge,be,ze],x={rpc:"https://rpc.juno.strange.love",rest:"https://api.juno.strange.love",chainId:"juno-1",chainName:"Juno",stakeCurrency:_,bip44:{coinType:118},bech32Config:we.defaultBech32Config("juno"),currencies:L,feeCurrencies:L};import{Bech32Address as je}from"@keplr-wallet/cosmos";var Q={coinDenom:"osmo",coinMinimalDenom:"uosmo",coinDecimals:6,coinGeckoId:"osmosis",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/cosmoshub/images/atom.png"},Te={coinDenom:"ion",coinMinimalDenom:"uion",coinDecimals:6,coinGeckoId:"ion",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/ion.png"},H=[Q,Te],k={rpc:"https://rpc.osmosis.strange.love",rest:"https://api.osmosis.strange.love",chainId:"osmosis-1",chainName:"Osmosis",stakeCurrency:Q,bip44:{coinType:118},bech32Config:je.defaultBech32Config("osmo"),currencies:H,feeCurrencies:H};import{Bech32Address as Oe}from"@keplr-wallet/cosmos";var V={coinDenom:"somm",coinMinimalDenom:"usomm",coinDecimals:6,coinGeckoId:"sommelier",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/sommelier/images/somm.png"},J=[V],I={rpc:"https://rpc.sommelier.strange.love",rest:"https://api.sommelier.strange.love",chainId:"sommelier-3",chainName:"Sommelier",stakeCurrency:V,bip44:{coinType:118},bech32Config:Oe.defaultBech32Config("somm"),currencies:J,feeCurrencies:J};import{Bech32Address as We}from"@keplr-wallet/cosmos";var $={coinDenom:"CRE",coinMinimalDenom:"ucre",coinDecimals:6,coinGeckoId:"crescent",coinImageUrl:"https://raw.githubusercontent.com/crescent-network/asset/main/images/coin/CRE.png"},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:We.defaultBech32Config("CRE"),currencies:X,feeCurrencies:X,stakeCurrency:$,coinType:118};import{Bech32Address as Me}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"},Ue=[v],G={rpc:"https://rpc.uni.junonetwork.io",rest:"https://api.uni.junonetwork.io",chainId:"uni-3",chainName:"Juno Testnet",stakeCurrency:v,bip44:{coinType:118},bech32Config:Me.defaultBech32Config("juno"),currencies:Ue,feeCurrencies:[v],coinType:118};import{Bech32Address as qe}from"@keplr-wallet/cosmos";var b={coinDenom:"osmo",coinMinimalDenom:"uosmo",coinDecimals:6,coinGeckoId:"osmosis",coinImageUrl:"https://dhj8dql1kzq2v.cloudfront.net/white/osmo.png"},Pe=[b],z={rpc:"https://testnet-rpc.osmosis.zone",rest:"https://testnet-rest.osmosis.zone",chainId:"osmo-test-4",chainName:"Osmosis Testnet",stakeCurrency:b,bip44:{coinType:118},bech32Config:qe.defaultBech32Config("osmo"),currencies:Pe,feeCurrencies:[b],coinType:118};function Rn(e){return e}function Fn(e){return e}function Ln(e){return e}var _n={axelar:A,cosmos:y,cosmoshub:y,juno:x,osmosis:k,sommelier:I},Hn=[A,y,x,k,I],Qn={crescent:D,juno:G,osmosis:z},Jn=[D,G,z];import{useMutation as Y,useQuery as Be}from"@tanstack/react-query";import{useEffect as Ee}from"react";import Ne from"zustand/shallow";import{useQuery as Ke}from"@tanstack/react-query";function Zn(){return g("keplr")}function g(e){let t=i(r=>e||r.walletType);return Ke(["USE_CHECK_WALLET",t],({queryKey:[,r]})=>M(r))}function Re({onConnect:e,onDisconnect:t}={}){let o=i(n=>n.account),r=i(n=>n.status);return Ee(()=>i.subscribe(n=>n.status,(n,c)=>{if(n==="connected"){let s=i.getState();e==null||e({account:s.account,isReconnect:c==="reconnecting"})}n==="disconnected"&&(t==null||t())}),[e,t]),{data:o,isConnected:Boolean(o),isConnecting:r==="connecting",isDisconnected:r==="disconnected",isReconnecting:r==="reconnecting",reconnect:p,status:r}}function ct(e){let{data:t}=Re(),o=e||(t==null?void 0:t.bech32Address),n=Be(["USE_BALANCES",o],({queryKey:[,c]})=>q(c),{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 at({onError:e,onLoading:t,onSuccess:o}={}){let n=Y(["USE_CONNECT",e,t,o],l,{onError:(s,m)=>Promise.resolve(e==null?void 0:e(s,m)),onMutate:t,onSuccess:s=>Promise.resolve(o==null?void 0:o(s))}),{data:c}=g();return{connect:s=>n.mutate(s),connectAsync:s=>n.mutateAsync(s),error:n.error,isLoading:n.isLoading,isSuccess:n.isSuccess,isSupported:Boolean(c),status:n.status}}function mt({onError:e,onLoading:t,onSuccess:o}={}){let n=Y(["USE_DISCONNECT",e,t,o],U,{onError:c=>Promise.resolve(e==null?void 0:e(c,void 0)),onMutate:t,onSuccess:()=>Promise.resolve(o==null?void 0:o(void 0))});return{disconnect:c=>n.mutate(c),disconnectAsync:c=>n.mutateAsync(c),error:n.error,isLoading:n.isLoading,isSuccess:n.isSuccess,status:n.status}}function pt(){return i(e=>({signer:e.offlineSigner,signerAmino:e.offlineSignerAmino,signerAuto:e.offlineSignerAuto}),Ne)}import{useMutation as Z}from"@tanstack/react-query";function yt(){return i(e=>e.activeChain)}function Ct(){return{data:i(t=>t.recentChain),clear:P}}function dt({onError:e,onLoading:t,onSuccess:o}={}){let n=Z(["USE_SUGGEST_CHAIN",e,t,o],S,{onError:(c,s)=>Promise.resolve(e==null?void 0:e(c,s)),onMutate:t,onSuccess:c=>Promise.resolve(o==null?void 0:o(c))});return{error:n.error,isLoading:n.isLoading,isSuccess:n.isSuccess,suggest:n.mutate,suggestAsync:n.mutateAsync,status:n.status}}function wt({onError:e,onLoading:t,onSuccess:o}={}){let n=Z(["USE_SUGGEST_CHAIN_AND_CONNECT",e,t,o],K,{onError:(s,m)=>Promise.resolve(e==null?void 0:e(s,m)),onMutate:t,onSuccess:s=>Promise.resolve(o==null?void 0:o(s))}),{data:c}=g();return{error:n.error,isLoading:n.isLoading,isSuccess:n.isSuccess,isSupported:Boolean(c),status:n.status,suggestAndConnect:n.mutate,suggestAndConnectAsync:n.mutateAsync}}import{useQuery as ee}from"@tanstack/react-query";function It(e){let t=i(n=>n.clients),r=ee(["USE_CLIENTS",e,t],({queryKey:[,n,c]})=>n!=null&&n.rpc?h(n):c,{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 Dt(e){let t=i(n=>n.signingClients),r=ee(["USE_SIGNING_CLIENTS",e,t],({queryKey:[,n,c]})=>n!=null&&n.rpc?f(n):c,{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 _e,QueryClientProvider as He}from"@tanstack/react-query";import{useEffect as Fe}from"react";function Le(){return Fe(()=>{let{_reconnect:e}=i.getState();return e&&p(),window.addEventListener("keplr_keystorechange",p),()=>{window.removeEventListener("keplr_keystorechange",p)}},[]),null}function ne(){return Le(),null}import{jsx as Je,jsxs as Ve}from"react/jsx-runtime";var Qe=new _e({});function Mt({children:e,grazOptions:t,...o}){return t&&B(t),Ve(He,{client:Qe,...o,children:[Je(ne,{}),e]})}export{ne as GrazEvents,Mt as GrazProvider,M as checkWallet,P as clearRecentChain,B as configureGraz,l as connect,h as createClients,f as createSigningClients,Fn as defineChain,Ln as defineChainInfo,Rn as defineChains,U as disconnect,q as getBalances,pe as getKeplr,hn as getRecentChain,u as getWallet,_n as mainnetChains,Hn as mainnetChainsArray,p as reconnect,S as suggestChain,K as suggestChainAndConnect,Qn as testnetChains,Jn as testnetChainsArray,Re as useAccount,yt as useActiveChain,ct as useBalances,Zn as useCheckKeplr,g as useCheckWallet,It as useClients,at as useConnect,mt as useDisconnect,Le as useGrazEvents,Ct as useRecentChain,pt as useSigners,Dt as useSigningClients,dt as useSuggestChain,wt 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.21",
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",