graz 0.0.27 → 0.0.28
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 +184 -75
- package/dist/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/package.json +2 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as _cosmjs_cosmwasm_stargate from '@cosmjs/cosmwasm-stargate';
|
|
2
|
+
import { SigningCosmWasmClientOptions, CosmWasmClient, SigningCosmWasmClient, InstantiateOptions, InstantiateResult, ExecuteResult } from '@cosmjs/cosmwasm-stargate';
|
|
2
3
|
import { ChainInfo, AppCurrency, Key, Keplr } from '@keplr-wallet/types';
|
|
3
4
|
import * as _cosmjs_proto_signing from '@cosmjs/proto-signing';
|
|
4
5
|
import { Coin, OfflineSigner, OfflineDirectSigner } from '@cosmjs/proto-signing';
|
|
5
|
-
import * as _cosmjs_stargate from '@cosmjs/stargate';
|
|
6
6
|
import { QueryClient, StargateClient, SigningStargateClient, SigningStargateClientOptions, StdFee, DeliverTxResponse, StakingExtension } from '@cosmjs/stargate';
|
|
7
7
|
import { Tendermint34Client } from '@cosmjs/tendermint-rpc';
|
|
8
8
|
import { Height } from 'cosmjs-types/ibc/core/client/v1/client';
|
|
@@ -10,6 +10,7 @@ import * as _tanstack_react_query from '@tanstack/react-query';
|
|
|
10
10
|
import { UseQueryResult, QueryClientProviderProps } from '@tanstack/react-query';
|
|
11
11
|
import { BondStatusString } from '@cosmjs/stargate/build/modules/staking/queries';
|
|
12
12
|
import { QueryValidatorsResponse } from 'cosmjs-types/cosmos/staking/v1beta1/query';
|
|
13
|
+
import { FC } from 'react';
|
|
13
14
|
|
|
14
15
|
declare type Dictionary<T = string> = Record<string, T>;
|
|
15
16
|
declare type Maybe<T> = T | undefined;
|
|
@@ -52,7 +53,7 @@ interface GrazChain {
|
|
|
52
53
|
* connect(myChains.cosmoshub);
|
|
53
54
|
* ```
|
|
54
55
|
*/
|
|
55
|
-
declare
|
|
56
|
+
declare const defineChains: <T extends Dictionary<GrazChain>>(chains: T) => T;
|
|
56
57
|
/**
|
|
57
58
|
* Helper function to define chain information object.
|
|
58
59
|
*
|
|
@@ -73,7 +74,7 @@ declare function defineChains<T extends Dictionary<GrazChain>>(chains: T): T;
|
|
|
73
74
|
* connect(cosmoshub);
|
|
74
75
|
* ```
|
|
75
76
|
*/
|
|
76
|
-
declare
|
|
77
|
+
declare const defineChain: <T extends GrazChain>(chain: T) => T;
|
|
77
78
|
/**
|
|
78
79
|
* Helper function to define Keplr's `ChainInfo` object.
|
|
79
80
|
*
|
|
@@ -94,7 +95,7 @@ declare function defineChain<T extends GrazChain>(chain: T): T;
|
|
|
94
95
|
* });
|
|
95
96
|
* ```
|
|
96
97
|
*/
|
|
97
|
-
declare
|
|
98
|
+
declare const defineChainInfo: <T extends ChainInfoWithPath | ChainInfo>(chain: T) => T;
|
|
98
99
|
/**
|
|
99
100
|
* Provided mainnet chains
|
|
100
101
|
*
|
|
@@ -154,31 +155,34 @@ declare type ConnectArgs = Maybe<GrazChain & {
|
|
|
154
155
|
signerOpts?: SigningCosmWasmClientOptions;
|
|
155
156
|
walletType?: WalletType;
|
|
156
157
|
}>;
|
|
157
|
-
declare
|
|
158
|
-
declare
|
|
159
|
-
declare
|
|
158
|
+
declare const connect: (args?: ConnectArgs) => Promise<Key>;
|
|
159
|
+
declare const disconnect: (clearRecentChain?: boolean) => Promise<void>;
|
|
160
|
+
declare const reconnect: () => void;
|
|
160
161
|
|
|
161
162
|
declare type ExtensionSetup<P extends object = object> = (queryClient: QueryClient) => P;
|
|
162
163
|
|
|
164
|
+
interface CreateQueryClient {
|
|
165
|
+
(): QueryClient;
|
|
166
|
+
<A extends object>(setupA: ExtensionSetup<A>): QueryClient & A;
|
|
167
|
+
<A extends object, B extends object>(setupA: ExtensionSetup<A>, setupB: ExtensionSetup<B>): QueryClient & A & B;
|
|
168
|
+
<A extends object, B extends object, C extends object>(setupA: ExtensionSetup<A>, setupB: ExtensionSetup<B>, setupC: ExtensionSetup<C>): QueryClient & A & B & C;
|
|
169
|
+
<A extends object, B extends object, C extends object, D extends object>(setupA: ExtensionSetup<A>, setupB: ExtensionSetup<B>, setupC: ExtensionSetup<C>, setupD: ExtensionSetup<D>): QueryClient & A & B & C & D;
|
|
170
|
+
<A extends object, B extends object, C extends object, D extends object, E extends object>(setupA: ExtensionSetup<A>, setupB: ExtensionSetup<B>, setupC: ExtensionSetup<C>, setupD: ExtensionSetup<D>, setupE: ExtensionSetup<E>): QueryClient & A & B & C & D & E;
|
|
171
|
+
<A extends object, B extends object, C extends object, D extends object, E extends object, F extends object>(setupA: ExtensionSetup<A>, setupB: ExtensionSetup<B>, setupC: ExtensionSetup<C>, setupD: ExtensionSetup<D>, setupE: ExtensionSetup<E>, setupF: ExtensionSetup<F>): QueryClient & A & B & C & D & E & F;
|
|
172
|
+
<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;
|
|
173
|
+
<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;
|
|
174
|
+
<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;
|
|
175
|
+
}
|
|
163
176
|
/**
|
|
164
177
|
* Note: `createQueryClient` creates \@cosmjs/stargate's {@link QueryClient},
|
|
165
178
|
* NOT to be confused with \@tanstack/react-query query client
|
|
166
179
|
*/
|
|
167
|
-
declare
|
|
168
|
-
declare function createQueryClient<A extends object>(setupA: ExtensionSetup<A>): QueryClient & A;
|
|
169
|
-
declare function createQueryClient<A extends object, B extends object>(setupA: ExtensionSetup<A>, setupB: ExtensionSetup<B>): QueryClient & A & B;
|
|
170
|
-
declare function createQueryClient<A extends object, B extends object, C extends object>(setupA: ExtensionSetup<A>, setupB: ExtensionSetup<B>, setupC: ExtensionSetup<C>): QueryClient & A & B & C;
|
|
171
|
-
declare function createQueryClient<A extends object, B extends object, C extends object, D extends object>(setupA: ExtensionSetup<A>, setupB: ExtensionSetup<B>, setupC: ExtensionSetup<C>, setupD: ExtensionSetup<D>): QueryClient & A & B & C & D;
|
|
172
|
-
declare function createQueryClient<A extends object, B extends object, C extends object, D extends object, E extends object>(setupA: ExtensionSetup<A>, setupB: ExtensionSetup<B>, setupC: ExtensionSetup<C>, setupD: ExtensionSetup<D>, setupE: ExtensionSetup<E>): QueryClient & A & B & C & D & E;
|
|
173
|
-
declare function createQueryClient<A extends object, B extends object, C extends object, D extends object, E extends object, F extends object>(setupA: ExtensionSetup<A>, setupB: ExtensionSetup<B>, setupC: ExtensionSetup<C>, setupD: ExtensionSetup<D>, setupE: ExtensionSetup<E>, setupF: ExtensionSetup<F>): QueryClient & A & B & C & D & E & F;
|
|
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;
|
|
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;
|
|
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;
|
|
180
|
+
declare const createQueryClient: CreateQueryClient;
|
|
177
181
|
|
|
178
|
-
declare
|
|
179
|
-
declare
|
|
180
|
-
declare
|
|
181
|
-
declare
|
|
182
|
+
declare const clearRecentChain: () => void;
|
|
183
|
+
declare const getActiveChainCurrency: (denom: string) => AppCurrency | undefined;
|
|
184
|
+
declare const getRecentChain: () => GrazChain | null;
|
|
185
|
+
declare const suggestChain: (chainInfo: ChainInfo) => Promise<ChainInfo>;
|
|
182
186
|
interface SuggestChainAndConnectArgs {
|
|
183
187
|
chainInfo: ChainInfo;
|
|
184
188
|
signerOpts?: SigningCosmWasmClientOptions;
|
|
@@ -190,7 +194,7 @@ interface SuggestChainAndConnectArgs {
|
|
|
190
194
|
rpcHeaders?: Dictionary;
|
|
191
195
|
path?: string;
|
|
192
196
|
}
|
|
193
|
-
declare
|
|
197
|
+
declare const suggestChainAndConnect: ({ chainInfo, ...rest }: SuggestChainAndConnectArgs) => Promise<{
|
|
194
198
|
account: Key;
|
|
195
199
|
chain: ChainInfo;
|
|
196
200
|
}>;
|
|
@@ -221,13 +225,13 @@ interface GrazStore {
|
|
|
221
225
|
}
|
|
222
226
|
|
|
223
227
|
declare type CreateClientArgs = Pick<GrazChain, "rpc" | "rpcHeaders">;
|
|
224
|
-
declare
|
|
228
|
+
declare const createClients: ({ rpc, rpcHeaders }: CreateClientArgs) => Promise<GrazStore["clients"]>;
|
|
225
229
|
declare type CreateSigningClientArgs = CreateClientArgs & {
|
|
226
230
|
offlineSignerAuto: OfflineSigner | OfflineDirectSigner;
|
|
227
231
|
cosmWasmSignerOptions?: SigningCosmWasmClientOptions;
|
|
228
232
|
stargateSignerOptions?: SigningStargateClientOptions;
|
|
229
233
|
};
|
|
230
|
-
declare
|
|
234
|
+
declare const createSigningClients: (args: CreateSigningClientArgs) => Promise<GrazStore["signingClients"]>;
|
|
231
235
|
|
|
232
236
|
interface ConfigureGrazArgs {
|
|
233
237
|
defaultChain?: GrazChain;
|
|
@@ -235,10 +239,10 @@ interface ConfigureGrazArgs {
|
|
|
235
239
|
defaultWallet?: WalletType;
|
|
236
240
|
onNotFound?: () => void;
|
|
237
241
|
}
|
|
238
|
-
declare
|
|
242
|
+
declare const configureGraz: (args?: ConfigureGrazArgs) => ConfigureGrazArgs;
|
|
239
243
|
|
|
240
|
-
declare
|
|
241
|
-
declare
|
|
244
|
+
declare const getBalances: (bech32Address: string) => Promise<Coin[]>;
|
|
245
|
+
declare const getBalanceStaked: (bech32Address: string) => Promise<Coin | null>;
|
|
242
246
|
interface SendTokensArgs {
|
|
243
247
|
senderAddress?: string;
|
|
244
248
|
recipientAddress: string;
|
|
@@ -246,7 +250,7 @@ interface SendTokensArgs {
|
|
|
246
250
|
fee: number | StdFee | "auto";
|
|
247
251
|
memo?: string;
|
|
248
252
|
}
|
|
249
|
-
declare
|
|
253
|
+
declare const sendTokens: ({ senderAddress, recipientAddress, amount, fee, memo, }: SendTokensArgs) => Promise<DeliverTxResponse>;
|
|
250
254
|
interface SendIbcTokensArgs {
|
|
251
255
|
senderAddress?: string;
|
|
252
256
|
recipientAddress: string;
|
|
@@ -258,7 +262,31 @@ interface SendIbcTokensArgs {
|
|
|
258
262
|
fee: number | StdFee | "auto";
|
|
259
263
|
memo: string;
|
|
260
264
|
}
|
|
261
|
-
declare
|
|
265
|
+
declare const sendIbcTokens: ({ senderAddress, recipientAddress, transferAmount, sourcePort, sourceChannel, timeoutHeight, timeoutTimestamp, fee, memo, }: SendIbcTokensArgs) => Promise<DeliverTxResponse>;
|
|
266
|
+
interface InstantiateContractArgs<Message extends Record<string, unknown>> {
|
|
267
|
+
msg: Message;
|
|
268
|
+
label: string;
|
|
269
|
+
fee: StdFee | "auto" | number;
|
|
270
|
+
options?: InstantiateOptions;
|
|
271
|
+
senderAddress: string;
|
|
272
|
+
codeId: number;
|
|
273
|
+
}
|
|
274
|
+
declare type InstantiateContractMutationArgs<Message extends Record<string, unknown>> = Omit<InstantiateContractArgs<Message>, "codeId" | "senderAddress" | "fee"> & {
|
|
275
|
+
fee?: StdFee | "auto" | number;
|
|
276
|
+
};
|
|
277
|
+
declare const instantiateContract: <Message extends Record<string, unknown>>({ senderAddress, msg, fee, options, label, codeId, }: InstantiateContractArgs<Message>) => Promise<_cosmjs_cosmwasm_stargate.InstantiateResult>;
|
|
278
|
+
interface ExecuteContractArgs<Message extends Record<string, unknown>> {
|
|
279
|
+
msg: Message;
|
|
280
|
+
fee: StdFee | "auto" | number;
|
|
281
|
+
senderAddress: string;
|
|
282
|
+
contractAddress: string;
|
|
283
|
+
}
|
|
284
|
+
declare type ExecuteContractMutationArgs<Message extends Record<string, unknown>> = Omit<ExecuteContractArgs<Message>, "contractAddress" | "senderAddress" | "fee"> & {
|
|
285
|
+
fee?: StdFee | "auto" | number;
|
|
286
|
+
};
|
|
287
|
+
declare const executeContract: <Message extends Record<string, unknown>>({ senderAddress, msg, fee, contractAddress, }: ExecuteContractArgs<Message>) => Promise<_cosmjs_cosmwasm_stargate.ExecuteResult>;
|
|
288
|
+
declare const getQuerySmart: <TData>(address: string, queryMsg: Record<string, unknown>) => Promise<TData>;
|
|
289
|
+
declare const getQueryRaw: (address: string, keyStr: string) => Promise<Uint8Array | null>;
|
|
262
290
|
|
|
263
291
|
/**
|
|
264
292
|
* Function to check whether given {@link WalletType} or default configured wallet exists.
|
|
@@ -269,7 +297,7 @@ declare function sendIbcTokens({ senderAddress, recipientAddress, transferAmount
|
|
|
269
297
|
* const isKeplrSupported = checkWallet("keplr");
|
|
270
298
|
* ```
|
|
271
299
|
*/
|
|
272
|
-
declare
|
|
300
|
+
declare const checkWallet: (type?: WalletType) => boolean;
|
|
273
301
|
/**
|
|
274
302
|
* Function to return {@link Keplr} object and throws and error if it does not exist on `window`.
|
|
275
303
|
*
|
|
@@ -284,7 +312,7 @@ declare function checkWallet(type?: WalletType): boolean;
|
|
|
284
312
|
*
|
|
285
313
|
* @see https://docs.keplr.app
|
|
286
314
|
*/
|
|
287
|
-
declare
|
|
315
|
+
declare const getKeplr: () => Keplr;
|
|
288
316
|
/**
|
|
289
317
|
* Function to return Leap object (which is {@link Keplr}) and throws and error if it does not exist on `window`.
|
|
290
318
|
*
|
|
@@ -299,7 +327,7 @@ declare function getKeplr(): Keplr;
|
|
|
299
327
|
*
|
|
300
328
|
* @see https://docs.keplr.app
|
|
301
329
|
*/
|
|
302
|
-
declare
|
|
330
|
+
declare const getLeap: () => Keplr;
|
|
303
331
|
/**
|
|
304
332
|
* Function to return wallet object based on given {@link WalletType} or from store and throws an error if it does not
|
|
305
333
|
* exist on `window` or unknown wallet type.
|
|
@@ -312,8 +340,8 @@ declare function getLeap(): Keplr;
|
|
|
312
340
|
*
|
|
313
341
|
* @see {@link getKeplr}
|
|
314
342
|
*/
|
|
315
|
-
declare
|
|
316
|
-
declare
|
|
343
|
+
declare const getWallet: (type?: WalletType) => Keplr;
|
|
344
|
+
declare const getAvailableWallets: () => Record<WalletType, boolean>;
|
|
317
345
|
|
|
318
346
|
interface GrazAdapter {
|
|
319
347
|
name: string;
|
|
@@ -351,13 +379,13 @@ interface UseAccountArgs {
|
|
|
351
379
|
* });
|
|
352
380
|
* ```
|
|
353
381
|
*/
|
|
354
|
-
declare
|
|
382
|
+
declare const useAccount: ({ onConnect, onDisconnect }?: UseAccountArgs) => {
|
|
355
383
|
data: Key | null;
|
|
356
384
|
isConnected: boolean;
|
|
357
385
|
isConnecting: boolean;
|
|
358
386
|
isDisconnected: boolean;
|
|
359
387
|
isReconnecting: boolean;
|
|
360
|
-
reconnect:
|
|
388
|
+
reconnect: () => void;
|
|
361
389
|
status: "connected" | "connecting" | "reconnecting" | "disconnected";
|
|
362
390
|
};
|
|
363
391
|
/**
|
|
@@ -376,7 +404,7 @@ declare function useAccount({ onConnect, onDisconnect }?: UseAccountArgs): {
|
|
|
376
404
|
* useBalances("cosmos1kpzxx2lxg05xxn8mfygrerhmkj0ypn8edmu2pu");
|
|
377
405
|
* ```
|
|
378
406
|
*/
|
|
379
|
-
declare
|
|
407
|
+
declare const useBalances: (bech32Address?: string) => UseQueryResult<Coin[]>;
|
|
380
408
|
/**
|
|
381
409
|
* graz query hook to retrieve specific asset balance from current account or given address.
|
|
382
410
|
*
|
|
@@ -394,7 +422,7 @@ declare function useBalances(bech32Address?: string): UseQueryResult<Coin[]>;
|
|
|
394
422
|
* useBalance("atom", "cosmos1kpzxx2lxg05xxn8mfygrerhmkj0ypn8edmu2pu");
|
|
395
423
|
* ```
|
|
396
424
|
*/
|
|
397
|
-
declare
|
|
425
|
+
declare const useBalance: (denom: string, bech32Address?: string) => UseQueryResult<Coin | undefined>;
|
|
398
426
|
declare type UseConnectChainArgs = MutationEventArgs<ConnectArgs, Key>;
|
|
399
427
|
/**
|
|
400
428
|
* graz mutation hook to execute wallet connection with optional arguments to
|
|
@@ -428,7 +456,7 @@ declare type UseConnectChainArgs = MutationEventArgs<ConnectArgs, Key>;
|
|
|
428
456
|
*
|
|
429
457
|
* @see {@link connect}
|
|
430
458
|
*/
|
|
431
|
-
declare
|
|
459
|
+
declare const useConnect: ({ onError, onLoading, onSuccess }?: UseConnectChainArgs) => {
|
|
432
460
|
connect: (args?: ConnectArgs) => void;
|
|
433
461
|
connectAsync: (args?: ConnectArgs) => Promise<Key>;
|
|
434
462
|
error: unknown;
|
|
@@ -461,7 +489,7 @@ declare function useConnect({ onError, onLoading, onSuccess }?: UseConnectChainA
|
|
|
461
489
|
*
|
|
462
490
|
* @see {@link disconnect}
|
|
463
491
|
*/
|
|
464
|
-
declare
|
|
492
|
+
declare const useDisconnect: ({ onError, onLoading, onSuccess }?: MutationEventArgs) => {
|
|
465
493
|
disconnect: (forget?: boolean) => void;
|
|
466
494
|
disconnectAsync: (forget?: boolean) => Promise<void>;
|
|
467
495
|
error: unknown;
|
|
@@ -480,7 +508,7 @@ declare function useDisconnect({ onError, onLoading, onSuccess }?: MutationEvent
|
|
|
480
508
|
* const { signer, signerAmino, signerAuto } = useOfflineSigners();
|
|
481
509
|
* ```
|
|
482
510
|
*/
|
|
483
|
-
declare
|
|
511
|
+
declare const useOfflineSigners: () => {
|
|
484
512
|
signer: (_cosmjs_proto_signing.OfflineSigner & _cosmjs_proto_signing.OfflineDirectSigner) | null;
|
|
485
513
|
signerAmino: _cosmjs_proto_signing.OfflineSigner | null;
|
|
486
514
|
signerAuto: _cosmjs_proto_signing.OfflineSigner | null;
|
|
@@ -491,7 +519,7 @@ declare function useOfflineSigners(): {
|
|
|
491
519
|
* @deprecated prefer using {@link useOfflineSigners}
|
|
492
520
|
* @see {@link useOfflineSigners}
|
|
493
521
|
*/
|
|
494
|
-
declare
|
|
522
|
+
declare const useSigners: () => {
|
|
495
523
|
signer: (_cosmjs_proto_signing.OfflineSigner & _cosmjs_proto_signing.OfflineDirectSigner) | null;
|
|
496
524
|
signerAmino: _cosmjs_proto_signing.OfflineSigner | null;
|
|
497
525
|
signerAuto: _cosmjs_proto_signing.OfflineSigner | null;
|
|
@@ -512,7 +540,7 @@ declare function useSigners(): {
|
|
|
512
540
|
* useBalanceStaked("cosmos1kpzxx2lxg05xxn8mfygrerhmkj0ypn8edmu2pu");
|
|
513
541
|
* ```
|
|
514
542
|
*/
|
|
515
|
-
declare
|
|
543
|
+
declare const useBalanceStaked: (bech32Address?: string) => UseQueryResult<Coin | null>;
|
|
516
544
|
|
|
517
545
|
/**
|
|
518
546
|
* graz hook to retrieve connected account's active chain
|
|
@@ -523,7 +551,7 @@ declare function useBalanceStaked(bech32Address?: string): UseQueryResult<Coin |
|
|
|
523
551
|
* const { rpc, rest, chainId, currencies } = useActiveChain();
|
|
524
552
|
* ```
|
|
525
553
|
*/
|
|
526
|
-
declare
|
|
554
|
+
declare const useActiveChain: () => GrazChain | null;
|
|
527
555
|
/**
|
|
528
556
|
* graz hook to retrieve specific connected account's currency
|
|
529
557
|
*
|
|
@@ -535,7 +563,7 @@ declare function useActiveChain(): GrazChain | null;
|
|
|
535
563
|
* const { data: currency, ... } = useActiveChainCurrency("juno");
|
|
536
564
|
* ```
|
|
537
565
|
*/
|
|
538
|
-
declare
|
|
566
|
+
declare const useActiveChainCurrency: (denom: string) => UseQueryResult<AppCurrency | undefined>;
|
|
539
567
|
/**
|
|
540
568
|
* graz hook to retrieve active chain validators with given query client and optional bond status
|
|
541
569
|
*
|
|
@@ -551,7 +579,7 @@ declare function useActiveChainCurrency(denom: string): UseQueryResult<AppCurren
|
|
|
551
579
|
* const { data: response, ... } = useActiveChainValidators(queryClient);
|
|
552
580
|
* ```
|
|
553
581
|
*/
|
|
554
|
-
declare
|
|
582
|
+
declare const useActiveChainValidators: <T extends QueryClient & StakingExtension>(queryClient: T | undefined, status?: BondStatusString) => UseQueryResult<QueryValidatorsResponse>;
|
|
555
583
|
/**
|
|
556
584
|
* graz hook to retrieve last connected chain info
|
|
557
585
|
*
|
|
@@ -568,9 +596,9 @@ declare function useActiveChainValidators<T extends QueryClient & StakingExtensi
|
|
|
568
596
|
*
|
|
569
597
|
* @see {@link useActiveChain}
|
|
570
598
|
*/
|
|
571
|
-
declare
|
|
599
|
+
declare const useRecentChain: () => {
|
|
572
600
|
data: GrazChain | null;
|
|
573
|
-
clear:
|
|
601
|
+
clear: () => void;
|
|
574
602
|
};
|
|
575
603
|
declare type UseSuggestChainArgs = MutationEventArgs<ChainInfo>;
|
|
576
604
|
/**
|
|
@@ -589,7 +617,7 @@ declare type UseSuggestChainArgs = MutationEventArgs<ChainInfo>;
|
|
|
589
617
|
* });
|
|
590
618
|
* ```
|
|
591
619
|
*/
|
|
592
|
-
declare
|
|
620
|
+
declare const useSuggestChain: ({ onError, onLoading, onSuccess }?: UseSuggestChainArgs) => {
|
|
593
621
|
error: unknown;
|
|
594
622
|
isLoading: boolean;
|
|
595
623
|
isSuccess: boolean;
|
|
@@ -631,7 +659,7 @@ declare type UseSuggestChainAndConnectArgs = MutationEventArgs<SuggestChainAndCo
|
|
|
631
659
|
* });
|
|
632
660
|
* ```
|
|
633
661
|
*/
|
|
634
|
-
declare
|
|
662
|
+
declare const useSuggestChainAndConnect: ({ onError, onLoading, onSuccess }?: UseSuggestChainAndConnectArgs) => {
|
|
635
663
|
error: unknown;
|
|
636
664
|
isLoading: boolean;
|
|
637
665
|
isSuccess: boolean;
|
|
@@ -647,6 +675,18 @@ declare function useSuggestChainAndConnect({ onError, onLoading, onSuccess }?: U
|
|
|
647
675
|
}, unknown, SuggestChainAndConnectArgs, unknown>;
|
|
648
676
|
};
|
|
649
677
|
|
|
678
|
+
interface UseQueryClient {
|
|
679
|
+
(): UseQueryResult<QueryClient>;
|
|
680
|
+
<A extends object>(setupA: ExtensionSetup<A>): UseQueryResult<QueryClient & A>;
|
|
681
|
+
<A extends object, B extends object>(setupA: ExtensionSetup<A>, setupB: ExtensionSetup<B>): UseQueryResult<QueryClient & A & B>;
|
|
682
|
+
<A extends object, B extends object, C extends object>(setupA: ExtensionSetup<A>, setupB: ExtensionSetup<B>, setupC: ExtensionSetup<C>): UseQueryResult<QueryClient & A & B & C>;
|
|
683
|
+
<A extends object, B extends object, C extends object, D extends object>(setupA: ExtensionSetup<A>, setupB: ExtensionSetup<B>, setupC: ExtensionSetup<C>, setupD: ExtensionSetup<D>): UseQueryResult<QueryClient & A & B & C & D>;
|
|
684
|
+
<A extends object, B extends object, C extends object, D extends object, E extends object>(setupA: ExtensionSetup<A>, setupB: ExtensionSetup<B>, setupC: ExtensionSetup<C>, setupD: ExtensionSetup<D>, setupE: ExtensionSetup<E>): UseQueryResult<QueryClient & A & B & C & D & E>;
|
|
685
|
+
<A extends object, B extends object, C extends object, D extends object, E extends object, F extends object>(setupA: ExtensionSetup<A>, setupB: ExtensionSetup<B>, setupC: ExtensionSetup<C>, setupD: ExtensionSetup<D>, setupE: ExtensionSetup<E>, setupF: ExtensionSetup<F>): UseQueryResult<QueryClient & A & B & C & D & E & F>;
|
|
686
|
+
<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>;
|
|
687
|
+
<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>;
|
|
688
|
+
<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>;
|
|
689
|
+
}
|
|
650
690
|
/**
|
|
651
691
|
* graz query hook to create and use {@link QueryClient} similar when using {@link QueryClient.withExtensions}.
|
|
652
692
|
*
|
|
@@ -669,16 +709,7 @@ declare function useSuggestChainAndConnect({ onError, onLoading, onSuccess }?: U
|
|
|
669
709
|
*
|
|
670
710
|
* @see {@link createQueryClient}
|
|
671
711
|
*/
|
|
672
|
-
declare
|
|
673
|
-
declare function useQueryClient<A extends object>(setupA: ExtensionSetup<A>): UseQueryResult<QueryClient & A>;
|
|
674
|
-
declare function useQueryClient<A extends object, B extends object>(setupA: ExtensionSetup<A>, setupB: ExtensionSetup<B>): UseQueryResult<QueryClient & A & B>;
|
|
675
|
-
declare function useQueryClient<A extends object, B extends object, C extends object>(setupA: ExtensionSetup<A>, setupB: ExtensionSetup<B>, setupC: ExtensionSetup<C>): UseQueryResult<QueryClient & A & B & C>;
|
|
676
|
-
declare function useQueryClient<A extends object, B extends object, C extends object, D extends object>(setupA: ExtensionSetup<A>, setupB: ExtensionSetup<B>, setupC: ExtensionSetup<C>, setupD: ExtensionSetup<D>): UseQueryResult<QueryClient & A & B & C & D>;
|
|
677
|
-
declare function useQueryClient<A extends object, B extends object, C extends object, D extends object, E extends object>(setupA: ExtensionSetup<A>, setupB: ExtensionSetup<B>, setupC: ExtensionSetup<C>, setupD: ExtensionSetup<D>, setupE: ExtensionSetup<E>): UseQueryResult<QueryClient & A & B & C & D & E>;
|
|
678
|
-
declare function useQueryClient<A extends object, B extends object, C extends object, D extends object, E extends object, F extends object>(setupA: ExtensionSetup<A>, setupB: ExtensionSetup<B>, setupC: ExtensionSetup<C>, setupD: ExtensionSetup<D>, setupE: ExtensionSetup<E>, setupF: ExtensionSetup<F>): UseQueryResult<QueryClient & A & B & C & D & E & F>;
|
|
679
|
-
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>;
|
|
680
|
-
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>;
|
|
681
|
-
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>;
|
|
712
|
+
declare const useQueryClient: UseQueryClient;
|
|
682
713
|
|
|
683
714
|
/**
|
|
684
715
|
* graz query hook to retrieve a CosmWasmClient, StargateClient and Tendermint34Client. If there's no given arguments it will be using the current connected client
|
|
@@ -694,7 +725,7 @@ declare function useQueryClient<A extends object, B extends object, C extends ob
|
|
|
694
725
|
* useClient({ rpc: "https://rpc.cosmoshub.strange.love", });
|
|
695
726
|
* ```
|
|
696
727
|
*/
|
|
697
|
-
declare
|
|
728
|
+
declare const useClients: (args?: CreateClientArgs) => UseQueryResult<GrazStore["clients"]>;
|
|
698
729
|
/**
|
|
699
730
|
* graz query hook to retrieve a SigningCosmWasmClient. If there's no given args it will be using the current connected signer
|
|
700
731
|
*
|
|
@@ -713,7 +744,7 @@ declare function useClients(args?: CreateClientArgs): UseQueryResult<GrazStore["
|
|
|
713
744
|
* });
|
|
714
745
|
* ```
|
|
715
746
|
*/
|
|
716
|
-
declare
|
|
747
|
+
declare const useSigningClients: (args?: CreateSigningClientArgs) => UseQueryResult<GrazStore["signingClients"]>;
|
|
717
748
|
|
|
718
749
|
/**
|
|
719
750
|
* graz mutation hook to send tokens. Note: if `senderAddress` undefined, it will use current connected account address.
|
|
@@ -734,12 +765,12 @@ declare function useSigningClients(args?: CreateSigningClientArgs): UseQueryResu
|
|
|
734
765
|
*
|
|
735
766
|
* @see {@link sendTokens}
|
|
736
767
|
*/
|
|
737
|
-
declare
|
|
768
|
+
declare const useSendTokens: ({ onError, onLoading, onSuccess, }?: MutationEventArgs<SendTokensArgs, DeliverTxResponse>) => {
|
|
738
769
|
error: unknown;
|
|
739
770
|
isLoading: boolean;
|
|
740
771
|
isSuccess: boolean;
|
|
741
|
-
sendTokens: _tanstack_react_query.UseMutateFunction<
|
|
742
|
-
sendTokensAsync: _tanstack_react_query.UseMutateAsyncFunction<
|
|
772
|
+
sendTokens: _tanstack_react_query.UseMutateFunction<DeliverTxResponse, unknown, SendTokensArgs, unknown>;
|
|
773
|
+
sendTokensAsync: _tanstack_react_query.UseMutateAsyncFunction<DeliverTxResponse, unknown, SendTokensArgs, unknown>;
|
|
743
774
|
status: "error" | "idle" | "loading" | "success";
|
|
744
775
|
};
|
|
745
776
|
/**
|
|
@@ -760,14 +791,92 @@ declare function useSendTokens({ onError, onLoading, onSuccess }?: MutationEvent
|
|
|
760
791
|
* })
|
|
761
792
|
* ```
|
|
762
793
|
*/
|
|
763
|
-
declare
|
|
794
|
+
declare const useSendIbcTokens: ({ onError, onLoading, onSuccess, }?: MutationEventArgs<SendIbcTokensArgs, DeliverTxResponse>) => {
|
|
795
|
+
error: unknown;
|
|
796
|
+
isLoading: boolean;
|
|
797
|
+
isSuccess: boolean;
|
|
798
|
+
sendIbcTokens: _tanstack_react_query.UseMutateFunction<DeliverTxResponse, unknown, SendIbcTokensArgs, unknown>;
|
|
799
|
+
sendIbcTokensAsync: _tanstack_react_query.UseMutateAsyncFunction<DeliverTxResponse, unknown, SendIbcTokensArgs, unknown>;
|
|
800
|
+
status: "error" | "idle" | "loading" | "success";
|
|
801
|
+
};
|
|
802
|
+
declare type UseInstantiateContractArgs<Message extends Record<string, unknown>> = {
|
|
803
|
+
codeId: number;
|
|
804
|
+
} & MutationEventArgs<InstantiateContractMutationArgs<Message>, InstantiateResult>;
|
|
805
|
+
/**
|
|
806
|
+
* graz mutation hook to instantiate a CosmWasm smart contract when supported.
|
|
807
|
+
*
|
|
808
|
+
* @example
|
|
809
|
+
* ```ts
|
|
810
|
+
* import { useInstantiateContract } from "graz"
|
|
811
|
+
*
|
|
812
|
+
* const { instantiateContract: instantiateMyContract } = useInstantiateContract({
|
|
813
|
+
* codeId: 4,
|
|
814
|
+
* onSuccess: ({ contractAddress }) => console.log('Address:', contractAddress)
|
|
815
|
+
* })
|
|
816
|
+
*
|
|
817
|
+
* const instantiateMessage = { foo: 'bar' };
|
|
818
|
+
* instantiateMyContract(instantiateMessage);
|
|
819
|
+
* ```
|
|
820
|
+
*/
|
|
821
|
+
declare const useInstantiateContract: <Message extends Record<string, unknown>>({ codeId, onError, onLoading, onSuccess, }: UseInstantiateContractArgs<Message>) => {
|
|
764
822
|
error: unknown;
|
|
765
823
|
isLoading: boolean;
|
|
766
824
|
isSuccess: boolean;
|
|
767
|
-
|
|
768
|
-
|
|
825
|
+
instantiateContract: _tanstack_react_query.UseMutateFunction<InstantiateResult, unknown, InstantiateContractMutationArgs<Message>, unknown>;
|
|
826
|
+
instantiateContractAsync: _tanstack_react_query.UseMutateAsyncFunction<InstantiateResult, unknown, InstantiateContractMutationArgs<Message>, unknown>;
|
|
769
827
|
status: "error" | "idle" | "loading" | "success";
|
|
770
828
|
};
|
|
829
|
+
declare type UseExecuteContractArgs<Message extends Record<string, unknown>> = {
|
|
830
|
+
contractAddress: string;
|
|
831
|
+
} & MutationEventArgs<ExecuteContractMutationArgs<Message>, ExecuteResult>;
|
|
832
|
+
/**
|
|
833
|
+
* graz mutation hook for executing transactions against a CosmWasm smart
|
|
834
|
+
* contract.
|
|
835
|
+
*
|
|
836
|
+
* @example
|
|
837
|
+
* ```ts
|
|
838
|
+
* import { useExecuteContract } from "graz"
|
|
839
|
+
*
|
|
840
|
+
* interface GreetMessage {
|
|
841
|
+
* name: string;
|
|
842
|
+
* }
|
|
843
|
+
*
|
|
844
|
+
* interface GreetResponse {
|
|
845
|
+
* message: string;
|
|
846
|
+
* }
|
|
847
|
+
*
|
|
848
|
+
* const contractAddress = "cosmosfoobarbaz";
|
|
849
|
+
* const { executeContract } = useExecuteContract<ExecuteMessage>({ contractAddress });
|
|
850
|
+
* executeContract({ name: 'CosmWasm' }, {
|
|
851
|
+
* onSuccess: (data: GreetResponse) => console.log('Got message:', data.message);
|
|
852
|
+
* });
|
|
853
|
+
* ```
|
|
854
|
+
*/
|
|
855
|
+
declare const useExecuteContract: <Message extends Record<string, unknown>>({ contractAddress, onError, onLoading, onSuccess, }: UseExecuteContractArgs<Message>) => {
|
|
856
|
+
error: unknown;
|
|
857
|
+
isLoading: boolean;
|
|
858
|
+
isSuccess: boolean;
|
|
859
|
+
executeContract: _tanstack_react_query.UseMutateFunction<ExecuteResult, unknown, ExecuteContractMutationArgs<Message>, unknown>;
|
|
860
|
+
executeContractAsync: _tanstack_react_query.UseMutateAsyncFunction<ExecuteResult, unknown, ExecuteContractMutationArgs<Message>, unknown>;
|
|
861
|
+
status: "error" | "idle" | "loading" | "success";
|
|
862
|
+
};
|
|
863
|
+
/**
|
|
864
|
+
* graz query hook for dispatching a "smart" query to a CosmWasm smart
|
|
865
|
+
* contract.
|
|
866
|
+
*
|
|
867
|
+
* @param address - The address of the contract to query
|
|
868
|
+
* @param queryMsg - The query message to send to the contract
|
|
869
|
+
* @returns A query result with the result returned by the smart contract.
|
|
870
|
+
*/
|
|
871
|
+
declare const useQuerySmart: <TData, TError>(address?: string, queryMsg?: Record<string, unknown>) => UseQueryResult<TData, TError>;
|
|
872
|
+
/**
|
|
873
|
+
* graz query hook for dispatching a "raw" query to a CosmWasm smart contract.
|
|
874
|
+
*
|
|
875
|
+
* @param address - The address of the contract to query
|
|
876
|
+
* @param key - The key to lookup in the contract storage
|
|
877
|
+
* @returns A query result with raw byte array stored at the key queried.
|
|
878
|
+
*/
|
|
879
|
+
declare const useQueryRaw: <TError>(address?: string, key?: string) => UseQueryResult<Uint8Array | null, TError>;
|
|
771
880
|
|
|
772
881
|
/**
|
|
773
882
|
* graz hook which returns boolean whether Keplr Wallet is supported
|
|
@@ -781,7 +890,7 @@ declare function useSendIbcTokens({ onError, onLoading, onSuccess }?: MutationEv
|
|
|
781
890
|
*
|
|
782
891
|
* @deprecated prefer using {@link useCheckWallet}
|
|
783
892
|
*/
|
|
784
|
-
declare
|
|
893
|
+
declare const useCheckKeplr: () => UseQueryResult<boolean>;
|
|
785
894
|
/**
|
|
786
895
|
* graz query hook to check whether given {@link WalletType} or default configured wallet is supported
|
|
787
896
|
*
|
|
@@ -793,7 +902,7 @@ declare function useCheckKeplr(): UseQueryResult<boolean>;
|
|
|
793
902
|
* const { data: isKeplrSupported } = useCheckWallet("keplr");
|
|
794
903
|
* ```
|
|
795
904
|
*/
|
|
796
|
-
declare
|
|
905
|
+
declare const useCheckWallet: (type?: WalletType) => UseQueryResult<boolean>;
|
|
797
906
|
|
|
798
907
|
declare type GrazProviderProps = Partial<QueryClientProviderProps> & {
|
|
799
908
|
grazOptions?: ConfigureGrazArgs;
|
|
@@ -816,19 +925,19 @@ declare type GrazProviderProps = Partial<QueryClientProviderProps> & {
|
|
|
816
925
|
*
|
|
817
926
|
* @see https://tanstack.com/query
|
|
818
927
|
*/
|
|
819
|
-
declare
|
|
928
|
+
declare const GrazProvider: FC<GrazProviderProps>;
|
|
820
929
|
|
|
821
930
|
/**
|
|
822
931
|
* Graz custom hook to track `keplr_keystorechange` event and reconnect state
|
|
823
932
|
*
|
|
824
933
|
* **Note: only use this hook if not using graz's provider component.**
|
|
825
934
|
*/
|
|
826
|
-
declare
|
|
935
|
+
declare const useGrazEvents: () => null;
|
|
827
936
|
/**
|
|
828
937
|
* Null component to run {@link useGrazEvents} without affecting component tree.
|
|
829
938
|
*
|
|
830
939
|
* **Note: only use this component if not using graz's provider component.**
|
|
831
940
|
*/
|
|
832
|
-
declare
|
|
941
|
+
declare const GrazEvents: FC;
|
|
833
942
|
|
|
834
|
-
export { ChainInfoWithPath, ConfigureGrazArgs, ConnectArgs, CreateClientArgs, CreateSigningClientArgs, Dictionary, GrazAdapter, GrazChain, GrazEvents, GrazProvider, GrazProviderProps, Maybe, SendIbcTokensArgs, SendTokensArgs, SuggestChainAndConnectArgs, UseAccountArgs, UseConnectChainArgs, UseSuggestChainAndConnectArgs, UseSuggestChainArgs, WALLET_TYPES, WalletType, checkWallet, clearRecentChain, configureGraz, connect, createClients, createQueryClient, createSigningClients, defineChain, defineChainInfo, defineChains, disconnect, getActiveChainCurrency, getAvailableWallets, getBalanceStaked, getBalances, getKeplr, getLeap, getRecentChain, getWallet, mainnetChains, mainnetChainsArray, reconnect, sendIbcTokens, sendTokens, suggestChain, suggestChainAndConnect, testnetChains, testnetChainsArray, useAccount, useActiveChain, useActiveChainCurrency, useActiveChainValidators, useBalance, useBalanceStaked, useBalances, useCheckKeplr, useCheckWallet, useClients, useConnect, useDisconnect, useGrazEvents, useOfflineSigners, useQueryClient, useRecentChain, useSendIbcTokens, useSendTokens, useSigners, useSigningClients, useSuggestChain, useSuggestChainAndConnect };
|
|
943
|
+
export { ChainInfoWithPath, ConfigureGrazArgs, ConnectArgs, CreateClientArgs, CreateQueryClient, CreateSigningClientArgs, Dictionary, ExecuteContractArgs, ExecuteContractMutationArgs, GrazAdapter, GrazChain, GrazEvents, GrazProvider, GrazProviderProps, InstantiateContractArgs, InstantiateContractMutationArgs, Maybe, SendIbcTokensArgs, SendTokensArgs, SuggestChainAndConnectArgs, UseAccountArgs, UseConnectChainArgs, UseExecuteContractArgs, UseInstantiateContractArgs, UseQueryClient, UseSuggestChainAndConnectArgs, UseSuggestChainArgs, WALLET_TYPES, WalletType, checkWallet, clearRecentChain, configureGraz, connect, createClients, createQueryClient, createSigningClients, defineChain, defineChainInfo, defineChains, disconnect, executeContract, getActiveChainCurrency, getAvailableWallets, getBalanceStaked, getBalances, getKeplr, getLeap, getQueryRaw, getQuerySmart, getRecentChain, getWallet, instantiateContract, mainnetChains, mainnetChainsArray, reconnect, sendIbcTokens, sendTokens, suggestChain, suggestChainAndConnect, testnetChains, testnetChainsArray, useAccount, useActiveChain, useActiveChainCurrency, useActiveChainValidators, useBalance, useBalanceStaked, useBalances, useCheckKeplr, useCheckWallet, useClients, useConnect, useDisconnect, useExecuteContract, useGrazEvents, useInstantiateContract, useOfflineSigners, useQueryClient, useQueryRaw, useQuerySmart, useRecentChain, useSendIbcTokens, useSendTokens, useSigners, useSigningClients, useSuggestChain, useSuggestChainAndConnect };
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var Ne=Object.create;var E=Object.defineProperty;var _e=Object.getOwnPropertyDescriptor;var He=Object.getOwnPropertyNames;var Le=Object.getPrototypeOf,Ve=Object.prototype.hasOwnProperty;var Je=(e,t)=>{for(var o in t)E(e,o,{get:t[o],enumerable:!0})},re=(e,t,o,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of He(t))!Ve.call(e,n)&&n!==o&&E(e,n,{get:()=>t[n],enumerable:!(i=_e(t,n))||i.enumerable});return e};var se=(e,t,o)=>(o=e!=null?Ne(Le(e)):{},re(t||!e||!e.__esModule?E(o,"default",{value:e,enumerable:!0}):o,e)),Ye=e=>re(E({},"__esModule",{value:!0}),e);var Nt={};Je(Nt,{GrazEvents:()=>te,GrazProvider:()=>Ft,WALLET_TYPES:()=>B,WalletType:()=>T,checkWallet:()=>j,clearRecentChain:()=>z,configureGraz:()=>P,connect:()=>C,createClients:()=>S,createQueryClient:()=>v,createSigningClients:()=>A,defineChain:()=>xt,defineChainInfo:()=>St,defineChains:()=>ht,disconnect:()=>U,getActiveChainCurrency:()=>K,getAvailableWallets:()=>Xe,getBalanceStaked:()=>M,getBalances:()=>W,getKeplr:()=>ue,getLeap:()=>pe,getRecentChain:()=>Ze,getWallet:()=>f,mainnetChains:()=>At,mainnetChainsArray:()=>Et,reconnect:()=>l,sendIbcTokens:()=>F,sendTokens:()=>R,suggestChain:()=>w,suggestChainAndConnect:()=>O,testnetChains:()=>bt,testnetChainsArray:()=>jt,useAccount:()=>h,useActiveChain:()=>Gt,useActiveChainCurrency:()=>vt,useActiveChainValidators:()=>qt,useBalance:()=>Dt,useBalanceStaked:()=>Bt,useBalances:()=>Ue,useCheckKeplr:()=>wt,useCheckWallet:()=>d,useClients:()=>Ot,useConnect:()=>kt,useDisconnect:()=>It,useGrazEvents:()=>Pe,useOfflineSigners:()=>ze,useQueryClient:()=>Kt,useRecentChain:()=>Qt,useSendIbcTokens:()=>Mt,useSendTokens:()=>Wt,useSigners:()=>Tt,useSigningClients:()=>Pt,useSuggestChain:()=>Ut,useSuggestChainAndConnect:()=>zt});module.exports=Ye(Nt);var me=require("@cosmjs/stargate");var ie=se(require("zustand")),b=require("zustand/middleware");var T=(o=>(o.KEPLR="keplr",o.LEAP="leap",o))(T||{}),B=["keplr","leap"];var G={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},$e={name:"graz",partialize:e=>({activeChain:e.activeChain,recentChain:e.recentChain,_reconnect:e._reconnect}),version:1},c=(0,ie.default)((0,b.subscribeWithSelector)((0,b.persist)(()=>G,$e)));var q=require("@cosmjs/cosmwasm-stargate"),Q=require("@cosmjs/stargate"),ae=require("@cosmjs/tendermint-rpc");var ce=require("@cosmjs/stargate"),g=require("@cosmjs/utils");function v(...e){let{tendermint:t}=c.getState().clients,o=new ce.QueryClient(t),i=e.map(n=>n(o));for(let n of i){(0,g.assert)((0,g.isNonNullObject)(n),"Extension must be a non-null object");for(let[s,r]of Object.entries(n)){(0,g.assert)((0,g.isNonNullObject)(r),`Module must be a non-null object. Found type ${typeof r} for module "${s}".`);let u=o[s]||{};o[s]={...u,...r}}}return o}async function S({rpc:e,rpcHeaders:t}){let o={url:e,headers:{...t||{}}},[i,n,s]=await Promise.all([q.SigningCosmWasmClient.connect(o),Q.SigningStargateClient.connect(o),ae.Tendermint34Client.connect(e)]);return{cosmWasm:i,stargate:n,tendermint:s}}async function A(e){let{rpc:t,rpcHeaders:o,offlineSignerAuto:i,cosmWasmSignerOptions:n={},stargateSignerOptions:s={}}=e,r={url:t,headers:{...o||{}}},[u,p]=await Promise.all([q.SigningCosmWasmClient.connectWithSigner(r,i,n),Q.SigningStargateClient.connectWithSigner(r,i,s)]);return{cosmWasm:u,stargate:p}}function j(e=c.getState().walletType){try{return f(e),!0}catch(t){return console.error(t),!1}}function ue(){if(typeof window.keplr<"u")return window.keplr;throw c.getState()._notFoundFn(),new Error("window.keplr is not defined")}function pe(){if(typeof window.leap<"u")return window.leap;throw c.getState()._notFoundFn(),new Error("window.leap is not defined")}function f(e=c.getState().walletType){switch(e){case"keplr":return ue();case"leap":return pe();default:throw new Error("Unknown wallet type")}}function Xe(){return Object.fromEntries(B.map(e=>[e,j(e)]))}async function C(e){try{let{defaultChain:t,recentChain:o,walletType:i}=c.getState(),n=(e==null?void 0:e.walletType)||i,s=f(n),r=e||o||t;if(!r)throw new Error("No last known connected chain, connect action requires chain info");c.setState(I=>{let Fe=I._reconnect;return I.activeChain&&I.activeChain.chainId!==r.chainId?{status:"connecting"}:Fe?{status:"reconnecting"}:{status:"connecting"}}),await s.enable(r.chainId);let u=s.getOfflineSigner(r.chainId),p=s.getOfflineSignerOnlyAmino(r.chainId),m=await s.getOfflineSignerAuto(r.chainId),We=r.gas?me.GasPrice.fromString(`${r.gas.price}${r.gas.denom}`):void 0,[oe,Me,Re]=await Promise.all([s.getKey(r.chainId),S(r),A({...r,offlineSignerAuto:m,cosmWasmSignerOptions:{gasPrice:We,...(e==null?void 0:e.signerOpts)||{}}})]);return c.setState({account:oe,activeChain:r,clients:Me,offlineSigner:u,offlineSignerAmino:p,offlineSignerAuto:m,recentChain:r,signingClients:Re,status:"connected",walletType:n,_reconnect:!0}),oe}catch(t){throw c.getState().account===null&&c.setState({status:"disconnected"}),t}}async function U(e=!1){return c.setState(t=>({...G,recentChain:e?null:t.recentChain})),Promise.resolve()}function l(){let{activeChain:e}=c.getState();e&&C(e)}function z(){c.setState({recentChain:null})}function K(e){let{activeChain:t}=c.getState();return t==null?void 0:t.currencies.find(o=>o.coinMinimalDenom===e)}function Ze(){return c.getState().recentChain}async function w(e){return await f().experimentalSuggestChain(e),e}async function O({chainInfo:e,...t}){let o=await w(e);return{account:await C({chainId:e.chainId,currencies:e.currencies,rest:e.rest,rpc:e.rpc,...t}),chain:o}}function P(e={}){return c.setState(t=>({defaultChain:e.defaultChain||t.defaultChain,defaultSigningClient:e.defaultSigningClient||t.defaultSigningClient,walletType:e.defaultWallet||t.walletType,_notFoundFn:e.onNotFound||t._notFoundFn})),e}async function W(e){let{activeChain:t,signingClients:o}=c.getState();if(!t||!o)throw new Error("No connected account detected");let{defaultSigningClient:i}=c.getState();return await Promise.all(t.currencies.map(async s=>o[i].getBalance(e,s.coinMinimalDenom)))}async function M(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 R({senderAddress:e,recipientAddress:t,amount:o,fee:i,memo:n}){let{signingClients:s,defaultSigningClient:r}=c.getState();if(!s)throw new Error("No connected account detected");if(!e)throw new Error("senderAddress is not defined");return s[r].sendTokens(e,t,o,i,n)}async function F({senderAddress:e,recipientAddress:t,transferAmount:o,sourcePort:i,sourceChannel:n,timeoutHeight:s,timeoutTimestamp:r,fee:u,memo:p}){let{signingClients:m}=c.getState();if(!(m!=null&&m.stargate))throw new Error("Stargate signing client is not ready");if(!e)throw new Error("senderAddress is not defined");return m.stargate.sendIbcTokens(e,t,o,i,n,s,r,u,p)}var ye=require("@keplr-wallet/cosmos"),ge={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"},tt={coinDenom:"dai",coinMinimalDenom:"dai-wei",coinDecimals:18,coinGeckoId:"dai",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/dai.png"},nt={coinDenom:"usdt",coinMinimalDenom:"uusdt",coinDecimals:6,coinGeckoId:"tether",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/usdt.png"},ot={coinDenom:"weth-wei",coinMinimalDenom:"weth",coinDecimals:18,coinGeckoId:"weth",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/weth.png"},rt={coinDenom:"wbtc-satoshi",coinMinimalDenom:"wbtc",coinDecimals:8,coinGeckoId:"wrapped-bitcoin",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/wbtc.png"},le=[ge,et,tt,nt,ot,rt],N={rpc:"https://rpc.axelar.strange.love",rest:"https://api.axelar.strange.love",chainId:"axelar-dojo-1",chainName:"Axelar",stakeCurrency:ge,bip44:{coinType:118},bech32Config:ye.Bech32Address.defaultBech32Config("axelar"),currencies:le,feeCurrencies:le};var Ce=require("@keplr-wallet/cosmos"),de={coinDenom:"atom",coinMinimalDenom:"uatom",coinDecimals:6,coinGeckoId:"cosmos",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/cosmoshub/images/atom.png"},fe=[de],D={rpc:"https://rpc.cosmoshub.strange.love",rest:"https://api.cosmoshub.strange.love",chainId:"cosmoshub-4",chainName:"Cosmos Hub",stakeCurrency:de,bip44:{coinType:118},bech32Config:Ce.Bech32Address.defaultBech32Config("cosmos"),currencies:fe,feeCurrencies:fe};var xe=require("@keplr-wallet/cosmos"),Se={coinDenom:"juno",coinMinimalDenom:"ujuno",coinDecimals:6,coinGeckoId:"juno-network",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/juno.png"},st={coinDenom:"neta",coinMinimalDenom:"cw20:juno168ctmpyppk90d34p3jjy658zf5a5l3w8wk35wht6ccqj4mr0yv8s4j5awr",coinDecimals:6,coinGeckoId:"neta",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/neta.png"},it={coinDenom:"marble",coinMinimalDenom:"cw20:juno1g2g7ucurum66d42g8k5twk34yegdq8c82858gz0tq2fc75zy7khssgnhjl",coinDecimals:3,coinGeckoId:"marble",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/marble.png"},ct={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"},ut={coinDenom:"block",coinMinimalDenom:"cw20:juno1y9rf7ql6ffwkv02hsgd4yruz23pn4w97p75e2slsnkm0mnamhzysvqnxaq",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/block.png"},pt={coinDenom:"dhk",coinMinimalDenom:"cw20:juno1tdjwrqmnztn2j3sj2ln9xnyps5hs48q3ddwjrz7jpv6mskappjys5czd49",coinDecimals:0,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/dhk.png"},mt={coinDenom:"raw",coinMinimalDenom:"cw20:juno15u3dt79t6sxxa3x3kpkhzsy56edaa5a66wvt3kxmukqjz2sx0hes5sn38g",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/raw.png",coinGeckoId:"junoswap-raw-dao"},lt={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"},gt={coinDenom:"joe",coinMinimalDenom:"cw20:juno1n7n7d5088qlzlj37e9mgmkhx6dfgtvt02hqxq66lcap4dxnzdhwqfmgng3",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/joe.png"},he=[Se,st,it,ct,at,ut,pt,mt,lt,yt,gt],_={rpc:"https://rpc.juno.strange.love",rest:"https://api.juno.strange.love",chainId:"juno-1",chainName:"Juno",stakeCurrency:Se,bip44:{coinType:118},bech32Config:xe.Bech32Address.defaultBech32Config("juno"),currencies:he,feeCurrencies:he};var Ee=require("@keplr-wallet/cosmos"),be={coinDenom:"osmo",coinMinimalDenom:"uosmo",coinDecimals:6,coinGeckoId:"osmosis",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/cosmoshub/images/atom.png"},ft={coinDenom:"ion",coinMinimalDenom:"uion",coinDecimals:6,coinGeckoId:"ion",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/ion.png"},Ae=[be,ft],H={rpc:"https://rpc.osmosis.strange.love",rest:"https://api.osmosis.strange.love",chainId:"osmosis-1",chainName:"Osmosis",stakeCurrency:be,bip44:{coinType:118},bech32Config:Ee.Bech32Address.defaultBech32Config("osmo"),currencies:Ae,feeCurrencies:Ae};var we=require("@keplr-wallet/cosmos"),De={coinDenom:"somm",coinMinimalDenom:"usomm",coinDecimals:6,coinGeckoId:"sommelier",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/sommelier/images/somm.png"},je=[De],L={rpc:"https://rpc.sommelier.strange.love",rest:"https://api.sommelier.strange.love",chainId:"sommelier-3",chainName:"Sommelier",stakeCurrency:De,bip44:{coinType:118},bech32Config:we.Bech32Address.defaultBech32Config("somm"),currencies:je,feeCurrencies:je};var Ie=require("@keplr-wallet/cosmos"),Te={coinDenom:"CRE",coinMinimalDenom:"ucre",coinDecimals:6,coinGeckoId:"crescent",coinImageUrl:"https://raw.githubusercontent.com/crescent-network/asset/main/images/coin/CRE.png"},ke=[Te],V={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:Ie.Bech32Address.defaultBech32Config("CRE"),currencies:ke,feeCurrencies:ke,stakeCurrency:Te,coinType:118};var Be=require("@keplr-wallet/cosmos"),J={coinDenom:"junox",coinMinimalDenom:"ujunox",coinDecimals:6,coinGeckoId:"juno-network",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/juno.png"},Ct=[J],Y={rpc:"https://rpc.uni.junonetwork.io",rest:"https://api.uni.junonetwork.io",chainId:"uni-3",chainName:"Juno Testnet",stakeCurrency:J,bip44:{coinType:118},bech32Config:Be.Bech32Address.defaultBech32Config("juno"),currencies:Ct,feeCurrencies:[J],coinType:118};var Ge=require("@keplr-wallet/cosmos"),$={coinDenom:"osmo",coinMinimalDenom:"uosmo",coinDecimals:6,coinGeckoId:"osmosis",coinImageUrl:"https://dhj8dql1kzq2v.cloudfront.net/white/osmo.png"},dt=[$],X={rpc:"https://testnet-rpc.osmosis.zone",rest:"https://testnet-rest.osmosis.zone",chainId:"osmo-test-4",chainName:"Osmosis Testnet",stakeCurrency:$,bip44:{coinType:118},bech32Config:Ge.Bech32Address.defaultBech32Config("osmo"),currencies:dt,feeCurrencies:[$],coinType:118};function ht(e){return e}function xt(e){return e}function St(e){return e}var At={axelar:N,cosmos:D,cosmoshub:D,juno:_,osmosis:H,sommelier:L},Et=[N,D,_,H,L],bt={crescent:V,juno:Y,osmosis:X},jt=[V,Y,X];var y=require("@tanstack/react-query"),qe=require("react"),Qe=se(require("zustand/shallow"));var ve=require("@tanstack/react-query");function wt(){return d("keplr")}function d(e){let t=c(n=>e||n.walletType);return(0,ve.useQuery)(["USE_CHECK_WALLET",t],({queryKey:[,n]})=>j(n))}function h({onConnect:e,onDisconnect:t}={}){let o=c(n=>n.account),i=c(n=>n.status);return(0,qe.useEffect)(()=>c.subscribe(n=>n.status,(n,s)=>{if(n==="connected"){let r=c.getState();e==null||e({account:r.account,isReconnect:s==="reconnecting"})}n==="disconnected"&&(t==null||t())}),[e,t]),{data:o,isConnected:Boolean(o),isConnecting:i==="connecting",isDisconnected:i==="disconnected",isReconnecting:i==="reconnecting",reconnect:l,status:i}}function Ue(e){let{data:t}=h(),o=e||(t==null?void 0:t.bech32Address);return(0,y.useQuery)(["USE_BALANCES",o],({queryKey:[,s]})=>W(s),{enabled:Boolean(o)})}function Dt(e,t){let{data:o}=Ue(t);return(0,y.useQuery)(["USE_BALANCE",o,e,t],({queryKey:[,s]})=>s==null?void 0:s.find(r=>r.denom===e),{enabled:Boolean(o)})}function kt({onError:e,onLoading:t,onSuccess:o}={}){let n=(0,y.useMutation)(["USE_CONNECT",e,t,o],C,{onError:(r,u)=>Promise.resolve(e==null?void 0:e(r,u)),onMutate:t,onSuccess:r=>Promise.resolve(o==null?void 0:o(r))}),{data:s}=d();return{connect:r=>n.mutate(r),connectAsync:r=>n.mutateAsync(r),error:n.error,isLoading:n.isLoading,isSuccess:n.isSuccess,isSupported:Boolean(s),status:n.status}}function It({onError:e,onLoading:t,onSuccess:o}={}){let n=(0,y.useMutation)(["USE_DISCONNECT",e,t,o],U,{onError:s=>Promise.resolve(e==null?void 0:e(s,void 0)),onMutate:t,onSuccess:()=>Promise.resolve(o==null?void 0:o(void 0))});return{disconnect:s=>n.mutate(s),disconnectAsync:s=>n.mutateAsync(s),error:n.error,isLoading:n.isLoading,isSuccess:n.isSuccess,status:n.status}}function ze(){return c(e=>({signer:e.offlineSigner,signerAmino:e.offlineSignerAmino,signerAuto:e.offlineSignerAuto}),Qe.default)}function Tt(){return ze()}function Bt(e){let{data:t}=h(),o=e||(t==null?void 0:t.bech32Address);return(0,y.useQuery)(["USE_BALANCE_STAKED",o],({queryKey:[,s]})=>M(o),{enabled:Boolean(o)})}var x=require("@tanstack/react-query");function Gt(){return c(e=>e.activeChain)}function vt(e){return(0,x.useQuery)(["USE_ACTIVE_CHAIN_CURRENCY",e],({queryKey:[,i]})=>K(i))}function qt(e,t="BOND_STATUS_BONDED"){return(0,x.useQuery)(["USE_ACTIVE_CHAIN_VALIDATORS",e,t],({queryKey:[,n,s]})=>n.staking.validators(s),{enabled:typeof e<"u"})}function Qt(){return{data:c(t=>t.recentChain),clear:z}}function Ut({onError:e,onLoading:t,onSuccess:o}={}){let n=(0,x.useMutation)(["USE_SUGGEST_CHAIN",e,t,o],w,{onError:(s,r)=>Promise.resolve(e==null?void 0:e(s,r)),onMutate:t,onSuccess:s=>Promise.resolve(o==null?void 0:o(s))});return{error:n.error,isLoading:n.isLoading,isSuccess:n.isSuccess,suggest:n.mutate,suggestAsync:n.mutateAsync,status:n.status}}function zt({onError:e,onLoading:t,onSuccess:o}={}){let n=(0,x.useMutation)(["USE_SUGGEST_CHAIN_AND_CONNECT",e,t,o],O,{onError:(r,u)=>Promise.resolve(e==null?void 0:e(r,u)),onMutate:r=>t==null?void 0:t(r),onSuccess:r=>Promise.resolve(o==null?void 0:o(r))}),{data:s}=d();return{error:n.error,isLoading:n.isLoading,isSuccess:n.isSuccess,isSupported:Boolean(s),status:n.status,suggestAndConnect:n.mutate,suggestAndConnectAsync:n.mutateAsync}}var Z=require("@tanstack/react-query");var Ke=require("@tanstack/react-query");function Kt(...e){let t=["USE_QUERY_CLIENT",...e];return(0,Ke.useQuery)(t,({queryKey:[,...i]})=>v(...e),{refetchOnMount:!1,refetchOnWindowFocus:!1})}function Ot(e){let t=c(n=>n.clients);return(0,Z.useQuery)(["USE_CLIENTS",e,t],({queryKey:[,n,s]})=>n!=null&&n.rpc?S(n):s,{refetchOnMount:!1,refetchOnWindowFocus:!1})}function Pt(e){let t=c(n=>n.signingClients);return(0,Z.useQuery)(["USE_SIGNING_CLIENTS",e,t],({queryKey:[,n,s]})=>n!=null&&n.rpc?A(n):s,{refetchOnMount:!1,refetchOnWindowFocus:!1})}var ee=require("@tanstack/react-query");function Wt({onError:e,onLoading:t,onSuccess:o}={}){let{data:i}=h(),n=i==null?void 0:i.bech32Address,r=(0,ee.useMutation)(["USE_SEND_TOKENS",e,t,o,n],u=>R({senderAddress:n,...u}),{onError:(u,p)=>Promise.resolve(e==null?void 0:e(u,p)),onMutate:t,onSuccess:u=>Promise.resolve(o==null?void 0:o(u))});return{error:r.error,isLoading:r.isLoading,isSuccess:r.isSuccess,sendTokens:r.mutate,sendTokensAsync:r.mutateAsync,status:r.status}}function Mt({onError:e,onLoading:t,onSuccess:o}={}){let{data:i}=h(),n=i==null?void 0:i.bech32Address,r=(0,ee.useMutation)(["USE_SEND_IBC_TOKENS",e,t,o,n],u=>F({senderAddress:n,...u}),{onError:(u,p)=>Promise.resolve(e==null?void 0:e(u,p)),onMutate:t,onSuccess:u=>Promise.resolve(o==null?void 0:o(u))});return{error:r.error,isLoading:r.isLoading,isSuccess:r.isSuccess,sendIbcTokens:r.mutate,sendIbcTokensAsync:r.mutateAsync,status:r.status}}var k=require("@tanstack/react-query");var Oe=require("react");function Pe(){return(0,Oe.useEffect)(()=>{let{_reconnect:e}=c.getState();return e&&l(),window.addEventListener("keplr_keystorechange",l),()=>{window.removeEventListener("keplr_keystorechange",l)}},[]),null}function te(){return Pe(),null}var ne=require("react/jsx-runtime"),Rt=new k.QueryClient({});function Ft({children:e,grazOptions:t,...o}){return t&&P(t),(0,ne.jsxs)(k.QueryClientProvider,{client:Rt,...o,children:[(0,ne.jsx)(te,{}),e]})}0&&(module.exports={GrazEvents,GrazProvider,WALLET_TYPES,WalletType,checkWallet,clearRecentChain,configureGraz,connect,createClients,createQueryClient,createSigningClients,defineChain,defineChainInfo,defineChains,disconnect,getActiveChainCurrency,getAvailableWallets,getBalanceStaked,getBalances,getKeplr,getLeap,getRecentChain,getWallet,mainnetChains,mainnetChainsArray,reconnect,sendIbcTokens,sendTokens,suggestChain,suggestChainAndConnect,testnetChains,testnetChainsArray,useAccount,useActiveChain,useActiveChainCurrency,useActiveChainValidators,useBalance,useBalanceStaked,useBalances,useCheckKeplr,useCheckWallet,useClients,useConnect,useDisconnect,useGrazEvents,useOfflineSigners,useQueryClient,useRecentChain,useSendIbcTokens,useSendTokens,useSigners,useSigningClients,useSuggestChain,useSuggestChainAndConnect});
|
|
1
|
+
"use strict";var Ye=Object.create;var b=Object.defineProperty;var Je=Object.getOwnPropertyDescriptor;var $e=Object.getOwnPropertyNames;var Xe=Object.getPrototypeOf,Ze=Object.prototype.hasOwnProperty;var et=(e,t)=>{for(var n in t)b(e,n,{get:t[n],enumerable:!0})},pe=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of $e(t))!Ze.call(e,s)&&s!==n&&b(e,s,{get:()=>t[s],enumerable:!(r=Je(t,s))||r.enumerable});return e};var me=(e,t,n)=>(n=e!=null?Ye(Xe(e)):{},pe(t||!e||!e.__esModule?b(n,"default",{value:e,enumerable:!0}):n,e)),tt=e=>pe(b({},"__esModule",{value:!0}),e);var Xt={};et(Xt,{GrazEvents:()=>ce,GrazProvider:()=>$t,WALLET_TYPES:()=>U,WalletType:()=>G,checkWallet:()=>D,clearRecentChain:()=>z,configureGraz:()=>O,connect:()=>h,createClients:()=>E,createQueryClient:()=>v,createSigningClients:()=>w,defineChain:()=>wt,defineChainInfo:()=>bt,defineChains:()=>re,disconnect:()=>Q,executeContract:()=>L,getActiveChainCurrency:()=>K,getAvailableWallets:()=>st,getBalanceStaked:()=>P,getBalances:()=>F,getKeplr:()=>ye,getLeap:()=>Ce,getQueryRaw:()=>Y,getQuerySmart:()=>V,getRecentChain:()=>ot,getWallet:()=>x,instantiateContract:()=>H,mainnetChains:()=>jt,mainnetChainsArray:()=>Dt,reconnect:()=>y,sendIbcTokens:()=>_,sendTokens:()=>N,suggestChain:()=>k,suggestChainAndConnect:()=>W,testnetChains:()=>kt,testnetChainsArray:()=>It,useAccount:()=>g,useActiveChain:()=>Mt,useActiveChainCurrency:()=>Rt,useActiveChainValidators:()=>Qt,useBalance:()=>Bt,useBalanceStaked:()=>vt,useBalances:()=>Oe,useCheckKeplr:()=>Tt,useCheckWallet:()=>A,useClients:()=>Ft,useConnect:()=>Gt,useDisconnect:()=>Ut,useExecuteContract:()=>Lt,useGrazEvents:()=>_e,useInstantiateContract:()=>Ht,useOfflineSigners:()=>Fe,useQueryClient:()=>Ot,useQueryRaw:()=>Yt,useQuerySmart:()=>Vt,useRecentChain:()=>zt,useSendIbcTokens:()=>_t,useSendTokens:()=>Nt,useSigners:()=>qt,useSigningClients:()=>Pt,useSuggestChain:()=>Kt,useSuggestChainAndConnect:()=>Wt});module.exports=tt(Xt);var fe=require("@cosmjs/stargate");var le=me(require("zustand")),j=require("zustand/middleware");var G=(n=>(n.KEPLR="keplr",n.LEAP="leap",n))(G||{}),U=["keplr","leap"];var q={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},nt={name:"graz",partialize:e=>({activeChain:e.activeChain,recentChain:e.recentChain,_reconnect:e._reconnect}),version:1},c=(0,le.default)((0,j.subscribeWithSelector)((0,j.persist)(()=>q,nt)));var M=require("@cosmjs/cosmwasm-stargate"),R=require("@cosmjs/stargate"),de=require("@cosmjs/tendermint-rpc");var ge=require("@cosmjs/stargate"),f=require("@cosmjs/utils");var v=(...e)=>{let{tendermint:t}=c.getState().clients,n=new ge.QueryClient(t),r=e.map(s=>s(n));for(let s of r){(0,f.assert)((0,f.isNonNullObject)(s),"Extension must be a non-null object");for(let[i,o]of Object.entries(s)){(0,f.assert)((0,f.isNonNullObject)(o),`Module must be a non-null object. Found type ${typeof o} for module "${i}".`);let u=n[i]||{};n[i]={...u,...o}}}return n};var E=async({rpc:e,rpcHeaders:t})=>{let n={url:e,headers:{...t||{}}},[r,s,i]=await Promise.all([M.SigningCosmWasmClient.connect(n),R.SigningStargateClient.connect(n),de.Tendermint34Client.connect(e)]);return{cosmWasm:r,stargate:s,tendermint:i}},w=async e=>{let{rpc:t,rpcHeaders:n,offlineSignerAuto:r,cosmWasmSignerOptions:s={},stargateSignerOptions:i={}}=e,o={url:t,headers:{...n||{}}},[u,p]=await Promise.all([M.SigningCosmWasmClient.connectWithSigner(o,r,s),R.SigningStargateClient.connectWithSigner(o,r,i)]);return{cosmWasm:u,stargate:p}};var D=(e=c.getState().walletType)=>{try{return x(e),!0}catch(t){return console.error(t),!1}},ye=()=>{if(typeof window.keplr<"u")return window.keplr;throw c.getState()._notFoundFn(),new Error("window.keplr is not defined")},Ce=()=>{if(typeof window.leap<"u")return window.leap;throw c.getState()._notFoundFn(),new Error("window.leap is not defined")},x=(e=c.getState().walletType)=>{switch(e){case"keplr":return ye();case"leap":return Ce();default:throw new Error("Unknown wallet type")}},st=()=>Object.fromEntries(U.map(e=>[e,D(e)]));var h=async e=>{try{let{defaultChain:t,recentChain:n,walletType:r}=c.getState(),s=(e==null?void 0:e.walletType)||r,i=x(s),o=e||n||t;if(!o)throw new Error("No last known connected chain, connect action requires chain info");c.setState(B=>{let Ve=B._reconnect;return B.activeChain&&B.activeChain.chainId!==o.chainId?{status:"connecting"}:Ve?{status:"reconnecting"}:{status:"connecting"}}),await i.enable(o.chainId);let u=i.getOfflineSigner(o.chainId),p=i.getOfflineSignerOnlyAmino(o.chainId),m=await i.getOfflineSignerAuto(o.chainId),l=o.gas?fe.GasPrice.fromString(`${o.gas.price}${o.gas.denom}`):void 0,[ue,He,Le]=await Promise.all([i.getKey(o.chainId),E(o),w({...o,offlineSignerAuto:m,cosmWasmSignerOptions:{gasPrice:l,...(e==null?void 0:e.signerOpts)||{}}})]);return c.setState({account:ue,activeChain:o,clients:He,offlineSigner:u,offlineSignerAmino:p,offlineSignerAuto:m,recentChain:o,signingClients:Le,status:"connected",walletType:s,_reconnect:!0}),ue}catch(t){throw c.getState().account===null&&c.setState({status:"disconnected"}),t}},Q=async(e=!1)=>(c.setState(t=>({...q,recentChain:e?null:t.recentChain})),Promise.resolve()),y=()=>{let{activeChain:e}=c.getState();e&&h(e)};var z=()=>{c.setState({recentChain:null})},K=e=>{let{activeChain:t}=c.getState();return t==null?void 0:t.currencies.find(n=>n.coinMinimalDenom===e)},ot=()=>c.getState().recentChain,k=async e=>(await x().experimentalSuggestChain(e),e),W=async({chainInfo:e,...t})=>{let n=await k(e);return{account:await h({chainId:e.chainId,currencies:e.currencies,rest:e.rest,rpc:e.rpc,...t}),chain:n}};var O=(e={})=>(c.setState(t=>({defaultChain:e.defaultChain||t.defaultChain,defaultSigningClient:e.defaultSigningClient||t.defaultSigningClient,walletType:e.defaultWallet||t.walletType,_notFoundFn:e.onNotFound||t._notFoundFn})),e);var F=async e=>{let{activeChain:t,signingClients:n}=c.getState();if(!t||!n)throw new Error("No connected account detected");let{defaultSigningClient:r}=c.getState();return await Promise.all(t.currencies.map(async i=>n[r].getBalance(e,i.coinMinimalDenom)))},P=async e=>{let{clients:t}=c.getState();if(!(t!=null&&t.stargate))throw new Error("Stargate client is not ready");return t.stargate.getBalanceStaked(e)},N=async({senderAddress:e,recipientAddress:t,amount:n,fee:r,memo:s})=>{let{signingClients:i,defaultSigningClient:o}=c.getState();if(!i)throw new Error("No connected account detected");if(!e)throw new Error("senderAddress is not defined");return i[o].sendTokens(e,t,n,r,s)},_=async({senderAddress:e,recipientAddress:t,transferAmount:n,sourcePort:r,sourceChannel:s,timeoutHeight:i,timeoutTimestamp:o,fee:u,memo:p})=>{let{signingClients:m}=c.getState();if(!(m!=null&&m.stargate))throw new Error("Stargate signing client is not ready");if(!e)throw new Error("senderAddress is not defined");return m.stargate.sendIbcTokens(e,t,n,r,s,i,o,u,p)},H=async({senderAddress:e,msg:t,fee:n,options:r,label:s,codeId:i})=>{let{signingClients:o}=c.getState();if(!(o!=null&&o.cosmWasm))throw new Error("CosmWasm signing client is not ready");return o.cosmWasm.instantiate(e,i,t,s,n,r)},L=async({senderAddress:e,msg:t,fee:n,contractAddress:r})=>{let{signingClients:s}=c.getState();if(!(s!=null&&s.cosmWasm))throw new Error("CosmWasm signing client is not ready");return s.cosmWasm.execute(e,r,t,n)},V=async(e,t)=>{let{signingClients:n}=c.getState();if(!(n!=null&&n.cosmWasm))throw new Error("CosmWasm signing client is not ready");return await n.cosmWasm.queryContractSmart(e,t)},Y=(e,t)=>{let{signingClients:n}=c.getState();if(!(n!=null&&n.cosmWasm))throw new Error("CosmWasm signing client is not ready");let r=new TextEncoder().encode(t);return n.cosmWasm.queryContractRaw(e,r)};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"},rt={coinDenom:"usdc",coinMinimalDenom:"uusdc",coinDecimals:6,coinGeckoId:"usd-coin",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/usdc.png"},it={coinDenom:"dai",coinMinimalDenom:"dai-wei",coinDecimals:18,coinGeckoId:"dai",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/dai.png"},ct={coinDenom:"usdt",coinMinimalDenom:"uusdt",coinDecimals:6,coinGeckoId:"tether",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/usdt.png"},at={coinDenom:"weth-wei",coinMinimalDenom:"weth",coinDecimals:18,coinGeckoId:"weth",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/weth.png"},ut={coinDenom:"wbtc-satoshi",coinMinimalDenom:"wbtc",coinDecimals:8,coinGeckoId:"wrapped-bitcoin",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/wbtc.png"},xe=[Ae,rt,it,ct,at,ut],J={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:xe,feeCurrencies:xe};var Ee=require("@keplr-wallet/cosmos"),we={coinDenom:"atom",coinMinimalDenom:"uatom",coinDecimals:6,coinGeckoId:"cosmos",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/cosmoshub/images/atom.png"},Se=[we],I={rpc:"https://rpc.cosmoshub.strange.love",rest:"https://api.cosmoshub.strange.love",chainId:"cosmoshub-4",chainName:"Cosmos Hub",stakeCurrency:we,bip44:{coinType:118},bech32Config:Ee.Bech32Address.defaultBech32Config("cosmos"),currencies:Se,feeCurrencies:Se};var je=require("@keplr-wallet/cosmos"),De={coinDenom:"juno",coinMinimalDenom:"ujuno",coinDecimals:6,coinGeckoId:"juno-network",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/juno.png"},pt={coinDenom:"neta",coinMinimalDenom:"cw20:juno168ctmpyppk90d34p3jjy658zf5a5l3w8wk35wht6ccqj4mr0yv8s4j5awr",coinDecimals:6,coinGeckoId:"neta",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/neta.png"},mt={coinDenom:"marble",coinMinimalDenom:"cw20:juno1g2g7ucurum66d42g8k5twk34yegdq8c82858gz0tq2fc75zy7khssgnhjl",coinDecimals:3,coinGeckoId:"marble",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/marble.png"},lt={coinDenom:"hope",coinMinimalDenom:"cw20:juno1re3x67ppxap48ygndmrc7har2cnc7tcxtm9nplcas4v0gc3wnmvs3s807z",coinDecimals:6,coinGeckoId:"hope-galaxy",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/hope.png"},gt={coinDenom:"rac",coinMinimalDenom:"cw20:juno1r4pzw8f9z0sypct5l9j906d47z998ulwvhvqe5xdwgy8wf84583sxwh0pa",coinDecimals:6,coinGeckoId:"racoon",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/rac.png"},dt={coinDenom:"block",coinMinimalDenom:"cw20:juno1y9rf7ql6ffwkv02hsgd4yruz23pn4w97p75e2slsnkm0mnamhzysvqnxaq",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/block.png"},yt={coinDenom:"dhk",coinMinimalDenom:"cw20:juno1tdjwrqmnztn2j3sj2ln9xnyps5hs48q3ddwjrz7jpv6mskappjys5czd49",coinDecimals:0,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/dhk.png"},Ct={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"},xt={coinDenom:"hns",coinMinimalDenom:"cw20:juno1ur4jx0sxchdevahep7fwq28yk4tqsrhshdtylz46yka3uf6kky5qllqp4k",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/hns.svg"},ht={coinDenom:"joe",coinMinimalDenom:"cw20:juno1n7n7d5088qlzlj37e9mgmkhx6dfgtvt02hqxq66lcap4dxnzdhwqfmgng3",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/joe.png"},be=[De,pt,mt,lt,gt,dt,yt,Ct,ft,xt,ht],$={rpc:"https://rpc.juno.strange.love",rest:"https://api.juno.strange.love",chainId:"juno-1",chainName:"Juno",stakeCurrency:De,bip44:{coinType:118},bech32Config:je.Bech32Address.defaultBech32Config("juno"),currencies:be,feeCurrencies:be};var Ie=require("@keplr-wallet/cosmos"),Te={coinDenom:"osmo",coinMinimalDenom:"uosmo",coinDecimals:6,coinGeckoId:"osmosis",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/cosmoshub/images/atom.png"},At={coinDenom:"ion",coinMinimalDenom:"uion",coinDecimals:6,coinGeckoId:"ion",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/ion.png"},ke=[Te,At],X={rpc:"https://rpc.osmosis.strange.love",rest:"https://api.osmosis.strange.love",chainId:"osmosis-1",chainName:"Osmosis",stakeCurrency:Te,bip44:{coinType:118},bech32Config:Ie.Bech32Address.defaultBech32Config("osmo"),currencies:ke,feeCurrencies:ke};var Ge=require("@keplr-wallet/cosmos"),Ue={coinDenom:"somm",coinMinimalDenom:"usomm",coinDecimals:6,coinGeckoId:"sommelier",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/sommelier/images/somm.png"},Be=[Ue],Z={rpc:"https://rpc.sommelier.strange.love",rest:"https://api.sommelier.strange.love",chainId:"sommelier-3",chainName:"Sommelier",stakeCurrency:Ue,bip44:{coinType:118},bech32Config:Ge.Bech32Address.defaultBech32Config("somm"),currencies:Be,feeCurrencies:Be};var ve=require("@keplr-wallet/cosmos"),Me={coinDenom:"CRE",coinMinimalDenom:"ucre",coinDecimals:6,coinGeckoId:"crescent",coinImageUrl:"https://raw.githubusercontent.com/crescent-network/asset/main/images/coin/CRE.png"},qe=[Me],ee={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:qe,feeCurrencies:qe,stakeCurrency:Me,coinType:118};var Re=require("@keplr-wallet/cosmos"),te={coinDenom:"junox",coinMinimalDenom:"ujunox",coinDecimals:6,coinGeckoId:"juno-network",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/juno.png"},St=[te],ne={rpc:"https://rpc.uni.junonetwork.io",rest:"https://api.uni.junonetwork.io",chainId:"uni-5",chainName:"Juno Testnet",stakeCurrency:te,bip44:{coinType:118},bech32Config:Re.Bech32Address.defaultBech32Config("juno"),currencies:St,feeCurrencies:[te],coinType:118};var Qe=require("@keplr-wallet/cosmos"),se={coinDenom:"osmo",coinMinimalDenom:"uosmo",coinDecimals:6,coinGeckoId:"osmosis",coinImageUrl:"https://dhj8dql1kzq2v.cloudfront.net/white/osmo.png"},Et=[se],oe={rpc:"https://testnet-rpc.osmosis.zone",rest:"https://testnet-rest.osmosis.zone",chainId:"osmo-test-4",chainName:"Osmosis Testnet",stakeCurrency:se,bip44:{coinType:118},bech32Config:Qe.Bech32Address.defaultBech32Config("osmo"),currencies:Et,feeCurrencies:[se],coinType:118};var re=e=>e,wt=e=>e,bt=e=>e,jt=re({axelar:J,cosmos:I,cosmoshub:I,juno:$,osmosis:X,sommelier:Z}),Dt=[J,I,$,X,Z],kt=re({crescent:ee,juno:ne,osmosis:oe}),It=[ee,ne,oe];var C=require("@tanstack/react-query"),Ke=require("react"),We=me(require("zustand/shallow"));var ze=require("@tanstack/react-query");var Tt=()=>A("keplr"),A=e=>{let t=c(s=>e||s.walletType);return(0,ze.useQuery)(["USE_CHECK_WALLET",t],({queryKey:[,s]})=>D(s))};var g=({onConnect:e,onDisconnect:t}={})=>{let n=c(s=>s.account),r=c(s=>s.status);return(0,Ke.useEffect)(()=>c.subscribe(s=>s.status,(s,i)=>{if(s==="connected"){let o=c.getState();e==null||e({account:o.account,isReconnect:i==="reconnecting"})}s==="disconnected"&&(t==null||t())}),[e,t]),{data:n,isConnected:Boolean(n),isConnecting:r==="connecting",isDisconnected:r==="disconnected",isReconnecting:r==="reconnecting",reconnect:y,status:r}},Oe=e=>{let{data:t}=g(),n=e||(t==null?void 0:t.bech32Address);return(0,C.useQuery)(["USE_BALANCES",n],({queryKey:[,i]})=>F(i),{enabled:Boolean(n)})},Bt=(e,t)=>{let{data:n}=Oe(t);return(0,C.useQuery)(["USE_BALANCE",n,e,t],({queryKey:[,i]})=>i==null?void 0:i.find(o=>o.denom===e),{enabled:Boolean(n)})},Gt=({onError:e,onLoading:t,onSuccess:n}={})=>{let s=(0,C.useMutation)(["USE_CONNECT",e,t,n],h,{onError:(o,u)=>Promise.resolve(e==null?void 0:e(o,u)),onMutate:t,onSuccess:o=>Promise.resolve(n==null?void 0:n(o))}),{data:i}=A();return{connect:o=>s.mutate(o),connectAsync:o=>s.mutateAsync(o),error:s.error,isLoading:s.isLoading,isSuccess:s.isSuccess,isSupported:Boolean(i),status:s.status}},Ut=({onError:e,onLoading:t,onSuccess:n}={})=>{let s=(0,C.useMutation)(["USE_DISCONNECT",e,t,n],Q,{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=>s.mutate(i),disconnectAsync:i=>s.mutateAsync(i),error:s.error,isLoading:s.isLoading,isSuccess:s.isSuccess,status:s.status}},Fe=()=>c(e=>({signer:e.offlineSigner,signerAmino:e.offlineSignerAmino,signerAuto:e.offlineSignerAuto}),We.default),qt=()=>Fe(),vt=e=>{let{data:t}=g(),n=e||(t==null?void 0:t.bech32Address);return(0,C.useQuery)(["USE_BALANCE_STAKED",n],({queryKey:[,i]})=>P(n),{enabled:Boolean(n)})};var S=require("@tanstack/react-query");var Mt=()=>c(e=>e.activeChain),Rt=e=>(0,S.useQuery)(["USE_ACTIVE_CHAIN_CURRENCY",e],({queryKey:[,r]})=>K(r)),Qt=(e,t="BOND_STATUS_BONDED")=>(0,S.useQuery)(["USE_ACTIVE_CHAIN_VALIDATORS",e,t],({queryKey:[,s,i]})=>s.staking.validators(i),{enabled:typeof e<"u"}),zt=()=>({data:c(t=>t.recentChain),clear:z}),Kt=({onError:e,onLoading:t,onSuccess:n}={})=>{let s=(0,S.useMutation)(["USE_SUGGEST_CHAIN",e,t,n],k,{onError:(i,o)=>Promise.resolve(e==null?void 0:e(i,o)),onMutate:t,onSuccess:i=>Promise.resolve(n==null?void 0:n(i))});return{error:s.error,isLoading:s.isLoading,isSuccess:s.isSuccess,suggest:s.mutate,suggestAsync:s.mutateAsync,status:s.status}},Wt=({onError:e,onLoading:t,onSuccess:n}={})=>{let s=(0,S.useMutation)(["USE_SUGGEST_CHAIN_AND_CONNECT",e,t,n],W,{onError:(o,u)=>Promise.resolve(e==null?void 0:e(o,u)),onMutate:o=>t==null?void 0:t(o),onSuccess:o=>Promise.resolve(n==null?void 0:n(o))}),{data:i}=A();return{error:s.error,isLoading:s.isLoading,isSuccess:s.isSuccess,isSupported:Boolean(i),status:s.status,suggestAndConnect:s.mutate,suggestAndConnectAsync:s.mutateAsync}};var ie=require("@tanstack/react-query");var Pe=require("@tanstack/react-query");var Ot=(...e)=>{let t=["USE_QUERY_CLIENT",...e];return(0,Pe.useQuery)(t,({queryKey:[,...r]})=>v(...e),{refetchOnMount:!1,refetchOnWindowFocus:!1})};var Ft=e=>{let t=c(s=>s.clients);return(0,ie.useQuery)(["USE_CLIENTS",e,t],({queryKey:[,s,i]})=>s!=null&&s.rpc?E(s):i,{refetchOnMount:!1,refetchOnWindowFocus:!1})},Pt=e=>{let t=c(s=>s.signingClients);return(0,ie.useQuery)(["USE_SIGNING_CLIENTS",e,t],({queryKey:[,s,i]})=>s!=null&&s.rpc?w(s):i,{refetchOnMount:!1,refetchOnWindowFocus:!1})};var d=require("@tanstack/react-query");var Nt=({onError:e,onLoading:t,onSuccess:n}={})=>{let{data:r}=g(),s=r==null?void 0:r.bech32Address,o=(0,d.useMutation)(["USE_SEND_TOKENS",e,t,n,s],u=>N({senderAddress:s,...u}),{onError:(u,p)=>Promise.resolve(e==null?void 0:e(u,p)),onMutate:t,onSuccess:u=>Promise.resolve(n==null?void 0:n(u))});return{error:o.error,isLoading:o.isLoading,isSuccess:o.isSuccess,sendTokens:o.mutate,sendTokensAsync:o.mutateAsync,status:o.status}},_t=({onError:e,onLoading:t,onSuccess:n}={})=>{let{data:r}=g(),s=r==null?void 0:r.bech32Address,o=(0,d.useMutation)(["USE_SEND_IBC_TOKENS",e,t,n,s],u=>_({senderAddress:s,...u}),{onError:(u,p)=>Promise.resolve(e==null?void 0:e(u,p)),onMutate:t,onSuccess:u=>Promise.resolve(n==null?void 0:n(u))});return{error:o.error,isLoading:o.isLoading,isSuccess:o.isSuccess,sendIbcTokens:o.mutate,sendIbcTokensAsync:o.mutateAsync,status:o.status}},Ht=({codeId:e,onError:t,onLoading:n,onSuccess:r})=>{let{data:s}=g(),i=s==null?void 0:s.bech32Address,p=(0,d.useMutation)(["USE_INSTANTIATE_CONTRACT",t,n,r,e,i],m=>{if(!i)throw new Error("senderAddress is undefined");let l={...m,fee:m.fee??"auto",senderAddress:i,codeId:e};return H(l)},{onError:(m,l)=>Promise.resolve(t==null?void 0:t(m,l)),onMutate:n,onSuccess:m=>Promise.resolve(r==null?void 0:r(m))});return{error:p.error,isLoading:p.isLoading,isSuccess:p.isSuccess,instantiateContract:p.mutate,instantiateContractAsync:p.mutateAsync,status:p.status}},Lt=({contractAddress:e,onError:t,onLoading:n,onSuccess:r})=>{let{data:s}=g(),i=s==null?void 0:s.bech32Address,p=(0,d.useMutation)(["USE_EXECUTE_CONTRACT",t,n,r,e,i],m=>{if(!i)throw new Error("senderAddress is undefined");let l={...m,fee:m.fee??"auto",senderAddress:i,contractAddress:e};return L(l)},{onError:(m,l)=>Promise.resolve(t==null?void 0:t(m,l)),onMutate:n,onSuccess:m=>Promise.resolve(r==null?void 0:r(m))});return{error:p.error,isLoading:p.isLoading,isSuccess:p.isSuccess,executeContract:p.mutate,executeContractAsync:p.mutateAsync,status:p.status}},Vt=(e,t)=>(0,d.useQuery)(["USE_QUERY_SMART",e,t],({queryKey:[,s]})=>{if(!e||!t)throw new Error("address or queryMsg undefined");return V(e,t)},{enabled:Boolean(e)&&Boolean(t)}),Yt=(e,t)=>(0,d.useQuery)(["USE_QUERY_RAW",t,e],({queryKey:[,s]})=>{if(!e||!t)throw new Error("address or key undefined");return Y(e,t)},{enabled:Boolean(e)&&Boolean(t)});var T=require("@tanstack/react-query");var Ne=require("react");var _e=()=>((0,Ne.useEffect)(()=>{let{_reconnect:e}=c.getState();return e&&y(),window.addEventListener("keplr_keystorechange",y),()=>{window.removeEventListener("keplr_keystorechange",y)}},[]),null),ce=()=>(_e(),null);var ae=require("react/jsx-runtime"),Jt=new T.QueryClient({}),$t=({children:e,grazOptions:t,...n})=>(t&&O(t),(0,ae.jsxs)(T.QueryClientProvider,{client:Jt,...n,children:[(0,ae.jsx)(ce,{}),e]}));0&&(module.exports={GrazEvents,GrazProvider,WALLET_TYPES,WalletType,checkWallet,clearRecentChain,configureGraz,connect,createClients,createQueryClient,createSigningClients,defineChain,defineChainInfo,defineChains,disconnect,executeContract,getActiveChainCurrency,getAvailableWallets,getBalanceStaked,getBalances,getKeplr,getLeap,getQueryRaw,getQuerySmart,getRecentChain,getWallet,instantiateContract,mainnetChains,mainnetChainsArray,reconnect,sendIbcTokens,sendTokens,suggestChain,suggestChainAndConnect,testnetChains,testnetChainsArray,useAccount,useActiveChain,useActiveChainCurrency,useActiveChainValidators,useBalance,useBalanceStaked,useBalances,useCheckKeplr,useCheckWallet,useClients,useConnect,useDisconnect,useExecuteContract,useGrazEvents,useInstantiateContract,useOfflineSigners,useQueryClient,useQueryRaw,useQuerySmart,useRecentChain,useSendIbcTokens,useSendTokens,useSigners,useSigningClients,useSuggestChain,useSuggestChainAndConnect});
|
package/dist/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{GasPrice as ke}from"@cosmjs/stargate";import xe from"zustand";import{persist as Se,subscribeWithSelector as Ae}from"zustand/middleware";var U=(o=>(o.KEPLR="keplr",o.LEAP="leap",o))(U||{}),z=["keplr","leap"];var A={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},Ee={name:"graz",partialize:e=>({activeChain:e.activeChain,recentChain:e.recentChain,_reconnect:e._reconnect}),version:1},i=xe(Ae(Se(()=>A,Ee)));import{SigningCosmWasmClient as W}from"@cosmjs/cosmwasm-stargate";import{SigningStargateClient as M}from"@cosmjs/stargate";import{Tendermint34Client as je}from"@cosmjs/tendermint-rpc";import{QueryClient as be}from"@cosmjs/stargate";import{assert as K,isNonNullObject as O}from"@cosmjs/utils";function P(...e){let{tendermint:t}=i.getState().clients,o=new be(t),c=e.map(n=>n(o));for(let n of c){K(O(n),"Extension must be a non-null object");for(let[s,r]of Object.entries(n)){K(O(r),`Module must be a non-null object. Found type ${typeof r} for module "${s}".`);let u=o[s]||{};o[s]={...u,...r}}}return o}async function d({rpc:e,rpcHeaders:t}){let o={url:e,headers:{...t||{}}},[c,n,s]=await Promise.all([W.connect(o),M.connect(o),je.connect(e)]);return{cosmWasm:c,stargate:n,tendermint:s}}async function h(e){let{rpc:t,rpcHeaders:o,offlineSignerAuto:c,cosmWasmSignerOptions:n={},stargateSignerOptions:s={}}=e,r={url:t,headers:{...o||{}}},[u,p]=await Promise.all([W.connectWithSigner(r,c,n),M.connectWithSigner(r,c,s)]);return{cosmWasm:u,stargate:p}}function E(e=i.getState().walletType){try{return y(e),!0}catch(t){return console.error(t),!1}}function we(){if(typeof window.keplr<"u")return window.keplr;throw i.getState()._notFoundFn(),new Error("window.keplr is not defined")}function De(){if(typeof window.leap<"u")return window.leap;throw i.getState()._notFoundFn(),new Error("window.leap is not defined")}function y(e=i.getState().walletType){switch(e){case"keplr":return we();case"leap":return De();default:throw new Error("Unknown wallet type")}}function Tt(){return Object.fromEntries(z.map(e=>[e,E(e)]))}async function g(e){try{let{defaultChain:t,recentChain:o,walletType:c}=i.getState(),n=(e==null?void 0:e.walletType)||c,s=y(n),r=e||o||t;if(!r)throw new Error("No last known connected chain, connect action requires chain info");i.setState(S=>{let he=S._reconnect;return S.activeChain&&S.activeChain.chainId!==r.chainId?{status:"connecting"}:he?{status:"reconnecting"}:{status:"connecting"}}),await s.enable(r.chainId);let u=s.getOfflineSigner(r.chainId),p=s.getOfflineSignerOnlyAmino(r.chainId),m=await s.getOfflineSignerAuto(r.chainId),fe=r.gas?ke.fromString(`${r.gas.price}${r.gas.denom}`):void 0,[Q,Ce,de]=await Promise.all([s.getKey(r.chainId),d(r),h({...r,offlineSignerAuto:m,cosmWasmSignerOptions:{gasPrice:fe,...(e==null?void 0:e.signerOpts)||{}}})]);return i.setState({account:Q,activeChain:r,clients:Ce,offlineSigner:u,offlineSignerAmino:p,offlineSignerAuto:m,recentChain:r,signingClients:de,status:"connected",walletType:n,_reconnect:!0}),Q}catch(t){throw i.getState().account===null&&i.setState({status:"disconnected"}),t}}async function R(e=!1){return i.setState(t=>({...A,recentChain:e?null:t.recentChain})),Promise.resolve()}function l(){let{activeChain:e}=i.getState();e&&g(e)}function F(){i.setState({recentChain:null})}function N(e){let{activeChain:t}=i.getState();return t==null?void 0:t.currencies.find(o=>o.coinMinimalDenom===e)}function Pt(){return i.getState().recentChain}async function b(e){return await y().experimentalSuggestChain(e),e}async function _({chainInfo:e,...t}){let o=await b(e);return{account:await g({chainId:e.chainId,currencies:e.currencies,rest:e.rest,rpc:e.rpc,...t}),chain:o}}function H(e={}){return i.setState(t=>({defaultChain:e.defaultChain||t.defaultChain,defaultSigningClient:e.defaultSigningClient||t.defaultSigningClient,walletType:e.defaultWallet||t.walletType,_notFoundFn:e.onNotFound||t._notFoundFn})),e}async function L(e){let{activeChain:t,signingClients:o}=i.getState();if(!t||!o)throw new Error("No connected account detected");let{defaultSigningClient:c}=i.getState();return await Promise.all(t.currencies.map(async s=>o[c].getBalance(e,s.coinMinimalDenom)))}async function V(e){let{clients:t}=i.getState();if(!(t!=null&&t.stargate))throw new Error("Stargate client is not ready");return t.stargate.getBalanceStaked(e)}async function J({senderAddress:e,recipientAddress:t,amount:o,fee:c,memo:n}){let{signingClients:s,defaultSigningClient:r}=i.getState();if(!s)throw new Error("No connected account detected");if(!e)throw new Error("senderAddress is not defined");return s[r].sendTokens(e,t,o,c,n)}async function Y({senderAddress:e,recipientAddress:t,transferAmount:o,sourcePort:c,sourceChannel:n,timeoutHeight:s,timeoutTimestamp:r,fee:u,memo:p}){let{signingClients:m}=i.getState();if(!(m!=null&&m.stargate))throw new Error("Stargate signing client is not ready");if(!e)throw new Error("senderAddress is not defined");return m.stargate.sendIbcTokens(e,t,o,c,n,s,r,u,p)}import{Bech32Address as Ie}from"@keplr-wallet/cosmos";var X={coinDenom:"axl",coinMinimalDenom:"uaxl",coinDecimals:6,coinGeckoId:"axelar-network",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/axl.png"},Te={coinDenom:"usdc",coinMinimalDenom:"uusdc",coinDecimals:6,coinGeckoId:"usd-coin",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/usdc.png"},Be={coinDenom:"dai",coinMinimalDenom:"dai-wei",coinDecimals:18,coinGeckoId:"dai",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/dai.png"},Ge={coinDenom:"usdt",coinMinimalDenom:"uusdt",coinDecimals:6,coinGeckoId:"tether",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/usdt.png"},ve={coinDenom:"weth-wei",coinMinimalDenom:"weth",coinDecimals:18,coinGeckoId:"weth",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/weth.png"},qe={coinDenom:"wbtc-satoshi",coinMinimalDenom:"wbtc",coinDecimals:8,coinGeckoId:"wrapped-bitcoin",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/wbtc.png"},$=[X,Te,Be,Ge,ve,qe],j={rpc:"https://rpc.axelar.strange.love",rest:"https://api.axelar.strange.love",chainId:"axelar-dojo-1",chainName:"Axelar",stakeCurrency:X,bip44:{coinType:118},bech32Config:Ie.defaultBech32Config("axelar"),currencies:$,feeCurrencies:$};import{Bech32Address as Qe}from"@keplr-wallet/cosmos";var ee={coinDenom:"atom",coinMinimalDenom:"uatom",coinDecimals:6,coinGeckoId:"cosmos",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/cosmoshub/images/atom.png"},Z=[ee],x={rpc:"https://rpc.cosmoshub.strange.love",rest:"https://api.cosmoshub.strange.love",chainId:"cosmoshub-4",chainName:"Cosmos Hub",stakeCurrency:ee,bip44:{coinType:118},bech32Config:Qe.defaultBech32Config("cosmos"),currencies:Z,feeCurrencies:Z};import{Bech32Address as Ue}from"@keplr-wallet/cosmos";var ne={coinDenom:"juno",coinMinimalDenom:"ujuno",coinDecimals:6,coinGeckoId:"juno-network",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/juno.png"},ze={coinDenom:"neta",coinMinimalDenom:"cw20:juno168ctmpyppk90d34p3jjy658zf5a5l3w8wk35wht6ccqj4mr0yv8s4j5awr",coinDecimals:6,coinGeckoId:"neta",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/neta.png"},Ke={coinDenom:"marble",coinMinimalDenom:"cw20:juno1g2g7ucurum66d42g8k5twk34yegdq8c82858gz0tq2fc75zy7khssgnhjl",coinDecimals:3,coinGeckoId:"marble",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/marble.png"},Oe={coinDenom:"hope",coinMinimalDenom:"cw20:juno1re3x67ppxap48ygndmrc7har2cnc7tcxtm9nplcas4v0gc3wnmvs3s807z",coinDecimals:6,coinGeckoId:"hope-galaxy",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/hope.png"},Pe={coinDenom:"rac",coinMinimalDenom:"cw20:juno1r4pzw8f9z0sypct5l9j906d47z998ulwvhvqe5xdwgy8wf84583sxwh0pa",coinDecimals:6,coinGeckoId:"racoon",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/rac.png"},We={coinDenom:"block",coinMinimalDenom:"cw20:juno1y9rf7ql6ffwkv02hsgd4yruz23pn4w97p75e2slsnkm0mnamhzysvqnxaq",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/block.png"},Me={coinDenom:"dhk",coinMinimalDenom:"cw20:juno1tdjwrqmnztn2j3sj2ln9xnyps5hs48q3ddwjrz7jpv6mskappjys5czd49",coinDecimals:0,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/dhk.png"},Re={coinDenom:"raw",coinMinimalDenom:"cw20:juno15u3dt79t6sxxa3x3kpkhzsy56edaa5a66wvt3kxmukqjz2sx0hes5sn38g",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/raw.png",coinGeckoId:"junoswap-raw-dao"},Fe={coinDenom:"asvt",coinMinimalDenom:"cw20:juno17wzaxtfdw5em7lc94yed4ylgjme63eh73lm3lutp2rhcxttyvpwsypjm4w",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/asvt.png"},Ne={coinDenom:"hns",coinMinimalDenom:"cw20:juno1ur4jx0sxchdevahep7fwq28yk4tqsrhshdtylz46yka3uf6kky5qllqp4k",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/hns.svg"},_e={coinDenom:"joe",coinMinimalDenom:"cw20:juno1n7n7d5088qlzlj37e9mgmkhx6dfgtvt02hqxq66lcap4dxnzdhwqfmgng3",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/joe.png"},te=[ne,ze,Ke,Oe,Pe,We,Me,Re,Fe,Ne,_e],w={rpc:"https://rpc.juno.strange.love",rest:"https://api.juno.strange.love",chainId:"juno-1",chainName:"Juno",stakeCurrency:ne,bip44:{coinType:118},bech32Config:Ue.defaultBech32Config("juno"),currencies:te,feeCurrencies:te};import{Bech32Address as He}from"@keplr-wallet/cosmos";var re={coinDenom:"osmo",coinMinimalDenom:"uosmo",coinDecimals:6,coinGeckoId:"osmosis",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/cosmoshub/images/atom.png"},Le={coinDenom:"ion",coinMinimalDenom:"uion",coinDecimals:6,coinGeckoId:"ion",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/ion.png"},oe=[re,Le],D={rpc:"https://rpc.osmosis.strange.love",rest:"https://api.osmosis.strange.love",chainId:"osmosis-1",chainName:"Osmosis",stakeCurrency:re,bip44:{coinType:118},bech32Config:He.defaultBech32Config("osmo"),currencies:oe,feeCurrencies:oe};import{Bech32Address as Ve}from"@keplr-wallet/cosmos";var ie={coinDenom:"somm",coinMinimalDenom:"usomm",coinDecimals:6,coinGeckoId:"sommelier",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/sommelier/images/somm.png"},se=[ie],k={rpc:"https://rpc.sommelier.strange.love",rest:"https://api.sommelier.strange.love",chainId:"sommelier-3",chainName:"Sommelier",stakeCurrency:ie,bip44:{coinType:118},bech32Config:Ve.defaultBech32Config("somm"),currencies:se,feeCurrencies:se};import{Bech32Address as Je}from"@keplr-wallet/cosmos";var ae={coinDenom:"CRE",coinMinimalDenom:"ucre",coinDecimals:6,coinGeckoId:"crescent",coinImageUrl:"https://raw.githubusercontent.com/crescent-network/asset/main/images/coin/CRE.png"},ce=[ae],I={rpc:"https://testnet-endpoint.crescent.network/rpc/crescent",rest:"https://testnet-endpoint.crescent.network/api/crescent",chainId:"mooncat-1-1",chainName:"Crescent Testnet",bip44:{coinType:118},bech32Config:Je.defaultBech32Config("CRE"),currencies:ce,feeCurrencies:ce,stakeCurrency:ae,coinType:118};import{Bech32Address as Ye}from"@keplr-wallet/cosmos";var T={coinDenom:"junox",coinMinimalDenom:"ujunox",coinDecimals:6,coinGeckoId:"juno-network",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/juno.png"},$e=[T],B={rpc:"https://rpc.uni.junonetwork.io",rest:"https://api.uni.junonetwork.io",chainId:"uni-3",chainName:"Juno Testnet",stakeCurrency:T,bip44:{coinType:118},bech32Config:Ye.defaultBech32Config("juno"),currencies:$e,feeCurrencies:[T],coinType:118};import{Bech32Address as Xe}from"@keplr-wallet/cosmos";var G={coinDenom:"osmo",coinMinimalDenom:"uosmo",coinDecimals:6,coinGeckoId:"osmosis",coinImageUrl:"https://dhj8dql1kzq2v.cloudfront.net/white/osmo.png"},Ze=[G],v={rpc:"https://testnet-rpc.osmosis.zone",rest:"https://testnet-rest.osmosis.zone",chainId:"osmo-test-4",chainName:"Osmosis Testnet",stakeCurrency:G,bip44:{coinType:118},bech32Config:Xe.defaultBech32Config("osmo"),currencies:Ze,feeCurrencies:[G],coinType:118};function dn(e){return e}function hn(e){return e}function xn(e){return e}var Sn={axelar:j,cosmos:x,cosmoshub:x,juno:w,osmosis:D,sommelier:k},An=[j,x,w,D,k],En={crescent:I,juno:B,osmosis:v},bn=[I,B,v];import{useMutation as ue,useQuery as q}from"@tanstack/react-query";import{useEffect as tt}from"react";import nt from"zustand/shallow";import{useQuery as et}from"@tanstack/react-query";function In(){return f("keplr")}function f(e){let t=i(n=>e||n.walletType);return et(["USE_CHECK_WALLET",t],({queryKey:[,n]})=>E(n))}function C({onConnect:e,onDisconnect:t}={}){let o=i(n=>n.account),c=i(n=>n.status);return tt(()=>i.subscribe(n=>n.status,(n,s)=>{if(n==="connected"){let r=i.getState();e==null||e({account:r.account,isReconnect:s==="reconnecting"})}n==="disconnected"&&(t==null||t())}),[e,t]),{data:o,isConnected:Boolean(o),isConnecting:c==="connecting",isDisconnected:c==="disconnected",isReconnecting:c==="reconnecting",reconnect:l,status:c}}function ot(e){let{data:t}=C(),o=e||(t==null?void 0:t.bech32Address);return q(["USE_BALANCES",o],({queryKey:[,s]})=>L(s),{enabled:Boolean(o)})}function Kn(e,t){let{data:o}=ot(t);return q(["USE_BALANCE",o,e,t],({queryKey:[,s]})=>s==null?void 0:s.find(r=>r.denom===e),{enabled:Boolean(o)})}function On({onError:e,onLoading:t,onSuccess:o}={}){let n=ue(["USE_CONNECT",e,t,o],g,{onError:(r,u)=>Promise.resolve(e==null?void 0:e(r,u)),onMutate:t,onSuccess:r=>Promise.resolve(o==null?void 0:o(r))}),{data:s}=f();return{connect:r=>n.mutate(r),connectAsync:r=>n.mutateAsync(r),error:n.error,isLoading:n.isLoading,isSuccess:n.isSuccess,isSupported:Boolean(s),status:n.status}}function Pn({onError:e,onLoading:t,onSuccess:o}={}){let n=ue(["USE_DISCONNECT",e,t,o],R,{onError:s=>Promise.resolve(e==null?void 0:e(s,void 0)),onMutate:t,onSuccess:()=>Promise.resolve(o==null?void 0:o(void 0))});return{disconnect:s=>n.mutate(s),disconnectAsync:s=>n.mutateAsync(s),error:n.error,isLoading:n.isLoading,isSuccess:n.isSuccess,status:n.status}}function rt(){return i(e=>({signer:e.offlineSigner,signerAmino:e.offlineSignerAmino,signerAuto:e.offlineSignerAuto}),nt)}function Wn(){return rt()}function Mn(e){let{data:t}=C(),o=e||(t==null?void 0:t.bech32Address);return q(["USE_BALANCE_STAKED",o],({queryKey:[,s]})=>V(o),{enabled:Boolean(o)})}import{useMutation as pe,useQuery as me}from"@tanstack/react-query";function Ln(){return i(e=>e.activeChain)}function Vn(e){return me(["USE_ACTIVE_CHAIN_CURRENCY",e],({queryKey:[,c]})=>N(c))}function Jn(e,t="BOND_STATUS_BONDED"){return me(["USE_ACTIVE_CHAIN_VALIDATORS",e,t],({queryKey:[,n,s]})=>n.staking.validators(s),{enabled:typeof e<"u"})}function Yn(){return{data:i(t=>t.recentChain),clear:F}}function $n({onError:e,onLoading:t,onSuccess:o}={}){let n=pe(["USE_SUGGEST_CHAIN",e,t,o],b,{onError:(s,r)=>Promise.resolve(e==null?void 0:e(s,r)),onMutate:t,onSuccess:s=>Promise.resolve(o==null?void 0:o(s))});return{error:n.error,isLoading:n.isLoading,isSuccess:n.isSuccess,suggest:n.mutate,suggestAsync:n.mutateAsync,status:n.status}}function Xn({onError:e,onLoading:t,onSuccess:o}={}){let n=pe(["USE_SUGGEST_CHAIN_AND_CONNECT",e,t,o],_,{onError:(r,u)=>Promise.resolve(e==null?void 0:e(r,u)),onMutate:r=>t==null?void 0:t(r),onSuccess:r=>Promise.resolve(o==null?void 0:o(r))}),{data:s}=f();return{error:n.error,isLoading:n.isLoading,isSuccess:n.isSuccess,isSupported:Boolean(s),status:n.status,suggestAndConnect:n.mutate,suggestAndConnectAsync:n.mutateAsync}}import{useQuery as le}from"@tanstack/react-query";import{useQuery as st}from"@tanstack/react-query";function no(...e){let t=["USE_QUERY_CLIENT",...e];return st(t,({queryKey:[,...c]})=>P(...e),{refetchOnMount:!1,refetchOnWindowFocus:!1})}function co(e){let t=i(n=>n.clients);return le(["USE_CLIENTS",e,t],({queryKey:[,n,s]})=>n!=null&&n.rpc?d(n):s,{refetchOnMount:!1,refetchOnWindowFocus:!1})}function ao(e){let t=i(n=>n.signingClients);return le(["USE_SIGNING_CLIENTS",e,t],({queryKey:[,n,s]})=>n!=null&&n.rpc?h(n):s,{refetchOnMount:!1,refetchOnWindowFocus:!1})}import{useMutation as ye}from"@tanstack/react-query";function go({onError:e,onLoading:t,onSuccess:o}={}){let{data:c}=C(),n=c==null?void 0:c.bech32Address,r=ye(["USE_SEND_TOKENS",e,t,o,n],u=>J({senderAddress:n,...u}),{onError:(u,p)=>Promise.resolve(e==null?void 0:e(u,p)),onMutate:t,onSuccess:u=>Promise.resolve(o==null?void 0:o(u))});return{error:r.error,isLoading:r.isLoading,isSuccess:r.isSuccess,sendTokens:r.mutate,sendTokensAsync:r.mutateAsync,status:r.status}}function fo({onError:e,onLoading:t,onSuccess:o}={}){let{data:c}=C(),n=c==null?void 0:c.bech32Address,r=ye(["USE_SEND_IBC_TOKENS",e,t,o,n],u=>Y({senderAddress:n,...u}),{onError:(u,p)=>Promise.resolve(e==null?void 0:e(u,p)),onMutate:t,onSuccess:u=>Promise.resolve(o==null?void 0:o(u))});return{error:r.error,isLoading:r.isLoading,isSuccess:r.isSuccess,sendIbcTokens:r.mutate,sendIbcTokensAsync:r.mutateAsync,status:r.status}}import{QueryClient as at,QueryClientProvider as ut}from"@tanstack/react-query";import{useEffect as it}from"react";function ct(){return it(()=>{let{_reconnect:e}=i.getState();return e&&l(),window.addEventListener("keplr_keystorechange",l),()=>{window.removeEventListener("keplr_keystorechange",l)}},[]),null}function ge(){return ct(),null}import{jsx as mt,jsxs as lt}from"react/jsx-runtime";var pt=new at({});function wo({children:e,grazOptions:t,...o}){return t&&H(t),lt(ut,{client:pt,...o,children:[mt(ge,{}),e]})}export{ge as GrazEvents,wo as GrazProvider,z as WALLET_TYPES,U as WalletType,E as checkWallet,F as clearRecentChain,H as configureGraz,g as connect,d as createClients,P as createQueryClient,h as createSigningClients,hn as defineChain,xn as defineChainInfo,dn as defineChains,R as disconnect,N as getActiveChainCurrency,Tt as getAvailableWallets,V as getBalanceStaked,L as getBalances,we as getKeplr,De as getLeap,Pt as getRecentChain,y as getWallet,Sn as mainnetChains,An as mainnetChainsArray,l as reconnect,Y as sendIbcTokens,J as sendTokens,b as suggestChain,_ as suggestChainAndConnect,En as testnetChains,bn as testnetChainsArray,C as useAccount,Ln as useActiveChain,Vn as useActiveChainCurrency,Jn as useActiveChainValidators,Kn as useBalance,Mn as useBalanceStaked,ot as useBalances,In as useCheckKeplr,f as useCheckWallet,co as useClients,On as useConnect,Pn as useDisconnect,ct as useGrazEvents,rt as useOfflineSigners,no as useQueryClient,Yn as useRecentChain,fo as useSendIbcTokens,go as useSendTokens,Wn as useSigners,ao as useSigningClients,$n as useSuggestChain,Xn as useSuggestChainAndConnect};
|
|
1
|
+
import{GasPrice as qe}from"@cosmjs/stargate";import je from"zustand";import{persist as De,subscribeWithSelector as ke}from"zustand/middleware";var Q=(s=>(s.KEPLR="keplr",s.LEAP="leap",s))(Q||{}),z=["keplr","leap"];var w={account:null,activeChain:null,balances:null,clients:null,defaultChain:null,defaultSigningClient:"stargate",offlineSigner:null,offlineSignerAmino:null,offlineSignerAuto:null,recentChain:null,signingClients:null,status:"disconnected",walletType:"keplr",_notFoundFn:()=>null,_reconnect:!1},Ie={name:"graz",partialize:e=>({activeChain:e.activeChain,recentChain:e.recentChain,_reconnect:e._reconnect}),version:1},c=je(ke(De(()=>w,Ie)));import{SigningCosmWasmClient as F}from"@cosmjs/cosmwasm-stargate";import{SigningStargateClient as P}from"@cosmjs/stargate";import{Tendermint34Client as Be}from"@cosmjs/tendermint-rpc";import{QueryClient as Te}from"@cosmjs/stargate";import{assert as K,isNonNullObject as W}from"@cosmjs/utils";var O=(...e)=>{let{tendermint:t}=c.getState().clients,s=new Te(t),r=e.map(n=>n(s));for(let n of r){K(W(n),"Extension must be a non-null object");for(let[i,o]of Object.entries(n)){K(W(o),`Module must be a non-null object. Found type ${typeof o} for module "${i}".`);let u=s[i]||{};s[i]={...u,...o}}}return s};var x=async({rpc:e,rpcHeaders:t})=>{let s={url:e,headers:{...t||{}}},[r,n,i]=await Promise.all([F.connect(s),P.connect(s),Be.connect(e)]);return{cosmWasm:r,stargate:n,tendermint:i}},h=async e=>{let{rpc:t,rpcHeaders:s,offlineSignerAuto:r,cosmWasmSignerOptions:n={},stargateSignerOptions:i={}}=e,o={url:t,headers:{...s||{}}},[u,p]=await Promise.all([F.connectWithSigner(o,r,n),P.connectWithSigner(o,r,i)]);return{cosmWasm:u,stargate:p}};var b=(e=c.getState().walletType)=>{try{return y(e),!0}catch(t){return console.error(t),!1}},Ge=()=>{if(typeof window.keplr<"u")return window.keplr;throw c.getState()._notFoundFn(),new Error("window.keplr is not defined")},Ue=()=>{if(typeof window.leap<"u")return window.leap;throw c.getState()._notFoundFn(),new Error("window.leap is not defined")},y=(e=c.getState().walletType)=>{switch(e){case"keplr":return Ge();case"leap":return Ue();default:throw new Error("Unknown wallet type")}},Mt=()=>Object.fromEntries(z.map(e=>[e,b(e)]));var C=async e=>{try{let{defaultChain:t,recentChain:s,walletType:r}=c.getState(),n=(e==null?void 0:e.walletType)||r,i=y(n),o=e||s||t;if(!o)throw new Error("No last known connected chain, connect action requires chain info");c.setState(E=>{let be=E._reconnect;return E.activeChain&&E.activeChain.chainId!==o.chainId?{status:"connecting"}:be?{status:"reconnecting"}:{status:"connecting"}}),await i.enable(o.chainId);let u=i.getOfflineSigner(o.chainId),p=i.getOfflineSignerOnlyAmino(o.chainId),m=await i.getOfflineSignerAuto(o.chainId),l=o.gas?qe.fromString(`${o.gas.price}${o.gas.denom}`):void 0,[R,Ee,we]=await Promise.all([i.getKey(o.chainId),x(o),h({...o,offlineSignerAuto:m,cosmWasmSignerOptions:{gasPrice:l,...(e==null?void 0:e.signerOpts)||{}}})]);return c.setState({account:R,activeChain:o,clients:Ee,offlineSigner:u,offlineSignerAmino:p,offlineSignerAuto:m,recentChain:o,signingClients:we,status:"connected",walletType:n,_reconnect:!0}),R}catch(t){throw c.getState().account===null&&c.setState({status:"disconnected"}),t}},N=async(e=!1)=>(c.setState(t=>({...w,recentChain:e?null:t.recentChain})),Promise.resolve()),d=()=>{let{activeChain:e}=c.getState();e&&C(e)};var _=()=>{c.setState({recentChain:null})},H=e=>{let{activeChain:t}=c.getState();return t==null?void 0:t.currencies.find(s=>s.coinMinimalDenom===e)},_t=()=>c.getState().recentChain,j=async e=>(await y().experimentalSuggestChain(e),e),L=async({chainInfo:e,...t})=>{let s=await j(e);return{account:await C({chainId:e.chainId,currencies:e.currencies,rest:e.rest,rpc:e.rpc,...t}),chain:s}};var V=(e={})=>(c.setState(t=>({defaultChain:e.defaultChain||t.defaultChain,defaultSigningClient:e.defaultSigningClient||t.defaultSigningClient,walletType:e.defaultWallet||t.walletType,_notFoundFn:e.onNotFound||t._notFoundFn})),e);var Y=async e=>{let{activeChain:t,signingClients:s}=c.getState();if(!t||!s)throw new Error("No connected account detected");let{defaultSigningClient:r}=c.getState();return await Promise.all(t.currencies.map(async i=>s[r].getBalance(e,i.coinMinimalDenom)))},J=async 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({senderAddress:e,recipientAddress:t,amount:s,fee:r,memo:n})=>{let{signingClients:i,defaultSigningClient:o}=c.getState();if(!i)throw new Error("No connected account detected");if(!e)throw new Error("senderAddress is not defined");return i[o].sendTokens(e,t,s,r,n)},X=async({senderAddress:e,recipientAddress:t,transferAmount:s,sourcePort:r,sourceChannel:n,timeoutHeight:i,timeoutTimestamp:o,fee:u,memo:p})=>{let{signingClients:m}=c.getState();if(!(m!=null&&m.stargate))throw new Error("Stargate signing client is not ready");if(!e)throw new Error("senderAddress is not defined");return m.stargate.sendIbcTokens(e,t,s,r,n,i,o,u,p)},Z=async({senderAddress:e,msg:t,fee:s,options:r,label:n,codeId:i})=>{let{signingClients:o}=c.getState();if(!(o!=null&&o.cosmWasm))throw new Error("CosmWasm signing client is not ready");return o.cosmWasm.instantiate(e,i,t,n,s,r)},ee=async({senderAddress:e,msg:t,fee:s,contractAddress:r})=>{let{signingClients:n}=c.getState();if(!(n!=null&&n.cosmWasm))throw new Error("CosmWasm signing client is not ready");return n.cosmWasm.execute(e,r,t,s)},te=async(e,t)=>{let{signingClients:s}=c.getState();if(!(s!=null&&s.cosmWasm))throw new Error("CosmWasm signing client is not ready");return await s.cosmWasm.queryContractSmart(e,t)},ne=(e,t)=>{let{signingClients:s}=c.getState();if(!(s!=null&&s.cosmWasm))throw new Error("CosmWasm signing client is not ready");let r=new TextEncoder().encode(t);return s.cosmWasm.queryContractRaw(e,r)};import{Bech32Address as ve}from"@keplr-wallet/cosmos";var oe={coinDenom:"axl",coinMinimalDenom:"uaxl",coinDecimals:6,coinGeckoId:"axelar-network",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/axl.png"},Me={coinDenom:"usdc",coinMinimalDenom:"uusdc",coinDecimals:6,coinGeckoId:"usd-coin",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/usdc.png"},Re={coinDenom:"dai",coinMinimalDenom:"dai-wei",coinDecimals:18,coinGeckoId:"dai",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/dai.png"},Qe={coinDenom:"usdt",coinMinimalDenom:"uusdt",coinDecimals:6,coinGeckoId:"tether",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/usdt.png"},ze={coinDenom:"weth-wei",coinMinimalDenom:"weth",coinDecimals:18,coinGeckoId:"weth",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/weth.png"},Ke={coinDenom:"wbtc-satoshi",coinMinimalDenom:"wbtc",coinDecimals:8,coinGeckoId:"wrapped-bitcoin",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/wbtc.png"},se=[oe,Me,Re,Qe,ze,Ke],D={rpc:"https://rpc.axelar.strange.love",rest:"https://api.axelar.strange.love",chainId:"axelar-dojo-1",chainName:"Axelar",stakeCurrency:oe,bip44:{coinType:118},bech32Config:ve.defaultBech32Config("axelar"),currencies:se,feeCurrencies:se};import{Bech32Address as We}from"@keplr-wallet/cosmos";var ie={coinDenom:"atom",coinMinimalDenom:"uatom",coinDecimals:6,coinGeckoId:"cosmos",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/cosmoshub/images/atom.png"},re=[ie],A={rpc:"https://rpc.cosmoshub.strange.love",rest:"https://api.cosmoshub.strange.love",chainId:"cosmoshub-4",chainName:"Cosmos Hub",stakeCurrency:ie,bip44:{coinType:118},bech32Config:We.defaultBech32Config("cosmos"),currencies:re,feeCurrencies:re};import{Bech32Address as Oe}from"@keplr-wallet/cosmos";var ae={coinDenom:"juno",coinMinimalDenom:"ujuno",coinDecimals:6,coinGeckoId:"juno-network",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/juno.png"},Fe={coinDenom:"neta",coinMinimalDenom:"cw20:juno168ctmpyppk90d34p3jjy658zf5a5l3w8wk35wht6ccqj4mr0yv8s4j5awr",coinDecimals:6,coinGeckoId:"neta",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/neta.png"},Pe={coinDenom:"marble",coinMinimalDenom:"cw20:juno1g2g7ucurum66d42g8k5twk34yegdq8c82858gz0tq2fc75zy7khssgnhjl",coinDecimals:3,coinGeckoId:"marble",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/marble.png"},Ne={coinDenom:"hope",coinMinimalDenom:"cw20:juno1re3x67ppxap48ygndmrc7har2cnc7tcxtm9nplcas4v0gc3wnmvs3s807z",coinDecimals:6,coinGeckoId:"hope-galaxy",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/hope.png"},_e={coinDenom:"rac",coinMinimalDenom:"cw20:juno1r4pzw8f9z0sypct5l9j906d47z998ulwvhvqe5xdwgy8wf84583sxwh0pa",coinDecimals:6,coinGeckoId:"racoon",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/rac.png"},He={coinDenom:"block",coinMinimalDenom:"cw20:juno1y9rf7ql6ffwkv02hsgd4yruz23pn4w97p75e2slsnkm0mnamhzysvqnxaq",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/block.png"},Le={coinDenom:"dhk",coinMinimalDenom:"cw20:juno1tdjwrqmnztn2j3sj2ln9xnyps5hs48q3ddwjrz7jpv6mskappjys5czd49",coinDecimals:0,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/dhk.png"},Ve={coinDenom:"raw",coinMinimalDenom:"cw20:juno15u3dt79t6sxxa3x3kpkhzsy56edaa5a66wvt3kxmukqjz2sx0hes5sn38g",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/raw.png",coinGeckoId:"junoswap-raw-dao"},Ye={coinDenom:"asvt",coinMinimalDenom:"cw20:juno17wzaxtfdw5em7lc94yed4ylgjme63eh73lm3lutp2rhcxttyvpwsypjm4w",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/asvt.png"},Je={coinDenom:"hns",coinMinimalDenom:"cw20:juno1ur4jx0sxchdevahep7fwq28yk4tqsrhshdtylz46yka3uf6kky5qllqp4k",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/hns.svg"},$e={coinDenom:"joe",coinMinimalDenom:"cw20:juno1n7n7d5088qlzlj37e9mgmkhx6dfgtvt02hqxq66lcap4dxnzdhwqfmgng3",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/joe.png"},ce=[ae,Fe,Pe,Ne,_e,He,Le,Ve,Ye,Je,$e],k={rpc:"https://rpc.juno.strange.love",rest:"https://api.juno.strange.love",chainId:"juno-1",chainName:"Juno",stakeCurrency:ae,bip44:{coinType:118},bech32Config:Oe.defaultBech32Config("juno"),currencies:ce,feeCurrencies:ce};import{Bech32Address as Xe}from"@keplr-wallet/cosmos";var pe={coinDenom:"osmo",coinMinimalDenom:"uosmo",coinDecimals:6,coinGeckoId:"osmosis",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/cosmoshub/images/atom.png"},Ze={coinDenom:"ion",coinMinimalDenom:"uion",coinDecimals:6,coinGeckoId:"ion",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/ion.png"},ue=[pe,Ze],I={rpc:"https://rpc.osmosis.strange.love",rest:"https://api.osmosis.strange.love",chainId:"osmosis-1",chainName:"Osmosis",stakeCurrency:pe,bip44:{coinType:118},bech32Config:Xe.defaultBech32Config("osmo"),currencies:ue,feeCurrencies:ue};import{Bech32Address as et}from"@keplr-wallet/cosmos";var le={coinDenom:"somm",coinMinimalDenom:"usomm",coinDecimals:6,coinGeckoId:"sommelier",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/sommelier/images/somm.png"},me=[le],T={rpc:"https://rpc.sommelier.strange.love",rest:"https://api.sommelier.strange.love",chainId:"sommelier-3",chainName:"Sommelier",stakeCurrency:le,bip44:{coinType:118},bech32Config:et.defaultBech32Config("somm"),currencies:me,feeCurrencies:me};import{Bech32Address as tt}from"@keplr-wallet/cosmos";var de={coinDenom:"CRE",coinMinimalDenom:"ucre",coinDecimals:6,coinGeckoId:"crescent",coinImageUrl:"https://raw.githubusercontent.com/crescent-network/asset/main/images/coin/CRE.png"},ge=[de],B={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:tt.defaultBech32Config("CRE"),currencies:ge,feeCurrencies:ge,stakeCurrency:de,coinType:118};import{Bech32Address as nt}from"@keplr-wallet/cosmos";var G={coinDenom:"junox",coinMinimalDenom:"ujunox",coinDecimals:6,coinGeckoId:"juno-network",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/juno.png"},st=[G],U={rpc:"https://rpc.uni.junonetwork.io",rest:"https://api.uni.junonetwork.io",chainId:"uni-5",chainName:"Juno Testnet",stakeCurrency:G,bip44:{coinType:118},bech32Config:nt.defaultBech32Config("juno"),currencies:st,feeCurrencies:[G],coinType:118};import{Bech32Address as ot}from"@keplr-wallet/cosmos";var q={coinDenom:"osmo",coinMinimalDenom:"uosmo",coinDecimals:6,coinGeckoId:"osmosis",coinImageUrl:"https://dhj8dql1kzq2v.cloudfront.net/white/osmo.png"},rt=[q],v={rpc:"https://testnet-rpc.osmosis.zone",rest:"https://testnet-rest.osmosis.zone",chainId:"osmo-test-4",chainName:"Osmosis Testnet",stakeCurrency:q,bip44:{coinType:118},bech32Config:ot.defaultBech32Config("osmo"),currencies:rt,feeCurrencies:[q],coinType:118};var ye=e=>e,wn=e=>e,bn=e=>e,jn=ye({axelar:D,cosmos:A,cosmoshub:A,juno:k,osmosis:I,sommelier:T}),Dn=[D,A,k,I,T],kn=ye({crescent:B,juno:U,osmosis:v}),In=[B,U,v];import{useMutation as Ce,useQuery as M}from"@tanstack/react-query";import{useEffect as ct}from"react";import at from"zustand/shallow";import{useQuery as it}from"@tanstack/react-query";var qn=()=>f("keplr"),f=e=>{let t=c(n=>e||n.walletType);return it(["USE_CHECK_WALLET",t],({queryKey:[,n]})=>b(n))};var g=({onConnect:e,onDisconnect:t}={})=>{let s=c(n=>n.account),r=c(n=>n.status);return ct(()=>c.subscribe(n=>n.status,(n,i)=>{if(n==="connected"){let o=c.getState();e==null||e({account:o.account,isReconnect:i==="reconnecting"})}n==="disconnected"&&(t==null||t())}),[e,t]),{data:s,isConnected:Boolean(s),isConnecting:r==="connecting",isDisconnected:r==="disconnected",isReconnecting:r==="reconnecting",reconnect:d,status:r}},ut=e=>{let{data:t}=g(),s=e||(t==null?void 0:t.bech32Address);return M(["USE_BALANCES",s],({queryKey:[,i]})=>Y(i),{enabled:Boolean(s)})},Fn=(e,t)=>{let{data:s}=ut(t);return M(["USE_BALANCE",s,e,t],({queryKey:[,i]})=>i==null?void 0:i.find(o=>o.denom===e),{enabled:Boolean(s)})},Pn=({onError:e,onLoading:t,onSuccess:s}={})=>{let n=Ce(["USE_CONNECT",e,t,s],C,{onError:(o,u)=>Promise.resolve(e==null?void 0:e(o,u)),onMutate:t,onSuccess:o=>Promise.resolve(s==null?void 0:s(o))}),{data:i}=f();return{connect:o=>n.mutate(o),connectAsync:o=>n.mutateAsync(o),error:n.error,isLoading:n.isLoading,isSuccess:n.isSuccess,isSupported:Boolean(i),status:n.status}},Nn=({onError:e,onLoading:t,onSuccess:s}={})=>{let n=Ce(["USE_DISCONNECT",e,t,s],N,{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}},pt=()=>c(e=>({signer:e.offlineSigner,signerAmino:e.offlineSignerAmino,signerAuto:e.offlineSignerAuto}),at),_n=()=>pt(),Hn=e=>{let{data:t}=g(),s=e||(t==null?void 0:t.bech32Address);return M(["USE_BALANCE_STAKED",s],({queryKey:[,i]})=>J(s),{enabled:Boolean(s)})};import{useMutation as fe,useQuery as xe}from"@tanstack/react-query";var Xn=()=>c(e=>e.activeChain),Zn=e=>xe(["USE_ACTIVE_CHAIN_CURRENCY",e],({queryKey:[,r]})=>H(r)),es=(e,t="BOND_STATUS_BONDED")=>xe(["USE_ACTIVE_CHAIN_VALIDATORS",e,t],({queryKey:[,n,i]})=>n.staking.validators(i),{enabled:typeof e<"u"}),ts=()=>({data:c(t=>t.recentChain),clear:_}),ns=({onError:e,onLoading:t,onSuccess:s}={})=>{let n=fe(["USE_SUGGEST_CHAIN",e,t,s],j,{onError:(i,o)=>Promise.resolve(e==null?void 0:e(i,o)),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}},ss=({onError:e,onLoading:t,onSuccess:s}={})=>{let n=fe(["USE_SUGGEST_CHAIN_AND_CONNECT",e,t,s],L,{onError:(o,u)=>Promise.resolve(e==null?void 0:e(o,u)),onMutate:o=>t==null?void 0:t(o),onSuccess:o=>Promise.resolve(s==null?void 0:s(o))}),{data:i}=f();return{error:n.error,isLoading:n.isLoading,isSuccess:n.isSuccess,isSupported:Boolean(i),status:n.status,suggestAndConnect:n.mutate,suggestAndConnectAsync:n.mutateAsync}};import{useQuery as he}from"@tanstack/react-query";import{useQuery as mt}from"@tanstack/react-query";var cs=(...e)=>{let t=["USE_QUERY_CLIENT",...e];return mt(t,({queryKey:[,...r]})=>O(...e),{refetchOnMount:!1,refetchOnWindowFocus:!1})};var ls=e=>{let t=c(n=>n.clients);return he(["USE_CLIENTS",e,t],({queryKey:[,n,i]})=>n!=null&&n.rpc?x(n):i,{refetchOnMount:!1,refetchOnWindowFocus:!1})},gs=e=>{let t=c(n=>n.signingClients);return he(["USE_SIGNING_CLIENTS",e,t],({queryKey:[,n,i]})=>n!=null&&n.rpc?h(n):i,{refetchOnMount:!1,refetchOnWindowFocus:!1})};import{useMutation as S,useQuery as Ae}from"@tanstack/react-query";var hs=({onError:e,onLoading:t,onSuccess:s}={})=>{let{data:r}=g(),n=r==null?void 0:r.bech32Address,o=S(["USE_SEND_TOKENS",e,t,s,n],u=>$({senderAddress:n,...u}),{onError:(u,p)=>Promise.resolve(e==null?void 0:e(u,p)),onMutate:t,onSuccess:u=>Promise.resolve(s==null?void 0:s(u))});return{error:o.error,isLoading:o.isLoading,isSuccess:o.isSuccess,sendTokens:o.mutate,sendTokensAsync:o.mutateAsync,status:o.status}},As=({onError:e,onLoading:t,onSuccess:s}={})=>{let{data:r}=g(),n=r==null?void 0:r.bech32Address,o=S(["USE_SEND_IBC_TOKENS",e,t,s,n],u=>X({senderAddress:n,...u}),{onError:(u,p)=>Promise.resolve(e==null?void 0:e(u,p)),onMutate:t,onSuccess:u=>Promise.resolve(s==null?void 0:s(u))});return{error:o.error,isLoading:o.isLoading,isSuccess:o.isSuccess,sendIbcTokens:o.mutate,sendIbcTokensAsync:o.mutateAsync,status:o.status}},Ss=({codeId:e,onError:t,onLoading:s,onSuccess:r})=>{let{data:n}=g(),i=n==null?void 0:n.bech32Address,p=S(["USE_INSTANTIATE_CONTRACT",t,s,r,e,i],m=>{if(!i)throw new Error("senderAddress is undefined");let l={...m,fee:m.fee??"auto",senderAddress:i,codeId:e};return Z(l)},{onError:(m,l)=>Promise.resolve(t==null?void 0:t(m,l)),onMutate:s,onSuccess:m=>Promise.resolve(r==null?void 0:r(m))});return{error:p.error,isLoading:p.isLoading,isSuccess:p.isSuccess,instantiateContract:p.mutate,instantiateContractAsync:p.mutateAsync,status:p.status}},Es=({contractAddress:e,onError:t,onLoading:s,onSuccess:r})=>{let{data:n}=g(),i=n==null?void 0:n.bech32Address,p=S(["USE_EXECUTE_CONTRACT",t,s,r,e,i],m=>{if(!i)throw new Error("senderAddress is undefined");let l={...m,fee:m.fee??"auto",senderAddress:i,contractAddress:e};return ee(l)},{onError:(m,l)=>Promise.resolve(t==null?void 0:t(m,l)),onMutate:s,onSuccess:m=>Promise.resolve(r==null?void 0:r(m))});return{error:p.error,isLoading:p.isLoading,isSuccess:p.isSuccess,executeContract:p.mutate,executeContractAsync:p.mutateAsync,status:p.status}},ws=(e,t)=>Ae(["USE_QUERY_SMART",e,t],({queryKey:[,n]})=>{if(!e||!t)throw new Error("address or queryMsg undefined");return te(e,t)},{enabled:Boolean(e)&&Boolean(t)}),bs=(e,t)=>Ae(["USE_QUERY_RAW",t,e],({queryKey:[,n]})=>{if(!e||!t)throw new Error("address or key undefined");return ne(e,t)},{enabled:Boolean(e)&&Boolean(t)});import{QueryClient as dt,QueryClientProvider as yt}from"@tanstack/react-query";import{useEffect as lt}from"react";var gt=()=>(lt(()=>{let{_reconnect:e}=c.getState();return e&&d(),window.addEventListener("keplr_keystorechange",d),()=>{window.removeEventListener("keplr_keystorechange",d)}},[]),null),Se=()=>(gt(),null);import{jsx as ft,jsxs as xt}from"react/jsx-runtime";var Ct=new dt({}),qs=({children:e,grazOptions:t,...s})=>(t&&V(t),xt(yt,{client:Ct,...s,children:[ft(Se,{}),e]}));export{Se as GrazEvents,qs as GrazProvider,z as WALLET_TYPES,Q as WalletType,b as checkWallet,_ as clearRecentChain,V as configureGraz,C as connect,x as createClients,O as createQueryClient,h as createSigningClients,wn as defineChain,bn as defineChainInfo,ye as defineChains,N as disconnect,ee as executeContract,H as getActiveChainCurrency,Mt as getAvailableWallets,J as getBalanceStaked,Y as getBalances,Ge as getKeplr,Ue as getLeap,ne as getQueryRaw,te as getQuerySmart,_t as getRecentChain,y as getWallet,Z as instantiateContract,jn as mainnetChains,Dn as mainnetChainsArray,d as reconnect,X as sendIbcTokens,$ as sendTokens,j as suggestChain,L as suggestChainAndConnect,kn as testnetChains,In as testnetChainsArray,g as useAccount,Xn as useActiveChain,Zn as useActiveChainCurrency,es as useActiveChainValidators,Fn as useBalance,Hn as useBalanceStaked,ut as useBalances,qn as useCheckKeplr,f as useCheckWallet,ls as useClients,Pn as useConnect,Nn as useDisconnect,Es as useExecuteContract,gt as useGrazEvents,Ss as useInstantiateContract,pt as useOfflineSigners,cs as useQueryClient,bs as useQueryRaw,ws as useQuerySmart,ts as useRecentChain,As as useSendIbcTokens,hs as useSendTokens,_n as useSigners,gs as useSigningClients,ns as useSuggestChain,ss 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.
|
|
4
|
+
"version": "0.0.28",
|
|
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",
|
|
@@ -71,6 +71,7 @@
|
|
|
71
71
|
"license": "MIT",
|
|
72
72
|
"scripts": {
|
|
73
73
|
"build": "tsup",
|
|
74
|
+
"clean": "rm -rf dist/*",
|
|
74
75
|
"cli": "node cli.mjs",
|
|
75
76
|
"dev": "tsup --watch",
|
|
76
77
|
"lint": "eslint --fix \"src/**/*.{ts,tsx}\""
|