graz 0.0.5 → 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
@@ -23,12 +23,16 @@ interface GrazChain {
23
23
  };
24
24
  }
25
25
  declare function defineChains<T extends Record<string, GrazChain>>(chains: T): T;
26
- declare const defaultChains: {
26
+ declare const mainnetChains: {
27
27
  cosmos: _keplr_wallet_types.ChainInfo;
28
28
  juno: _keplr_wallet_types.ChainInfo;
29
29
  osmosis: _keplr_wallet_types.ChainInfo;
30
30
  };
31
- declare const defaultChainsArray: _keplr_wallet_types.ChainInfo[];
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[];
32
36
 
33
37
  declare function connect(chain: GrazChain, signerOpts?: SigningCosmWasmClientOptions): Promise<_keplr_wallet_types.Key>;
34
38
  declare function disconnect(): Promise<void>;
@@ -36,6 +40,10 @@ declare function getBalances(bech32Address: string): Promise<_cosmjs_stargate.Co
36
40
  declare function reconnect(): void;
37
41
 
38
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
+ }>;
39
47
 
40
48
  interface MutationEventArgs<TInitial = unknown, TSuccess = TInitial> {
41
49
  onError?: (error: unknown, data: TInitial) => unknown;
@@ -103,6 +111,25 @@ declare function useSuggestChain({ onError, onLoading, onSuccess }?: UseSuggestC
103
111
  suggestAsync: react_query.UseMutateAsyncFunction<ChainInfo, unknown, ChainInfo, unknown>;
104
112
  status: "idle" | "error" | "loading" | "success";
105
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
+ };
106
133
 
107
134
  declare type CreateClientArgs = Pick<GrazChain, "rpc" | "rpcHeaders">;
108
135
  declare type CreateSigningClientArgs = CreateClientArgs & {
@@ -144,4 +171,4 @@ declare function GrazProvider({ children }: {
144
171
  children: ReactNode;
145
172
  }): JSX.Element;
146
173
 
147
- export { GrazChain, GrazProvider, UseAccountArgs, UseConnectChainArgs, UseSuggestChainArgs, connect, defaultChains, defaultChainsArray, defineChains, disconnect, getBalances, getKeplr, reconnect, registerKeplrNotFound, suggestChain, unregisterKeplrNotFound, useAccount, useActiveChain, useBalances, useCheckKeplr, useClient, useConnect, useDisconnect, useSigners, useSigningClient, 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 Y=Object.create;var l=Object.defineProperty;var Z=Object.getOwnPropertyDescriptor;var ee=Object.getOwnPropertyNames;var ne=Object.getPrototypeOf,te=Object.prototype.hasOwnProperty;var oe=(e,o)=>{for(var t in o)l(e,t,{get:o[t],enumerable:!0})},O=(e,o,t,i)=>{if(o&&typeof o=="object"||typeof o=="function")for(let n of ee(o))!te.call(e,n)&&n!==t&&l(e,n,{get:()=>o[n],enumerable:!(i=Z(o,n))||i.enumerable});return e};var S=(e,o,t)=>(t=e!=null?Y(ne(e)):{},O(o||!e||!e.__esModule?l(t,"default",{value:e,enumerable:!0}):t,e)),ie=e=>O(l({},"__esModule",{value:!0}),e);var qe={};oe(qe,{GrazProvider:()=>Oe,connect:()=>y,defaultChains:()=>Se,defaultChainsArray:()=>we,defineChains:()=>Ce,disconnect:()=>k,getBalances:()=>v,getKeplr:()=>u,reconnect:()=>m,registerKeplrNotFound:()=>re,suggestChain:()=>x,unregisterKeplrNotFound:()=>se,useAccount:()=>L,useActiveChain:()=>je,useBalances:()=>Ae,useCheckKeplr:()=>I,useClient:()=>De,useConnect:()=>ke,useDisconnect:()=>ve,useSigners:()=>xe,useSigningClient:()=>Ie,useSuggestChain:()=>be});module.exports=ie(qe);var c=S(require("react"));var G=require("@cosmjs/stargate");var q=S(require("zustand")),g=require("zustand/middleware"),w={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,q.default)((0,g.subscribeWithSelector)((0,g.persist)(()=>({...w}),{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")}function re(e){r.setState({_notFoundFn:e})}function se(){r.setState({_notFoundFn:()=>null})}var A=require("@cosmjs/cosmwasm-stargate");async function f({rpc:e,rpcHeaders:o}){let t={url:e,headers:{...o||{}}};return await A.SigningCosmWasmClient.connect(t)}async function h(e){let{rpc:o,rpcHeaders:t,offlineSigner:i,signerOptions:n={}}=e,s={url:o,headers:{...t||{}}};return await A.SigningCosmWasmClient.connectWithSigner(s,i,n)}async function y(e,o={}){try{let t=u();r.setState(C=>{let X=C._reconnect;return C.activeChain&&C.activeChain.chainId!==e.chainId?{status:"connecting"}:X?{status:"reconnecting"}:{status:"connecting"}}),await t.enable(e.chainId);let i=t.getOfflineSigner(e.chainId),n=t.getOfflineSignerOnlyAmino(e.chainId),s=e.gas?G.GasPrice.fromString(`${e.gas.price}${e.gas.denom}`):void 0,[a,J,V,$]=await Promise.all([t.getKey(e.chainId),f(e),t.getOfflineSignerAuto(e.chainId),h({...e,offlineSigner:i,signerOptions:{gasPrice:s,...o}})]);return r.setState({account:a,activeChain:e,client:J,offlineSigner:i,offlineSignerAmino:n,offlineSignerAuto:V,signingClient:$,status:"connected",_reconnect:!0}),a}catch(t){throw r.getState().account===null&&r.setState({status:"disconnected"}),t}}async function k(){return r.setState(e=>({...w,_supported:e._supported})),Promise.resolve()}async function v(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&&y(e)}async function x(e){return await u().experimentalSuggestChain(e),e}var M=require("@keplr-wallet/cosmos"),U={coinDenom:"atom",coinMinimalDenom:"uatom",coinDecimals:6,coinGeckoId:"cosmos",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/cosmoshub/images/atom.png"},K=[U],j={rpc:"https://rpc.cosmoshub.strange.love",rest:"https://api.cosmoshub.strange.love",chainId:"cosmoshub-4",chainName:"Cosmos Hub",stakeCurrency:U,bip44:{coinType:118},bech32Config:M.Bech32Address.defaultBech32Config("cosmos"),currencies:K,feeCurrencies:K};var E=require("@keplr-wallet/cosmos"),R={coinDenom:"juno",coinMinimalDenom:"ujuno",coinDecimals:6,coinGeckoId:"juno-network",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/juno.png"},ce={coinDenom:"neta",coinMinimalDenom:"cw20:juno168ctmpyppk90d34p3jjy658zf5a5l3w8wk35wht6ccqj4mr0yv8s4j5awr",coinDecimals:6,coinGeckoId:"neta",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/neta.png"},ae={coinDenom:"marble",coinMinimalDenom:"cw20:juno1g2g7ucurum66d42g8k5twk34yegdq8c82858gz0tq2fc75zy7khssgnhjl",coinDecimals:3,coinGeckoId:"marble",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/marble.png"},me={coinDenom:"hope",coinMinimalDenom:"cw20:juno1re3x67ppxap48ygndmrc7har2cnc7tcxtm9nplcas4v0gc3wnmvs3s807z",coinDecimals:6,coinGeckoId:"hope-galaxy",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/hope.png"},ue={coinDenom:"rac",coinMinimalDenom:"cw20:juno1r4pzw8f9z0sypct5l9j906d47z998ulwvhvqe5xdwgy8wf84583sxwh0pa",coinDecimals:6,coinGeckoId:"racoon",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/rac.png"},pe={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"},ge={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"},he={coinDenom:"hns",coinMinimalDenom:"cw20:juno1ur4jx0sxchdevahep7fwq28yk4tqsrhshdtylz46yka3uf6kky5qllqp4k",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/hns.svg"},ye={coinDenom:"joe",coinMinimalDenom:"cw20:juno1n7n7d5088qlzlj37e9mgmkhx6dfgtvt02hqxq66lcap4dxnzdhwqfmgng3",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/joe.png"},B=[R,ce,ae,me,ue,pe,le,ge,fe,he,ye],b={rpc:"https://rpc.juno.strange.love",rest:"https://api.juno.strange.love",chainId:"juno-1",chainName:"Juno",stakeCurrency:R,bip44:{coinType:118},bech32Config:E.Bech32Address.defaultBech32Config("juno"),currencies:B,feeCurrencies:B};var W=require("@keplr-wallet/cosmos"),_={coinDenom:"osmo",coinMinimalDenom:"uosmo",coinDecimals:6,coinGeckoId:"osmosis",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/cosmoshub/images/atom.png"},de={coinDenom:"ion",coinMinimalDenom:"uion",coinDecimals:6,coinGeckoId:"ion",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/ion.png"},N=[_,de],D={rpc:"https://rpc.osmosis.strange.love",rest:"https://api.osmosis.strange.love",chainId:"osmosis-1",chainName:"Osmosis",stakeCurrency:_,bip44:{coinType:118},bech32Config:W.Bech32Address.defaultBech32Config("osmo"),currencies:N,feeCurrencies:N};function Ce(e){return e}var Se={cosmos:j,juno:b,osmosis:D},we=[j,b,D];var F=require("react"),p=require("react-query"),T=S(require("zustand/shallow"));function I(){return r(e=>e._supported)}function L({onConnect:e,onDisconnect:o}={}){let t=r(n=>n.account),i=r(n=>n.status);return(0,F.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 Ae(e){let{data:o}=L(),t=e||(o==null?void 0:o.bech32Address),n=(0,p.useQuery)(["WADESTA_USE_BALANCES",t],({queryKey:[,s]})=>v(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 ke({onError:e,onLoading:o,onSuccess:t}={}){let n=(0,p.useMutation)(["WADESTA_USE_CONNECT",e,o,t],y,{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:I(),connect:n.mutate,connectAsync:n.mutateAsync,status:n.status}}function ve({onError:e,onLoading:o,onSuccess:t}={}){let n=(0,p.useMutation)(["WADESTA_USE_DISCONNECT",e,o,t],k,{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 xe(){return r(e=>({signer:e.offlineSigner,signerAmino:e.offlineSignerAmino,signerAuto:e.offlineSignerAuto}),T.default)}var P=require("react-query");function je(){return r(e=>e.activeChain)}function be({onError:e,onLoading:o,onSuccess:t}={}){let n=(0,P.useMutation)(["WADESTA_USE_SUGGEST_CHAIN",e,o,t],x,{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}}var z=require("react-query");function De(e){let o=r(n=>n.client),i=(0,z.useQuery)(["USE_CLIENT",e,o],({queryKey:[,n,s]})=>n!=null&&n.rpc?f(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 Ie(e){let o=r(n=>n.signingClient),i=(0,z.useQuery)(["USE_SIGNING_CLIENT",e,o],({queryKey:[,n,s]})=>n!=null&&n.rpc?h(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 d=require("react-query");var H=require("react");function Q(){return(0,H.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 ze=new d.QueryClient({defaultOptions:{queries:{notifyOnChangeProps:"tracked"}}});function Oe({children:e}){return c.createElement(d.QueryClientProvider,{key:"graz-query-client",client:ze},c.createElement(Q,null),e)}0&&(module.exports={GrazProvider,connect,defaultChains,defaultChainsArray,defineChains,disconnect,getBalances,getKeplr,reconnect,registerKeplrNotFound,suggestChain,unregisterKeplrNotFound,useAccount,useActiveChain,useBalances,useCheckKeplr,useClient,useConnect,useDisconnect,useSigners,useSigningClient,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 c from"react";import{GasPrice as W}from"@cosmjs/stargate";import E from"zustand";import{persist as R,subscribeWithSelector as N}from"zustand/middleware";var f={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=E(N(R(()=>({...f}),{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")}function ye(e){r.setState({_notFoundFn:e})}function de(){r.setState({_notFoundFn:()=>null})}import{SigningCosmWasmClient as S}from"@cosmjs/cosmwasm-stargate";async function p({rpc:e,rpcHeaders:i}){let t={url:e,headers:{...i||{}}};return await S.connect(t)}async function l(e){let{rpc:i,rpcHeaders:t,offlineSigner:o,signerOptions:n={}}=e,s={url:i,headers:{...t||{}}};return await S.connectWithSigner(s,o,n)}async function h(e,i={}){try{let t=u();r.setState(g=>{let B=g._reconnect;return g.activeChain&&g.activeChain.chainId!==e.chainId?{status:"connecting"}:B?{status:"reconnecting"}:{status:"connecting"}}),await t.enable(e.chainId);let o=t.getOfflineSigner(e.chainId),n=t.getOfflineSignerOnlyAmino(e.chainId),s=e.gas?W.fromString(`${e.gas.price}${e.gas.denom}`):void 0,[a,K,M,U]=await Promise.all([t.getKey(e.chainId),p(e),t.getOfflineSignerAuto(e.chainId),l({...e,offlineSigner:o,signerOptions:{gasPrice:s,...i}})]);return r.setState({account:a,activeChain:e,client:K,offlineSigner:o,offlineSignerAmino:n,offlineSignerAuto:M,signingClient:U,status:"connected",_reconnect:!0}),a}catch(t){throw r.getState().account===null&&r.setState({status:"disconnected"}),t}}async function w(){return r.setState(e=>({...f,_supported:e._supported})),Promise.resolve()}async function A(e){let{activeChain:i,signingClient:t}=r.getState();if(!i||!t)throw new Error("No connected account detected");return await Promise.all(i.currencies.map(async n=>t.getBalance(e,n.coinMinimalDenom)))}function m(){let{activeChain:e}=r.getState();e&&h(e)}async function k(e){return await u().experimentalSuggestChain(e),e}import{Bech32Address as _}from"@keplr-wallet/cosmos";var x={coinDenom:"atom",coinMinimalDenom:"uatom",coinDecimals:6,coinGeckoId:"cosmos",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/cosmoshub/images/atom.png"},v=[x],y={rpc:"https://rpc.cosmoshub.strange.love",rest:"https://api.cosmoshub.strange.love",chainId:"cosmoshub-4",chainName:"Cosmos Hub",stakeCurrency:x,bip44:{coinType:118},bech32Config:_.defaultBech32Config("cosmos"),currencies:v,feeCurrencies:v};import{Bech32Address as F}from"@keplr-wallet/cosmos";var b={coinDenom:"juno",coinMinimalDenom:"ujuno",coinDecimals:6,coinGeckoId:"juno-network",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/juno.png"},T={coinDenom:"neta",coinMinimalDenom:"cw20:juno168ctmpyppk90d34p3jjy658zf5a5l3w8wk35wht6ccqj4mr0yv8s4j5awr",coinDecimals:6,coinGeckoId:"neta",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/neta.png"},L={coinDenom:"marble",coinMinimalDenom:"cw20:juno1g2g7ucurum66d42g8k5twk34yegdq8c82858gz0tq2fc75zy7khssgnhjl",coinDecimals:3,coinGeckoId:"marble",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/marble.png"},P={coinDenom:"hope",coinMinimalDenom:"cw20:juno1re3x67ppxap48ygndmrc7har2cnc7tcxtm9nplcas4v0gc3wnmvs3s807z",coinDecimals:6,coinGeckoId:"hope-galaxy",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/hope.png"},H={coinDenom:"rac",coinMinimalDenom:"cw20:juno1r4pzw8f9z0sypct5l9j906d47z998ulwvhvqe5xdwgy8wf84583sxwh0pa",coinDecimals:6,coinGeckoId:"racoon",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/rac.png"},Q={coinDenom:"block",coinMinimalDenom:"cw20:juno1y9rf7ql6ffwkv02hsgd4yruz23pn4w97p75e2slsnkm0mnamhzysvqnxaq",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/block.png"},J={coinDenom:"dhk",coinMinimalDenom:"cw20:juno1tdjwrqmnztn2j3sj2ln9xnyps5hs48q3ddwjrz7jpv6mskappjys5czd49",coinDecimals:0,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/dhk.png"},V={coinDenom:"raw",coinMinimalDenom:"cw20:juno15u3dt79t6sxxa3x3kpkhzsy56edaa5a66wvt3kxmukqjz2sx0hes5sn38g",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/raw.png",coinGeckoId:"junoswap-raw-dao"},$={coinDenom:"asvt",coinMinimalDenom:"cw20:juno17wzaxtfdw5em7lc94yed4ylgjme63eh73lm3lutp2rhcxttyvpwsypjm4w",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/asvt.png"},X={coinDenom:"hns",coinMinimalDenom:"cw20:juno1ur4jx0sxchdevahep7fwq28yk4tqsrhshdtylz46yka3uf6kky5qllqp4k",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/hns.svg"},Y={coinDenom:"joe",coinMinimalDenom:"cw20:juno1n7n7d5088qlzlj37e9mgmkhx6dfgtvt02hqxq66lcap4dxnzdhwqfmgng3",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/joe.png"},j=[b,T,L,P,H,Q,J,V,$,X,Y],d={rpc:"https://rpc.juno.strange.love",rest:"https://api.juno.strange.love",chainId:"juno-1",chainName:"Juno",stakeCurrency:b,bip44:{coinType:118},bech32Config:F.defaultBech32Config("juno"),currencies:j,feeCurrencies:j};import{Bech32Address as Z}from"@keplr-wallet/cosmos";var I={coinDenom:"osmo",coinMinimalDenom:"uosmo",coinDecimals:6,coinGeckoId:"osmosis",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/cosmoshub/images/atom.png"},ee={coinDenom:"ion",coinMinimalDenom:"uion",coinDecimals:6,coinGeckoId:"ion",coinImageUrl:"https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/ion.png"},D=[I,ee],C={rpc:"https://rpc.osmosis.strange.love",rest:"https://api.osmosis.strange.love",chainId:"osmosis-1",chainName:"Osmosis",stakeCurrency:I,bip44:{coinType:118},bech32Config:Z.defaultBech32Config("osmo"),currencies:D,feeCurrencies:D};function Ee(e){return e}var Re={cosmos:y,juno:d,osmosis:C},Ne=[y,d,C];import{useEffect as ne}from"react";import{useMutation as O,useQuery as te}from"react-query";import oe from"zustand/shallow";function z(){return r(e=>e._supported)}function ie({onConnect:e,onDisconnect:i}={}){let t=r(n=>n.account),o=r(n=>n.status);return ne(()=>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"&&(i==null||i())}),[e,i]),{data:t,isConnected:Boolean(t),isConnecting:o==="connecting",isDisconnected:o==="disconnected",isReconnecting:o==="reconnecting",reconnect:m,status:o}}function Ve(e){let{data:i}=ie(),t=e||(i==null?void 0:i.bech32Address),n=te(["WADESTA_USE_BALANCES",t],({queryKey:[,s]})=>A(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 $e({onError:e,onLoading:i,onSuccess:t}={}){let n=O(["WADESTA_USE_CONNECT",e,i,t],h,{onError:(s,a)=>Promise.resolve(e==null?void 0:e(s,a)),onMutate:i,onSuccess:s=>Promise.resolve(t==null?void 0:t(s))});return{error:n.error,isLoading:n.isLoading,isSuccess:n.isSuccess,isSupported:z(),connect:n.mutate,connectAsync:n.mutateAsync,status:n.status}}function Xe({onError:e,onLoading:i,onSuccess:t}={}){let n=O(["WADESTA_USE_DISCONNECT",e,i,t],w,{onError:s=>Promise.resolve(e==null?void 0:e(s,void 0)),onMutate:i,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 Ye(){return r(e=>({signer:e.offlineSigner,signerAmino:e.offlineSignerAmino,signerAuto:e.offlineSignerAuto}),oe)}import{useMutation as re}from"react-query";function on(){return r(e=>e.activeChain)}function rn({onError:e,onLoading:i,onSuccess:t}={}){let n=re(["WADESTA_USE_SUGGEST_CHAIN",e,i,t],k,{onError:(s,a)=>Promise.resolve(e==null?void 0:e(s,a)),onMutate:i,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}}import{useQuery as q}from"react-query";function un(e){let i=r(n=>n.client),o=q(["USE_CLIENT",e,i],({queryKey:[,n,s]})=>n!=null&&n.rpc?p(n):s,{refetchOnMount:Boolean(e==null?void 0:e.keepRefetchBehavior),refetchOnWindowFocus:Boolean(e==null?void 0:e.keepRefetchBehavior)});return{data:o.data,error:o.error,isFetching:o.isFetching,isLoading:o.isLoading,isRefetching:o.isRefetching,isSuccess:o.isSuccess,refetch:o.refetch,status:o.status}}function pn(e){let i=r(n=>n.signingClient),o=q(["USE_SIGNING_CLIENT",e,i],({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:o.data,error:o.error,isFetching:o.isFetching,isLoading:o.isLoading,isRefetching:o.isRefetching,isSuccess:o.isSuccess,refetch:o.refetch,status:o.status}}import{QueryClient as ce,QueryClientProvider as ae}from"react-query";import{useEffect as se}from"react";function G(){return se(()=>{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 me=new ce({defaultOptions:{queries:{notifyOnChangeProps:"tracked"}}});function Sn({children:e}){return c.createElement(ae,{key:"graz-query-client",client:me},c.createElement(G,null),e)}export{Sn as GrazProvider,h as connect,Re as defaultChains,Ne as defaultChainsArray,Ee as defineChains,w as disconnect,A as getBalances,u as getKeplr,m as reconnect,ye as registerKeplrNotFound,k as suggestChain,de as unregisterKeplrNotFound,ie as useAccount,on as useActiveChain,Ve as useBalances,z as useCheckKeplr,un as useClient,$e as useConnect,Xe as useDisconnect,Ye as useSigners,pn as useSigningClient,rn 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.5",
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",