@coinbarrel/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/dist/pool.js ADDED
@@ -0,0 +1,242 @@
1
+ /**
2
+ * AMM Pool Operations
3
+ * Swap tokens on graduated AMM pools
4
+ */
5
+ import { SystemProgram, TransactionInstruction, } from "@solana/web3.js";
6
+ import { TOKEN_PROGRAM_ID, getAssociatedTokenAddressSync, createAssociatedTokenAccountInstruction, createCloseAccountInstruction, getAccount, } from "@solana/spl-token";
7
+ import { DISCRIMINATORS, NATIVE_MINT } from "./constants.js";
8
+ import { getPoolPda, getPoolAuthorityPda, getPoolWsolVaultPda, getPoolTokenVaultPda, getHolderRewardPda, } from "./pda.js";
9
+ import { getPoolState, getPoolBalances } from "./accounts.js";
10
+ // ============= Buffer Helpers =============
11
+ function writeU64LE(n) {
12
+ const b = Buffer.alloc(8);
13
+ b.writeBigUInt64LE(n);
14
+ return b;
15
+ }
16
+ // ============= Quote Calculations =============
17
+ /**
18
+ * Calculate swap quote for SOL -> Token
19
+ */
20
+ export async function getSwapSolToTokenQuote(connection, tokenMint, solIn, programId) {
21
+ const balances = await getPoolBalances(connection, tokenMint, programId);
22
+ const state = await getPoolState(connection, tokenMint, programId);
23
+ if (!balances || !state)
24
+ return null;
25
+ const { solBalance, tokenBalance } = balances;
26
+ const feeBps = state.feeRate;
27
+ const fee = (solIn * feeBps) / 10000n;
28
+ const solAfterFee = solIn - fee;
29
+ // Constant product: x * y = k
30
+ const k = solBalance * tokenBalance;
31
+ const newSolBalance = solBalance + solAfterFee;
32
+ const newTokenBalance = k / newSolBalance;
33
+ const tokensOut = tokenBalance - newTokenBalance;
34
+ // Price impact
35
+ const priceBefore = tokenBalance > 0n ? (solBalance * 1000000n) / tokenBalance : 0n;
36
+ const priceAfter = newTokenBalance > 0n ? (newSolBalance * 1000000n) / newTokenBalance : 0n;
37
+ const priceImpactBps = priceBefore > 0n
38
+ ? Number(((priceAfter - priceBefore) * 10000n) / priceBefore)
39
+ : 0;
40
+ return {
41
+ amountIn: solIn,
42
+ amountOut: tokensOut,
43
+ fee,
44
+ price: tokensOut > 0n ? (solIn * 1000000n) / tokensOut : 0n,
45
+ priceImpactBps,
46
+ };
47
+ }
48
+ /**
49
+ * Calculate swap quote for Token -> SOL
50
+ */
51
+ export async function getSwapTokenToSolQuote(connection, tokenMint, tokensIn, programId) {
52
+ const balances = await getPoolBalances(connection, tokenMint, programId);
53
+ const state = await getPoolState(connection, tokenMint, programId);
54
+ if (!balances || !state)
55
+ return null;
56
+ const { solBalance, tokenBalance } = balances;
57
+ // Constant product: x * y = k
58
+ const k = solBalance * tokenBalance;
59
+ const newTokenBalance = tokenBalance + tokensIn;
60
+ const newSolBalance = k / newTokenBalance;
61
+ const solOutBeforeFee = solBalance - newSolBalance;
62
+ const feeBps = state.feeRate;
63
+ const fee = (solOutBeforeFee * feeBps) / 10000n;
64
+ const solOut = solOutBeforeFee - fee;
65
+ // Price impact
66
+ const priceBefore = tokenBalance > 0n ? (solBalance * 1000000n) / tokenBalance : 0n;
67
+ const priceAfter = newTokenBalance > 0n ? (newSolBalance * 1000000n) / newTokenBalance : 0n;
68
+ const priceImpactBps = priceBefore > 0n
69
+ ? Number(((priceBefore - priceAfter) * 10000n) / priceBefore)
70
+ : 0;
71
+ return {
72
+ amountIn: tokensIn,
73
+ amountOut: solOut,
74
+ fee,
75
+ price: tokensIn > 0n ? (solOut * 1000000n) / tokensIn : 0n,
76
+ priceImpactBps,
77
+ };
78
+ }
79
+ // ============= Instruction Builders =============
80
+ /**
81
+ * Build swap_sol_to_token instruction
82
+ *
83
+ * IMPORTANT: Fee recipients are read from on-chain state and cannot be modified.
84
+ * The program enforces that fees go to the correct recipients.
85
+ */
86
+ export async function buildSwapSolToTokenInstruction(connection, params, programId) {
87
+ const { tokenMint, user, lamportsIn, minimumAmountOut } = params;
88
+ // Fetch pool state to get fee recipients (enforced on-chain)
89
+ const state = await getPoolState(connection, tokenMint, programId);
90
+ if (!state) {
91
+ throw new Error("Pool not found for this token");
92
+ }
93
+ const pool = getPoolPda(tokenMint, programId);
94
+ const authority = getPoolAuthorityPda(pool, programId);
95
+ const wsolVault = getPoolWsolVaultPda(pool, programId);
96
+ const tokenVault = getPoolTokenVaultPda(pool, tokenMint, programId);
97
+ const userTokenAta = getAssociatedTokenAddressSync(tokenMint, user);
98
+ const holderRewardAccount = getHolderRewardPda(tokenMint, user, programId);
99
+ const instructions = [];
100
+ // Check if user's token ATA exists, create if needed
101
+ try {
102
+ await getAccount(connection, userTokenAta);
103
+ }
104
+ catch {
105
+ instructions.push(createAssociatedTokenAccountInstruction(user, userTokenAta, user, tokenMint));
106
+ }
107
+ // Build swap instruction
108
+ const swapIx = new TransactionInstruction({
109
+ programId,
110
+ keys: [
111
+ { pubkey: pool, isWritable: true, isSigner: false },
112
+ { pubkey: wsolVault, isWritable: true, isSigner: false },
113
+ { pubkey: tokenVault, isWritable: true, isSigner: false },
114
+ { pubkey: tokenMint, isWritable: false, isSigner: false },
115
+ { pubkey: authority, isWritable: false, isSigner: false },
116
+ { pubkey: userTokenAta, isWritable: true, isSigner: false },
117
+ // Fee recipient - read from on-chain state
118
+ { pubkey: state.adminFeeRecipient, isWritable: true, isSigner: false },
119
+ // Holder reward account
120
+ { pubkey: holderRewardAccount, isWritable: true, isSigner: false },
121
+ { pubkey: user, isWritable: true, isSigner: true },
122
+ { pubkey: TOKEN_PROGRAM_ID, isWritable: false, isSigner: false },
123
+ { pubkey: SystemProgram.programId, isWritable: false, isSigner: false },
124
+ ],
125
+ data: Buffer.concat([
126
+ DISCRIMINATORS.swap_sol_to_token,
127
+ writeU64LE(lamportsIn),
128
+ writeU64LE(minimumAmountOut),
129
+ ]),
130
+ });
131
+ instructions.push(swapIx);
132
+ return instructions;
133
+ }
134
+ /**
135
+ * Build swap_token_to_sol instruction
136
+ *
137
+ * IMPORTANT: Fee recipients are read from on-chain state and cannot be modified.
138
+ */
139
+ export async function buildSwapTokenToSolInstruction(connection, params, programId) {
140
+ const { tokenMint, user, amountIn, minimumLamportsOut } = params;
141
+ // Fetch pool state to get fee recipients (enforced on-chain)
142
+ const state = await getPoolState(connection, tokenMint, programId);
143
+ if (!state) {
144
+ throw new Error("Pool not found for this token");
145
+ }
146
+ const pool = getPoolPda(tokenMint, programId);
147
+ const authority = getPoolAuthorityPda(pool, programId);
148
+ const wsolVault = getPoolWsolVaultPda(pool, programId);
149
+ const tokenVault = getPoolTokenVaultPda(pool, tokenMint, programId);
150
+ const userTokenAta = getAssociatedTokenAddressSync(tokenMint, user);
151
+ const userWsolAta = getAssociatedTokenAddressSync(NATIVE_MINT, user);
152
+ const holderRewardAccount = getHolderRewardPda(tokenMint, user, programId);
153
+ const instructions = [];
154
+ // Create WSOL ATA if needed (for receiving output)
155
+ try {
156
+ await getAccount(connection, userWsolAta);
157
+ }
158
+ catch {
159
+ instructions.push(createAssociatedTokenAccountInstruction(user, userWsolAta, user, NATIVE_MINT));
160
+ }
161
+ // Build swap instruction
162
+ const swapIx = new TransactionInstruction({
163
+ programId,
164
+ keys: [
165
+ { pubkey: pool, isWritable: true, isSigner: false },
166
+ { pubkey: tokenVault, isWritable: true, isSigner: false },
167
+ { pubkey: wsolVault, isWritable: true, isSigner: false },
168
+ { pubkey: tokenMint, isWritable: false, isSigner: false },
169
+ { pubkey: authority, isWritable: false, isSigner: false },
170
+ { pubkey: userTokenAta, isWritable: true, isSigner: false },
171
+ { pubkey: userWsolAta, isWritable: true, isSigner: false },
172
+ // Fee recipient - read from on-chain state
173
+ { pubkey: state.adminFeeRecipient, isWritable: true, isSigner: false },
174
+ // Holder reward account
175
+ { pubkey: holderRewardAccount, isWritable: true, isSigner: false },
176
+ { pubkey: user, isWritable: true, isSigner: true },
177
+ { pubkey: TOKEN_PROGRAM_ID, isWritable: false, isSigner: false },
178
+ { pubkey: SystemProgram.programId, isWritable: false, isSigner: false },
179
+ ],
180
+ data: Buffer.concat([
181
+ DISCRIMINATORS.swap_token_to_sol,
182
+ writeU64LE(amountIn),
183
+ writeU64LE(minimumLamportsOut),
184
+ ]),
185
+ });
186
+ instructions.push(swapIx);
187
+ // Close WSOL account to unwrap to SOL
188
+ instructions.push(createCloseAccountInstruction(userWsolAta, user, user));
189
+ return instructions;
190
+ }
191
+ /**
192
+ * Build swap_token_to_sol_max instruction (sell entire balance)
193
+ */
194
+ export async function buildSwapTokenToSolMaxInstruction(connection, params, programId) {
195
+ const { tokenMint, user } = params;
196
+ // Fetch pool state to get fee recipients (enforced on-chain)
197
+ const state = await getPoolState(connection, tokenMint, programId);
198
+ if (!state) {
199
+ throw new Error("Pool not found for this token");
200
+ }
201
+ const pool = getPoolPda(tokenMint, programId);
202
+ const authority = getPoolAuthorityPda(pool, programId);
203
+ const wsolVault = getPoolWsolVaultPda(pool, programId);
204
+ const tokenVault = getPoolTokenVaultPda(pool, tokenMint, programId);
205
+ const userTokenAta = getAssociatedTokenAddressSync(tokenMint, user);
206
+ const userWsolAta = getAssociatedTokenAddressSync(NATIVE_MINT, user);
207
+ const holderRewardAccount = getHolderRewardPda(tokenMint, user, programId);
208
+ const instructions = [];
209
+ // Create WSOL ATA if needed (for receiving output)
210
+ try {
211
+ await getAccount(connection, userWsolAta);
212
+ }
213
+ catch {
214
+ instructions.push(createAssociatedTokenAccountInstruction(user, userWsolAta, user, NATIVE_MINT));
215
+ }
216
+ // Build swap max instruction
217
+ const swapMaxIx = new TransactionInstruction({
218
+ programId,
219
+ keys: [
220
+ { pubkey: pool, isWritable: true, isSigner: false },
221
+ { pubkey: tokenVault, isWritable: true, isSigner: false },
222
+ { pubkey: wsolVault, isWritable: true, isSigner: false },
223
+ { pubkey: tokenMint, isWritable: false, isSigner: false },
224
+ { pubkey: authority, isWritable: false, isSigner: false },
225
+ { pubkey: userTokenAta, isWritable: true, isSigner: false },
226
+ { pubkey: userWsolAta, isWritable: true, isSigner: false },
227
+ // Fee recipient - read from on-chain state
228
+ { pubkey: state.adminFeeRecipient, isWritable: true, isSigner: false },
229
+ // Holder reward account
230
+ { pubkey: holderRewardAccount, isWritable: true, isSigner: false },
231
+ { pubkey: user, isWritable: true, isSigner: true },
232
+ { pubkey: TOKEN_PROGRAM_ID, isWritable: false, isSigner: false },
233
+ { pubkey: SystemProgram.programId, isWritable: false, isSigner: false },
234
+ ],
235
+ data: DISCRIMINATORS.swap_token_to_sol_max,
236
+ });
237
+ instructions.push(swapMaxIx);
238
+ // Close WSOL account to unwrap to SOL
239
+ instructions.push(createCloseAccountInstruction(userWsolAta, user, user));
240
+ return instructions;
241
+ }
242
+ //# sourceMappingURL=pool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pool.js","sourceRoot":"","sources":["../src/pool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,162 @@
1
+ /**
2
+ * CoinBarrel SDK Types
3
+ */
4
+ import type { Connection, PublicKey, TransactionInstruction } from "@solana/web3.js";
5
+ import type { Network } from "./constants.js";
6
+ export interface CoinBarrelConfig {
7
+ /** Solana RPC connection */
8
+ connection: Connection;
9
+ /** Network to use (devnet or mainnet) */
10
+ network: Network;
11
+ }
12
+ export interface BondingCurveState {
13
+ tokenMint: PublicKey;
14
+ tokenVault: PublicKey;
15
+ adminFeeRecipient: PublicKey;
16
+ creatorFeeRecipient: PublicKey;
17
+ feeBps: number;
18
+ variant: number;
19
+ bump: number;
20
+ vToken: bigint;
21
+ vSol: bigint;
22
+ ampBps: number;
23
+ traderRewardsShareBps: number;
24
+ minPriceLamportsPerToken: bigint;
25
+ maxSupply: bigint;
26
+ totalSold: bigint;
27
+ paused: boolean;
28
+ }
29
+ export interface PoolState {
30
+ tokenAMint: PublicKey;
31
+ tokenBMint: PublicKey;
32
+ tokenAVault: PublicKey;
33
+ tokenBVault: PublicKey;
34
+ lpMint: PublicKey;
35
+ feeRate: bigint;
36
+ authority: PublicKey;
37
+ bump: number;
38
+ isLocked: boolean;
39
+ poolType: number;
40
+ traderRewardsShareBps: number;
41
+ adminFeeRecipient: PublicKey;
42
+ creatorFeeRecipient: PublicKey;
43
+ }
44
+ export interface BuyOnCurveParams {
45
+ /** Token mint address */
46
+ tokenMint: PublicKey;
47
+ /** Buyer's wallet address */
48
+ buyer: PublicKey;
49
+ /** Amount of SOL (lamports) to spend */
50
+ lamportsIn: bigint;
51
+ }
52
+ export interface SellOnCurveParams {
53
+ /** Token mint address */
54
+ tokenMint: PublicKey;
55
+ /** Seller's wallet address */
56
+ seller: PublicKey;
57
+ /** Amount of tokens to sell (raw, with decimals) */
58
+ tokenAmount: bigint;
59
+ }
60
+ export interface SellMaxOnCurveParams {
61
+ /** Token mint address */
62
+ tokenMint: PublicKey;
63
+ /** Seller's wallet address */
64
+ seller: PublicKey;
65
+ }
66
+ export interface SwapSolToTokenParams {
67
+ /** Token mint address */
68
+ tokenMint: PublicKey;
69
+ /** User's wallet address */
70
+ user: PublicKey;
71
+ /** Amount of SOL (lamports) to swap */
72
+ lamportsIn: bigint;
73
+ /** Minimum tokens to receive (slippage protection) */
74
+ minimumAmountOut: bigint;
75
+ }
76
+ export interface SwapTokenToSolParams {
77
+ /** Token mint address */
78
+ tokenMint: PublicKey;
79
+ /** User's wallet address */
80
+ user: PublicKey;
81
+ /** Amount of tokens to swap (raw, with decimals) */
82
+ amountIn: bigint;
83
+ /** Minimum SOL (lamports) to receive (slippage protection) */
84
+ minimumLamportsOut: bigint;
85
+ }
86
+ export interface SwapTokenToSolMaxParams {
87
+ /** Token mint address */
88
+ tokenMint: PublicKey;
89
+ /** User's wallet address */
90
+ user: PublicKey;
91
+ }
92
+ export interface BuyQuote {
93
+ /** SOL input (lamports) */
94
+ solIn: bigint;
95
+ /** Estimated tokens out (raw) */
96
+ tokensOut: bigint;
97
+ /** Admin fee (lamports) */
98
+ adminFee: bigint;
99
+ /** Creator fee (lamports) */
100
+ creatorFee: bigint;
101
+ /** Holder rewards (lamports) */
102
+ holderRewards: bigint;
103
+ /** Price per token (lamports) */
104
+ pricePerToken: bigint;
105
+ /** Price impact (basis points) */
106
+ priceImpactBps: number;
107
+ }
108
+ export interface SellQuote {
109
+ /** Token input (raw) */
110
+ tokensIn: bigint;
111
+ /** Estimated SOL out (lamports) */
112
+ solOut: bigint;
113
+ /** Admin fee (lamports) */
114
+ adminFee: bigint;
115
+ /** Creator fee (lamports) */
116
+ creatorFee: bigint;
117
+ /** Holder rewards (lamports) */
118
+ holderRewards: bigint;
119
+ /** Price per token (lamports) */
120
+ pricePerToken: bigint;
121
+ /** Price impact (basis points) */
122
+ priceImpactBps: number;
123
+ }
124
+ export interface SwapQuote {
125
+ /** Input amount */
126
+ amountIn: bigint;
127
+ /** Estimated output amount */
128
+ amountOut: bigint;
129
+ /** Total fee (in output token) */
130
+ fee: bigint;
131
+ /** Price per token */
132
+ price: bigint;
133
+ /** Price impact (basis points) */
134
+ priceImpactBps: number;
135
+ }
136
+ export interface InstructionResult {
137
+ /** The transaction instruction */
138
+ instruction: TransactionInstruction;
139
+ /** Required signers (usually just the user) */
140
+ signers: PublicKey[];
141
+ }
142
+ export interface MarketInfo {
143
+ /** Token mint address */
144
+ tokenMint: PublicKey;
145
+ /** Whether this is on bonding curve or AMM pool */
146
+ phase: "curve" | "pool";
147
+ /** Current price in SOL (lamports per token) */
148
+ price: bigint;
149
+ /** Total SOL in the market */
150
+ solReserve: bigint;
151
+ /** Total tokens in the market */
152
+ tokenReserve: bigint;
153
+ /** Market cap in SOL (lamports) */
154
+ marketCapSol: bigint;
155
+ /** Total tokens sold/circulating */
156
+ circulatingSupply: bigint;
157
+ /** Fee rate in basis points */
158
+ feeBps: number;
159
+ /** Is trading paused? */
160
+ paused: boolean;
161
+ }
162
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACrF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAI9C,MAAM,WAAW,gBAAgB;IAC/B,4BAA4B;IAC5B,UAAU,EAAE,UAAU,CAAC;IACvB,yCAAyC;IACzC,OAAO,EAAE,OAAO,CAAC;CAClB;AAID,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,SAAS,CAAC;IACrB,UAAU,EAAE,SAAS,CAAC;IACtB,iBAAiB,EAAE,SAAS,CAAC;IAC7B,mBAAmB,EAAE,SAAS,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,qBAAqB,EAAE,MAAM,CAAC;IAC9B,wBAAwB,EAAE,MAAM,CAAC;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,SAAS,CAAC;IACtB,UAAU,EAAE,SAAS,CAAC;IACtB,WAAW,EAAE,SAAS,CAAC;IACvB,WAAW,EAAE,SAAS,CAAC;IACvB,MAAM,EAAE,SAAS,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,SAAS,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,iBAAiB,EAAE,SAAS,CAAC;IAC7B,mBAAmB,EAAE,SAAS,CAAC;CAChC;AAID,MAAM,WAAW,gBAAgB;IAC/B,yBAAyB;IACzB,SAAS,EAAE,SAAS,CAAC;IACrB,6BAA6B;IAC7B,KAAK,EAAE,SAAS,CAAC;IACjB,wCAAwC;IACxC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,yBAAyB;IACzB,SAAS,EAAE,SAAS,CAAC;IACrB,8BAA8B;IAC9B,MAAM,EAAE,SAAS,CAAC;IAClB,oDAAoD;IACpD,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,oBAAoB;IACnC,yBAAyB;IACzB,SAAS,EAAE,SAAS,CAAC;IACrB,8BAA8B;IAC9B,MAAM,EAAE,SAAS,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,yBAAyB;IACzB,SAAS,EAAE,SAAS,CAAC;IACrB,4BAA4B;IAC5B,IAAI,EAAE,SAAS,CAAC;IAChB,uCAAuC;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,sDAAsD;IACtD,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,oBAAoB;IACnC,yBAAyB;IACzB,SAAS,EAAE,SAAS,CAAC;IACrB,4BAA4B;IAC5B,IAAI,EAAE,SAAS,CAAC;IAChB,oDAAoD;IACpD,QAAQ,EAAE,MAAM,CAAC;IACjB,8DAA8D;IAC9D,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,uBAAuB;IACtC,yBAAyB;IACzB,SAAS,EAAE,SAAS,CAAC;IACrB,4BAA4B;IAC5B,IAAI,EAAE,SAAS,CAAC;CACjB;AAID,MAAM,WAAW,QAAQ;IACvB,2BAA2B;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,iCAAiC;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,2BAA2B;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,6BAA6B;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,gCAAgC;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,iCAAiC;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,kCAAkC;IAClC,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,SAAS;IACxB,wBAAwB;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,mCAAmC;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,2BAA2B;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,6BAA6B;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,gCAAgC;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,iCAAiC;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,kCAAkC;IAClC,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,SAAS;IACxB,mBAAmB;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,8BAA8B;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,kCAAkC;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,sBAAsB;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,cAAc,EAAE,MAAM,CAAC;CACxB;AAID,MAAM,WAAW,iBAAiB;IAChC,kCAAkC;IAClC,WAAW,EAAE,sBAAsB,CAAC;IACpC,+CAA+C;IAC/C,OAAO,EAAE,SAAS,EAAE,CAAC;CACtB;AAID,MAAM,WAAW,UAAU;IACzB,yBAAyB;IACzB,SAAS,EAAE,SAAS,CAAC;IACrB,mDAAmD;IACnD,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC;IACxB,gDAAgD;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,8BAA8B;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,iCAAiC;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,mCAAmC;IACnC,YAAY,EAAE,MAAM,CAAC;IACrB,oCAAoC;IACpC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,+BAA+B;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,yBAAyB;IACzB,MAAM,EAAE,OAAO,CAAC;CACjB"}
package/dist/types.js ADDED
@@ -0,0 +1,5 @@
1
+ /**
2
+ * CoinBarrel SDK Types
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
package/package.json ADDED
@@ -0,0 +1,45 @@
1
+ {
2
+ "name": "@coinbarrel/sdk",
3
+ "version": "1.0.0",
4
+ "description": "SDK for CoinBarrel AMM - bonding curves and liquidity pools on Solana",
5
+ "author": "CoinBarrel",
6
+ "license": "MIT",
7
+ "type": "module",
8
+ "main": "./dist/index.js",
9
+ "module": "./dist/index.js",
10
+ "types": "./dist/index.d.ts",
11
+ "exports": {
12
+ ".": {
13
+ "types": "./dist/index.d.ts",
14
+ "import": "./dist/index.js",
15
+ "default": "./dist/index.js"
16
+ }
17
+ },
18
+ "files": [
19
+ "dist",
20
+ "README.md"
21
+ ],
22
+ "scripts": {
23
+ "build": "tsc -p tsconfig.build.json",
24
+ "clean": "rm -rf dist",
25
+ "prepublishOnly": "npm run clean && npm run build"
26
+ },
27
+ "keywords": [
28
+ "solana",
29
+ "amm",
30
+ "bonding-curve",
31
+ "coinbarrel",
32
+ "defi",
33
+ "trading",
34
+ "sdk"
35
+ ],
36
+ "peerDependencies": {
37
+ "@solana/spl-token": ">=0.4.0",
38
+ "@solana/web3.js": ">=1.90.0"
39
+ },
40
+ "devDependencies": {
41
+ "@solana/spl-token": "^0.4.14",
42
+ "@solana/web3.js": "^1.98.4",
43
+ "typescript": "^5.9.3"
44
+ }
45
+ }