@mezo-org/passport 0.14.2 → 0.14.3-dev.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"useWatchTransferEvents.d.ts","sourceRoot":"","sources":["../../../src/hooks/useWatchTransferEvents.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,cAAc,EAEf,MAAM,kBAAkB,CAAA;AAMzB,iBAAS,sBAAsB,CAAC,KAAK,EAAE,cAAc,QA6CpD;AAED,iBAAS,kCAAkC,SAY1C;AAED,OAAO,EAAE,sBAAsB,EAAE,kCAAkC,EAAE,CAAA"}
1
+ {"version":3,"file":"useWatchTransferEvents.d.ts","sourceRoot":"","sources":["../../../src/hooks/useWatchTransferEvents.ts"],"names":[],"mappings":"AAOA,OAAO,EAEL,cAAc,EAEf,MAAM,kBAAkB,CAAA;AAMzB,iBAAS,sBAAsB,CAAC,KAAK,EAAE,cAAc,QA0DpD;AAED,iBAAS,kCAAkC,SAY1C;AAED,OAAO,EAAE,sBAAsB,EAAE,kCAAkC,EAAE,CAAA"}
@@ -1,18 +1,29 @@
1
1
  import { useMemo } from "react";
2
- import { useAccount, useWatchContractEvent } from "wagmi";
2
+ import { createConfig, useAccount, useWatchContractEvent, webSocket, } from "wagmi";
3
3
  import { mainnetTokenContracts, testnetTokenContracts, } from "../lib/contracts";
4
4
  import { usePassportContext } from "./usePassportContext";
5
- import { CHAIN_ID } from "../constants";
5
+ import { CHAIN_ID, mezoMainnet, mezoTestnet } from "../constants";
6
6
  import { useRefreshPassport } from "./useRefreshPassport";
7
7
  import { simpleWssMezoConfig } from "../config";
8
8
  function useWatchTransferEvents(token) {
9
9
  const { address: userAddress } = useAccount();
10
- const { environment = "mainnet" } = usePassportContext();
10
+ const { environment = "mainnet", mezoRpcWsUrl } = usePassportContext();
11
11
  const { refreshTokensBalances, refreshBorrowData } = useRefreshPassport();
12
12
  const contract = useMemo(() => {
13
13
  const contracts = environment === "mainnet" ? mainnetTokenContracts : testnetTokenContracts;
14
14
  return contracts[token];
15
15
  }, [environment, token]);
16
+ const websocketMezoConfig = useMemo(() => {
17
+ if (!mezoRpcWsUrl)
18
+ return simpleWssMezoConfig;
19
+ const chain = environment === "mainnet" ? mezoMainnet : mezoTestnet;
20
+ return createConfig({
21
+ chains: [chain],
22
+ transports: {
23
+ [chain.id]: webSocket(mezoRpcWsUrl),
24
+ },
25
+ });
26
+ }, [environment, mezoRpcWsUrl]);
16
27
  useWatchContractEvent({
17
28
  address: contract.address,
18
29
  abi: contract.abi,
@@ -22,7 +33,7 @@ function useWatchTransferEvents(token) {
22
33
  },
23
34
  chainId: CHAIN_ID[environment],
24
35
  enabled: !!userAddress,
25
- config: simpleWssMezoConfig,
36
+ config: websocketMezoConfig,
26
37
  onLogs() {
27
38
  console.log(`[${token}] Transfer from: ${userAddress}`);
28
39
  refreshTokensBalances();
@@ -1 +1 @@
1
- {"version":3,"file":"useWatchTransferEvents.js","sourceRoot":"","sources":["../../../src/hooks/useWatchTransferEvents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,OAAO,CAAA;AACzD,OAAO,EACL,qBAAqB,EAErB,qBAAqB,GACtB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AACvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAA;AAE/C,SAAS,sBAAsB,CAAC,KAAqB;IACnD,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,UAAU,EAAE,CAAA;IAC7C,MAAM,EAAE,WAAW,GAAG,SAAS,EAAE,GAAG,kBAAkB,EAAE,CAAA;IACxD,MAAM,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,GAAG,kBAAkB,EAAE,CAAA;IAEzE,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE;QAC5B,MAAM,SAAS,GACb,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,qBAAqB,CAAA;QAE3E,OAAO,SAAS,CAAC,KAAK,CAAC,CAAA;IACzB,CAAC,EAAE,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAA;IAExB,qBAAqB,CAAC;QACpB,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,GAAG,EAAE,QAAQ,CAAC,GAAG;QACjB,SAAS,EAAE,UAAU;QACrB,IAAI,EAAE;YACJ,IAAI,EAAE,WAAW;SAClB;QACD,OAAO,EAAE,QAAQ,CAAC,WAAW,CAAC;QAC9B,OAAO,EAAE,CAAC,CAAC,WAAW;QACtB,MAAM,EAAE,mBAAmB;QAC3B,MAAM;YACJ,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,oBAAoB,WAAW,EAAE,CAAC,CAAA;YACvD,qBAAqB,EAAE,CAAA;YACvB,iBAAiB,EAAE,CAAA;QACrB,CAAC;KACF,CAAC,CAAA;IAEF,qBAAqB,CAAC;QACpB,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,GAAG,EAAE,QAAQ,CAAC,GAAG;QACjB,SAAS,EAAE,UAAU;QACrB,IAAI,EAAE;YACJ,EAAE,EAAE,WAAW;SAChB;QACD,OAAO,EAAE,QAAQ,CAAC,WAAW,CAAC;QAC9B,OAAO,EAAE,CAAC,CAAC,WAAW;QACtB,MAAM,EAAE,mBAAmB;QAC3B,MAAM;YACJ,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,kBAAkB,WAAW,EAAE,CAAC,CAAA;YACrD,qBAAqB,EAAE,CAAA;YACvB,iBAAiB,EAAE,CAAA;QACrB,CAAC;KACF,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,kCAAkC;IACzC,sBAAsB,CAAC,QAAQ,CAAC,CAAA;IAChC,sBAAsB,CAAC,MAAM,CAAC,CAAA;IAC9B,sBAAsB,CAAC,OAAO,CAAC,CAAA;IAC/B,sBAAsB,CAAC,UAAU,CAAC,CAAA;IAClC,sBAAsB,CAAC,QAAQ,CAAC,CAAA;IAChC,sBAAsB,CAAC,IAAI,CAAC,CAAA;IAC5B,sBAAsB,CAAC,OAAO,CAAC,CAAA;IAC/B,sBAAsB,CAAC,OAAO,CAAC,CAAA;IAC/B,sBAAsB,CAAC,OAAO,CAAC,CAAA;IAC/B,sBAAsB,CAAC,WAAW,CAAC,CAAA;IACnC,sBAAsB,CAAC,MAAM,CAAC,CAAA;AAChC,CAAC;AAED,OAAO,EAAE,sBAAsB,EAAE,kCAAkC,EAAE,CAAA"}
1
+ {"version":3,"file":"useWatchTransferEvents.js","sourceRoot":"","sources":["../../../src/hooks/useWatchTransferEvents.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { AuthApiClient, PortalApiClient, RewardsApiClient } from "./api";
2
2
  export interface PassportContextValue {
3
+ mezoRpcWsUrl?: string;
3
4
  authApiClient: AuthApiClient;
4
5
  portalApiClient: PortalApiClient;
5
6
  rewardsApiClient: RewardsApiClient;
@@ -13,6 +14,7 @@ export declare const PassportContext: import("react").Context<PassportContextVal
13
14
  type Environment = "mainnet" | "testnet";
14
15
  type PassportProviderProps = {
15
16
  children: React.ReactNode;
17
+ mezoRpcWsUrl?: string;
16
18
  environment?: Environment;
17
19
  authApiUrl?: string;
18
20
  portalApiUrl?: string;
@@ -31,6 +33,6 @@ type PassportProviderProps = {
31
33
  * price. */
32
34
  borrowDataRefetchInterval?: number;
33
35
  };
34
- export declare function PassportProvider({ environment, authApiUrl, portalApiUrl, rewardsApiUrl, children, accountDataRefetchInterval, nativeBalanceRefetchInterval, nativePriceRefetchInterval, borrowDataRefetchInterval, }: PassportProviderProps): import("react").FunctionComponentElement<import("react").ProviderProps<PassportContextValue | undefined>>;
36
+ export declare function PassportProvider({ environment, mezoRpcWsUrl, authApiUrl, portalApiUrl, rewardsApiUrl, children, accountDataRefetchInterval, nativeBalanceRefetchInterval, nativePriceRefetchInterval, borrowDataRefetchInterval, }: PassportProviderProps): import("react").FunctionComponentElement<import("react").ProviderProps<PassportContextValue | undefined>>;
35
37
  export {};
36
38
  //# sourceMappingURL=provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/provider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAA;AAGxE,MAAM,WAAW,oBAAoB;IACnC,aAAa,EAAE,aAAa,CAAA;IAC5B,eAAe,EAAE,eAAe,CAAA;IAChC,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,0BAA0B,EAAE,MAAM,CAAA;IAClC,4BAA4B,EAAE,MAAM,CAAA;IACpC,0BAA0B,EAAE,MAAM,CAAA;IAClC,yBAAyB,EAAE,MAAM,CAAA;CAClC;AAED,eAAO,MAAM,eAAe,2DAE3B,CAAA;AAED,KAAK,WAAW,GAAG,SAAS,GAAG,SAAS,CAAA;AAExC,KAAK,qBAAqB,GAAG;IAC3B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB;mEAC+D;IAC/D,0BAA0B,CAAC,EAAE,MAAM,CAAA;IACnC;oDACgD;IAChD,4BAA4B,CAAC,EAAE,MAAM,CAAA;IACrC;iDAC6C;IAC7C,0BAA0B,CAAC,EAAE,MAAM,CAAA;IACnC;;gBAEY;IACZ,yBAAyB,CAAC,EAAE,MAAM,CAAA;CACnC,CAAA;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,WAAW,EACX,UAAU,EACV,YAAY,EACZ,aAAa,EACb,QAAQ,EACR,0BAA+C,EAC/C,4BAAiD,EACjD,0BAA+C,EAC/C,yBAA8C,GAC/C,EAAE,qBAAqB,6GA2BvB"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/provider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAA;AAGxE,MAAM,WAAW,oBAAoB;IACnC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,aAAa,EAAE,aAAa,CAAA;IAC5B,eAAe,EAAE,eAAe,CAAA;IAChC,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,0BAA0B,EAAE,MAAM,CAAA;IAClC,4BAA4B,EAAE,MAAM,CAAA;IACpC,0BAA0B,EAAE,MAAM,CAAA;IAClC,yBAAyB,EAAE,MAAM,CAAA;CAClC;AAED,eAAO,MAAM,eAAe,2DAE3B,CAAA;AAED,KAAK,WAAW,GAAG,SAAS,GAAG,SAAS,CAAA;AAExC,KAAK,qBAAqB,GAAG;IAC3B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB;mEAC+D;IAC/D,0BAA0B,CAAC,EAAE,MAAM,CAAA;IACnC;oDACgD;IAChD,4BAA4B,CAAC,EAAE,MAAM,CAAA;IACrC;iDAC6C;IAC7C,0BAA0B,CAAC,EAAE,MAAM,CAAA;IACnC;;gBAEY;IACZ,yBAAyB,CAAC,EAAE,MAAM,CAAA;CACnC,CAAA;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,WAAW,EACX,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,aAAa,EACb,QAAQ,EACR,0BAA+C,EAC/C,4BAAiD,EACjD,0BAA+C,EAC/C,yBAA8C,GAC/C,EAAE,qBAAqB,6GA4BvB"}
@@ -2,12 +2,13 @@ import { createContext, createElement } from "react";
2
2
  import { AuthApiClient, PortalApiClient, RewardsApiClient } from "./api";
3
3
  import { ONE_SECOND_MS } from "./utils/time";
4
4
  export const PassportContext = createContext(undefined);
5
- export function PassportProvider({ environment, authApiUrl, portalApiUrl, rewardsApiUrl, children, accountDataRefetchInterval = 60 * ONE_SECOND_MS, nativeBalanceRefetchInterval = 60 * ONE_SECOND_MS, nativePriceRefetchInterval = 60 * ONE_SECOND_MS, borrowDataRefetchInterval = 60 * ONE_SECOND_MS, }) {
5
+ export function PassportProvider({ environment, mezoRpcWsUrl, authApiUrl, portalApiUrl, rewardsApiUrl, children, accountDataRefetchInterval = 60 * ONE_SECOND_MS, nativeBalanceRefetchInterval = 60 * ONE_SECOND_MS, nativePriceRefetchInterval = 60 * ONE_SECOND_MS, borrowDataRefetchInterval = 60 * ONE_SECOND_MS, }) {
6
6
  if (environment && !["mainnet", "testnet"].includes(environment)) {
7
7
  throw new Error("Wrong environment passed to PassportProvider.");
8
8
  }
9
9
  return createElement(PassportContext.Provider, {
10
10
  value: {
11
+ mezoRpcWsUrl,
11
12
  authApiClient: new AuthApiClient(environment ?? "mainnet", authApiUrl),
12
13
  portalApiClient: new PortalApiClient(environment ?? "mainnet", portalApiUrl),
13
14
  rewardsApiClient: new RewardsApiClient(environment ?? "mainnet", rewardsApiUrl),
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAA;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAa5C,MAAM,CAAC,MAAM,eAAe,GAAG,aAAa,CAC1C,SAAS,CACV,CAAA;AAyBD,MAAM,UAAU,gBAAgB,CAAC,EAC/B,WAAW,EACX,UAAU,EACV,YAAY,EACZ,aAAa,EACb,QAAQ,EACR,0BAA0B,GAAG,EAAE,GAAG,aAAa,EAC/C,4BAA4B,GAAG,EAAE,GAAG,aAAa,EACjD,0BAA0B,GAAG,EAAE,GAAG,aAAa,EAC/C,yBAAyB,GAAG,EAAE,GAAG,aAAa,GACxB;IACtB,IAAI,WAAW,IAAI,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QACjE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAA;IAClE,CAAC;IAED,OAAO,aAAa,CAClB,eAAe,CAAC,QAAQ,EACxB;QACE,KAAK,EAAE;YACL,aAAa,EAAE,IAAI,aAAa,CAAC,WAAW,IAAI,SAAS,EAAE,UAAU,CAAC;YACtE,eAAe,EAAE,IAAI,eAAe,CAClC,WAAW,IAAI,SAAS,EACxB,YAAY,CACb;YACD,gBAAgB,EAAE,IAAI,gBAAgB,CACpC,WAAW,IAAI,SAAS,EACxB,aAAa,CACd;YACD,WAAW;YACX,0BAA0B;YAC1B,4BAA4B;YAC5B,0BAA0B;YAC1B,yBAAyB;SAC1B;KACF,EACD,QAAQ,CACT,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAA;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAc5C,MAAM,CAAC,MAAM,eAAe,GAAG,aAAa,CAC1C,SAAS,CACV,CAAA;AA0BD,MAAM,UAAU,gBAAgB,CAAC,EAC/B,WAAW,EACX,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,aAAa,EACb,QAAQ,EACR,0BAA0B,GAAG,EAAE,GAAG,aAAa,EAC/C,4BAA4B,GAAG,EAAE,GAAG,aAAa,EACjD,0BAA0B,GAAG,EAAE,GAAG,aAAa,EAC/C,yBAAyB,GAAG,EAAE,GAAG,aAAa,GACxB;IACtB,IAAI,WAAW,IAAI,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QACjE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAA;IAClE,CAAC;IAED,OAAO,aAAa,CAClB,eAAe,CAAC,QAAQ,EACxB;QACE,KAAK,EAAE;YACL,YAAY;YACZ,aAAa,EAAE,IAAI,aAAa,CAAC,WAAW,IAAI,SAAS,EAAE,UAAU,CAAC;YACtE,eAAe,EAAE,IAAI,eAAe,CAClC,WAAW,IAAI,SAAS,EACxB,YAAY,CACb;YACD,gBAAgB,EAAE,IAAI,gBAAgB,CACpC,WAAW,IAAI,SAAS,EACxB,aAAa,CACd;YACD,WAAW;YACX,0BAA0B;YAC1B,4BAA4B;YAC5B,0BAA0B;YAC1B,yBAAyB;SAC1B;KACF,EACD,QAAQ,CACT,CAAA;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mezo-org/passport",
3
- "version": "0.14.2",
3
+ "version": "0.14.3-dev.1",
4
4
  "main": "dist/src/index.js",
5
5
  "license": "GPL-3.0-only",
6
6
  "scripts": {
@@ -55,4 +55,4 @@
55
55
  "viem": "2.22.8",
56
56
  "wagmi": "2.5.12"
57
57
  }
58
- }
58
+ }
@@ -1,18 +1,23 @@
1
1
  import { useMemo } from "react"
2
- import { useAccount, useWatchContractEvent } from "wagmi"
2
+ import {
3
+ createConfig,
4
+ useAccount,
5
+ useWatchContractEvent,
6
+ webSocket,
7
+ } from "wagmi"
3
8
  import {
4
9
  mainnetTokenContracts,
5
10
  MezoChainToken,
6
11
  testnetTokenContracts,
7
12
  } from "../lib/contracts"
8
13
  import { usePassportContext } from "./usePassportContext"
9
- import { CHAIN_ID } from "../constants"
14
+ import { CHAIN_ID, mezoMainnet, mezoTestnet } from "../constants"
10
15
  import { useRefreshPassport } from "./useRefreshPassport"
11
16
  import { simpleWssMezoConfig } from "../config"
12
17
 
13
18
  function useWatchTransferEvents(token: MezoChainToken) {
14
19
  const { address: userAddress } = useAccount()
15
- const { environment = "mainnet" } = usePassportContext()
20
+ const { environment = "mainnet", mezoRpcWsUrl } = usePassportContext()
16
21
  const { refreshTokensBalances, refreshBorrowData } = useRefreshPassport()
17
22
 
18
23
  const contract = useMemo(() => {
@@ -22,6 +27,19 @@ function useWatchTransferEvents(token: MezoChainToken) {
22
27
  return contracts[token]
23
28
  }, [environment, token])
24
29
 
30
+ const websocketMezoConfig = useMemo(() => {
31
+ if (!mezoRpcWsUrl) return simpleWssMezoConfig
32
+
33
+ const chain = environment === "mainnet" ? mezoMainnet : mezoTestnet
34
+
35
+ return createConfig({
36
+ chains: [chain],
37
+ transports: {
38
+ [chain.id]: webSocket(mezoRpcWsUrl),
39
+ },
40
+ })
41
+ }, [environment, mezoRpcWsUrl])
42
+
25
43
  useWatchContractEvent({
26
44
  address: contract.address,
27
45
  abi: contract.abi,
@@ -31,7 +49,7 @@ function useWatchTransferEvents(token: MezoChainToken) {
31
49
  },
32
50
  chainId: CHAIN_ID[environment],
33
51
  enabled: !!userAddress,
34
- config: simpleWssMezoConfig,
52
+ config: websocketMezoConfig,
35
53
  onLogs() {
36
54
  console.log(`[${token}] Transfer from: ${userAddress}`)
37
55
  refreshTokensBalances()
package/src/provider.ts CHANGED
@@ -3,6 +3,7 @@ import { AuthApiClient, PortalApiClient, RewardsApiClient } from "./api"
3
3
  import { ONE_SECOND_MS } from "./utils/time"
4
4
 
5
5
  export interface PassportContextValue {
6
+ mezoRpcWsUrl?: string
6
7
  authApiClient: AuthApiClient
7
8
  portalApiClient: PortalApiClient
8
9
  rewardsApiClient: RewardsApiClient
@@ -21,6 +22,7 @@ type Environment = "mainnet" | "testnet"
21
22
 
22
23
  type PassportProviderProps = {
23
24
  children: React.ReactNode
25
+ mezoRpcWsUrl?: string
24
26
  environment?: Environment
25
27
  authApiUrl?: string
26
28
  portalApiUrl?: string
@@ -42,6 +44,7 @@ type PassportProviderProps = {
42
44
 
43
45
  export function PassportProvider({
44
46
  environment,
47
+ mezoRpcWsUrl,
45
48
  authApiUrl,
46
49
  portalApiUrl,
47
50
  rewardsApiUrl,
@@ -59,6 +62,7 @@ export function PassportProvider({
59
62
  PassportContext.Provider,
60
63
  {
61
64
  value: {
65
+ mezoRpcWsUrl,
62
66
  authApiClient: new AuthApiClient(environment ?? "mainnet", authApiUrl),
63
67
  portalApiClient: new PortalApiClient(
64
68
  environment ?? "mainnet",