@coinbarrel/sdk 3.1.3 → 3.1.5
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/create.d.ts +8 -5
- package/dist/create.d.ts.map +1 -1
- package/dist/create.js +17 -12
- package/dist/create.js.map +1 -1
- package/dist/index.d.ts +26 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +34 -1
- package/dist/index.js.map +1 -1
- package/dist/rewards.d.ts +30 -1
- package/dist/rewards.d.ts.map +1 -1
- package/dist/rewards.js +158 -2
- package/dist/rewards.js.map +1 -1
- package/dist/types.d.ts +26 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/create.d.ts
CHANGED
|
@@ -34,20 +34,20 @@ export declare function buildCreateBarrelTokenInstruction(params: CreateBarrelTo
|
|
|
34
34
|
* - 1B total supply (6 decimals)
|
|
35
35
|
* - Mint authority: revoked immediately after minting
|
|
36
36
|
* - Freeze authority: null from creation (never set)
|
|
37
|
-
* - All tokens minted to admin's
|
|
37
|
+
* - All tokens minted to admin's Associated Token Account (ATA)
|
|
38
38
|
* - Metadata created via Metaplex CPI (creator is update authority)
|
|
39
39
|
*
|
|
40
40
|
* After creation, the backend listens for InstantTokenCreated event and creates
|
|
41
|
-
* the Meteora pool with the
|
|
41
|
+
* the Meteora pool with the tokens from the admin's ATA.
|
|
42
42
|
*
|
|
43
43
|
* @param params - Instant token creation parameters
|
|
44
44
|
* @param programId - CoinBarrel program ID
|
|
45
45
|
* @param network - Network for admin account derivation
|
|
46
|
-
* @returns Object containing instructions, mint keypair, and admin token account
|
|
46
|
+
* @returns Object containing instructions, mint keypair, and admin token account address
|
|
47
47
|
*
|
|
48
48
|
* @example
|
|
49
49
|
* ```typescript
|
|
50
|
-
* const { instructions, mintKeypair,
|
|
50
|
+
* const { instructions, mintKeypair, adminTokenAccount } = buildCreateInstantTokenInstruction({
|
|
51
51
|
* payer: wallet.publicKey,
|
|
52
52
|
* creator: wallet.publicKey,
|
|
53
53
|
* name: "My Instant Token",
|
|
@@ -57,12 +57,15 @@ export declare function buildCreateBarrelTokenInstruction(params: CreateBarrelTo
|
|
|
57
57
|
* traderRewardsShareBps: 2500, // 25% to holders
|
|
58
58
|
* }, programId, 'mainnet');
|
|
59
59
|
*
|
|
60
|
-
* //
|
|
60
|
+
* // Only mintKeypair needs to sign (adminTokenAccount is derived ATA)
|
|
61
61
|
* ```
|
|
62
62
|
*/
|
|
63
63
|
export declare function buildCreateInstantTokenInstruction(params: CreateInstantTokenParams, programId: PublicKey, network: Network): {
|
|
64
64
|
instructions: TransactionInstruction[];
|
|
65
65
|
mintKeypair: Keypair;
|
|
66
|
+
/** @deprecated Use adminTokenAccount instead - no longer a keypair */
|
|
66
67
|
adminTokenAccountKeypair: Keypair;
|
|
68
|
+
/** Admin's Associated Token Account address (derived, not a keypair) */
|
|
69
|
+
adminTokenAccount: PublicKey;
|
|
67
70
|
};
|
|
68
71
|
//# sourceMappingURL=create.d.ts.map
|
package/dist/create.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACN,OAAO,EACP,SAAS,EAGT,sBAAsB,EACtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAIN,KAAK,OAAO,EACZ,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAGN,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC7B,MAAM,YAAY,CAAC;AA8CpB;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iCAAiC,CAChD,MAAM,EAAE,uBAAuB,EAC/B,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,OAAO,GACd;IAAE,YAAY,EAAE,sBAAsB,EAAE,CAAC;IAAC,WAAW,EAAE,OAAO,CAAA;CAAE,CA+DlE;AAID;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAgB,kCAAkC,CACjD,MAAM,EAAE,wBAAwB,EAChC,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,OAAO,GACd;IACF,YAAY,EAAE,sBAAsB,EAAE,CAAC;IACvC,WAAW,EAAE,OAAO,CAAC;IACrB,wBAAwB,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACN,OAAO,EACP,SAAS,EAGT,sBAAsB,EACtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAIN,KAAK,OAAO,EACZ,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAGN,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC7B,MAAM,YAAY,CAAC;AA8CpB;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iCAAiC,CAChD,MAAM,EAAE,uBAAuB,EAC/B,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,OAAO,GACd;IAAE,YAAY,EAAE,sBAAsB,EAAE,CAAC;IAAC,WAAW,EAAE,OAAO,CAAA;CAAE,CA+DlE;AAID;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAgB,kCAAkC,CACjD,MAAM,EAAE,wBAAwB,EAChC,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,OAAO,GACd;IACF,YAAY,EAAE,sBAAsB,EAAE,CAAC;IACvC,WAAW,EAAE,OAAO,CAAC;IACrB,sEAAsE;IACtE,wBAAwB,EAAE,OAAO,CAAC;IAClC,wEAAwE;IACxE,iBAAiB,EAAE,SAAS,CAAC;CAC7B,CAoFA"}
|
package/dist/create.js
CHANGED
|
@@ -8,7 +8,7 @@ import { DISCRIMINATORS, TOKEN_METADATA_PROGRAM_ID, ADMIN_FEE_RECIPIENTS, } from
|
|
|
8
8
|
import { getBondingCurvePda, getBondingAuthorityPda, getInstantTokenPDAs } from './pda.js';
|
|
9
9
|
import { getMetadataPda } from './metadata.js';
|
|
10
10
|
import { MigrationTarget, InstantTokenVariant, } from './types.js';
|
|
11
|
-
import { TOKEN_PROGRAM_ID } from "@solana/spl-token";
|
|
11
|
+
import { TOKEN_PROGRAM_ID, ASSOCIATED_TOKEN_PROGRAM_ID, getAssociatedTokenAddressSync } from "@solana/spl-token";
|
|
12
12
|
// ============= Buffer Helpers =============
|
|
13
13
|
function writeU8(n) {
|
|
14
14
|
const b = Buffer.alloc(1);
|
|
@@ -115,20 +115,20 @@ export function buildCreateBarrelTokenInstruction(params, programId, network) {
|
|
|
115
115
|
* - 1B total supply (6 decimals)
|
|
116
116
|
* - Mint authority: revoked immediately after minting
|
|
117
117
|
* - Freeze authority: null from creation (never set)
|
|
118
|
-
* - All tokens minted to admin's
|
|
118
|
+
* - All tokens minted to admin's Associated Token Account (ATA)
|
|
119
119
|
* - Metadata created via Metaplex CPI (creator is update authority)
|
|
120
120
|
*
|
|
121
121
|
* After creation, the backend listens for InstantTokenCreated event and creates
|
|
122
|
-
* the Meteora pool with the
|
|
122
|
+
* the Meteora pool with the tokens from the admin's ATA.
|
|
123
123
|
*
|
|
124
124
|
* @param params - Instant token creation parameters
|
|
125
125
|
* @param programId - CoinBarrel program ID
|
|
126
126
|
* @param network - Network for admin account derivation
|
|
127
|
-
* @returns Object containing instructions, mint keypair, and admin token account
|
|
127
|
+
* @returns Object containing instructions, mint keypair, and admin token account address
|
|
128
128
|
*
|
|
129
129
|
* @example
|
|
130
130
|
* ```typescript
|
|
131
|
-
* const { instructions, mintKeypair,
|
|
131
|
+
* const { instructions, mintKeypair, adminTokenAccount } = buildCreateInstantTokenInstruction({
|
|
132
132
|
* payer: wallet.publicKey,
|
|
133
133
|
* creator: wallet.publicKey,
|
|
134
134
|
* name: "My Instant Token",
|
|
@@ -138,7 +138,7 @@ export function buildCreateBarrelTokenInstruction(params, programId, network) {
|
|
|
138
138
|
* traderRewardsShareBps: 2500, // 25% to holders
|
|
139
139
|
* }, programId, 'mainnet');
|
|
140
140
|
*
|
|
141
|
-
* //
|
|
141
|
+
* // Only mintKeypair needs to sign (adminTokenAccount is derived ATA)
|
|
142
142
|
* ```
|
|
143
143
|
*/
|
|
144
144
|
export function buildCreateInstantTokenInstruction(params, programId, network) {
|
|
@@ -161,10 +161,13 @@ export function buildCreateInstantTokenInstruction(params, programId, network) {
|
|
|
161
161
|
if (traderRewardsShareBps < 2500 || traderRewardsShareBps > 5000) {
|
|
162
162
|
throw new Error('Trader rewards share must be between 2500 (25%) and 5000 (50%) bps');
|
|
163
163
|
}
|
|
164
|
-
// Generate
|
|
164
|
+
// Generate mint keypair
|
|
165
165
|
const mintKeypair = Keypair.generate();
|
|
166
166
|
const tokenMint = mintKeypair.publicKey;
|
|
167
|
-
|
|
167
|
+
// Admin wallet
|
|
168
|
+
const admin = ADMIN_FEE_RECIPIENTS[network];
|
|
169
|
+
// Derive admin's ATA (standard Associated Token Account)
|
|
170
|
+
const adminTokenAccount = getAssociatedTokenAddressSync(tokenMint, admin);
|
|
168
171
|
// Derive PDAs
|
|
169
172
|
const { instantToken, mintAuthority } = getInstantTokenPDAs(tokenMint, programId);
|
|
170
173
|
const metadata = getMetadataPda(tokenMint);
|
|
@@ -179,15 +182,13 @@ export function buildCreateInstantTokenInstruction(params, programId, network) {
|
|
|
179
182
|
writeU16LE(traderRewardsShareBps),
|
|
180
183
|
writeU64LE(devBuyAmountLamports),
|
|
181
184
|
]);
|
|
182
|
-
// Admin wallet receives dev buy SOL
|
|
183
|
-
const admin = ADMIN_FEE_RECIPIENTS[network];
|
|
184
185
|
const createIx = new TransactionInstruction({
|
|
185
186
|
programId,
|
|
186
187
|
keys: [
|
|
187
188
|
{ pubkey: tokenMint, isWritable: true, isSigner: true },
|
|
188
189
|
{ pubkey: instantToken, isWritable: true, isSigner: false },
|
|
189
190
|
{ pubkey: mintAuthority, isWritable: false, isSigner: false },
|
|
190
|
-
{ pubkey:
|
|
191
|
+
{ pubkey: adminTokenAccount, isWritable: true, isSigner: false }, // ATA, not a signer
|
|
191
192
|
{ pubkey: metadata, isWritable: true, isSigner: false },
|
|
192
193
|
{ pubkey: TOKEN_METADATA_PROGRAM_ID, isWritable: false, isSigner: false },
|
|
193
194
|
{ pubkey: creator, isWritable: false, isSigner: false },
|
|
@@ -195,14 +196,18 @@ export function buildCreateInstantTokenInstruction(params, programId, network) {
|
|
|
195
196
|
{ pubkey: admin, isWritable: true, isSigner: false },
|
|
196
197
|
{ pubkey: SystemProgram.programId, isWritable: false, isSigner: false },
|
|
197
198
|
{ pubkey: TOKEN_PROGRAM_ID, isWritable: false, isSigner: false },
|
|
199
|
+
{ pubkey: ASSOCIATED_TOKEN_PROGRAM_ID, isWritable: false, isSigner: false },
|
|
198
200
|
{ pubkey: SYSVAR_RENT_PUBKEY, isWritable: false, isSigner: false },
|
|
199
201
|
],
|
|
200
202
|
data,
|
|
201
203
|
});
|
|
204
|
+
// Create a dummy keypair for backwards compatibility (deprecated)
|
|
205
|
+
const dummyKeypair = Keypair.generate();
|
|
202
206
|
return {
|
|
203
207
|
instructions: [createIx],
|
|
204
208
|
mintKeypair,
|
|
205
|
-
adminTokenAccountKeypair,
|
|
209
|
+
adminTokenAccountKeypair: dummyKeypair, // Deprecated - for backwards compat
|
|
210
|
+
adminTokenAccount,
|
|
206
211
|
};
|
|
207
212
|
}
|
|
208
213
|
//# sourceMappingURL=create.js.map
|
package/dist/create.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACN,OAAO,EACP,SAAS,EACT,aAAa,EACb,kBAAkB,EAClB,sBAAsB,GACtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACN,cAAc,EACd,yBAAyB,EACzB,oBAAoB,GAEpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC3F,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EACN,eAAe,EACf,mBAAmB,GAGnB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAC,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -30,7 +30,7 @@ import { Connection, Keypair, PublicKey, TransactionInstruction } from '@solana/
|
|
|
30
30
|
import { type Network } from './constants.js';
|
|
31
31
|
import * as pda from './pda.js';
|
|
32
32
|
import * as metadata from './metadata.js';
|
|
33
|
-
import type { CoinBarrelConfig, BondingCurveState, PoolState, MarketInfo, BuyOnCurveParams, SellOnCurveParams, SellMaxOnCurveParams, SwapSolToTokenParams, SwapTokenToSolParams, SwapTokenToSolMaxParams, CreateBarrelTokenParams, CreateInstantTokenParams, BuyQuote, SellQuote, SwapQuote } from './types.js';
|
|
33
|
+
import type { CoinBarrelConfig, BondingCurveState, PoolState, MarketInfo, BuyOnCurveParams, SellOnCurveParams, SellMaxOnCurveParams, SwapSolToTokenParams, SwapTokenToSolParams, SwapTokenToSolMaxParams, CreateBarrelTokenParams, CreateInstantTokenParams, BuyQuote, SellQuote, SwapQuote, PendingHolderRewards } from './types.js';
|
|
34
34
|
export * from './constants.js';
|
|
35
35
|
export * from './types.js';
|
|
36
36
|
export * from './pda.js';
|
|
@@ -41,7 +41,7 @@ export type { MigrationPDAs, InstantTokenPDAs } from './pda.js';
|
|
|
41
41
|
export { getSwapSolToTokenQuote, getSwapTokenToSolQuote } from './pool.js';
|
|
42
42
|
export { getTokenMetadata, getTokenMetadataJson, batchGetTokenMetadata, getMetadataPda, parseMetaplexMetadata, type TokenMetadata, type TokenMetadataJson, } from './metadata.js';
|
|
43
43
|
export { buildCreateBarrelTokenInstruction, buildCreateInstantTokenInstruction } from './create.js';
|
|
44
|
-
export { buildClaimHolderRewardsCurveInstruction, buildClaimHolderRewardsInstruction, } from './rewards.js';
|
|
44
|
+
export { buildClaimHolderRewardsCurveInstruction, buildClaimHolderRewardsInstruction, buildClaimCreatorTraderFeesInstruction, getPendingHolderRewards, } from './rewards.js';
|
|
45
45
|
export { buildConfigureBondingFeesInstruction, type ConfigureBondingFeesParams, } from './admin.js';
|
|
46
46
|
/**
|
|
47
47
|
* CoinBarrel SDK - Main entry point
|
|
@@ -184,6 +184,30 @@ export declare class CoinBarrel {
|
|
|
184
184
|
getInstantTokenPda(mint: PublicKey): PublicKey;
|
|
185
185
|
/** Get all instant token PDAs */
|
|
186
186
|
getInstantTokenPDAs(mint: PublicKey): pda.InstantTokenPDAs;
|
|
187
|
+
/**
|
|
188
|
+
* Get pending holder rewards for a user
|
|
189
|
+
*
|
|
190
|
+
* Queries on-chain state and calculates the exact pending rewards using
|
|
191
|
+
* the cumulative reward model.
|
|
192
|
+
*
|
|
193
|
+
* @example
|
|
194
|
+
* ```typescript
|
|
195
|
+
* const pending = await sdk.getPendingHolderRewards(tokenMint, holder);
|
|
196
|
+
* if (pending) {
|
|
197
|
+
* console.log(`Pending: ${pending.pendingLamports / 1e9} SOL`);
|
|
198
|
+
* // Build claim instructions directly from result
|
|
199
|
+
* const instructions = await sdk.buildClaimInstructions(pending);
|
|
200
|
+
* }
|
|
201
|
+
* ```
|
|
202
|
+
*/
|
|
203
|
+
getPendingHolderRewards(tokenMint: PublicKey, holder: PublicKey): Promise<PendingHolderRewards | null>;
|
|
204
|
+
/**
|
|
205
|
+
* Build claim instructions from pending rewards result
|
|
206
|
+
*
|
|
207
|
+
* Automatically selects the correct claim instruction (curve vs pool)
|
|
208
|
+
* based on the source in the pending rewards result.
|
|
209
|
+
*/
|
|
210
|
+
buildClaimInstructions(pending: PendingHolderRewards): Promise<TransactionInstruction[]>;
|
|
187
211
|
/**
|
|
188
212
|
* Build claim holder rewards instruction for bonding curve
|
|
189
213
|
*
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACzF,OAAO,EAAqC,KAAK,OAAO,EAAoB,MAAM,gBAAgB,CAAC;AACnG,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAIhC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAG1C,OAAO,KAAK,EACX,gBAAgB,EAChB,iBAAiB,EACjB,SAAS,EACT,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,uBAAuB,EACvB,uBAAuB,EACvB,wBAAwB,EAGxB,QAAQ,EACR,SAAS,EACT,SAAS,EACT,MAAM,YAAY,CAAC;AAIpB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,OAAO,EACN,oBAAoB,EACpB,YAAY,EACZ,aAAa,EACb,mBAAmB,GACnB,MAAM,eAAe,CAAC;AACvB,OAAO,EACN,WAAW,EACX,YAAY,EACZ,oBAAoB,EACpB,oBAAoB,EACpB,0BAA0B,EAC1B,uCAAuC,GACvC,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,UAAU,CAAC;AACjH,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAC3E,OAAO,EACN,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EACrB,cAAc,EACd,qBAAqB,EACrB,KAAK,aAAa,EAClB,KAAK,iBAAiB,GACtB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,iCAAiC,EAAE,kCAAkC,EAAE,MAAM,aAAa,CAAC;AACpG,OAAO,EACN,uCAAuC,EACvC,kCAAkC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -45,7 +45,7 @@ export { getMigrationPDAs, getInstantTokenPDAs, getInstantTokenPda, getInstantMi
|
|
|
45
45
|
export { getSwapSolToTokenQuote, getSwapTokenToSolQuote } from './pool.js';
|
|
46
46
|
export { getTokenMetadata, getTokenMetadataJson, batchGetTokenMetadata, getMetadataPda, parseMetaplexMetadata, } from './metadata.js';
|
|
47
47
|
export { buildCreateBarrelTokenInstruction, buildCreateInstantTokenInstruction } from './create.js';
|
|
48
|
-
export { buildClaimHolderRewardsCurveInstruction, buildClaimHolderRewardsInstruction, } from './rewards.js';
|
|
48
|
+
export { buildClaimHolderRewardsCurveInstruction, buildClaimHolderRewardsInstruction, buildClaimCreatorTraderFeesInstruction, getPendingHolderRewards, } from './rewards.js';
|
|
49
49
|
export { buildConfigureBondingFeesInstruction, } from './admin.js';
|
|
50
50
|
// ============= SDK Class =============
|
|
51
51
|
/**
|
|
@@ -228,6 +228,39 @@ export class CoinBarrel {
|
|
|
228
228
|
return pda.getInstantTokenPDAs(mint, this.programId);
|
|
229
229
|
}
|
|
230
230
|
// ============= Rewards =============
|
|
231
|
+
/**
|
|
232
|
+
* Get pending holder rewards for a user
|
|
233
|
+
*
|
|
234
|
+
* Queries on-chain state and calculates the exact pending rewards using
|
|
235
|
+
* the cumulative reward model.
|
|
236
|
+
*
|
|
237
|
+
* @example
|
|
238
|
+
* ```typescript
|
|
239
|
+
* const pending = await sdk.getPendingHolderRewards(tokenMint, holder);
|
|
240
|
+
* if (pending) {
|
|
241
|
+
* console.log(`Pending: ${pending.pendingLamports / 1e9} SOL`);
|
|
242
|
+
* // Build claim instructions directly from result
|
|
243
|
+
* const instructions = await sdk.buildClaimInstructions(pending);
|
|
244
|
+
* }
|
|
245
|
+
* ```
|
|
246
|
+
*/
|
|
247
|
+
async getPendingHolderRewards(tokenMint, holder) {
|
|
248
|
+
return rewards.getPendingHolderRewards(this.connection, tokenMint, holder, this.programId);
|
|
249
|
+
}
|
|
250
|
+
/**
|
|
251
|
+
* Build claim instructions from pending rewards result
|
|
252
|
+
*
|
|
253
|
+
* Automatically selects the correct claim instruction (curve vs pool)
|
|
254
|
+
* based on the source in the pending rewards result.
|
|
255
|
+
*/
|
|
256
|
+
async buildClaimInstructions(pending) {
|
|
257
|
+
if (pending.source === 'curve') {
|
|
258
|
+
return this.buildClaimRewardsCurveInstruction(pending.tokenMint, pending.holder);
|
|
259
|
+
}
|
|
260
|
+
else {
|
|
261
|
+
return this.buildClaimRewardsPoolInstruction(pending.tokenMint, pending.holder);
|
|
262
|
+
}
|
|
263
|
+
}
|
|
231
264
|
/**
|
|
232
265
|
* Build claim holder rewards instruction for bonding curve
|
|
233
266
|
*
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAGH,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAgB,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACnG,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/rewards.d.ts
CHANGED
|
@@ -3,7 +3,28 @@
|
|
|
3
3
|
* Claim accumulated holder rewards from bonding curves and AMM pools
|
|
4
4
|
*/
|
|
5
5
|
import { Connection, PublicKey, TransactionInstruction } from '@solana/web3.js';
|
|
6
|
-
import type { ClaimHolderRewardsCurveParams, ClaimHolderRewardsParams } from './types.js';
|
|
6
|
+
import type { ClaimHolderRewardsCurveParams, ClaimHolderRewardsParams, ClaimCreatorTraderFeesParams, PendingHolderRewards } from './types.js';
|
|
7
|
+
/**
|
|
8
|
+
* Get pending holder rewards for a user
|
|
9
|
+
*
|
|
10
|
+
* Queries on-chain state and calculates the exact pending rewards using
|
|
11
|
+
* the cumulative reward model: pending = balance * (stored - paid) / PRECISION + owed
|
|
12
|
+
*
|
|
13
|
+
* @param connection - Solana RPC connection
|
|
14
|
+
* @param tokenMint - Token mint address
|
|
15
|
+
* @param holder - Holder's wallet address
|
|
16
|
+
* @param programId - CoinBarrel program ID
|
|
17
|
+
* @returns Pending rewards info, or null if no rewards account exists
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ```typescript
|
|
21
|
+
* const pending = await getPendingHolderRewards(connection, tokenMint, holder, programId);
|
|
22
|
+
* if (pending) {
|
|
23
|
+
* console.log(`Pending: ${pending.pendingLamports / 1e9} SOL`);
|
|
24
|
+
* }
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
export declare function getPendingHolderRewards(connection: Connection, tokenMint: PublicKey, holder: PublicKey, programId: PublicKey): Promise<PendingHolderRewards | null>;
|
|
7
28
|
/**
|
|
8
29
|
* Build claim_holder_rewards_curve instruction
|
|
9
30
|
*
|
|
@@ -18,4 +39,12 @@ export declare function buildClaimHolderRewardsCurveInstruction(connection: Conn
|
|
|
18
39
|
* Rewards are paid in WSOL which is then unwrapped to SOL.
|
|
19
40
|
*/
|
|
20
41
|
export declare function buildClaimHolderRewardsInstruction(connection: Connection, params: ClaimHolderRewardsParams, programId: PublicKey): Promise<TransactionInstruction[]>;
|
|
42
|
+
/**
|
|
43
|
+
* Build claim_creator_trader_fees instruction
|
|
44
|
+
*
|
|
45
|
+
* Claims accumulated creator/trader fees from an AMM pool (post-graduation).
|
|
46
|
+
* Only the creator_fee_recipient can claim these fees.
|
|
47
|
+
* Fees are paid in WSOL which is then unwrapped to SOL.
|
|
48
|
+
*/
|
|
49
|
+
export declare function buildClaimCreatorTraderFeesInstruction(connection: Connection, params: ClaimCreatorTraderFeesParams, programId: PublicKey): Promise<TransactionInstruction[]>;
|
|
21
50
|
//# sourceMappingURL=rewards.d.ts.map
|
package/dist/rewards.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rewards.d.ts","sourceRoot":"","sources":["../src/rewards.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAC,UAAU,EAAE,SAAS,EAAiB,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAY9F,OAAO,KAAK,EAAC,6BAA6B,EAAE,wBAAwB,EAAC,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"rewards.d.ts","sourceRoot":"","sources":["../src/rewards.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAC,UAAU,EAAE,SAAS,EAAiB,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAY9F,OAAO,KAAK,EAAC,6BAA6B,EAAE,wBAAwB,EAAE,4BAA4B,EAAE,oBAAoB,EAAC,MAAM,YAAY,CAAC;AA+B5I;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,uBAAuB,CAC5C,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,SAAS,GAClB,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAkEtC;AAID;;;;;GAKG;AACH,wBAAsB,uCAAuC,CAC5D,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,6BAA6B,EACrC,SAAS,EAAE,SAAS,GAClB,OAAO,CAAC,sBAAsB,EAAE,CAAC,CAwBnC;AAID;;;;;GAKG;AACH,wBAAsB,kCAAkC,CACvD,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,wBAAwB,EAChC,SAAS,EAAE,SAAS,GAClB,OAAO,CAAC,sBAAsB,EAAE,CAAC,CAyDnC;AAID;;;;;;GAMG;AACH,wBAAsB,sCAAsC,CAC3D,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,4BAA4B,EACpC,SAAS,EAAE,SAAS,GAClB,OAAO,CAAC,sBAAsB,EAAE,CAAC,CAqDnC"}
|
package/dist/rewards.js
CHANGED
|
@@ -4,9 +4,114 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { SystemProgram, TransactionInstruction, } from '@solana/web3.js';
|
|
6
6
|
import { createAssociatedTokenAccountInstruction, createCloseAccountInstruction, getAccount, getAssociatedTokenAddressSync, NATIVE_MINT, TOKEN_PROGRAM_ID, } from "@solana/spl-token";
|
|
7
|
-
import { DISCRIMINATORS } from './constants.js';
|
|
7
|
+
import { DISCRIMINATORS, POOL_OFFSETS } from './constants.js';
|
|
8
8
|
import { getBondingCurvePda, getHolderRewardPda, getPoolAuthorityPda, getPoolPda, getSolEscrowPda, } from './pda.js';
|
|
9
|
-
import { getPoolState } from './accounts.js';
|
|
9
|
+
import { getBondingCurveState, getPoolState } from './accounts.js';
|
|
10
|
+
// ============= Constants =============
|
|
11
|
+
/** Precision factor for reward_per_token calculations (10^12) */
|
|
12
|
+
const REWARD_PRECISION = 1000000000000n;
|
|
13
|
+
/** HolderRewardAccount data offsets */
|
|
14
|
+
const HOLDER_REWARD_OFFSETS = {
|
|
15
|
+
DISCRIMINATOR: 0,
|
|
16
|
+
TOKEN_MINT: 8,
|
|
17
|
+
HOLDER: 8 + 32,
|
|
18
|
+
USER_REWARD_PER_TOKEN_PAID: 8 + 64,
|
|
19
|
+
REWARDS_OWED: 8 + 80,
|
|
20
|
+
BUMP: 8 + 88,
|
|
21
|
+
};
|
|
22
|
+
// ============= Buffer Helpers =============
|
|
23
|
+
function readU64LE(data, offset) {
|
|
24
|
+
return data.readBigUInt64LE(offset);
|
|
25
|
+
}
|
|
26
|
+
function readU128LE(data, offset) {
|
|
27
|
+
const low = data.readBigUInt64LE(offset);
|
|
28
|
+
const high = data.readBigUInt64LE(offset + 8);
|
|
29
|
+
return low + (high << 64n);
|
|
30
|
+
}
|
|
31
|
+
// ============= Get Pending Rewards =============
|
|
32
|
+
/**
|
|
33
|
+
* Get pending holder rewards for a user
|
|
34
|
+
*
|
|
35
|
+
* Queries on-chain state and calculates the exact pending rewards using
|
|
36
|
+
* the cumulative reward model: pending = balance * (stored - paid) / PRECISION + owed
|
|
37
|
+
*
|
|
38
|
+
* @param connection - Solana RPC connection
|
|
39
|
+
* @param tokenMint - Token mint address
|
|
40
|
+
* @param holder - Holder's wallet address
|
|
41
|
+
* @param programId - CoinBarrel program ID
|
|
42
|
+
* @returns Pending rewards info, or null if no rewards account exists
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* ```typescript
|
|
46
|
+
* const pending = await getPendingHolderRewards(connection, tokenMint, holder, programId);
|
|
47
|
+
* if (pending) {
|
|
48
|
+
* console.log(`Pending: ${pending.pendingLamports / 1e9} SOL`);
|
|
49
|
+
* }
|
|
50
|
+
* ```
|
|
51
|
+
*/
|
|
52
|
+
export async function getPendingHolderRewards(connection, tokenMint, holder, programId) {
|
|
53
|
+
// Get user's token balance
|
|
54
|
+
const holderTokenAccount = getAssociatedTokenAddressSync(tokenMint, holder);
|
|
55
|
+
let tokenBalance;
|
|
56
|
+
try {
|
|
57
|
+
const account = await getAccount(connection, holderTokenAccount);
|
|
58
|
+
tokenBalance = account.amount;
|
|
59
|
+
}
|
|
60
|
+
catch {
|
|
61
|
+
// No token account = no balance = no rewards
|
|
62
|
+
return null;
|
|
63
|
+
}
|
|
64
|
+
if (tokenBalance === 0n) {
|
|
65
|
+
return null;
|
|
66
|
+
}
|
|
67
|
+
// Get holder reward account
|
|
68
|
+
const holderRewardPda = getHolderRewardPda(tokenMint, holder, programId);
|
|
69
|
+
const holderRewardAccount = await connection.getAccountInfo(holderRewardPda);
|
|
70
|
+
let userRewardPerTokenPaid = 0n;
|
|
71
|
+
let rewardsOwed = 0n;
|
|
72
|
+
if (holderRewardAccount && holderRewardAccount.data.length >= 89) {
|
|
73
|
+
const data = holderRewardAccount.data;
|
|
74
|
+
userRewardPerTokenPaid = readU128LE(data, HOLDER_REWARD_OFFSETS.USER_REWARD_PER_TOKEN_PAID);
|
|
75
|
+
rewardsOwed = readU64LE(data, HOLDER_REWARD_OFFSETS.REWARDS_OWED);
|
|
76
|
+
}
|
|
77
|
+
// Check pool first (graduated), then curve
|
|
78
|
+
const poolState = await getPoolState(connection, tokenMint, programId);
|
|
79
|
+
let rewardPerTokenStored;
|
|
80
|
+
let source;
|
|
81
|
+
if (poolState) {
|
|
82
|
+
source = 'pool';
|
|
83
|
+
// Pool stores reward_per_token_stored at a different offset - need to fetch raw
|
|
84
|
+
const poolPda = getPoolPda(tokenMint, programId);
|
|
85
|
+
const poolAccount = await connection.getAccountInfo(poolPda);
|
|
86
|
+
if (!poolAccount)
|
|
87
|
+
return null;
|
|
88
|
+
rewardPerTokenStored = readU128LE(poolAccount.data, POOL_OFFSETS.REWARD_PER_TOKEN_STORED);
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
// Check bonding curve
|
|
92
|
+
const curveState = await getBondingCurveState(connection, tokenMint, programId);
|
|
93
|
+
if (!curveState)
|
|
94
|
+
return null;
|
|
95
|
+
source = 'curve';
|
|
96
|
+
rewardPerTokenStored = curveState.rewardPerTokenStored;
|
|
97
|
+
}
|
|
98
|
+
// Calculate pending rewards
|
|
99
|
+
// Formula: pending = balance * (stored - paid) / PRECISION + owed
|
|
100
|
+
const rewardDelta = rewardPerTokenStored - userRewardPerTokenPaid;
|
|
101
|
+
const earnedSinceCheckpoint = (tokenBalance * rewardDelta) / REWARD_PRECISION;
|
|
102
|
+
const pendingLamports = earnedSinceCheckpoint + rewardsOwed;
|
|
103
|
+
return {
|
|
104
|
+
tokenMint,
|
|
105
|
+
holder,
|
|
106
|
+
source,
|
|
107
|
+
tokenBalance,
|
|
108
|
+
pendingLamports,
|
|
109
|
+
rewardsOwed,
|
|
110
|
+
earnedSinceCheckpoint,
|
|
111
|
+
rewardPerTokenStored,
|
|
112
|
+
userRewardPerTokenPaid,
|
|
113
|
+
};
|
|
114
|
+
}
|
|
10
115
|
// ============= Claim from Bonding Curve =============
|
|
11
116
|
/**
|
|
12
117
|
* Build claim_holder_rewards_curve instruction
|
|
@@ -91,4 +196,55 @@ export async function buildClaimHolderRewardsInstruction(connection, params, pro
|
|
|
91
196
|
instructions.push(createCloseAccountInstruction(holderWsolAccount, holder, holder));
|
|
92
197
|
return instructions;
|
|
93
198
|
}
|
|
199
|
+
// ============= Claim Creator/Trader Fees from AMM Pool =============
|
|
200
|
+
/**
|
|
201
|
+
* Build claim_creator_trader_fees instruction
|
|
202
|
+
*
|
|
203
|
+
* Claims accumulated creator/trader fees from an AMM pool (post-graduation).
|
|
204
|
+
* Only the creator_fee_recipient can claim these fees.
|
|
205
|
+
* Fees are paid in WSOL which is then unwrapped to SOL.
|
|
206
|
+
*/
|
|
207
|
+
export async function buildClaimCreatorTraderFeesInstruction(connection, params, programId) {
|
|
208
|
+
const { tokenMint, creator } = params;
|
|
209
|
+
// Fetch pool state
|
|
210
|
+
const state = await getPoolState(connection, tokenMint, programId);
|
|
211
|
+
if (!state) {
|
|
212
|
+
throw new Error('Pool not found for this token');
|
|
213
|
+
}
|
|
214
|
+
// Verify creator matches pool's creator_fee_recipient
|
|
215
|
+
if (!state.creatorFeeRecipient.equals(creator)) {
|
|
216
|
+
throw new Error('Creator address does not match pool creator_fee_recipient');
|
|
217
|
+
}
|
|
218
|
+
// Derive PDAs
|
|
219
|
+
const pool = getPoolPda(tokenMint, programId);
|
|
220
|
+
const authority = getPoolAuthorityPda(pool, programId);
|
|
221
|
+
const creatorWsolAccount = getAssociatedTokenAddressSync(NATIVE_MINT, creator);
|
|
222
|
+
// Determine which vault is WSOL
|
|
223
|
+
const isTokenANative = state.tokenAMint.equals(NATIVE_MINT);
|
|
224
|
+
const solVault = isTokenANative ? state.tokenAVault : state.tokenBVault;
|
|
225
|
+
const instructions = [];
|
|
226
|
+
// Create WSOL ATA if needed
|
|
227
|
+
try {
|
|
228
|
+
await getAccount(connection, creatorWsolAccount);
|
|
229
|
+
}
|
|
230
|
+
catch {
|
|
231
|
+
instructions.push(createAssociatedTokenAccountInstruction(creator, creatorWsolAccount, creator, NATIVE_MINT));
|
|
232
|
+
}
|
|
233
|
+
const claimIx = new TransactionInstruction({
|
|
234
|
+
programId,
|
|
235
|
+
keys: [
|
|
236
|
+
{ pubkey: pool, isWritable: true, isSigner: false },
|
|
237
|
+
{ pubkey: solVault, isWritable: true, isSigner: false },
|
|
238
|
+
{ pubkey: creatorWsolAccount, isWritable: true, isSigner: false },
|
|
239
|
+
{ pubkey: authority, isWritable: false, isSigner: false },
|
|
240
|
+
{ pubkey: creator, isWritable: true, isSigner: true },
|
|
241
|
+
{ pubkey: TOKEN_PROGRAM_ID, isWritable: false, isSigner: false },
|
|
242
|
+
],
|
|
243
|
+
data: DISCRIMINATORS.claim_creator_trader_fees,
|
|
244
|
+
});
|
|
245
|
+
instructions.push(claimIx);
|
|
246
|
+
// Close WSOL account to unwrap to SOL
|
|
247
|
+
instructions.push(createCloseAccountInstruction(creatorWsolAccount, creator, creator));
|
|
248
|
+
return instructions;
|
|
249
|
+
}
|
|
94
250
|
//# sourceMappingURL=rewards.js.map
|
package/dist/rewards.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rewards.js","sourceRoot":"","sources":["../src/rewards.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAwB,aAAa,EAAE,sBAAsB,GAAE,MAAM,iBAAiB,CAAC;AAC9F,OAAO,EACN,uCAAuC,EACvC,6BAA6B,EAC7B,UAAU,EACV,6BAA6B,EAC7B,WAAW,EACX,gBAAgB,GAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,
|
|
1
|
+
{"version":3,"file":"rewards.js","sourceRoot":"","sources":["../src/rewards.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -177,6 +177,12 @@ export interface ClaimHolderRewardsParams {
|
|
|
177
177
|
/** Holder's wallet address */
|
|
178
178
|
holder: PublicKey;
|
|
179
179
|
}
|
|
180
|
+
export interface ClaimCreatorTraderFeesParams {
|
|
181
|
+
/** Token mint address */
|
|
182
|
+
tokenMint: PublicKey;
|
|
183
|
+
/** Creator's wallet address (must match pool's creator_fee_recipient) */
|
|
184
|
+
creator: PublicKey;
|
|
185
|
+
}
|
|
180
186
|
export interface BuyQuote {
|
|
181
187
|
/** SOL input (lamports) */
|
|
182
188
|
solIn: bigint;
|
|
@@ -227,6 +233,26 @@ export interface InstructionResult {
|
|
|
227
233
|
/** Required signers (usually just the user) */
|
|
228
234
|
signers: PublicKey[];
|
|
229
235
|
}
|
|
236
|
+
export interface PendingHolderRewards {
|
|
237
|
+
/** Token mint address */
|
|
238
|
+
tokenMint: PublicKey;
|
|
239
|
+
/** Holder's wallet address */
|
|
240
|
+
holder: PublicKey;
|
|
241
|
+
/** Whether rewards are from curve or pool */
|
|
242
|
+
source: 'curve' | 'pool';
|
|
243
|
+
/** User's current token balance (raw) */
|
|
244
|
+
tokenBalance: bigint;
|
|
245
|
+
/** Pending rewards in lamports */
|
|
246
|
+
pendingLamports: bigint;
|
|
247
|
+
/** Banked rewards waiting to be claimed (already checkpointed) */
|
|
248
|
+
rewardsOwed: bigint;
|
|
249
|
+
/** Rewards earned since last checkpoint */
|
|
250
|
+
earnedSinceCheckpoint: bigint;
|
|
251
|
+
/** Current reward_per_token_stored on-chain */
|
|
252
|
+
rewardPerTokenStored: bigint;
|
|
253
|
+
/** User's last checkpointed value */
|
|
254
|
+
userRewardPerTokenPaid: bigint;
|
|
255
|
+
}
|
|
230
256
|
export interface MarketInfo {
|
|
231
257
|
/** Token mint address */
|
|
232
258
|
tokenMint: PublicKey;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|