b5-api-client 0.0.29 → 0.0.31

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,5 +1,5 @@
1
1
  import { AxiosRequestConfig } from 'axios';
2
- import { CreateOrderRequest, CreateUserRequest, Order, OrderResponse, TakeOrderRequest, TestEventParams, UpdateOrderRequest, TransactionStatusResponse, RateUserRequest, OrderEventsResponse, PushNotificationsRegisterRequest, ConfigResponse, DashboardMetricsResponse, UsersResponse, GetOrdersParams, CreateDisputeRequest, DisputesResponse, OrderOffersResponse, TransactionRequest, KioscoinOperationResponse, UpdateUserSettingsRequest, NotificationsResponse, VerifyEmailRequest, CreateSessionRequest, CreateSessionResponse } from './types';
2
+ import { CreateOrderRequest, CreateUserRequest, Order, OrderResponse, TakeOrderRequest, TestEventParams, UpdateOrderRequest, TransactionStatusResponse, RateUserRequest, OrderEventsResponse, PushNotificationsRegisterRequest, ConfigResponse, DashboardMetricsResponse, UsersResponse, GetOrdersParams, CreateDisputeRequest, DisputesResponse, OrderOffersResponse, TransactionRequest, KioscoinOperationResponse, UpdateUserSettingsRequest, NotificationsResponse, VerifyEmailRequest, CreateSessionRequest, CreateSessionResponse, SaveOpsLogRequest, SaveOpsLogResponse } from './types';
3
3
  import { AuthTokenProvider } from './auth/AuthTokenProvider';
4
4
  export interface RequestConfigWithRetry extends AxiosRequestConfig {
5
5
  _retry?: boolean;
@@ -37,6 +37,13 @@ declare class P2PMarketplaceAPIClient {
37
37
  releaseFunds(order: Order, testParams?: TestEventParams, headers?: Record<string, string>): Promise<string>;
38
38
  getTransactionStatus(txHash: string, headers?: Record<string, string>): Promise<TransactionStatusResponse>;
39
39
  createDispute(request: CreateDisputeRequest, headers?: Record<string, string>): Promise<DisputesResponse>;
40
+ /**
41
+ * Save a UserOperation receipt to the database
42
+ * @param request - The SaveOpsLogRequest containing chainId, userOp, and optional orderId/opsType
43
+ * @param headers - Optional custom headers
44
+ * @returns SaveOpsLogResponse with the saved log id and success status
45
+ */
46
+ saveOpsLog(request: SaveOpsLogRequest, headers?: Record<string, string>): Promise<SaveOpsLogResponse>;
40
47
  /**
41
48
  * Create or refresh a session with Firebase ID token
42
49
  * Sets a session cookie that will be used for WebSocket authentication
@@ -308,6 +308,19 @@ class P2PMarketplaceAPIClient {
308
308
  return this.post(url, request, headers);
309
309
  });
310
310
  }
311
+ // OpsLog
312
+ /**
313
+ * Save a UserOperation receipt to the database
314
+ * @param request - The SaveOpsLogRequest containing chainId, userOp, and optional orderId/opsType
315
+ * @param headers - Optional custom headers
316
+ * @returns SaveOpsLogResponse with the saved log id and success status
317
+ */
318
+ saveOpsLog(request, headers) {
319
+ return __awaiter(this, void 0, void 0, function* () {
320
+ const url = '/api/ops/log';
321
+ return this.post(url, request, headers);
322
+ });
323
+ }
311
324
  // Session Management
312
325
  /**
313
326
  * Create or refresh a session with Firebase ID token
package/dist/types.d.ts CHANGED
@@ -234,6 +234,7 @@ export interface UserMetrics {
234
234
  avgTimeToLock: number;
235
235
  avgTimeToRelease: number;
236
236
  avgTimeToFiatSent: number;
237
+ hasVerified: boolean;
237
238
  }
238
239
  export interface UserReview {
239
240
  reviewId?: string;
@@ -386,3 +387,14 @@ export interface NotificationDto {
386
387
  export interface NotificationsResponse {
387
388
  notifications: NotificationDto[];
388
389
  }
390
+ export type OpsType = 'LOCK' | 'RELEASE' | 'TRANSFER';
391
+ export interface SaveOpsLogRequest {
392
+ chainId: number;
393
+ userOp: Record<string, unknown>;
394
+ orderId?: string;
395
+ opsType?: OpsType;
396
+ }
397
+ export interface SaveOpsLogResponse {
398
+ id: string;
399
+ success: boolean;
400
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "b5-api-client",
3
- "version": "0.0.29",
3
+ "version": "0.0.31",
4
4
  "description": "Escrow Backend API client",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1,5 +1,5 @@
1
1
  import axios, { AxiosError, AxiosInstance, AxiosRequestConfig } from 'axios';
2
- import { CreateOrderRequest, CreateUserRequest, Order, OrderResponse, TakeOrderRequest, TestEventParams, UpdateOrderRequest, TransactionStatusResponse, RateUserRequest, OrderEventsResponse, PushNotificationsRegisterRequest, ConfigResponse, DashboardMetricsResponse, UsersResponse, GetOrdersParams, CreateDisputeRequest, DisputesResponse, OrderOffersResponse, TransactionRequest, KioscoinOperationResponse, UpdateUserSettingsRequest, NotificationsResponse, VerifyEmailRequest, CreateSessionRequest, CreateSessionResponse } from './types';
2
+ import { CreateOrderRequest, CreateUserRequest, Order, OrderResponse, TakeOrderRequest, TestEventParams, UpdateOrderRequest, TransactionStatusResponse, RateUserRequest, OrderEventsResponse, PushNotificationsRegisterRequest, ConfigResponse, DashboardMetricsResponse, UsersResponse, GetOrdersParams, CreateDisputeRequest, DisputesResponse, OrderOffersResponse, TransactionRequest, KioscoinOperationResponse, UpdateUserSettingsRequest, NotificationsResponse, VerifyEmailRequest, CreateSessionRequest, CreateSessionResponse, SaveOpsLogRequest, SaveOpsLogResponse } from './types';
3
3
  import { AuthTokenProvider } from './auth/AuthTokenProvider';
4
4
  import { isPlainObject, camelCase, snakeCase, transform } from 'lodash';
5
5
 
@@ -291,6 +291,19 @@ class P2PMarketplaceAPIClient {
291
291
  return this.post<DisputesResponse>(url, request, headers);
292
292
  }
293
293
 
294
+ // OpsLog
295
+
296
+ /**
297
+ * Save a UserOperation receipt to the database
298
+ * @param request - The SaveOpsLogRequest containing chainId, userOp, and optional orderId/opsType
299
+ * @param headers - Optional custom headers
300
+ * @returns SaveOpsLogResponse with the saved log id and success status
301
+ */
302
+ public async saveOpsLog(request: SaveOpsLogRequest, headers?: Record<string, string>): Promise<SaveOpsLogResponse> {
303
+ const url = '/api/ops/log';
304
+ return this.post<SaveOpsLogResponse>(url, request, headers);
305
+ }
306
+
294
307
  // Session Management
295
308
 
296
309
  /**
package/src/types.ts CHANGED
@@ -289,6 +289,7 @@ export interface UserMetrics {
289
289
  avgTimeToLock: number;
290
290
  avgTimeToRelease: number;
291
291
  avgTimeToFiatSent: number;
292
+ hasVerified: boolean;
292
293
  }
293
294
 
294
295
  export interface UserReview {
@@ -472,3 +473,18 @@ export interface NotificationDto {
472
473
  export interface NotificationsResponse {
473
474
  notifications: NotificationDto[];
474
475
  }
476
+
477
+ // OpsLog types
478
+ export type OpsType = 'LOCK' | 'RELEASE' | 'TRANSFER';
479
+
480
+ export interface SaveOpsLogRequest {
481
+ chainId: number;
482
+ userOp: Record<string, unknown>;
483
+ orderId?: string;
484
+ opsType?: OpsType;
485
+ }
486
+
487
+ export interface SaveOpsLogResponse {
488
+ id: string;
489
+ success: boolean;
490
+ }