@syndicure/vault-sdk 0.1.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.
Files changed (53) hide show
  1. package/dist/client.d.ts +90 -0
  2. package/dist/client.d.ts.map +1 -0
  3. package/dist/client.js +184 -0
  4. package/dist/client.js.map +1 -0
  5. package/dist/constants.d.ts +36 -0
  6. package/dist/constants.d.ts.map +1 -0
  7. package/dist/constants.js +44 -0
  8. package/dist/constants.js.map +1 -0
  9. package/dist/index.d.ts +18 -0
  10. package/dist/index.d.ts.map +1 -0
  11. package/dist/index.js +92 -0
  12. package/dist/index.js.map +1 -0
  13. package/dist/instructions/admin.d.ts +136 -0
  14. package/dist/instructions/admin.d.ts.map +1 -0
  15. package/dist/instructions/admin.js +227 -0
  16. package/dist/instructions/admin.js.map +1 -0
  17. package/dist/instructions/liquidity.d.ts +50 -0
  18. package/dist/instructions/liquidity.d.ts.map +1 -0
  19. package/dist/instructions/liquidity.js +118 -0
  20. package/dist/instructions/liquidity.js.map +1 -0
  21. package/dist/instructions/nft.d.ts +80 -0
  22. package/dist/instructions/nft.d.ts.map +1 -0
  23. package/dist/instructions/nft.js +159 -0
  24. package/dist/instructions/nft.js.map +1 -0
  25. package/dist/instructions/swap.d.ts +57 -0
  26. package/dist/instructions/swap.d.ts.map +1 -0
  27. package/dist/instructions/swap.js +117 -0
  28. package/dist/instructions/swap.js.map +1 -0
  29. package/dist/pda.d.ts +28 -0
  30. package/dist/pda.d.ts.map +1 -0
  31. package/dist/pda.js +59 -0
  32. package/dist/pda.js.map +1 -0
  33. package/dist/pool/fetcher.d.ts +23 -0
  34. package/dist/pool/fetcher.d.ts.map +1 -0
  35. package/dist/pool/fetcher.js +171 -0
  36. package/dist/pool/fetcher.js.map +1 -0
  37. package/dist/pool/index.d.ts +53 -0
  38. package/dist/pool/index.d.ts.map +1 -0
  39. package/dist/pool/index.js +90 -0
  40. package/dist/pool/index.js.map +1 -0
  41. package/dist/routing/pathfinder.d.ts +25 -0
  42. package/dist/routing/pathfinder.d.ts.map +1 -0
  43. package/dist/routing/pathfinder.js +116 -0
  44. package/dist/routing/pathfinder.js.map +1 -0
  45. package/dist/routing/quote.d.ts +53 -0
  46. package/dist/routing/quote.d.ts.map +1 -0
  47. package/dist/routing/quote.js +145 -0
  48. package/dist/routing/quote.js.map +1 -0
  49. package/dist/types.d.ts +105 -0
  50. package/dist/types.d.ts.map +1 -0
  51. package/dist/types.js +15 -0
  52. package/dist/types.js.map +1 -0
  53. package/package.json +31 -0
@@ -0,0 +1,90 @@
1
+ /**
2
+ * @vault-program/sdk — High-level VaultClient.
3
+ *
4
+ * Wraps pool discovery, routing, quoting, and transaction building
5
+ * into a single ergonomic entry point.
6
+ *
7
+ * Usage:
8
+ * const client = await VaultClient.connect(connection);
9
+ * const quote = client.getQuote(mintA, mintB, amountIn);
10
+ * const sig = await client.swap(program, user, quote, { ... });
11
+ */
12
+ import { Connection, PublicKey } from "@solana/web3.js";
13
+ import { BN } from "@coral-xyz/anchor";
14
+ import { Pool, ProtocolConfig, Route, SwapQuote } from "./types";
15
+ import { PoolIndex } from "./pool/index";
16
+ import { BuildSwapOpts } from "./instructions/swap";
17
+ import { AddLiquidityOpts, RemoveLiquidityOpts, ClaimFeesOpts } from "./instructions/liquidity";
18
+ import { InitializeProtocolOpts, UpdateProtocolConfigOpts, WithdrawTreasuryOpts, WithdrawTreasuryTokensOpts, ClaimCreatorSolFeesOpts, CreatorWithdrawOpts, LockPoolOpts, CreateTokenTokenPoolOpts, CreateTokenNftPoolOpts } from "./instructions/admin";
19
+ export declare class VaultClient {
20
+ readonly connection: Connection;
21
+ readonly programId: PublicKey;
22
+ /** Protocol configuration (fee schedule, pause state, etc). */
23
+ config: ProtocolConfig | null;
24
+ /** All pools fetched on the last refresh. */
25
+ pools: Pool[];
26
+ /** Indexed view of pools for O(1) lookups. */
27
+ index: PoolIndex | null;
28
+ private constructor();
29
+ /**
30
+ * Create a VaultClient and load all on-chain state.
31
+ * This is the recommended entry point.
32
+ */
33
+ static connect(connection: Connection, programId?: PublicKey): Promise<VaultClient>;
34
+ /**
35
+ * Create a VaultClient without fetching any data.
36
+ * Call `refresh()` before using routing/quoting.
37
+ */
38
+ static create(connection: Connection, programId?: PublicKey): VaultClient;
39
+ /** Reload all pools and config from on-chain. */
40
+ refresh(): Promise<void>;
41
+ /** Refresh only a single pool (e.g. after a swap). */
42
+ refreshPool(poolAddress: PublicKey): Promise<Pool | null>;
43
+ /** Look up a pool by its two token mints (order doesn't matter). */
44
+ getPool(mintA: PublicKey, mintB: PublicKey): Pool | undefined;
45
+ /** Get all unique token mints across active TokenToken pools. */
46
+ getTokenMints(): PublicKey[];
47
+ /** Get all mints reachable from `inputMint` within maxHops. */
48
+ getReachableMints(inputMint: PublicKey, maxHops?: number): PublicKey[];
49
+ /** Find all swap routes between two mints. */
50
+ findRoutes(inputMint: PublicKey, outputMint: PublicKey, maxHops?: number): Route[];
51
+ /**
52
+ * Get the best swap quote for the given direction and amount.
53
+ *
54
+ * @param slippageBps Slippage tolerance (default 50 = 0.5%).
55
+ */
56
+ getQuote(inputMint: PublicKey, outputMint: PublicKey, amountIn: BN, slippageBps?: number): SwapQuote | null;
57
+ /**
58
+ * Build a swap transaction from a quote.
59
+ *
60
+ * You still need to provide the Anchor Program instance and user ATAs.
61
+ */
62
+ buildSwap(opts: Omit<BuildSwapOpts, "programId">): Promise<any>;
63
+ /** Build + send a swap transaction. */
64
+ swap(opts: Omit<BuildSwapOpts, "programId">): Promise<string>;
65
+ /** Build an add-liquidity transaction. */
66
+ buildAddLiquidity(opts: Omit<AddLiquidityOpts, "programId">): Promise<any>;
67
+ /** Build a remove-liquidity transaction. */
68
+ buildRemoveLiquidity(opts: Omit<RemoveLiquidityOpts, "programId">): Promise<any>;
69
+ /** Build a claim-fees transaction. */
70
+ buildClaimFees(opts: Omit<ClaimFeesOpts, "programId">): Promise<any>;
71
+ /** Build an initialize-protocol transaction. */
72
+ buildInitializeProtocol(opts: Omit<InitializeProtocolOpts, "programId">): Promise<any>;
73
+ /** Build an update-protocol-config transaction. */
74
+ buildUpdateProtocolConfig(opts: Omit<UpdateProtocolConfigOpts, "programId">): Promise<any>;
75
+ /** Build a withdraw-treasury (SOL) transaction. */
76
+ buildWithdrawTreasury(opts: Omit<WithdrawTreasuryOpts, "programId">): Promise<any>;
77
+ /** Build a withdraw-treasury-tokens (SPL) transaction. */
78
+ buildWithdrawTreasuryTokens(opts: Omit<WithdrawTreasuryTokensOpts, "programId">): Promise<any>;
79
+ /** Build a claim-creator-sol-fees transaction. */
80
+ buildClaimCreatorSolFees(opts: Omit<ClaimCreatorSolFeesOpts, "programId">): Promise<any>;
81
+ /** Build a creator-withdraw transaction. */
82
+ buildCreatorWithdraw(opts: Omit<CreatorWithdrawOpts, "programId">): Promise<any>;
83
+ /** Build a lock-pool transaction. */
84
+ buildLockPool(opts: Omit<LockPoolOpts, "programId">): Promise<any>;
85
+ /** Build a create-token-token-pool transaction. */
86
+ buildCreateTokenTokenPool(opts: Omit<CreateTokenTokenPoolOpts, "programId">): Promise<any>;
87
+ /** Build a create-token-nft-pool transaction. */
88
+ buildCreateTokenNftPool(opts: Omit<CreateTokenNftPoolOpts, "programId">): Promise<any>;
89
+ }
90
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAGvC,OAAO,EACL,IAAI,EACJ,cAAc,EACd,KAAK,EACL,SAAS,EACV,MAAM,SAAS,CAAC;AAMjB,OAAO,EACL,SAAS,EAIV,MAAM,cAAc,CAAC;AAKtB,OAAO,EAGL,aAAa,EACd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAIL,gBAAgB,EAChB,mBAAmB,EACnB,aAAa,EACd,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAUL,sBAAsB,EACtB,wBAAwB,EACxB,oBAAoB,EACpB,0BAA0B,EAC1B,uBAAuB,EACvB,mBAAmB,EACnB,YAAY,EACZ,wBAAwB,EACxB,sBAAsB,EACvB,MAAM,sBAAsB,CAAC;AAI9B,qBAAa,WAAW;IACtB,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAE9B,+DAA+D;IAC/D,MAAM,EAAE,cAAc,GAAG,IAAI,CAAQ;IAErC,6CAA6C;IAC7C,KAAK,EAAE,IAAI,EAAE,CAAM;IAEnB,8CAA8C;IAC9C,KAAK,EAAE,SAAS,GAAG,IAAI,CAAQ;IAE/B,OAAO;IAOP;;;OAGG;WACU,OAAO,CAClB,UAAU,EAAE,UAAU,EACtB,SAAS,CAAC,EAAE,SAAS,GACpB,OAAO,CAAC,WAAW,CAAC;IAMvB;;;OAGG;IACH,MAAM,CAAC,MAAM,CACX,UAAU,EAAE,UAAU,EACtB,SAAS,CAAC,EAAE,SAAS,GACpB,WAAW;IAMd,iDAAiD;IAC3C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAU9B,sDAAsD;IAChD,WAAW,CAAC,WAAW,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAoB/D,oEAAoE;IACpE,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI,GAAG,SAAS;IAK7D,iEAAiE;IACjE,aAAa,IAAI,SAAS,EAAE;IAK5B,+DAA+D;IAC/D,iBAAiB,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,EAAE;IAOtE,8CAA8C;IAC9C,UAAU,CACR,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,SAAS,EACrB,OAAO,CAAC,EAAE,MAAM,GACf,KAAK,EAAE;IAKV;;;;OAIG;IACH,QAAQ,CACN,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,SAAS,EACrB,QAAQ,EAAE,EAAE,EACZ,WAAW,CAAC,EAAE,MAAM,GACnB,SAAS,GAAG,IAAI;IAiBnB;;;;OAIG;IACG,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC;IAItD,uCAAuC;IACjC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAInE,0CAA0C;IACpC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,gBAAgB,EAAE,WAAW,CAAC;IAIjE,4CAA4C;IACtC,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,mBAAmB,EAAE,WAAW,CAAC;IAIvE,sCAAsC;IAChC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC;IAM3D,gDAAgD;IAC1C,uBAAuB,CAAC,IAAI,EAAE,IAAI,CAAC,sBAAsB,EAAE,WAAW,CAAC;IAI7E,mDAAmD;IAC7C,yBAAyB,CAAC,IAAI,EAAE,IAAI,CAAC,wBAAwB,EAAE,WAAW,CAAC;IAIjF,mDAAmD;IAC7C,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,oBAAoB,EAAE,WAAW,CAAC;IAIzE,0DAA0D;IACpD,2BAA2B,CAAC,IAAI,EAAE,IAAI,CAAC,0BAA0B,EAAE,WAAW,CAAC;IAIrF,kDAAkD;IAC5C,wBAAwB,CAAC,IAAI,EAAE,IAAI,CAAC,uBAAuB,EAAE,WAAW,CAAC;IAI/E,4CAA4C;IACtC,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,mBAAmB,EAAE,WAAW,CAAC;IAIvE,qCAAqC;IAC/B,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC;IAMzD,mDAAmD;IAC7C,yBAAyB,CAAC,IAAI,EAAE,IAAI,CAAC,wBAAwB,EAAE,WAAW,CAAC;IAIjF,iDAAiD;IAC3C,uBAAuB,CAAC,IAAI,EAAE,IAAI,CAAC,sBAAsB,EAAE,WAAW,CAAC;CAG9E"}
package/dist/client.js ADDED
@@ -0,0 +1,184 @@
1
+ "use strict";
2
+ /**
3
+ * @vault-program/sdk — High-level VaultClient.
4
+ *
5
+ * Wraps pool discovery, routing, quoting, and transaction building
6
+ * into a single ergonomic entry point.
7
+ *
8
+ * Usage:
9
+ * const client = await VaultClient.connect(connection);
10
+ * const quote = client.getQuote(mintA, mintB, amountIn);
11
+ * const sig = await client.swap(program, user, quote, { ... });
12
+ */
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.VaultClient = void 0;
15
+ const constants_1 = require("./constants");
16
+ const fetcher_1 = require("./pool/fetcher");
17
+ const index_1 = require("./pool/index");
18
+ const pathfinder_1 = require("./routing/pathfinder");
19
+ const quote_1 = require("./routing/quote");
20
+ const swap_1 = require("./instructions/swap");
21
+ const liquidity_1 = require("./instructions/liquidity");
22
+ const admin_1 = require("./instructions/admin");
23
+ // ─── Client ──────────────────────────────────────────────────
24
+ class VaultClient {
25
+ constructor(connection, programId) {
26
+ /** Protocol configuration (fee schedule, pause state, etc). */
27
+ this.config = null;
28
+ /** All pools fetched on the last refresh. */
29
+ this.pools = [];
30
+ /** Indexed view of pools for O(1) lookups. */
31
+ this.index = null;
32
+ this.connection = connection;
33
+ this.programId = programId ?? constants_1.PROGRAM_ID;
34
+ }
35
+ // ─── Factory ─────────────────────────────────────────────
36
+ /**
37
+ * Create a VaultClient and load all on-chain state.
38
+ * This is the recommended entry point.
39
+ */
40
+ static async connect(connection, programId) {
41
+ const client = new VaultClient(connection, programId);
42
+ await client.refresh();
43
+ return client;
44
+ }
45
+ /**
46
+ * Create a VaultClient without fetching any data.
47
+ * Call `refresh()` before using routing/quoting.
48
+ */
49
+ static create(connection, programId) {
50
+ return new VaultClient(connection, programId);
51
+ }
52
+ // ─── Data loading ────────────────────────────────────────
53
+ /** Reload all pools and config from on-chain. */
54
+ async refresh() {
55
+ const [config, pools] = await Promise.all([
56
+ (0, fetcher_1.fetchConfig)(this.connection, this.programId),
57
+ (0, fetcher_1.fetchAllPools)(this.connection, this.programId),
58
+ ]);
59
+ this.config = config;
60
+ this.pools = pools;
61
+ this.index = (0, index_1.buildPoolIndex)(pools);
62
+ }
63
+ /** Refresh only a single pool (e.g. after a swap). */
64
+ async refreshPool(poolAddress) {
65
+ const pool = await (0, fetcher_1.fetchPool)(this.connection, poolAddress);
66
+ if (!pool || !this.index)
67
+ return pool;
68
+ // Update in the index
69
+ const idx = this.pools.findIndex((p) => p.address.equals(poolAddress));
70
+ if (idx >= 0) {
71
+ this.pools[idx] = pool;
72
+ }
73
+ else {
74
+ this.pools.push(pool);
75
+ }
76
+ // Rebuild index (cheap — it's in-memory)
77
+ this.index = (0, index_1.buildPoolIndex)(this.pools);
78
+ return pool;
79
+ }
80
+ // ─── Pool lookups ────────────────────────────────────────
81
+ /** Look up a pool by its two token mints (order doesn't matter). */
82
+ getPool(mintA, mintB) {
83
+ if (!this.index)
84
+ return undefined;
85
+ return (0, index_1.getPoolByMints)(this.index, mintA, mintB);
86
+ }
87
+ /** Get all unique token mints across active TokenToken pools. */
88
+ getTokenMints() {
89
+ if (!this.index)
90
+ return [];
91
+ return (0, index_1.getAllTokenMints)(this.index);
92
+ }
93
+ /** Get all mints reachable from `inputMint` within maxHops. */
94
+ getReachableMints(inputMint, maxHops) {
95
+ if (!this.index)
96
+ return [];
97
+ return (0, pathfinder_1.getReachableMints)(this.index, inputMint, maxHops);
98
+ }
99
+ // ─── Routing & quoting ──────────────────────────────────
100
+ /** Find all swap routes between two mints. */
101
+ findRoutes(inputMint, outputMint, maxHops) {
102
+ if (!this.index)
103
+ return [];
104
+ return (0, pathfinder_1.findRoutes)(this.index, inputMint, outputMint, maxHops);
105
+ }
106
+ /**
107
+ * Get the best swap quote for the given direction and amount.
108
+ *
109
+ * @param slippageBps Slippage tolerance (default 50 = 0.5%).
110
+ */
111
+ getQuote(inputMint, outputMint, amountIn, slippageBps) {
112
+ if (!this.index || !this.config)
113
+ return null;
114
+ const routes = this.findRoutes(inputMint, outputMint);
115
+ if (routes.length === 0)
116
+ return null;
117
+ return (0, quote_1.bestQuote)(routes, amountIn, this.config.swapFeeBps, this.config.treasuryFeeBps, slippageBps);
118
+ }
119
+ // ─── Transaction building ────────────────────────────────
120
+ /**
121
+ * Build a swap transaction from a quote.
122
+ *
123
+ * You still need to provide the Anchor Program instance and user ATAs.
124
+ */
125
+ async buildSwap(opts) {
126
+ return (0, swap_1.buildSwapTransaction)({ ...opts, programId: this.programId });
127
+ }
128
+ /** Build + send a swap transaction. */
129
+ async swap(opts) {
130
+ return (0, swap_1.executeSwap)({ ...opts, programId: this.programId });
131
+ }
132
+ /** Build an add-liquidity transaction. */
133
+ async buildAddLiquidity(opts) {
134
+ return (0, liquidity_1.buildAddLiquidity)({ ...opts, programId: this.programId });
135
+ }
136
+ /** Build a remove-liquidity transaction. */
137
+ async buildRemoveLiquidity(opts) {
138
+ return (0, liquidity_1.buildRemoveLiquidity)({ ...opts, programId: this.programId });
139
+ }
140
+ /** Build a claim-fees transaction. */
141
+ async buildClaimFees(opts) {
142
+ return (0, liquidity_1.buildClaimFees)({ ...opts, programId: this.programId });
143
+ }
144
+ // ─── Admin transactions ──────────────────────────────────
145
+ /** Build an initialize-protocol transaction. */
146
+ async buildInitializeProtocol(opts) {
147
+ return (0, admin_1.buildInitializeProtocol)({ ...opts, programId: this.programId });
148
+ }
149
+ /** Build an update-protocol-config transaction. */
150
+ async buildUpdateProtocolConfig(opts) {
151
+ return (0, admin_1.buildUpdateProtocolConfig)({ ...opts, programId: this.programId });
152
+ }
153
+ /** Build a withdraw-treasury (SOL) transaction. */
154
+ async buildWithdrawTreasury(opts) {
155
+ return (0, admin_1.buildWithdrawTreasury)({ ...opts, programId: this.programId });
156
+ }
157
+ /** Build a withdraw-treasury-tokens (SPL) transaction. */
158
+ async buildWithdrawTreasuryTokens(opts) {
159
+ return (0, admin_1.buildWithdrawTreasuryTokens)({ ...opts, programId: this.programId });
160
+ }
161
+ /** Build a claim-creator-sol-fees transaction. */
162
+ async buildClaimCreatorSolFees(opts) {
163
+ return (0, admin_1.buildClaimCreatorSolFees)({ ...opts, programId: this.programId });
164
+ }
165
+ /** Build a creator-withdraw transaction. */
166
+ async buildCreatorWithdraw(opts) {
167
+ return (0, admin_1.buildCreatorWithdraw)({ ...opts, programId: this.programId });
168
+ }
169
+ /** Build a lock-pool transaction. */
170
+ async buildLockPool(opts) {
171
+ return (0, admin_1.buildLockPool)({ ...opts, programId: this.programId });
172
+ }
173
+ // ─── Pool creation ──────────────────────────────────────
174
+ /** Build a create-token-token-pool transaction. */
175
+ async buildCreateTokenTokenPool(opts) {
176
+ return (0, admin_1.buildCreateTokenTokenPool)({ ...opts, programId: this.programId });
177
+ }
178
+ /** Build a create-token-nft-pool transaction. */
179
+ async buildCreateTokenNftPool(opts) {
180
+ return (0, admin_1.buildCreateTokenNftPool)({ ...opts, programId: this.programId });
181
+ }
182
+ }
183
+ exports.VaultClient = VaultClient;
184
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * @vault-program/sdk — Constants mirroring the on-chain program.
3
+ *
4
+ * These MUST stay in sync with `programs/vault_program/src/constants.rs`.
5
+ */
6
+ import { PublicKey } from "@solana/web3.js";
7
+ /** Deployed program address. */
8
+ export declare const PROGRAM_ID: PublicKey;
9
+ export declare const PROTOCOL_CONFIG_SEED: Buffer<ArrayBuffer>;
10
+ export declare const TREASURY_SEED: Buffer<ArrayBuffer>;
11
+ export declare const POOL_SEED: Buffer<ArrayBuffer>;
12
+ export declare const LP_MINT_SEED: Buffer<ArrayBuffer>;
13
+ export declare const LP_POSITION_SEED: Buffer<ArrayBuffer>;
14
+ export declare const NFT_ESCROW_SEED: Buffer<ArrayBuffer>;
15
+ export declare const CREATOR_FEE_SEED: Buffer<ArrayBuffer>;
16
+ /** 100% = 10 000 basis points. */
17
+ export declare const BPS_DENOMINATOR = 10000;
18
+ /** Scaling factor for fee-per-share accumulators (1e12). */
19
+ export declare const FEE_PRECISION: bigint;
20
+ /** Scaling factor for `Pool.lastPrice` (1e9). */
21
+ export declare const PRICE_SCALE = 1000000000;
22
+ /** Max swap fee: 10% = 1 000 bps. */
23
+ export declare const MAX_FEE_BPS = 1000;
24
+ /** Min swap fee: 0.1% = 10 bps. */
25
+ export declare const MIN_SWAP_FEE_BPS = 10;
26
+ /** Max treasury share of swap fee: 100% = 10 000 bps. */
27
+ export declare const MAX_TREASURY_FEE_BPS = 10000;
28
+ export declare const MIN_SWAP_AMOUNT = 1;
29
+ export declare const MINIMUM_LIQUIDITY = 1000;
30
+ /** Accounts per intermediate hop in `remaining_accounts`. */
31
+ export declare const ACCOUNTS_PER_INTERMEDIATE_HOP = 9;
32
+ /** Accounts for the final hop in `remaining_accounts`. */
33
+ export declare const ACCOUNTS_PER_FINAL_HOP = 8;
34
+ /** Max hops supported by `swap_tokens`. */
35
+ export declare const MAX_HOPS = 3;
36
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAI5C,gCAAgC;AAChC,eAAO,MAAM,UAAU,WAEtB,CAAC;AAIF,eAAO,MAAM,oBAAoB,qBAAiC,CAAC;AACnE,eAAO,MAAM,aAAa,qBAA0B,CAAC;AACrD,eAAO,MAAM,SAAS,qBAAsB,CAAC;AAC7C,eAAO,MAAM,YAAY,qBAAyB,CAAC;AACnD,eAAO,MAAM,gBAAgB,qBAA6B,CAAC;AAC3D,eAAO,MAAM,eAAe,qBAA4B,CAAC;AACzD,eAAO,MAAM,gBAAgB,qBAA6B,CAAC;AAI3D,kCAAkC;AAClC,eAAO,MAAM,eAAe,QAAS,CAAC;AACtC,4DAA4D;AAC5D,eAAO,MAAM,aAAa,QAA0B,CAAC;AACrD,iDAAiD;AACjD,eAAO,MAAM,WAAW,aAAgB,CAAC;AACzC,qCAAqC;AACrC,eAAO,MAAM,WAAW,OAAQ,CAAC;AACjC,mCAAmC;AACnC,eAAO,MAAM,gBAAgB,KAAK,CAAC;AACnC,yDAAyD;AACzD,eAAO,MAAM,oBAAoB,QAAS,CAAC;AAI3C,eAAO,MAAM,eAAe,IAAI,CAAC;AACjC,eAAO,MAAM,iBAAiB,OAAQ,CAAC;AAIvC,6DAA6D;AAC7D,eAAO,MAAM,6BAA6B,IAAI,CAAC;AAC/C,0DAA0D;AAC1D,eAAO,MAAM,sBAAsB,IAAI,CAAC;AACxC,2CAA2C;AAC3C,eAAO,MAAM,QAAQ,IAAI,CAAC"}
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ /**
3
+ * @vault-program/sdk — Constants mirroring the on-chain program.
4
+ *
5
+ * These MUST stay in sync with `programs/vault_program/src/constants.rs`.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.MAX_HOPS = exports.ACCOUNTS_PER_FINAL_HOP = exports.ACCOUNTS_PER_INTERMEDIATE_HOP = exports.MINIMUM_LIQUIDITY = exports.MIN_SWAP_AMOUNT = exports.MAX_TREASURY_FEE_BPS = exports.MIN_SWAP_FEE_BPS = exports.MAX_FEE_BPS = exports.PRICE_SCALE = exports.FEE_PRECISION = exports.BPS_DENOMINATOR = exports.CREATOR_FEE_SEED = exports.NFT_ESCROW_SEED = exports.LP_POSITION_SEED = exports.LP_MINT_SEED = exports.POOL_SEED = exports.TREASURY_SEED = exports.PROTOCOL_CONFIG_SEED = exports.PROGRAM_ID = void 0;
9
+ const web3_js_1 = require("@solana/web3.js");
10
+ // ─── Program ID ──────────────────────────────────────────────
11
+ /** Deployed program address. */
12
+ exports.PROGRAM_ID = new web3_js_1.PublicKey("Behx55uM6DnSZdjVB3y67ZyxV5gmSbSt51D6r3w6LiER");
13
+ // ─── PDA Seeds ───────────────────────────────────────────────
14
+ exports.PROTOCOL_CONFIG_SEED = Buffer.from("protocol_config");
15
+ exports.TREASURY_SEED = Buffer.from("treasury");
16
+ exports.POOL_SEED = Buffer.from("pool");
17
+ exports.LP_MINT_SEED = Buffer.from("lp_mint");
18
+ exports.LP_POSITION_SEED = Buffer.from("lp_position");
19
+ exports.NFT_ESCROW_SEED = Buffer.from("nft_escrow");
20
+ exports.CREATOR_FEE_SEED = Buffer.from("creator_fee");
21
+ // ─── Fee / Precision ─────────────────────────────────────────
22
+ /** 100% = 10 000 basis points. */
23
+ exports.BPS_DENOMINATOR = 10000;
24
+ /** Scaling factor for fee-per-share accumulators (1e12). */
25
+ exports.FEE_PRECISION = BigInt("1000000000000");
26
+ /** Scaling factor for `Pool.lastPrice` (1e9). */
27
+ exports.PRICE_SCALE = 1000000000;
28
+ /** Max swap fee: 10% = 1 000 bps. */
29
+ exports.MAX_FEE_BPS = 1000;
30
+ /** Min swap fee: 0.1% = 10 bps. */
31
+ exports.MIN_SWAP_FEE_BPS = 10;
32
+ /** Max treasury share of swap fee: 100% = 10 000 bps. */
33
+ exports.MAX_TREASURY_FEE_BPS = 10000;
34
+ // ─── Limits ──────────────────────────────────────────────────
35
+ exports.MIN_SWAP_AMOUNT = 1;
36
+ exports.MINIMUM_LIQUIDITY = 1000;
37
+ // ─── Swap Instruction Layout ─────────────────────────────────
38
+ /** Accounts per intermediate hop in `remaining_accounts`. */
39
+ exports.ACCOUNTS_PER_INTERMEDIATE_HOP = 9;
40
+ /** Accounts for the final hop in `remaining_accounts`. */
41
+ exports.ACCOUNTS_PER_FINAL_HOP = 8;
42
+ /** Max hops supported by `swap_tokens`. */
43
+ exports.MAX_HOPS = 3;
44
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,6CAA4C;AAE5C,gEAAgE;AAEhE,gCAAgC;AACnB,QAAA,UAAU,GAAG,IAAI,mBAAS,CACrC,8CAA8C,CAC/C,CAAC;AAEF,gEAAgE;AAEnD,QAAA,oBAAoB,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;AACtD,QAAA,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACxC,QAAA,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAChC,QAAA,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACtC,QAAA,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AAC9C,QAAA,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAC5C,QAAA,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AAE3D,gEAAgE;AAEhE,kCAAkC;AACrB,QAAA,eAAe,GAAG,KAAM,CAAC;AACtC,4DAA4D;AAC/C,QAAA,aAAa,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;AACrD,iDAAiD;AACpC,QAAA,WAAW,GAAG,UAAa,CAAC;AACzC,qCAAqC;AACxB,QAAA,WAAW,GAAG,IAAK,CAAC;AACjC,mCAAmC;AACtB,QAAA,gBAAgB,GAAG,EAAE,CAAC;AACnC,yDAAyD;AAC5C,QAAA,oBAAoB,GAAG,KAAM,CAAC;AAE3C,gEAAgE;AAEnD,QAAA,eAAe,GAAG,CAAC,CAAC;AACpB,QAAA,iBAAiB,GAAG,IAAK,CAAC;AAEvC,gEAAgE;AAEhE,6DAA6D;AAChD,QAAA,6BAA6B,GAAG,CAAC,CAAC;AAC/C,0DAA0D;AAC7C,QAAA,sBAAsB,GAAG,CAAC,CAAC;AACxC,2CAA2C;AAC9B,QAAA,QAAQ,GAAG,CAAC,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * @vault-program/sdk — Barrel exports.
3
+ *
4
+ * import { VaultClient, findRoutes, buildSwapTransaction } from "@vault-program/sdk";
5
+ */
6
+ export { VaultClient } from "./client";
7
+ export { PROGRAM_ID, PROTOCOL_CONFIG_SEED, TREASURY_SEED, POOL_SEED, LP_MINT_SEED, LP_POSITION_SEED, NFT_ESCROW_SEED, CREATOR_FEE_SEED, BPS_DENOMINATOR, FEE_PRECISION, PRICE_SCALE, MAX_FEE_BPS, MIN_SWAP_FEE_BPS, MAX_TREASURY_FEE_BPS, MIN_SWAP_AMOUNT, MINIMUM_LIQUIDITY, ACCOUNTS_PER_INTERMEDIATE_HOP, ACCOUNTS_PER_FINAL_HOP, MAX_HOPS, } from "./constants";
8
+ export { deriveConfigPda, deriveTreasuryPda, derivePoolPda, deriveLpMintPda, derivePositionPda, deriveNftEscrowPda, deriveCreatorFeeVaultPda, sortMints, } from "./pda";
9
+ export { PoolType, Pool, ProtocolConfig, LiquidityPosition, Hop, Route, FeeBreakdown, HopQuote, SwapQuote, } from "./types";
10
+ export { deserializePool, fetchAllPools, fetchPool, fetchConfig, } from "./pool/fetcher";
11
+ export { PoolIndex, buildPoolIndex, getPoolByMints, getAllTokenMints, } from "./pool/index";
12
+ export { findRoutes, getReachableMints } from "./routing/pathfinder";
13
+ export { calculateFee, computeOutput, resolveFeeBps, quoteHop, quoteRoute, bestQuote, } from "./routing/quote";
14
+ export { buildSwapTransaction, executeSwap, BuildSwapOpts, } from "./instructions/swap";
15
+ export { buildAddLiquidity, buildRemoveLiquidity, buildClaimFees, AddLiquidityOpts, RemoveLiquidityOpts, ClaimFeesOpts, } from "./instructions/liquidity";
16
+ export { buildSwapTokenForNft, buildSwapNftForToken, buildAddLiquidityNft, buildRemoveLiquidityNft, SwapTokenForNftOpts, SwapNftForTokenOpts, AddLiquidityNftOpts, RemoveLiquidityNftOpts, } from "./instructions/nft";
17
+ export { buildInitializeProtocol, buildUpdateProtocolConfig, buildWithdrawTreasury, buildWithdrawTreasuryTokens, buildClaimCreatorSolFees, buildCreatorWithdraw, buildLockPool, buildCreateTokenTokenPool, buildCreateTokenNftPool, InitializeProtocolOpts, UpdateProtocolConfigOpts, WithdrawTreasuryOpts, WithdrawTreasuryTokensOpts, ClaimCreatorSolFeesOpts, CreatorWithdrawOpts, LockPoolOpts, CreateTokenTokenPoolOpts, CreateTokenNftPoolOpts, } from "./instructions/admin";
18
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAGvC,OAAO,EACL,UAAU,EACV,oBAAoB,EACpB,aAAa,EACb,SAAS,EACT,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,WAAW,EACX,WAAW,EACX,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,EACf,iBAAiB,EACjB,6BAA6B,EAC7B,sBAAsB,EACtB,QAAQ,GACT,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,wBAAwB,EACxB,SAAS,GACV,MAAM,OAAO,CAAC;AAGf,OAAO,EACL,QAAQ,EACR,IAAI,EACJ,cAAc,EACd,iBAAiB,EACjB,GAAG,EACH,KAAK,EACL,YAAY,EACZ,QAAQ,EACR,SAAS,GACV,MAAM,SAAS,CAAC;AAGjB,OAAO,EACL,eAAe,EACf,aAAa,EACb,SAAS,EACT,WAAW,GACZ,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,SAAS,EACT,cAAc,EACd,cAAc,EACd,gBAAgB,GACjB,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAErE,OAAO,EACL,YAAY,EACZ,aAAa,EACb,aAAa,EACb,QAAQ,EACR,UAAU,EACV,SAAS,GACV,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,oBAAoB,EACpB,WAAW,EACX,aAAa,GACd,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,aAAa,GACd,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,uBAAuB,EACvB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,uBAAuB,EACvB,yBAAyB,EACzB,qBAAqB,EACrB,2BAA2B,EAC3B,wBAAwB,EACxB,oBAAoB,EACpB,aAAa,EACb,yBAAyB,EACzB,uBAAuB,EACvB,sBAAsB,EACtB,wBAAwB,EACxB,oBAAoB,EACpB,0BAA0B,EAC1B,uBAAuB,EACvB,mBAAmB,EACnB,YAAY,EACZ,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,sBAAsB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+ /**
3
+ * @vault-program/sdk — Barrel exports.
4
+ *
5
+ * import { VaultClient, findRoutes, buildSwapTransaction } from "@vault-program/sdk";
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.buildSwapTokenForNft = exports.buildClaimFees = exports.buildRemoveLiquidity = exports.buildAddLiquidity = exports.executeSwap = exports.buildSwapTransaction = exports.bestQuote = exports.quoteRoute = exports.quoteHop = exports.resolveFeeBps = exports.computeOutput = exports.calculateFee = exports.getReachableMints = exports.findRoutes = exports.getAllTokenMints = exports.getPoolByMints = exports.buildPoolIndex = exports.fetchConfig = exports.fetchPool = exports.fetchAllPools = exports.deserializePool = exports.PoolType = exports.sortMints = exports.deriveCreatorFeeVaultPda = exports.deriveNftEscrowPda = exports.derivePositionPda = exports.deriveLpMintPda = exports.derivePoolPda = exports.deriveTreasuryPda = exports.deriveConfigPda = exports.MAX_HOPS = exports.ACCOUNTS_PER_FINAL_HOP = exports.ACCOUNTS_PER_INTERMEDIATE_HOP = exports.MINIMUM_LIQUIDITY = exports.MIN_SWAP_AMOUNT = exports.MAX_TREASURY_FEE_BPS = exports.MIN_SWAP_FEE_BPS = exports.MAX_FEE_BPS = exports.PRICE_SCALE = exports.FEE_PRECISION = exports.BPS_DENOMINATOR = exports.CREATOR_FEE_SEED = exports.NFT_ESCROW_SEED = exports.LP_POSITION_SEED = exports.LP_MINT_SEED = exports.POOL_SEED = exports.TREASURY_SEED = exports.PROTOCOL_CONFIG_SEED = exports.PROGRAM_ID = exports.VaultClient = void 0;
9
+ exports.buildCreateTokenNftPool = exports.buildCreateTokenTokenPool = exports.buildLockPool = exports.buildCreatorWithdraw = exports.buildClaimCreatorSolFees = exports.buildWithdrawTreasuryTokens = exports.buildWithdrawTreasury = exports.buildUpdateProtocolConfig = exports.buildInitializeProtocol = exports.buildRemoveLiquidityNft = exports.buildAddLiquidityNft = exports.buildSwapNftForToken = void 0;
10
+ // ─── High-level client ──────────────────────────────────────
11
+ var client_1 = require("./client");
12
+ Object.defineProperty(exports, "VaultClient", { enumerable: true, get: function () { return client_1.VaultClient; } });
13
+ // ─── Constants ──────────────────────────────────────────────
14
+ var constants_1 = require("./constants");
15
+ Object.defineProperty(exports, "PROGRAM_ID", { enumerable: true, get: function () { return constants_1.PROGRAM_ID; } });
16
+ Object.defineProperty(exports, "PROTOCOL_CONFIG_SEED", { enumerable: true, get: function () { return constants_1.PROTOCOL_CONFIG_SEED; } });
17
+ Object.defineProperty(exports, "TREASURY_SEED", { enumerable: true, get: function () { return constants_1.TREASURY_SEED; } });
18
+ Object.defineProperty(exports, "POOL_SEED", { enumerable: true, get: function () { return constants_1.POOL_SEED; } });
19
+ Object.defineProperty(exports, "LP_MINT_SEED", { enumerable: true, get: function () { return constants_1.LP_MINT_SEED; } });
20
+ Object.defineProperty(exports, "LP_POSITION_SEED", { enumerable: true, get: function () { return constants_1.LP_POSITION_SEED; } });
21
+ Object.defineProperty(exports, "NFT_ESCROW_SEED", { enumerable: true, get: function () { return constants_1.NFT_ESCROW_SEED; } });
22
+ Object.defineProperty(exports, "CREATOR_FEE_SEED", { enumerable: true, get: function () { return constants_1.CREATOR_FEE_SEED; } });
23
+ Object.defineProperty(exports, "BPS_DENOMINATOR", { enumerable: true, get: function () { return constants_1.BPS_DENOMINATOR; } });
24
+ Object.defineProperty(exports, "FEE_PRECISION", { enumerable: true, get: function () { return constants_1.FEE_PRECISION; } });
25
+ Object.defineProperty(exports, "PRICE_SCALE", { enumerable: true, get: function () { return constants_1.PRICE_SCALE; } });
26
+ Object.defineProperty(exports, "MAX_FEE_BPS", { enumerable: true, get: function () { return constants_1.MAX_FEE_BPS; } });
27
+ Object.defineProperty(exports, "MIN_SWAP_FEE_BPS", { enumerable: true, get: function () { return constants_1.MIN_SWAP_FEE_BPS; } });
28
+ Object.defineProperty(exports, "MAX_TREASURY_FEE_BPS", { enumerable: true, get: function () { return constants_1.MAX_TREASURY_FEE_BPS; } });
29
+ Object.defineProperty(exports, "MIN_SWAP_AMOUNT", { enumerable: true, get: function () { return constants_1.MIN_SWAP_AMOUNT; } });
30
+ Object.defineProperty(exports, "MINIMUM_LIQUIDITY", { enumerable: true, get: function () { return constants_1.MINIMUM_LIQUIDITY; } });
31
+ Object.defineProperty(exports, "ACCOUNTS_PER_INTERMEDIATE_HOP", { enumerable: true, get: function () { return constants_1.ACCOUNTS_PER_INTERMEDIATE_HOP; } });
32
+ Object.defineProperty(exports, "ACCOUNTS_PER_FINAL_HOP", { enumerable: true, get: function () { return constants_1.ACCOUNTS_PER_FINAL_HOP; } });
33
+ Object.defineProperty(exports, "MAX_HOPS", { enumerable: true, get: function () { return constants_1.MAX_HOPS; } });
34
+ // ─── PDA helpers ────────────────────────────────────────────
35
+ var pda_1 = require("./pda");
36
+ Object.defineProperty(exports, "deriveConfigPda", { enumerable: true, get: function () { return pda_1.deriveConfigPda; } });
37
+ Object.defineProperty(exports, "deriveTreasuryPda", { enumerable: true, get: function () { return pda_1.deriveTreasuryPda; } });
38
+ Object.defineProperty(exports, "derivePoolPda", { enumerable: true, get: function () { return pda_1.derivePoolPda; } });
39
+ Object.defineProperty(exports, "deriveLpMintPda", { enumerable: true, get: function () { return pda_1.deriveLpMintPda; } });
40
+ Object.defineProperty(exports, "derivePositionPda", { enumerable: true, get: function () { return pda_1.derivePositionPda; } });
41
+ Object.defineProperty(exports, "deriveNftEscrowPda", { enumerable: true, get: function () { return pda_1.deriveNftEscrowPda; } });
42
+ Object.defineProperty(exports, "deriveCreatorFeeVaultPda", { enumerable: true, get: function () { return pda_1.deriveCreatorFeeVaultPda; } });
43
+ Object.defineProperty(exports, "sortMints", { enumerable: true, get: function () { return pda_1.sortMints; } });
44
+ // ─── Types ──────────────────────────────────────────────────
45
+ var types_1 = require("./types");
46
+ Object.defineProperty(exports, "PoolType", { enumerable: true, get: function () { return types_1.PoolType; } });
47
+ // ─── Pool fetch & index ─────────────────────────────────────
48
+ var fetcher_1 = require("./pool/fetcher");
49
+ Object.defineProperty(exports, "deserializePool", { enumerable: true, get: function () { return fetcher_1.deserializePool; } });
50
+ Object.defineProperty(exports, "fetchAllPools", { enumerable: true, get: function () { return fetcher_1.fetchAllPools; } });
51
+ Object.defineProperty(exports, "fetchPool", { enumerable: true, get: function () { return fetcher_1.fetchPool; } });
52
+ Object.defineProperty(exports, "fetchConfig", { enumerable: true, get: function () { return fetcher_1.fetchConfig; } });
53
+ var index_1 = require("./pool/index");
54
+ Object.defineProperty(exports, "buildPoolIndex", { enumerable: true, get: function () { return index_1.buildPoolIndex; } });
55
+ Object.defineProperty(exports, "getPoolByMints", { enumerable: true, get: function () { return index_1.getPoolByMints; } });
56
+ Object.defineProperty(exports, "getAllTokenMints", { enumerable: true, get: function () { return index_1.getAllTokenMints; } });
57
+ // ─── Routing ────────────────────────────────────────────────
58
+ var pathfinder_1 = require("./routing/pathfinder");
59
+ Object.defineProperty(exports, "findRoutes", { enumerable: true, get: function () { return pathfinder_1.findRoutes; } });
60
+ Object.defineProperty(exports, "getReachableMints", { enumerable: true, get: function () { return pathfinder_1.getReachableMints; } });
61
+ var quote_1 = require("./routing/quote");
62
+ Object.defineProperty(exports, "calculateFee", { enumerable: true, get: function () { return quote_1.calculateFee; } });
63
+ Object.defineProperty(exports, "computeOutput", { enumerable: true, get: function () { return quote_1.computeOutput; } });
64
+ Object.defineProperty(exports, "resolveFeeBps", { enumerable: true, get: function () { return quote_1.resolveFeeBps; } });
65
+ Object.defineProperty(exports, "quoteHop", { enumerable: true, get: function () { return quote_1.quoteHop; } });
66
+ Object.defineProperty(exports, "quoteRoute", { enumerable: true, get: function () { return quote_1.quoteRoute; } });
67
+ Object.defineProperty(exports, "bestQuote", { enumerable: true, get: function () { return quote_1.bestQuote; } });
68
+ // ─── Instruction builders ───────────────────────────────────
69
+ var swap_1 = require("./instructions/swap");
70
+ Object.defineProperty(exports, "buildSwapTransaction", { enumerable: true, get: function () { return swap_1.buildSwapTransaction; } });
71
+ Object.defineProperty(exports, "executeSwap", { enumerable: true, get: function () { return swap_1.executeSwap; } });
72
+ var liquidity_1 = require("./instructions/liquidity");
73
+ Object.defineProperty(exports, "buildAddLiquidity", { enumerable: true, get: function () { return liquidity_1.buildAddLiquidity; } });
74
+ Object.defineProperty(exports, "buildRemoveLiquidity", { enumerable: true, get: function () { return liquidity_1.buildRemoveLiquidity; } });
75
+ Object.defineProperty(exports, "buildClaimFees", { enumerable: true, get: function () { return liquidity_1.buildClaimFees; } });
76
+ var nft_1 = require("./instructions/nft");
77
+ Object.defineProperty(exports, "buildSwapTokenForNft", { enumerable: true, get: function () { return nft_1.buildSwapTokenForNft; } });
78
+ Object.defineProperty(exports, "buildSwapNftForToken", { enumerable: true, get: function () { return nft_1.buildSwapNftForToken; } });
79
+ Object.defineProperty(exports, "buildAddLiquidityNft", { enumerable: true, get: function () { return nft_1.buildAddLiquidityNft; } });
80
+ Object.defineProperty(exports, "buildRemoveLiquidityNft", { enumerable: true, get: function () { return nft_1.buildRemoveLiquidityNft; } });
81
+ // ─── Admin & pool creation instruction builders ─────────────
82
+ var admin_1 = require("./instructions/admin");
83
+ Object.defineProperty(exports, "buildInitializeProtocol", { enumerable: true, get: function () { return admin_1.buildInitializeProtocol; } });
84
+ Object.defineProperty(exports, "buildUpdateProtocolConfig", { enumerable: true, get: function () { return admin_1.buildUpdateProtocolConfig; } });
85
+ Object.defineProperty(exports, "buildWithdrawTreasury", { enumerable: true, get: function () { return admin_1.buildWithdrawTreasury; } });
86
+ Object.defineProperty(exports, "buildWithdrawTreasuryTokens", { enumerable: true, get: function () { return admin_1.buildWithdrawTreasuryTokens; } });
87
+ Object.defineProperty(exports, "buildClaimCreatorSolFees", { enumerable: true, get: function () { return admin_1.buildClaimCreatorSolFees; } });
88
+ Object.defineProperty(exports, "buildCreatorWithdraw", { enumerable: true, get: function () { return admin_1.buildCreatorWithdraw; } });
89
+ Object.defineProperty(exports, "buildLockPool", { enumerable: true, get: function () { return admin_1.buildLockPool; } });
90
+ Object.defineProperty(exports, "buildCreateTokenTokenPool", { enumerable: true, get: function () { return admin_1.buildCreateTokenTokenPool; } });
91
+ Object.defineProperty(exports, "buildCreateTokenNftPool", { enumerable: true, get: function () { return admin_1.buildCreateTokenNftPool; } });
92
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;AAEH,+DAA+D;AAC/D,mCAAuC;AAA9B,qGAAA,WAAW,OAAA;AAEpB,+DAA+D;AAC/D,yCAoBqB;AAnBnB,uGAAA,UAAU,OAAA;AACV,iHAAA,oBAAoB,OAAA;AACpB,0GAAA,aAAa,OAAA;AACb,sGAAA,SAAS,OAAA;AACT,yGAAA,YAAY,OAAA;AACZ,6GAAA,gBAAgB,OAAA;AAChB,4GAAA,eAAe,OAAA;AACf,6GAAA,gBAAgB,OAAA;AAChB,4GAAA,eAAe,OAAA;AACf,0GAAA,aAAa,OAAA;AACb,wGAAA,WAAW,OAAA;AACX,wGAAA,WAAW,OAAA;AACX,6GAAA,gBAAgB,OAAA;AAChB,iHAAA,oBAAoB,OAAA;AACpB,4GAAA,eAAe,OAAA;AACf,8GAAA,iBAAiB,OAAA;AACjB,0HAAA,6BAA6B,OAAA;AAC7B,mHAAA,sBAAsB,OAAA;AACtB,qGAAA,QAAQ,OAAA;AAGV,+DAA+D;AAC/D,6BASe;AARb,sGAAA,eAAe,OAAA;AACf,wGAAA,iBAAiB,OAAA;AACjB,oGAAA,aAAa,OAAA;AACb,sGAAA,eAAe,OAAA;AACf,wGAAA,iBAAiB,OAAA;AACjB,yGAAA,kBAAkB,OAAA;AAClB,+GAAA,wBAAwB,OAAA;AACxB,gGAAA,SAAS,OAAA;AAGX,+DAA+D;AAC/D,iCAUiB;AATf,iGAAA,QAAQ,OAAA;AAWV,+DAA+D;AAC/D,0CAKwB;AAJtB,0GAAA,eAAe,OAAA;AACf,wGAAA,aAAa,OAAA;AACb,oGAAA,SAAS,OAAA;AACT,sGAAA,WAAW,OAAA;AAGb,sCAKsB;AAHpB,uGAAA,cAAc,OAAA;AACd,uGAAA,cAAc,OAAA;AACd,yGAAA,gBAAgB,OAAA;AAGlB,+DAA+D;AAC/D,mDAAqE;AAA5D,wGAAA,UAAU,OAAA;AAAE,+GAAA,iBAAiB,OAAA;AAEtC,yCAOyB;AANvB,qGAAA,YAAY,OAAA;AACZ,sGAAA,aAAa,OAAA;AACb,sGAAA,aAAa,OAAA;AACb,iGAAA,QAAQ,OAAA;AACR,mGAAA,UAAU,OAAA;AACV,kGAAA,SAAS,OAAA;AAGX,+DAA+D;AAC/D,4CAI6B;AAH3B,4GAAA,oBAAoB,OAAA;AACpB,mGAAA,WAAW,OAAA;AAIb,sDAOkC;AANhC,8GAAA,iBAAiB,OAAA;AACjB,iHAAA,oBAAoB,OAAA;AACpB,2GAAA,cAAc,OAAA;AAMhB,0CAS4B;AAR1B,2GAAA,oBAAoB,OAAA;AACpB,2GAAA,oBAAoB,OAAA;AACpB,2GAAA,oBAAoB,OAAA;AACpB,8GAAA,uBAAuB,OAAA;AAOzB,+DAA+D;AAC/D,8CAmB8B;AAlB5B,gHAAA,uBAAuB,OAAA;AACvB,kHAAA,yBAAyB,OAAA;AACzB,8GAAA,qBAAqB,OAAA;AACrB,oHAAA,2BAA2B,OAAA;AAC3B,iHAAA,wBAAwB,OAAA;AACxB,6GAAA,oBAAoB,OAAA;AACpB,sGAAA,aAAa,OAAA;AACb,kHAAA,yBAAyB,OAAA;AACzB,gHAAA,uBAAuB,OAAA"}