@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,120 @@
|
|
|
1
|
+
import { PublicKey, Commitment } 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 { AddLiquidityQuote, SwapQuote, SingleTokenDepositQuote } from "../types/tx";
|
|
7
|
+
import { CubicPoolEvent } from "../types/events";
|
|
8
|
+
import { RpcClient } from "./RpcClient";
|
|
9
|
+
import { SelloffWindowStatus } from "../math/maxSelloff";
|
|
10
|
+
import { AddLiquidityParams, BuiltTx, RemoveLiquidityParams, SingleTokenDepositParams, SwapParams } from "../types/tx";
|
|
11
|
+
import { SingleTokenDepositClient } from "./SingleTokenDepositClient";
|
|
12
|
+
export interface CubicPoolClientParams {
|
|
13
|
+
config: CofferConfig;
|
|
14
|
+
poolAddress: PublicKey;
|
|
15
|
+
rpc?: RpcClient | {
|
|
16
|
+
endpoint?: string;
|
|
17
|
+
endpoints?: string[];
|
|
18
|
+
fallbackEndpoints?: string[];
|
|
19
|
+
apiKey?: string;
|
|
20
|
+
commitment?: Commitment;
|
|
21
|
+
timeoutMs?: number;
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Per-pool client. Fetch the state with `sync()`, then call any of the
|
|
26
|
+
* quote / buildTx methods off the cached snapshot.
|
|
27
|
+
*/
|
|
28
|
+
export declare class CubicPoolClient {
|
|
29
|
+
readonly config: CofferConfig;
|
|
30
|
+
readonly poolAddress: PublicKey;
|
|
31
|
+
readonly rpc: RpcClient;
|
|
32
|
+
private cache;
|
|
33
|
+
/** Raw decoded account from the last `sync()`; holds per-token window data. */
|
|
34
|
+
private rawAccount;
|
|
35
|
+
constructor(params: CubicPoolClientParams);
|
|
36
|
+
/** Last-fetched pool state. `undefined` before first `sync()`. */
|
|
37
|
+
getCached(): PoolInfo | undefined;
|
|
38
|
+
/**
|
|
39
|
+
* Fetch and decode the pool account + BPT mint + per-token mint decimals.
|
|
40
|
+
* Safe to call repeatedly; subsequent calls replace the cache.
|
|
41
|
+
*/
|
|
42
|
+
sync(): Promise<SdkResult<PoolInfo>>;
|
|
43
|
+
/** Derived helper PDA for this pool (used by single-token-deposit). */
|
|
44
|
+
helperPda(): PublicKey;
|
|
45
|
+
/**
|
|
46
|
+
* Quote a swap. Requires the cache to be populated (call `sync()` first).
|
|
47
|
+
* Returns exact on-chain math result + spot bound + price impact +
|
|
48
|
+
* slippage-derived minAmountOut.
|
|
49
|
+
*/
|
|
50
|
+
quoteSwap(tokenInIndex: number, tokenOutIndex: number, amountIn: BN, slippageHundredthsBps?: number, nowSeconds?: number): SdkResult<SwapQuote>;
|
|
51
|
+
/**
|
|
52
|
+
* Read-only status of a token's max-selloff window at `now`
|
|
53
|
+
* (default: current unix seconds). Requires a prior `sync()`.
|
|
54
|
+
*/
|
|
55
|
+
getSelloffWindowStatus(tokenIndex: number, now?: number): SdkResult<SelloffWindowStatus>;
|
|
56
|
+
/**
|
|
57
|
+
* Quote a single-token deposit: split amountIn by W-based shares, quote
|
|
58
|
+
* each swap leg, then execute the helper cap and proportional-join math.
|
|
59
|
+
* `helperBalances` supplies existing helper ATA holdings (defaults to zero).
|
|
60
|
+
* Pass them when the helper contains donations or dust; all leftovers are refunded.
|
|
61
|
+
*/
|
|
62
|
+
quoteSingleTokenDeposit(tokenInIndex: number, amountIn: BN, slippageHundredthsBps?: number, nowSeconds?: number, helperBalances?: BN[]): SdkResult<SingleTokenDepositQuote>;
|
|
63
|
+
/** Seed deposit: creator-only, exact amounts, BPT derived from virtual reserves. */
|
|
64
|
+
quoteSeedDeposit(user: PublicKey, tokenAmounts: BN[], slippageHundredthsBps?: number): SdkResult<AddLiquidityQuote>;
|
|
65
|
+
/**
|
|
66
|
+
* Proportional-join quote. `tokenAmounts` is a CEILING (v5.1, audit
|
|
67
|
+
* M-4 / I-1): the program takes the largest strictly-proportional basket
|
|
68
|
+
* that fits inside it and leaves the rest in the wallet. This returns the
|
|
69
|
+
* basket it will actually pull, the BPT it will mint, and a
|
|
70
|
+
* slippage-derived `minimumBptAmount` to pass to `buildAddLiquidityTx`.
|
|
71
|
+
*
|
|
72
|
+
* Not applicable to the seed deposit (BPT supply == 0): the program
|
|
73
|
+
* mints invariant-based BPT there and takes the full amounts.
|
|
74
|
+
*/
|
|
75
|
+
quoteAddLiquidity(tokenAmounts: BN[], slippageHundredthsBps?: number): SdkResult<AddLiquidityQuote>;
|
|
76
|
+
/** Proportional-withdraw quote for a given BPT amount. */
|
|
77
|
+
quoteRemove(bptIn: BN): SdkResult<{
|
|
78
|
+
tokenOuts: BN[];
|
|
79
|
+
effectiveBptIn: BN;
|
|
80
|
+
}>;
|
|
81
|
+
/** Build a swap transaction. Requires `sync()` first. */
|
|
82
|
+
buildSwapTx(params: SwapParams): SdkResult<BuiltTx>;
|
|
83
|
+
/** Build a proportional add-liquidity transaction. Requires `sync()` first. */
|
|
84
|
+
buildAddLiquidityTx(params: AddLiquidityParams): SdkResult<BuiltTx>;
|
|
85
|
+
/** Build a proportional remove-liquidity transaction. Requires `sync()` first. */
|
|
86
|
+
buildRemoveLiquidityTx(params: RemoveLiquidityParams): SdkResult<BuiltTx>;
|
|
87
|
+
/**
|
|
88
|
+
* Build a single-token deposit transaction (swaps + add_liquidity via the
|
|
89
|
+
* helper program + BPT forward to user). Requires `sync()` first.
|
|
90
|
+
*/
|
|
91
|
+
buildSingleTokenDepositTx(params: SingleTokenDepositParams): SdkResult<BuiltTx>;
|
|
92
|
+
/**
|
|
93
|
+
* Single-token deposit split into `{ setup, deposit }` transactions.
|
|
94
|
+
*
|
|
95
|
+
* Required for pools beyond a handful of tokens: the ATA creates and the
|
|
96
|
+
* zap compete for the same 64-frame instruction-trace budget, and at
|
|
97
|
+
* N=10 the zap alone uses 52 of them. Send `setup` (idempotent, safe to
|
|
98
|
+
* repeat), wait for confirmation, then send `deposit` compiled against
|
|
99
|
+
* the pool's ALT via `compileBuiltTx`.
|
|
100
|
+
*/
|
|
101
|
+
buildSingleTokenDepositTxs(params: SingleTokenDepositParams): SdkResult<{
|
|
102
|
+
setup: BuiltTx | null;
|
|
103
|
+
deposit: BuiltTx;
|
|
104
|
+
}>;
|
|
105
|
+
/** Proxy into the dedicated SingleTokenDepositClient for consumers who
|
|
106
|
+
* want the quote/build methods exposed on a focused object. */
|
|
107
|
+
get singleTokenDeposit(): SingleTokenDepositClient;
|
|
108
|
+
private _std?;
|
|
109
|
+
/** Parse logs from a confirmed transaction into typed events. */
|
|
110
|
+
parseEventsFromLogs(logs: string[]): CubicPoolEvent[];
|
|
111
|
+
/**
|
|
112
|
+
* Refuse when any of `indices` (or every token, for `"all"`) has an
|
|
113
|
+
* unsupported Token-2022 extension. The program would revert inside the
|
|
114
|
+
* token program on transfer, so failing here saves the user a fee.
|
|
115
|
+
*/
|
|
116
|
+
private requireSupported;
|
|
117
|
+
private validateDepositWindows;
|
|
118
|
+
private requireCache;
|
|
119
|
+
}
|
|
120
|
+
//# sourceMappingURL=CubicPoolClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CubicPoolClient.d.ts","sourceRoot":"","sources":["../../src/clients/CubicPoolClient.ts"],"names":[],"mappings":"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"}
|