@coffer_so/sdk 1.0.0
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/LICENSE +21 -0
- package/README.md +283 -0
- package/dist/clients/AdminClient.d.ts +194 -0
- package/dist/clients/AdminClient.d.ts.map +1 -0
- package/dist/clients/AdminClient.js +482 -0
- package/dist/clients/AdminClient.js.map +1 -0
- package/dist/clients/CofferBackendClient.d.ts +877 -0
- package/dist/clients/CofferBackendClient.d.ts.map +1 -0
- package/dist/clients/CofferBackendClient.js +536 -0
- package/dist/clients/CofferBackendClient.js.map +1 -0
- package/dist/clients/CubeBackendClient.d.ts +877 -0
- package/dist/clients/CubeBackendClient.d.ts.map +1 -0
- package/dist/clients/CubeBackendClient.js +536 -0
- package/dist/clients/CubeBackendClient.js.map +1 -0
- package/dist/clients/CubicPoolClient.d.ts +120 -0
- package/dist/clients/CubicPoolClient.d.ts.map +1 -0
- package/dist/clients/CubicPoolClient.js +687 -0
- package/dist/clients/CubicPoolClient.js.map +1 -0
- package/dist/clients/PoolFactoryClient.d.ts +53 -0
- package/dist/clients/PoolFactoryClient.d.ts.map +1 -0
- package/dist/clients/PoolFactoryClient.js +91 -0
- package/dist/clients/PoolFactoryClient.js.map +1 -0
- package/dist/clients/RpcClient.d.ts +49 -0
- package/dist/clients/RpcClient.d.ts.map +1 -0
- package/dist/clients/RpcClient.js +135 -0
- package/dist/clients/RpcClient.js.map +1 -0
- package/dist/clients/SingleTokenDepositClient.d.ts +67 -0
- package/dist/clients/SingleTokenDepositClient.d.ts.map +1 -0
- package/dist/clients/SingleTokenDepositClient.js +105 -0
- package/dist/clients/SingleTokenDepositClient.js.map +1 -0
- package/dist/clients/contract-instructions.d.ts +24 -0
- package/dist/clients/contract-instructions.d.ts.map +1 -0
- package/dist/clients/contract-instructions.js +130 -0
- package/dist/clients/contract-instructions.js.map +1 -0
- package/dist/clients/index.d.ts +10 -0
- package/dist/clients/index.d.ts.map +1 -0
- package/dist/clients/index.js +26 -0
- package/dist/clients/index.js.map +1 -0
- package/dist/clients/quote-math.d.ts +15 -0
- package/dist/clients/quote-math.d.ts.map +1 -0
- package/dist/clients/quote-math.js +98 -0
- package/dist/clients/quote-math.js.map +1 -0
- package/dist/clients/tx-builders.d.ts +231 -0
- package/dist/clients/tx-builders.d.ts.map +1 -0
- package/dist/clients/tx-builders.js +861 -0
- package/dist/clients/tx-builders.js.map +1 -0
- package/dist/clients/versioned.d.ts +34 -0
- package/dist/clients/versioned.d.ts.map +1 -0
- package/dist/clients/versioned.js +55 -0
- package/dist/clients/versioned.js.map +1 -0
- package/dist/config/index.d.ts +65 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +75 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/networks.d.ts +12 -0
- package/dist/config/networks.d.ts.map +1 -0
- package/dist/config/networks.js +51 -0
- package/dist/config/networks.js.map +1 -0
- package/dist/config/tokens.d.ts +19 -0
- package/dist/config/tokens.d.ts.map +1 -0
- package/dist/config/tokens.js +43 -0
- package/dist/config/tokens.js.map +1 -0
- package/dist/idl/cubic_pool.json +4203 -0
- package/dist/idl/index.d.ts +1769 -0
- package/dist/idl/index.d.ts.map +1 -0
- package/dist/idl/index.js +18 -0
- package/dist/idl/index.js.map +1 -0
- package/dist/idl/protocol_admin.json +2615 -0
- package/dist/idl/single_token_liquidity.json +1121 -0
- package/dist/index.d.ts +75 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +206 -0
- package/dist/index.js.map +1 -0
- package/dist/math/cubicMath.d.ts +40 -0
- package/dist/math/cubicMath.d.ts.map +1 -0
- package/dist/math/cubicMath.js +82 -0
- package/dist/math/cubicMath.js.map +1 -0
- package/dist/math/fixedPoint.d.ts +19 -0
- package/dist/math/fixedPoint.d.ts.map +1 -0
- package/dist/math/fixedPoint.js +86 -0
- package/dist/math/fixedPoint.js.map +1 -0
- package/dist/math/index.d.ts +9 -0
- package/dist/math/index.d.ts.map +1 -0
- package/dist/math/index.js +30 -0
- package/dist/math/index.js.map +1 -0
- package/dist/math/logExp.d.ts +6 -0
- package/dist/math/logExp.d.ts.map +1 -0
- package/dist/math/logExp.js +68 -0
- package/dist/math/logExp.js.map +1 -0
- package/dist/math/lpLoss.d.ts +44 -0
- package/dist/math/lpLoss.d.ts.map +1 -0
- package/dist/math/lpLoss.js +103 -0
- package/dist/math/lpLoss.js.map +1 -0
- package/dist/math/maxSelloff.d.ts +164 -0
- package/dist/math/maxSelloff.d.ts.map +1 -0
- package/dist/math/maxSelloff.js +397 -0
- package/dist/math/maxSelloff.js.map +1 -0
- package/dist/math/singleToken.d.ts +54 -0
- package/dist/math/singleToken.d.ts.map +1 -0
- package/dist/math/singleToken.js +188 -0
- package/dist/math/singleToken.js.map +1 -0
- package/dist/math/slippage.d.ts +13 -0
- package/dist/math/slippage.d.ts.map +1 -0
- package/dist/math/slippage.js +44 -0
- package/dist/math/slippage.js.map +1 -0
- package/dist/math/surgeFee.d.ts +24 -0
- package/dist/math/surgeFee.d.ts.map +1 -0
- package/dist/math/surgeFee.js +85 -0
- package/dist/math/surgeFee.js.map +1 -0
- package/dist/math/weightedMath.d.ts +20 -0
- package/dist/math/weightedMath.d.ts.map +1 -0
- package/dist/math/weightedMath.js +66 -0
- package/dist/math/weightedMath.js.map +1 -0
- package/dist/parsers/borsh.d.ts +28 -0
- package/dist/parsers/borsh.d.ts.map +1 -0
- package/dist/parsers/borsh.js +104 -0
- package/dist/parsers/borsh.js.map +1 -0
- package/dist/parsers/contracts.d.ts +26 -0
- package/dist/parsers/contracts.d.ts.map +1 -0
- package/dist/parsers/contracts.js +62 -0
- package/dist/parsers/contracts.js.map +1 -0
- package/dist/parsers/events.d.ts +3 -0
- package/dist/parsers/events.d.ts.map +1 -0
- package/dist/parsers/events.js +281 -0
- package/dist/parsers/events.js.map +1 -0
- package/dist/parsers/index.d.ts +6 -0
- package/dist/parsers/index.d.ts.map +1 -0
- package/dist/parsers/index.js +22 -0
- package/dist/parsers/index.js.map +1 -0
- package/dist/parsers/mintAccount.d.ts +24 -0
- package/dist/parsers/mintAccount.d.ts.map +1 -0
- package/dist/parsers/mintAccount.js +27 -0
- package/dist/parsers/mintAccount.js.map +1 -0
- package/dist/parsers/poolAccount.d.ts +141 -0
- package/dist/parsers/poolAccount.d.ts.map +1 -0
- package/dist/parsers/poolAccount.js +224 -0
- package/dist/parsers/poolAccount.js.map +1 -0
- package/dist/types/contracts.d.ts +1340 -0
- package/dist/types/contracts.d.ts.map +1 -0
- package/dist/types/contracts.js +3 -0
- package/dist/types/contracts.js.map +1 -0
- package/dist/types/events.d.ts +172 -0
- package/dist/types/events.d.ts.map +1 -0
- package/dist/types/events.js +3 -0
- package/dist/types/events.js.map +1 -0
- package/dist/types/index.d.ts +6 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +22 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/pool.d.ts +149 -0
- package/dist/types/pool.d.ts.map +1 -0
- package/dist/types/pool.js +3 -0
- package/dist/types/pool.js.map +1 -0
- package/dist/types/result.d.ts +24 -0
- package/dist/types/result.d.ts.map +1 -0
- package/dist/types/result.js +11 -0
- package/dist/types/result.js.map +1 -0
- package/dist/types/tx.d.ts +261 -0
- package/dist/types/tx.d.ts.map +1 -0
- package/dist/types/tx.js +3 -0
- package/dist/types/tx.js.map +1 -0
- package/dist/utils/errors.d.ts +44 -0
- package/dist/utils/errors.d.ts.map +1 -0
- package/dist/utils/errors.js +192 -0
- package/dist/utils/errors.js.map +1 -0
- package/dist/utils/extensions.d.ts +98 -0
- package/dist/utils/extensions.d.ts.map +1 -0
- package/dist/utils/extensions.js +187 -0
- package/dist/utils/extensions.js.map +1 -0
- package/dist/utils/index.d.ts +5 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +21 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/pda.d.ts +8 -0
- package/dist/utils/pda.d.ts.map +1 -0
- package/dist/utils/pda.js +27 -0
- package/dist/utils/pda.js.map +1 -0
- package/dist/utils/retry.d.ts +22 -0
- package/dist/utils/retry.d.ts.map +1 -0
- package/dist/utils/retry.js +62 -0
- package/dist/utils/retry.js.map +1 -0
- package/package.json +54 -0
- package/src/clients/AdminClient.ts +608 -0
- package/src/clients/CofferBackendClient.ts +1413 -0
- package/src/clients/CubicPoolClient.ts +719 -0
- package/src/clients/PoolFactoryClient.ts +110 -0
- package/src/clients/RpcClient.ts +195 -0
- package/src/clients/SingleTokenDepositClient.ts +143 -0
- package/src/clients/contract-instructions.ts +115 -0
- package/src/clients/index.ts +9 -0
- package/src/clients/quote-math.ts +81 -0
- package/src/clients/tx-builders.ts +1096 -0
- package/src/clients/versioned.ts +80 -0
- package/src/config/index.ts +111 -0
- package/src/config/networks.ts +71 -0
- package/src/config/tokens.ts +52 -0
- package/src/idl/cubic_pool.json +4203 -0
- package/src/idl/index.ts +13 -0
- package/src/idl/protocol_admin.json +2615 -0
- package/src/idl/single_token_liquidity.json +1121 -0
- package/src/index.ts +262 -0
- package/src/math/cubicMath.ts +92 -0
- package/src/math/fixedPoint.ts +71 -0
- package/src/math/index.ts +13 -0
- package/src/math/logExp.ts +61 -0
- package/src/math/lpLoss.ts +160 -0
- package/src/math/maxSelloff.ts +564 -0
- package/src/math/singleToken.ts +251 -0
- package/src/math/slippage.ts +38 -0
- package/src/math/surgeFee.ts +101 -0
- package/src/math/weightedMath.ts +64 -0
- package/src/parsers/borsh.ts +106 -0
- package/src/parsers/contracts.ts +64 -0
- package/src/parsers/events.ts +275 -0
- package/src/parsers/index.ts +5 -0
- package/src/parsers/mintAccount.ts +44 -0
- package/src/parsers/poolAccount.ts +372 -0
- package/src/types/contracts.ts +238 -0
- package/src/types/events.ts +198 -0
- package/src/types/index.ts +5 -0
- package/src/types/pool.ts +147 -0
- package/src/types/result.ts +51 -0
- package/src/types/tx.ts +278 -0
- package/src/utils/errors.ts +210 -0
- package/src/utils/extensions.ts +196 -0
- package/src/utils/index.ts +4 -0
- package/src/utils/pda.ts +58 -0
- package/src/utils/retry.ts +85 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CubicPoolClient.js","sourceRoot":"","sources":["../../src/clients/CubicPoolClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { Keypair, PublicKey, TransactionInstruction } from "@solana/web3.js";
|
|
2
|
+
import { CofferConfig } from "../config";
|
|
3
|
+
import { SdkResult } from "../types/result";
|
|
4
|
+
import { BuiltTx, DeployPoolParams } from "../types/tx";
|
|
5
|
+
export interface PoolFactoryClientParams {
|
|
6
|
+
config: CofferConfig;
|
|
7
|
+
}
|
|
8
|
+
export interface InitializeConfigParams {
|
|
9
|
+
payer: PublicKey;
|
|
10
|
+
defaultProtocolFeeRate: number;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Builds transactions for protocol governance / pool deployment. Consumed
|
|
14
|
+
* by the deploy-pool UI flow and by the backend's admin tools.
|
|
15
|
+
*/
|
|
16
|
+
export declare class PoolFactoryClient {
|
|
17
|
+
readonly config: CofferConfig;
|
|
18
|
+
constructor(params: PoolFactoryClientParams);
|
|
19
|
+
/**
|
|
20
|
+
* Deploy a new pool atop an existing `CubicPoolConfig`. Caller is
|
|
21
|
+
* responsible for funding `params.payer` with enough SOL to cover rent
|
|
22
|
+
* for the pool account and the BPT mint PDA.
|
|
23
|
+
*
|
|
24
|
+
* Returns the `pool` and `bptMint` pubkeys it WILL create (derived PDAs)
|
|
25
|
+
* plus the signable tx.
|
|
26
|
+
*/
|
|
27
|
+
buildDeployPoolTx(params: DeployPoolParams): SdkResult<BuiltTx & {
|
|
28
|
+
pool: PublicKey;
|
|
29
|
+
bptMint: PublicKey;
|
|
30
|
+
}>;
|
|
31
|
+
/**
|
|
32
|
+
* Initialize a new `CubicPoolConfig`, through the protocol-admin wrapper.
|
|
33
|
+
*
|
|
34
|
+
* Routed via `protocol_admin::pool_initialize_config` rather than
|
|
35
|
+
* `cubic_pool::initialize_config` directly: post-audit the latter requires
|
|
36
|
+
* the Treasury PDA to SIGN (H-01), and a PDA signature can only come from
|
|
37
|
+
* the owning program's `invoke_signed`. Building the direct instruction
|
|
38
|
+
* yields a transaction no wallet can ever satisfy.
|
|
39
|
+
*
|
|
40
|
+
* `params.payer` must be the current `Treasury.admin` — it is the human
|
|
41
|
+
* signer the wrapper authenticates. The returned `configKeypair` is the
|
|
42
|
+
* second required signer (the config account is `init`, not a PDA).
|
|
43
|
+
*/
|
|
44
|
+
buildInitializeConfigTx(params: InitializeConfigParams): SdkResult<BuiltTx & {
|
|
45
|
+
configKeypair: Keypair;
|
|
46
|
+
}>;
|
|
47
|
+
/**
|
|
48
|
+
* Low-level: return the raw `initialize_cubic_pool` ix without a CU
|
|
49
|
+
* budget or wrapping. Useful for combining with other ixs in the same tx.
|
|
50
|
+
*/
|
|
51
|
+
initializeCubicPoolIx(params: DeployPoolParams): TransactionInstruction;
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=PoolFactoryClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PoolFactoryClient.d.ts","sourceRoot":"","sources":["../../src/clients/PoolFactoryClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,OAAO,EAAE,SAAS,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAEnG,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,SAAS,EAAW,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAQxD,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,YAAY,CAAC;CACtB;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,SAAS,CAAC;IACjB,sBAAsB,EAAE,MAAM,CAAC;CAChC;AAED;;;GAGG;AACH,qBAAa,iBAAiB;IAC5B,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;gBAElB,MAAM,EAAE,uBAAuB;IAI3C;;;;;;;OAOG;IACH,iBAAiB,CAAC,MAAM,EAAE,gBAAgB,GAAG,SAAS,CAAC,OAAO,GAAG;QAAE,IAAI,EAAE,SAAS,CAAC;QAAC,OAAO,EAAE,SAAS,CAAA;KAAE,CAAC;IA6BzG;;;;;;;;;;;;OAYG;IACH,uBAAuB,CAAC,MAAM,EAAE,sBAAsB,GAAG,SAAS,CAChE,OAAO,GAAG;QAAE,aAAa,EAAE,OAAO,CAAA;KAAE,CACrC;IAkBD;;;OAGG;IACH,qBAAqB,CAAC,MAAM,EAAE,gBAAgB,GAAG,sBAAsB;CAGxE"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PoolFactoryClient = void 0;
|
|
4
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
5
|
+
const result_1 = require("../types/result");
|
|
6
|
+
const tx_builders_1 = require("./tx-builders");
|
|
7
|
+
const pda_1 = require("../utils/pda");
|
|
8
|
+
/**
|
|
9
|
+
* Builds transactions for protocol governance / pool deployment. Consumed
|
|
10
|
+
* by the deploy-pool UI flow and by the backend's admin tools.
|
|
11
|
+
*/
|
|
12
|
+
class PoolFactoryClient {
|
|
13
|
+
constructor(params) {
|
|
14
|
+
this.config = params.config;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Deploy a new pool atop an existing `CubicPoolConfig`. Caller is
|
|
18
|
+
* responsible for funding `params.payer` with enough SOL to cover rent
|
|
19
|
+
* for the pool account and the BPT mint PDA.
|
|
20
|
+
*
|
|
21
|
+
* Returns the `pool` and `bptMint` pubkeys it WILL create (derived PDAs)
|
|
22
|
+
* plus the signable tx.
|
|
23
|
+
*/
|
|
24
|
+
buildDeployPoolTx(params) {
|
|
25
|
+
if (params.tokens.length < 2 || params.tokens.length > 10) {
|
|
26
|
+
return (0, result_1.err)("invalid_input", "tokens.length must be in [2, 10]");
|
|
27
|
+
}
|
|
28
|
+
if (params.tokens.length !== params.weightsBps.length) {
|
|
29
|
+
return (0, result_1.err)("invalid_input", "tokens/weightsBps length mismatch");
|
|
30
|
+
}
|
|
31
|
+
if (params.tokens.length !== params.virtualBalances.length) {
|
|
32
|
+
return (0, result_1.err)("invalid_input", "tokens/virtualBalances length mismatch");
|
|
33
|
+
}
|
|
34
|
+
const sum = params.weightsBps.reduce((a, b) => a + b, 0);
|
|
35
|
+
if (sum !== 10000)
|
|
36
|
+
return (0, result_1.err)("invalid_input", `weights must sum to 10000 (got ${sum})`);
|
|
37
|
+
for (const vb of params.virtualBalances) {
|
|
38
|
+
if (vb.isZero())
|
|
39
|
+
return (0, result_1.err)("invalid_input", "virtualBalances must all be > 0");
|
|
40
|
+
}
|
|
41
|
+
const [pool] = (0, pda_1.derivePoolPda)(this.config.programs.cubicPool, params.configKey, params.poolId);
|
|
42
|
+
const [bptMint] = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("bpt_mint"), pool.toBuffer()], this.config.programs.cubicPool);
|
|
43
|
+
try {
|
|
44
|
+
const tx = (0, tx_builders_1.buildDeployPoolTx)(this.config, params);
|
|
45
|
+
return (0, result_1.ok)({ ...tx, pool, bptMint });
|
|
46
|
+
}
|
|
47
|
+
catch (e) {
|
|
48
|
+
return (0, result_1.err)("tx_build_failed", "Failed to build deploy-pool tx", e);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Initialize a new `CubicPoolConfig`, through the protocol-admin wrapper.
|
|
53
|
+
*
|
|
54
|
+
* Routed via `protocol_admin::pool_initialize_config` rather than
|
|
55
|
+
* `cubic_pool::initialize_config` directly: post-audit the latter requires
|
|
56
|
+
* the Treasury PDA to SIGN (H-01), and a PDA signature can only come from
|
|
57
|
+
* the owning program's `invoke_signed`. Building the direct instruction
|
|
58
|
+
* yields a transaction no wallet can ever satisfy.
|
|
59
|
+
*
|
|
60
|
+
* `params.payer` must be the current `Treasury.admin` — it is the human
|
|
61
|
+
* signer the wrapper authenticates. The returned `configKeypair` is the
|
|
62
|
+
* second required signer (the config account is `init`, not a PDA).
|
|
63
|
+
*/
|
|
64
|
+
buildInitializeConfigTx(params) {
|
|
65
|
+
try {
|
|
66
|
+
const configKeypair = web3_js_1.Keypair.generate();
|
|
67
|
+
const ix = (0, tx_builders_1.buildPoolInitializeConfigIx)(this.config, {
|
|
68
|
+
config: configKeypair.publicKey,
|
|
69
|
+
admin: params.payer,
|
|
70
|
+
defaultProtocolFeeRate: params.defaultProtocolFeeRate,
|
|
71
|
+
});
|
|
72
|
+
return (0, result_1.ok)({
|
|
73
|
+
instructions: [web3_js_1.ComputeBudgetProgram.setComputeUnitLimit({ units: 200000 }), ix],
|
|
74
|
+
suggestedCuLimit: 200000,
|
|
75
|
+
configKeypair,
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
catch (e) {
|
|
79
|
+
return (0, result_1.err)("tx_build_failed", "Failed to build initialize_config tx", e);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Low-level: return the raw `initialize_cubic_pool` ix without a CU
|
|
84
|
+
* budget or wrapping. Useful for combining with other ixs in the same tx.
|
|
85
|
+
*/
|
|
86
|
+
initializeCubicPoolIx(params) {
|
|
87
|
+
return (0, tx_builders_1.buildInitializeCubicPoolIx)(this.config, params);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
exports.PoolFactoryClient = PoolFactoryClient;
|
|
91
|
+
//# sourceMappingURL=PoolFactoryClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PoolFactoryClient.js","sourceRoot":"","sources":["../../src/clients/PoolFactoryClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { Commitment, Connection, PublicKey } from "@solana/web3.js";
|
|
2
|
+
import { SdkResult } from "../types/result";
|
|
3
|
+
import { RetryOptions } from "../utils/retry";
|
|
4
|
+
export interface RpcClientParams {
|
|
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[];
|
|
10
|
+
apiKey?: string;
|
|
11
|
+
commitment?: Commitment;
|
|
12
|
+
/** Optional headers (e.g. for Helius/Triton auth). */
|
|
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">;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Thin wrapper around `@solana/web3.js` Connection with built-in retry +
|
|
23
|
+
* human-readable error mapping. Every public method returns a SdkResult<T>.
|
|
24
|
+
*/
|
|
25
|
+
export declare class RpcClient {
|
|
26
|
+
readonly endpoints: string[];
|
|
27
|
+
private readonly connections;
|
|
28
|
+
private readonly defaultCommitment;
|
|
29
|
+
private readonly timeoutMs;
|
|
30
|
+
private readonly backoffMs;
|
|
31
|
+
private activeEndpointIndex;
|
|
32
|
+
constructor(params: RpcClientParams);
|
|
33
|
+
get connection(): Connection;
|
|
34
|
+
call<T>(fn: (conn: Connection) => Promise<T>, retry?: RetryOptions): Promise<SdkResult<T>>;
|
|
35
|
+
getAccountInfo(pk: PublicKey, retry?: RetryOptions): Promise<SdkResult<{
|
|
36
|
+
data: Buffer;
|
|
37
|
+
owner: PublicKey;
|
|
38
|
+
lamports: number;
|
|
39
|
+
} | null>>;
|
|
40
|
+
getMultipleAccountsInfo(pks: PublicKey[], retry?: RetryOptions): Promise<SdkResult<(Buffer | null)[]>>;
|
|
41
|
+
getMultipleAccountsWithInfo(pks: PublicKey[], retry?: RetryOptions): Promise<SdkResult<({
|
|
42
|
+
data: Buffer;
|
|
43
|
+
owner: PublicKey;
|
|
44
|
+
lamports: number;
|
|
45
|
+
} | null)[]>>;
|
|
46
|
+
getSlot(retry?: RetryOptions): Promise<SdkResult<number>>;
|
|
47
|
+
private callWithFallback;
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=RpcClient.d.ts.map
|
|
@@ -0,0 +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,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,2BAA2B,CACzB,GAAG,EAAE,SAAS,EAAE,EAChB,KAAK,GAAE,YAAiB,GACvB,OAAO,CAAC,SAAS,CAAC,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,SAAS,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;IAOtF,OAAO,CAAC,KAAK,GAAE,YAAiB,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAI/C,gBAAgB;CA4B/B"}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RpcClient = void 0;
|
|
4
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
5
|
+
const result_1 = require("../types/result");
|
|
6
|
+
const errors_1 = require("../utils/errors");
|
|
7
|
+
/**
|
|
8
|
+
* Thin wrapper around `@solana/web3.js` Connection with built-in retry +
|
|
9
|
+
* human-readable error mapping. Every public method returns a SdkResult<T>.
|
|
10
|
+
*/
|
|
11
|
+
class RpcClient {
|
|
12
|
+
constructor(params) {
|
|
13
|
+
this.activeEndpointIndex = 0;
|
|
14
|
+
this.defaultCommitment = params.commitment ?? "confirmed";
|
|
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];
|
|
30
|
+
}
|
|
31
|
+
call(fn, retry = {}) {
|
|
32
|
+
return this.callWithFallback((conn) => fn(conn), retry);
|
|
33
|
+
}
|
|
34
|
+
getAccountInfo(pk, retry = {}) {
|
|
35
|
+
return this.callWithFallback(async (conn) => {
|
|
36
|
+
const info = await conn.getAccountInfo(pk, this.defaultCommitment);
|
|
37
|
+
if (!info)
|
|
38
|
+
return null;
|
|
39
|
+
return {
|
|
40
|
+
data: info.data,
|
|
41
|
+
owner: info.owner,
|
|
42
|
+
lamports: info.lamports,
|
|
43
|
+
};
|
|
44
|
+
}, retry);
|
|
45
|
+
}
|
|
46
|
+
getMultipleAccountsInfo(pks, retry = {}) {
|
|
47
|
+
return this.callWithFallback(async (conn) => {
|
|
48
|
+
const infos = await conn.getMultipleAccountsInfo(pks, this.defaultCommitment);
|
|
49
|
+
return infos.map((i) => (i ? i.data : null));
|
|
50
|
+
}, retry);
|
|
51
|
+
}
|
|
52
|
+
getMultipleAccountsWithInfo(pks, retry = {}) {
|
|
53
|
+
return this.callWithFallback(async (conn) => {
|
|
54
|
+
const infos = await conn.getMultipleAccountsInfo(pks, this.defaultCommitment);
|
|
55
|
+
return infos.map((i) => i ? { data: i.data, owner: i.owner, lamports: i.lamports } : null);
|
|
56
|
+
}, retry);
|
|
57
|
+
}
|
|
58
|
+
getSlot(retry = {}) {
|
|
59
|
+
return this.callWithFallback((conn) => conn.getSlot(this.defaultCommitment), retry);
|
|
60
|
+
}
|
|
61
|
+
async callWithFallback(operation, retry = {}) {
|
|
62
|
+
const attempts = Math.max(1, retry.attempts ?? this.connections.length);
|
|
63
|
+
const timeoutMs = retry.timeoutMs ?? this.timeoutMs;
|
|
64
|
+
const shouldRetry = retry.shouldRetry ?? defaultShouldRetry;
|
|
65
|
+
let lastError;
|
|
66
|
+
for (let attempt = 0; attempt < attempts; attempt++) {
|
|
67
|
+
const endpointIndex = (this.activeEndpointIndex + attempt) % this.connections.length;
|
|
68
|
+
try {
|
|
69
|
+
const data = await withTimeout(operation(this.connections[endpointIndex]), timeoutMs);
|
|
70
|
+
this.activeEndpointIndex = endpointIndex;
|
|
71
|
+
return (0, result_1.ok)(data);
|
|
72
|
+
}
|
|
73
|
+
catch (e) {
|
|
74
|
+
lastError = e;
|
|
75
|
+
if (!shouldRetry(e))
|
|
76
|
+
break;
|
|
77
|
+
if (attempt < attempts - 1) {
|
|
78
|
+
const delay = this.backoffMs[Math.min(attempt, this.backoffMs.length - 1)] ?? 0;
|
|
79
|
+
if (delay > 0)
|
|
80
|
+
await sleep(delay);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
const sdkError = (0, errors_1.toSdkError)(lastError);
|
|
85
|
+
return (0, result_1.err)(sdkError.code, sdkError.humanMessage, lastError);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
exports.RpcClient = RpcClient;
|
|
89
|
+
function normalizeEndpoints(params) {
|
|
90
|
+
if (params.endpoints && params.endpoints.length > 0) {
|
|
91
|
+
return dedupe(params.endpoints);
|
|
92
|
+
}
|
|
93
|
+
const primary = params.endpoint
|
|
94
|
+
? params.apiKey
|
|
95
|
+
? appendApiKey(params.endpoint, params.apiKey)
|
|
96
|
+
: params.endpoint
|
|
97
|
+
: undefined;
|
|
98
|
+
return dedupe([primary, ...(params.fallbackEndpoints ?? [])].filter(Boolean));
|
|
99
|
+
}
|
|
100
|
+
function dedupe(endpoints) {
|
|
101
|
+
return Array.from(new Set(endpoints));
|
|
102
|
+
}
|
|
103
|
+
function defaultShouldRetry(e) {
|
|
104
|
+
const sdkError = (0, errors_1.toSdkError)(e);
|
|
105
|
+
return (sdkError.code === "rpc_timeout" ||
|
|
106
|
+
sdkError.code === "rpc_unavailable" ||
|
|
107
|
+
sdkError.code === "rpc_rate_limited");
|
|
108
|
+
}
|
|
109
|
+
function sleep(ms) {
|
|
110
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
111
|
+
}
|
|
112
|
+
function withTimeout(p, ms) {
|
|
113
|
+
return new Promise((resolve, reject) => {
|
|
114
|
+
const h = setTimeout(() => reject(new Error(`timed out after ${ms}ms`)), ms);
|
|
115
|
+
p.then((v) => {
|
|
116
|
+
clearTimeout(h);
|
|
117
|
+
resolve(v);
|
|
118
|
+
}, (e) => {
|
|
119
|
+
clearTimeout(h);
|
|
120
|
+
reject(e);
|
|
121
|
+
});
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
function appendApiKey(endpoint, apiKey) {
|
|
125
|
+
try {
|
|
126
|
+
const u = new URL(endpoint);
|
|
127
|
+
u.searchParams.set("api-key", apiKey);
|
|
128
|
+
return u.toString();
|
|
129
|
+
}
|
|
130
|
+
catch {
|
|
131
|
+
const sep = endpoint.includes("?") ? "&" : "?";
|
|
132
|
+
return `${endpoint}${sep}api-key=${encodeURIComponent(apiKey)}`;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
//# sourceMappingURL=RpcClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RpcClient.js","sourceRoot":"","sources":["../../src/clients/RpcClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { Commitment, PublicKey } from "@solana/web3.js";
|
|
2
|
+
import BN from "bn.js";
|
|
3
|
+
import { CofferConfig } from "../config";
|
|
4
|
+
import { PoolInfo } from "../types/pool";
|
|
5
|
+
import { SdkResult } from "../types/result";
|
|
6
|
+
import { BuiltTx, SingleTokenDepositParams, SingleTokenDepositQuote } from "../types/tx";
|
|
7
|
+
import { RpcClient } from "./RpcClient";
|
|
8
|
+
import { CubicPoolClient } from "./CubicPoolClient";
|
|
9
|
+
export interface SingleTokenDepositClientParams {
|
|
10
|
+
config: CofferConfig;
|
|
11
|
+
poolAddress: PublicKey;
|
|
12
|
+
/** Optional — reuses an existing one if provided. */
|
|
13
|
+
rpc?: RpcClient | {
|
|
14
|
+
endpoint?: string;
|
|
15
|
+
endpoints?: string[];
|
|
16
|
+
fallbackEndpoints?: string[];
|
|
17
|
+
apiKey?: string;
|
|
18
|
+
commitment?: Commitment;
|
|
19
|
+
timeoutMs?: number;
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Optional parent pool client — lets the deposit client reuse an already
|
|
23
|
+
* synced PoolInfo instead of making a fresh RPC round-trip.
|
|
24
|
+
*/
|
|
25
|
+
poolClient?: CubicPoolClient;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Convenience class that wraps the single-token deposit flow end-to-end:
|
|
29
|
+
* quoting, transaction building, and helper-PDA derivation.
|
|
30
|
+
*
|
|
31
|
+
* Most consumers don't need to instantiate this directly — they can call
|
|
32
|
+
* `CubicPoolClient.singleTokenDeposit.*` which proxies here.
|
|
33
|
+
*/
|
|
34
|
+
export declare class SingleTokenDepositClient {
|
|
35
|
+
readonly config: CofferConfig;
|
|
36
|
+
readonly poolAddress: PublicKey;
|
|
37
|
+
private readonly poolClient;
|
|
38
|
+
constructor(params: SingleTokenDepositClientParams);
|
|
39
|
+
/** Derived helper PDA for this pool. */
|
|
40
|
+
helperPda(): PublicKey;
|
|
41
|
+
/** Ensure pool state is loaded; populates the underlying CubicPoolClient cache. */
|
|
42
|
+
sync(): Promise<SdkResult<PoolInfo>>;
|
|
43
|
+
/** Off-chain estimate of the deposit outcome. */
|
|
44
|
+
quote(tokenInIndex: number, amountIn: BN, slippageHundredthsBps?: number, nowSeconds?: number, helperBalances?: BN[]): SdkResult<SingleTokenDepositQuote>;
|
|
45
|
+
/**
|
|
46
|
+
* Build a ready-to-sign transaction. Includes idempotent helper-ATA
|
|
47
|
+
* creates.
|
|
48
|
+
*
|
|
49
|
+
* ⚠ Single-transaction form. It only fits for small pools — the ATA
|
|
50
|
+
* creates cost 5 CPI frames each and the zap itself uses 52 of the
|
|
51
|
+
* 64-frame budget at N=10. Use {@link buildTxs} for anything larger.
|
|
52
|
+
*/
|
|
53
|
+
buildTx(params: SingleTokenDepositParams): SdkResult<BuiltTx>;
|
|
54
|
+
/**
|
|
55
|
+
* Build the deposit as two transactions: `setup` (idempotent ATA creates)
|
|
56
|
+
* then `deposit`. Required for large pools; safe for all of them.
|
|
57
|
+
*
|
|
58
|
+
* Send `setup` and let it confirm before sending `deposit` — an ALT
|
|
59
|
+
* cannot be referenced in the same slot it was extended, and the two
|
|
60
|
+
* legs must not share an instruction-trace budget.
|
|
61
|
+
*/
|
|
62
|
+
buildTxs(params: SingleTokenDepositParams): SdkResult<{
|
|
63
|
+
setup: BuiltTx | null;
|
|
64
|
+
deposit: BuiltTx;
|
|
65
|
+
}>;
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=SingleTokenDepositClient.d.ts.map
|
|
@@ -0,0 +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,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,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;AAOpD,MAAM,WAAW,8BAA8B;IAC7C,MAAM,EAAE,YAAY,CAAC;IACrB,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,YAAY,CAAC;IAC9B,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,EAC9B,UAAU,CAAC,EAAE,MAAM,EACnB,cAAc,CAAC,EAAE,EAAE,EAAE,GACpB,SAAS,CAAC,uBAAuB,CAAC;IAIrC;;;;;;;OAOG;IACH,OAAO,CAAC,MAAM,EAAE,wBAAwB,GAAG,SAAS,CAAC,OAAO,CAAC;IAkB7D;;;;;;;OAOG;IACH,QAAQ,CACN,MAAM,EAAE,wBAAwB,GAC/B,SAAS,CAAC;QAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;CAgB1D"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SingleTokenDepositClient = void 0;
|
|
4
|
+
const result_1 = require("../types/result");
|
|
5
|
+
const pda_1 = require("../utils/pda");
|
|
6
|
+
const tx_builders_1 = require("./tx-builders");
|
|
7
|
+
const CubicPoolClient_1 = require("./CubicPoolClient");
|
|
8
|
+
const extensions_1 = require("../utils/extensions");
|
|
9
|
+
function unsupportedMessage(pool, op) {
|
|
10
|
+
return `${op} refused: ${(pool.unsupportedTokenIndices ?? []).filter(i => !pool.tokens[i].actualBalance.isZero()).map((i) => (0, extensions_1.describeUnsupportedToken)(pool.tokens[i])).join("; ")}. The cubic-pool program cannot transfer such tokens.`;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Convenience class that wraps the single-token deposit flow end-to-end:
|
|
14
|
+
* quoting, transaction building, and helper-PDA derivation.
|
|
15
|
+
*
|
|
16
|
+
* Most consumers don't need to instantiate this directly — they can call
|
|
17
|
+
* `CubicPoolClient.singleTokenDeposit.*` which proxies here.
|
|
18
|
+
*/
|
|
19
|
+
class SingleTokenDepositClient {
|
|
20
|
+
constructor(params) {
|
|
21
|
+
this.config = params.config;
|
|
22
|
+
this.poolAddress = params.poolAddress;
|
|
23
|
+
this.poolClient =
|
|
24
|
+
params.poolClient ??
|
|
25
|
+
new CubicPoolClient_1.CubicPoolClient({
|
|
26
|
+
config: params.config,
|
|
27
|
+
poolAddress: params.poolAddress,
|
|
28
|
+
rpc: params.rpc ??
|
|
29
|
+
{
|
|
30
|
+
endpoints: params.config.defaults.rpcEndpoints,
|
|
31
|
+
commitment: params.config.defaults.rpcCommitment,
|
|
32
|
+
timeoutMs: params.config.defaults.rpcTimeoutMs,
|
|
33
|
+
},
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
/** Derived helper PDA for this pool. */
|
|
37
|
+
helperPda() {
|
|
38
|
+
return (0, pda_1.deriveHelperPda)(this.config.programs.singleTokenLiquidity, this.poolAddress)[0];
|
|
39
|
+
}
|
|
40
|
+
/** Ensure pool state is loaded; populates the underlying CubicPoolClient cache. */
|
|
41
|
+
async sync() {
|
|
42
|
+
return this.poolClient.sync();
|
|
43
|
+
}
|
|
44
|
+
/** Off-chain estimate of the deposit outcome. */
|
|
45
|
+
quote(tokenInIndex, amountIn, slippageHundredthsBps, nowSeconds, helperBalances) {
|
|
46
|
+
return this.poolClient.quoteSingleTokenDeposit(tokenInIndex, amountIn, slippageHundredthsBps, nowSeconds, helperBalances);
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Build a ready-to-sign transaction. Includes idempotent helper-ATA
|
|
50
|
+
* creates.
|
|
51
|
+
*
|
|
52
|
+
* ⚠ Single-transaction form. It only fits for small pools — the ATA
|
|
53
|
+
* creates cost 5 CPI frames each and the zap itself uses 52 of the
|
|
54
|
+
* 64-frame budget at N=10. Use {@link buildTxs} for anything larger.
|
|
55
|
+
*/
|
|
56
|
+
buildTx(params) {
|
|
57
|
+
const pool = this.poolClient.getCached();
|
|
58
|
+
if (!pool)
|
|
59
|
+
return (0, result_1.err)("invalid_input", "Call sync() first to populate pool state");
|
|
60
|
+
if (!Number.isInteger(params.tokenInIndex) || params.tokenInIndex < 0 || params.tokenInIndex >= pool.tokenCount) {
|
|
61
|
+
return (0, result_1.err)("invalid_input", "Invalid tokenInIndex");
|
|
62
|
+
}
|
|
63
|
+
if (params.amountIn.lten(0))
|
|
64
|
+
return (0, result_1.err)("invalid_input", "amountIn must be > 0");
|
|
65
|
+
if ((pool.unsupportedTokenIndices ?? []).some(i => !pool.tokens[i].actualBalance.isZero())) {
|
|
66
|
+
return (0, result_1.err)("unsupported_token_extension", unsupportedMessage(pool, "deposit_single_token"));
|
|
67
|
+
}
|
|
68
|
+
try {
|
|
69
|
+
const tx = (0, tx_builders_1.buildSingleTokenDepositTx)(this.config, pool, params);
|
|
70
|
+
return (0, result_1.ok)(tx);
|
|
71
|
+
}
|
|
72
|
+
catch (e) {
|
|
73
|
+
return (0, result_1.err)("tx_build_failed", "Failed to build single-token deposit tx", e);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Build the deposit as two transactions: `setup` (idempotent ATA creates)
|
|
78
|
+
* then `deposit`. Required for large pools; safe for all of them.
|
|
79
|
+
*
|
|
80
|
+
* Send `setup` and let it confirm before sending `deposit` — an ALT
|
|
81
|
+
* cannot be referenced in the same slot it was extended, and the two
|
|
82
|
+
* legs must not share an instruction-trace budget.
|
|
83
|
+
*/
|
|
84
|
+
buildTxs(params) {
|
|
85
|
+
const pool = this.poolClient.getCached();
|
|
86
|
+
if (!pool)
|
|
87
|
+
return (0, result_1.err)("invalid_input", "Call sync() first to populate pool state");
|
|
88
|
+
if (!Number.isInteger(params.tokenInIndex) || params.tokenInIndex < 0 || params.tokenInIndex >= pool.tokenCount) {
|
|
89
|
+
return (0, result_1.err)("invalid_input", "Invalid tokenInIndex");
|
|
90
|
+
}
|
|
91
|
+
if (params.amountIn.lten(0))
|
|
92
|
+
return (0, result_1.err)("invalid_input", "amountIn must be > 0");
|
|
93
|
+
if ((pool.unsupportedTokenIndices ?? []).some(i => !pool.tokens[i].actualBalance.isZero())) {
|
|
94
|
+
return (0, result_1.err)("unsupported_token_extension", unsupportedMessage(pool, "deposit_single_token"));
|
|
95
|
+
}
|
|
96
|
+
try {
|
|
97
|
+
return (0, result_1.ok)((0, tx_builders_1.buildSingleTokenDepositTxs)(this.config, pool, params));
|
|
98
|
+
}
|
|
99
|
+
catch (e) {
|
|
100
|
+
return (0, result_1.err)("tx_build_failed", "Failed to build single-token deposit txs", e);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
exports.SingleTokenDepositClient = SingleTokenDepositClient;
|
|
105
|
+
//# sourceMappingURL=SingleTokenDepositClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SingleTokenDepositClient.js","sourceRoot":"","sources":["../../src/clients/SingleTokenDepositClient.ts"],"names":[],"mappings":";;;AAIA,4CAAqD;AAMrD,sCAA+C;AAC/C,+CAAsF;AAEtF,uDAAoD;AACpD,oDAA+D;AAE/D,SAAS,kBAAkB,CAAC,IAAc,EAAE,EAAU;IACpD,OAAO,GAAG,EAAE,aAAa,CAAC,IAAI,CAAC,uBAAuB,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,qCAAwB,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,uDAAuD,CAAC;AAC3O,CAAC;AAqBD;;;;;;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,EAC9B,UAAmB,EACnB,cAAqB;QAErB,OAAO,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,YAAY,EAAE,QAAQ,EAAE,qBAAqB,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;IAC5H,CAAC;IAED;;;;;;;OAOG;IACH,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,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,MAAM,CAAC,YAAY,GAAG,CAAC,IAAI,MAAM,CAAC,YAAY,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAChH,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,IAAI,CAAC,uBAAuB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;YAC3F,OAAO,IAAA,YAAG,EAAC,6BAA6B,EAAE,kBAAkB,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC,CAAC;QAC9F,CAAC;QACD,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;IAED;;;;;;;OAOG;IACH,QAAQ,CACN,MAAgC;QAEhC,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,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,MAAM,CAAC,YAAY,GAAG,CAAC,IAAI,MAAM,CAAC,YAAY,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAChH,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,IAAI,CAAC,uBAAuB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;YAC3F,OAAO,IAAA,YAAG,EAAC,6BAA6B,EAAE,kBAAkB,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC,CAAC;QAC9F,CAAC;QACD,IAAI,CAAC;YACH,OAAO,IAAA,WAAE,EAAC,IAAA,wCAA0B,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QACnE,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,IAAA,YAAG,EAAC,iBAAiB,EAAE,0CAA0C,EAAE,CAAC,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;CACF;AAhGD,4DAgGC"}
|