@cubee_ee/sdk 0.2.1 → 0.2.3

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.
@@ -98,91 +98,6 @@ export declare const CUBIC_POOL_IDL: {
98
98
  name: string;
99
99
  type: string;
100
100
  })[];
101
- } | {
102
- name: string;
103
- docs: string[];
104
- discriminator: number[];
105
- accounts: ({
106
- name: string;
107
- docs: string[];
108
- writable: boolean;
109
- signer?: undefined;
110
- } | {
111
- name: string;
112
- docs: string[];
113
- writable?: undefined;
114
- signer?: undefined;
115
- } | {
116
- name: string;
117
- docs: string[];
118
- signer: boolean;
119
- writable?: undefined;
120
- } | {
121
- name: string;
122
- docs: string[];
123
- writable: boolean;
124
- signer: boolean;
125
- } | {
126
- name: string;
127
- docs?: undefined;
128
- writable?: undefined;
129
- signer?: undefined;
130
- })[];
131
- args: {
132
- name: string;
133
- type: string;
134
- }[];
135
- } | {
136
- name: string;
137
- docs: string[];
138
- discriminator: number[];
139
- accounts: ({
140
- name: string;
141
- writable: boolean;
142
- docs?: undefined;
143
- signer?: undefined;
144
- } | {
145
- name: string;
146
- docs: string[];
147
- writable?: undefined;
148
- signer?: undefined;
149
- } | {
150
- name: string;
151
- docs: string[];
152
- writable: boolean;
153
- signer: boolean;
154
- } | {
155
- name: string;
156
- writable?: undefined;
157
- docs?: undefined;
158
- signer?: undefined;
159
- })[];
160
- args: never[];
161
- } | {
162
- name: string;
163
- docs: string[];
164
- discriminator: number[];
165
- accounts: ({
166
- name: string;
167
- docs: string[];
168
- writable: boolean;
169
- signer?: undefined;
170
- } | {
171
- name: string;
172
- signer: boolean;
173
- docs?: undefined;
174
- writable?: undefined;
175
- })[];
176
- args: {
177
- name: string;
178
- type: {
179
- vec: {
180
- defined: {
181
- name: string;
182
- };
183
- };
184
- };
185
- }[];
186
101
  } | {
187
102
  name: string;
188
103
  docs: string[];
@@ -269,37 +184,6 @@ export declare const CUBIC_POOL_IDL: {
269
184
  };
270
185
  })[];
271
186
  };
272
- } | {
273
- name: string;
274
- type: {
275
- kind: string;
276
- fields: ({
277
- name: string;
278
- docs: string[];
279
- type: string;
280
- } | {
281
- name: string;
282
- type: string;
283
- docs?: undefined;
284
- } | {
285
- name: string;
286
- docs: string[];
287
- type: {
288
- array: (number | {
289
- defined: {
290
- name: string;
291
- };
292
- })[];
293
- };
294
- } | {
295
- name: string;
296
- docs: string[];
297
- type: {
298
- array: (string | number)[];
299
- };
300
- })[];
301
- };
302
- docs?: undefined;
303
187
  } | {
304
188
  name: string;
305
189
  docs: string[];
@@ -321,11 +205,7 @@ export declare const CUBIC_POOL_IDL: {
321
205
  kind: string;
322
206
  fields: {
323
207
  name: string;
324
- type: {
325
- defined: {
326
- name: string;
327
- };
328
- };
208
+ type: string;
329
209
  }[];
330
210
  };
331
211
  docs?: undefined;
@@ -772,91 +652,6 @@ export declare const IDLS: {
772
652
  name: string;
773
653
  type: string;
774
654
  })[];
775
- } | {
776
- name: string;
777
- docs: string[];
778
- discriminator: number[];
779
- accounts: ({
780
- name: string;
781
- docs: string[];
782
- writable: boolean;
783
- signer?: undefined;
784
- } | {
785
- name: string;
786
- docs: string[];
787
- writable?: undefined;
788
- signer?: undefined;
789
- } | {
790
- name: string;
791
- docs: string[];
792
- signer: boolean;
793
- writable?: undefined;
794
- } | {
795
- name: string;
796
- docs: string[];
797
- writable: boolean;
798
- signer: boolean;
799
- } | {
800
- name: string;
801
- docs?: undefined;
802
- writable?: undefined;
803
- signer?: undefined;
804
- })[];
805
- args: {
806
- name: string;
807
- type: string;
808
- }[];
809
- } | {
810
- name: string;
811
- docs: string[];
812
- discriminator: number[];
813
- accounts: ({
814
- name: string;
815
- writable: boolean;
816
- docs?: undefined;
817
- signer?: undefined;
818
- } | {
819
- name: string;
820
- docs: string[];
821
- writable?: undefined;
822
- signer?: undefined;
823
- } | {
824
- name: string;
825
- docs: string[];
826
- writable: boolean;
827
- signer: boolean;
828
- } | {
829
- name: string;
830
- writable?: undefined;
831
- docs?: undefined;
832
- signer?: undefined;
833
- })[];
834
- args: never[];
835
- } | {
836
- name: string;
837
- docs: string[];
838
- discriminator: number[];
839
- accounts: ({
840
- name: string;
841
- docs: string[];
842
- writable: boolean;
843
- signer?: undefined;
844
- } | {
845
- name: string;
846
- signer: boolean;
847
- docs?: undefined;
848
- writable?: undefined;
849
- })[];
850
- args: {
851
- name: string;
852
- type: {
853
- vec: {
854
- defined: {
855
- name: string;
856
- };
857
- };
858
- };
859
- }[];
860
655
  } | {
861
656
  name: string;
862
657
  docs: string[];
@@ -943,37 +738,6 @@ export declare const IDLS: {
943
738
  };
944
739
  })[];
945
740
  };
946
- } | {
947
- name: string;
948
- type: {
949
- kind: string;
950
- fields: ({
951
- name: string;
952
- docs: string[];
953
- type: string;
954
- } | {
955
- name: string;
956
- type: string;
957
- docs?: undefined;
958
- } | {
959
- name: string;
960
- docs: string[];
961
- type: {
962
- array: (number | {
963
- defined: {
964
- name: string;
965
- };
966
- })[];
967
- };
968
- } | {
969
- name: string;
970
- docs: string[];
971
- type: {
972
- array: (string | number)[];
973
- };
974
- })[];
975
- };
976
- docs?: undefined;
977
741
  } | {
978
742
  name: string;
979
743
  docs: string[];
@@ -995,11 +759,7 @@ export declare const IDLS: {
995
759
  kind: string;
996
760
  fields: {
997
761
  name: string;
998
- type: {
999
- defined: {
1000
- name: string;
1001
- };
1002
- };
762
+ type: string;
1003
763
  }[];
1004
764
  };
1005
765
  docs?: undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/idl/index.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAe,CAAC;AAC3C,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAmB,CAAC;AACnD,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA0B,CAAC;AAElE,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAIP,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/idl/index.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAe,CAAC;AAC3C,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAmB,CAAC;AACnD,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA0B,CAAC;AAElE,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAIP,CAAC"}
@@ -1,8 +1,15 @@
1
- import { SdkError } from "../types/result";
1
+ import { SdkError, SdkErrorCode } from "../types/result";
2
+ declare const CONTRACT_ERROR_MAP: Record<number, {
3
+ code: SdkErrorCode;
4
+ message: string;
5
+ }>;
2
6
  /**
3
7
  * Convert a raw error (possibly from Anchor, web3.js, or fetch) into a
4
8
  * cleanly-typed SdkError. Used by safeCall wrappers so callers always
5
9
  * get structured errors, never exceptions.
6
10
  */
7
11
  export declare function toSdkError(cause: unknown): SdkError;
12
+ /** @internal Exported for tests */
13
+ export declare function contractErrorMapForTests(): typeof CONTRACT_ERROR_MAP;
14
+ export {};
8
15
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAgB,MAAM,iBAAiB,CAAC;AAoBzD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ,CA4BnD"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AA4CzD,QAAA,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAW7E,CAAC;AAEJ;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ,CA4BnD;AA0BD,mCAAmC;AACnC,wBAAgB,wBAAwB,IAAI,OAAO,kBAAkB,CAEpE"}
@@ -1,23 +1,59 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.toSdkError = toSdkError;
4
- const CONTRACT_ERROR_MAP = {
5
- // cubic-pool error codes (see programs/cubic-pool/src/errors.rs)
6
- 6000: { code: "invalid_input", message: "Invalid token count" },
7
- 6001: { code: "invalid_input", message: "Invalid token index" },
8
- 6002: { code: "invalid_input", message: "Invalid weights — must sum to 10000" },
9
- 6003: { code: "invalid_input", message: "Invalid virtual balances" },
10
- 6004: { code: "insufficient_funds", message: "Insufficient pool liquidity" },
11
- 6005: { code: "slippage_exceeded", message: "Slippage tolerance exceeded" },
12
- 6006: { code: "invalid_input", message: "Invalid token amounts" },
13
- 6007: { code: "slippage_exceeded", message: "BPT received is below the minimum requested" },
14
- 6009: { code: "invalid_input", message: "Swap fee rate exceeds the allowed maximum" },
15
- 6011: { code: "math_overflow", message: "Math overflow" },
16
- 6012: { code: "math_overflow", message: "Math underflow" },
17
- 6022: { code: "pool_disabled", message: "Pool is disabled" },
18
- 6023: { code: "swaps_disabled", message: "Swaps are disabled on this pool" },
19
- 6025: { code: "invalid_input", message: "Zero amount" },
7
+ exports.contractErrorMapForTests = contractErrorMapForTests;
8
+ const cubic_pool_json_1 = __importDefault(require("../idl/cubic_pool.json"));
9
+ const ANCHOR_NAME_TO_SDK = {
10
+ InvalidTokenCount: "invalid_input",
11
+ InvalidTokenIndex: "invalid_input",
12
+ InvalidWeights: "invalid_input",
13
+ InvalidVirtualBalances: "invalid_input",
14
+ InsufficientLiquidity: "insufficient_funds",
15
+ SlippageExceeded: "slippage_exceeded",
16
+ InvalidAmounts: "invalid_input",
17
+ InsufficientBptOut: "slippage_exceeded",
18
+ InsufficientTokensOut: "slippage_exceeded",
19
+ FeeRateMaxExceeded: "invalid_input",
20
+ ProtocolFeeRateMaxExceeded: "invalid_input",
21
+ MathOverflow: "math_overflow",
22
+ MathUnderflow: "math_overflow",
23
+ DivisionByZero: "math_overflow",
24
+ TokenMintMismatch: "invalid_input",
25
+ InvalidTokenDecimals: "invalid_input",
26
+ AmountOutExceedsBalance: "invalid_input",
27
+ InvalidBptAmount: "invalid_input",
28
+ Unauthorized: "invalid_input",
29
+ InvalidMint: "invalid_input",
30
+ PoolDisabled: "pool_disabled",
31
+ SwapsDisabled: "swaps_disabled",
32
+ PoolMustBeDisabled: "invalid_input",
33
+ ZeroAmount: "invalid_input",
34
+ ZeroFeeAmount: "invalid_input",
35
+ BannedExtension: "invalid_input",
36
+ TokenProgramMismatch: "invalid_input",
37
+ UserTokenAccountOwnerMismatch: "invalid_input",
38
+ InitialLiquidityTooSmall: "invalid_input",
39
+ InvalidTokenProgram: "invalid_input",
40
+ InvalidVault: "invalid_input",
41
+ InvalidSourceOwner: "invalid_input",
42
+ WouldBreakRentExempt: "invalid_input",
43
+ PoolAdminDisabled: "invalid_input",
44
+ ProtocolAdminUnset: "invalid_input",
45
+ NoPendingAdmin: "invalid_input",
46
+ NotPendingAdmin: "invalid_input",
47
+ InvalidPendingAdmin: "invalid_input",
48
+ ProtocolAdminNotTreasury: "invalid_input",
20
49
  };
50
+ const CONTRACT_ERROR_MAP = Object.fromEntries(cubic_pool_json_1.default.errors.map((anchorError) => [
51
+ anchorError.code,
52
+ {
53
+ code: ANCHOR_NAME_TO_SDK[anchorError.name] ?? "invalid_input",
54
+ message: anchorError.msg,
55
+ },
56
+ ]));
21
57
  /**
22
58
  * Convert a raw error (possibly from Anchor, web3.js, or fetch) into a
23
59
  * cleanly-typed SdkError. Used by safeCall wrappers so callers always
@@ -39,7 +75,7 @@ function toSdkError(cause) {
39
75
  return { code: "rpc_timeout", humanMessage: "RPC timed out", cause };
40
76
  }
41
77
  if (/429|rate limit/i.test(msg)) {
42
- return { code: "rpc_rate_limited", humanMessage: "RPC rate-limited slow down", cause };
78
+ return { code: "rpc_rate_limited", humanMessage: "RPC rate-limited - slow down", cause };
43
79
  }
44
80
  if (/fetch failed|ECONNREFUSED|ENOTFOUND|Proxy error|-32056|-32052|403/i.test(msg)) {
45
81
  return { code: "rpc_unavailable", humanMessage: "RPC endpoint unreachable", cause };
@@ -80,4 +116,8 @@ function extractErrorCode(msg) {
80
116
  return parseInt(dec[1], 10);
81
117
  return null;
82
118
  }
119
+ /** @internal Exported for tests */
120
+ function contractErrorMapForTests() {
121
+ return CONTRACT_ERROR_MAP;
122
+ }
83
123
  //# sourceMappingURL=errors.js.map
@@ -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.2.1",
3
+ "version": "0.2.3",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -407,12 +407,25 @@ export class CubicPoolClient {
407
407
  const poolRes = this.requireCache();
408
408
  if (!poolRes.ok) return poolRes;
409
409
  const slip = params.slippageHundredthsBps ?? this.config.defaults.slippageHundredthsBps;
410
- const minOut = params.minAmountOut
411
- ? params.minAmountOut
412
- : (() => {
413
- const q = this.quoteSwap(params.tokenInIndex, params.tokenOutIndex, params.amountIn, slip);
414
- return q.ok ? q.data.minAmountOut : new BN(0);
415
- })();
410
+ let minOut: BN;
411
+ if (params.minAmountOut) {
412
+ minOut = params.minAmountOut;
413
+ } else {
414
+ const q = this.quoteSwap(
415
+ params.tokenInIndex,
416
+ params.tokenOutIndex,
417
+ params.amountIn,
418
+ slip
419
+ );
420
+ if (!q.ok) {
421
+ return err(
422
+ q.error.code,
423
+ `Cannot build swap without minAmountOut: ${q.error.humanMessage}`,
424
+ q.error.cause
425
+ );
426
+ }
427
+ minOut = q.data.minAmountOut;
428
+ }
416
429
  try {
417
430
  const tx = buildSwapTx(this.config, poolRes.data, { ...params, minAmountOut: minOut });
418
431
  return ok(tx);
@@ -16,41 +16,41 @@ export const NETWORK_PROGRAMS: Record<Network, NetworkPrograms> = {
16
16
  // disabled in the frontend. If/when stld ships on mainnet, replace this
17
17
  // with the real mainnet program ID.
18
18
  singleTokenLiquidity: new PublicKey(
19
- "7BpdUH1tzTSXLuQNo6YpjJ8Eagw8AkrS6cnkxiJdCFS2"
19
+ "7BpdUH1tzTSXLuQNo6YpjJ8Eagw8AkrS6cnkxiJdCFS2",
20
20
  ),
21
21
  protocolAdmin: new PublicKey(
22
- "3jiojHZbjJQ7QLMGSTjFwxVEmx4NtuRy34nLAmsJME81"
22
+ "3jiojHZbjJQ7QLMGSTjFwxVEmx4NtuRy34nLAmsJME81",
23
23
  ),
24
24
  },
25
25
  devnet: {
26
26
  cubicPool: new PublicKey("8iQtGj9mcUfFUGaiCpPy89swC3s8YTC8FhVZWfgeZhwu"),
27
27
  singleTokenLiquidity: new PublicKey(
28
- "7BpdUH1tzTSXLuQNo6YpjJ8Eagw8AkrS6cnkxiJdCFS2"
28
+ "7BpdUH1tzTSXLuQNo6YpjJ8Eagw8AkrS6cnkxiJdCFS2",
29
29
  ),
30
30
  protocolAdmin: new PublicKey(
31
- "3jiojHZbjJQ7QLMGSTjFwxVEmx4NtuRy34nLAmsJME81"
31
+ "3jiojHZbjJQ7QLMGSTjFwxVEmx4NtuRy34nLAmsJME81",
32
32
  ),
33
33
  },
34
34
  localnet: {
35
35
  cubicPool: new PublicKey("8iQtGj9mcUfFUGaiCpPy89swC3s8YTC8FhVZWfgeZhwu"),
36
36
  singleTokenLiquidity: new PublicKey(
37
- "7BpdUH1tzTSXLuQNo6YpjJ8Eagw8AkrS6cnkxiJdCFS2"
37
+ "7BpdUH1tzTSXLuQNo6YpjJ8Eagw8AkrS6cnkxiJdCFS2",
38
38
  ),
39
39
  protocolAdmin: new PublicKey(
40
- "3jiojHZbjJQ7QLMGSTjFwxVEmx4NtuRy34nLAmsJME81"
40
+ "3jiojHZbjJQ7QLMGSTjFwxVEmx4NtuRy34nLAmsJME81",
41
41
  ),
42
42
  },
43
43
  };
44
44
 
45
45
  export const DEFAULT_RPC_ENDPOINT: Record<Network, string> = {
46
- mainnet: "https://api.mainnet-beta.solana.com",
46
+ mainnet: "https://solana.drpc.org",
47
47
  devnet: "https://api.devnet.solana.com",
48
48
  localnet: "http://127.0.0.1:8899",
49
49
  };
50
50
 
51
51
  export const DEFAULT_RPC_ENDPOINTS: Record<Network, string[]> = {
52
52
  mainnet: [
53
- "https://api.mainnet-beta.solana.com",
53
+ "https://solana.drpc.org",
54
54
  "https://solana-rpc.publicnode.com",
55
55
  "https://solana.api.pocket.network",
56
56
  ],