graz 0.0.3 → 0.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,26 +1,50 @@
1
+ import * as _cosmjs_stargate from '@cosmjs/stargate';
1
2
  import * as _keplr_wallet_types from '@keplr-wallet/types';
2
- import { AppCurrency, Key, ChainInfo } from '@keplr-wallet/types';
3
- import * as _cosmjs_proto_signing from '@cosmjs/proto-signing';
3
+ import { AppCurrency, ChainInfo, Key } from '@keplr-wallet/types';
4
4
  import * as _cosmjs_cosmwasm_stargate from '@cosmjs/cosmwasm-stargate';
5
+ import { SigningCosmWasmClientOptions } from '@cosmjs/cosmwasm-stargate';
6
+ import * as _cosmjs_proto_signing from '@cosmjs/proto-signing';
7
+ import { OfflineSigner } from '@cosmjs/proto-signing';
5
8
  import * as react_query from 'react-query';
6
9
  import * as _cosmjs_amino from '@cosmjs/amino';
7
10
  import { ReactNode } from 'react';
8
11
 
12
+ declare type Dictionary<T = string> = Record<string, T>;
13
+
9
14
  interface GrazChain {
10
15
  chainId: string;
11
16
  currencies: AppCurrency[];
12
17
  rest: string;
13
18
  rpc: string;
19
+ rpcHeaders?: Dictionary;
20
+ gas?: {
21
+ price: string;
22
+ denom: string;
23
+ };
14
24
  }
15
25
  declare function defineChains<T extends Record<string, GrazChain>>(chains: T): T;
16
- declare const defaultChains: {
26
+ declare const mainnetChains: {
17
27
  cosmos: _keplr_wallet_types.ChainInfo;
18
28
  juno: _keplr_wallet_types.ChainInfo;
19
29
  osmosis: _keplr_wallet_types.ChainInfo;
20
30
  };
31
+ declare const mainnetChainsArray: _keplr_wallet_types.ChainInfo[];
32
+ declare const testnetChains: {
33
+ osmosis: _keplr_wallet_types.ChainInfo;
34
+ };
35
+ declare const testnetChainsArray: _keplr_wallet_types.ChainInfo[];
21
36
 
37
+ declare function connect(chain: GrazChain, signerOpts?: SigningCosmWasmClientOptions): Promise<_keplr_wallet_types.Key>;
38
+ declare function disconnect(): Promise<void>;
39
+ declare function getBalances(bech32Address: string): Promise<_cosmjs_stargate.Coin[]>;
22
40
  declare function reconnect(): void;
23
41
 
42
+ declare function suggestChain(chainInfo: ChainInfo): Promise<ChainInfo>;
43
+ declare function suggestChainAndConnect(chainInfo: ChainInfo): Promise<{
44
+ account: _keplr_wallet_types.Key;
45
+ chain: ChainInfo;
46
+ }>;
47
+
24
48
  interface MutationEventArgs<TInitial = unknown, TSuccess = TInitial> {
25
49
  onError?: (error: unknown, data: TInitial) => unknown;
26
50
  onLoading?: (data: TInitial) => unknown;
@@ -46,14 +70,13 @@ declare function useAccount({ onConnect, onDisconnect }?: UseAccountArgs): {
46
70
  declare function useBalances(bech32Address?: string): {
47
71
  data: _cosmjs_amino.Coin[] | undefined;
48
72
  error: unknown;
49
- isLoading: boolean;
50
73
  isFetching: boolean;
74
+ isLoading: boolean;
51
75
  isRefetching: boolean;
52
76
  isSuccess: boolean;
53
77
  refetch: <TPageData>(options?: (react_query.RefetchOptions & react_query.RefetchQueryFilters<TPageData>) | undefined) => Promise<react_query.QueryObserverResult<_cosmjs_amino.Coin[], unknown>>;
54
78
  status: "idle" | "error" | "loading" | "success";
55
79
  };
56
- declare function useCosmWasmClient(): _cosmjs_cosmwasm_stargate.SigningCosmWasmClient | null;
57
80
  declare type UseConnectChainArgs = MutationEventArgs<GrazChain, Key>;
58
81
  declare function useConnect({ onError, onLoading, onSuccess }?: UseConnectChainArgs): {
59
82
  error: unknown;
@@ -88,13 +111,64 @@ declare function useSuggestChain({ onError, onLoading, onSuccess }?: UseSuggestC
88
111
  suggestAsync: react_query.UseMutateAsyncFunction<ChainInfo, unknown, ChainInfo, unknown>;
89
112
  status: "idle" | "error" | "loading" | "success";
90
113
  };
114
+ declare type UseSuggestChainAndConnectArgs = MutationEventArgs<ChainInfo, {
115
+ chain: ChainInfo;
116
+ account: Key;
117
+ }>;
118
+ declare function useSuggestChainAndConnect({ onError, onLoading, onSuccess }?: UseSuggestChainAndConnectArgs): {
119
+ error: unknown;
120
+ isLoading: boolean;
121
+ isSuccess: boolean;
122
+ isSupported: boolean;
123
+ status: "idle" | "error" | "loading" | "success";
124
+ suggestAndConnect: react_query.UseMutateFunction<{
125
+ account: Key;
126
+ chain: ChainInfo;
127
+ }, unknown, ChainInfo, unknown>;
128
+ suggestAndConnectAsync: react_query.UseMutateAsyncFunction<{
129
+ account: Key;
130
+ chain: ChainInfo;
131
+ }, unknown, ChainInfo, unknown>;
132
+ };
133
+
134
+ declare type CreateClientArgs = Pick<GrazChain, "rpc" | "rpcHeaders">;
135
+ declare type CreateSigningClientArgs = CreateClientArgs & {
136
+ offlineSigner: OfflineSigner;
137
+ signerOptions?: SigningCosmWasmClientOptions;
138
+ };
139
+
140
+ declare type WithRefetchOpts<T> = T & {
141
+ keepRefetchBehavior?: boolean;
142
+ };
143
+ declare function useClient(args?: WithRefetchOpts<CreateClientArgs>): {
144
+ data: _cosmjs_cosmwasm_stargate.CosmWasmClient | null | undefined;
145
+ error: unknown;
146
+ isFetching: boolean;
147
+ isLoading: boolean;
148
+ isRefetching: boolean;
149
+ isSuccess: boolean;
150
+ refetch: <TPageData>(options?: (react_query.RefetchOptions & react_query.RefetchQueryFilters<TPageData>) | undefined) => Promise<react_query.QueryObserverResult<_cosmjs_cosmwasm_stargate.CosmWasmClient | null, unknown>>;
151
+ status: "idle" | "error" | "loading" | "success";
152
+ };
153
+ declare function useSigningClient(args?: WithRefetchOpts<CreateSigningClientArgs>): {
154
+ data: _cosmjs_cosmwasm_stargate.SigningCosmWasmClient | null | undefined;
155
+ error: unknown;
156
+ isFetching: boolean;
157
+ isLoading: boolean;
158
+ isRefetching: boolean;
159
+ isSuccess: boolean;
160
+ refetch: <TPageData>(options?: (react_query.RefetchOptions & react_query.RefetchQueryFilters<TPageData>) | undefined) => Promise<react_query.QueryObserverResult<_cosmjs_cosmwasm_stargate.SigningCosmWasmClient | null, unknown>>;
161
+ status: "idle" | "error" | "loading" | "success";
162
+ };
91
163
 
92
164
  declare function useCheckKeplr(): boolean;
93
165
 
94
166
  declare function getKeplr(): _keplr_wallet_types.Keplr;
167
+ declare function registerKeplrNotFound(fn: () => void): void;
168
+ declare function unregisterKeplrNotFound(): void;
95
169
 
96
170
  declare function GrazProvider({ children }: {
97
171
  children: ReactNode;
98
172
  }): JSX.Element;
99
173
 
100
- export { GrazChain, GrazProvider, UseAccountArgs, UseConnectChainArgs, UseSuggestChainArgs, defaultChains, defineChains, getKeplr, useAccount, useActiveChain, useBalances, useCheckKeplr, useConnect, useCosmWasmClient, useDisconnect, useSigners, useSuggestChain };
174
+ export { GrazChain, GrazProvider, UseAccountArgs, UseConnectChainArgs, UseSuggestChainAndConnectArgs, UseSuggestChainArgs, connect, defineChains, disconnect, getBalances, getKeplr, mainnetChains, mainnetChainsArray, reconnect, registerKeplrNotFound, suggestChain, suggestChainAndConnect, testnetChains, testnetChainsArray, unregisterKeplrNotFound, useAccount, useActiveChain, useBalances, useCheckKeplr, useClient, useConnect, useDisconnect, useSigners, useSigningClient, useSuggestChain, useSuggestChainAndConnect };
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";var R=Object.create;var l=Object.defineProperty;var F=Object.getOwnPropertyDescriptor;var H=Object.getOwnPropertyNames;var Q=Object.getPrototypeOf,J=Object.prototype.hasOwnProperty;var V=(e,t)=>{for(var o in t)l(e,o,{get:t[o],enumerable:!0})},w=(e,t,o,c)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of H(t))!J.call(e,n)&&n!==o&&l(e,n,{get:()=>t[n],enumerable:!(c=F(t,n))||c.enumerable});return e};var f=(e,t,o)=>(o=e!=null?R(Q(e)):{},w(t||!e||!e.__esModule?l(o,"default",{value:e,enumerable:!0}):o,e)),X=e=>w(l({},"__esModule",{value:!0}),e);var we={};V(we,{GrazProvider:()=>Ce,defaultChains:()=>me,defineChains:()=>ae,getKeplr:()=>u,useAccount:()=>N,useActiveChain:()=>fe,useBalances:()=>ue,useCheckKeplr:()=>C,useConnect:()=>le,useCosmWasmClient:()=>pe,useDisconnect:()=>ge,useSigners:()=>he,useSuggestChain:()=>ye});module.exports=X(we);var s=f(require("react"));var k=require("@keplr-wallet/cosmos"),S={coinDenom:"atom",coinMinimalDenom:"uatom",coinDecimals:6,coinGeckoId:"cosmos",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/cosmoshub/images/atom.png"},A=[S],v={rpc:"https://rpc.cosmoshub.strange.love",rest:"https://api.cosmoshub.strange.love",chainId:"cosmoshub-4",chainName:"Cosmos Hub",stakeCurrency:S,bip44:{coinType:118},bech32Config:k.Bech32Address.defaultBech32Config("cosmos"),currencies:A,feeCurrencies:A};var j=require("@keplr-wallet/cosmos"),b={coinDenom:"juno",coinMinimalDenom:"ujuno",coinDecimals:6,coinGeckoId:"juno-network",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/juno.png"},Y={coinDenom:"neta",coinMinimalDenom:"cw20:juno168ctmpyppk90d34p3jjy658zf5a5l3w8wk35wht6ccqj4mr0yv8s4j5awr",coinDecimals:6,coinGeckoId:"neta",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/neta.png"},Z={coinDenom:"marble",coinMinimalDenom:"cw20:juno1g2g7ucurum66d42g8k5twk34yegdq8c82858gz0tq2fc75zy7khssgnhjl",coinDecimals:3,coinGeckoId:"marble",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/marble.png"},$={coinDenom:"hope",coinMinimalDenom:"cw20:juno1re3x67ppxap48ygndmrc7har2cnc7tcxtm9nplcas4v0gc3wnmvs3s807z",coinDecimals:6,coinGeckoId:"hope-galaxy",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/hope.png"},ee={coinDenom:"rac",coinMinimalDenom:"cw20:juno1r4pzw8f9z0sypct5l9j906d47z998ulwvhvqe5xdwgy8wf84583sxwh0pa",coinDecimals:6,coinGeckoId:"racoon",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/rac.png"},ne={coinDenom:"block",coinMinimalDenom:"cw20:juno1y9rf7ql6ffwkv02hsgd4yruz23pn4w97p75e2slsnkm0mnamhzysvqnxaq",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/block.png"},te={coinDenom:"dhk",coinMinimalDenom:"cw20:juno1tdjwrqmnztn2j3sj2ln9xnyps5hs48q3ddwjrz7jpv6mskappjys5czd49",coinDecimals:0,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/dhk.png"},oe={coinDenom:"raw",coinMinimalDenom:"cw20:juno15u3dt79t6sxxa3x3kpkhzsy56edaa5a66wvt3kxmukqjz2sx0hes5sn38g",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/raw.png",coinGeckoId:"junoswap-raw-dao"},re={coinDenom:"asvt",coinMinimalDenom:"cw20:juno17wzaxtfdw5em7lc94yed4ylgjme63eh73lm3lutp2rhcxttyvpwsypjm4w",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/asvt.png"},ie={coinDenom:"hns",coinMinimalDenom:"cw20:juno1ur4jx0sxchdevahep7fwq28yk4tqsrhshdtylz46yka3uf6kky5qllqp4k",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/hns.svg"},se={coinDenom:"joe",coinMinimalDenom:"cw20:juno1n7n7d5088qlzlj37e9mgmkhx6dfgtvt02hqxq66lcap4dxnzdhwqfmgng3",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/joe.png"},x=[b,Y,Z,$,ee,ne,te,oe,re,ie,se],D={rpc:"https://rpc.juno.strange.love",rest:"https://api.juno.strange.love",chainId:"juno-1",chainName:"Juno",stakeCurrency:b,bip44:{coinType:118},bech32Config:j.Bech32Address.defaultBech32Config("juno"),currencies:x,feeCurrencies:x};var I=require("@keplr-wallet/cosmos"),G={coinDenom:"osmo",coinMinimalDenom:"uosmo",coinDecimals:6,coinGeckoId:"osmosis",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/cosmoshub/images/atom.png"},ce={coinDenom:"ion",coinMinimalDenom:"uion",coinDecimals:6,coinGeckoId:"ion",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/ion.png"},z=[G,ce],q={rpc:"https://rpc.osmosis.strange.love",rest:"https://api.osmosis.strange.love",chainId:"osmosis-1",chainName:"Osmosis",stakeCurrency:G,bip44:{coinType:118},bech32Config:I.Bech32Address.defaultBech32Config("osmo"),currencies:z,feeCurrencies:z};function ae(e){return e}var me={cosmos:v,juno:D,osmosis:q};var K=require("react"),p=require("react-query"),E=f(require("zustand/shallow"));var U=require("@cosmjs/cosmwasm-stargate");var M=f(require("zustand")),g=require("zustand/middleware"),y={account:null,activeChain:null,balances:null,client:null,signer:null,signerAmino:null,signerAuto:null,status:"disconnected",_notFoundFn:()=>null,_reconnect:!1,_supported:!1},r=(0,M.default)((0,g.subscribeWithSelector)((0,g.persist)(()=>({...y}),{name:"graz",partialize:e=>({activeChain:e.activeChain,_reconnect:e._reconnect}),version:1})));function u(){if(typeof window.keplr<"u")return window.keplr;throw r.getState()._notFoundFn(),new Error("Keplr is not defined")}async function d(e){try{let t=u();r.setState(W=>({status:W._reconnect?"reconnecting":"connecting"})),await t.enable(e.chainId);let o=t.getOfflineSigner(e.chainId),c=t.getOfflineSignerOnlyAmino(e.chainId),[n,i,a]=await Promise.all([await t.getKey(e.chainId),await t.getOfflineSignerAuto(e.chainId),await U.SigningCosmWasmClient.connectWithSigner(e.rpc,o)]);return r.setState({account:n,activeChain:e,client:a,signer:o,signerAuto:i,signerAmino:c,status:"connected",_reconnect:!0}),n}catch(t){throw r.getState().account===null&&r.setState({status:"disconnected"}),t}}async function _(){return r.setState({...y}),Promise.resolve()}async function O(e){let{activeChain:t,client:o}=r.getState();if(!t||!o)throw new Error("No connected account detected");return await Promise.all(t.currencies.map(async n=>o.getBalance(e,n.coinMinimalDenom)))}function m(){let{activeChain:e}=r.getState();e&&d(e)}function C(){return r(e=>e._supported)}function N({onConnect:e,onDisconnect:t}={}){let o=r(n=>n.account),c=r(n=>n.status);return(0,K.useEffect)(()=>r.subscribe(n=>n.status,(n,i)=>{if(n==="connected"){let a=r.getState();e==null||e({account:a.account,isReconnect:i==="reconnecting"})}n==="disconnected"&&(t==null||t())}),[e,t]),{data:o,isConnected:c==="connected",isConnecting:c==="connecting",isDisconnected:c==="disconnected",isReconnecting:c==="reconnecting",reconnect:m,status:c}}function ue(e){var i;let t=N(),o=e||((i=t.data)==null?void 0:i.bech32Address),n=(0,p.useQuery)(["WADESTA_USE_BALANCES",o],({queryKey:[,a]})=>O(a),{enabled:Boolean(o)});return{data:n.data,error:n.error,isLoading:n.isLoading,isFetching:n.isFetching,isRefetching:n.isRefetching,isSuccess:n.isSuccess,refetch:n.refetch,status:n.status}}function pe(){return r(e=>e.client)}function le({onError:e,onLoading:t,onSuccess:o}={}){let n=(0,p.useMutation)(["WADESTA_USE_CONNECT",e,t,o],d,{onError:(i,a)=>Promise.resolve(e==null?void 0:e(i,a)),onMutate:t,onSuccess:i=>Promise.resolve(o==null?void 0:o(i))});return{error:n.error,isLoading:n.isLoading,isSuccess:n.isSuccess,isSupported:C(),connect:n.mutate,connectAsync:n.mutateAsync,status:n.status}}function ge({onError:e,onLoading:t,onSuccess:o}={}){let n=(0,p.useMutation)(["WADESTA_USE_DISCONNECT",e,t,o],_,{onError:i=>Promise.resolve(e==null?void 0:e(i,void 0)),onMutate:t,onSuccess:()=>Promise.resolve(o==null?void 0:o(void 0))});return{error:n.error,isLoading:n.isLoading,isSuccess:n.isSuccess,disconnect:n.mutate,disconnectAsync:n.mutateAsync,status:n.status}}function he(){return r(e=>({signer:e.signer,signerAmino:e.signerAmino,signerAuto:e.signerAuto}),E.default)}var B=require("react-query");async function T(e){return await u().experimentalSuggestChain(e),e}function fe(){return r(e=>e.activeChain)}function ye({onError:e,onLoading:t,onSuccess:o}={}){let n=(0,B.useMutation)(["WADESTA_USE_SUGGEST_CHAIN",e,t,o],T,{onError:(i,a)=>Promise.resolve(e==null?void 0:e(i,a)),onMutate:t,onSuccess:i=>Promise.resolve(o==null?void 0:o(i))});return{error:n.error,isLoading:n.isLoading,isSuccess:n.isSuccess,suggest:n.mutate,suggestAsync:n.mutateAsync,status:n.status}}var h=require("react-query");var P=require("react");function L(){return(0,P.useEffect)(()=>{r.setState({_supported:typeof window.keplr<"u"});let{_reconnect:e}=r.getState();return e&&m(),window.addEventListener("focus",m),window.addEventListener("keplr_keystorechange",m),()=>{window.removeEventListener("focus",m),window.removeEventListener("keplr_keystorechange",m)}},[]),null}var de=new h.QueryClient({defaultOptions:{queries:{notifyOnChangeProps:"tracked"}}});function Ce({children:e}){return s.createElement(h.QueryClientProvider,{key:"graz-query-client",client:de},s.createElement(L,null),e)}0&&(module.exports={GrazProvider,defaultChains,defineChains,getKeplr,useAccount,useActiveChain,useBalances,useCheckKeplr,useConnect,useCosmWasmClient,useDisconnect,useSigners,useSuggestChain});
1
+ "use strict";var te=Object.create;var f=Object.defineProperty;var oe=Object.getOwnPropertyDescriptor;var ie=Object.getOwnPropertyNames;var re=Object.getPrototypeOf,se=Object.prototype.hasOwnProperty;var ce=(e,o)=>{for(var t in o)f(e,t,{get:o[t],enumerable:!0})},M=(e,o,t,i)=>{if(o&&typeof o=="object"||typeof o=="function")for(let n of ie(o))!se.call(e,n)&&n!==t&&f(e,n,{get:()=>o[n],enumerable:!(i=oe(o,n))||i.enumerable});return e};var w=(e,o,t)=>(t=e!=null?te(re(e)):{},M(o||!e||!e.__esModule?f(t,"default",{value:e,enumerable:!0}):t,e)),ae=e=>M(f({},"__esModule",{value:!0}),e);var _e={};ce(_e,{GrazProvider:()=>Te,connect:()=>u,defineChains:()=>xe,disconnect:()=>v,getBalances:()=>I,getKeplr:()=>p,mainnetChains:()=>ke,mainnetChainsArray:()=>ve,reconnect:()=>m,registerKeplrNotFound:()=>me,suggestChain:()=>C,suggestChainAndConnect:()=>j,testnetChains:()=>Ie,testnetChainsArray:()=>je,unregisterKeplrNotFound:()=>ue,useAccount:()=>V,useActiveChain:()=>qe,useBalances:()=>De,useCheckKeplr:()=>l,useClient:()=>Me,useConnect:()=>be,useDisconnect:()=>ze,useSigners:()=>Oe,useSigningClient:()=>Ue,useSuggestChain:()=>Ge,useSuggestChainAndConnect:()=>Ke});module.exports=ae(_e);var c=w(require("react"));var N=require("@cosmjs/stargate");var U=w(require("zustand")),h=require("zustand/middleware"),x={account:null,activeChain:null,balances:null,client:null,offlineSigner:null,offlineSignerAmino:null,offlineSignerAuto:null,signingClient:null,status:"disconnected",_notFoundFn:()=>null,_reconnect:!1,_supported:!1},r=(0,U.default)((0,h.subscribeWithSelector)((0,h.persist)(()=>({...x}),{name:"graz",partialize:e=>({activeChain:e.activeChain,_reconnect:e._reconnect}),version:1})));function p(){if(typeof window.keplr<"u")return window.keplr;throw r.getState()._notFoundFn(),new Error("Keplr is not defined")}function me(e){r.setState({_notFoundFn:e})}function ue(){r.setState({_notFoundFn:()=>null})}var k=require("@cosmjs/cosmwasm-stargate");async function y({rpc:e,rpcHeaders:o}){let t={url:e,headers:{...o||{}}};return await k.SigningCosmWasmClient.connect(t)}async function d(e){let{rpc:o,rpcHeaders:t,offlineSigner:i,signerOptions:n={}}=e,s={url:o,headers:{...t||{}}};return await k.SigningCosmWasmClient.connectWithSigner(s,i,n)}async function u(e,o={}){try{let t=p();r.setState(A=>{let ne=A._reconnect;return A.activeChain&&A.activeChain.chainId!==e.chainId?{status:"connecting"}:ne?{status:"reconnecting"}:{status:"connecting"}}),await t.enable(e.chainId);let i=t.getOfflineSigner(e.chainId),n=t.getOfflineSignerOnlyAmino(e.chainId),s=e.gas?N.GasPrice.fromString(`${e.gas.price}${e.gas.denom}`):void 0,[a,Y,Z,ee]=await Promise.all([t.getKey(e.chainId),y(e),t.getOfflineSignerAuto(e.chainId),d({...e,offlineSigner:i,signerOptions:{gasPrice:s,...o}})]);return r.setState({account:a,activeChain:e,client:Y,offlineSigner:i,offlineSignerAmino:n,offlineSignerAuto:Z,signingClient:ee,status:"connected",_reconnect:!0}),a}catch(t){throw r.getState().account===null&&r.setState({status:"disconnected"}),t}}async function v(){return r.setState(e=>({...x,_supported:e._supported})),Promise.resolve()}async function I(e){let{activeChain:o,signingClient:t}=r.getState();if(!o||!t)throw new Error("No connected account detected");return await Promise.all(o.currencies.map(async n=>t.getBalance(e,n.coinMinimalDenom)))}function m(){let{activeChain:e}=r.getState();e&&u(e)}async function C(e){return await p().experimentalSuggestChain(e),e}async function j(e){let o=await C(e);return{account:await u(e),chain:o}}var _=require("@keplr-wallet/cosmos"),B={coinDenom:"atom",coinMinimalDenom:"uatom",coinDecimals:6,coinGeckoId:"cosmos",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/cosmoshub/images/atom.png"},T=[B],D={rpc:"https://rpc.cosmoshub.strange.love",rest:"https://api.cosmoshub.strange.love",chainId:"cosmoshub-4",chainName:"Cosmos Hub",stakeCurrency:B,bip44:{coinType:118},bech32Config:_.Bech32Address.defaultBech32Config("cosmos"),currencies:T,feeCurrencies:T};var R=require("@keplr-wallet/cosmos"),W={coinDenom:"juno",coinMinimalDenom:"ujuno",coinDecimals:6,coinGeckoId:"juno-network",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/juno.png"},pe={coinDenom:"neta",coinMinimalDenom:"cw20:juno168ctmpyppk90d34p3jjy658zf5a5l3w8wk35wht6ccqj4mr0yv8s4j5awr",coinDecimals:6,coinGeckoId:"neta",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/neta.png"},le={coinDenom:"marble",coinMinimalDenom:"cw20:juno1g2g7ucurum66d42g8k5twk34yegdq8c82858gz0tq2fc75zy7khssgnhjl",coinDecimals:3,coinGeckoId:"marble",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/marble.png"},ge={coinDenom:"hope",coinMinimalDenom:"cw20:juno1re3x67ppxap48ygndmrc7har2cnc7tcxtm9nplcas4v0gc3wnmvs3s807z",coinDecimals:6,coinGeckoId:"hope-galaxy",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/hope.png"},fe={coinDenom:"rac",coinMinimalDenom:"cw20:juno1r4pzw8f9z0sypct5l9j906d47z998ulwvhvqe5xdwgy8wf84583sxwh0pa",coinDecimals:6,coinGeckoId:"racoon",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/rac.png"},he={coinDenom:"block",coinMinimalDenom:"cw20:juno1y9rf7ql6ffwkv02hsgd4yruz23pn4w97p75e2slsnkm0mnamhzysvqnxaq",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/block.png"},ye={coinDenom:"dhk",coinMinimalDenom:"cw20:juno1tdjwrqmnztn2j3sj2ln9xnyps5hs48q3ddwjrz7jpv6mskappjys5czd49",coinDecimals:0,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/dhk.png"},de={coinDenom:"raw",coinMinimalDenom:"cw20:juno15u3dt79t6sxxa3x3kpkhzsy56edaa5a66wvt3kxmukqjz2sx0hes5sn38g",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/raw.png",coinGeckoId:"junoswap-raw-dao"},Ce={coinDenom:"asvt",coinMinimalDenom:"cw20:juno17wzaxtfdw5em7lc94yed4ylgjme63eh73lm3lutp2rhcxttyvpwsypjm4w",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/asvt.png"},Se={coinDenom:"hns",coinMinimalDenom:"cw20:juno1ur4jx0sxchdevahep7fwq28yk4tqsrhshdtylz46yka3uf6kky5qllqp4k",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/hns.svg"},Ae={coinDenom:"joe",coinMinimalDenom:"cw20:juno1n7n7d5088qlzlj37e9mgmkhx6dfgtvt02hqxq66lcap4dxnzdhwqfmgng3",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/joe.png"},E=[W,pe,le,ge,fe,he,ye,de,Ce,Se,Ae],b={rpc:"https://rpc.juno.strange.love",rest:"https://api.juno.strange.love",chainId:"juno-1",chainName:"Juno",stakeCurrency:W,bip44:{coinType:118},bech32Config:R.Bech32Address.defaultBech32Config("juno"),currencies:E,feeCurrencies:E};var L=require("@keplr-wallet/cosmos"),P={coinDenom:"osmo",coinMinimalDenom:"uosmo",coinDecimals:6,coinGeckoId:"osmosis",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/cosmoshub/images/atom.png"},we={coinDenom:"ion",coinMinimalDenom:"uion",coinDecimals:6,coinGeckoId:"ion",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/ion.png"},F=[P,we],z={rpc:"https://rpc.osmosis.strange.love",rest:"https://api.osmosis.strange.love",chainId:"osmosis-1",chainName:"Osmosis",stakeCurrency:P,bip44:{coinType:118},bech32Config:L.Bech32Address.defaultBech32Config("osmo"),currencies:F,feeCurrencies:F};var H=require("@keplr-wallet/cosmos"),O={coinDenom:"osmo",coinMinimalDenom:"uosmo",coinDecimals:6,coinGeckoId:"osmosis",coinImageUrl:"https://dhj8dql1kzq2v.cloudfront.net/white/osmo.png"},q={rpc:"https://testnet-rpc.osmosis.zone",rest:"https://testnet-rest.osmosis.zone",chainId:"osmo-test-4",chainName:"Osmosis Testnet",stakeCurrency:O,bip44:{coinType:118},bech32Config:H.Bech32Address.defaultBech32Config("osmo"),currencies:[O],feeCurrencies:[O],coinType:118};function xe(e){return e}var ke={cosmos:D,juno:b,osmosis:z},ve=[D,b,z],Ie={osmosis:q},je=[q];var Q=require("react"),g=require("react-query"),J=w(require("zustand/shallow"));function l(){return r(e=>e._supported)}function V({onConnect:e,onDisconnect:o}={}){let t=r(n=>n.account),i=r(n=>n.status);return(0,Q.useEffect)(()=>r.subscribe(n=>n.status,(n,s)=>{if(n==="connected"){let a=r.getState();e==null||e({account:a.account,isReconnect:s==="reconnecting"})}n==="disconnected"&&(o==null||o())}),[e,o]),{data:t,isConnected:Boolean(t),isConnecting:i==="connecting",isDisconnected:i==="disconnected",isReconnecting:i==="reconnecting",reconnect:m,status:i}}function De(e){let{data:o}=V(),t=e||(o==null?void 0:o.bech32Address),n=(0,g.useQuery)(["WADESTA_USE_BALANCES",t],({queryKey:[,s]})=>I(s),{enabled:Boolean(t)});return{data:n.data,error:n.error,isFetching:n.isFetching,isLoading:n.isLoading,isRefetching:n.isRefetching,isSuccess:n.isSuccess,refetch:n.refetch,status:n.status}}function be({onError:e,onLoading:o,onSuccess:t}={}){let n=(0,g.useMutation)(["WADESTA_USE_CONNECT",e,o,t],u,{onError:(s,a)=>Promise.resolve(e==null?void 0:e(s,a)),onMutate:o,onSuccess:s=>Promise.resolve(t==null?void 0:t(s))});return{error:n.error,isLoading:n.isLoading,isSuccess:n.isSuccess,isSupported:l(),connect:n.mutate,connectAsync:n.mutateAsync,status:n.status}}function ze({onError:e,onLoading:o,onSuccess:t}={}){let n=(0,g.useMutation)(["WADESTA_USE_DISCONNECT",e,o,t],v,{onError:s=>Promise.resolve(e==null?void 0:e(s,void 0)),onMutate:o,onSuccess:()=>Promise.resolve(t==null?void 0:t(void 0))});return{error:n.error,isLoading:n.isLoading,isSuccess:n.isSuccess,disconnect:n.mutate,disconnectAsync:n.mutateAsync,status:n.status}}function Oe(){return r(e=>({signer:e.offlineSigner,signerAmino:e.offlineSignerAmino,signerAuto:e.offlineSignerAuto}),J.default)}var G=require("react-query");function qe(){return r(e=>e.activeChain)}function Ge({onError:e,onLoading:o,onSuccess:t}={}){let n=(0,G.useMutation)(["WADESTA_USE_SUGGEST_CHAIN",e,o,t],C,{onError:(s,a)=>Promise.resolve(e==null?void 0:e(s,a)),onMutate:o,onSuccess:s=>Promise.resolve(t==null?void 0:t(s))});return{error:n.error,isLoading:n.isLoading,isSuccess:n.isSuccess,suggest:n.mutate,suggestAsync:n.mutateAsync,status:n.status}}function Ke({onError:e,onLoading:o,onSuccess:t}={}){let n=(0,G.useMutation)(["WADESTA_USE_SUGGEST_CHAIN_AND_CONNECT",e,o,t],j,{onError:(s,a)=>Promise.resolve(e==null?void 0:e(s,a)),onMutate:o,onSuccess:s=>Promise.resolve(t==null?void 0:t(s))});return{error:n.error,isLoading:n.isLoading,isSuccess:n.isSuccess,isSupported:l(),status:n.status,suggestAndConnect:n.mutate,suggestAndConnectAsync:n.mutateAsync}}var K=require("react-query");function Me(e){let o=r(n=>n.client),i=(0,K.useQuery)(["USE_CLIENT",e,o],({queryKey:[,n,s]})=>n!=null&&n.rpc?y(n):s,{refetchOnMount:Boolean(e==null?void 0:e.keepRefetchBehavior),refetchOnWindowFocus:Boolean(e==null?void 0:e.keepRefetchBehavior)});return{data:i.data,error:i.error,isFetching:i.isFetching,isLoading:i.isLoading,isRefetching:i.isRefetching,isSuccess:i.isSuccess,refetch:i.refetch,status:i.status}}function Ue(e){let o=r(n=>n.signingClient),i=(0,K.useQuery)(["USE_SIGNING_CLIENT",e,o],({queryKey:[,n,s]})=>n!=null&&n.rpc?d(n):s,{refetchOnMount:Boolean(e==null?void 0:e.keepRefetchBehavior),refetchOnWindowFocus:Boolean(e==null?void 0:e.keepRefetchBehavior)});return{data:i.data,error:i.error,isFetching:i.isFetching,isLoading:i.isLoading,isRefetching:i.isRefetching,isSuccess:i.isSuccess,refetch:i.refetch,status:i.status}}var S=require("react-query");var $=require("react");function X(){return(0,$.useEffect)(()=>{r.setState({_supported:typeof window.keplr<"u"});let{_reconnect:e}=r.getState();return e&&m(),window.addEventListener("focus",m),window.addEventListener("keplr_keystorechange",m),()=>{window.removeEventListener("focus",m),window.removeEventListener("keplr_keystorechange",m)}},[]),null}var Ne=new S.QueryClient({defaultOptions:{queries:{notifyOnChangeProps:"tracked"}}});function Te({children:e}){return c.createElement(S.QueryClientProvider,{key:"graz-query-client",client:Ne},c.createElement(X,null),e)}0&&(module.exports={GrazProvider,connect,defineChains,disconnect,getBalances,getKeplr,mainnetChains,mainnetChainsArray,reconnect,registerKeplrNotFound,suggestChain,suggestChainAndConnect,testnetChains,testnetChainsArray,unregisterKeplrNotFound,useAccount,useActiveChain,useBalances,useCheckKeplr,useClient,useConnect,useDisconnect,useSigners,useSigningClient,useSuggestChain,useSuggestChainAndConnect});
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- import*as s from"react";import{Bech32Address as I}from"@keplr-wallet/cosmos";var h={coinDenom:"atom",coinMinimalDenom:"uatom",coinDecimals:6,coinGeckoId:"cosmos",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/cosmoshub/images/atom.png"},g=[h],f={rpc:"https://rpc.cosmoshub.strange.love",rest:"https://api.cosmoshub.strange.love",chainId:"cosmoshub-4",chainName:"Cosmos Hub",stakeCurrency:h,bip44:{coinType:118},bech32Config:I.defaultBech32Config("cosmos"),currencies:g,feeCurrencies:g};import{Bech32Address as G}from"@keplr-wallet/cosmos";var d={coinDenom:"juno",coinMinimalDenom:"ujuno",coinDecimals:6,coinGeckoId:"juno-network",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/juno.png"},q={coinDenom:"neta",coinMinimalDenom:"cw20:juno168ctmpyppk90d34p3jjy658zf5a5l3w8wk35wht6ccqj4mr0yv8s4j5awr",coinDecimals:6,coinGeckoId:"neta",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/neta.png"},M={coinDenom:"marble",coinMinimalDenom:"cw20:juno1g2g7ucurum66d42g8k5twk34yegdq8c82858gz0tq2fc75zy7khssgnhjl",coinDecimals:3,coinGeckoId:"marble",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/marble.png"},U={coinDenom:"hope",coinMinimalDenom:"cw20:juno1re3x67ppxap48ygndmrc7har2cnc7tcxtm9nplcas4v0gc3wnmvs3s807z",coinDecimals:6,coinGeckoId:"hope-galaxy",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/hope.png"},_={coinDenom:"rac",coinMinimalDenom:"cw20:juno1r4pzw8f9z0sypct5l9j906d47z998ulwvhvqe5xdwgy8wf84583sxwh0pa",coinDecimals:6,coinGeckoId:"racoon",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/rac.png"},O={coinDenom:"block",coinMinimalDenom:"cw20:juno1y9rf7ql6ffwkv02hsgd4yruz23pn4w97p75e2slsnkm0mnamhzysvqnxaq",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/block.png"},K={coinDenom:"dhk",coinMinimalDenom:"cw20:juno1tdjwrqmnztn2j3sj2ln9xnyps5hs48q3ddwjrz7jpv6mskappjys5czd49",coinDecimals:0,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/dhk.png"},E={coinDenom:"raw",coinMinimalDenom:"cw20:juno15u3dt79t6sxxa3x3kpkhzsy56edaa5a66wvt3kxmukqjz2sx0hes5sn38g",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/raw.png",coinGeckoId:"junoswap-raw-dao"},N={coinDenom:"asvt",coinMinimalDenom:"cw20:juno17wzaxtfdw5em7lc94yed4ylgjme63eh73lm3lutp2rhcxttyvpwsypjm4w",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/asvt.png"},T={coinDenom:"hns",coinMinimalDenom:"cw20:juno1ur4jx0sxchdevahep7fwq28yk4tqsrhshdtylz46yka3uf6kky5qllqp4k",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/hns.svg"},B={coinDenom:"joe",coinMinimalDenom:"cw20:juno1n7n7d5088qlzlj37e9mgmkhx6dfgtvt02hqxq66lcap4dxnzdhwqfmgng3",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/joe.png"},y=[d,q,M,U,_,O,K,E,N,T,B],C={rpc:"https://rpc.juno.strange.love",rest:"https://api.juno.strange.love",chainId:"juno-1",chainName:"Juno",stakeCurrency:d,bip44:{coinType:118},bech32Config:G.defaultBech32Config("juno"),currencies:y,feeCurrencies:y};import{Bech32Address as P}from"@keplr-wallet/cosmos";var A={coinDenom:"osmo",coinMinimalDenom:"uosmo",coinDecimals:6,coinGeckoId:"osmosis",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/cosmoshub/images/atom.png"},L={coinDenom:"ion",coinMinimalDenom:"uion",coinDecimals:6,coinGeckoId:"ion",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/ion.png"},w=[A,L],k={rpc:"https://rpc.osmosis.strange.love",rest:"https://api.osmosis.strange.love",chainId:"osmosis-1",chainName:"Osmosis",stakeCurrency:A,bip44:{coinType:118},bech32Config:P.defaultBech32Config("osmo"),currencies:w,feeCurrencies:w};function le(e){return e}var ge={cosmos:f,juno:C,osmosis:k};import{useEffect as Q}from"react";import{useMutation as j,useQuery as J}from"react-query";import V from"zustand/shallow";import{SigningCosmWasmClient as H}from"@cosmjs/cosmwasm-stargate";import W from"zustand";import{persist as R,subscribeWithSelector as F}from"zustand/middleware";var p={account:null,activeChain:null,balances:null,client:null,signer:null,signerAmino:null,signerAuto:null,status:"disconnected",_notFoundFn:()=>null,_reconnect:!1,_supported:!1},r=W(F(R(()=>({...p}),{name:"graz",partialize:e=>({activeChain:e.activeChain,_reconnect:e._reconnect}),version:1})));function u(){if(typeof window.keplr<"u")return window.keplr;throw r.getState()._notFoundFn(),new Error("Keplr is not defined")}async function l(e){try{let t=u();r.setState(z=>({status:z._reconnect?"reconnecting":"connecting"})),await t.enable(e.chainId);let o=t.getOfflineSigner(e.chainId),c=t.getOfflineSignerOnlyAmino(e.chainId),[n,i,a]=await Promise.all([await t.getKey(e.chainId),await t.getOfflineSignerAuto(e.chainId),await H.connectWithSigner(e.rpc,o)]);return r.setState({account:n,activeChain:e,client:a,signer:o,signerAuto:i,signerAmino:c,status:"connected",_reconnect:!0}),n}catch(t){throw r.getState().account===null&&r.setState({status:"disconnected"}),t}}async function S(){return r.setState({...p}),Promise.resolve()}async function v(e){let{activeChain:t,client:o}=r.getState();if(!t||!o)throw new Error("No connected account detected");return await Promise.all(t.currencies.map(async n=>o.getBalance(e,n.coinMinimalDenom)))}function m(){let{activeChain:e}=r.getState();e&&l(e)}function x(){return r(e=>e._supported)}function X({onConnect:e,onDisconnect:t}={}){let o=r(n=>n.account),c=r(n=>n.status);return Q(()=>r.subscribe(n=>n.status,(n,i)=>{if(n==="connected"){let a=r.getState();e==null||e({account:a.account,isReconnect:i==="reconnecting"})}n==="disconnected"&&(t==null||t())}),[e,t]),{data:o,isConnected:c==="connected",isConnecting:c==="connecting",isDisconnected:c==="disconnected",isReconnecting:c==="reconnecting",reconnect:m,status:c}}function Me(e){var i;let t=X(),o=e||((i=t.data)==null?void 0:i.bech32Address),n=J(["WADESTA_USE_BALANCES",o],({queryKey:[,a]})=>v(a),{enabled:Boolean(o)});return{data:n.data,error:n.error,isLoading:n.isLoading,isFetching:n.isFetching,isRefetching:n.isRefetching,isSuccess:n.isSuccess,refetch:n.refetch,status:n.status}}function Ue(){return r(e=>e.client)}function _e({onError:e,onLoading:t,onSuccess:o}={}){let n=j(["WADESTA_USE_CONNECT",e,t,o],l,{onError:(i,a)=>Promise.resolve(e==null?void 0:e(i,a)),onMutate:t,onSuccess:i=>Promise.resolve(o==null?void 0:o(i))});return{error:n.error,isLoading:n.isLoading,isSuccess:n.isSuccess,isSupported:x(),connect:n.mutate,connectAsync:n.mutateAsync,status:n.status}}function Oe({onError:e,onLoading:t,onSuccess:o}={}){let n=j(["WADESTA_USE_DISCONNECT",e,t,o],S,{onError:i=>Promise.resolve(e==null?void 0:e(i,void 0)),onMutate:t,onSuccess:()=>Promise.resolve(o==null?void 0:o(void 0))});return{error:n.error,isLoading:n.isLoading,isSuccess:n.isSuccess,disconnect:n.mutate,disconnectAsync:n.mutateAsync,status:n.status}}function Ke(){return r(e=>({signer:e.signer,signerAmino:e.signerAmino,signerAuto:e.signerAuto}),V)}import{useMutation as Y}from"react-query";async function b(e){return await u().experimentalSuggestChain(e),e}function We(){return r(e=>e.activeChain)}function Re({onError:e,onLoading:t,onSuccess:o}={}){let n=Y(["WADESTA_USE_SUGGEST_CHAIN",e,t,o],b,{onError:(i,a)=>Promise.resolve(e==null?void 0:e(i,a)),onMutate:t,onSuccess:i=>Promise.resolve(o==null?void 0:o(i))});return{error:n.error,isLoading:n.isLoading,isSuccess:n.isSuccess,suggest:n.mutate,suggestAsync:n.mutateAsync,status:n.status}}import{QueryClient as $,QueryClientProvider as ee}from"react-query";import{useEffect as Z}from"react";function D(){return Z(()=>{r.setState({_supported:typeof window.keplr<"u"});let{_reconnect:e}=r.getState();return e&&m(),window.addEventListener("focus",m),window.addEventListener("keplr_keystorechange",m),()=>{window.removeEventListener("focus",m),window.removeEventListener("keplr_keystorechange",m)}},[]),null}var ne=new $({defaultOptions:{queries:{notifyOnChangeProps:"tracked"}}});function Ze({children:e}){return s.createElement(ee,{key:"graz-query-client",client:ne},s.createElement(D,null),e)}export{Ze as GrazProvider,ge as defaultChains,le as defineChains,u as getKeplr,X as useAccount,We as useActiveChain,Me as useBalances,x as useCheckKeplr,_e as useConnect,Ue as useCosmWasmClient,Oe as useDisconnect,Ke as useSigners,Re as useSuggestChain};
1
+ import*as c from"react";import{GasPrice as L}from"@cosmjs/stargate";import R from"zustand";import{persist as W,subscribeWithSelector as F}from"zustand/middleware";var y={account:null,activeChain:null,balances:null,client:null,offlineSigner:null,offlineSignerAmino:null,offlineSignerAuto:null,signingClient:null,status:"disconnected",_notFoundFn:()=>null,_reconnect:!1,_supported:!1},r=R(F(W(()=>({...y}),{name:"graz",partialize:e=>({activeChain:e.activeChain,_reconnect:e._reconnect}),version:1})));function p(){if(typeof window.keplr<"u")return window.keplr;throw r.getState()._notFoundFn(),new Error("Keplr is not defined")}function Ae(e){r.setState({_notFoundFn:e})}function we(){r.setState({_notFoundFn:()=>null})}import{SigningCosmWasmClient as k}from"@cosmjs/cosmwasm-stargate";async function l({rpc:e,rpcHeaders:o}){let t={url:e,headers:{...o||{}}};return await k.connect(t)}async function g(e){let{rpc:o,rpcHeaders:t,offlineSigner:i,signerOptions:n={}}=e,s={url:o,headers:{...t||{}}};return await k.connectWithSigner(s,i,n)}async function u(e,o={}){try{let t=p();r.setState(h=>{let E=h._reconnect;return h.activeChain&&h.activeChain.chainId!==e.chainId?{status:"connecting"}:E?{status:"reconnecting"}:{status:"connecting"}}),await t.enable(e.chainId);let i=t.getOfflineSigner(e.chainId),n=t.getOfflineSignerOnlyAmino(e.chainId),s=e.gas?L.fromString(`${e.gas.price}${e.gas.denom}`):void 0,[a,T,_,B]=await Promise.all([t.getKey(e.chainId),l(e),t.getOfflineSignerAuto(e.chainId),g({...e,offlineSigner:i,signerOptions:{gasPrice:s,...o}})]);return r.setState({account:a,activeChain:e,client:T,offlineSigner:i,offlineSignerAmino:n,offlineSignerAuto:_,signingClient:B,status:"connected",_reconnect:!0}),a}catch(t){throw r.getState().account===null&&r.setState({status:"disconnected"}),t}}async function v(){return r.setState(e=>({...y,_supported:e._supported})),Promise.resolve()}async function I(e){let{activeChain:o,signingClient:t}=r.getState();if(!o||!t)throw new Error("No connected account detected");return await Promise.all(o.currencies.map(async n=>t.getBalance(e,n.coinMinimalDenom)))}function m(){let{activeChain:e}=r.getState();e&&u(e)}async function d(e){return await p().experimentalSuggestChain(e),e}async function j(e){let o=await d(e);return{account:await u(e),chain:o}}import{Bech32Address as P}from"@keplr-wallet/cosmos";var b={coinDenom:"atom",coinMinimalDenom:"uatom",coinDecimals:6,coinGeckoId:"cosmos",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/cosmoshub/images/atom.png"},D=[b],C={rpc:"https://rpc.cosmoshub.strange.love",rest:"https://api.cosmoshub.strange.love",chainId:"cosmoshub-4",chainName:"Cosmos Hub",stakeCurrency:b,bip44:{coinType:118},bech32Config:P.defaultBech32Config("cosmos"),currencies:D,feeCurrencies:D};import{Bech32Address as H}from"@keplr-wallet/cosmos";var O={coinDenom:"juno",coinMinimalDenom:"ujuno",coinDecimals:6,coinGeckoId:"juno-network",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/juno.png"},Q={coinDenom:"neta",coinMinimalDenom:"cw20:juno168ctmpyppk90d34p3jjy658zf5a5l3w8wk35wht6ccqj4mr0yv8s4j5awr",coinDecimals:6,coinGeckoId:"neta",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/neta.png"},J={coinDenom:"marble",coinMinimalDenom:"cw20:juno1g2g7ucurum66d42g8k5twk34yegdq8c82858gz0tq2fc75zy7khssgnhjl",coinDecimals:3,coinGeckoId:"marble",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/marble.png"},V={coinDenom:"hope",coinMinimalDenom:"cw20:juno1re3x67ppxap48ygndmrc7har2cnc7tcxtm9nplcas4v0gc3wnmvs3s807z",coinDecimals:6,coinGeckoId:"hope-galaxy",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/hope.png"},$={coinDenom:"rac",coinMinimalDenom:"cw20:juno1r4pzw8f9z0sypct5l9j906d47z998ulwvhvqe5xdwgy8wf84583sxwh0pa",coinDecimals:6,coinGeckoId:"racoon",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/rac.png"},X={coinDenom:"block",coinMinimalDenom:"cw20:juno1y9rf7ql6ffwkv02hsgd4yruz23pn4w97p75e2slsnkm0mnamhzysvqnxaq",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/block.png"},Y={coinDenom:"dhk",coinMinimalDenom:"cw20:juno1tdjwrqmnztn2j3sj2ln9xnyps5hs48q3ddwjrz7jpv6mskappjys5czd49",coinDecimals:0,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/dhk.png"},Z={coinDenom:"raw",coinMinimalDenom:"cw20:juno15u3dt79t6sxxa3x3kpkhzsy56edaa5a66wvt3kxmukqjz2sx0hes5sn38g",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/raw.png",coinGeckoId:"junoswap-raw-dao"},ee={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"},te={coinDenom:"joe",coinMinimalDenom:"cw20:juno1n7n7d5088qlzlj37e9mgmkhx6dfgtvt02hqxq66lcap4dxnzdhwqfmgng3",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/joe.png"},z=[O,Q,J,V,$,X,Y,Z,ee,ne,te],S={rpc:"https://rpc.juno.strange.love",rest:"https://api.juno.strange.love",chainId:"juno-1",chainName:"Juno",stakeCurrency:O,bip44:{coinType:118},bech32Config:H.defaultBech32Config("juno"),currencies:z,feeCurrencies:z};import{Bech32Address as oe}from"@keplr-wallet/cosmos";var G={coinDenom:"osmo",coinMinimalDenom:"uosmo",coinDecimals:6,coinGeckoId:"osmosis",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/cosmoshub/images/atom.png"},ie={coinDenom:"ion",coinMinimalDenom:"uion",coinDecimals:6,coinGeckoId:"ion",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/ion.png"},q=[G,ie],A={rpc:"https://rpc.osmosis.strange.love",rest:"https://api.osmosis.strange.love",chainId:"osmosis-1",chainName:"Osmosis",stakeCurrency:G,bip44:{coinType:118},bech32Config:oe.defaultBech32Config("osmo"),currencies:q,feeCurrencies:q};import{Bech32Address as re}from"@keplr-wallet/cosmos";var w={coinDenom:"osmo",coinMinimalDenom:"uosmo",coinDecimals:6,coinGeckoId:"osmosis",coinImageUrl:"https://dhj8dql1kzq2v.cloudfront.net/white/osmo.png"},x={rpc:"https://testnet-rpc.osmosis.zone",rest:"https://testnet-rest.osmosis.zone",chainId:"osmo-test-4",chainName:"Osmosis Testnet",stakeCurrency:w,bip44:{coinType:118},bech32Config:re.defaultBech32Config("osmo"),currencies:[w],feeCurrencies:[w],coinType:118};function Pe(e){return e}var He={cosmos:C,juno:S,osmosis:A},Qe=[C,S,A],Je={osmosis:x},Ve=[x];import{useEffect as se}from"react";import{useMutation as K,useQuery as ce}from"react-query";import ae from"zustand/shallow";function f(){return r(e=>e._supported)}function me({onConnect:e,onDisconnect:o}={}){let t=r(n=>n.account),i=r(n=>n.status);return se(()=>r.subscribe(n=>n.status,(n,s)=>{if(n==="connected"){let a=r.getState();e==null||e({account:a.account,isReconnect:s==="reconnecting"})}n==="disconnected"&&(o==null||o())}),[e,o]),{data:t,isConnected:Boolean(t),isConnecting:i==="connecting",isDisconnected:i==="disconnected",isReconnecting:i==="reconnecting",reconnect:m,status:i}}function sn(e){let{data:o}=me(),t=e||(o==null?void 0:o.bech32Address),n=ce(["WADESTA_USE_BALANCES",t],({queryKey:[,s]})=>I(s),{enabled:Boolean(t)});return{data:n.data,error:n.error,isFetching:n.isFetching,isLoading:n.isLoading,isRefetching:n.isRefetching,isSuccess:n.isSuccess,refetch:n.refetch,status:n.status}}function cn({onError:e,onLoading:o,onSuccess:t}={}){let n=K(["WADESTA_USE_CONNECT",e,o,t],u,{onError:(s,a)=>Promise.resolve(e==null?void 0:e(s,a)),onMutate:o,onSuccess:s=>Promise.resolve(t==null?void 0:t(s))});return{error:n.error,isLoading:n.isLoading,isSuccess:n.isSuccess,isSupported:f(),connect:n.mutate,connectAsync:n.mutateAsync,status:n.status}}function an({onError:e,onLoading:o,onSuccess:t}={}){let n=K(["WADESTA_USE_DISCONNECT",e,o,t],v,{onError:s=>Promise.resolve(e==null?void 0:e(s,void 0)),onMutate:o,onSuccess:()=>Promise.resolve(t==null?void 0:t(void 0))});return{error:n.error,isLoading:n.isLoading,isSuccess:n.isSuccess,disconnect:n.mutate,disconnectAsync:n.mutateAsync,status:n.status}}function mn(){return r(e=>({signer:e.offlineSigner,signerAmino:e.offlineSignerAmino,signerAuto:e.offlineSignerAuto}),ae)}import{useMutation as M}from"react-query";function hn(){return r(e=>e.activeChain)}function yn({onError:e,onLoading:o,onSuccess:t}={}){let n=M(["WADESTA_USE_SUGGEST_CHAIN",e,o,t],d,{onError:(s,a)=>Promise.resolve(e==null?void 0:e(s,a)),onMutate:o,onSuccess:s=>Promise.resolve(t==null?void 0:t(s))});return{error:n.error,isLoading:n.isLoading,isSuccess:n.isSuccess,suggest:n.mutate,suggestAsync:n.mutateAsync,status:n.status}}function dn({onError:e,onLoading:o,onSuccess:t}={}){let n=M(["WADESTA_USE_SUGGEST_CHAIN_AND_CONNECT",e,o,t],j,{onError:(s,a)=>Promise.resolve(e==null?void 0:e(s,a)),onMutate:o,onSuccess:s=>Promise.resolve(t==null?void 0:t(s))});return{error:n.error,isLoading:n.isLoading,isSuccess:n.isSuccess,isSupported:f(),status:n.status,suggestAndConnect:n.mutate,suggestAndConnectAsync:n.mutateAsync}}import{useQuery as U}from"react-query";function xn(e){let o=r(n=>n.client),i=U(["USE_CLIENT",e,o],({queryKey:[,n,s]})=>n!=null&&n.rpc?l(n):s,{refetchOnMount:Boolean(e==null?void 0:e.keepRefetchBehavior),refetchOnWindowFocus:Boolean(e==null?void 0:e.keepRefetchBehavior)});return{data:i.data,error:i.error,isFetching:i.isFetching,isLoading:i.isLoading,isRefetching:i.isRefetching,isSuccess:i.isSuccess,refetch:i.refetch,status:i.status}}function kn(e){let o=r(n=>n.signingClient),i=U(["USE_SIGNING_CLIENT",e,o],({queryKey:[,n,s]})=>n!=null&&n.rpc?g(n):s,{refetchOnMount:Boolean(e==null?void 0:e.keepRefetchBehavior),refetchOnWindowFocus:Boolean(e==null?void 0:e.keepRefetchBehavior)});return{data:i.data,error:i.error,isFetching:i.isFetching,isLoading:i.isLoading,isRefetching:i.isRefetching,isSuccess:i.isSuccess,refetch:i.refetch,status:i.status}}import{QueryClient as pe,QueryClientProvider as le}from"react-query";import{useEffect as ue}from"react";function N(){return ue(()=>{r.setState({_supported:typeof window.keplr<"u"});let{_reconnect:e}=r.getState();return e&&m(),window.addEventListener("focus",m),window.addEventListener("keplr_keystorechange",m),()=>{window.removeEventListener("focus",m),window.removeEventListener("keplr_keystorechange",m)}},[]),null}var ge=new pe({defaultOptions:{queries:{notifyOnChangeProps:"tracked"}}});function qn({children:e}){return c.createElement(le,{key:"graz-query-client",client:ge},c.createElement(N,null),e)}export{qn as GrazProvider,u as connect,Pe as defineChains,v as disconnect,I as getBalances,p as getKeplr,He as mainnetChains,Qe as mainnetChainsArray,m as reconnect,Ae as registerKeplrNotFound,d as suggestChain,j as suggestChainAndConnect,Je as testnetChains,Ve as testnetChainsArray,we as unregisterKeplrNotFound,me as useAccount,hn as useActiveChain,sn as useBalances,f as useCheckKeplr,xn as useClient,cn as useConnect,an as useDisconnect,mn as useSigners,kn as useSigningClient,yn as useSuggestChain,dn 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.3",
4
+ "version": "0.0.6",
5
5
  "author": "Griko Nibras <griko@stranvgelove.ventures>",
6
6
  "repository": "https://github.com/strangelove-ventures/graz.git",
7
7
  "homepage": "https://github.com/strangelove-ventures/graz",
@@ -23,6 +23,7 @@
23
23
  "dependencies": {
24
24
  "@cosmjs/cosmwasm-stargate": "^0.28.10",
25
25
  "@cosmjs/proto-signing": "^0.28.10",
26
+ "@cosmjs/stargate": "^0.28.10",
26
27
  "@keplr-wallet/cosmos": "^0.10.10",
27
28
  "@keplr-wallet/types": "^0.10.10",
28
29
  "react-query": "^3",