@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 +15 -2
- package/dist/clients/CubicPoolClient.d.ts +5 -2
- package/dist/clients/CubicPoolClient.d.ts.map +1 -1
- package/dist/clients/CubicPoolClient.js +6 -3
- package/dist/clients/CubicPoolClient.js.map +1 -1
- package/dist/clients/RpcClient.d.ts +18 -2
- package/dist/clients/RpcClient.d.ts.map +1 -1
- package/dist/clients/RpcClient.js +85 -14
- package/dist/clients/RpcClient.js.map +1 -1
- package/dist/clients/SingleTokenDepositClient.d.ts +4 -1
- package/dist/clients/SingleTokenDepositClient.d.ts.map +1 -1
- package/dist/clients/SingleTokenDepositClient.js +2 -1
- package/dist/clients/SingleTokenDepositClient.js.map +1 -1
- package/dist/config/index.d.ts +4 -0
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +16 -1
- package/dist/config/index.js.map +1 -1
- package/dist/config/networks.d.ts +2 -0
- package/dist/config/networks.d.ts.map +1 -1
- package/dist/config/networks.js +11 -1
- package/dist/config/networks.js.map +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -5
- package/dist/index.js.map +1 -1
- package/dist/utils/errors.js +1 -1
- package/dist/utils/errors.js.map +1 -1
- package/package.json +1 -1
- package/src/clients/CubicPoolClient.ts +11 -5
- package/src/clients/RpcClient.ts +123 -16
- package/src/clients/SingleTokenDepositClient.ts +10 -2
- package/src/config/index.ts +30 -2
- package/src/config/networks.ts +12 -0
- package/src/index.ts +9 -4
- package/src/utils/errors.ts +1 -1
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 "@
|
|
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
|
|
15
|
-
endpoint
|
|
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,
|
|
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
|
|
33
|
-
|
|
34
|
-
|
|
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
|
|
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
|
|
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,
|
|
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
|
|
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
|
-
|
|
13
|
-
? appendApiKey(params.endpoint, params.apiKey)
|
|
14
|
-
: params.endpoint;
|
|
13
|
+
this.activeEndpointIndex = 0;
|
|
15
14
|
this.defaultCommitment = params.commitment ?? "confirmed";
|
|
16
|
-
this.
|
|
17
|
-
|
|
18
|
-
|
|
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
|
|
32
|
+
return this.callWithFallback((conn) => fn(conn), retry);
|
|
23
33
|
}
|
|
24
34
|
getAccountInfo(pk, retry = {}) {
|
|
25
|
-
return
|
|
26
|
-
const info = await
|
|
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
|
|
38
|
-
const infos = await
|
|
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
|
|
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;
|
|
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
|
|
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;
|
|
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
|
-
|
|
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;
|
|
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"}
|
package/dist/config/index.d.ts
CHANGED
|
@@ -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,
|
|
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"}
|
package/dist/config/index.js
CHANGED
|
@@ -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");
|
package/dist/config/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;
|
|
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"}
|
package/dist/config/networks.js
CHANGED
|
@@ -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
|
-
* @
|
|
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 "@
|
|
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
|
|
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";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;GAaG;AAEH,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC;AAItB,OAAO,EACL,SAAS,EACT,SAAS,EACT,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,YAAY,EACZ,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,YAAY,EACZ,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,UAAU,CAAC;AAClB,OAAO,
|
|
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.
|
|
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
|
-
* @
|
|
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 "@
|
|
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
|
|
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":";AAAA,+BAA+B;AAC/B,iDAAiD;AACjD,sCAAsC;;;;;;;;;;;;;;;;;;AAEtC;;;;;;;;;;;;;GAaG;AAEH,2CAAyB;AACzB,0CAAwB;AACxB,0CAAwB;AACxB,yCAAuB;AACvB,4CAA0B;AAC1B,4CAA0B;AAC1B,wCAAsB;AAEtB,+EAA+E;AAC/E,yEAAyE;AACzE,mCAoBkB;AAnBhB,mGAAA,SAAS,OAAA;AACT,mGAAA,SAAS,OAAA;AACT,yGAAA,eAAe,OAAA;AACf,uGAAA,aAAa,OAAA;AACb,0GAAA,gBAAgB,OAAA;AAChB,uGAAA,aAAa,OAAA;AACb,sGAAA,YAAY,OAAA;AACZ,oGAAA,UAAU,OAAA;AACV,oGAAA,UAAU,OAAA;AACV,oGAAA,UAAU,OAAA;AACV,oGAAA,UAAU,OAAA;AACV,sGAAA,YAAY,OAAA;AACZ,4GAAA,kBAAkB,OAAA;AAClB,gHAAA,sBAAsB,OAAA;AACtB,2GAAA,iBAAiB,OAAA;AACjB,+GAAA,qBAAqB,OAAA;AACrB,6GAAA,mBAAmB,OAAA;AACnB,4GAAA,kBAAkB,OAAA;AAClB,2GAAA,iBAAiB,OAAA;AAEnB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/errors.js
CHANGED
|
@@ -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)) {
|
package/dist/utils/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":";;AAyBA,gCA4BC;AAnDD,MAAM,kBAAkB,GAA4D;IAClF,iEAAiE;IACjE,IAAI,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,qBAAqB,EAAE;IAC/D,IAAI,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,qBAAqB,EAAE;IAC/D,IAAI,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,qCAAqC,EAAE;IAC/E,IAAI,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,0BAA0B,EAAE;IACpE,IAAI,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,6BAA6B,EAAE;IAC5E,IAAI,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,6BAA6B,EAAE;IAC3E,IAAI,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,uBAAuB,EAAE;IACjE,IAAI,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,6CAA6C,EAAE;IAC3F,IAAI,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,2CAA2C,EAAE;IACrF,IAAI,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,eAAe,EAAE;IACzD,IAAI,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,gBAAgB,EAAE;IAC1D,IAAI,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,kBAAkB,EAAE;IAC5D,IAAI,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,iCAAiC,EAAE;IAC5E,IAAI,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,aAAa,EAAE;CACxD,CAAC;AAEF;;;;GAIG;AACH,SAAgB,UAAU,CAAC,KAAc;IACvC,gCAAgC;IAChC,MAAM,GAAG,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACnC,IAAI,IAAI,KAAK,IAAI,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9C,OAAO;YACL,IAAI,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC,IAAI;YACnC,YAAY,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC,OAAO;YAC9C,KAAK;SACN,CAAC;IACJ,CAAC;IACD,yBAAyB;IACzB,IAAI,wBAAwB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACvC,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC;IACvE,CAAC;IACD,IAAI,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAChC,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,YAAY,EAAE,8BAA8B,EAAE,KAAK,EAAE,CAAC;IAC3F,CAAC;IACD,IAAI,
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -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
|
|
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
|
|
68
|
-
|
|
69
|
-
|
|
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
|
|
package/src/clients/RpcClient.ts
CHANGED
|
@@ -1,13 +1,28 @@
|
|
|
1
1
|
import { Commitment, Connection, PublicKey } from "@solana/web3.js";
|
|
2
2
|
import { SdkResult } from "../types/result";
|
|
3
|
-
import {
|
|
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
|
|
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
|
|
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.
|
|
27
|
-
|
|
28
|
-
|
|
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
|
|
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
|
|
44
|
-
const info = await
|
|
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
|
|
59
|
-
const infos = await
|
|
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
|
|
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 | {
|
|
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
|
-
|
|
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
|
}
|
package/src/config/index.ts
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
import { Commitment, PublicKey } from "@solana/web3.js";
|
|
2
|
-
import {
|
|
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");
|
package/src/config/networks.ts
CHANGED
|
@@ -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
|
-
* @
|
|
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 "@
|
|
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
|
|
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 {
|
|
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 {
|
package/src/utils/errors.ts
CHANGED
|
@@ -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)) {
|