@cubee_ee/sdk 0.1.5 → 0.1.6

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/README.md CHANGED
@@ -36,18 +36,25 @@ From sibling packages:
36
36
  ## Quick start
37
37
 
38
38
  ```ts
39
- import { getConfig, CubicPoolClient, CubeBackendClient } from "@cube/sdk";
39
+ import { getConfig, CubicPoolClient, CubeBackendClient } from "@cubee_ee/sdk";
40
40
  import { PublicKey } from "@solana/web3.js";
41
41
 
42
42
  const config = getConfig("mainnet", {
43
43
  backendEndpoint: "https://api.cube.fi",
44
+ // Optional: put your paid RPC first; SDK falls back to the defaults below.
45
+ rpcEndpoints: [
46
+ process.env.CUBE_RPC_URL!,
47
+ "https://api.mainnet-beta.solana.com",
48
+ "https://solana-rpc.publicnode.com",
49
+ "https://solana.api.pocket.network",
50
+ ],
51
+ rpcTimeoutMs: 2_000,
44
52
  slippageHundredthsBps: 30_000, // 3 %
45
53
  });
46
54
 
47
55
  const pool = new CubicPoolClient({
48
56
  config,
49
57
  poolAddress: new PublicKey("..."),
50
- rpc: { endpoint: config.defaults.rpcEndpoint, apiKey: process.env.RPC_API_KEY },
51
58
  });
52
59
 
53
60
  const res = await pool.sync();
@@ -75,6 +82,12 @@ idl/ Anchor IDL exports generated from the current contracts
75
82
  examples/ Runnable scripts demonstrating each capability
76
83
  ```
77
84
 
85
+ `RpcClient` rotates through `config.defaults.rpcEndpoints` for every RPC call.
86
+ If one endpoint times out or returns a transient provider error, the SDK tries
87
+ the next endpoint instead of waiting on the same RPC. Mainnet defaults are
88
+ no-key public endpoints; production frontends should prepend their paid RPC via
89
+ `getConfig("mainnet", { rpcEndpoints: [...] })`.
90
+
78
91
  Every public method returns `SdkResult<T>` — either `{ ok: true, data }`
79
92
  or `{ ok: false, error: { code, humanMessage, cause? } }`. The SDK never
80
93
  throws for I/O or parse errors.
@@ -11,10 +11,13 @@ import { SingleTokenDepositClient } from "./SingleTokenDepositClient";
11
11
  export interface CubicPoolClientParams {
12
12
  config: CubeConfig;
13
13
  poolAddress: PublicKey;
14
- rpc: RpcClient | {
15
- endpoint: string;
14
+ rpc?: RpcClient | {
15
+ endpoint?: string;
16
+ endpoints?: string[];
17
+ fallbackEndpoints?: string[];
16
18
  apiKey?: string;
17
19
  commitment?: Commitment;
20
+ timeoutMs?: number;
18
21
  };
19
22
  }
20
23
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"CubicPoolClient.d.ts","sourceRoot":"","sources":["../../src/clients/CubicPoolClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,MAAM,OAAO,CAAC;AACvB,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAiB,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,SAAS,EAAW,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAoBxC,OAAO,EACL,kBAAkB,EAClB,OAAO,EACP,qBAAqB,EACrB,wBAAwB,EACxB,UAAU,EACX,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,UAAU,CAAC;IACnB,WAAW,EAAE,SAAS,CAAC;IACvB,GAAG,EACC,SAAS,GACT;QACE,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,UAAU,CAAC;KACzB,CAAC;CACP;AAED;;;GAGG;AACH,qBAAa,eAAe;IAC1B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC;IAChC,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC;IAExB,OAAO,CAAC,KAAK,CAAuB;gBAExB,MAAM,EAAE,qBAAqB;IAazC,kEAAkE;IAClE,SAAS,IAAI,QAAQ,GAAG,SAAS;IAIjC;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAiF1C,uEAAuE;IACvE,SAAS,IAAI,SAAS;IAMtB;;;;OAIG;IACH,SAAS,CACP,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,EAAE,EACZ,qBAAqB,CAAC,EAAE,MAAM,GAC7B,SAAS,CAAC,SAAS,CAAC;IAoEvB;;;OAGG;IACH,uBAAuB,CACrB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,EAAE,EACZ,qBAAqB,CAAC,EAAE,MAAM,GAC7B,SAAS,CAAC,uBAAuB,CAAC;IAiHrC,0DAA0D;IAC1D,WAAW,CAAC,KAAK,EAAE,EAAE,GAAG,SAAS,CAAC;QAAE,SAAS,EAAE,EAAE,EAAE,CAAA;KAAE,CAAC;IA4BtD,yDAAyD;IACzD,WAAW,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC;IAkBnD,+EAA+E;IAC/E,mBAAmB,CAAC,MAAM,EAAE,kBAAkB,GAAG,SAAS,CAAC,OAAO,CAAC;IAanE,kFAAkF;IAClF,sBAAsB,CAAC,MAAM,EAAE,qBAAqB,GAAG,SAAS,CAAC,OAAO,CAAC;IAgBzE;;;OAGG;IACH,yBAAyB,CAAC,MAAM,EAAE,wBAAwB,GAAG,SAAS,CAAC,OAAO,CAAC;IAW/E;oEACgE;IAChE,IAAI,kBAAkB,IAAI,wBAAwB,CASjD;IACD,OAAO,CAAC,IAAI,CAAC,CAA2B;IAIxC,iEAAiE;IACjE,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,cAAc,EAAE;IAMrD,OAAO,CAAC,YAAY;CAMrB"}
1
+ {"version":3,"file":"CubicPoolClient.d.ts","sourceRoot":"","sources":["../../src/clients/CubicPoolClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,MAAM,OAAO,CAAC;AACvB,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAiB,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,SAAS,EAAW,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAoBxC,OAAO,EACL,kBAAkB,EAClB,OAAO,EACP,qBAAqB,EACrB,wBAAwB,EACxB,UAAU,EACX,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,UAAU,CAAC;IACnB,WAAW,EAAE,SAAS,CAAC;IACvB,GAAG,CAAC,EACA,SAAS,GACT;QACE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QACrB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;QAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,UAAU,CAAC;QACxB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CACP;AAED;;;GAGG;AACH,qBAAa,eAAe;IAC1B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC;IAChC,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC;IAExB,OAAO,CAAC,KAAK,CAAuB;gBAExB,MAAM,EAAE,qBAAqB;IAgBzC,kEAAkE;IAClE,SAAS,IAAI,QAAQ,GAAG,SAAS;IAIjC;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAiF1C,uEAAuE;IACvE,SAAS,IAAI,SAAS;IAMtB;;;;OAIG;IACH,SAAS,CACP,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,EAAE,EACZ,qBAAqB,CAAC,EAAE,MAAM,GAC7B,SAAS,CAAC,SAAS,CAAC;IAoEvB;;;OAGG;IACH,uBAAuB,CACrB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,EAAE,EACZ,qBAAqB,CAAC,EAAE,MAAM,GAC7B,SAAS,CAAC,uBAAuB,CAAC;IAiHrC,0DAA0D;IAC1D,WAAW,CAAC,KAAK,EAAE,EAAE,GAAG,SAAS,CAAC;QAAE,SAAS,EAAE,EAAE,EAAE,CAAA;KAAE,CAAC;IA4BtD,yDAAyD;IACzD,WAAW,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC;IAkBnD,+EAA+E;IAC/E,mBAAmB,CAAC,MAAM,EAAE,kBAAkB,GAAG,SAAS,CAAC,OAAO,CAAC;IAanE,kFAAkF;IAClF,sBAAsB,CAAC,MAAM,EAAE,qBAAqB,GAAG,SAAS,CAAC,OAAO,CAAC;IAgBzE;;;OAGG;IACH,yBAAyB,CAAC,MAAM,EAAE,wBAAwB,GAAG,SAAS,CAAC,OAAO,CAAC;IAW/E;oEACgE;IAChE,IAAI,kBAAkB,IAAI,wBAAwB,CASjD;IACD,OAAO,CAAC,IAAI,CAAC,CAA2B;IAIxC,iEAAiE;IACjE,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,cAAc,EAAE;IAMrD,OAAO,CAAC,YAAY;CAMrB"}
@@ -29,9 +29,12 @@ class CubicPoolClient {
29
29
  params.rpc instanceof RpcClient_1.RpcClient
30
30
  ? params.rpc
31
31
  : new RpcClient_1.RpcClient({
32
- endpoint: params.rpc.endpoint,
33
- apiKey: params.rpc.apiKey,
34
- commitment: params.rpc.commitment ?? params.config.defaults.rpcCommitment,
32
+ endpoint: params.rpc?.endpoint,
33
+ endpoints: params.rpc?.endpoints ?? (params.rpc?.endpoint ? undefined : params.config.defaults.rpcEndpoints),
34
+ fallbackEndpoints: params.rpc?.fallbackEndpoints,
35
+ apiKey: params.rpc?.apiKey,
36
+ commitment: params.rpc?.commitment ?? params.config.defaults.rpcCommitment,
37
+ timeoutMs: params.rpc?.timeoutMs ?? params.config.defaults.rpcTimeoutMs,
35
38
  });
36
39
  }
37
40
  /** Last-fetched pool state. `undefined` before first `sync()`. */
@@ -1 +1 @@
1
- {"version":3,"file":"CubicPoolClient.js","sourceRoot":"","sources":["../../src/clients/CubicPoolClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CubicPoolClient.js","sourceRoot":"","sources":["../../src/clients/CubicPoolClient.ts"],"names":[],"mappings":"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"}
@@ -2,20 +2,35 @@ import { Commitment, Connection, PublicKey } from "@solana/web3.js";
2
2
  import { SdkResult } from "../types/result";
3
3
  import { RetryOptions } from "../utils/retry";
4
4
  export interface RpcClientParams {
5
- endpoint: string;
5
+ endpoint?: string;
6
+ /** Ordered endpoint list. If provided, it is used as-is. */
7
+ endpoints?: string[];
8
+ /** Extra endpoints appended after `endpoint`. Ignored when `endpoints` is set. */
9
+ fallbackEndpoints?: string[];
6
10
  apiKey?: string;
7
11
  commitment?: Commitment;
8
12
  /** Optional headers (e.g. for Helius/Triton auth). */
9
13
  headers?: Record<string, string>;
14
+ /** Per-endpoint timeout before the next RPC endpoint is tried. */
15
+ timeoutMs?: number;
16
+ /** Backoff schedule between endpoint attempts. Defaults to no delay. */
17
+ backoffMs?: number[];
18
+ /** Test hook for injecting lightweight fake connections. */
19
+ connectionFactory?: (endpoint: string) => Pick<Connection, "getAccountInfo" | "getMultipleAccountsInfo" | "getSlot">;
10
20
  }
11
21
  /**
12
22
  * Thin wrapper around `@solana/web3.js` Connection with built-in retry +
13
23
  * human-readable error mapping. Every public method returns a SdkResult<T>.
14
24
  */
15
25
  export declare class RpcClient {
16
- readonly connection: Connection;
26
+ readonly endpoints: string[];
27
+ private readonly connections;
17
28
  private readonly defaultCommitment;
29
+ private readonly timeoutMs;
30
+ private readonly backoffMs;
31
+ private activeEndpointIndex;
18
32
  constructor(params: RpcClientParams);
33
+ get connection(): Connection;
19
34
  call<T>(fn: (conn: Connection) => Promise<T>, retry?: RetryOptions): Promise<SdkResult<T>>;
20
35
  getAccountInfo(pk: PublicKey, retry?: RetryOptions): Promise<SdkResult<{
21
36
  data: Buffer;
@@ -24,5 +39,6 @@ export declare class RpcClient {
24
39
  } | null>>;
25
40
  getMultipleAccountsInfo(pks: PublicKey[], retry?: RetryOptions): Promise<SdkResult<(Buffer | null)[]>>;
26
41
  getSlot(retry?: RetryOptions): Promise<SdkResult<number>>;
42
+ private callWithFallback;
27
43
  }
28
44
  //# sourceMappingURL=RpcClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RpcClient.d.ts","sourceRoot":"","sources":["../../src/clients/RpcClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAY,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAExD,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,sDAAsD;IACtD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED;;;GAGG;AACH,qBAAa,SAAS;IACpB,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAa;gBAEnC,MAAM,EAAE,eAAe;IAWnC,IAAI,CAAC,CAAC,EACJ,EAAE,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC,CAAC,CAAC,EACpC,KAAK,GAAE,YAAiB,GACvB,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAIxB,cAAc,CACZ,EAAE,EAAE,SAAS,EACb,KAAK,GAAE,YAAiB,GACvB,OAAO,CAAC,SAAS,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,SAAS,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;IAYlF,uBAAuB,CACrB,GAAG,EAAE,SAAS,EAAE,EAChB,KAAK,GAAE,YAAiB,GACvB,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;IAOxC,OAAO,CAAC,KAAK,GAAE,YAAiB,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;CAG9D"}
1
+ {"version":3,"file":"RpcClient.d.ts","sourceRoot":"","sources":["../../src/clients/RpcClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAI9C,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4DAA4D;IAC5D,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,kFAAkF;IAClF,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,sDAAsD;IACtD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,kEAAkE;IAClE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wEAAwE;IACxE,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,4DAA4D;IAC5D,iBAAiB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAC5C,UAAU,EACV,gBAAgB,GAAG,yBAAyB,GAAG,SAAS,CACzD,CAAC;CACH;AAED;;;GAGG;AACH,qBAAa,SAAS;IACpB,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;IAC7B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAGzB;IACH,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAa;IAC/C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IACrC,OAAO,CAAC,mBAAmB,CAAK;gBAEpB,MAAM,EAAE,eAAe;IAkBnC,IAAI,UAAU,IAAI,UAAU,CAE3B;IAED,IAAI,CAAC,CAAC,EACJ,EAAE,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC,CAAC,CAAC,EACpC,KAAK,GAAE,YAAiB,GACvB,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAIxB,cAAc,CACZ,EAAE,EAAE,SAAS,EACb,KAAK,GAAE,YAAiB,GACvB,OAAO,CAAC,SAAS,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,SAAS,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;IAYlF,uBAAuB,CACrB,GAAG,EAAE,SAAS,EAAE,EAChB,KAAK,GAAE,YAAiB,GACvB,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;IAOxC,OAAO,CAAC,KAAK,GAAE,YAAiB,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAI/C,gBAAgB;CA4B/B"}
@@ -2,28 +2,38 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RpcClient = void 0;
4
4
  const web3_js_1 = require("@solana/web3.js");
5
- const retry_1 = require("../utils/retry");
5
+ const result_1 = require("../types/result");
6
+ const errors_1 = require("../utils/errors");
6
7
  /**
7
8
  * Thin wrapper around `@solana/web3.js` Connection with built-in retry +
8
9
  * human-readable error mapping. Every public method returns a SdkResult<T>.
9
10
  */
10
11
  class RpcClient {
11
12
  constructor(params) {
12
- const endpoint = params.apiKey
13
- ? appendApiKey(params.endpoint, params.apiKey)
14
- : params.endpoint;
13
+ this.activeEndpointIndex = 0;
15
14
  this.defaultCommitment = params.commitment ?? "confirmed";
16
- this.connection = new web3_js_1.Connection(endpoint, {
17
- commitment: this.defaultCommitment,
18
- httpHeaders: params.headers,
19
- });
15
+ this.timeoutMs = params.timeoutMs ?? 2000;
16
+ this.backoffMs = params.backoffMs ?? [];
17
+ this.endpoints = normalizeEndpoints(params);
18
+ if (this.endpoints.length === 0) {
19
+ throw new Error("RpcClient requires at least one endpoint");
20
+ }
21
+ this.connections = this.endpoints.map((endpoint) => params.connectionFactory
22
+ ? params.connectionFactory(endpoint)
23
+ : new web3_js_1.Connection(endpoint, {
24
+ commitment: this.defaultCommitment,
25
+ httpHeaders: params.headers,
26
+ }));
27
+ }
28
+ get connection() {
29
+ return this.connections[this.activeEndpointIndex];
20
30
  }
21
31
  call(fn, retry = {}) {
22
- return (0, retry_1.safeCall)(() => fn(this.connection), retry);
32
+ return this.callWithFallback((conn) => fn(conn), retry);
23
33
  }
24
34
  getAccountInfo(pk, retry = {}) {
25
- return (0, retry_1.safeCall)(async () => {
26
- const info = await this.connection.getAccountInfo(pk, this.defaultCommitment);
35
+ return this.callWithFallback(async (conn) => {
36
+ const info = await conn.getAccountInfo(pk, this.defaultCommitment);
27
37
  if (!info)
28
38
  return null;
29
39
  return {
@@ -34,16 +44,77 @@ class RpcClient {
34
44
  }, retry);
35
45
  }
36
46
  getMultipleAccountsInfo(pks, retry = {}) {
37
- return (0, retry_1.safeCall)(async () => {
38
- const infos = await this.connection.getMultipleAccountsInfo(pks, this.defaultCommitment);
47
+ return this.callWithFallback(async (conn) => {
48
+ const infos = await conn.getMultipleAccountsInfo(pks, this.defaultCommitment);
39
49
  return infos.map((i) => (i ? i.data : null));
40
50
  }, retry);
41
51
  }
42
52
  getSlot(retry = {}) {
43
- return (0, retry_1.safeCall)(() => this.connection.getSlot(this.defaultCommitment), retry);
53
+ return this.callWithFallback((conn) => conn.getSlot(this.defaultCommitment), retry);
54
+ }
55
+ async callWithFallback(operation, retry = {}) {
56
+ const attempts = Math.max(1, retry.attempts ?? this.connections.length);
57
+ const timeoutMs = retry.timeoutMs ?? this.timeoutMs;
58
+ const shouldRetry = retry.shouldRetry ?? defaultShouldRetry;
59
+ let lastError;
60
+ for (let attempt = 0; attempt < attempts; attempt++) {
61
+ const endpointIndex = (this.activeEndpointIndex + attempt) % this.connections.length;
62
+ try {
63
+ const data = await withTimeout(operation(this.connections[endpointIndex]), timeoutMs);
64
+ this.activeEndpointIndex = endpointIndex;
65
+ return (0, result_1.ok)(data);
66
+ }
67
+ catch (e) {
68
+ lastError = e;
69
+ if (!shouldRetry(e))
70
+ break;
71
+ if (attempt < attempts - 1) {
72
+ const delay = this.backoffMs[Math.min(attempt, this.backoffMs.length - 1)] ?? 0;
73
+ if (delay > 0)
74
+ await sleep(delay);
75
+ }
76
+ }
77
+ }
78
+ const sdkError = (0, errors_1.toSdkError)(lastError);
79
+ return (0, result_1.err)(sdkError.code, sdkError.humanMessage, lastError);
44
80
  }
45
81
  }
46
82
  exports.RpcClient = RpcClient;
83
+ function normalizeEndpoints(params) {
84
+ if (params.endpoints && params.endpoints.length > 0) {
85
+ return dedupe(params.endpoints);
86
+ }
87
+ const primary = params.endpoint
88
+ ? params.apiKey
89
+ ? appendApiKey(params.endpoint, params.apiKey)
90
+ : params.endpoint
91
+ : undefined;
92
+ return dedupe([primary, ...(params.fallbackEndpoints ?? [])].filter(Boolean));
93
+ }
94
+ function dedupe(endpoints) {
95
+ return Array.from(new Set(endpoints));
96
+ }
97
+ function defaultShouldRetry(e) {
98
+ const sdkError = (0, errors_1.toSdkError)(e);
99
+ return (sdkError.code === "rpc_timeout" ||
100
+ sdkError.code === "rpc_unavailable" ||
101
+ sdkError.code === "rpc_rate_limited");
102
+ }
103
+ function sleep(ms) {
104
+ return new Promise((resolve) => setTimeout(resolve, ms));
105
+ }
106
+ function withTimeout(p, ms) {
107
+ return new Promise((resolve, reject) => {
108
+ const h = setTimeout(() => reject(new Error(`timed out after ${ms}ms`)), ms);
109
+ p.then((v) => {
110
+ clearTimeout(h);
111
+ resolve(v);
112
+ }, (e) => {
113
+ clearTimeout(h);
114
+ reject(e);
115
+ });
116
+ });
117
+ }
47
118
  function appendApiKey(endpoint, apiKey) {
48
119
  try {
49
120
  const u = new URL(endpoint);
@@ -1 +1 @@
1
- {"version":3,"file":"RpcClient.js","sourceRoot":"","sources":["../../src/clients/RpcClient.ts"],"names":[],"mappings":";;;AAAA,6CAAoE;AAEpE,0CAAwD;AAUxD;;;GAGG;AACH,MAAa,SAAS;IAIpB,YAAY,MAAuB;QACjC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM;YAC5B,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC;YAC9C,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;QACpB,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,UAAU,IAAI,WAAW,CAAC;QAC1D,IAAI,CAAC,UAAU,GAAG,IAAI,oBAAU,CAAC,QAAQ,EAAE;YACzC,UAAU,EAAE,IAAI,CAAC,iBAAiB;YAClC,WAAW,EAAE,MAAM,CAAC,OAAO;SAC5B,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CACF,EAAoC,EACpC,QAAsB,EAAE;QAExB,OAAO,IAAA,gBAAQ,EAAC,GAAG,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,CAAC;IACpD,CAAC;IAED,cAAc,CACZ,EAAa,EACb,QAAsB,EAAE;QAExB,OAAO,IAAA,gBAAQ,EAAC,KAAK,IAAI,EAAE;YACzB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAC9E,IAAI,CAAC,IAAI;gBAAE,OAAO,IAAI,CAAC;YACvB,OAAO;gBACL,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACxB,CAAC;QACJ,CAAC,EAAE,KAAK,CAAC,CAAC;IACZ,CAAC;IAED,uBAAuB,CACrB,GAAgB,EAChB,QAAsB,EAAE;QAExB,OAAO,IAAA,gBAAQ,EAAC,KAAK,IAAI,EAAE;YACzB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,GAAG,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;YACzF,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/C,CAAC,EAAE,KAAK,CAAC,CAAC;IACZ,CAAC;IAED,OAAO,CAAC,QAAsB,EAAE;QAC9B,OAAO,IAAA,gBAAQ,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,KAAK,CAAC,CAAC;IAChF,CAAC;CACF;AAlDD,8BAkDC;AAED,SAAS,YAAY,CAAC,QAAgB,EAAE,MAAc;IACpD,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5B,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACtC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;IACtB,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAC/C,OAAO,GAAG,QAAQ,GAAG,GAAG,WAAW,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;IAClE,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"RpcClient.js","sourceRoot":"","sources":["../../src/clients/RpcClient.ts"],"names":[],"mappings":"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"}
@@ -11,9 +11,12 @@ export interface SingleTokenDepositClientParams {
11
11
  poolAddress: PublicKey;
12
12
  /** Optional — reuses an existing one if provided. */
13
13
  rpc?: RpcClient | {
14
- endpoint: string;
14
+ endpoint?: string;
15
+ endpoints?: string[];
16
+ fallbackEndpoints?: string[];
15
17
  apiKey?: string;
16
18
  commitment?: Commitment;
19
+ timeoutMs?: number;
17
20
  };
18
21
  /**
19
22
  * Optional parent pool client — lets the deposit client reuse an already
@@ -1 +1 @@
1
- {"version":3,"file":"SingleTokenDepositClient.d.ts","sourceRoot":"","sources":["../../src/clients/SingleTokenDepositClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,MAAM,OAAO,CAAC;AACvB,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,SAAS,EAAW,MAAM,iBAAiB,CAAC;AACrD,OAAO,EACL,OAAO,EACP,wBAAwB,EACxB,uBAAuB,EACxB,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,WAAW,8BAA8B;IAC7C,MAAM,EAAE,UAAU,CAAC;IACnB,WAAW,EAAE,SAAS,CAAC;IACvB,qDAAqD;IACrD,GAAG,CAAC,EAAE,SAAS,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,UAAU,CAAA;KAAE,CAAC;IACjF;;;OAGG;IACH,UAAU,CAAC,EAAE,eAAe,CAAC;CAC9B;AAED;;;;;;GAMG;AACH,qBAAa,wBAAwB;IACnC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkB;gBAEjC,MAAM,EAAE,8BAA8B;IAiBlD,wCAAwC;IACxC,SAAS,IAAI,SAAS;IAItB,mFAAmF;IAC7E,IAAI,IAAI,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAI1C,iDAAiD;IACjD,KAAK,CACH,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,EAAE,EACZ,qBAAqB,CAAC,EAAE,MAAM,GAC7B,SAAS,CAAC,uBAAuB,CAAC;IAIrC,iFAAiF;IACjF,OAAO,CAAC,MAAM,EAAE,wBAAwB,GAAG,SAAS,CAAC,OAAO,CAAC;CAc9D"}
1
+ {"version":3,"file":"SingleTokenDepositClient.d.ts","sourceRoot":"","sources":["../../src/clients/SingleTokenDepositClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,MAAM,OAAO,CAAC;AACvB,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,SAAS,EAAW,MAAM,iBAAiB,CAAC;AACrD,OAAO,EACL,OAAO,EACP,wBAAwB,EACxB,uBAAuB,EACxB,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,WAAW,8BAA8B;IAC7C,MAAM,EAAE,UAAU,CAAC;IACnB,WAAW,EAAE,SAAS,CAAC;IACvB,qDAAqD;IACrD,GAAG,CAAC,EAAE,SAAS,GAAG;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QACrB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;QAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,UAAU,CAAC;QACxB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF;;;OAGG;IACH,UAAU,CAAC,EAAE,eAAe,CAAC;CAC9B;AAED;;;;;;GAMG;AACH,qBAAa,wBAAwB;IACnC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkB;gBAEjC,MAAM,EAAE,8BAA8B;IAkBlD,wCAAwC;IACxC,SAAS,IAAI,SAAS;IAItB,mFAAmF;IAC7E,IAAI,IAAI,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAI1C,iDAAiD;IACjD,KAAK,CACH,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,EAAE,EACZ,qBAAqB,CAAC,EAAE,MAAM,GAC7B,SAAS,CAAC,uBAAuB,CAAC;IAIrC,iFAAiF;IACjF,OAAO,CAAC,MAAM,EAAE,wBAAwB,GAAG,SAAS,CAAC,OAAO,CAAC;CAc9D"}
@@ -23,8 +23,9 @@ class SingleTokenDepositClient {
23
23
  poolAddress: params.poolAddress,
24
24
  rpc: params.rpc ??
25
25
  {
26
- endpoint: params.config.defaults.rpcEndpoint,
26
+ endpoints: params.config.defaults.rpcEndpoints,
27
27
  commitment: params.config.defaults.rpcCommitment,
28
+ timeoutMs: params.config.defaults.rpcTimeoutMs,
28
29
  },
29
30
  });
30
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SingleTokenDepositClient.js","sourceRoot":"","sources":["../../src/clients/SingleTokenDepositClient.ts"],"names":[],"mappings":";;;AAIA,4CAAqD;AAMrD,sCAA+C;AAC/C,+CAA0D;AAE1D,uDAAoD;AAcpD;;;;;;GAMG;AACH,MAAa,wBAAwB;IAKnC,YAAY,MAAsC;QAChD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,UAAU;YACb,MAAM,CAAC,UAAU;gBACjB,IAAI,iCAAe,CAAC;oBAClB,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,GAAG,EACD,MAAM,CAAC,GAAG;wBACV;4BACE,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW;4BAC5C,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa;yBACjD;iBACJ,CAAC,CAAC;IACP,CAAC;IAED,wCAAwC;IACxC,SAAS;QACP,OAAO,IAAA,qBAAe,EAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IACzF,CAAC;IAED,mFAAmF;IACnF,KAAK,CAAC,IAAI;QACR,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;IAChC,CAAC;IAED,iDAAiD;IACjD,KAAK,CACH,YAAoB,EACpB,QAAY,EACZ,qBAA8B;QAE9B,OAAO,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,YAAY,EAAE,QAAQ,EAAE,qBAAqB,CAAC,CAAC;IAChG,CAAC;IAED,iFAAiF;IACjF,OAAO,CAAC,MAAgC;QACtC,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;QACzC,IAAI,CAAC,IAAI;YAAE,OAAO,IAAA,YAAG,EAAC,eAAe,EAAE,0CAA0C,CAAC,CAAC;QACnF,IAAI,MAAM,CAAC,YAAY,GAAG,CAAC,IAAI,MAAM,CAAC,YAAY,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACtE,OAAO,IAAA,YAAG,EAAC,eAAe,EAAE,sBAAsB,CAAC,CAAC;QACtD,CAAC;QACD,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;YAAE,OAAO,IAAA,YAAG,EAAC,eAAe,EAAE,sBAAsB,CAAC,CAAC;QACjF,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,IAAA,uCAAyB,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YAChE,OAAO,IAAA,WAAE,EAAC,EAAE,CAAC,CAAC;QAChB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,IAAA,YAAG,EAAC,iBAAiB,EAAE,yCAAyC,EAAE,CAAC,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;CACF;AAxDD,4DAwDC"}
1
+ {"version":3,"file":"SingleTokenDepositClient.js","sourceRoot":"","sources":["../../src/clients/SingleTokenDepositClient.ts"],"names":[],"mappings":";;;AAIA,4CAAqD;AAMrD,sCAA+C;AAC/C,+CAA0D;AAE1D,uDAAoD;AAqBpD;;;;;;GAMG;AACH,MAAa,wBAAwB;IAKnC,YAAY,MAAsC;QAChD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,UAAU;YACb,MAAM,CAAC,UAAU;gBACjB,IAAI,iCAAe,CAAC;oBAClB,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,GAAG,EACD,MAAM,CAAC,GAAG;wBACV;4BACE,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY;4BAC9C,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa;4BAChD,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY;yBAC/C;iBACJ,CAAC,CAAC;IACP,CAAC;IAED,wCAAwC;IACxC,SAAS;QACP,OAAO,IAAA,qBAAe,EAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IACzF,CAAC;IAED,mFAAmF;IACnF,KAAK,CAAC,IAAI;QACR,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;IAChC,CAAC;IAED,iDAAiD;IACjD,KAAK,CACH,YAAoB,EACpB,QAAY,EACZ,qBAA8B;QAE9B,OAAO,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,YAAY,EAAE,QAAQ,EAAE,qBAAqB,CAAC,CAAC;IAChG,CAAC;IAED,iFAAiF;IACjF,OAAO,CAAC,MAAgC;QACtC,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;QACzC,IAAI,CAAC,IAAI;YAAE,OAAO,IAAA,YAAG,EAAC,eAAe,EAAE,0CAA0C,CAAC,CAAC;QACnF,IAAI,MAAM,CAAC,YAAY,GAAG,CAAC,IAAI,MAAM,CAAC,YAAY,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACtE,OAAO,IAAA,YAAG,EAAC,eAAe,EAAE,sBAAsB,CAAC,CAAC;QACtD,CAAC;QACD,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;YAAE,OAAO,IAAA,YAAG,EAAC,eAAe,EAAE,sBAAsB,CAAC,CAAC;QACjF,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,IAAA,uCAAyB,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YAChE,OAAO,IAAA,WAAE,EAAC,EAAE,CAAC,CAAC;QAChB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,IAAA,YAAG,EAAC,iBAAiB,EAAE,yCAAyC,EAAE,CAAC,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;CACF;AAzDD,4DAyDC"}
@@ -12,6 +12,8 @@ export interface CubeConfig {
12
12
  programs: NetworkPrograms;
13
13
  defaults: {
14
14
  rpcEndpoint: string;
15
+ rpcEndpoints: string[];
16
+ rpcTimeoutMs: number;
15
17
  rpcCommitment: Commitment;
16
18
  /** Used by helpers that prepend a ComputeBudget instruction. */
17
19
  cuLimit: number;
@@ -29,6 +31,8 @@ export interface CubeConfig {
29
31
  }
30
32
  export interface CubeConfigOverrides {
31
33
  rpcEndpoint?: string;
34
+ rpcEndpoints?: string[];
35
+ rpcTimeoutMs?: number;
32
36
  rpcCommitment?: Commitment;
33
37
  cuLimit?: number;
34
38
  slippageHundredthsBps?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAoB,eAAe,EAAE,OAAO,EAAwB,MAAM,YAAY,CAAC;AAC9F,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AAEzB;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,eAAe,CAAC;IAC1B,QAAQ,EAAE;QACR,WAAW,EAAE,MAAM,CAAC;QACpB,aAAa,EAAE,UAAU,CAAC;QAC1B,gEAAgE;QAChE,OAAO,EAAE,MAAM,CAAC;QAChB;;;;WAIG;QACH,qBAAqB,EAAE,MAAM,CAAC;KAC/B,CAAC;IACF,2DAA2D;IAC3D,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACnC,gEAAgE;IAChE,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,mBAAmB;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,UAAU,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;CACpC;AAED,wEAAwE;AACxE,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,GAAE,mBAAwB,GAAG,UAAU,CAa3F;AAED,eAAO,MAAM,eAAe,qBAA4B,CAAC;AACzD,eAAO,MAAM,aAAa,qBAA0B,CAAC;AACrD,eAAO,MAAM,gBAAgB,qBAA6B,CAAC;AAC3D,eAAO,MAAM,aAAa,qBAA0B,CAAC;AAErD,mDAAmD;AACnD,eAAO,MAAM,YAAY,QAAS,CAAC;AACnC,eAAO,MAAM,UAAU,MAAM,CAAC;AAC9B,eAAO,MAAM,UAAU,OAAQ,CAAC;AAChC,eAAO,MAAM,UAAU,IAAI,CAAC;AAC5B,eAAO,MAAM,UAAU,KAAK,CAAC;AAC7B,eAAO,MAAM,YAAY,IAAI,CAAC;AAC9B,eAAO,MAAM,kBAAkB,UAAY,CAAC;AAC5C,eAAO,MAAM,sBAAsB,QAAS,CAAC;AAC7C,eAAO,MAAM,iBAAiB,SAAU,CAAC;AACzC,eAAO,MAAM,qBAAqB,OAAQ,CAAC;AAC3C,eAAO,MAAM,mBAAmB,QAAS,CAAC;AAC1C,eAAO,MAAM,kBAAkB,UAAY,CAAC;AAC5C,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAEpC,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG,sBAAsB,GAAG,eAAe,CAAC;AAEnF,wBAAgB,SAAS,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,GAAG,SAAS,CAEzE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAEL,eAAe,EACf,OAAO,EAIR,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AAEzB;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,eAAe,CAAC;IAC1B,QAAQ,EAAE;QACR,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,EAAE,CAAC;QACvB,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,EAAE,UAAU,CAAC;QAC1B,gEAAgE;QAChE,OAAO,EAAE,MAAM,CAAC;QAChB;;;;WAIG;QACH,qBAAqB,EAAE,MAAM,CAAC;KAC/B,CAAC;IACF,2DAA2D;IAC3D,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACnC,gEAAgE;IAChE,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,mBAAmB;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,UAAU,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;CACpC;AAED,wEAAwE;AACxE,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,GAAE,mBAAwB,GAAG,UAAU,CAgB3F;AAgBD,eAAO,MAAM,eAAe,qBAA4B,CAAC;AACzD,eAAO,MAAM,aAAa,qBAA0B,CAAC;AACrD,eAAO,MAAM,gBAAgB,qBAA6B,CAAC;AAC3D,eAAO,MAAM,aAAa,qBAA0B,CAAC;AAErD,mDAAmD;AACnD,eAAO,MAAM,YAAY,QAAS,CAAC;AACnC,eAAO,MAAM,UAAU,MAAM,CAAC;AAC9B,eAAO,MAAM,UAAU,OAAQ,CAAC;AAChC,eAAO,MAAM,UAAU,IAAI,CAAC;AAC5B,eAAO,MAAM,UAAU,KAAK,CAAC;AAC7B,eAAO,MAAM,YAAY,IAAI,CAAC;AAC9B,eAAO,MAAM,kBAAkB,UAAY,CAAC;AAC5C,eAAO,MAAM,sBAAsB,QAAS,CAAC;AAC7C,eAAO,MAAM,iBAAiB,SAAU,CAAC;AACzC,eAAO,MAAM,qBAAqB,OAAQ,CAAC;AAC3C,eAAO,MAAM,mBAAmB,QAAS,CAAC;AAC1C,eAAO,MAAM,kBAAkB,UAAY,CAAC;AAC5C,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAEpC,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG,sBAAsB,GAAG,eAAe,CAAC;AAEnF,wBAAgB,SAAS,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,GAAG,SAAS,CAEzE"}
@@ -22,11 +22,14 @@ __exportStar(require("./networks"), exports);
22
22
  __exportStar(require("./tokens"), exports);
23
23
  /** Build a CubeConfig for the named network with optional overrides. */
24
24
  function getConfig(network, overrides = {}) {
25
+ const rpcEndpoints = resolveRpcEndpoints(network, overrides);
25
26
  return {
26
27
  network,
27
28
  programs: networks_1.NETWORK_PROGRAMS[network],
28
29
  defaults: {
29
- rpcEndpoint: overrides.rpcEndpoint ?? networks_1.DEFAULT_RPC_ENDPOINT[network],
30
+ rpcEndpoint: rpcEndpoints[0] ?? overrides.rpcEndpoint ?? networks_1.DEFAULT_RPC_ENDPOINT[network],
31
+ rpcEndpoints,
32
+ rpcTimeoutMs: overrides.rpcTimeoutMs ?? networks_1.DEFAULT_RPC_TIMEOUT_MS,
30
33
  rpcCommitment: overrides.rpcCommitment ?? "confirmed",
31
34
  cuLimit: overrides.cuLimit ?? 1400000,
32
35
  slippageHundredthsBps: overrides.slippageHundredthsBps ?? 50000,
@@ -35,6 +38,18 @@ function getConfig(network, overrides = {}) {
35
38
  backendEndpoint: overrides.backendEndpoint,
36
39
  };
37
40
  }
41
+ function resolveRpcEndpoints(network, overrides) {
42
+ if (overrides.rpcEndpoints && overrides.rpcEndpoints.length > 0) {
43
+ return dedupe(overrides.rpcEndpoints);
44
+ }
45
+ if (overrides.rpcEndpoint) {
46
+ return dedupe([overrides.rpcEndpoint, ...networks_1.DEFAULT_RPC_ENDPOINTS[network]]);
47
+ }
48
+ return [...networks_1.DEFAULT_RPC_ENDPOINTS[network]];
49
+ }
50
+ function dedupe(values) {
51
+ return Array.from(new Set(values));
52
+ }
38
53
  exports.CUBIC_POOL_SEED = Buffer.from("cubic_pool");
39
54
  exports.BPT_MINT_SEED = Buffer.from("bpt_mint");
40
55
  exports.STLD_HELPER_SEED = Buffer.from("stld_helper");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AA0CA,8BAaC;AAwBD,8BAEC;AAhFD,yCAA8F;AAG9F,6CAA2B;AAC3B,2CAAyB;AAoCzB,wEAAwE;AACxE,SAAgB,SAAS,CAAC,OAAgB,EAAE,YAAiC,EAAE;IAC7E,OAAO;QACL,OAAO;QACP,QAAQ,EAAE,2BAAgB,CAAC,OAAO,CAAC;QACnC,QAAQ,EAAE;YACR,WAAW,EAAE,SAAS,CAAC,WAAW,IAAI,+BAAoB,CAAC,OAAO,CAAC;YACnE,aAAa,EAAE,SAAS,CAAC,aAAa,IAAI,WAAW;YACrD,OAAO,EAAE,SAAS,CAAC,OAAO,IAAI,OAAS;YACvC,qBAAqB,EAAE,SAAS,CAAC,qBAAqB,IAAI,KAAM;SACjE;QACD,MAAM,EAAE,SAAS,CAAC,MAAM;QACxB,eAAe,EAAE,SAAS,CAAC,eAAe;KAC3C,CAAC;AACJ,CAAC;AAEY,QAAA,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAC5C,QAAA,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACxC,QAAA,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AAC9C,QAAA,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAErD,mDAAmD;AACtC,QAAA,YAAY,GAAG,KAAM,CAAC,CAAC,QAAQ;AAC/B,QAAA,UAAU,GAAG,GAAG,CAAC,CAAC,MAAM;AACxB,QAAA,UAAU,GAAG,IAAK,CAAC,CAAC,OAAO;AAC3B,QAAA,UAAU,GAAG,CAAC,CAAC;AACf,QAAA,UAAU,GAAG,EAAE,CAAC;AAChB,QAAA,YAAY,GAAG,CAAC,CAAC;AACjB,QAAA,kBAAkB,GAAG,OAAS,CAAC,CAAC,QAAQ;AACxC,QAAA,sBAAsB,GAAG,KAAM,CAAC,CAAC,QAAQ;AACzC,QAAA,iBAAiB,GAAG,MAAO,CAAC,CAAC,OAAO;AACpC,QAAA,qBAAqB,GAAG,IAAK,CAAC,CAAC,OAAO;AACtC,QAAA,mBAAmB,GAAG,KAAM,CAAC;AAC7B,QAAA,kBAAkB,GAAG,OAAS,CAAC;AAC/B,QAAA,iBAAiB,GAAG,EAAE,CAAC,CAAC,UAAU;AAI/C,SAAgB,SAAS,CAAC,GAAe,EAAE,IAAmB;IAC5D,OAAO,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAqDA,8BAgBC;AAsCD,8BAEC;AA5GD,yCAOoB;AAGpB,6CAA2B;AAC3B,2CAAyB;AAwCzB,wEAAwE;AACxE,SAAgB,SAAS,CAAC,OAAgB,EAAE,YAAiC,EAAE;IAC7E,MAAM,YAAY,GAAG,mBAAmB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC7D,OAAO;QACL,OAAO;QACP,QAAQ,EAAE,2BAAgB,CAAC,OAAO,CAAC;QACnC,QAAQ,EAAE;YACR,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,WAAW,IAAI,+BAAoB,CAAC,OAAO,CAAC;YACtF,YAAY;YACZ,YAAY,EAAE,SAAS,CAAC,YAAY,IAAI,iCAAsB;YAC9D,aAAa,EAAE,SAAS,CAAC,aAAa,IAAI,WAAW;YACrD,OAAO,EAAE,SAAS,CAAC,OAAO,IAAI,OAAS;YACvC,qBAAqB,EAAE,SAAS,CAAC,qBAAqB,IAAI,KAAM;SACjE;QACD,MAAM,EAAE,SAAS,CAAC,MAAM;QACxB,eAAe,EAAE,SAAS,CAAC,eAAe;KAC3C,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAgB,EAAE,SAA8B;IAC3E,IAAI,SAAS,CAAC,YAAY,IAAI,SAAS,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChE,OAAO,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IACxC,CAAC;IACD,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC;QAC1B,OAAO,MAAM,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,GAAG,gCAAqB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,CAAC,GAAG,gCAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,MAAM,CAAC,MAAgB;IAC9B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AACrC,CAAC;AAEY,QAAA,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAC5C,QAAA,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACxC,QAAA,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AAC9C,QAAA,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAErD,mDAAmD;AACtC,QAAA,YAAY,GAAG,KAAM,CAAC,CAAC,QAAQ;AAC/B,QAAA,UAAU,GAAG,GAAG,CAAC,CAAC,MAAM;AACxB,QAAA,UAAU,GAAG,IAAK,CAAC,CAAC,OAAO;AAC3B,QAAA,UAAU,GAAG,CAAC,CAAC;AACf,QAAA,UAAU,GAAG,EAAE,CAAC;AAChB,QAAA,YAAY,GAAG,CAAC,CAAC;AACjB,QAAA,kBAAkB,GAAG,OAAS,CAAC,CAAC,QAAQ;AACxC,QAAA,sBAAsB,GAAG,KAAM,CAAC,CAAC,QAAQ;AACzC,QAAA,iBAAiB,GAAG,MAAO,CAAC,CAAC,OAAO;AACpC,QAAA,qBAAqB,GAAG,IAAK,CAAC,CAAC,OAAO;AACtC,QAAA,mBAAmB,GAAG,KAAM,CAAC;AAC7B,QAAA,kBAAkB,GAAG,OAAS,CAAC;AAC/B,QAAA,iBAAiB,GAAG,EAAE,CAAC,CAAC,UAAU;AAI/C,SAAgB,SAAS,CAAC,GAAe,EAAE,IAAmB;IAC5D,OAAO,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC"}
@@ -7,4 +7,6 @@ export interface NetworkPrograms {
7
7
  }
8
8
  export declare const NETWORK_PROGRAMS: Record<Network, NetworkPrograms>;
9
9
  export declare const DEFAULT_RPC_ENDPOINT: Record<Network, string>;
10
+ export declare const DEFAULT_RPC_ENDPOINTS: Record<Network, string[]>;
11
+ export declare const DEFAULT_RPC_TIMEOUT_MS = 2000;
10
12
  //# sourceMappingURL=networks.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"networks.d.ts","sourceRoot":"","sources":["../../src/config/networks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,MAAM,MAAM,OAAO,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAC;AAExD,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,SAAS,CAAC;IACrB,oBAAoB,EAAE,SAAS,CAAC;IAChC,aAAa,EAAE,SAAS,CAAC;CAC1B;AAED,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,OAAO,EAAE,eAAe,CAgC7D,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAIxD,CAAC"}
1
+ {"version":3,"file":"networks.d.ts","sourceRoot":"","sources":["../../src/config/networks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,MAAM,MAAM,OAAO,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAC;AAExD,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,SAAS,CAAC;IACrB,oBAAoB,EAAE,SAAS,CAAC;IAChC,aAAa,EAAE,SAAS,CAAC;CAC1B;AAED,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,OAAO,EAAE,eAAe,CAgC7D,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAIxD,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAQ3D,CAAC;AAEF,eAAO,MAAM,sBAAsB,OAAQ,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DEFAULT_RPC_ENDPOINT = exports.NETWORK_PROGRAMS = void 0;
3
+ exports.DEFAULT_RPC_TIMEOUT_MS = exports.DEFAULT_RPC_ENDPOINTS = exports.DEFAULT_RPC_ENDPOINT = exports.NETWORK_PROGRAMS = void 0;
4
4
  const web3_js_1 = require("@solana/web3.js");
5
5
  exports.NETWORK_PROGRAMS = {
6
6
  mainnet: {
@@ -28,4 +28,14 @@ exports.DEFAULT_RPC_ENDPOINT = {
28
28
  devnet: "https://api.devnet.solana.com",
29
29
  localnet: "http://127.0.0.1:8899",
30
30
  };
31
+ exports.DEFAULT_RPC_ENDPOINTS = {
32
+ mainnet: [
33
+ "https://api.mainnet-beta.solana.com",
34
+ "https://solana-rpc.publicnode.com",
35
+ "https://solana.api.pocket.network",
36
+ ],
37
+ devnet: ["https://api.devnet.solana.com"],
38
+ localnet: ["http://127.0.0.1:8899"],
39
+ };
40
+ exports.DEFAULT_RPC_TIMEOUT_MS = 2000;
31
41
  //# sourceMappingURL=networks.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"networks.js","sourceRoot":"","sources":["../../src/config/networks.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAU/B,QAAA,gBAAgB,GAAqC;IAChE,OAAO,EAAE;QACP,SAAS,EAAE,IAAI,mBAAS,CAAC,8CAA8C,CAAC;QACxE,0EAA0E;QAC1E,qEAAqE;QACrE,wEAAwE;QACxE,oCAAoC;QACpC,oBAAoB,EAAE,IAAI,mBAAS,CACjC,8CAA8C,CAC/C;QACD,aAAa,EAAE,IAAI,mBAAS,CAC1B,8CAA8C,CAC/C;KACF;IACD,MAAM,EAAE;QACN,SAAS,EAAE,IAAI,mBAAS,CAAC,8CAA8C,CAAC;QACxE,oBAAoB,EAAE,IAAI,mBAAS,CACjC,8CAA8C,CAC/C;QACD,aAAa,EAAE,IAAI,mBAAS,CAC1B,8CAA8C,CAC/C;KACF;IACD,QAAQ,EAAE;QACR,SAAS,EAAE,IAAI,mBAAS,CAAC,8CAA8C,CAAC;QACxE,oBAAoB,EAAE,IAAI,mBAAS,CACjC,8CAA8C,CAC/C;QACD,aAAa,EAAE,IAAI,mBAAS,CAC1B,8CAA8C,CAC/C;KACF;CACF,CAAC;AAEW,QAAA,oBAAoB,GAA4B;IAC3D,OAAO,EAAE,qCAAqC;IAC9C,MAAM,EAAE,+BAA+B;IACvC,QAAQ,EAAE,uBAAuB;CAClC,CAAC"}
1
+ {"version":3,"file":"networks.js","sourceRoot":"","sources":["../../src/config/networks.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAU/B,QAAA,gBAAgB,GAAqC;IAChE,OAAO,EAAE;QACP,SAAS,EAAE,IAAI,mBAAS,CAAC,8CAA8C,CAAC;QACxE,0EAA0E;QAC1E,qEAAqE;QACrE,wEAAwE;QACxE,oCAAoC;QACpC,oBAAoB,EAAE,IAAI,mBAAS,CACjC,8CAA8C,CAC/C;QACD,aAAa,EAAE,IAAI,mBAAS,CAC1B,8CAA8C,CAC/C;KACF;IACD,MAAM,EAAE;QACN,SAAS,EAAE,IAAI,mBAAS,CAAC,8CAA8C,CAAC;QACxE,oBAAoB,EAAE,IAAI,mBAAS,CACjC,8CAA8C,CAC/C;QACD,aAAa,EAAE,IAAI,mBAAS,CAC1B,8CAA8C,CAC/C;KACF;IACD,QAAQ,EAAE;QACR,SAAS,EAAE,IAAI,mBAAS,CAAC,8CAA8C,CAAC;QACxE,oBAAoB,EAAE,IAAI,mBAAS,CACjC,8CAA8C,CAC/C;QACD,aAAa,EAAE,IAAI,mBAAS,CAC1B,8CAA8C,CAC/C;KACF;CACF,CAAC;AAEW,QAAA,oBAAoB,GAA4B;IAC3D,OAAO,EAAE,qCAAqC;IAC9C,MAAM,EAAE,+BAA+B;IACvC,QAAQ,EAAE,uBAAuB;CAClC,CAAC;AAEW,QAAA,qBAAqB,GAA8B;IAC9D,OAAO,EAAE;QACP,qCAAqC;QACrC,mCAAmC;QACnC,mCAAmC;KACpC;IACD,MAAM,EAAE,CAAC,+BAA+B,CAAC;IACzC,QAAQ,EAAE,CAAC,uBAAuB,CAAC;CACpC,CAAC;AAEW,QAAA,sBAAsB,GAAG,IAAK,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,13 +1,13 @@
1
1
  /**
2
- * @cube/sdk — client library for the Cubic Pool AMM on Solana.
2
+ * @cubee_ee/sdk — client library for the Cubic Pool AMM on Solana.
3
3
  *
4
4
  * Entry point barrel. Most consumers will want to import from this root:
5
5
  *
6
6
  * ```ts
7
- * import { CubicPoolClient, CubeBackendClient, getConfig } from "@cube/sdk";
7
+ * import { CubicPoolClient, CubeBackendClient, getConfig } from "@cubee_ee/sdk";
8
8
  *
9
9
  * const cfg = getConfig("mainnet", { backendEndpoint: "https://api.cube.fi" });
10
- * const pool = new CubicPoolClient({ config: cfg, poolAddress, rpc: { endpoint: cfg.defaults.rpcEndpoint } });
10
+ * const pool = new CubicPoolClient({ config: cfg, poolAddress });
11
11
  * const info = await pool.sync();
12
12
  * if (info.ok) console.log(info.data.tokens.map(t => t.metadata?.symbol));
13
13
  * ```
@@ -20,7 +20,7 @@ export * from "./parsers";
20
20
  export * from "./clients";
21
21
  export * from "./idl";
22
22
  export { getConfig, programId, CUBIC_POOL_SEED, BPT_MINT_SEED, STLD_HELPER_SEED, TREASURY_SEED, WEIGHT_SCALE, MIN_WEIGHT, MAX_WEIGHT, MIN_TOKENS, MAX_TOKENS, BPT_DECIMALS, SWAP_FEE_PRECISION, PROTOCOL_FEE_PRECISION, MAX_SWAP_FEE_RATE, MAX_PROTOCOL_FEE_RATE, MINIMUM_INITIAL_BPT, SLIPPAGE_PRECISION, MIN_SLIPPAGE_HBPS, } from "./config";
23
- export { NETWORK_PROGRAMS, DEFAULT_RPC_ENDPOINT } from "./config/networks";
23
+ export { NETWORK_PROGRAMS, DEFAULT_RPC_ENDPOINT, DEFAULT_RPC_ENDPOINTS, DEFAULT_RPC_TIMEOUT_MS, } from "./config/networks";
24
24
  export { KNOWN_TOKENS, resolveKnownToken } from "./config/tokens";
25
25
  export { ok, err } from "./types/result";
26
26
  export { ONE, mulDown, mulUp, divDown, divUp, complement, weightToFp, } from "./math/fixedPoint";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -17,18 +17,18 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
17
17
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
18
18
  };
19
19
  Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.CubeBackendClient = exports.RpcClient = exports.priceImpactHbps = exports.lpBalances = exports.applySwapFee = exports.applySlippage = exports.computeTwoTokenOptimalAllocations = exports.computeAllocations = exports.capDepositAmountsToLpRatio = exports.calcSpotPrice = exports.validateWeights = exports.calcSpotOut = exports.calcTokensOutGivenBptIn = exports.calcBptOutGivenExactTokensIn = exports.calcOutGivenIn = exports.powFp = exports.expFp = exports.lnFp = exports.weightToFp = exports.complement = exports.divUp = exports.divDown = exports.mulUp = exports.mulDown = exports.ONE = exports.err = exports.ok = exports.resolveKnownToken = exports.KNOWN_TOKENS = exports.DEFAULT_RPC_ENDPOINT = exports.NETWORK_PROGRAMS = exports.MIN_SLIPPAGE_HBPS = exports.SLIPPAGE_PRECISION = exports.MINIMUM_INITIAL_BPT = exports.MAX_PROTOCOL_FEE_RATE = exports.MAX_SWAP_FEE_RATE = exports.PROTOCOL_FEE_PRECISION = exports.SWAP_FEE_PRECISION = exports.BPT_DECIMALS = exports.MAX_TOKENS = exports.MIN_TOKENS = exports.MAX_WEIGHT = exports.MIN_WEIGHT = exports.WEIGHT_SCALE = exports.TREASURY_SEED = exports.STLD_HELPER_SEED = exports.BPT_MINT_SEED = exports.CUBIC_POOL_SEED = exports.programId = exports.getConfig = void 0;
21
- exports.BorshReader = exports.parseCubicPoolEvents = exports.decodeMintAccount = exports.POOL_DISCRIMINATOR_LEN = exports.decodePoolAccount = exports.buildDeployPoolTx = exports.buildInitializeCubicPoolIx = exports.buildInitializeConfigIx = exports.buildSingleTokenDepositTx = exports.buildSingleTokenDepositIx = exports.buildRemoveLiquidityTx = exports.buildRemoveLiquidityIx = exports.buildAddLiquidityTx = exports.buildAddLiquidityIx = exports.buildSwapTx = exports.buildSwapIx = exports.AdminClient = exports.PoolFactoryClient = exports.SingleTokenDepositClient = exports.CubicPoolClient = void 0;
20
+ exports.priceImpactHbps = exports.lpBalances = exports.applySwapFee = exports.applySlippage = exports.computeTwoTokenOptimalAllocations = exports.computeAllocations = exports.capDepositAmountsToLpRatio = exports.calcSpotPrice = exports.validateWeights = exports.calcSpotOut = exports.calcTokensOutGivenBptIn = exports.calcBptOutGivenExactTokensIn = exports.calcOutGivenIn = exports.powFp = exports.expFp = exports.lnFp = exports.weightToFp = exports.complement = exports.divUp = exports.divDown = exports.mulUp = exports.mulDown = exports.ONE = exports.err = exports.ok = exports.resolveKnownToken = exports.KNOWN_TOKENS = exports.DEFAULT_RPC_TIMEOUT_MS = exports.DEFAULT_RPC_ENDPOINTS = exports.DEFAULT_RPC_ENDPOINT = exports.NETWORK_PROGRAMS = exports.MIN_SLIPPAGE_HBPS = exports.SLIPPAGE_PRECISION = exports.MINIMUM_INITIAL_BPT = exports.MAX_PROTOCOL_FEE_RATE = exports.MAX_SWAP_FEE_RATE = exports.PROTOCOL_FEE_PRECISION = exports.SWAP_FEE_PRECISION = exports.BPT_DECIMALS = exports.MAX_TOKENS = exports.MIN_TOKENS = exports.MAX_WEIGHT = exports.MIN_WEIGHT = exports.WEIGHT_SCALE = exports.TREASURY_SEED = exports.STLD_HELPER_SEED = exports.BPT_MINT_SEED = exports.CUBIC_POOL_SEED = exports.programId = exports.getConfig = void 0;
21
+ exports.BorshReader = exports.parseCubicPoolEvents = exports.decodeMintAccount = exports.POOL_DISCRIMINATOR_LEN = exports.decodePoolAccount = exports.buildDeployPoolTx = exports.buildInitializeCubicPoolIx = exports.buildInitializeConfigIx = exports.buildSingleTokenDepositTx = exports.buildSingleTokenDepositIx = exports.buildRemoveLiquidityTx = exports.buildRemoveLiquidityIx = exports.buildAddLiquidityTx = exports.buildAddLiquidityIx = exports.buildSwapTx = exports.buildSwapIx = exports.AdminClient = exports.PoolFactoryClient = exports.SingleTokenDepositClient = exports.CubicPoolClient = exports.CubeBackendClient = exports.RpcClient = void 0;
22
22
  /**
23
- * @cube/sdk — client library for the Cubic Pool AMM on Solana.
23
+ * @cubee_ee/sdk — client library for the Cubic Pool AMM on Solana.
24
24
  *
25
25
  * Entry point barrel. Most consumers will want to import from this root:
26
26
  *
27
27
  * ```ts
28
- * import { CubicPoolClient, CubeBackendClient, getConfig } from "@cube/sdk";
28
+ * import { CubicPoolClient, CubeBackendClient, getConfig } from "@cubee_ee/sdk";
29
29
  *
30
30
  * const cfg = getConfig("mainnet", { backendEndpoint: "https://api.cube.fi" });
31
- * const pool = new CubicPoolClient({ config: cfg, poolAddress, rpc: { endpoint: cfg.defaults.rpcEndpoint } });
31
+ * const pool = new CubicPoolClient({ config: cfg, poolAddress });
32
32
  * const info = await pool.sync();
33
33
  * if (info.ok) console.log(info.data.tokens.map(t => t.metadata?.symbol));
34
34
  * ```
@@ -65,6 +65,8 @@ Object.defineProperty(exports, "MIN_SLIPPAGE_HBPS", { enumerable: true, get: fun
65
65
  var networks_1 = require("./config/networks");
66
66
  Object.defineProperty(exports, "NETWORK_PROGRAMS", { enumerable: true, get: function () { return networks_1.NETWORK_PROGRAMS; } });
67
67
  Object.defineProperty(exports, "DEFAULT_RPC_ENDPOINT", { enumerable: true, get: function () { return networks_1.DEFAULT_RPC_ENDPOINT; } });
68
+ Object.defineProperty(exports, "DEFAULT_RPC_ENDPOINTS", { enumerable: true, get: function () { return networks_1.DEFAULT_RPC_ENDPOINTS; } });
69
+ Object.defineProperty(exports, "DEFAULT_RPC_TIMEOUT_MS", { enumerable: true, get: function () { return networks_1.DEFAULT_RPC_TIMEOUT_MS; } });
68
70
  var tokens_1 = require("./config/tokens");
69
71
  Object.defineProperty(exports, "KNOWN_TOKENS", { enumerable: true, get: function () { return tokens_1.KNOWN_TOKENS; } });
70
72
  Object.defineProperty(exports, "resolveKnownToken", { enumerable: true, get: function () { return tokens_1.resolveKnownToken; } });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -41,7 +41,7 @@ function toSdkError(cause) {
41
41
  if (/429|rate limit/i.test(msg)) {
42
42
  return { code: "rpc_rate_limited", humanMessage: "RPC rate-limited — slow down", cause };
43
43
  }
44
- if (/fetch failed|ECONNREFUSED|ENOTFOUND/i.test(msg)) {
44
+ if (/fetch failed|ECONNREFUSED|ENOTFOUND|Proxy error|-32056|-32052|403/i.test(msg)) {
45
45
  return { code: "rpc_unavailable", humanMessage: "RPC endpoint unreachable", cause };
46
46
  }
47
47
  if (/Account does not exist|account not found/i.test(msg)) {
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cubee_ee/sdk",
3
- "version": "0.1.5",
3
+ "version": "0.1.6",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -37,12 +37,15 @@ import { SingleTokenDepositClient } from "./SingleTokenDepositClient";
37
37
  export interface CubicPoolClientParams {
38
38
  config: CubeConfig;
39
39
  poolAddress: PublicKey;
40
- rpc:
40
+ rpc?:
41
41
  | RpcClient
42
42
  | {
43
- endpoint: string;
43
+ endpoint?: string;
44
+ endpoints?: string[];
45
+ fallbackEndpoints?: string[];
44
46
  apiKey?: string;
45
47
  commitment?: Commitment;
48
+ timeoutMs?: number;
46
49
  };
47
50
  }
48
51
 
@@ -64,9 +67,12 @@ export class CubicPoolClient {
64
67
  params.rpc instanceof RpcClient
65
68
  ? params.rpc
66
69
  : new RpcClient({
67
- endpoint: params.rpc.endpoint,
68
- apiKey: params.rpc.apiKey,
69
- commitment: params.rpc.commitment ?? params.config.defaults.rpcCommitment,
70
+ endpoint: params.rpc?.endpoint,
71
+ endpoints: params.rpc?.endpoints ?? (params.rpc?.endpoint ? undefined : params.config.defaults.rpcEndpoints),
72
+ fallbackEndpoints: params.rpc?.fallbackEndpoints,
73
+ apiKey: params.rpc?.apiKey,
74
+ commitment: params.rpc?.commitment ?? params.config.defaults.rpcCommitment,
75
+ timeoutMs: params.rpc?.timeoutMs ?? params.config.defaults.rpcTimeoutMs,
70
76
  });
71
77
  }
72
78
 
@@ -1,13 +1,28 @@
1
1
  import { Commitment, Connection, PublicKey } from "@solana/web3.js";
2
2
  import { SdkResult } from "../types/result";
3
- import { safeCall, RetryOptions } from "../utils/retry";
3
+ import { RetryOptions } from "../utils/retry";
4
+ import { err, ok } from "../types/result";
5
+ import { toSdkError } from "../utils/errors";
4
6
 
5
7
  export interface RpcClientParams {
6
- endpoint: string;
8
+ endpoint?: string;
9
+ /** Ordered endpoint list. If provided, it is used as-is. */
10
+ endpoints?: string[];
11
+ /** Extra endpoints appended after `endpoint`. Ignored when `endpoints` is set. */
12
+ fallbackEndpoints?: string[];
7
13
  apiKey?: string;
8
14
  commitment?: Commitment;
9
15
  /** Optional headers (e.g. for Helius/Triton auth). */
10
16
  headers?: Record<string, string>;
17
+ /** Per-endpoint timeout before the next RPC endpoint is tried. */
18
+ timeoutMs?: number;
19
+ /** Backoff schedule between endpoint attempts. Defaults to no delay. */
20
+ backoffMs?: number[];
21
+ /** Test hook for injecting lightweight fake connections. */
22
+ connectionFactory?: (endpoint: string) => Pick<
23
+ Connection,
24
+ "getAccountInfo" | "getMultipleAccountsInfo" | "getSlot"
25
+ >;
11
26
  }
12
27
 
13
28
  /**
@@ -15,33 +30,51 @@ export interface RpcClientParams {
15
30
  * human-readable error mapping. Every public method returns a SdkResult<T>.
16
31
  */
17
32
  export class RpcClient {
18
- readonly connection: Connection;
33
+ readonly endpoints: string[];
34
+ private readonly connections: Array<Pick<
35
+ Connection,
36
+ "getAccountInfo" | "getMultipleAccountsInfo" | "getSlot"
37
+ >>;
19
38
  private readonly defaultCommitment: Commitment;
39
+ private readonly timeoutMs: number;
40
+ private readonly backoffMs: number[];
41
+ private activeEndpointIndex = 0;
20
42
 
21
43
  constructor(params: RpcClientParams) {
22
- const endpoint = params.apiKey
23
- ? appendApiKey(params.endpoint, params.apiKey)
24
- : params.endpoint;
25
44
  this.defaultCommitment = params.commitment ?? "confirmed";
26
- this.connection = new Connection(endpoint, {
27
- commitment: this.defaultCommitment,
28
- httpHeaders: params.headers,
29
- });
45
+ this.timeoutMs = params.timeoutMs ?? 2_000;
46
+ this.backoffMs = params.backoffMs ?? [];
47
+ this.endpoints = normalizeEndpoints(params);
48
+ if (this.endpoints.length === 0) {
49
+ throw new Error("RpcClient requires at least one endpoint");
50
+ }
51
+ this.connections = this.endpoints.map((endpoint) =>
52
+ params.connectionFactory
53
+ ? params.connectionFactory(endpoint)
54
+ : new Connection(endpoint, {
55
+ commitment: this.defaultCommitment,
56
+ httpHeaders: params.headers,
57
+ })
58
+ );
59
+ }
60
+
61
+ get connection(): Connection {
62
+ return this.connections[this.activeEndpointIndex] as Connection;
30
63
  }
31
64
 
32
65
  call<T>(
33
66
  fn: (conn: Connection) => Promise<T>,
34
67
  retry: RetryOptions = {}
35
68
  ): Promise<SdkResult<T>> {
36
- return safeCall(() => fn(this.connection), retry);
69
+ return this.callWithFallback((conn) => fn(conn as Connection), retry);
37
70
  }
38
71
 
39
72
  getAccountInfo(
40
73
  pk: PublicKey,
41
74
  retry: RetryOptions = {}
42
75
  ): Promise<SdkResult<{ data: Buffer; owner: PublicKey; lamports: number } | null>> {
43
- return safeCall(async () => {
44
- const info = await this.connection.getAccountInfo(pk, this.defaultCommitment);
76
+ return this.callWithFallback(async (conn) => {
77
+ const info = await conn.getAccountInfo(pk, this.defaultCommitment);
45
78
  if (!info) return null;
46
79
  return {
47
80
  data: info.data,
@@ -55,15 +88,89 @@ export class RpcClient {
55
88
  pks: PublicKey[],
56
89
  retry: RetryOptions = {}
57
90
  ): Promise<SdkResult<(Buffer | null)[]>> {
58
- return safeCall(async () => {
59
- const infos = await this.connection.getMultipleAccountsInfo(pks, this.defaultCommitment);
91
+ return this.callWithFallback(async (conn) => {
92
+ const infos = await conn.getMultipleAccountsInfo(pks, this.defaultCommitment);
60
93
  return infos.map((i) => (i ? i.data : null));
61
94
  }, retry);
62
95
  }
63
96
 
64
97
  getSlot(retry: RetryOptions = {}): Promise<SdkResult<number>> {
65
- return safeCall(() => this.connection.getSlot(this.defaultCommitment), retry);
98
+ return this.callWithFallback((conn) => conn.getSlot(this.defaultCommitment), retry);
66
99
  }
100
+
101
+ private async callWithFallback<T>(
102
+ operation: (conn: Pick<Connection, "getAccountInfo" | "getMultipleAccountsInfo" | "getSlot">) => Promise<T>,
103
+ retry: RetryOptions = {}
104
+ ): Promise<SdkResult<T>> {
105
+ const attempts = Math.max(1, retry.attempts ?? this.connections.length);
106
+ const timeoutMs = retry.timeoutMs ?? this.timeoutMs;
107
+ const shouldRetry = retry.shouldRetry ?? defaultShouldRetry;
108
+ let lastError: unknown;
109
+
110
+ for (let attempt = 0; attempt < attempts; attempt++) {
111
+ const endpointIndex = (this.activeEndpointIndex + attempt) % this.connections.length;
112
+ try {
113
+ const data = await withTimeout(operation(this.connections[endpointIndex]), timeoutMs);
114
+ this.activeEndpointIndex = endpointIndex;
115
+ return ok(data);
116
+ } catch (e) {
117
+ lastError = e;
118
+ if (!shouldRetry(e)) break;
119
+ if (attempt < attempts - 1) {
120
+ const delay = this.backoffMs[Math.min(attempt, this.backoffMs.length - 1)] ?? 0;
121
+ if (delay > 0) await sleep(delay);
122
+ }
123
+ }
124
+ }
125
+
126
+ const sdkError = toSdkError(lastError);
127
+ return err(sdkError.code, sdkError.humanMessage, lastError);
128
+ }
129
+ }
130
+
131
+ function normalizeEndpoints(params: RpcClientParams): string[] {
132
+ if (params.endpoints && params.endpoints.length > 0) {
133
+ return dedupe(params.endpoints);
134
+ }
135
+ const primary = params.endpoint
136
+ ? params.apiKey
137
+ ? appendApiKey(params.endpoint, params.apiKey)
138
+ : params.endpoint
139
+ : undefined;
140
+ return dedupe([primary, ...(params.fallbackEndpoints ?? [])].filter(Boolean) as string[]);
141
+ }
142
+
143
+ function dedupe(endpoints: string[]): string[] {
144
+ return Array.from(new Set(endpoints));
145
+ }
146
+
147
+ function defaultShouldRetry(e: unknown): boolean {
148
+ const sdkError = toSdkError(e);
149
+ return (
150
+ sdkError.code === "rpc_timeout" ||
151
+ sdkError.code === "rpc_unavailable" ||
152
+ sdkError.code === "rpc_rate_limited"
153
+ );
154
+ }
155
+
156
+ function sleep(ms: number): Promise<void> {
157
+ return new Promise((resolve) => setTimeout(resolve, ms));
158
+ }
159
+
160
+ function withTimeout<T>(p: Promise<T>, ms: number): Promise<T> {
161
+ return new Promise((resolve, reject) => {
162
+ const h = setTimeout(() => reject(new Error(`timed out after ${ms}ms`)), ms);
163
+ p.then(
164
+ (v) => {
165
+ clearTimeout(h);
166
+ resolve(v);
167
+ },
168
+ (e) => {
169
+ clearTimeout(h);
170
+ reject(e);
171
+ }
172
+ );
173
+ });
67
174
  }
68
175
 
69
176
  function appendApiKey(endpoint: string, apiKey: string): string {
@@ -17,7 +17,14 @@ export interface SingleTokenDepositClientParams {
17
17
  config: CubeConfig;
18
18
  poolAddress: PublicKey;
19
19
  /** Optional — reuses an existing one if provided. */
20
- rpc?: RpcClient | { endpoint: string; apiKey?: string; commitment?: Commitment };
20
+ rpc?: RpcClient | {
21
+ endpoint?: string;
22
+ endpoints?: string[];
23
+ fallbackEndpoints?: string[];
24
+ apiKey?: string;
25
+ commitment?: Commitment;
26
+ timeoutMs?: number;
27
+ };
21
28
  /**
22
29
  * Optional parent pool client — lets the deposit client reuse an already
23
30
  * synced PoolInfo instead of making a fresh RPC round-trip.
@@ -48,8 +55,9 @@ export class SingleTokenDepositClient {
48
55
  rpc:
49
56
  params.rpc ??
50
57
  {
51
- endpoint: params.config.defaults.rpcEndpoint,
58
+ endpoints: params.config.defaults.rpcEndpoints,
52
59
  commitment: params.config.defaults.rpcCommitment,
60
+ timeoutMs: params.config.defaults.rpcTimeoutMs,
53
61
  },
54
62
  });
55
63
  }
@@ -1,5 +1,12 @@
1
1
  import { Commitment, PublicKey } from "@solana/web3.js";
2
- import { NETWORK_PROGRAMS, NetworkPrograms, Network, DEFAULT_RPC_ENDPOINT } from "./networks";
2
+ import {
3
+ NETWORK_PROGRAMS,
4
+ NetworkPrograms,
5
+ Network,
6
+ DEFAULT_RPC_ENDPOINT,
7
+ DEFAULT_RPC_ENDPOINTS,
8
+ DEFAULT_RPC_TIMEOUT_MS,
9
+ } from "./networks";
3
10
  import { TokenInfo } from "./tokens";
4
11
 
5
12
  export * from "./networks";
@@ -14,6 +21,8 @@ export interface CubeConfig {
14
21
  programs: NetworkPrograms;
15
22
  defaults: {
16
23
  rpcEndpoint: string;
24
+ rpcEndpoints: string[];
25
+ rpcTimeoutMs: number;
17
26
  rpcCommitment: Commitment;
18
27
  /** Used by helpers that prepend a ComputeBudget instruction. */
19
28
  cuLimit: number;
@@ -32,6 +41,8 @@ export interface CubeConfig {
32
41
 
33
42
  export interface CubeConfigOverrides {
34
43
  rpcEndpoint?: string;
44
+ rpcEndpoints?: string[];
45
+ rpcTimeoutMs?: number;
35
46
  rpcCommitment?: Commitment;
36
47
  cuLimit?: number;
37
48
  slippageHundredthsBps?: number;
@@ -41,11 +52,14 @@ export interface CubeConfigOverrides {
41
52
 
42
53
  /** Build a CubeConfig for the named network with optional overrides. */
43
54
  export function getConfig(network: Network, overrides: CubeConfigOverrides = {}): CubeConfig {
55
+ const rpcEndpoints = resolveRpcEndpoints(network, overrides);
44
56
  return {
45
57
  network,
46
58
  programs: NETWORK_PROGRAMS[network],
47
59
  defaults: {
48
- rpcEndpoint: overrides.rpcEndpoint ?? DEFAULT_RPC_ENDPOINT[network],
60
+ rpcEndpoint: rpcEndpoints[0] ?? overrides.rpcEndpoint ?? DEFAULT_RPC_ENDPOINT[network],
61
+ rpcEndpoints,
62
+ rpcTimeoutMs: overrides.rpcTimeoutMs ?? DEFAULT_RPC_TIMEOUT_MS,
49
63
  rpcCommitment: overrides.rpcCommitment ?? "confirmed",
50
64
  cuLimit: overrides.cuLimit ?? 1_400_000,
51
65
  slippageHundredthsBps: overrides.slippageHundredthsBps ?? 50_000,
@@ -55,6 +69,20 @@ export function getConfig(network: Network, overrides: CubeConfigOverrides = {})
55
69
  };
56
70
  }
57
71
 
72
+ function resolveRpcEndpoints(network: Network, overrides: CubeConfigOverrides): string[] {
73
+ if (overrides.rpcEndpoints && overrides.rpcEndpoints.length > 0) {
74
+ return dedupe(overrides.rpcEndpoints);
75
+ }
76
+ if (overrides.rpcEndpoint) {
77
+ return dedupe([overrides.rpcEndpoint, ...DEFAULT_RPC_ENDPOINTS[network]]);
78
+ }
79
+ return [...DEFAULT_RPC_ENDPOINTS[network]];
80
+ }
81
+
82
+ function dedupe(values: string[]): string[] {
83
+ return Array.from(new Set(values));
84
+ }
85
+
58
86
  export const CUBIC_POOL_SEED = Buffer.from("cubic_pool");
59
87
  export const BPT_MINT_SEED = Buffer.from("bpt_mint");
60
88
  export const STLD_HELPER_SEED = Buffer.from("stld_helper");
@@ -47,3 +47,15 @@ export const DEFAULT_RPC_ENDPOINT: Record<Network, string> = {
47
47
  devnet: "https://api.devnet.solana.com",
48
48
  localnet: "http://127.0.0.1:8899",
49
49
  };
50
+
51
+ export const DEFAULT_RPC_ENDPOINTS: Record<Network, string[]> = {
52
+ mainnet: [
53
+ "https://api.mainnet-beta.solana.com",
54
+ "https://solana-rpc.publicnode.com",
55
+ "https://solana.api.pocket.network",
56
+ ],
57
+ devnet: ["https://api.devnet.solana.com"],
58
+ localnet: ["http://127.0.0.1:8899"],
59
+ };
60
+
61
+ export const DEFAULT_RPC_TIMEOUT_MS = 2_000;
package/src/index.ts CHANGED
@@ -3,15 +3,15 @@
3
3
  // See LICENSE at the repository root.
4
4
 
5
5
  /**
6
- * @cube/sdk — client library for the Cubic Pool AMM on Solana.
6
+ * @cubee_ee/sdk — client library for the Cubic Pool AMM on Solana.
7
7
  *
8
8
  * Entry point barrel. Most consumers will want to import from this root:
9
9
  *
10
10
  * ```ts
11
- * import { CubicPoolClient, CubeBackendClient, getConfig } from "@cube/sdk";
11
+ * import { CubicPoolClient, CubeBackendClient, getConfig } from "@cubee_ee/sdk";
12
12
  *
13
13
  * const cfg = getConfig("mainnet", { backendEndpoint: "https://api.cube.fi" });
14
- * const pool = new CubicPoolClient({ config: cfg, poolAddress, rpc: { endpoint: cfg.defaults.rpcEndpoint } });
14
+ * const pool = new CubicPoolClient({ config: cfg, poolAddress });
15
15
  * const info = await pool.sync();
16
16
  * if (info.ok) console.log(info.data.tokens.map(t => t.metadata?.symbol));
17
17
  * ```
@@ -48,7 +48,12 @@ export {
48
48
  SLIPPAGE_PRECISION,
49
49
  MIN_SLIPPAGE_HBPS,
50
50
  } from "./config";
51
- export { NETWORK_PROGRAMS, DEFAULT_RPC_ENDPOINT } from "./config/networks";
51
+ export {
52
+ NETWORK_PROGRAMS,
53
+ DEFAULT_RPC_ENDPOINT,
54
+ DEFAULT_RPC_ENDPOINTS,
55
+ DEFAULT_RPC_TIMEOUT_MS,
56
+ } from "./config/networks";
52
57
  export { KNOWN_TOKENS, resolveKnownToken } from "./config/tokens";
53
58
  export { ok, err } from "./types/result";
54
59
  export {
@@ -41,7 +41,7 @@ export function toSdkError(cause: unknown): SdkError {
41
41
  if (/429|rate limit/i.test(msg)) {
42
42
  return { code: "rpc_rate_limited", humanMessage: "RPC rate-limited — slow down", cause };
43
43
  }
44
- if (/fetch failed|ECONNREFUSED|ENOTFOUND/i.test(msg)) {
44
+ if (/fetch failed|ECONNREFUSED|ENOTFOUND|Proxy error|-32056|-32052|403/i.test(msg)) {
45
45
  return { code: "rpc_unavailable", humanMessage: "RPC endpoint unreachable", cause };
46
46
  }
47
47
  if (/Account does not exist|account not found/i.test(msg)) {