@coinbarrel/sdk 3.1.7 → 3.2.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/constants.d.ts +8 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +12 -0
- package/dist/constants.js.map +1 -1
- package/dist/create.d.ts +49 -1
- package/dist/create.d.ts.map +1 -1
- package/dist/create.js +211 -2
- package/dist/create.js.map +1 -1
- package/dist/fees.d.ts +58 -0
- package/dist/fees.d.ts.map +1 -0
- package/dist/fees.js +138 -0
- package/dist/fees.js.map +1 -0
- package/dist/index.d.ts +98 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +103 -3
- package/dist/index.js.map +1 -1
- package/dist/metadata.d.ts +70 -0
- package/dist/metadata.d.ts.map +1 -1
- package/dist/metadata.js +246 -1
- package/dist/metadata.js.map +1 -1
- package/dist/pda.d.ts +12 -0
- package/dist/pda.d.ts.map +1 -1
- package/dist/pda.js +19 -0
- package/dist/pda.js.map +1 -1
- package/dist/types.d.ts +70 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/constants.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ export type Network = 'devnet' | 'mainnet';
|
|
|
7
7
|
export declare const PROGRAM_IDS: Record<Network, PublicKey>;
|
|
8
8
|
export declare const ADMIN_FEE_RECIPIENTS: Record<Network, PublicKey>;
|
|
9
9
|
export declare const TOKEN_METADATA_PROGRAM_ID: PublicKey;
|
|
10
|
+
export declare const TOKEN_2022_PROGRAM_ID: PublicKey;
|
|
10
11
|
export declare const SEEDS: {
|
|
11
12
|
readonly BONDING: Buffer<ArrayBuffer>;
|
|
12
13
|
readonly BONDING_AUTHORITY: Buffer<ArrayBuffer>;
|
|
@@ -19,6 +20,8 @@ export declare const SEEDS: {
|
|
|
19
20
|
readonly HOLDER_REWARD: Buffer<ArrayBuffer>;
|
|
20
21
|
readonly INSTANT: Buffer<ArrayBuffer>;
|
|
21
22
|
readonly INSTANT_AUTHORITY: Buffer<ArrayBuffer>;
|
|
23
|
+
readonly FEE_EXTENSION: Buffer<ArrayBuffer>;
|
|
24
|
+
readonly FEE_CONFIG: Buffer<ArrayBuffer>;
|
|
22
25
|
};
|
|
23
26
|
export declare const DISCRIMINATORS: {
|
|
24
27
|
readonly initialize_barrel_curve: Buffer<ArrayBuffer>;
|
|
@@ -38,17 +41,22 @@ export declare const DISCRIMINATORS: {
|
|
|
38
41
|
readonly migrate_barrel: Buffer<ArrayBuffer>;
|
|
39
42
|
readonly create_instant_token: Buffer<ArrayBuffer>;
|
|
40
43
|
readonly set_instant_token_pool: Buffer<ArrayBuffer>;
|
|
44
|
+
readonly create_barrel_token_v2: Buffer<ArrayBuffer>;
|
|
45
|
+
readonly create_instant_token_v2: Buffer<ArrayBuffer>;
|
|
41
46
|
readonly claim_holder_rewards: Buffer<ArrayBuffer>;
|
|
42
47
|
readonly claim_holder_rewards_curve: Buffer<ArrayBuffer>;
|
|
43
48
|
readonly init_holder_reward_account_curve: Buffer<ArrayBuffer>;
|
|
44
49
|
readonly init_holder_reward_account_pool: Buffer<ArrayBuffer>;
|
|
45
50
|
readonly claim_creator_trader_fees: Buffer<ArrayBuffer>;
|
|
46
51
|
readonly init_fee_extension: Buffer<ArrayBuffer>;
|
|
52
|
+
readonly initialize_fee_config: Buffer<ArrayBuffer>;
|
|
47
53
|
};
|
|
48
54
|
export declare const EVENT_DISCRIMINATORS: {
|
|
49
55
|
readonly barrel_migrated: Buffer<ArrayBuffer>;
|
|
50
56
|
readonly barrel_migrated_meteora: Buffer<ArrayBuffer>;
|
|
51
57
|
readonly instant_token_created: Buffer<ArrayBuffer>;
|
|
58
|
+
readonly barrel_token_created_v2: Buffer<ArrayBuffer>;
|
|
59
|
+
readonly instant_token_created_v2: Buffer<ArrayBuffer>;
|
|
52
60
|
};
|
|
53
61
|
export declare const BONDING_CURVE_OFFSETS: {
|
|
54
62
|
readonly DISCRIMINATOR: 0;
|
package/dist/constants.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAI5C,MAAM,MAAM,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE3C,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,OAAO,EAAE,SAAS,CAGlD,CAAC;AAGF,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,OAAO,EAAE,SAAS,CAG3D,CAAC;AAGF,eAAO,MAAM,yBAAyB,WAErC,CAAC;AAIF,eAAO,MAAM,KAAK
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAI5C,MAAM,MAAM,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE3C,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,OAAO,EAAE,SAAS,CAGlD,CAAC;AAGF,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,OAAO,EAAE,SAAS,CAG3D,CAAC;AAGF,eAAO,MAAM,yBAAyB,WAErC,CAAC;AAGF,eAAO,MAAM,qBAAqB,WAEjC,CAAC;AAIF,eAAO,MAAM,KAAK;;;;;;;;;;;;;;CAcR,CAAC;AAKX,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0CjB,CAAC;AAKX,eAAO,MAAM,oBAAoB;;;;;;CAcvB,CAAC;AAKX,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;CAmBxB,CAAC;AAEX,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;CAmBf,CAAC;AAKX,eAAO,MAAM,WAAW;IACvB,8EAA8E;;IAE9E,iDAAiD;;IAEjD,8BAA8B;;IAE9B,yCAAyC;;IAEzC,yCAAyC;;CAEhC,CAAC;AAIX,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAClC,eAAO,MAAM,oBAAoB,MAAM,CAAC;AACxC,eAAO,MAAM,gBAAgB,cAAiB,CAAC;AAC/C,eAAO,MAAM,yBAAyB,WAAa,CAAC"}
|
package/dist/constants.js
CHANGED
|
@@ -14,6 +14,8 @@ export const ADMIN_FEE_RECIPIENTS = {
|
|
|
14
14
|
};
|
|
15
15
|
// Metaplex Token Metadata Program ID (same on all networks)
|
|
16
16
|
export const TOKEN_METADATA_PROGRAM_ID = new PublicKey('metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s');
|
|
17
|
+
// Token2022 Program ID (same on all networks)
|
|
18
|
+
export const TOKEN_2022_PROGRAM_ID = new PublicKey('TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb');
|
|
17
19
|
// ============= PDA Seeds =============
|
|
18
20
|
export const SEEDS = {
|
|
19
21
|
BONDING: Buffer.from('bonding'),
|
|
@@ -27,6 +29,8 @@ export const SEEDS = {
|
|
|
27
29
|
HOLDER_REWARD: Buffer.from('holder_reward'),
|
|
28
30
|
INSTANT: Buffer.from('instant'),
|
|
29
31
|
INSTANT_AUTHORITY: Buffer.from('instant_authority'),
|
|
32
|
+
FEE_EXTENSION: Buffer.from('fee_extension'),
|
|
33
|
+
FEE_CONFIG: Buffer.from('fee_config'),
|
|
30
34
|
};
|
|
31
35
|
// ============= Instruction Discriminators =============
|
|
32
36
|
// Pre-computed Anchor discriminators (first 8 bytes of sha256("global:<instruction_name>"))
|
|
@@ -52,6 +56,9 @@ export const DISCRIMINATORS = {
|
|
|
52
56
|
// Instant Launch
|
|
53
57
|
create_instant_token: Buffer.from([180, 126, 209, 166, 41, 246, 44, 125]),
|
|
54
58
|
set_instant_token_pool: Buffer.from([183, 139, 68, 71, 36, 15, 52, 49]),
|
|
59
|
+
// Token2022 V2 instructions
|
|
60
|
+
create_barrel_token_v2: Buffer.from([90, 21, 196, 55, 37, 163, 6, 156]),
|
|
61
|
+
create_instant_token_v2: Buffer.from([130, 93, 209, 170, 112, 101, 36, 63]),
|
|
55
62
|
// Rewards
|
|
56
63
|
claim_holder_rewards: Buffer.from([79, 182, 142, 158, 108, 127, 120, 174]),
|
|
57
64
|
claim_holder_rewards_curve: Buffer.from([124, 102, 68, 253, 240, 13, 253, 60]),
|
|
@@ -61,6 +68,8 @@ export const DISCRIMINATORS = {
|
|
|
61
68
|
// Fee Extension
|
|
62
69
|
// sha256("global:init_fee_extension")[0..8]
|
|
63
70
|
init_fee_extension: Buffer.from([0xb1, 0x70, 0x9e, 0xa8, 0x90, 0x80, 0x5f, 0xb7]),
|
|
71
|
+
// sha256("global:initialize_fee_config")[0..8]
|
|
72
|
+
initialize_fee_config: Buffer.from([0x3e, 0xa2, 0x14, 0x85, 0x79, 0x41, 0x91, 0x1b]),
|
|
64
73
|
};
|
|
65
74
|
// ============= Event Discriminators =============
|
|
66
75
|
// Pre-computed Anchor event discriminators (first 8 bytes of sha256("event:<event_name>"))
|
|
@@ -74,6 +83,9 @@ export const EVENT_DISCRIMINATORS = {
|
|
|
74
83
|
// InstantTokenCreated event - emitted when instant token is created
|
|
75
84
|
// Computed: sha256("event:InstantTokenCreated")[0..8] = 79fc33cee03575dc
|
|
76
85
|
instant_token_created: Buffer.from([0x79, 0xfc, 0x33, 0xce, 0xe0, 0x35, 0x75, 0xdc]),
|
|
86
|
+
// Token2022 V2 events
|
|
87
|
+
barrel_token_created_v2: Buffer.from([67, 15, 75, 137, 26, 40, 17, 1]),
|
|
88
|
+
instant_token_created_v2: Buffer.from([161, 205, 68, 158, 27, 137, 117, 155]),
|
|
77
89
|
};
|
|
78
90
|
// ============= Account Data Offsets =============
|
|
79
91
|
// For parsing on-chain account data
|
package/dist/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAM5C,MAAM,CAAC,MAAM,WAAW,GAA+B;IACtD,MAAM,EAAE,IAAI,SAAS,CAAC,8CAA8C,CAAC;IACrE,OAAO,EAAE,IAAI,SAAS,CAAC,8CAA8C,CAAC;CACtE,CAAC;AAEF,uDAAuD;AACvD,MAAM,CAAC,MAAM,oBAAoB,GAA+B;IAC/D,MAAM,EAAE,IAAI,SAAS,CAAC,8CAA8C,CAAC;IACrE,OAAO,EAAE,IAAI,SAAS,CAAC,8CAA8C,CAAC;CACtE,CAAC;AAEF,4DAA4D;AAC5D,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,SAAS,CACrD,6CAA6C,CAC7C,CAAC;AAEF,wCAAwC;AAExC,MAAM,CAAC,MAAM,KAAK,GAAG;IACpB,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;IAC/B,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC;IACnD,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC;IACvC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;IACnC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;IAC/B,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;IACjC,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC;IAC3C,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;IAC/B,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
|
package/dist/create.d.ts
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { Keypair, PublicKey, TransactionInstruction } from '@solana/web3.js';
|
|
7
7
|
import { type Network } from './constants.js';
|
|
8
|
-
import { type CreateBarrelTokenParams, type CreateInstantTokenParams } from './types.js';
|
|
8
|
+
import { type CreateBarrelTokenParams, type CreateInstantTokenParams, type CreateBarrelTokenV2Params, type CreateInstantTokenV2Params } from './types.js';
|
|
9
9
|
/**
|
|
10
10
|
* Build create_barrel_token instruction
|
|
11
11
|
*
|
|
@@ -68,4 +68,52 @@ export declare function buildCreateInstantTokenInstruction(params: CreateInstant
|
|
|
68
68
|
/** Admin's Associated Token Account address (derived, not a keypair) */
|
|
69
69
|
adminTokenAccount: PublicKey;
|
|
70
70
|
};
|
|
71
|
+
/**
|
|
72
|
+
* Build create_barrel_token_v2 instruction using Token2022
|
|
73
|
+
*
|
|
74
|
+
* Creates a new token with Token2022 program:
|
|
75
|
+
* - Mint authority: revoked immediately after minting 1B tokens
|
|
76
|
+
* - Freeze authority: null from creation
|
|
77
|
+
* - 1B total supply minted to bonding curve vault
|
|
78
|
+
* - Metadata stored directly on mint via TokenMetadata extension (no Metaplex)
|
|
79
|
+
* - Optional burn fee (FeeExtension PDA created atomically)
|
|
80
|
+
* - Optional multi-recipient fee distribution (FeeDistributionConfig PDA created atomically)
|
|
81
|
+
*
|
|
82
|
+
* @param params - Token creation parameters
|
|
83
|
+
* @param programId - CoinBarrel program ID
|
|
84
|
+
* @param network - Network for admin fee recipient
|
|
85
|
+
* @returns Object containing instruction and mint keypair (must sign transaction)
|
|
86
|
+
*/
|
|
87
|
+
export declare function buildCreateBarrelTokenV2Instruction(params: CreateBarrelTokenV2Params, programId: PublicKey, network: Network): {
|
|
88
|
+
instructions: TransactionInstruction[];
|
|
89
|
+
mintKeypair: Keypair;
|
|
90
|
+
};
|
|
91
|
+
/**
|
|
92
|
+
* Build create_instant_token_v2 instruction using Token2022
|
|
93
|
+
*
|
|
94
|
+
* Creates an instant token for direct Meteora DAMM V2 pool launch.
|
|
95
|
+
* Unlike bonding curve tokens, these launch directly to Meteora with no graduation phase.
|
|
96
|
+
*
|
|
97
|
+
* The token is created with Token2022 program:
|
|
98
|
+
* - 1B total supply (6 decimals)
|
|
99
|
+
* - Mint authority: revoked immediately after minting
|
|
100
|
+
* - Freeze authority: null from creation (never set)
|
|
101
|
+
* - All tokens minted to admin's Token2022 Associated Token Account (ATA)
|
|
102
|
+
* - Metadata stored directly on mint via TokenMetadata extension (no Metaplex)
|
|
103
|
+
* - Reduced creation fee: 0.03 SOL (vs 0.05 SOL for V1)
|
|
104
|
+
*
|
|
105
|
+
* After creation, the backend listens for InstantTokenCreatedV2 event and creates
|
|
106
|
+
* the Meteora pool with the tokens from the admin's ATA.
|
|
107
|
+
*
|
|
108
|
+
* @param params - Instant token creation parameters
|
|
109
|
+
* @param programId - CoinBarrel program ID
|
|
110
|
+
* @param network - Network for admin account derivation
|
|
111
|
+
* @returns Object containing instructions, mint keypair, and admin token account address
|
|
112
|
+
*/
|
|
113
|
+
export declare function buildCreateInstantTokenV2Instruction(params: CreateInstantTokenV2Params, programId: PublicKey, network: Network): {
|
|
114
|
+
instructions: TransactionInstruction[];
|
|
115
|
+
mintKeypair: Keypair;
|
|
116
|
+
/** Admin's Token2022 Associated Token Account address */
|
|
117
|
+
adminTokenAccount: PublicKey;
|
|
118
|
+
};
|
|
71
119
|
//# 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,
|
|
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,EAKN,KAAK,OAAO,EACZ,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAGN,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAC/B,MAAM,YAAY,CAAC;AAiEpB;;;;;;;;;;;;;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,CAqFA;AAID;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,mCAAmC,CAClD,MAAM,EAAE,yBAAyB,EACjC,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,OAAO,GACd;IAAE,YAAY,EAAE,sBAAsB,EAAE,CAAC;IAAC,WAAW,EAAE,OAAO,CAAA;CAAE,CAqGlE;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,oCAAoC,CACnD,MAAM,EAAE,0BAA0B,EAClC,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,OAAO,GACd;IACF,YAAY,EAAE,sBAAsB,EAAE,CAAC;IACvC,WAAW,EAAE,OAAO,CAAC;IACrB,yDAAyD;IACzD,iBAAiB,EAAE,SAAS,CAAC;CAC7B,CAoFA"}
|
package/dist/create.js
CHANGED
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
* Create instant tokens for direct Meteora pool launch
|
|
5
5
|
*/
|
|
6
6
|
import { Keypair, PublicKey, SystemProgram, SYSVAR_RENT_PUBKEY, TransactionInstruction, } from '@solana/web3.js';
|
|
7
|
-
import { DISCRIMINATORS, TOKEN_METADATA_PROGRAM_ID, ADMIN_FEE_RECIPIENTS, } from './constants.js';
|
|
8
|
-
import { getBondingCurvePda, getBondingAuthorityPda, getInstantTokenPDAs } from './pda.js';
|
|
7
|
+
import { DISCRIMINATORS, TOKEN_METADATA_PROGRAM_ID, TOKEN_2022_PROGRAM_ID, ADMIN_FEE_RECIPIENTS, } from './constants.js';
|
|
8
|
+
import { getBondingCurvePda, getBondingAuthorityPda, getInstantTokenPDAs, getFeeExtensionPda, getFeeConfigPda } from './pda.js';
|
|
9
9
|
import { getMetadataPda } from './metadata.js';
|
|
10
10
|
import { MigrationTarget, InstantTokenVariant, } from './types.js';
|
|
11
11
|
import { TOKEN_PROGRAM_ID, ASSOCIATED_TOKEN_PROGRAM_ID, getAssociatedTokenAddressSync } from "@solana/spl-token";
|
|
@@ -34,6 +34,23 @@ function writeString(s) {
|
|
|
34
34
|
lenBuf.writeUInt32LE(bytes.length);
|
|
35
35
|
return Buffer.concat([lenBuf, bytes]);
|
|
36
36
|
}
|
|
37
|
+
/** Write Option<[u8; 32]> - 0x00 for None, 0x01 + 32 bytes for Some */
|
|
38
|
+
function writeOptionBytes32(value) {
|
|
39
|
+
if (!value) {
|
|
40
|
+
return Buffer.from([0]); // None
|
|
41
|
+
}
|
|
42
|
+
if (value.length !== 32) {
|
|
43
|
+
throw new Error('Merkle root must be exactly 32 bytes');
|
|
44
|
+
}
|
|
45
|
+
return Buffer.concat([Buffer.from([1]), Buffer.from(value)]); // Some(value)
|
|
46
|
+
}
|
|
47
|
+
/** Write Option<u8> - 0x00 for None, 0x01 + 1 byte for Some */
|
|
48
|
+
function writeOptionU8(value) {
|
|
49
|
+
if (value === undefined) {
|
|
50
|
+
return Buffer.from([0]); // None
|
|
51
|
+
}
|
|
52
|
+
return Buffer.from([1, value]); // Some(value)
|
|
53
|
+
}
|
|
37
54
|
// ============= Token Vault PDA =============
|
|
38
55
|
function getTokenVaultPda(bondingCurve, programId) {
|
|
39
56
|
const [pda] = PublicKey.findProgramAddressSync([Buffer.from('token_vault'), bondingCurve.toBuffer()], programId);
|
|
@@ -211,4 +228,196 @@ export function buildCreateInstantTokenInstruction(params, programId, network) {
|
|
|
211
228
|
adminTokenAccount,
|
|
212
229
|
};
|
|
213
230
|
}
|
|
231
|
+
// ============= Token2022 V2 Instruction Builders =============
|
|
232
|
+
/**
|
|
233
|
+
* Build create_barrel_token_v2 instruction using Token2022
|
|
234
|
+
*
|
|
235
|
+
* Creates a new token with Token2022 program:
|
|
236
|
+
* - Mint authority: revoked immediately after minting 1B tokens
|
|
237
|
+
* - Freeze authority: null from creation
|
|
238
|
+
* - 1B total supply minted to bonding curve vault
|
|
239
|
+
* - Metadata stored directly on mint via TokenMetadata extension (no Metaplex)
|
|
240
|
+
* - Optional burn fee (FeeExtension PDA created atomically)
|
|
241
|
+
* - Optional multi-recipient fee distribution (FeeDistributionConfig PDA created atomically)
|
|
242
|
+
*
|
|
243
|
+
* @param params - Token creation parameters
|
|
244
|
+
* @param programId - CoinBarrel program ID
|
|
245
|
+
* @param network - Network for admin fee recipient
|
|
246
|
+
* @returns Object containing instruction and mint keypair (must sign transaction)
|
|
247
|
+
*/
|
|
248
|
+
export function buildCreateBarrelTokenV2Instruction(params, programId, network) {
|
|
249
|
+
const { payer, name, symbol, uri, decimals = 6, variant = 0, creatorFeeRecipient, traderRewardsShareBps = 2500, // 25% of fees to holders
|
|
250
|
+
migrationTarget = MigrationTarget.Coinbarrel, // Default: coinbarrel AMM
|
|
251
|
+
burnFeeBps = 0, // Default: no burn
|
|
252
|
+
merkleRoot, recipientCount, } = params;
|
|
253
|
+
// Validate parameters
|
|
254
|
+
if (decimals !== 6) {
|
|
255
|
+
throw new Error('Token2022 bonding curve requires decimals = 6');
|
|
256
|
+
}
|
|
257
|
+
if (name.length > 32) {
|
|
258
|
+
throw new Error('Token name must be 32 characters or less');
|
|
259
|
+
}
|
|
260
|
+
if (symbol.length > 10) {
|
|
261
|
+
throw new Error('Token symbol must be 10 characters or less');
|
|
262
|
+
}
|
|
263
|
+
if (uri.length > 200) {
|
|
264
|
+
throw new Error('Metadata URI must be 200 characters or less');
|
|
265
|
+
}
|
|
266
|
+
if (traderRewardsShareBps > 5000) {
|
|
267
|
+
throw new Error('Trader rewards share must be <= 5000 bps (50%)');
|
|
268
|
+
}
|
|
269
|
+
if (burnFeeBps < 0 || burnFeeBps > 5000) {
|
|
270
|
+
throw new Error('Burn fee must be between 0 (0%) and 5000 (50%) bps');
|
|
271
|
+
}
|
|
272
|
+
if (burnFeeBps + traderRewardsShareBps > 5000) {
|
|
273
|
+
throw new Error('burn_fee_bps + trader_rewards_share_bps must be <= 5000');
|
|
274
|
+
}
|
|
275
|
+
if (migrationTarget > 1) {
|
|
276
|
+
throw new Error('Migration target must be 0 (Coinbarrel) or 1 (Meteora)');
|
|
277
|
+
}
|
|
278
|
+
// Validate merkle root and recipient count consistency
|
|
279
|
+
if (merkleRoot && !recipientCount) {
|
|
280
|
+
throw new Error('recipientCount is required when merkleRoot is provided');
|
|
281
|
+
}
|
|
282
|
+
if (merkleRoot && (recipientCount < 1 || recipientCount > 100)) {
|
|
283
|
+
throw new Error('recipientCount must be between 1 and 100');
|
|
284
|
+
}
|
|
285
|
+
// Generate new mint keypair
|
|
286
|
+
const mintKeypair = Keypair.generate();
|
|
287
|
+
const tokenMint = mintKeypair.publicKey;
|
|
288
|
+
// Derive PDAs
|
|
289
|
+
const bondingCurve = getBondingCurvePda(tokenMint, programId);
|
|
290
|
+
const bondingAuthority = getBondingAuthorityPda(bondingCurve, programId);
|
|
291
|
+
const tokenVault = getTokenVaultPda(bondingCurve, programId);
|
|
292
|
+
const feeExtension = getFeeExtensionPda(tokenMint, programId);
|
|
293
|
+
const feeConfig = getFeeConfigPda(tokenMint, programId);
|
|
294
|
+
// Build instruction data
|
|
295
|
+
// Discriminator + decimals(u8) + variant(u8) + creator_fee_recipient(Pubkey)
|
|
296
|
+
// + trader_rewards_share_bps(u16) + migration_target(u8) + name(String) + symbol(String) + uri(String)
|
|
297
|
+
// + burn_fee_bps(u16) + merkle_root(Option<[u8;32]>) + recipient_count(Option<u8>)
|
|
298
|
+
const data = Buffer.concat([
|
|
299
|
+
DISCRIMINATORS.create_barrel_token_v2,
|
|
300
|
+
writeU8(decimals),
|
|
301
|
+
writeU8(variant),
|
|
302
|
+
writePubkey(creatorFeeRecipient),
|
|
303
|
+
writeU16LE(traderRewardsShareBps),
|
|
304
|
+
writeU8(migrationTarget),
|
|
305
|
+
writeString(name),
|
|
306
|
+
writeString(symbol),
|
|
307
|
+
writeString(uri),
|
|
308
|
+
writeU16LE(burnFeeBps),
|
|
309
|
+
writeOptionBytes32(merkleRoot),
|
|
310
|
+
writeOptionU8(recipientCount),
|
|
311
|
+
]);
|
|
312
|
+
// V2 accounts (no Metaplex metadata account, includes fee extension and fee config PDAs)
|
|
313
|
+
const createIx = new TransactionInstruction({
|
|
314
|
+
programId,
|
|
315
|
+
keys: [
|
|
316
|
+
{ pubkey: tokenMint, isWritable: true, isSigner: true },
|
|
317
|
+
{ pubkey: bondingCurve, isWritable: true, isSigner: false },
|
|
318
|
+
{ pubkey: tokenVault, isWritable: true, isSigner: false },
|
|
319
|
+
{ pubkey: bondingAuthority, isWritable: false, isSigner: false },
|
|
320
|
+
{ pubkey: feeExtension, isWritable: true, isSigner: false },
|
|
321
|
+
{ pubkey: feeConfig, isWritable: true, isSigner: false },
|
|
322
|
+
{ pubkey: creatorFeeRecipient, isWritable: false, isSigner: false }, // creator account
|
|
323
|
+
{ pubkey: payer, isWritable: true, isSigner: true },
|
|
324
|
+
{ pubkey: SystemProgram.programId, isWritable: false, isSigner: false },
|
|
325
|
+
{ pubkey: TOKEN_2022_PROGRAM_ID, isWritable: false, isSigner: false },
|
|
326
|
+
],
|
|
327
|
+
data,
|
|
328
|
+
});
|
|
329
|
+
return {
|
|
330
|
+
instructions: [createIx],
|
|
331
|
+
mintKeypair,
|
|
332
|
+
};
|
|
333
|
+
}
|
|
334
|
+
/**
|
|
335
|
+
* Build create_instant_token_v2 instruction using Token2022
|
|
336
|
+
*
|
|
337
|
+
* Creates an instant token for direct Meteora DAMM V2 pool launch.
|
|
338
|
+
* Unlike bonding curve tokens, these launch directly to Meteora with no graduation phase.
|
|
339
|
+
*
|
|
340
|
+
* The token is created with Token2022 program:
|
|
341
|
+
* - 1B total supply (6 decimals)
|
|
342
|
+
* - Mint authority: revoked immediately after minting
|
|
343
|
+
* - Freeze authority: null from creation (never set)
|
|
344
|
+
* - All tokens minted to admin's Token2022 Associated Token Account (ATA)
|
|
345
|
+
* - Metadata stored directly on mint via TokenMetadata extension (no Metaplex)
|
|
346
|
+
* - Reduced creation fee: 0.03 SOL (vs 0.05 SOL for V1)
|
|
347
|
+
*
|
|
348
|
+
* After creation, the backend listens for InstantTokenCreatedV2 event and creates
|
|
349
|
+
* the Meteora pool with the tokens from the admin's ATA.
|
|
350
|
+
*
|
|
351
|
+
* @param params - Instant token creation parameters
|
|
352
|
+
* @param programId - CoinBarrel program ID
|
|
353
|
+
* @param network - Network for admin account derivation
|
|
354
|
+
* @returns Object containing instructions, mint keypair, and admin token account address
|
|
355
|
+
*/
|
|
356
|
+
export function buildCreateInstantTokenV2Instruction(params, programId, network) {
|
|
357
|
+
const { payer, creator, name, symbol, uri, variant = InstantTokenVariant.Standard, traderRewardsShareBps = 2500, // 25% default (same as bonding curve)
|
|
358
|
+
devBuyAmountLamports = 0n, // No dev buy by default
|
|
359
|
+
} = params;
|
|
360
|
+
// Validate parameters
|
|
361
|
+
if (name.length > 32) {
|
|
362
|
+
throw new Error('Token name must be 32 characters or less');
|
|
363
|
+
}
|
|
364
|
+
if (symbol.length > 10) {
|
|
365
|
+
throw new Error('Token symbol must be 10 characters or less');
|
|
366
|
+
}
|
|
367
|
+
if (uri.length > 200) {
|
|
368
|
+
throw new Error('Metadata URI must be 200 characters or less');
|
|
369
|
+
}
|
|
370
|
+
if (variant > 1) {
|
|
371
|
+
throw new Error('Variant must be 0 (standard) or 1 (deep)');
|
|
372
|
+
}
|
|
373
|
+
// See Agent.md "Fee Architecture" - holder share is % of TOTAL fee, max 50% since platform takes 50%
|
|
374
|
+
if (traderRewardsShareBps < 0 || traderRewardsShareBps > 5000) {
|
|
375
|
+
throw new Error('Trader rewards share must be between 0 (0%) and 5000 (50%) bps');
|
|
376
|
+
}
|
|
377
|
+
// Generate mint keypair
|
|
378
|
+
const mintKeypair = Keypair.generate();
|
|
379
|
+
const tokenMint = mintKeypair.publicKey;
|
|
380
|
+
// Admin wallet
|
|
381
|
+
const admin = ADMIN_FEE_RECIPIENTS[network];
|
|
382
|
+
// Derive admin's Token2022 ATA
|
|
383
|
+
// For Token2022, we use getAssociatedTokenAddressSync with allowOwnerOffCurve=false, programId=Token2022
|
|
384
|
+
const adminTokenAccount = getAssociatedTokenAddressSync(tokenMint, admin, false, // allowOwnerOffCurve
|
|
385
|
+
TOKEN_2022_PROGRAM_ID // Token2022 program
|
|
386
|
+
);
|
|
387
|
+
// Derive PDAs
|
|
388
|
+
const { instantToken, mintAuthority } = getInstantTokenPDAs(tokenMint, programId);
|
|
389
|
+
// Build instruction data
|
|
390
|
+
// Discriminator + name(String) + symbol(String) + uri(String) + variant(u8) + trader_rewards_share_bps(u16) + dev_buy_amount_lamports(u64)
|
|
391
|
+
const data = Buffer.concat([
|
|
392
|
+
DISCRIMINATORS.create_instant_token_v2,
|
|
393
|
+
writeString(name),
|
|
394
|
+
writeString(symbol),
|
|
395
|
+
writeString(uri),
|
|
396
|
+
writeU8(variant),
|
|
397
|
+
writeU16LE(traderRewardsShareBps),
|
|
398
|
+
writeU64LE(devBuyAmountLamports),
|
|
399
|
+
]);
|
|
400
|
+
// V2 accounts (no Metaplex metadata account, uses Token2022)
|
|
401
|
+
const createIx = new TransactionInstruction({
|
|
402
|
+
programId,
|
|
403
|
+
keys: [
|
|
404
|
+
{ pubkey: tokenMint, isWritable: true, isSigner: true },
|
|
405
|
+
{ pubkey: instantToken, isWritable: true, isSigner: false },
|
|
406
|
+
{ pubkey: mintAuthority, isWritable: false, isSigner: false },
|
|
407
|
+
{ pubkey: adminTokenAccount, isWritable: true, isSigner: false }, // Token2022 ATA
|
|
408
|
+
{ pubkey: creator, isWritable: false, isSigner: false },
|
|
409
|
+
{ pubkey: payer, isWritable: true, isSigner: true },
|
|
410
|
+
{ pubkey: admin, isWritable: true, isSigner: false },
|
|
411
|
+
{ pubkey: SystemProgram.programId, isWritable: false, isSigner: false },
|
|
412
|
+
{ pubkey: TOKEN_2022_PROGRAM_ID, isWritable: false, isSigner: false },
|
|
413
|
+
{ pubkey: ASSOCIATED_TOKEN_PROGRAM_ID, isWritable: false, isSigner: false },
|
|
414
|
+
],
|
|
415
|
+
data,
|
|
416
|
+
});
|
|
417
|
+
return {
|
|
418
|
+
instructions: [createIx],
|
|
419
|
+
mintKeypair,
|
|
420
|
+
adminTokenAccount,
|
|
421
|
+
};
|
|
422
|
+
}
|
|
214
423
|
//# 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":"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"}
|
|
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,qBAAqB,EACrB,oBAAoB,GAEpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAChI,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EACN,eAAe,EACf,mBAAmB,GAKnB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAC,gBAAgB,EAAE,2BAA2B,EAAE,6BAA6B,EAAC,MAAM,mBAAmB,CAAC;AAE/G,6CAA6C;AAE7C,SAAS,OAAO,CAAC,CAAS;IACzB,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAChB,OAAO,CAAC,CAAC;AACV,CAAC;AAED,SAAS,UAAU,CAAC,CAAS;IAC5B,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IACnB,OAAO,CAAC,CAAC;AACV,CAAC;AAED,SAAS,UAAU,CAAC,CAAS;IAC5B,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;IACtB,OAAO,CAAC,CAAC;AACV,CAAC;AAED,SAAS,WAAW,CAAC,EAAa;IACjC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC;AACtB,CAAC;AAED,SAAS,WAAW,CAAC,CAAS;IAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACnC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AACvC,CAAC;AAED,uEAAuE;AACvE,SAAS,kBAAkB,CAAC,KAA6B;IACxD,IAAI,CAAC,KAAK,EAAE,CAAC;QACZ,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO;IACjC,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc;AAC7E,CAAC;AAED,+DAA+D;AAC/D,SAAS,aAAa,CAAC,KAAyB;IAC/C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO;IACjC,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc;AAC/C,CAAC;AAED,8CAA8C;AAE9C,SAAS,gBAAgB,CAAC,YAAuB,EAAE,SAAoB;IACtE,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,sBAAsB,CAC7C,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC,EACrD,SAAS,CACT,CAAC;IACF,OAAO,GAAG,CAAC;AACZ,CAAC;AAED,kDAAkD;AAElD;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,iCAAiC,CAChD,MAA+B,EAC/B,SAAoB,EACpB,OAAgB;IAEhB,MAAM,EACL,KAAK,EACL,IAAI,EACJ,MAAM,EACN,GAAG,EACH,QAAQ,GAAG,CAAC,EACZ,OAAO,GAAG,CAAC,EACX,mBAAmB,EACnB,qBAAqB,GAAG,IAAI,EAAE,yBAAyB;IACvD,eAAe,GAAG,eAAe,CAAC,UAAU,EAAE,0BAA0B;MACxE,GAAG,MAAM,CAAC;IAEX,4BAA4B;IAC5B,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IACvC,MAAM,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC;IAExC,cAAc;IACd,MAAM,YAAY,GAAG,kBAAkB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAC9D,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;IACzE,MAAM,UAAU,GAAG,gBAAgB,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;IAC7D,MAAM,QAAQ,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;IAE3C,0CAA0C;IAC1C,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAExD,yBAAyB;IACzB,2GAA2G;IAC3G,uGAAuG;IACvG,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;QAC1B,cAAc,CAAC,mBAAmB;QAClC,OAAO,CAAC,QAAQ,CAAC;QACjB,OAAO,CAAC,OAAO,CAAC;QAChB,WAAW,CAAC,iBAAiB,CAAC;QAC9B,WAAW,CAAC,mBAAmB,CAAC;QAChC,UAAU,CAAC,qBAAqB,CAAC;QACjC,OAAO,CAAC,eAAe,CAAC;QACxB,WAAW,CAAC,IAAI,CAAC;QACjB,WAAW,CAAC,MAAM,CAAC;QACnB,WAAW,CAAC,GAAG,CAAC;KAChB,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,IAAI,sBAAsB,CAAC;QAC3C,SAAS;QACT,IAAI,EAAE;YACL,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE;YACvD,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE;YAC3D,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE;YACzD,EAAE,MAAM,EAAE,gBAAgB,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE;YAChE,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE;YACvD,EAAE,MAAM,EAAE,yBAAyB,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE;YACzE,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE;YACnD,EAAE,MAAM,EAAE,aAAa,CAAC,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE;YACvE,EAAE,MAAM,EAAE,gBAAgB,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE;YAChE,EAAE,MAAM,EAAE,kBAAkB,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE;SAClE;QACD,IAAI;KACJ,CAAC,CAAC;IAEH,OAAO;QACN,YAAY,EAAE,CAAC,QAAQ,CAAC;QACxB,WAAW;KACX,CAAC;AACH,CAAC;AAED,qDAAqD;AAErD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAM,UAAU,kCAAkC,CACjD,MAAgC,EAChC,SAAoB,EACpB,OAAgB;IAShB,MAAM,EACL,KAAK,EACL,OAAO,EACP,IAAI,EACJ,MAAM,EACN,GAAG,EACH,OAAO,GAAG,mBAAmB,CAAC,QAAQ,EACtC,qBAAqB,GAAG,IAAI,EAAE,sCAAsC;IACpE,oBAAoB,GAAG,EAAE,EAAE,wBAAwB;MACnD,GAAG,MAAM,CAAC;IAEX,sBAAsB;IACtB,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC7D,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAC/D,CAAC;IACD,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC7D,CAAC;IACD,qGAAqG;IACrG,IAAI,qBAAqB,GAAG,CAAC,IAAI,qBAAqB,GAAG,IAAI,EAAE,CAAC;QAC/D,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;IACnF,CAAC;IAED,wBAAwB;IACxB,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IACvC,MAAM,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC;IAExC,eAAe;IACf,MAAM,KAAK,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAE5C,yDAAyD;IACzD,MAAM,iBAAiB,GAAG,6BAA6B,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAE1E,cAAc;IACd,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAClF,MAAM,QAAQ,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;IAE3C,yBAAyB;IACzB,2IAA2I;IAC3I,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;QAC1B,cAAc,CAAC,oBAAoB;QACnC,WAAW,CAAC,IAAI,CAAC;QACjB,WAAW,CAAC,MAAM,CAAC;QACnB,WAAW,CAAC,GAAG,CAAC;QAChB,OAAO,CAAC,OAAO,CAAC;QAChB,UAAU,CAAC,qBAAqB,CAAC;QACjC,UAAU,CAAC,oBAAoB,CAAC;KAChC,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,IAAI,sBAAsB,CAAC;QAC3C,SAAS;QACT,IAAI,EAAE;YACL,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE;YACvD,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE;YAC3D,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE;YAC7D,EAAE,MAAM,EAAE,iBAAiB,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,oBAAoB;YACtF,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE;YACvD,EAAE,MAAM,EAAE,yBAAyB,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE;YACzE,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE;YACvD,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE;YACnD,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE;YACpD,EAAE,MAAM,EAAE,aAAa,CAAC,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE;YACvE,EAAE,MAAM,EAAE,gBAAgB,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE;YAChE,EAAE,MAAM,EAAE,2BAA2B,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE;YAC3E,EAAE,MAAM,EAAE,kBAAkB,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE;SAClE;QACD,IAAI;KACJ,CAAC,CAAC;IAEH,kEAAkE;IAClE,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAExC,OAAO;QACN,YAAY,EAAE,CAAC,QAAQ,CAAC;QACxB,WAAW;QACX,wBAAwB,EAAE,YAAY,EAAE,oCAAoC;QAC5E,iBAAiB;KACjB,CAAC;AACH,CAAC;AAED,gEAAgE;AAEhE;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,mCAAmC,CAClD,MAAiC,EACjC,SAAoB,EACpB,OAAgB;IAEhB,MAAM,EACL,KAAK,EACL,IAAI,EACJ,MAAM,EACN,GAAG,EACH,QAAQ,GAAG,CAAC,EACZ,OAAO,GAAG,CAAC,EACX,mBAAmB,EACnB,qBAAqB,GAAG,IAAI,EAAE,yBAAyB;IACvD,eAAe,GAAG,eAAe,CAAC,UAAU,EAAE,0BAA0B;IACxE,UAAU,GAAG,CAAC,EAAE,mBAAmB;IACnC,UAAU,EACV,cAAc,GACd,GAAG,MAAM,CAAC;IAEX,sBAAsB;IACtB,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IAClE,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC7D,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAC/D,CAAC;IACD,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,qBAAqB,GAAG,IAAI,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACnE,CAAC;IACD,IAAI,UAAU,GAAG,CAAC,IAAI,UAAU,GAAG,IAAI,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACvE,CAAC;IACD,IAAI,UAAU,GAAG,qBAAqB,GAAG,IAAI,EAAE,CAAC;QAC/C,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC5E,CAAC;IACD,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC3E,CAAC;IACD,uDAAuD;IACvD,IAAI,UAAU,IAAI,CAAC,cAAc,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,UAAU,IAAI,CAAC,cAAe,GAAG,CAAC,IAAI,cAAe,GAAG,GAAG,CAAC,EAAE,CAAC;QAClE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC7D,CAAC;IAED,4BAA4B;IAC5B,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IACvC,MAAM,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC;IAExC,cAAc;IACd,MAAM,YAAY,GAAG,kBAAkB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAC9D,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;IACzE,MAAM,UAAU,GAAG,gBAAgB,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;IAC7D,MAAM,YAAY,GAAG,kBAAkB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAC9D,MAAM,SAAS,GAAG,eAAe,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAExD,yBAAyB;IACzB,6EAA6E;IAC7E,uGAAuG;IACvG,mFAAmF;IACnF,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;QAC1B,cAAc,CAAC,sBAAsB;QACrC,OAAO,CAAC,QAAQ,CAAC;QACjB,OAAO,CAAC,OAAO,CAAC;QAChB,WAAW,CAAC,mBAAmB,CAAC;QAChC,UAAU,CAAC,qBAAqB,CAAC;QACjC,OAAO,CAAC,eAAe,CAAC;QACxB,WAAW,CAAC,IAAI,CAAC;QACjB,WAAW,CAAC,MAAM,CAAC;QACnB,WAAW,CAAC,GAAG,CAAC;QAChB,UAAU,CAAC,UAAU,CAAC;QACtB,kBAAkB,CAAC,UAAU,CAAC;QAC9B,aAAa,CAAC,cAAc,CAAC;KAC7B,CAAC,CAAC;IAEH,yFAAyF;IACzF,MAAM,QAAQ,GAAG,IAAI,sBAAsB,CAAC;QAC3C,SAAS;QACT,IAAI,EAAE;YACL,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE;YACvD,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE;YAC3D,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE;YACzD,EAAE,MAAM,EAAE,gBAAgB,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE;YAChE,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE;YAC3D,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE;YACxD,EAAE,MAAM,EAAE,mBAAmB,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,kBAAkB;YACvF,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE;YACnD,EAAE,MAAM,EAAE,aAAa,CAAC,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE;YACvE,EAAE,MAAM,EAAE,qBAAqB,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE;SACrE;QACD,IAAI;KACJ,CAAC,CAAC;IAEH,OAAO;QACN,YAAY,EAAE,CAAC,QAAQ,CAAC;QACxB,WAAW;KACX,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,oCAAoC,CACnD,MAAkC,EAClC,SAAoB,EACpB,OAAgB;IAOhB,MAAM,EACL,KAAK,EACL,OAAO,EACP,IAAI,EACJ,MAAM,EACN,GAAG,EACH,OAAO,GAAG,mBAAmB,CAAC,QAAQ,EACtC,qBAAqB,GAAG,IAAI,EAAE,sCAAsC;IACpE,oBAAoB,GAAG,EAAE,EAAE,wBAAwB;MACnD,GAAG,MAAM,CAAC;IAEX,sBAAsB;IACtB,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC7D,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAC/D,CAAC;IACD,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC7D,CAAC;IACD,qGAAqG;IACrG,IAAI,qBAAqB,GAAG,CAAC,IAAI,qBAAqB,GAAG,IAAI,EAAE,CAAC;QAC/D,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;IACnF,CAAC;IAED,wBAAwB;IACxB,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IACvC,MAAM,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC;IAExC,eAAe;IACf,MAAM,KAAK,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAE5C,+BAA+B;IAC/B,yGAAyG;IACzG,MAAM,iBAAiB,GAAG,6BAA6B,CACtD,SAAS,EACT,KAAK,EACL,KAAK,EAAE,qBAAqB;IAC5B,qBAAqB,CAAC,oBAAoB;KAC1C,CAAC;IAEF,cAAc;IACd,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAElF,yBAAyB;IACzB,2IAA2I;IAC3I,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;QAC1B,cAAc,CAAC,uBAAuB;QACtC,WAAW,CAAC,IAAI,CAAC;QACjB,WAAW,CAAC,MAAM,CAAC;QACnB,WAAW,CAAC,GAAG,CAAC;QAChB,OAAO,CAAC,OAAO,CAAC;QAChB,UAAU,CAAC,qBAAqB,CAAC;QACjC,UAAU,CAAC,oBAAoB,CAAC;KAChC,CAAC,CAAC;IAEH,6DAA6D;IAC7D,MAAM,QAAQ,GAAG,IAAI,sBAAsB,CAAC;QAC3C,SAAS;QACT,IAAI,EAAE;YACL,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE;YACvD,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE;YAC3D,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE;YAC7D,EAAE,MAAM,EAAE,iBAAiB,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,gBAAgB;YAClF,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE;YACvD,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE;YACnD,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE;YACpD,EAAE,MAAM,EAAE,aAAa,CAAC,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE;YACvE,EAAE,MAAM,EAAE,qBAAqB,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE;YACrE,EAAE,MAAM,EAAE,2BAA2B,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE;SAC3E;QACD,IAAI;KACJ,CAAC,CAAC;IAEH,OAAO;QACN,YAAY,EAAE,CAAC,QAAQ,CAAC;QACxB,WAAW;QACX,iBAAiB;KACjB,CAAC;AACH,CAAC"}
|
package/dist/fees.d.ts
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fee Extension & Distribution Instructions
|
|
3
|
+
* For setting up burn fees and multi-recipient fee distribution on bonding curve tokens
|
|
4
|
+
*/
|
|
5
|
+
import { PublicKey, TransactionInstruction } from '@solana/web3.js';
|
|
6
|
+
import type { InitFeeExtensionParams, InitFeeDistributionConfigParams } from './types.js';
|
|
7
|
+
/**
|
|
8
|
+
* Build init_fee_extension instruction
|
|
9
|
+
*
|
|
10
|
+
* Initializes a fee extension account for a bonding curve token.
|
|
11
|
+
* This allows setting burn_fee_bps (0-5000 = 0-50% of TOTAL fee).
|
|
12
|
+
*
|
|
13
|
+
* Requirements:
|
|
14
|
+
* - Token must be on bonding curve (not yet graduated)
|
|
15
|
+
* - Creator must be the creator_fee_recipient of the bonding curve
|
|
16
|
+
* - burn_fee_bps + trader_rewards_share_bps must be <= 5000
|
|
17
|
+
*
|
|
18
|
+
* @param params - Fee extension parameters
|
|
19
|
+
* @param programId - CoinBarrel program ID
|
|
20
|
+
* @returns Transaction instruction
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```typescript
|
|
24
|
+
* const ix = buildInitFeeExtensionInstruction({
|
|
25
|
+
* tokenMint: new PublicKey('...'),
|
|
26
|
+
* creator: wallet.publicKey,
|
|
27
|
+
* burnFeeBps: 1000, // 10% burn (of TOTAL fee)
|
|
28
|
+
* }, programId);
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
export declare function buildInitFeeExtensionInstruction(params: InitFeeExtensionParams, programId: PublicKey): TransactionInstruction;
|
|
32
|
+
/**
|
|
33
|
+
* Build initialize_fee_config instruction
|
|
34
|
+
*
|
|
35
|
+
* Initializes a fee distribution config for multi-recipient creator fees.
|
|
36
|
+
* Uses a merkle tree to allow multiple recipients to claim their share.
|
|
37
|
+
*
|
|
38
|
+
* Requirements:
|
|
39
|
+
* - Token must be on bonding curve (not yet graduated)
|
|
40
|
+
* - Creator must be the creator_fee_recipient of the bonding curve
|
|
41
|
+
* - This is LOCKED after creation - recipients cannot be changed
|
|
42
|
+
*
|
|
43
|
+
* @param params - Fee config parameters
|
|
44
|
+
* @param programId - CoinBarrel program ID
|
|
45
|
+
* @returns Transaction instruction
|
|
46
|
+
*
|
|
47
|
+
* @example
|
|
48
|
+
* ```typescript
|
|
49
|
+
* const ix = buildInitFeeDistributionConfigInstruction({
|
|
50
|
+
* tokenMint: new PublicKey('...'),
|
|
51
|
+
* creator: wallet.publicKey,
|
|
52
|
+
* merkleRoot: new Uint8Array(32), // Computed from recipients
|
|
53
|
+
* recipientCount: 3,
|
|
54
|
+
* }, programId);
|
|
55
|
+
* ```
|
|
56
|
+
*/
|
|
57
|
+
export declare function buildInitFeeDistributionConfigInstruction(params: InitFeeDistributionConfigParams, programId: PublicKey): TransactionInstruction;
|
|
58
|
+
//# sourceMappingURL=fees.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fees.d.ts","sourceRoot":"","sources":["../src/fees.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACN,SAAS,EAET,sBAAsB,EACtB,MAAM,iBAAiB,CAAC;AAIzB,OAAO,KAAK,EAAE,sBAAsB,EAAE,+BAA+B,EAAE,MAAM,YAAY,CAAC;AAkB1F;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,gCAAgC,CAC/C,MAAM,EAAE,sBAAsB,EAC9B,SAAS,EAAE,SAAS,GAClB,sBAAsB,CAmCxB;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,yCAAyC,CACxD,MAAM,EAAE,+BAA+B,EACvC,SAAS,EAAE,SAAS,GAClB,sBAAsB,CAyCxB"}
|