@0xsquid/react-hooks 3.0.25 → 3.0.26

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.
@@ -6,6 +6,7 @@ export { useKeyboardNavigation } from "./navigation/useKeyboardNavigation";
6
6
  export { useSquidQueryClient } from "./query/useSquidQueryClient";
7
7
  export { useSquid } from "./squid/useSquid";
8
8
  export { useAddressBookStore } from "./store/useAddressBookStore";
9
+ export { useFavoriteTokensStore, type FavoriteToken, } from "./store/useFavoriteTokensStore";
9
10
  export { useHistoryStore } from "./store/useHistoryStore";
10
11
  export { useConfigStore, useSquidStore, useSwapRoutePersistStore, } from "./store/useSquidStore";
11
12
  export { useSwap } from "./swap/useSwap";
@@ -6,6 +6,7 @@ export { useKeyboardNavigation } from "./navigation/useKeyboardNavigation";
6
6
  export { useSquidQueryClient } from "./query/useSquidQueryClient";
7
7
  export { useSquid } from "./squid/useSquid";
8
8
  export { useAddressBookStore } from "./store/useAddressBookStore";
9
+ export { useFavoriteTokensStore, } from "./store/useFavoriteTokensStore";
9
10
  export { useHistoryStore } from "./store/useHistoryStore";
10
11
  export { useConfigStore, useSquidStore, useSwapRoutePersistStore, } from "./store/useSquidStore";
11
12
  export { useSwap } from "./swap/useSwap";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EACL,cAAc,EACd,aAAa,EACb,wBAAwB,GACzB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,mCAAmC,EAAE,MAAM,8CAA8C,CAAC;AACnG,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EACL,iBAAiB,EACjB,aAAa,GACd,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,+BAA+B,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAClF,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EACL,sBAAsB,GAEvB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EACL,cAAc,EACd,aAAa,EACb,wBAAwB,GACzB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,mCAAmC,EAAE,MAAM,8CAA8C,CAAC;AACnG,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EACL,iBAAiB,EACjB,aAAa,GACd,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,+BAA+B,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAClF,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { Token } from "@0xsquid/squid-types";
2
+ export type FavoriteToken = Pick<Token, "address" | "chainId">;
3
+ interface FavoriteTokensStore {
4
+ favoriteTokens: FavoriteToken[];
5
+ addFavoriteToken: (token: FavoriteToken) => void;
6
+ removeFavoriteToken: (token: FavoriteToken) => void;
7
+ toggleFavoriteToken: (token: FavoriteToken) => void;
8
+ }
9
+ export declare const useFavoriteTokensStore: import("zustand").UseBoundStore<Omit<import("zustand").StoreApi<FavoriteTokensStore>, "persist"> & {
10
+ persist: {
11
+ setOptions: (options: Partial<import("zustand/middleware").PersistOptions<FavoriteTokensStore, FavoriteTokensStore>>) => void;
12
+ clearStorage: () => void;
13
+ rehydrate: () => void | Promise<void>;
14
+ hasHydrated: () => boolean;
15
+ onHydrate: (fn: (state: FavoriteTokensStore) => void) => () => void;
16
+ onFinishHydration: (fn: (state: FavoriteTokensStore) => void) => () => void;
17
+ getOptions: () => Partial<import("zustand/middleware").PersistOptions<FavoriteTokensStore, FavoriteTokensStore>>;
18
+ };
19
+ }>;
20
+ export {};
@@ -0,0 +1,28 @@
1
+ import { create } from "zustand";
2
+ import { persist } from "zustand/middleware";
3
+ export const useFavoriteTokensStore = create(persist((set, get) => ({
4
+ favoriteTokens: [],
5
+ addFavoriteToken(token) {
6
+ set((state) => ({
7
+ favoriteTokens: [...state.favoriteTokens, token],
8
+ }));
9
+ },
10
+ removeFavoriteToken(token) {
11
+ set((state) => ({
12
+ favoriteTokens: state.favoriteTokens.filter((t) => t.chainId !== token.chainId || t.address !== token.address),
13
+ }));
14
+ },
15
+ toggleFavoriteToken(token) {
16
+ const isFavorite = get().favoriteTokens.some((t) => t.chainId === token.chainId && t.address === token.address);
17
+ if (isFavorite) {
18
+ get().removeFavoriteToken(token);
19
+ }
20
+ else {
21
+ get().addFavoriteToken(token);
22
+ }
23
+ },
24
+ }), {
25
+ name: "squid.favorite.tokens.store",
26
+ version: 1,
27
+ }));
28
+ //# sourceMappingURL=useFavoriteTokensStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFavoriteTokensStore.js","sourceRoot":"","sources":["../../../src/hooks/store/useFavoriteTokensStore.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAW7C,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAC1C,OAAO,CACL,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;IACb,cAAc,EAAE,EAAE;IAClB,gBAAgB,CAAC,KAAoB;QACnC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACd,cAAc,EAAE,CAAC,GAAG,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC;SACjD,CAAC,CAAC,CAAC;IACN,CAAC;IACD,mBAAmB,CAAC,KAAoB;QACtC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACd,cAAc,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM,CACzC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,CAClE;SACF,CAAC,CAAC,CAAC;IACN,CAAC;IACD,mBAAmB,CAAC,KAAoB;QACtC,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,cAAc,CAAC,IAAI,CAC1C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,CAClE,CAAC;QAEF,IAAI,UAAU,EAAE;YACd,GAAG,EAAE,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;SAClC;aAAM;YACL,GAAG,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;SAC/B;IACH,CAAC;CACF,CAAC,EACF;IACE,IAAI,EAAE,6BAA6B;IACnC,OAAO,EAAE,CAAC;CACX,CACF,CACF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@0xsquid/react-hooks",
3
- "version": "3.0.25",
3
+ "version": "3.0.26",
4
4
  "description": "Squid hooks monorepo",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",