graz 0.0.22 → 0.0.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,9 +1,11 @@
1
1
  import { SigningCosmWasmClientOptions, CosmWasmClient, SigningCosmWasmClient } from '@cosmjs/cosmwasm-stargate';
2
+ import { ChainInfo, AppCurrency, Key, Keplr } from '@keplr-wallet/types';
2
3
  import * as _cosmjs_proto_signing from '@cosmjs/proto-signing';
3
4
  import { Coin, OfflineSigner, OfflineDirectSigner } from '@cosmjs/proto-signing';
4
- import { ChainInfo, AppCurrency, Key, Keplr } from '@keplr-wallet/types';
5
- import { QueryClient, StargateClient, SigningStargateClient, SigningStargateClientOptions, StakingExtension } from '@cosmjs/stargate';
5
+ import * as _cosmjs_stargate from '@cosmjs/stargate';
6
+ import { QueryClient, StargateClient, SigningStargateClient, SigningStargateClientOptions, StdFee, DeliverTxResponse, StakingExtension } from '@cosmjs/stargate';
6
7
  import { Tendermint34Client } from '@cosmjs/tendermint-rpc';
8
+ import { Height } from 'cosmjs-types/ibc/core/client/v1/client';
7
9
  import * as _tanstack_react_query from '@tanstack/react-query';
8
10
  import { UseQueryResult, QueryClientProviderProps } from '@tanstack/react-query';
9
11
  import { BondStatusString } from '@cosmjs/stargate/build/modules/staking/queries';
@@ -11,7 +13,6 @@ import { QueryValidatorsResponse } from 'cosmjs-types/cosmos/staking/v1beta1/que
11
13
 
12
14
  declare type Dictionary<T = string> = Record<string, T>;
13
15
  declare type Maybe<T> = T | undefined;
14
- declare type WalletType = "keplr";
15
16
 
16
17
  interface ChainInfoWithPath extends ChainInfo {
17
18
  path: string;
@@ -143,17 +144,21 @@ declare const testnetChains: {
143
144
  */
144
145
  declare const testnetChainsArray: ChainInfo[];
145
146
 
147
+ declare enum WalletType {
148
+ KEPLR = "keplr",
149
+ LEAP = "leap"
150
+ }
151
+ declare const WALLET_TYPES: WalletType[];
152
+
146
153
  declare type ConnectArgs = Maybe<GrazChain & {
147
154
  signerOpts?: SigningCosmWasmClientOptions;
148
155
  walletType?: WalletType;
149
156
  }>;
150
157
  declare function connect(args?: ConnectArgs): Promise<Key>;
151
158
  declare function disconnect(clearRecentChain?: boolean): Promise<void>;
152
- declare function getBalances(bech32Address: string): Promise<Coin[]>;
153
- declare function getStakedBalances(bech32Address: string): Promise<Coin | null>;
154
159
  declare function reconnect(): void;
155
160
 
156
- declare type ExtensionSetup<P> = (queryClient: QueryClient) => P;
161
+ declare type ExtensionSetup<P extends object = object> = (queryClient: QueryClient) => P;
157
162
 
158
163
  /**
159
164
  * Note: `createQueryClient` creates \@cosmjs/stargate's {@link QueryClient},
@@ -169,15 +174,6 @@ declare function createQueryClient<A extends object, B extends object, C extends
169
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>(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
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>(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
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>(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
177
 
182
178
  declare function clearRecentChain(): void;
183
179
  declare function getActiveChainCurrency(denom: string): AppCurrency | undefined;
@@ -230,6 +226,29 @@ interface ConfigureGrazArgs {
230
226
  }
231
227
  declare function configureGraz(args?: ConfigureGrazArgs): ConfigureGrazArgs;
232
228
 
229
+ declare function getBalances(bech32Address: string): Promise<Coin[]>;
230
+ declare function getStakedBalances(bech32Address: string): Promise<Coin | null>;
231
+ interface SendTokensArgs {
232
+ senderAddress?: string;
233
+ recipientAddress: string;
234
+ amount: Coin[];
235
+ fee: number | StdFee | "auto";
236
+ memo?: string;
237
+ }
238
+ declare function sendTokens({ senderAddress, recipientAddress, amount, fee, memo, }: SendTokensArgs): Promise<DeliverTxResponse>;
239
+ interface SendIbcTokensArgs {
240
+ senderAddress?: string;
241
+ recipientAddress: string;
242
+ transferAmount: Coin;
243
+ sourcePort: string;
244
+ sourceChannel: string;
245
+ timeoutHeight?: Height;
246
+ timeoutTimestamp?: number;
247
+ fee: number | StdFee | "auto";
248
+ memo: string;
249
+ }
250
+ declare function sendIbcTokens({ senderAddress, recipientAddress, transferAmount, sourcePort, sourceChannel, timeoutHeight, timeoutTimestamp, fee, memo, }: SendIbcTokensArgs): Promise<DeliverTxResponse>;
251
+
233
252
  /**
234
253
  * Function to check whether given {@link WalletType} or default configured wallet exists.
235
254
  *
@@ -255,6 +274,21 @@ declare function checkWallet(type?: WalletType): boolean;
255
274
  * @see https://docs.keplr.app
256
275
  */
257
276
  declare function getKeplr(): Keplr;
277
+ /**
278
+ * Function to return Leap object (which is {@link Keplr}) and throws and error if it does not exist on `window`.
279
+ *
280
+ * @example
281
+ * ```ts
282
+ * try {
283
+ * const leap = getLeap();
284
+ * } catch (error: Error) {
285
+ * console.error(error.message);
286
+ * }
287
+ * ```
288
+ *
289
+ * @see https://docs.keplr.app
290
+ */
291
+ declare function getLeap(): Keplr;
258
292
  /**
259
293
  * Function to return wallet object based on given {@link WalletType} or from store and throws an error if it does not
260
294
  * exist on `window` or unknown wallet type.
@@ -268,6 +302,7 @@ declare function getKeplr(): Keplr;
268
302
  * @see {@link getKeplr}
269
303
  */
270
304
  declare function getWallet(type?: WalletType): Keplr;
305
+ declare function getAvailableWallets(): Record<WalletType, boolean>;
271
306
 
272
307
  interface GrazAdapter {
273
308
  name: string;
@@ -505,7 +540,7 @@ declare function useActiveChainCurrency(denom: string): UseQueryResult<AppCurren
505
540
  * const { data: response, ... } = useActiveChainValidators(queryClient);
506
541
  * ```
507
542
  */
508
- declare function useActiveChainValidators<T extends QueryClient & StakingExtension>(queryClient: T, status?: BondStatusString): UseQueryResult<QueryValidatorsResponse>;
543
+ declare function useActiveChainValidators<T extends QueryClient & StakingExtension>(queryClient: T | undefined, status?: BondStatusString): UseQueryResult<QueryValidatorsResponse>;
509
544
  /**
510
545
  * graz hook to retrieve last connected chain info
511
546
  *
@@ -630,15 +665,6 @@ declare function useQueryClient<A extends object, B extends object, C extends ob
630
665
  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
666
  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
667
  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
668
 
643
669
  /**
644
670
  * graz query hook to retrieve a CosmWasmClient. If there's no given arguments it will be using the current connected client
@@ -675,6 +701,60 @@ declare function useClients(args?: CreateClientArgs): UseQueryResult<GrazStore["
675
701
  */
676
702
  declare function useSigningClients(args?: CreateSigningClientArgs): UseQueryResult<GrazStore["signingClients"]>;
677
703
 
704
+ /**
705
+ * graz mutation hook to send tokens. Note: if `senderAddress` undefined, it will use current connected account address.
706
+ *
707
+ * @example
708
+ * ```ts
709
+ * import { useSendTokens } from "graz";
710
+ *
711
+ * // basic example
712
+ * const { sendTokens } = useSendTokens();
713
+ *
714
+ * sendTokens({
715
+ * recipientAddress: "cosmos1g3jjhgkyf36pjhe7u5cw8j9u6cgl8x929ej430";
716
+ * amount: [coin];
717
+ * ...
718
+ * })
719
+ * ```
720
+ *
721
+ * @see {@link sendTokens}
722
+ */
723
+ declare function useSendTokens({ onError, onLoading, onSuccess }?: MutationEventArgs): {
724
+ error: unknown;
725
+ isLoading: boolean;
726
+ isSuccess: boolean;
727
+ sendTokens: _tanstack_react_query.UseMutateFunction<_cosmjs_stargate.DeliverTxResponse, unknown, SendTokensArgs, unknown>;
728
+ sendTokensAsync: _tanstack_react_query.UseMutateAsyncFunction<_cosmjs_stargate.DeliverTxResponse, unknown, SendTokensArgs, unknown>;
729
+ status: "error" | "idle" | "loading" | "success";
730
+ };
731
+ /**
732
+ * graz mutation hook to send IBC tokens. Note: if `senderAddress` undefined, it will use current connected account address.
733
+ *
734
+ *
735
+ * @example
736
+ * ```ts
737
+ * import { useSendIbcTokens } from "graz";
738
+ *
739
+ * // basic example
740
+ * const { sendIbcTokens } = useSendIbcTokens();
741
+ *
742
+ * sendIbcTokens({
743
+ * recipientAddress: "cosmos1g3jjhgkyf36pjhe7u5cw8j9u6cgl8x929ej430",
744
+ * transferAmount: coin,
745
+ * ...
746
+ * })
747
+ * ```
748
+ */
749
+ declare function useSendIbcTokens({ onError, onLoading, onSuccess }?: MutationEventArgs): {
750
+ error: unknown;
751
+ isLoading: boolean;
752
+ isSuccess: boolean;
753
+ sendIbcTokens: _tanstack_react_query.UseMutateFunction<_cosmjs_stargate.DeliverTxResponse, unknown, SendIbcTokensArgs, unknown>;
754
+ sendIbcTokensAsync: _tanstack_react_query.UseMutateAsyncFunction<_cosmjs_stargate.DeliverTxResponse, unknown, SendIbcTokensArgs, unknown>;
755
+ status: "error" | "idle" | "loading" | "success";
756
+ };
757
+
678
758
  /**
679
759
  * graz hook which returns boolean whether Keplr Wallet is supported
680
760
  *
@@ -737,4 +817,4 @@ declare function useGrazEvents(): null;
737
817
  */
738
818
  declare function GrazEvents(): null;
739
819
 
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 };
820
+ export { ChainInfoWithPath, ConfigureGrazArgs, ConnectArgs, CreateClientArgs, CreateSigningClientArgs, Dictionary, GrazAdapter, GrazChain, GrazEvents, GrazProvider, GrazProviderProps, Maybe, SendIbcTokensArgs, SendTokensArgs, UseAccountArgs, UseConnectChainArgs, UseSuggestChainAndConnectArgs, UseSuggestChainArgs, WALLET_TYPES, WalletType, checkWallet, clearRecentChain, configureGraz, connect, createClients, createQueryClient, createSigningClients, defineChain, defineChainInfo, defineChains, disconnect, getActiveChainCurrency, getAvailableWallets, getBalances, getKeplr, getLeap, getRecentChain, getStakedBalances, getWallet, mainnetChains, mainnetChainsArray, reconnect, sendIbcTokens, sendTokens, suggestChain, suggestChainAndConnect, testnetChains, testnetChainsArray, useAccount, useActiveChain, useActiveChainCurrency, useActiveChainValidators, useBalance, useBalances, useCheckKeplr, useCheckWallet, useClients, useConnect, useDisconnect, useGrazEvents, useOfflineSigners, useQueryClient, useRecentChain, useSendIbcTokens, useSendTokens, useSigners, useSigningClients, useStakedBalances, useSuggestChain, useSuggestChainAndConnect };
package/dist/index.js CHANGED
@@ -1 +1 @@
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});
1
+ "use strict";var it=Object.create;var I=Object.defineProperty;var ct=Object.getOwnPropertyDescriptor;var ut=Object.getOwnPropertyNames;var at=Object.getPrototypeOf,pt=Object.prototype.hasOwnProperty;var mt=(e,t)=>()=>(e&&(t=e(e=0)),t);var w=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),lt=(e,t)=>{for(var n in t)I(e,n,{get:t[n],enumerable:!0})},fe=(e,t,n,c)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of ut(t))!pt.call(e,o)&&o!==n&&I(e,o,{get:()=>t[o],enumerable:!(c=ct(t,o))||c.enumerable});return e};var B=(e,t,n)=>(n=e!=null?it(at(e)):{},fe(t||!e||!e.__esModule?I(n,"default",{value:e,enumerable:!0}):n,e)),ft=e=>fe(I({},"__esModule",{value:!0}),e);var a,r=mt(()=>{"use strict";a=B(require("react"))});var de=w(C=>{"use strict";r();Object.defineProperty(C,"__esModule",{value:!0});C.arrayContentStartsWith=C.arrayContentEquals=void 0;function dt(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;++n)if(e[n]!==t[n])return!1;return!0}C.arrayContentEquals=dt;function gt(e,t){if(e.length<t.length)return!1;for(let n=0;n<t.length;++n)if(e[n]!==t[n])return!1;return!0}C.arrayContentStartsWith=gt});var ge=w(f=>{"use strict";r();Object.defineProperty(f,"__esModule",{value:!0});f.assertDefinedAndNotNull=f.assertDefined=f.assert=void 0;function Ct(e,t){if(!e)throw new Error(t||"condition is not truthy")}f.assert=Ct;function ht(e,t){if(e===void 0)throw new Error(t??"value is undefined")}f.assertDefined=ht;function xt(e,t){if(e==null)throw new Error(t??"value is undefined or null")}f.assertDefinedAndNotNull=xt});var Ce=w(v=>{"use strict";r();Object.defineProperty(v,"__esModule",{value:!0});v.sleep=void 0;async function St(e){return new Promise(t=>setTimeout(t,e))}v.sleep=St});var xe=w(h=>{"use strict";r();Object.defineProperty(h,"__esModule",{value:!0});h.isUint8Array=h.isNonNullObject=void 0;function he(e){return typeof e=="object"&&e!==null}h.isNonNullObject=he;function At(e){return!(!he(e)||Object.prototype.toString.call(e)!=="[object Uint8Array]"||typeof Buffer<"u"&&typeof Buffer.isBuffer<"u"&&Buffer.isBuffer(e))}h.isUint8Array=At});var be=w(m=>{"use strict";r();Object.defineProperty(m,"__esModule",{value:!0});m.isUint8Array=m.isNonNullObject=m.sleep=m.assertDefinedAndNotNull=m.assertDefined=m.assert=m.arrayContentStartsWith=m.arrayContentEquals=void 0;var Se=de();Object.defineProperty(m,"arrayContentEquals",{enumerable:!0,get:function(){return Se.arrayContentEquals}});Object.defineProperty(m,"arrayContentStartsWith",{enumerable:!0,get:function(){return Se.arrayContentStartsWith}});var K=ge();Object.defineProperty(m,"assert",{enumerable:!0,get:function(){return K.assert}});Object.defineProperty(m,"assertDefined",{enumerable:!0,get:function(){return K.assertDefined}});Object.defineProperty(m,"assertDefinedAndNotNull",{enumerable:!0,get:function(){return K.assertDefinedAndNotNull}});var bt=Ce();Object.defineProperty(m,"sleep",{enumerable:!0,get:function(){return bt.sleep}});var Ae=xe();Object.defineProperty(m,"isNonNullObject",{enumerable:!0,get:function(){return Ae.isNonNullObject}});Object.defineProperty(m,"isUint8Array",{enumerable:!0,get:function(){return Ae.isUint8Array}})});var gn={};lt(gn,{GrazEvents:()=>pe,GrazProvider:()=>dn,WALLET_TYPES:()=>P,WalletType:()=>z,checkWallet:()=>G,clearRecentChain:()=>_,configureGraz:()=>V,connect:()=>A,createClients:()=>D,createQueryClient:()=>W,createSigningClients:()=>k,defineChain:()=>Ft,defineChainInfo:()=>_t,defineChains:()=>Rt,disconnect:()=>F,getActiveChainCurrency:()=>H,getAvailableWallets:()=>Et,getBalances:()=>J,getKeplr:()=>we,getLeap:()=>De,getRecentChain:()=>jt,getStakedBalances:()=>Y,getWallet:()=>S,mainnetChains:()=>Ht,mainnetChainsArray:()=>Lt,reconnect:()=>d,sendIbcTokens:()=>X,sendTokens:()=>$,suggestChain:()=>q,suggestChainAndConnect:()=>L,testnetChains:()=>Vt,testnetChainsArray:()=>Jt,useAccount:()=>E,useActiveChain:()=>nn,useActiveChainCurrency:()=>on,useActiveChainValidators:()=>rn,useBalance:()=>$t,useBalances:()=>$e,useCheckKeplr:()=>Yt,useCheckWallet:()=>b,useClients:()=>pn,useConnect:()=>Xt,useDisconnect:()=>Zt,useGrazEvents:()=>tt,useOfflineSigners:()=>Xe,useQueryClient:()=>an,useRecentChain:()=>sn,useSendIbcTokens:()=>fn,useSendTokens:()=>ln,useSigners:()=>en,useSigningClients:()=>mn,useStakedBalances:()=>tn,useSuggestChain:()=>cn,useSuggestChainAndConnect:()=>un});module.exports=ft(gn);r();r();var ke=require("@cosmjs/stargate");r();var ye=B(require("zustand")),T=require("zustand/middleware");r();var z=(n=>(n.KEPLR="keplr",n.LEAP="leap",n))(z||{}),P=["keplr","leap"];var N={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},yt={name:"graz",partialize:e=>({activeChain:e.activeChain,recentChain:e.recentChain,_reconnect:e._reconnect}),version:1},u=(0,ye.default)((0,T.subscribeWithSelector)((0,T.persist)(()=>N,yt)));r();var M=require("@cosmjs/cosmwasm-stargate"),R=require("@cosmjs/stargate"),je=require("@cosmjs/tendermint-rpc");r();var Ee=require("@cosmjs/stargate"),x=B(be());function W(...e){let{tendermint:t}=u.getState().clients,n=new Ee.QueryClient(t),c=e.map(o=>o(n));for(let o of c){(0,x.assert)((0,x.isNonNullObject)(o),"Extension must be a non-null object");for(let[i,s]of Object.entries(o)){(0,x.assert)((0,x.isNonNullObject)(s),`Module must be a non-null object. Found type ${typeof s} for module "${i}".`);let p=n[i]||{};n[i]={...p,...s}}}return n}async function D({rpc:e,rpcHeaders:t}){let n={url:e,headers:{...t||{}}},[c,o,i]=await Promise.all([M.SigningCosmWasmClient.connect(n),R.SigningStargateClient.connect(n),je.Tendermint34Client.connect(e)]);return{cosmWasm:c,stargate:o,tendermint:i}}async function k(e){let{rpc:t,rpcHeaders:n,offlineSignerAuto:c,cosmWasmSignerOptions:o={},stargateSignerOptions:i={}}=e,s={url:t,headers:{...n||{}}},[p,l]=await Promise.all([M.SigningCosmWasmClient.connectWithSigner(s,c,o),R.SigningStargateClient.connectWithSigner(s,c,i)]);return{cosmWasm:p,stargate:l}}r();function G(e=u.getState().walletType){try{return S(e),!0}catch(t){return console.error(t),!1}}function we(){if(typeof window.keplr<"u")return window.keplr;throw u.getState()._notFoundFn(),new Error("window.keplr is not defined")}function De(){if(typeof window.leap<"u")return window.leap;throw u.getState()._notFoundFn(),new Error("window.leap is not defined")}function S(e=u.getState().walletType){switch(e){case"keplr":return we();case"leap":return De();default:throw new Error("Unknown wallet type")}}function Et(){return Object.fromEntries(P.map(e=>[e,G(e)]))}async function A(e){try{let{defaultChain:t,recentChain:n,walletType:c}=u.getState(),o=(e==null?void 0:e.walletType)||c,i=S(o),s=e||n||t;if(!s)throw new Error("No last known connected chain, connect action requires chain info");u.setState(O=>{let st=O._reconnect;return O.activeChain&&O.activeChain.chainId!==s.chainId?{status:"connecting"}:st?{status:"reconnecting"}:{status:"connecting"}}),await i.enable(s.chainId);let p=i.getOfflineSigner(s.chainId),l=i.getOfflineSignerOnlyAmino(s.chainId),y=await i.getOfflineSignerAuto(s.chainId),nt=s.gas?ke.GasPrice.fromString(`${s.gas.price}${s.gas.denom}`):void 0,[le,ot,rt]=await Promise.all([i.getKey(s.chainId),D(s),k({...s,offlineSignerAuto:y,cosmWasmSignerOptions:{gasPrice:nt,...(e==null?void 0:e.signerOpts)||{}}})]);return u.setState({account:le,activeChain:s,clients:ot,offlineSigner:p,offlineSignerAmino:l,offlineSignerAuto:y,recentChain:s,signingClients:rt,status:"connected",walletType:o,_reconnect:!0}),le}catch(t){throw u.getState().account===null&&u.setState({status:"disconnected"}),t}}async function F(e=!1){return u.setState(t=>({...N,recentChain:e?null:t.recentChain})),Promise.resolve()}function d(){let{activeChain:e}=u.getState();e&&A(e)}r();function _(){u.setState({recentChain:null})}function H(e){let{activeChain:t}=u.getState();return t==null?void 0:t.currencies.find(n=>n.coinMinimalDenom===e)}function jt(){return u.getState().recentChain}async function q(e){return await S().experimentalSuggestChain(e),e}async function L(e){let t=await q(e);return{account:await A(e),chain:t}}r();function V(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}r();async function J(e){let{activeChain:t,signingClients:n}=u.getState();if(!t||!n)throw new Error("No connected account detected");let{defaultSigningClient:c}=u.getState();return await Promise.all(t.currencies.map(async i=>n[c].getBalance(e,i.coinMinimalDenom)))}async function Y(e){let{clients:t}=u.getState();if(!(t!=null&&t.stargate))throw new Error("Stargate client is not ready");return t.stargate.getBalanceStaked(e)}async function $({senderAddress:e,recipientAddress:t,amount:n,fee:c,memo:o}){let{signingClients:i,defaultSigningClient:s}=u.getState();if(!i)throw new Error("No connected account detected");if(!e)throw new Error("senderAddress is not defined");return i[s].sendTokens(e,t,n,c,o)}async function X({senderAddress:e,recipientAddress:t,transferAmount:n,sourcePort:c,sourceChannel:o,timeoutHeight:i,timeoutTimestamp:s,fee:p,memo:l}){let{signingClients:y}=u.getState();if(!(y!=null&&y.stargate))throw new Error("Stargate signing client is not ready");if(!e)throw new Error("senderAddress is not defined");return y.stargate.sendIbcTokens(e,t,n,c,o,i,s,p,l)}r();r();var Be=require("@keplr-wallet/cosmos"),Te={coinDenom:"axl",coinMinimalDenom:"uaxl",coinDecimals:6,coinGeckoId:"axelar-network",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/axl.png"},wt={coinDenom:"usdc",coinMinimalDenom:"uusdc",coinDecimals:6,coinGeckoId:"usd-coin",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/usdc.png"},Dt={coinDenom:"dai",coinMinimalDenom:"dai-wei",coinDecimals:18,coinGeckoId:"dai",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/dai.png"},kt={coinDenom:"usdt",coinMinimalDenom:"uusdt",coinDecimals:6,coinGeckoId:"tether",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/usdt.png"},It={coinDenom:"weth-wei",coinMinimalDenom:"weth",coinDecimals:18,coinGeckoId:"weth",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/weth.png"},Bt={coinDenom:"wbtc-satoshi",coinMinimalDenom:"wbtc",coinDecimals:8,coinGeckoId:"wrapped-bitcoin",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/wbtc.png"},Ie=[Te,wt,Dt,kt,It,Bt],Z={rpc:"https://rpc.axelar.strange.love",rest:"https://api.axelar.strange.love",chainId:"axelar-dojo-1",chainName:"Axelar",stakeCurrency:Te,bip44:{coinType:118},bech32Config:Be.Bech32Address.defaultBech32Config("axelar"),currencies:Ie,feeCurrencies:Ie};r();var Ge=require("@keplr-wallet/cosmos"),qe={coinDenom:"atom",coinMinimalDenom:"uatom",coinDecimals:6,coinGeckoId:"cosmos",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/cosmoshub/images/atom.png"},ve=[qe],U={rpc:"https://rpc.cosmoshub.strange.love",rest:"https://api.cosmoshub.strange.love",chainId:"cosmoshub-4",chainName:"Cosmos Hub",stakeCurrency:qe,bip44:{coinType:118},bech32Config:Ge.Bech32Address.defaultBech32Config("cosmos"),currencies:ve,feeCurrencies:ve};r();var Qe=require("@keplr-wallet/cosmos"),Oe={coinDenom:"juno",coinMinimalDenom:"ujuno",coinDecimals:6,coinGeckoId:"juno-network",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/juno.png"},Tt={coinDenom:"neta",coinMinimalDenom:"cw20:juno168ctmpyppk90d34p3jjy658zf5a5l3w8wk35wht6ccqj4mr0yv8s4j5awr",coinDecimals:6,coinGeckoId:"neta",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/neta.png"},vt={coinDenom:"marble",coinMinimalDenom:"cw20:juno1g2g7ucurum66d42g8k5twk34yegdq8c82858gz0tq2fc75zy7khssgnhjl",coinDecimals:3,coinGeckoId:"marble",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/marble.png"},Gt={coinDenom:"hope",coinMinimalDenom:"cw20:juno1re3x67ppxap48ygndmrc7har2cnc7tcxtm9nplcas4v0gc3wnmvs3s807z",coinDecimals:6,coinGeckoId:"hope-galaxy",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/hope.png"},qt={coinDenom:"rac",coinMinimalDenom:"cw20:juno1r4pzw8f9z0sypct5l9j906d47z998ulwvhvqe5xdwgy8wf84583sxwh0pa",coinDecimals:6,coinGeckoId:"racoon",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/rac.png"},Ut={coinDenom:"block",coinMinimalDenom:"cw20:juno1y9rf7ql6ffwkv02hsgd4yruz23pn4w97p75e2slsnkm0mnamhzysvqnxaq",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/block.png"},Qt={coinDenom:"dhk",coinMinimalDenom:"cw20:juno1tdjwrqmnztn2j3sj2ln9xnyps5hs48q3ddwjrz7jpv6mskappjys5czd49",coinDecimals:0,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/dhk.png"},Ot={coinDenom:"raw",coinMinimalDenom:"cw20:juno15u3dt79t6sxxa3x3kpkhzsy56edaa5a66wvt3kxmukqjz2sx0hes5sn38g",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/raw.png",coinGeckoId:"junoswap-raw-dao"},zt={coinDenom:"asvt",coinMinimalDenom:"cw20:juno17wzaxtfdw5em7lc94yed4ylgjme63eh73lm3lutp2rhcxttyvpwsypjm4w",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/asvt.png"},Pt={coinDenom:"hns",coinMinimalDenom:"cw20:juno1ur4jx0sxchdevahep7fwq28yk4tqsrhshdtylz46yka3uf6kky5qllqp4k",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/hns.svg"},Nt={coinDenom:"joe",coinMinimalDenom:"cw20:juno1n7n7d5088qlzlj37e9mgmkhx6dfgtvt02hqxq66lcap4dxnzdhwqfmgng3",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/joe.png"},Ue=[Oe,Tt,vt,Gt,qt,Ut,Qt,Ot,zt,Pt,Nt],ee={rpc:"https://rpc.juno.strange.love",rest:"https://api.juno.strange.love",chainId:"juno-1",chainName:"Juno",stakeCurrency:Oe,bip44:{coinType:118},bech32Config:Qe.Bech32Address.defaultBech32Config("juno"),currencies:Ue,feeCurrencies:Ue};r();var Pe=require("@keplr-wallet/cosmos"),Ne={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"},ze=[Ne,Kt],te={rpc:"https://rpc.osmosis.strange.love",rest:"https://api.osmosis.strange.love",chainId:"osmosis-1",chainName:"Osmosis",stakeCurrency:Ne,bip44:{coinType:118},bech32Config:Pe.Bech32Address.defaultBech32Config("osmo"),currencies:ze,feeCurrencies:ze};r();var We=require("@keplr-wallet/cosmos"),Me={coinDenom:"somm",coinMinimalDenom:"usomm",coinDecimals:6,coinGeckoId:"sommelier",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/sommelier/images/somm.png"},Ke=[Me],ne={rpc:"https://rpc.sommelier.strange.love",rest:"https://api.sommelier.strange.love",chainId:"sommelier-3",chainName:"Sommelier",stakeCurrency:Me,bip44:{coinType:118},bech32Config:We.Bech32Address.defaultBech32Config("somm"),currencies:Ke,feeCurrencies:Ke};r();var Fe=require("@keplr-wallet/cosmos"),_e={coinDenom:"CRE",coinMinimalDenom:"ucre",coinDecimals:6,coinGeckoId:"crescent",coinImageUrl:"https://raw.githubusercontent.com/crescent-network/asset/main/images/coin/CRE.png"},Re=[_e],oe={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:Re,feeCurrencies:Re,stakeCurrency:_e,coinType:118};r();var He=require("@keplr-wallet/cosmos"),re={coinDenom:"junox",coinMinimalDenom:"ujunox",coinDecimals:6,coinGeckoId:"juno-network",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/juno.png"},Wt=[re],se={rpc:"https://rpc.uni.junonetwork.io",rest:"https://api.uni.junonetwork.io",chainId:"uni-3",chainName:"Juno Testnet",stakeCurrency:re,bip44:{coinType:118},bech32Config:He.Bech32Address.defaultBech32Config("juno"),currencies:Wt,feeCurrencies:[re],coinType:118};r();var Le=require("@keplr-wallet/cosmos"),ie={coinDenom:"osmo",coinMinimalDenom:"uosmo",coinDecimals:6,coinGeckoId:"osmosis",coinImageUrl:"https://dhj8dql1kzq2v.cloudfront.net/white/osmo.png"},Mt=[ie],ce={rpc:"https://testnet-rpc.osmosis.zone",rest:"https://testnet-rest.osmosis.zone",chainId:"osmo-test-4",chainName:"Osmosis Testnet",stakeCurrency:ie,bip44:{coinType:118},bech32Config:Le.Bech32Address.defaultBech32Config("osmo"),currencies:Mt,feeCurrencies:[ie],coinType:118};function Rt(e){return e}function Ft(e){return e}function _t(e){return e}var Ht={axelar:Z,cosmos:U,cosmoshub:U,juno:ee,osmosis:te,sommelier:ne},Lt=[Z,U,ee,te,ne],Vt={crescent:oe,juno:se,osmosis:ce},Jt=[oe,se,ce];r();var g=require("@tanstack/react-query"),Je=require("react"),Ye=B(require("zustand/shallow"));r();var Ve=require("@tanstack/react-query");function Yt(){return b("keplr")}function b(e){let t=u(o=>e||o.walletType);return(0,Ve.useQuery)(["USE_CHECK_WALLET",t],({queryKey:[,o]})=>G(o))}function E({onConnect:e,onDisconnect:t}={}){let n=u(o=>o.account),c=u(o=>o.status);return(0,Je.useEffect)(()=>u.subscribe(o=>o.status,(o,i)=>{if(o==="connected"){let s=u.getState();e==null||e({account:s.account,isReconnect:i==="reconnecting"})}o==="disconnected"&&(t==null||t())}),[e,t]),{data:n,isConnected:Boolean(n),isConnecting:c==="connecting",isDisconnected:c==="disconnected",isReconnecting:c==="reconnecting",reconnect:d,status:c}}function $e(e){let{data:t}=E(),n=e||(t==null?void 0:t.bech32Address);return(0,g.useQuery)(["USE_BALANCES",n],({queryKey:[,i]})=>J(i),{enabled:Boolean(n)})}function $t(e,t){let{data:n}=$e(t);return(0,g.useQuery)(["USE_BALANCE",n,e,t],({queryKey:[,i]})=>i==null?void 0:i.find(s=>s.denom===e),{enabled:Boolean(n)})}function Xt({onError:e,onLoading:t,onSuccess:n}={}){let o=(0,g.useMutation)(["USE_CONNECT",e,t,n],A,{onError:(s,p)=>Promise.resolve(e==null?void 0:e(s,p)),onMutate:t,onSuccess:s=>Promise.resolve(n==null?void 0:n(s))}),{data:i}=b();return{connect:s=>o.mutate(s),connectAsync:s=>o.mutateAsync(s),error:o.error,isLoading:o.isLoading,isSuccess:o.isSuccess,isSupported:Boolean(i),status:o.status}}function Zt({onError:e,onLoading:t,onSuccess:n}={}){let o=(0,g.useMutation)(["USE_DISCONNECT",e,t,n],F,{onError:i=>Promise.resolve(e==null?void 0:e(i,void 0)),onMutate:t,onSuccess:()=>Promise.resolve(n==null?void 0:n(void 0))});return{disconnect:i=>o.mutate(i),disconnectAsync:i=>o.mutateAsync(i),error:o.error,isLoading:o.isLoading,isSuccess:o.isSuccess,status:o.status}}function Xe(){return u(e=>({signer:e.offlineSigner,signerAmino:e.offlineSignerAmino,signerAuto:e.offlineSignerAuto}),Ye.default)}function en(){return Xe()}function tn(e){let{data:t}=E(),n=e||(t==null?void 0:t.bech32Address);return(0,g.useQuery)(["USE_STAKED_BALANCES",n],({queryKey:[,i]})=>Y(n),{enabled:Boolean(n)})}r();var j=require("@tanstack/react-query");function nn(){return u(e=>e.activeChain)}function on(e){return(0,j.useQuery)(["USE_ACTIVE_CHAIN_CURRENCY",e],({queryKey:[,c]})=>H(c))}function rn(e,t="BOND_STATUS_BONDED"){return(0,j.useQuery)(["USE_ACTIVE_CHAIN_VALIDATORS",e,t],({queryKey:[,o,i]})=>o.staking.validators(i),{enabled:typeof e<"u"})}function sn(){return{data:u(t=>t.recentChain),clear:_}}function cn({onError:e,onLoading:t,onSuccess:n}={}){let o=(0,j.useMutation)(["USE_SUGGEST_CHAIN",e,t,n],q,{onError:(i,s)=>Promise.resolve(e==null?void 0:e(i,s)),onMutate:t,onSuccess:i=>Promise.resolve(n==null?void 0:n(i))});return{error:o.error,isLoading:o.isLoading,isSuccess:o.isSuccess,suggest:o.mutate,suggestAsync:o.mutateAsync,status:o.status}}function un({onError:e,onLoading:t,onSuccess:n}={}){let o=(0,j.useMutation)(["USE_SUGGEST_CHAIN_AND_CONNECT",e,t,n],L,{onError:(s,p)=>Promise.resolve(e==null?void 0:e(s,p)),onMutate:t,onSuccess:s=>Promise.resolve(n==null?void 0:n(s))}),{data:i}=b();return{error:o.error,isLoading:o.isLoading,isSuccess:o.isSuccess,isSupported:Boolean(i),status:o.status,suggestAndConnect:o.mutate,suggestAndConnectAsync:o.mutateAsync}}r();var ue=require("@tanstack/react-query");r();var Ze=require("@tanstack/react-query");function an(...e){let t=["USE_QUERY_CLIENT",...e];return(0,Ze.useQuery)(t,({queryKey:[,...c]})=>W(...e),{refetchOnMount:!1,refetchOnWindowFocus:!1})}function pn(e){let t=u(o=>o.clients);return(0,ue.useQuery)(["USE_CLIENTS",e,t],({queryKey:[,o,i]})=>o!=null&&o.rpc?D(o):i,{refetchOnMount:!1,refetchOnWindowFocus:!1})}function mn(e){let t=u(o=>o.signingClients);return(0,ue.useQuery)(["USE_SIGNING_CLIENTS",e,t],({queryKey:[,o,i]})=>o!=null&&o.rpc?k(o):i,{refetchOnMount:!1,refetchOnWindowFocus:!1})}r();var ae=require("@tanstack/react-query");function ln({onError:e,onLoading:t,onSuccess:n}={}){let{data:c}=E(),o=c==null?void 0:c.bech32Address,s=(0,ae.useMutation)(["USE_SEND_TOKENS",e,t,n,o],p=>$({senderAddress:o,...p}),{onError:(p,l)=>Promise.resolve(e==null?void 0:e(p,l)),onMutate:t,onSuccess:p=>Promise.resolve(n==null?void 0:n(p))});return{error:s.error,isLoading:s.isLoading,isSuccess:s.isSuccess,sendTokens:s.mutate,sendTokensAsync:s.mutateAsync,status:s.status}}function fn({onError:e,onLoading:t,onSuccess:n}={}){let{data:c}=E(),o=c==null?void 0:c.bech32Address,s=(0,ae.useMutation)(["USE_SEND_IBC_TOKENS",e,t,n,o],p=>X({senderAddress:o,...p}),{onError:(p,l)=>Promise.resolve(e==null?void 0:e(p,l)),onMutate:t,onSuccess:p=>Promise.resolve(n==null?void 0:n(p))});return{error:s.error,isLoading:s.isLoading,isSuccess:s.isSuccess,sendIbcTokens:s.mutate,sendIbcTokensAsync:s.mutateAsync,status:s.status}}r();var Q=require("@tanstack/react-query");r();var et=require("react");function tt(){return(0,et.useEffect)(()=>{let{_reconnect:e}=u.getState();return e&&d(),window.addEventListener("keplr_keystorechange",d),()=>{window.removeEventListener("keplr_keystorechange",d)}},[]),null}function pe(){return tt(),null}var me=require("react/jsx-runtime"),yn=new Q.QueryClient({});function dn({children:e,grazOptions:t,...n}){return t&&V(t),(0,me.jsxs)(Q.QueryClientProvider,{client:yn,...n,children:[(0,me.jsx)(pe,{}),e]})}0&&(module.exports={GrazEvents,GrazProvider,WALLET_TYPES,WalletType,checkWallet,clearRecentChain,configureGraz,connect,createClients,createQueryClient,createSigningClients,defineChain,defineChainInfo,defineChains,disconnect,getActiveChainCurrency,getAvailableWallets,getBalances,getKeplr,getLeap,getRecentChain,getStakedBalances,getWallet,mainnetChains,mainnetChainsArray,reconnect,sendIbcTokens,sendTokens,suggestChain,suggestChainAndConnect,testnetChains,testnetChainsArray,useAccount,useActiveChain,useActiveChainCurrency,useActiveChainValidators,useBalance,useBalances,useCheckKeplr,useCheckWallet,useClients,useConnect,useDisconnect,useGrazEvents,useOfflineSigners,useQueryClient,useRecentChain,useSendIbcTokens,useSendTokens,useSigners,useSigningClients,useStakedBalances,useSuggestChain,useSuggestChainAndConnect});
package/dist/index.mjs CHANGED
@@ -1 +1 @@
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};
1
+ import{a as x,b as Ue,c as r}from"./chunk-6M3A6KFX.mjs";var H=x(d=>{"use strict";r();Object.defineProperty(d,"__esModule",{value:!0});d.arrayContentStartsWith=d.arrayContentEquals=void 0;function Ne(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;++n)if(e[n]!==t[n])return!1;return!0}d.arrayContentEquals=Ne;function Ke(e,t){if(e.length<t.length)return!1;for(let n=0;n<t.length;++n)if(e[n]!==t[n])return!1;return!0}d.arrayContentStartsWith=Ke});var L=x(f=>{"use strict";r();Object.defineProperty(f,"__esModule",{value:!0});f.assertDefinedAndNotNull=f.assertDefined=f.assert=void 0;function We(e,t){if(!e)throw new Error(t||"condition is not truthy")}f.assert=We;function Me(e,t){if(e===void 0)throw new Error(t??"value is undefined")}f.assertDefined=Me;function Re(e,t){if(e==null)throw new Error(t??"value is undefined or null")}f.assertDefinedAndNotNull=Re});var V=x(j=>{"use strict";r();Object.defineProperty(j,"__esModule",{value:!0});j.sleep=void 0;async function Fe(e){return new Promise(t=>setTimeout(t,e))}j.sleep=Fe});var Y=x(g=>{"use strict";r();Object.defineProperty(g,"__esModule",{value:!0});g.isUint8Array=g.isNonNullObject=void 0;function J(e){return typeof e=="object"&&e!==null}g.isNonNullObject=J;function _e(e){return!(!J(e)||Object.prototype.toString.call(e)!=="[object Uint8Array]"||typeof Buffer<"u"&&typeof Buffer.isBuffer<"u"&&Buffer.isBuffer(e))}g.isUint8Array=_e});var Z=x(m=>{"use strict";r();Object.defineProperty(m,"__esModule",{value:!0});m.isUint8Array=m.isNonNullObject=m.sleep=m.assertDefinedAndNotNull=m.assertDefined=m.assert=m.arrayContentStartsWith=m.arrayContentEquals=void 0;var $=H();Object.defineProperty(m,"arrayContentEquals",{enumerable:!0,get:function(){return $.arrayContentEquals}});Object.defineProperty(m,"arrayContentStartsWith",{enumerable:!0,get:function(){return $.arrayContentStartsWith}});var T=L();Object.defineProperty(m,"assert",{enumerable:!0,get:function(){return T.assert}});Object.defineProperty(m,"assertDefined",{enumerable:!0,get:function(){return T.assertDefined}});Object.defineProperty(m,"assertDefinedAndNotNull",{enumerable:!0,get:function(){return T.assertDefinedAndNotNull}});var He=V();Object.defineProperty(m,"sleep",{enumerable:!0,get:function(){return He.sleep}});var X=Y();Object.defineProperty(m,"isNonNullObject",{enumerable:!0,get:function(){return X.isNonNullObject}});Object.defineProperty(m,"isUint8Array",{enumerable:!0,get:function(){return X.isUint8Array}})});r();r();import{GasPrice as $e}from"@cosmjs/stargate";r();import Qe from"zustand";import{persist as Oe,subscribeWithSelector as ze}from"zustand/middleware";r();var F=(n=>(n.KEPLR="keplr",n.LEAP="leap",n))(F||{}),_=["keplr","leap"];var B={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},Pe={name:"graz",partialize:e=>({activeChain:e.activeChain,recentChain:e.recentChain,_reconnect:e._reconnect}),version:1},c=Qe(ze(Oe(()=>B,Pe)));r();import{SigningCosmWasmClient as te}from"@cosmjs/cosmwasm-stargate";import{SigningStargateClient as ne}from"@cosmjs/stargate";import{Tendermint34Client as Ve}from"@cosmjs/tendermint-rpc";r();var C=Ue(Z());import{QueryClient as Le}from"@cosmjs/stargate";function ee(...e){let{tendermint:t}=c.getState().clients,n=new Le(t),u=e.map(o=>o(n));for(let o of u){(0,C.assert)((0,C.isNonNullObject)(o),"Extension must be a non-null object");for(let[i,s]of Object.entries(o)){(0,C.assert)((0,C.isNonNullObject)(s),`Module must be a non-null object. Found type ${typeof s} for module "${i}".`);let p=n[i]||{};n[i]={...p,...s}}}return n}async function w({rpc:e,rpcHeaders:t}){let n={url:e,headers:{...t||{}}},[u,o,i]=await Promise.all([te.connect(n),ne.connect(n),Ve.connect(e)]);return{cosmWasm:u,stargate:o,tendermint:i}}async function D(e){let{rpc:t,rpcHeaders:n,offlineSignerAuto:u,cosmWasmSignerOptions:o={},stargateSignerOptions:i={}}=e,s={url:t,headers:{...n||{}}},[p,l]=await Promise.all([te.connectWithSigner(s,u,o),ne.connectWithSigner(s,u,i)]);return{cosmWasm:p,stargate:l}}r();function v(e=c.getState().walletType){try{return S(e),!0}catch(t){return console.error(t),!1}}function Je(){if(typeof window.keplr<"u")return window.keplr;throw c.getState()._notFoundFn(),new Error("window.keplr is not defined")}function Ye(){if(typeof window.leap<"u")return window.leap;throw c.getState()._notFoundFn(),new Error("window.leap is not defined")}function S(e=c.getState().walletType){switch(e){case"keplr":return Je();case"leap":return Ye();default:throw new Error("Unknown wallet type")}}function on(){return Object.fromEntries(_.map(e=>[e,v(e)]))}async function A(e){try{let{defaultChain:t,recentChain:n,walletType:u}=c.getState(),o=(e==null?void 0:e.walletType)||u,i=S(o),s=e||n||t;if(!s)throw new Error("No last known connected chain, connect action requires chain info");c.setState(I=>{let qe=I._reconnect;return I.activeChain&&I.activeChain.chainId!==s.chainId?{status:"connecting"}:qe?{status:"reconnecting"}:{status:"connecting"}}),await i.enable(s.chainId);let p=i.getOfflineSigner(s.chainId),l=i.getOfflineSignerOnlyAmino(s.chainId),y=await i.getOfflineSignerAuto(s.chainId),Te=s.gas?$e.fromString(`${s.gas.price}${s.gas.denom}`):void 0,[R,ve,Ge]=await Promise.all([i.getKey(s.chainId),w(s),D({...s,offlineSignerAuto:y,cosmWasmSignerOptions:{gasPrice:Te,...(e==null?void 0:e.signerOpts)||{}}})]);return c.setState({account:R,activeChain:s,clients:ve,offlineSigner:p,offlineSignerAmino:l,offlineSignerAuto:y,recentChain:s,signingClients:Ge,status:"connected",walletType:o,_reconnect:!0}),R}catch(t){throw c.getState().account===null&&c.setState({status:"disconnected"}),t}}async function oe(e=!1){return c.setState(t=>({...B,recentChain:e?null:t.recentChain})),Promise.resolve()}function h(){let{activeChain:e}=c.getState();e&&A(e)}r();function re(){c.setState({recentChain:null})}function se(e){let{activeChain:t}=c.getState();return t==null?void 0:t.currencies.find(n=>n.coinMinimalDenom===e)}function yn(){return c.getState().recentChain}async function G(e){return await S().experimentalSuggestChain(e),e}async function ie(e){let t=await G(e);return{account:await A(e),chain:t}}r();function ce(e={}){return c.setState(t=>({defaultChain:e.defaultChain||t.defaultChain,defaultSigningClient:e.defaultSigningClient||e.defaultSigningClient,walletType:e.defaultWallet||t.walletType,_notFoundFn:e.onNotFound||t._notFoundFn})),e}r();async function ue(e){let{activeChain:t,signingClients:n}=c.getState();if(!t||!n)throw new Error("No connected account detected");let{defaultSigningClient:u}=c.getState();return await Promise.all(t.currencies.map(async i=>n[u].getBalance(e,i.coinMinimalDenom)))}async function ae(e){let{clients:t}=c.getState();if(!(t!=null&&t.stargate))throw new Error("Stargate client is not ready");return t.stargate.getBalanceStaked(e)}async function pe({senderAddress:e,recipientAddress:t,amount:n,fee:u,memo:o}){let{signingClients:i,defaultSigningClient:s}=c.getState();if(!i)throw new Error("No connected account detected");if(!e)throw new Error("senderAddress is not defined");return i[s].sendTokens(e,t,n,u,o)}async function me({senderAddress:e,recipientAddress:t,transferAmount:n,sourcePort:u,sourceChannel:o,timeoutHeight:i,timeoutTimestamp:s,fee:p,memo:l}){let{signingClients:y}=c.getState();if(!(y!=null&&y.stargate))throw new Error("Stargate signing client is not ready");if(!e)throw new Error("senderAddress is not defined");return y.stargate.sendIbcTokens(e,t,n,u,o,i,s,p,l)}r();r();import{Bech32Address as Xe}from"@keplr-wallet/cosmos";var fe={coinDenom:"axl",coinMinimalDenom:"uaxl",coinDecimals:6,coinGeckoId:"axelar-network",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/axl.png"},Ze={coinDenom:"usdc",coinMinimalDenom:"uusdc",coinDecimals:6,coinGeckoId:"usd-coin",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/usdc.png"},et={coinDenom:"dai",coinMinimalDenom:"dai-wei",coinDecimals:18,coinGeckoId:"dai",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/dai.png"},tt={coinDenom:"usdt",coinMinimalDenom:"uusdt",coinDecimals:6,coinGeckoId:"tether",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/usdt.png"},nt={coinDenom:"weth-wei",coinMinimalDenom:"weth",coinDecimals:18,coinGeckoId:"weth",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/weth.png"},ot={coinDenom:"wbtc-satoshi",coinMinimalDenom:"wbtc",coinDecimals:8,coinGeckoId:"wrapped-bitcoin",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/wbtc.png"},le=[fe,Ze,et,tt,nt,ot],q={rpc:"https://rpc.axelar.strange.love",rest:"https://api.axelar.strange.love",chainId:"axelar-dojo-1",chainName:"Axelar",stakeCurrency:fe,bip44:{coinType:118},bech32Config:Xe.defaultBech32Config("axelar"),currencies:le,feeCurrencies:le};r();import{Bech32Address as rt}from"@keplr-wallet/cosmos";var de={coinDenom:"atom",coinMinimalDenom:"uatom",coinDecimals:6,coinGeckoId:"cosmos",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/cosmoshub/images/atom.png"},ye=[de],k={rpc:"https://rpc.cosmoshub.strange.love",rest:"https://api.cosmoshub.strange.love",chainId:"cosmoshub-4",chainName:"Cosmos Hub",stakeCurrency:de,bip44:{coinType:118},bech32Config:rt.defaultBech32Config("cosmos"),currencies:ye,feeCurrencies:ye};r();import{Bech32Address as st}from"@keplr-wallet/cosmos";var Ce={coinDenom:"juno",coinMinimalDenom:"ujuno",coinDecimals:6,coinGeckoId:"juno-network",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/juno.png"},it={coinDenom:"neta",coinMinimalDenom:"cw20:juno168ctmpyppk90d34p3jjy658zf5a5l3w8wk35wht6ccqj4mr0yv8s4j5awr",coinDecimals:6,coinGeckoId:"neta",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/neta.png"},ct={coinDenom:"marble",coinMinimalDenom:"cw20:juno1g2g7ucurum66d42g8k5twk34yegdq8c82858gz0tq2fc75zy7khssgnhjl",coinDecimals:3,coinGeckoId:"marble",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/marble.png"},ut={coinDenom:"hope",coinMinimalDenom:"cw20:juno1re3x67ppxap48ygndmrc7har2cnc7tcxtm9nplcas4v0gc3wnmvs3s807z",coinDecimals:6,coinGeckoId:"hope-galaxy",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/hope.png"},at={coinDenom:"rac",coinMinimalDenom:"cw20:juno1r4pzw8f9z0sypct5l9j906d47z998ulwvhvqe5xdwgy8wf84583sxwh0pa",coinDecimals:6,coinGeckoId:"racoon",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/rac.png"},pt={coinDenom:"block",coinMinimalDenom:"cw20:juno1y9rf7ql6ffwkv02hsgd4yruz23pn4w97p75e2slsnkm0mnamhzysvqnxaq",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/block.png"},mt={coinDenom:"dhk",coinMinimalDenom:"cw20:juno1tdjwrqmnztn2j3sj2ln9xnyps5hs48q3ddwjrz7jpv6mskappjys5czd49",coinDecimals:0,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/dhk.png"},lt={coinDenom:"raw",coinMinimalDenom:"cw20:juno15u3dt79t6sxxa3x3kpkhzsy56edaa5a66wvt3kxmukqjz2sx0hes5sn38g",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/raw.png",coinGeckoId:"junoswap-raw-dao"},ft={coinDenom:"asvt",coinMinimalDenom:"cw20:juno17wzaxtfdw5em7lc94yed4ylgjme63eh73lm3lutp2rhcxttyvpwsypjm4w",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/asvt.png"},yt={coinDenom:"hns",coinMinimalDenom:"cw20:juno1ur4jx0sxchdevahep7fwq28yk4tqsrhshdtylz46yka3uf6kky5qllqp4k",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/hns.svg"},dt={coinDenom:"joe",coinMinimalDenom:"cw20:juno1n7n7d5088qlzlj37e9mgmkhx6dfgtvt02hqxq66lcap4dxnzdhwqfmgng3",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/joe.png"},ge=[Ce,it,ct,ut,at,pt,mt,lt,ft,yt,dt],U={rpc:"https://rpc.juno.strange.love",rest:"https://api.juno.strange.love",chainId:"juno-1",chainName:"Juno",stakeCurrency:Ce,bip44:{coinType:118},bech32Config:st.defaultBech32Config("juno"),currencies:ge,feeCurrencies:ge};r();import{Bech32Address as gt}from"@keplr-wallet/cosmos";var xe={coinDenom:"osmo",coinMinimalDenom:"uosmo",coinDecimals:6,coinGeckoId:"osmosis",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/cosmoshub/images/atom.png"},Ct={coinDenom:"ion",coinMinimalDenom:"uion",coinDecimals:6,coinGeckoId:"ion",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/ion.png"},he=[xe,Ct],Q={rpc:"https://rpc.osmosis.strange.love",rest:"https://api.osmosis.strange.love",chainId:"osmosis-1",chainName:"Osmosis",stakeCurrency:xe,bip44:{coinType:118},bech32Config:gt.defaultBech32Config("osmo"),currencies:he,feeCurrencies:he};r();import{Bech32Address as ht}from"@keplr-wallet/cosmos";var Ae={coinDenom:"somm",coinMinimalDenom:"usomm",coinDecimals:6,coinGeckoId:"sommelier",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/sommelier/images/somm.png"},Se=[Ae],O={rpc:"https://rpc.sommelier.strange.love",rest:"https://api.sommelier.strange.love",chainId:"sommelier-3",chainName:"Sommelier",stakeCurrency:Ae,bip44:{coinType:118},bech32Config:ht.defaultBech32Config("somm"),currencies:Se,feeCurrencies:Se};r();import{Bech32Address as xt}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"},be=[Ee],z={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:xt.defaultBech32Config("CRE"),currencies:be,feeCurrencies:be,stakeCurrency:Ee,coinType:118};r();import{Bech32Address as St}from"@keplr-wallet/cosmos";var P={coinDenom:"junox",coinMinimalDenom:"ujunox",coinDecimals:6,coinGeckoId:"juno-network",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/juno.png"},At=[P],N={rpc:"https://rpc.uni.junonetwork.io",rest:"https://api.uni.junonetwork.io",chainId:"uni-3",chainName:"Juno Testnet",stakeCurrency:P,bip44:{coinType:118},bech32Config:St.defaultBech32Config("juno"),currencies:At,feeCurrencies:[P],coinType:118};r();import{Bech32Address as bt}from"@keplr-wallet/cosmos";var K={coinDenom:"osmo",coinMinimalDenom:"uosmo",coinDecimals:6,coinGeckoId:"osmosis",coinImageUrl:"https://dhj8dql1kzq2v.cloudfront.net/white/osmo.png"},Et=[K],W={rpc:"https://testnet-rpc.osmosis.zone",rest:"https://testnet-rest.osmosis.zone",chainId:"osmo-test-4",chainName:"Osmosis Testnet",stakeCurrency:K,bip44:{coinType:118},bech32Config:bt.defaultBech32Config("osmo"),currencies:Et,feeCurrencies:[K],coinType:118};function _n(e){return e}function Hn(e){return e}function Ln(e){return e}var Vn={axelar:q,cosmos:k,cosmoshub:k,juno:U,osmosis:Q,sommelier:O},Jn=[q,k,U,Q,O],Yn={crescent:z,juno:N,osmosis:W},$n=[z,N,W];r();import{useMutation as je,useQuery as M}from"@tanstack/react-query";import{useEffect as wt}from"react";import Dt from"zustand/shallow";r();import{useQuery as jt}from"@tanstack/react-query";function no(){return b("keplr")}function b(e){let t=c(o=>e||o.walletType);return jt(["USE_CHECK_WALLET",t],({queryKey:[,o]})=>v(o))}function E({onConnect:e,onDisconnect:t}={}){let n=c(o=>o.account),u=c(o=>o.status);return wt(()=>c.subscribe(o=>o.status,(o,i)=>{if(o==="connected"){let s=c.getState();e==null||e({account:s.account,isReconnect:i==="reconnecting"})}o==="disconnected"&&(t==null||t())}),[e,t]),{data:n,isConnected:Boolean(n),isConnecting:u==="connecting",isDisconnected:u==="disconnected",isReconnecting:u==="reconnecting",reconnect:h,status:u}}function kt(e){let{data:t}=E(),n=e||(t==null?void 0:t.bech32Address);return M(["USE_BALANCES",n],({queryKey:[,i]})=>ue(i),{enabled:Boolean(n)})}function mo(e,t){let{data:n}=kt(t);return M(["USE_BALANCE",n,e,t],({queryKey:[,i]})=>i==null?void 0:i.find(s=>s.denom===e),{enabled:Boolean(n)})}function lo({onError:e,onLoading:t,onSuccess:n}={}){let o=je(["USE_CONNECT",e,t,n],A,{onError:(s,p)=>Promise.resolve(e==null?void 0:e(s,p)),onMutate:t,onSuccess:s=>Promise.resolve(n==null?void 0:n(s))}),{data:i}=b();return{connect:s=>o.mutate(s),connectAsync:s=>o.mutateAsync(s),error:o.error,isLoading:o.isLoading,isSuccess:o.isSuccess,isSupported:Boolean(i),status:o.status}}function fo({onError:e,onLoading:t,onSuccess:n}={}){let o=je(["USE_DISCONNECT",e,t,n],oe,{onError:i=>Promise.resolve(e==null?void 0:e(i,void 0)),onMutate:t,onSuccess:()=>Promise.resolve(n==null?void 0:n(void 0))});return{disconnect:i=>o.mutate(i),disconnectAsync:i=>o.mutateAsync(i),error:o.error,isLoading:o.isLoading,isSuccess:o.isSuccess,status:o.status}}function It(){return c(e=>({signer:e.offlineSigner,signerAmino:e.offlineSignerAmino,signerAuto:e.offlineSignerAuto}),Dt)}function yo(){return It()}function go(e){let{data:t}=E(),n=e||(t==null?void 0:t.bech32Address);return M(["USE_STAKED_BALANCES",n],({queryKey:[,i]})=>ae(n),{enabled:Boolean(n)})}r();import{useMutation as we,useQuery as De}from"@tanstack/react-query";function bo(){return c(e=>e.activeChain)}function Eo(e){return De(["USE_ACTIVE_CHAIN_CURRENCY",e],({queryKey:[,u]})=>se(u))}function jo(e,t="BOND_STATUS_BONDED"){return De(["USE_ACTIVE_CHAIN_VALIDATORS",e,t],({queryKey:[,o,i]})=>o.staking.validators(i),{enabled:typeof e<"u"})}function wo(){return{data:c(t=>t.recentChain),clear:re}}function Do({onError:e,onLoading:t,onSuccess:n}={}){let o=we(["USE_SUGGEST_CHAIN",e,t,n],G,{onError:(i,s)=>Promise.resolve(e==null?void 0:e(i,s)),onMutate:t,onSuccess:i=>Promise.resolve(n==null?void 0:n(i))});return{error:o.error,isLoading:o.isLoading,isSuccess:o.isSuccess,suggest:o.mutate,suggestAsync:o.mutateAsync,status:o.status}}function ko({onError:e,onLoading:t,onSuccess:n}={}){let o=we(["USE_SUGGEST_CHAIN_AND_CONNECT",e,t,n],ie,{onError:(s,p)=>Promise.resolve(e==null?void 0:e(s,p)),onMutate:t,onSuccess:s=>Promise.resolve(n==null?void 0:n(s))}),{data:i}=b();return{error:o.error,isLoading:o.isLoading,isSuccess:o.isSuccess,isSupported:Boolean(i),status:o.status,suggestAndConnect:o.mutate,suggestAndConnectAsync:o.mutateAsync}}r();import{useQuery as ke}from"@tanstack/react-query";r();import{useQuery as Bt}from"@tanstack/react-query";function vo(...e){let t=["USE_QUERY_CLIENT",...e];return Bt(t,({queryKey:[,...u]})=>ee(...e),{refetchOnMount:!1,refetchOnWindowFocus:!1})}function Oo(e){let t=c(o=>o.clients);return ke(["USE_CLIENTS",e,t],({queryKey:[,o,i]})=>o!=null&&o.rpc?w(o):i,{refetchOnMount:!1,refetchOnWindowFocus:!1})}function zo(e){let t=c(o=>o.signingClients);return ke(["USE_SIGNING_CLIENTS",e,t],({queryKey:[,o,i]})=>o!=null&&o.rpc?D(o):i,{refetchOnMount:!1,refetchOnWindowFocus:!1})}r();import{useMutation as Ie}from"@tanstack/react-query";function Ro({onError:e,onLoading:t,onSuccess:n}={}){let{data:u}=E(),o=u==null?void 0:u.bech32Address,s=Ie(["USE_SEND_TOKENS",e,t,n,o],p=>pe({senderAddress:o,...p}),{onError:(p,l)=>Promise.resolve(e==null?void 0:e(p,l)),onMutate:t,onSuccess:p=>Promise.resolve(n==null?void 0:n(p))});return{error:s.error,isLoading:s.isLoading,isSuccess:s.isSuccess,sendTokens:s.mutate,sendTokensAsync:s.mutateAsync,status:s.status}}function Fo({onError:e,onLoading:t,onSuccess:n}={}){let{data:u}=E(),o=u==null?void 0:u.bech32Address,s=Ie(["USE_SEND_IBC_TOKENS",e,t,n,o],p=>me({senderAddress:o,...p}),{onError:(p,l)=>Promise.resolve(e==null?void 0:e(p,l)),onMutate:t,onSuccess:p=>Promise.resolve(n==null?void 0:n(p))});return{error:s.error,isLoading:s.isLoading,isSuccess:s.isSuccess,sendIbcTokens:s.mutate,sendIbcTokensAsync:s.mutateAsync,status:s.status}}r();import{QueryClient as Gt,QueryClientProvider as qt}from"@tanstack/react-query";r();import{useEffect as Tt}from"react";function vt(){return Tt(()=>{let{_reconnect:e}=c.getState();return e&&h(),window.addEventListener("keplr_keystorechange",h),()=>{window.removeEventListener("keplr_keystorechange",h)}},[]),null}function Be(){return vt(),null}import{jsx as Qt,jsxs as Ot}from"react/jsx-runtime";var Ut=new Gt({});function Zo({children:e,grazOptions:t,...n}){return t&&ce(t),Ot(qt,{client:Ut,...n,children:[Qt(Be,{}),e]})}export{Be as GrazEvents,Zo as GrazProvider,_ as WALLET_TYPES,F as WalletType,v as checkWallet,re as clearRecentChain,ce as configureGraz,A as connect,w as createClients,ee as createQueryClient,D as createSigningClients,Hn as defineChain,Ln as defineChainInfo,_n as defineChains,oe as disconnect,se as getActiveChainCurrency,on as getAvailableWallets,ue as getBalances,Je as getKeplr,Ye as getLeap,yn as getRecentChain,ae as getStakedBalances,S as getWallet,Vn as mainnetChains,Jn as mainnetChainsArray,h as reconnect,me as sendIbcTokens,pe as sendTokens,G as suggestChain,ie as suggestChainAndConnect,Yn as testnetChains,$n as testnetChainsArray,E as useAccount,bo as useActiveChain,Eo as useActiveChainCurrency,jo as useActiveChainValidators,mo as useBalance,kt as useBalances,no as useCheckKeplr,b as useCheckWallet,Oo as useClients,lo as useConnect,fo as useDisconnect,vt as useGrazEvents,It as useOfflineSigners,vo as useQueryClient,wo as useRecentChain,Fo as useSendIbcTokens,Ro as useSendTokens,yo as useSigners,zo as useSigningClients,go as useStakedBalances,Do as useSuggestChain,ko as useSuggestChainAndConnect};
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.22",
4
+ "version": "0.0.24",
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",
@@ -72,6 +72,7 @@
72
72
  "scripts": {
73
73
  "build": "tsup",
74
74
  "cli": "node cli.mjs",
75
- "dev": "tsup --watch"
75
+ "dev": "tsup --watch",
76
+ "lint": "eslint --fix \"src/**/*.{ts,tsx}\""
76
77
  }
77
78
  }