@fereai/sdk 0.3.1 → 0.4.0-dev.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.
package/dist/client.d.ts CHANGED
@@ -13,7 +13,7 @@
13
13
  * });
14
14
  * ```
15
15
  */
16
- import type { ChatEvent, SwapRequest, LimitOrderRequest, HooksRequest, DepositRequest, WithdrawRequest, UserResponse } from "./types.js";
16
+ import type { ChatEvent, SwapRequest, LimitOrderRequest, HooksRequest, DepositRequest, WithdrawRequest, SecurityCheckResponse, TokenToCheck, UserResponse } from "./types.js";
17
17
  export declare class FereClient {
18
18
  private readonly api;
19
19
  private constructor();
@@ -33,6 +33,10 @@ export declare class FereClient {
33
33
  swap(request: SwapRequest, timeout?: number): Promise<Record<string, unknown>>;
34
34
  limitOrder(request: LimitOrderRequest, timeout?: number): Promise<Record<string, unknown>>;
35
35
  setHooks(request: HooksRequest): Promise<unknown>;
36
+ /**
37
+ * Pre-check tokens for honeypot / scam / rug-pull flags.
38
+ */
39
+ checkTokenSecurity(tokens: TokenToCheck[]): Promise<SecurityCheckResponse>;
36
40
  deposit(request: DepositRequest, timeout?: number): Promise<Record<string, unknown>>;
37
41
  withdraw(request: WithdrawRequest, timeout?: number): Promise<Record<string, unknown>>;
38
42
  getWallets: () => Promise<unknown>;
package/dist/client.js CHANGED
@@ -78,6 +78,12 @@ class FereClient {
78
78
  async setHooks(request) {
79
79
  return this.api.setHooks(request);
80
80
  }
81
+ /**
82
+ * Pre-check tokens for honeypot / scam / rug-pull flags.
83
+ */
84
+ async checkTokenSecurity(tokens) {
85
+ return this.api.checkTokenSecurity(tokens);
86
+ }
81
87
  // ----------------------------------------------------------
82
88
  // Earn (blocks until complete)
83
89
  // ----------------------------------------------------------
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export { FereAPI } from "./low-level.js";
2
2
  export { FereClient } from "./client.js";
3
3
  export { AuthManager } from "./auth.js";
4
- export type { ChatEvent, TaskResponse, TaskStatusResponse, SwapRequest, LimitOrderRequest, HooksRequest, DepositRequest, WithdrawRequest, CreditsInfo, WalletInfo, UserResponse, } from "./types.js";
4
+ export type { ChatEvent, TaskResponse, TaskStatusResponse, SwapRequest, LimitOrderRequest, HooksRequest, DepositRequest, WithdrawRequest, CreditsInfo, WalletInfo, UserResponse, TokenToCheck, SecurityCheckRequest, TokenSecurityResult, SecurityCheckSummary, SecurityCheckResponse, } from "./types.js";
5
5
  export { TaskTimeoutError } from "./types.js";
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Low-level SDK — 1:1 typed wrappers around every gateway endpoint.
3
3
  */
4
- import type { ChatEvent, CreditsInfo, DepositRequest, HooksRequest, LimitOrderRequest, SwapRequest, TaskResponse, TaskStatusResponse, UserResponse, WithdrawRequest } from "./types.js";
4
+ import type { ChatEvent, CreditsInfo, DepositRequest, HooksRequest, LimitOrderRequest, SecurityCheckResponse, SwapRequest, TaskResponse, TaskStatusResponse, TokenToCheck, UserResponse, WithdrawRequest } from "./types.js";
5
5
  export declare class FereAPI {
6
6
  private readonly baseUrl;
7
7
  private readonly auth;
@@ -33,6 +33,11 @@ export declare class FereAPI {
33
33
  getLimitOrder(orderId: string): Promise<unknown>;
34
34
  cancelLimitOrder(orderId: string): Promise<unknown>;
35
35
  setHooks(request: HooksRequest): Promise<unknown>;
36
+ /**
37
+ * Pre-check whether output tokens have been flagged by Honeypot.is
38
+ * (EVM) or RugCheck.xyz (Solana) before submitting a swap.
39
+ */
40
+ checkTokenSecurity(tokens: TokenToCheck[]): Promise<SecurityCheckResponse>;
36
41
  getWallets(): Promise<unknown>;
37
42
  getHoldings(): Promise<unknown>;
38
43
  getEarnInfo(): Promise<unknown>;
package/dist/low-level.js CHANGED
@@ -175,6 +175,18 @@ class FereAPI {
175
175
  return this.authedPost("/v1/hooks", request);
176
176
  }
177
177
  // ----------------------------------------------------------
178
+ // Security
179
+ // ----------------------------------------------------------
180
+ /**
181
+ * Pre-check whether output tokens have been flagged by Honeypot.is
182
+ * (EVM) or RugCheck.xyz (Solana) before submitting a swap.
183
+ */
184
+ async checkTokenSecurity(tokens) {
185
+ return this.authedPost("/v1/security/check", {
186
+ tokens,
187
+ });
188
+ }
189
+ // ----------------------------------------------------------
178
190
  // Wallets
179
191
  // ----------------------------------------------------------
180
192
  async getWallets() {
package/dist/types.d.ts CHANGED
@@ -56,6 +56,37 @@ export interface SwapRequest {
56
56
  };
57
57
  cancel_conditional_orders?: boolean;
58
58
  }
59
+ export interface TokenToCheck {
60
+ token_address: string;
61
+ chain_id: number | string;
62
+ }
63
+ export interface SecurityCheckRequest {
64
+ tokens: TokenToCheck[];
65
+ }
66
+ export interface TokenSecurityResult {
67
+ token_address: string;
68
+ chain_id: number;
69
+ allowed: boolean;
70
+ /** passed | failed | warning | api_unavailable | unsupported_chain | skipped */
71
+ status: string;
72
+ reason?: string | null;
73
+ /** "rugcheck" | "honeypot_is" | "unknown" */
74
+ provider: string;
75
+ risk_details?: Record<string, unknown> | null;
76
+ }
77
+ export interface SecurityCheckSummary {
78
+ total: number;
79
+ passed: number;
80
+ failed: number;
81
+ warning: number;
82
+ api_unavailable: number;
83
+ unsupported_chain?: number;
84
+ skipped?: number;
85
+ }
86
+ export interface SecurityCheckResponse {
87
+ results: TokenSecurityResult[];
88
+ summary: SecurityCheckSummary;
89
+ }
59
90
  export interface LimitOrderRequest {
60
91
  chain_id_in: number;
61
92
  chain_id_out: number;
package/package.json CHANGED
@@ -1,10 +1,12 @@
1
1
  {
2
2
  "name": "@fereai/sdk",
3
- "version": "0.3.1",
3
+ "version": "0.4.0-dev.31",
4
4
  "description": "TypeScript SDK for the FereAI Gateway API",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
- "files": ["dist"],
7
+ "files": [
8
+ "dist"
9
+ ],
8
10
  "scripts": {
9
11
  "build": "tsc",
10
12
  "prepublishOnly": "tsc"