@mezo-org/passport 0.10.0-dev.1 → 0.10.0-dev.3

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.
@@ -81,7 +81,7 @@ export default function WelcomeBlock(props) {
81
81
  },
82
82
  } }),
83
83
  React.createElement(LabelLarge, { color: theme.colors.contentPrimary },
84
- React.createElement(SlotNumber, { formatFunction: formatNumberToCompactString }, data.mats.totalMats),
84
+ React.createElement(SlotNumber, { formatFunction: formatNumberToCompactString }, data.totalMats),
85
85
  " ",
86
86
  "mats")))));
87
87
  }
@@ -1 +1 @@
1
- {"version":3,"file":"WelcomeBlock.js","sourceRoot":"","sources":["../../../../../src/components/Dropdown/Root/WelcomeBlock.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WelcomeBlock.js","sourceRoot":"","sources":["../../../../../src/components/Dropdown/Root/WelcomeBlock.tsx"],"names":[],"mappings":"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"}
@@ -1,19 +1,15 @@
1
- import { UseQueryOptions } from "@tanstack/react-query";
2
- import type { GetCurrentAccountResponse } from "../api";
1
+ import { UseQueryOptions, UseQueryResult } from "@tanstack/react-query";
2
+ import type { GetCurrentAccountResponse, PortalMats, RewardsMats } from "../api";
3
3
  type GetCurrentAccountResponseWithMats = GetCurrentAccountResponse & {
4
- mats: {
5
- totalMats: number;
6
- };
4
+ mats: (PortalMats | RewardsMats)[];
5
+ totalMats: number;
7
6
  };
8
- type UseGetCurrentAccountOptions<TSelected = GetCurrentAccountResponseWithMats> = Omit<UseQueryOptions<GetCurrentAccountResponseWithMats, Error, TSelected>, "queryKey" | "queryFn">;
9
- export declare function useGetCurrentAccount(queryOptions?: UseGetCurrentAccountOptions): import("@tanstack/react-query").UseQueryResult<Partial<{
10
- mezoId: string;
11
- hasModifiedMezoId: boolean;
12
- linkedAccounts: import("../api").LinkedAccount[];
13
- }> & {
14
- mats: {
15
- totalMats: number;
16
- };
17
- }, Error>;
7
+ export declare const isRewardsMats: (value: unknown) => value is RewardsMats;
8
+ export declare const isPortalMats: (value: unknown) => value is PortalMats;
9
+ type UseGetCurrentAccountOptions<TSelected> = Omit<UseQueryOptions<GetCurrentAccountResponseWithMats, Error, TSelected>, "queryKey" | "queryFn">;
10
+ /**
11
+ * Hook to fetch current account with mats
12
+ */
13
+ export declare function useGetCurrentAccount<TSelected = GetCurrentAccountResponseWithMats>(options?: UseGetCurrentAccountOptions<TSelected>): UseQueryResult<TSelected, Error>;
18
14
  export {};
19
15
  //# sourceMappingURL=useGetCurrentAccount.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useGetCurrentAccount.d.ts","sourceRoot":"","sources":["../../../src/hooks/useGetCurrentAccount.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAKjE,OAAO,KAAK,EAAE,yBAAyB,EAA2B,MAAM,QAAQ,CAAA;AAIhF,KAAK,iCAAiC,GAAG,yBAAyB,GAAG;IACnE,IAAI,EAAE;QACJ,SAAS,EAAE,MAAM,CAAA;KAClB,CAAA;CACF,CAAA;AAED,KAAK,2BAA2B,CAC9B,SAAS,GAAG,iCAAiC,IAC3C,IAAI,CACN,eAAe,CAAC,iCAAiC,EAAE,KAAK,EAAE,SAAS,CAAC,EACpE,UAAU,GAAG,SAAS,CACvB,CAAA;AAED,wBAAgB,oBAAoB,CAClC,YAAY,GAAE,2BAAgC;;;;;UAbxC;QACJ,SAAS,EAAE,MAAM,CAAA;KAClB;UAoEF"}
1
+ {"version":3,"file":"useGetCurrentAccount.d.ts","sourceRoot":"","sources":["../../../src/hooks/useGetCurrentAccount.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,eAAe,EACf,cAAc,EACf,MAAM,uBAAuB,CAAA;AAK9B,OAAO,KAAK,EAAE,yBAAyB,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AAIhF,KAAK,iCAAiC,GAAG,yBAAyB,GAAG;IACnE,IAAI,EAAE,CAAC,UAAU,GAAG,WAAW,CAAC,EAAE,CAAA;IAClC,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,aAAa,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,WAUrD,CAAA;AAEH,eAAO,MAAM,YAAY,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,UAOpD,CAAA;AAEH,KAAK,2BAA2B,CAAC,SAAS,IAAI,IAAI,CAChD,eAAe,CAAC,iCAAiC,EAAE,KAAK,EAAE,SAAS,CAAC,EACpE,UAAU,GAAG,SAAS,CACvB,CAAA;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,GAAG,iCAAiC,EAE7C,OAAO,GAAE,2BAA2B,CAAC,SAAS,CAAM,GACnD,cAAc,CAAC,SAAS,EAAE,KAAK,CAAC,CAwDlC"}
@@ -1,12 +1,25 @@
1
1
  import { useContext } from "react";
2
- import { useQuery } from "@tanstack/react-query";
2
+ import { useQuery, } from "@tanstack/react-query";
3
3
  import { ONE_MINUTE_MS } from "../utils/time";
4
4
  import { QUERY_KEYS } from "./constants";
5
5
  import { useAuthApiClient } from "./useAuthApiClient";
6
6
  import { usePortalApiClient } from "./usePortalApiClient";
7
7
  import { useRewardsApiClient } from "./useRewardsApiClient";
8
8
  import { PassportContext } from "../provider";
9
- export function useGetCurrentAccount(queryOptions = {}) {
9
+ export const isRewardsMats = (value) => !!value &&
10
+ typeof value === "object" &&
11
+ ["seasonOne", "seasonTwo"].every((seasonKey) => !!value[seasonKey] &&
12
+ typeof value[seasonKey] === "object" &&
13
+ ["mats", "rank"].every((fieldKey) => typeof value[seasonKey][fieldKey] === "number"));
14
+ export const isPortalMats = (value) => !!value &&
15
+ typeof value === "object" &&
16
+ ["totalMats", "inactiveMats", "matsActivated"].every((fieldKey) => fieldKey === "matsActivated"
17
+ ? typeof value[fieldKey] === "boolean"
18
+ : typeof value[fieldKey] === "number");
19
+ /**
20
+ * Hook to fetch current account with mats
21
+ */
22
+ export function useGetCurrentAccount(options = {}) {
10
23
  const passportContext = useContext(PassportContext);
11
24
  const authApiClient = useAuthApiClient();
12
25
  const portalApiClient = usePortalApiClient();
@@ -25,6 +38,7 @@ export function useGetCurrentAccount(queryOptions = {}) {
25
38
  const addresses = linkedWallets.map((account) => passportContext?.useRewardsApi
26
39
  ? account.evmAddress
27
40
  : account.btcAddress || account.evmAddress);
41
+ /** Mats balances aggregated from all linked wallets */
28
42
  const mats = await Promise.all(addresses.map((address) => passportContext?.useRewardsApi
29
43
  ? rewardsApiClient.getRewardsMats(address)
30
44
  : portalApiClient.getPortalMats(address)));
@@ -34,14 +48,13 @@ export function useGetCurrentAccount(queryOptions = {}) {
34
48
  : currentMats.totalMats), 0);
35
49
  return {
36
50
  ...currentAccount,
37
- mats: {
38
- totalMats,
39
- },
51
+ mats,
52
+ totalMats,
40
53
  };
41
54
  },
42
- staleTime: ONE_MINUTE_MS,
43
- retry: 1,
44
- ...queryOptions,
55
+ staleTime: options.staleTime ?? ONE_MINUTE_MS,
56
+ retry: options.retry ?? 1,
57
+ ...options,
45
58
  });
46
59
  }
47
60
  //# sourceMappingURL=useGetCurrentAccount.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useGetCurrentAccount.js","sourceRoot":"","sources":["../../../src/hooks/useGetCurrentAccount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAClC,OAAO,EAAE,QAAQ,EAAmB,MAAM,uBAAuB,CAAA;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAEzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAe7C,MAAM,UAAU,oBAAoB,CAClC,eAA4C,EAAE;IAE9C,MAAM,eAAe,GAAG,UAAU,CAAC,eAAe,CAAC,CAAA;IAEnD,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAA;IACxC,MAAM,eAAe,GAAG,kBAAkB,EAAE,CAAA;IAC5C,MAAM,gBAAgB,GAAG,mBAAmB,EAAE,CAAA;IAE9C,OAAO,QAAQ,CAAC;QACd,QAAQ,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC;QAClD,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,MAAM,cAAc,GAAG,MAAM,aAAa,CAAC,iBAAiB,EAAE,CAAA;YAC9D,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;YAC7C,CAAC;YAED,MAAM,aAAa,GAAG,cAAc,EAAE,cAAc,EAAE,MAAM,CAC1D,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ,CACvC,CAAA;YACD,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACjD,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAA;YACpE,CAAC;YAED,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAC9C,eAAe,EAAE,aAAa;gBAC5B,CAAC,CAAC,OAAO,CAAC,UAAU;gBACpB,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,CAC7C,CAAA;YAED,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,GAAG,CAC5B,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CACxB,eAAe,EAAE,aAAa;gBAC5B,CAAC,CAAC,gBAAgB,CAAC,cAAc,CAAC,OAAO,CAAC;gBAC1C,CAAC,CAAC,eAAe,CAAC,aAAa,CAAC,OAAO,CAAC,CAC3C,CACF,CAAA;YAED,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAC3B,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,CACvB,OAAO;gBACP,CAAC,eAAe,EAAE,aAAa;oBAC7B,CAAC,CAAE,WAA2B,CAAC,SAAS,CAAC,IAAI;oBAC7C,CAAC,CAAE,WAA0B,CAAC,SAAS,CAAC,EAC5C,CAAC,CACF,CAAA;YAED,OAAO;gBACL,GAAG,cAAc;gBACjB,IAAI,EAAE;oBACJ,SAAS;iBACV;aACF,CAAA;QACH,CAAC;QACD,SAAS,EAAE,aAAa;QACxB,KAAK,EAAE,CAAC;QACR,GAAG,YAAY;KAChB,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"useGetCurrentAccount.js","sourceRoot":"","sources":["../../../src/hooks/useGetCurrentAccount.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mezo-org/passport",
3
- "version": "0.10.0-dev.1",
3
+ "version": "0.10.0-dev.3",
4
4
  "main": "dist/src/index.js",
5
5
  "license": "GPL-3.0-only",
6
6
  "scripts": {
@@ -162,7 +162,7 @@ export default function WelcomeBlock(props: WelcomeBlockProps) {
162
162
 
163
163
  <LabelLarge color={theme.colors.contentPrimary}>
164
164
  <SlotNumber formatFunction={formatNumberToCompactString}>
165
- {data.mats.totalMats}
165
+ {data.totalMats}
166
166
  </SlotNumber>{" "}
167
167
  mats
168
168
  </LabelLarge>
@@ -1,5 +1,9 @@
1
1
  import { useContext } from "react"
2
- import { useQuery, UseQueryOptions } from "@tanstack/react-query"
2
+ import {
3
+ useQuery,
4
+ UseQueryOptions,
5
+ UseQueryResult,
6
+ } from "@tanstack/react-query"
3
7
  import { ONE_MINUTE_MS } from "../utils/time"
4
8
  import { QUERY_KEYS } from "./constants"
5
9
  import { useAuthApiClient } from "./useAuthApiClient"
@@ -9,28 +13,51 @@ import { useRewardsApiClient } from "./useRewardsApiClient"
9
13
  import { PassportContext } from "../provider"
10
14
 
11
15
  type GetCurrentAccountResponseWithMats = GetCurrentAccountResponse & {
12
- mats: {
13
- totalMats: number
14
- }
16
+ mats: (PortalMats | RewardsMats)[]
17
+ totalMats: number
15
18
  }
16
19
 
17
- type UseGetCurrentAccountOptions<
18
- TSelected = GetCurrentAccountResponseWithMats,
19
- > = Omit<
20
+ export const isRewardsMats = (value: unknown): value is RewardsMats =>
21
+ !!value &&
22
+ typeof value === "object" &&
23
+ ["seasonOne", "seasonTwo"].every(
24
+ (seasonKey) =>
25
+ !!(value as never)[seasonKey] &&
26
+ typeof (value as never)[seasonKey] === "object" &&
27
+ ["mats", "rank"].every(
28
+ (fieldKey) => typeof (value as never)[seasonKey][fieldKey] === "number",
29
+ ),
30
+ )
31
+
32
+ export const isPortalMats = (value: unknown): value is PortalMats =>
33
+ !!value &&
34
+ typeof value === "object" &&
35
+ ["totalMats", "inactiveMats", "matsActivated"].every((fieldKey) =>
36
+ fieldKey === "matsActivated"
37
+ ? typeof (value as never)[fieldKey] === "boolean"
38
+ : typeof (value as never)[fieldKey] === "number",
39
+ )
40
+
41
+ type UseGetCurrentAccountOptions<TSelected> = Omit<
20
42
  UseQueryOptions<GetCurrentAccountResponseWithMats, Error, TSelected>,
21
43
  "queryKey" | "queryFn"
22
44
  >
23
45
 
24
- export function useGetCurrentAccount(
25
- queryOptions: UseGetCurrentAccountOptions = {},
26
- ) {
46
+ /**
47
+ * Hook to fetch current account with mats
48
+ */
49
+ export function useGetCurrentAccount<
50
+ TSelected = GetCurrentAccountResponseWithMats,
51
+ >(
52
+ options: UseGetCurrentAccountOptions<TSelected> = {},
53
+ ): UseQueryResult<TSelected, Error> {
27
54
  const passportContext = useContext(PassportContext)
28
55
 
29
56
  const authApiClient = useAuthApiClient()
30
57
  const portalApiClient = usePortalApiClient()
31
58
  const rewardsApiClient = useRewardsApiClient()
32
59
 
33
- return useQuery({
60
+ return useQuery<GetCurrentAccountResponseWithMats, Error, TSelected>({
34
61
  queryKey: [QUERY_KEYS.ACCOUNT, QUERY_KEYS.CURRENT],
35
62
  queryFn: async () => {
36
63
  const currentAccount = await authApiClient.getCurrentAccount()
@@ -51,6 +78,7 @@ export function useGetCurrentAccount(
51
78
  : account.btcAddress || account.evmAddress,
52
79
  )
53
80
 
81
+ /** Mats balances aggregated from all linked wallets */
54
82
  const mats = await Promise.all(
55
83
  addresses.map((address) =>
56
84
  passportContext?.useRewardsApi
@@ -70,13 +98,12 @@ export function useGetCurrentAccount(
70
98
 
71
99
  return {
72
100
  ...currentAccount,
73
- mats: {
74
- totalMats,
75
- },
101
+ mats,
102
+ totalMats,
76
103
  }
77
104
  },
78
- staleTime: ONE_MINUTE_MS,
79
- retry: 1,
80
- ...queryOptions,
105
+ staleTime: options.staleTime ?? ONE_MINUTE_MS,
106
+ retry: options.retry ?? 1,
107
+ ...options,
81
108
  })
82
109
  }