@volr/react 0.1.14 → 0.1.18

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.cts CHANGED
@@ -2,8 +2,7 @@ import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { ReactNode } from 'react';
3
3
  import { KeyStorageType as KeyStorageType$1, WalletProviderPort, PrecheckInput, PrecheckQuote, RelayInput, RelayResult, SignerPort, ExtendedRPCClient, Call, PasskeyProviderPort } from '@volr/sdk-core';
4
4
  export { AuthorizationTuple, Call, MpcTransport, PrecheckInput, PrecheckQuote, PrfInput, RelayInput, RelayMode, RelayResult, SessionAuth, UploadBlobOptions, createMasterKeyProvider, createMpcProvider, createPasskeyProvider, deriveEvmKey, deriveWrapKey, sealMasterSeed, uploadBlob } from '@volr/sdk-core';
5
- import { PublicClient } from './clients/createPublicClient.js';
6
- import { Address, Abi } from '../abi.js';
5
+ import { Address, Abi, PublicClient } from 'viem';
7
6
 
8
7
  /**
9
8
  * API client with automatic token refresh
@@ -21,6 +20,7 @@ type APIClientConfig = {
21
20
  declare class APIClient {
22
21
  private refreshPromise;
23
22
  private accessToken;
23
+ private refreshToken;
24
24
  private apiKey;
25
25
  private api;
26
26
  constructor(config: APIClientConfig);
@@ -40,6 +40,30 @@ declare class APIClient {
40
40
  * Get access token
41
41
  */
42
42
  getAccessToken(): string | null;
43
+ /**
44
+ * Set refresh token
45
+ */
46
+ setRefreshToken(token: string | null): void;
47
+ /**
48
+ * Get refresh token
49
+ */
50
+ getRefreshToken(): string | null;
51
+ /**
52
+ * Ensure access token is valid, refresh if missing or expired
53
+ * Use this before making authenticated requests that need a valid token upfront
54
+ * Note: Most requests don't need this as the 401 interceptor handles refresh automatically
55
+ */
56
+ ensureAccessToken(): Promise<void>;
57
+ /**
58
+ * Refresh session and return user data
59
+ * Use this when you need fresh user data (e.g., before passkey restoration)
60
+ * @param timeoutMs - Timeout in milliseconds (default: 10000)
61
+ * @returns User data from refresh response, or null if refresh fails
62
+ */
63
+ refreshSession<TUser = {
64
+ id: string;
65
+ email: string;
66
+ }>(timeoutMs?: number): Promise<TUser | null>;
43
67
  /**
44
68
  * Refresh access token (single-flight)
45
69
  */
@@ -230,6 +254,7 @@ type InternalAuthContextType = {
230
254
  };
231
255
  refreshAccessToken: () => Promise<void>;
232
256
  setAccessToken: (token: string) => void;
257
+ setRefreshToken: (token: string) => void;
233
258
  client: APIClient;
234
259
  };
235
260
 
package/dist/index.d.ts CHANGED
@@ -2,8 +2,7 @@ import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { ReactNode } from 'react';
3
3
  import { KeyStorageType as KeyStorageType$1, WalletProviderPort, PrecheckInput, PrecheckQuote, RelayInput, RelayResult, SignerPort, ExtendedRPCClient, Call, PasskeyProviderPort } from '@volr/sdk-core';
4
4
  export { AuthorizationTuple, Call, MpcTransport, PrecheckInput, PrecheckQuote, PrfInput, RelayInput, RelayMode, RelayResult, SessionAuth, UploadBlobOptions, createMasterKeyProvider, createMpcProvider, createPasskeyProvider, deriveEvmKey, deriveWrapKey, sealMasterSeed, uploadBlob } from '@volr/sdk-core';
5
- import { PublicClient } from './clients/createPublicClient.js';
6
- import { Address, Abi } from '../abi.js';
5
+ import { Address, Abi, PublicClient } from 'viem';
7
6
 
8
7
  /**
9
8
  * API client with automatic token refresh
@@ -21,6 +20,7 @@ type APIClientConfig = {
21
20
  declare class APIClient {
22
21
  private refreshPromise;
23
22
  private accessToken;
23
+ private refreshToken;
24
24
  private apiKey;
25
25
  private api;
26
26
  constructor(config: APIClientConfig);
@@ -40,6 +40,30 @@ declare class APIClient {
40
40
  * Get access token
41
41
  */
42
42
  getAccessToken(): string | null;
43
+ /**
44
+ * Set refresh token
45
+ */
46
+ setRefreshToken(token: string | null): void;
47
+ /**
48
+ * Get refresh token
49
+ */
50
+ getRefreshToken(): string | null;
51
+ /**
52
+ * Ensure access token is valid, refresh if missing or expired
53
+ * Use this before making authenticated requests that need a valid token upfront
54
+ * Note: Most requests don't need this as the 401 interceptor handles refresh automatically
55
+ */
56
+ ensureAccessToken(): Promise<void>;
57
+ /**
58
+ * Refresh session and return user data
59
+ * Use this when you need fresh user data (e.g., before passkey restoration)
60
+ * @param timeoutMs - Timeout in milliseconds (default: 10000)
61
+ * @returns User data from refresh response, or null if refresh fails
62
+ */
63
+ refreshSession<TUser = {
64
+ id: string;
65
+ email: string;
66
+ }>(timeoutMs?: number): Promise<TUser | null>;
43
67
  /**
44
68
  * Refresh access token (single-flight)
45
69
  */
@@ -230,6 +254,7 @@ type InternalAuthContextType = {
230
254
  };
231
255
  refreshAccessToken: () => Promise<void>;
232
256
  setAccessToken: (token: string) => void;
257
+ setRefreshToken: (token: string) => void;
233
258
  client: APIClient;
234
259
  };
235
260