@metaplex-foundation/genesis 0.26.1 → 0.27.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.
@@ -1,22 +1,55 @@
1
1
  import { Umi } from '@metaplex-foundation/umi';
2
2
  import { CreateAndRegisterLaunchResult, CreateLaunchInput, CreateLaunchResponse, GenesisApiConfig, RegisterLaunchInput, RegisterLaunchResponse, SignAndSendOptions } from './types';
3
3
  /**
4
- * Creates a project launch via the Genesis API.
4
+ * Creates a project launch via the Metaplex API.
5
5
  *
6
6
  * Returns deserialized Umi transactions that can be signed and sent
7
7
  * using standard Umi methods before calling {@link registerLaunch}.
8
8
  *
9
- * @example
9
+ * @example Bonding curve launch
10
+ * ```ts
11
+ * const result = await createLaunch(umi, {}, {
12
+ * wallet: umi.identity.publicKey,
13
+ * launchType: 'bondingCurve',
14
+ * token: { name: 'My Token', symbol: 'MTK', image: 'https://gateway.irys.xyz/...' },
15
+ * launch: {},
16
+ * });
17
+ * ```
18
+ *
19
+ * @example Bonding curve launch with a direct creator fee wallet
20
+ * ```ts
21
+ * const result = await createLaunch(umi, {}, {
22
+ * wallet: umi.identity.publicKey,
23
+ * launchType: 'bondingCurve',
24
+ * token: { name: 'My Token', symbol: 'MTK', image: 'https://gateway.irys.xyz/...' },
25
+ * launch: { creatorFeeWallet: 'CreatorWalletAddress...' },
26
+ * });
27
+ * ```
28
+ *
29
+ * @example Bonding curve launch with agent-derived creator fees
30
+ * ```ts
31
+ * const result = await createLaunch(umi, {}, {
32
+ * wallet: umi.identity.publicKey,
33
+ * launchType: 'bondingCurve',
34
+ * token: { name: 'Agent Token', symbol: 'AGT', image: 'https://gateway.irys.xyz/...' },
35
+ * launch: { creatorFeeAgentMint: agentAssetAddress },
36
+ * });
37
+ * ```
38
+ *
39
+ * @example Launchpool launch
10
40
  * ```ts
11
- * const result = await createLaunch({}, umi, {
41
+ * const result = await createLaunch(umi, {}, {
12
42
  * wallet: umi.identity.publicKey,
43
+ * launchType: 'launchpool',
13
44
  * token: { name: 'My Token', symbol: 'MTK', image: 'https://gateway.irys.xyz/...' },
14
- * launchpool: {
15
- * tokenAllocation: 500_000_000,
16
- * depositStartTime: new Date('2026-03-01T00:00:00Z'),
17
- * raiseGoal: 250,
18
- * raydiumLiquidityBps: 5000,
19
- * fundsRecipient: 'RecipientWallet...',
45
+ * launch: {
46
+ * launchpool: {
47
+ * tokenAllocation: 500_000_000,
48
+ * depositStartTime: new Date('2026-03-01T00:00:00Z'),
49
+ * raiseGoal: 250,
50
+ * raydiumLiquidityBps: 5000,
51
+ * fundsRecipient: 'RecipientWallet...',
52
+ * },
20
53
  * },
21
54
  * });
22
55
  *
@@ -43,28 +76,51 @@ export declare function createLaunch(umi: Umi, configInput: GenesisApiConfig | u
43
76
  * console.log(`Launch live at: ${registered.launch.link}`);
44
77
  * ```
45
78
  */
46
- export declare function registerLaunch(_umi: Umi, configInput: GenesisApiConfig | undefined | null, input: RegisterLaunchInput): Promise<RegisterLaunchResponse>;
79
+ export declare function registerLaunch(umi: Umi, configInput: GenesisApiConfig | undefined | null, input: RegisterLaunchInput): Promise<RegisterLaunchResponse>;
47
80
  /**
48
81
  * High-level convenience method that orchestrates the full launch flow:
49
82
  *
50
- * 1. Creates the launch via the Genesis API (get unsigned transactions)
83
+ * 1. Creates the launch via the Metaplex API (get unsigned transactions)
51
84
  * 2. Signs and sends all transactions to the Solana RPC via Umi
52
85
  * 3. Registers the launch
53
86
  *
54
- * @example
87
+ * @example Bonding curve launch with a direct creator fee wallet
55
88
  * ```ts
56
- * const result = await createAndRegisterLaunch({}, umi, {
89
+ * const result = await createAndRegisterLaunch(umi, {}, {
57
90
  * wallet: umi.identity.publicKey,
91
+ * launchType: 'bondingCurve',
58
92
  * token: { name: 'My Token', symbol: 'MTK', image: 'https://gateway.irys.xyz/...' },
59
- * launchpool: {
60
- * tokenAllocation: 500_000_000,
61
- * depositStartTime: new Date('2026-03-01T00:00:00Z'),
62
- * raiseGoal: 250,
63
- * raydiumLiquidityBps: 5000,
64
- * fundsRecipient: 'RecipientWallet...',
65
- * },
93
+ * launch: { creatorFeeWallet: 'CreatorWalletAddress...' },
66
94
  * });
67
95
  * console.log(`Launch live at: ${result.launch.link}`);
68
96
  * ```
97
+ *
98
+ * @example Bonding curve launch with agent-derived creator fees
99
+ * ```ts
100
+ * const result = await createAndRegisterLaunch(umi, {}, {
101
+ * wallet: umi.identity.publicKey,
102
+ * launchType: 'bondingCurve',
103
+ * token: { name: 'Agent Token', symbol: 'AGT', image: 'https://gateway.irys.xyz/...' },
104
+ * launch: { creatorFeeAgentMint: agentAssetAddress },
105
+ * });
106
+ * ```
107
+ *
108
+ * @example Launchpool launch
109
+ * ```ts
110
+ * const result = await createAndRegisterLaunch(umi, {}, {
111
+ * wallet: umi.identity.publicKey,
112
+ * launchType: 'launchpool',
113
+ * token: { name: 'My Token', symbol: 'MTK', image: 'https://gateway.irys.xyz/...' },
114
+ * launch: {
115
+ * launchpool: {
116
+ * tokenAllocation: 500_000_000,
117
+ * depositStartTime: new Date('2026-03-01T00:00:00Z'),
118
+ * raiseGoal: 250,
119
+ * raydiumLiquidityBps: 5000,
120
+ * fundsRecipient: 'RecipientWallet...',
121
+ * },
122
+ * },
123
+ * });
124
+ * ```
69
125
  */
70
126
  export declare function createAndRegisterLaunch(umi: Umi, config: GenesisApiConfig | undefined | null, input: CreateLaunchInput, signAndSendOptions?: SignAndSendOptions): Promise<CreateAndRegisterLaunchResult>;
@@ -1,11 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createAndRegisterLaunch = exports.registerLaunch = exports.createLaunch = void 0;
4
+ const umi_1 = require("@metaplex-foundation/umi");
4
5
  const serializers_1 = require("@metaplex-foundation/umi/serializers");
5
6
  const payloadBuilder_1 = require("./payloadBuilder");
6
7
  const transactionHelper_1 = require("./transactionHelper");
7
8
  const errors_1 = require("./errors");
8
9
  const DEFAULT_BASE_URL = 'https://api.metaplex.com';
10
+ const AGENT_IDENTITY_PROGRAM_ID = '1DREGFgysWYxLnRnKQnwrxnJQeSMk2HmGaC6whw2B2p';
9
11
  function resolveBaseUrl(config) {
10
12
  return config.baseUrl ?? DEFAULT_BASE_URL;
11
13
  }
@@ -13,22 +15,92 @@ function toKeyString(key) {
13
15
  return typeof key === 'string' ? key : key.toString();
14
16
  }
15
17
  /**
16
- * Creates a project launch via the Genesis API.
18
+ * Derives the agent identity PDA from an agent NFT mint address.
19
+ * Seeds: `['agent_identity', <asset_pubkey>]`
20
+ */
21
+ function deriveAgentIdentityPda(umi, agentMint) {
22
+ const programId = (0, umi_1.publicKey)(AGENT_IDENTITY_PROGRAM_ID);
23
+ const mintKey = typeof agentMint === 'string' ? (0, umi_1.publicKey)(agentMint) : agentMint;
24
+ const [pdaKey] = umi.eddsa.findPda(programId, [
25
+ (0, serializers_1.string)({ size: 'variable' }).serialize('agent_identity'),
26
+ (0, serializers_1.publicKey)().serialize(mintKey),
27
+ ]);
28
+ return pdaKey.toString();
29
+ }
30
+ /**
31
+ * For bonding curves, resolves `creatorFeeAgentMint` → `creatorFeeWallet`
32
+ * on the launch config. Validates that both are not set simultaneously.
33
+ */
34
+ function resolveCreatorFee(umi, input) {
35
+ if (input.launchType !== 'bondingCurve')
36
+ return input;
37
+ const { creatorFeeWallet, creatorFeeAgentMint } = input.launch;
38
+ if (creatorFeeWallet && creatorFeeAgentMint) {
39
+ throw (0, errors_1.genesisValidationError)('Cannot specify both creatorFeeWallet and creatorFeeAgentMint. ' +
40
+ 'Use creatorFeeAgentMint to derive the agent PDA as the creator ' +
41
+ 'fee recipient, or creatorFeeWallet for a direct wallet address.', 'launch.creatorFeeWallet');
42
+ }
43
+ if (creatorFeeAgentMint) {
44
+ return {
45
+ ...input,
46
+ launch: {
47
+ ...input.launch,
48
+ creatorFeeWallet: deriveAgentIdentityPda(umi, creatorFeeAgentMint),
49
+ },
50
+ };
51
+ }
52
+ return input;
53
+ }
54
+ /**
55
+ * Creates a project launch via the Metaplex API.
17
56
  *
18
57
  * Returns deserialized Umi transactions that can be signed and sent
19
58
  * using standard Umi methods before calling {@link registerLaunch}.
20
59
  *
21
- * @example
60
+ * @example Bonding curve launch
61
+ * ```ts
62
+ * const result = await createLaunch(umi, {}, {
63
+ * wallet: umi.identity.publicKey,
64
+ * launchType: 'bondingCurve',
65
+ * token: { name: 'My Token', symbol: 'MTK', image: 'https://gateway.irys.xyz/...' },
66
+ * launch: {},
67
+ * });
68
+ * ```
69
+ *
70
+ * @example Bonding curve launch with a direct creator fee wallet
71
+ * ```ts
72
+ * const result = await createLaunch(umi, {}, {
73
+ * wallet: umi.identity.publicKey,
74
+ * launchType: 'bondingCurve',
75
+ * token: { name: 'My Token', symbol: 'MTK', image: 'https://gateway.irys.xyz/...' },
76
+ * launch: { creatorFeeWallet: 'CreatorWalletAddress...' },
77
+ * });
78
+ * ```
79
+ *
80
+ * @example Bonding curve launch with agent-derived creator fees
81
+ * ```ts
82
+ * const result = await createLaunch(umi, {}, {
83
+ * wallet: umi.identity.publicKey,
84
+ * launchType: 'bondingCurve',
85
+ * token: { name: 'Agent Token', symbol: 'AGT', image: 'https://gateway.irys.xyz/...' },
86
+ * launch: { creatorFeeAgentMint: agentAssetAddress },
87
+ * });
88
+ * ```
89
+ *
90
+ * @example Launchpool launch
22
91
  * ```ts
23
- * const result = await createLaunch({}, umi, {
92
+ * const result = await createLaunch(umi, {}, {
24
93
  * wallet: umi.identity.publicKey,
94
+ * launchType: 'launchpool',
25
95
  * token: { name: 'My Token', symbol: 'MTK', image: 'https://gateway.irys.xyz/...' },
26
- * launchpool: {
27
- * tokenAllocation: 500_000_000,
28
- * depositStartTime: new Date('2026-03-01T00:00:00Z'),
29
- * raiseGoal: 250,
30
- * raydiumLiquidityBps: 5000,
31
- * fundsRecipient: 'RecipientWallet...',
96
+ * launch: {
97
+ * launchpool: {
98
+ * tokenAllocation: 500_000_000,
99
+ * depositStartTime: new Date('2026-03-01T00:00:00Z'),
100
+ * raiseGoal: 250,
101
+ * raydiumLiquidityBps: 5000,
102
+ * fundsRecipient: 'RecipientWallet...',
103
+ * },
32
104
  * },
33
105
  * });
34
106
  *
@@ -41,7 +113,8 @@ function toKeyString(key) {
41
113
  */
42
114
  async function createLaunch(umi, configInput, input) {
43
115
  const config = configInput ?? {};
44
- const payload = (0, payloadBuilder_1.buildCreateLaunchPayload)(input);
116
+ const resolved = resolveCreatorFee(umi, input);
117
+ const payload = (0, payloadBuilder_1.buildCreateLaunchPayload)(resolved);
45
118
  const fetchFn = config.fetch ?? globalThis.fetch;
46
119
  const baseUrl = resolveBaseUrl(config);
47
120
  let response;
@@ -97,14 +170,15 @@ exports.createLaunch = createLaunch;
97
170
  * console.log(`Launch live at: ${registered.launch.link}`);
98
171
  * ```
99
172
  */
100
- async function registerLaunch(_umi, configInput, input) {
173
+ async function registerLaunch(umi, configInput, input) {
101
174
  const config = configInput ?? {};
102
175
  const fetchFn = config.fetch ?? globalThis.fetch;
103
176
  const baseUrl = resolveBaseUrl(config);
104
- const payload = (0, payloadBuilder_1.buildCreateLaunchPayload)(input.createLaunchInput);
177
+ const resolvedInput = resolveCreatorFee(umi, input.createLaunchInput);
178
+ const payload = (0, payloadBuilder_1.buildCreateLaunchPayload)(resolvedInput);
105
179
  const requestBody = {
106
180
  genesisAccount: toKeyString(input.genesisAccount),
107
- network: input.createLaunchInput.network ?? 'solana-mainnet',
181
+ network: resolvedInput.network ?? 'solana-mainnet',
108
182
  ...(input.creatorWallet
109
183
  ? { creatorWallet: toKeyString(input.creatorWallet) }
110
184
  : {}),
@@ -145,25 +219,48 @@ exports.registerLaunch = registerLaunch;
145
219
  /**
146
220
  * High-level convenience method that orchestrates the full launch flow:
147
221
  *
148
- * 1. Creates the launch via the Genesis API (get unsigned transactions)
222
+ * 1. Creates the launch via the Metaplex API (get unsigned transactions)
149
223
  * 2. Signs and sends all transactions to the Solana RPC via Umi
150
224
  * 3. Registers the launch
151
225
  *
152
- * @example
226
+ * @example Bonding curve launch with a direct creator fee wallet
153
227
  * ```ts
154
- * const result = await createAndRegisterLaunch({}, umi, {
228
+ * const result = await createAndRegisterLaunch(umi, {}, {
155
229
  * wallet: umi.identity.publicKey,
230
+ * launchType: 'bondingCurve',
156
231
  * token: { name: 'My Token', symbol: 'MTK', image: 'https://gateway.irys.xyz/...' },
157
- * launchpool: {
158
- * tokenAllocation: 500_000_000,
159
- * depositStartTime: new Date('2026-03-01T00:00:00Z'),
160
- * raiseGoal: 250,
161
- * raydiumLiquidityBps: 5000,
162
- * fundsRecipient: 'RecipientWallet...',
163
- * },
232
+ * launch: { creatorFeeWallet: 'CreatorWalletAddress...' },
164
233
  * });
165
234
  * console.log(`Launch live at: ${result.launch.link}`);
166
235
  * ```
236
+ *
237
+ * @example Bonding curve launch with agent-derived creator fees
238
+ * ```ts
239
+ * const result = await createAndRegisterLaunch(umi, {}, {
240
+ * wallet: umi.identity.publicKey,
241
+ * launchType: 'bondingCurve',
242
+ * token: { name: 'Agent Token', symbol: 'AGT', image: 'https://gateway.irys.xyz/...' },
243
+ * launch: { creatorFeeAgentMint: agentAssetAddress },
244
+ * });
245
+ * ```
246
+ *
247
+ * @example Launchpool launch
248
+ * ```ts
249
+ * const result = await createAndRegisterLaunch(umi, {}, {
250
+ * wallet: umi.identity.publicKey,
251
+ * launchType: 'launchpool',
252
+ * token: { name: 'My Token', symbol: 'MTK', image: 'https://gateway.irys.xyz/...' },
253
+ * launch: {
254
+ * launchpool: {
255
+ * tokenAllocation: 500_000_000,
256
+ * depositStartTime: new Date('2026-03-01T00:00:00Z'),
257
+ * raiseGoal: 250,
258
+ * raydiumLiquidityBps: 5000,
259
+ * fundsRecipient: 'RecipientWallet...',
260
+ * },
261
+ * },
262
+ * });
263
+ * ```
167
264
  */
168
265
  async function createAndRegisterLaunch(umi, config, input, signAndSendOptions) {
169
266
  const createResult = await createLaunch(umi, config, input);
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/api/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/api/client.ts"],"names":[],"mappings":"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"}
@@ -3,4 +3,4 @@ export { buildCreateLaunchPayload } from './payloadBuilder';
3
3
  export { signAndSendLaunchTransactions } from './transactionHelper';
4
4
  export type { GenesisApiError, GenesisApiNetworkError, GenesisValidationError, } from './errors';
5
5
  export { genesisApiError, genesisApiNetworkError, genesisValidationError, isGenesisApiError, isGenesisApiNetworkError, isGenesisValidationError, } from './errors';
6
- export type { GenesisApiConfig, CreateLaunchInput, CreateLaunchpoolLaunchInput, CreateBondingCurveLaunchInput, CreateLaunchResponse, RegisterLaunchInput, RegisterLaunchResponse, CreateAndRegisterLaunchResult, SignAndSendOptions, SvmNetwork, TokenMetadata, LaunchpoolConfig, BondingCurveConfig, LaunchpoolLaunchInput, BondingCurveLaunchInput, LockedAllocation, CliffUnlockAmount, ExternalLinks, TimeUnit, QuoteMintInput, CreateLaunchType, } from './types';
6
+ export type { GenesisApiConfig, CreateLaunchInput, CreateLaunchpoolLaunchInput, CreateBondingCurveLaunchInput, CreateLaunchResponse, RegisterLaunchInput, RegisterLaunchResponse, CreateAndRegisterLaunchResult, SignAndSendOptions, SvmNetwork, TokenMetadata, LaunchpoolConfig, LaunchpoolLaunchInput, BondingCurveLaunchInput, LockedAllocation, CliffUnlockAmount, ExternalLinks, TimeUnit, QuoteMintInput, CreateLaunchType, } from './types';
@@ -4,6 +4,7 @@ import { CreateLaunchInput, SvmNetwork } from './types';
4
4
  */
5
5
  export declare function buildCreateLaunchPayload(input: CreateLaunchInput): {
6
6
  wallet: string;
7
+ buildAllTx: boolean;
7
8
  launch: {
8
9
  publicKey: string;
9
10
  network: SvmNetwork;
@@ -11,6 +11,11 @@ const DECIMALS = 6;
11
11
  const LAUNCHPOOL_DEPOSIT_DURATION_MS = 48 * 60 * 60 * 1000; // 48 hours
12
12
  const RAYDIUM_MIN_BPS = 2000;
13
13
  const DEFAULT_UNLOCKED_BUCKET_NAME = 'Creator Allocation';
14
+ // ── Bonding Curve Defaults ──────────────────────────────────────────────────
15
+ const BC_SUPPLY = 793100000;
16
+ const BC_RAYDIUM_LP_SUPPLY = 206900000;
17
+ const BC_VIRTUAL_BASE_TOKENS = 279900000;
18
+ const BC_VIRTUAL_QUOTE_TOKENS = 30;
14
19
  // ── Launchpool Bonus/Penalty Defaults ───────────────────────────────────────
15
20
  const LAUNCHPOOL_DEPOSIT_BONUS = {
16
21
  enabled: true,
@@ -150,6 +155,7 @@ function buildCommonPayloadFields(input) {
150
155
  function assemblePayload(input, walletStr, network, quoteMint, allocations) {
151
156
  return {
152
157
  wallet: walletStr,
158
+ buildAllTx: true,
153
159
  launch: {
154
160
  type: input.launchType,
155
161
  name: input.token.name,
@@ -191,13 +197,14 @@ function buildLaunchpoolPayload(input) {
191
197
  const raydiumBps = launchpool.raydiumLiquidityBps;
192
198
  const unlockedBps = TOTAL_BPS - raydiumBps;
193
199
  const raydiumLpSupply = (launchpool.tokenAllocation * raydiumBps) / TOTAL_BPS;
200
+ const fundsRecipient = toKeyString(launchpool.fundsRecipient);
194
201
  const fundFlows = [
195
202
  {
196
203
  type: 'UnlockedFunds',
197
204
  name: 'Unlocked',
198
205
  supply: 0,
199
206
  percentageBps: unlockedBps,
200
- recipient: toKeyString(launchpool.fundsRecipient),
207
+ recipient: fundsRecipient,
201
208
  claimStartCondition,
202
209
  claimEndCondition,
203
210
  },
@@ -276,12 +283,13 @@ function buildLaunchpoolPayload(input) {
276
283
  }
277
284
  const remainingSupply = TOTAL_SUPPLY - totalAllocated;
278
285
  if (remainingSupply > 0) {
286
+ const unlockedRecipient = walletStr;
279
287
  allocations.push({
280
288
  type: 'unlockedV2',
281
289
  name: DEFAULT_UNLOCKED_BUCKET_NAME,
282
290
  supply: remainingSupply,
283
291
  unlockedV2: {
284
- recipient: walletStr,
292
+ recipient: unlockedRecipient,
285
293
  claimStartCondition,
286
294
  claimEndCondition,
287
295
  },
@@ -289,6 +297,62 @@ function buildLaunchpoolPayload(input) {
289
297
  }
290
298
  return assemblePayload(input, walletStr, network, quoteMint, allocations);
291
299
  }
300
+ function buildBondingCurvePayload(input) {
301
+ validateTokenMetadata(input);
302
+ const { network, quoteMint, walletStr } = buildCommonPayloadFields(input);
303
+ const swapStartCondition = { type: 'Always' };
304
+ const swapEndCondition = { type: 'Triggered' };
305
+ const creatorFeeWallet = input.launch.creatorFeeWallet
306
+ ? toKeyString(input.launch.creatorFeeWallet)
307
+ : undefined;
308
+ const firstBuyAmount = input.launch.firstBuyAmount ?? 0;
309
+ const allocations = [
310
+ {
311
+ type: 'bondingCurveV2',
312
+ name: 'Bonding Curve',
313
+ supply: BC_SUPPLY,
314
+ bondingCurveV2: {
315
+ swapStartCondition,
316
+ swapEndCondition,
317
+ virtualBaseTokens: BC_VIRTUAL_BASE_TOKENS,
318
+ virtualQuoteTokens: BC_VIRTUAL_QUOTE_TOKENS,
319
+ firstBuy: firstBuyAmount > 0
320
+ ? {
321
+ enabled: true,
322
+ buyer: walletStr,
323
+ amount: firstBuyAmount,
324
+ }
325
+ : { enabled: false },
326
+ creatorFee: creatorFeeWallet
327
+ ? { enabled: true, wallet: creatorFeeWallet }
328
+ : { enabled: false },
329
+ fundFlows: [
330
+ {
331
+ type: 'RaydiumLP',
332
+ name: 'Liquidity Pool',
333
+ supply: BC_RAYDIUM_LP_SUPPLY,
334
+ percentageBps: TOTAL_BPS,
335
+ startCondition: { type: 'Always' },
336
+ // Bonding curve Raydium LP: lpLockSchedule uses startCondition and
337
+ // cliffCondition type Never so no LP tokens are ever subject to a
338
+ // lock/vest schedule. duration and period are required by the API
339
+ // (1/1); they are not arbitrary placeholders—they pair with Never
340
+ // to express a deliberate never-lock schedule.
341
+ lpLockSchedule: {
342
+ enabled: true,
343
+ startCondition: { type: 'Never' },
344
+ duration: 1,
345
+ period: 1,
346
+ cliffCondition: { type: 'Never' },
347
+ cliffAmountBps: 0,
348
+ },
349
+ },
350
+ ],
351
+ },
352
+ },
353
+ ];
354
+ return assemblePayload(input, walletStr, network, quoteMint, allocations);
355
+ }
292
356
  /**
293
357
  * Builds the API payload for `/v1/launches/create` from simplified input.
294
358
  */
@@ -296,6 +360,8 @@ function buildCreateLaunchPayload(input) {
296
360
  switch (input.launchType) {
297
361
  case 'launchpool':
298
362
  return buildLaunchpoolPayload(input);
363
+ case 'bondingCurve':
364
+ return buildBondingCurvePayload(input);
299
365
  default:
300
366
  throw (0, errors_1.genesisValidationError)(`Unsupported launch type: ${input.launchType}`, 'launchType');
301
367
  }
@@ -1 +1 @@
1
- {"version":3,"file":"payloadBuilder.js","sourceRoot":"","sources":["../../../src/api/payloadBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"payloadBuilder.js","sourceRoot":"","sources":["../../../src/api/payloadBuilder.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ export type TimeUnit = 'SECOND' | 'MINUTE' | 'HOUR' | 'DAY' | 'WEEK' | 'TWO_WEEK
6
6
  * The SDK resolves friendly names to the correct mint address per network.
7
7
  */
8
8
  export type QuoteMintInput = 'SOL' | 'USDC';
9
- export type CreateLaunchType = 'launchpool';
9
+ export type CreateLaunchType = 'launchpool' | 'bondingCurve';
10
10
  export interface ExternalLinks {
11
11
  /** Website URL */
12
12
  website?: string;
@@ -54,13 +54,6 @@ export interface LaunchpoolConfig {
54
54
  */
55
55
  fundsRecipient: PublicKey | string;
56
56
  }
57
- export interface BondingCurveConfig {
58
- /**
59
- * When the deposit period opens.
60
- * The deposit period lasts exactly 48 hours from this time.
61
- */
62
- depositStartTime: Date | string;
63
- }
64
57
  /**
65
58
  * Cliff unlock amount configuration.
66
59
  * - `'linear'` or `{ type: 'linear' }`: Uses linear vesting calculation for cliff amount
@@ -148,13 +141,37 @@ export interface LaunchpoolLaunchInput {
148
141
  }
149
142
  /**
150
143
  * Input for creating a bonding curve launch.
144
+ *
145
+ * All protocol parameters (supply splits, virtual token amounts, fund flows,
146
+ * lock schedules) are set to protocol defaults automatically.
151
147
  */
152
148
  export interface BondingCurveLaunchInput {
153
- /** Bonding curve (primary sale mechanism) configuration */
154
- bondingCurve: BondingCurveConfig;
149
+ /**
150
+ * Direct wallet address to receive creator fees.
151
+ * Use this when the fee recipient is a regular wallet (not an agent).
152
+ *
153
+ * Mutually exclusive with {@link creatorFeeAgentMint}.
154
+ */
155
+ creatorFeeWallet?: PublicKey | string;
156
+ /**
157
+ * Agent NFT mint address. When provided, the SDK derives the agent
158
+ * identity PDA (from the mpl-agent-identity program) and uses it as
159
+ * the creator fee wallet.
160
+ *
161
+ * Mutually exclusive with {@link creatorFeeWallet}.
162
+ */
163
+ creatorFeeAgentMint?: PublicKey | string;
164
+ /**
165
+ * Quote-token amount (in lamports) for a mandatory first buy by the
166
+ * launching wallet. When a nonzero value is provided, the first swap on the
167
+ * bonding curve must come from the launching wallet for exactly this amount.
168
+ *
169
+ * Omit or set to `0` to disable the first-buy restriction.
170
+ */
171
+ firstBuyAmount?: number;
155
172
  }
156
173
  export interface GenesisApiConfig {
157
- /** Base URL of the Genesis API. Defaults to 'https://api.metaplex.com'. */
174
+ /** Base URL of the Metaplex API. Defaults to 'https://api.metaplex.com'. */
158
175
  baseUrl?: string;
159
176
  /** Custom fetch implementation. Defaults to globalThis.fetch. */
160
177
  fetch?: typeof globalThis.fetch;
@@ -164,7 +181,12 @@ export interface RegisterLaunchInput {
164
181
  genesisAccount: PublicKey | string;
165
182
  /** The original create launch input, used to reconstruct the payload for validation */
166
183
  createLaunchInput: CreateLaunchInput;
167
- /** Optional creator wallet override (if different from createLaunchInput.wallet) */
184
+ /**
185
+ * Optional launch owner override for registration (if different from
186
+ * `createLaunchInput.wallet`). Do not use this for bonding curve creator
187
+ * fee recipients; those are set via `launch.creatorFeeWallet` /
188
+ * `launch.creatorFeeAgentMint` on the create payload only.
189
+ */
168
190
  creatorWallet?: PublicKey | string;
169
191
  /** Optional Twitter verification token for verified badge */
170
192
  twitterVerificationToken?: string;
@@ -1,4 +1,4 @@
1
- import { BondingCurveBucketV1, SwapDirection } from './generated';
1
+ import { BondingCurveBucketV2, SwapDirection } from './generated';
2
2
  /**
3
3
  * Calculate the output amount for a given input amount on a bonding curve.
4
4
  * This function determines how much of the output asset you'll receive for a given input amount.
@@ -10,7 +10,7 @@ import { BondingCurveBucketV1, SwapDirection } from './generated';
10
10
  * @returns The output amount you'll receive from the swap
11
11
  * @throws Error if the bonding curve type is unsupported or calculation errors occur
12
12
  */
13
- export declare function getSwapAmountOutForIn(bucket: BondingCurveBucketV1, amountIn: bigint, direction: SwapDirection): bigint;
13
+ export declare function getSwapAmountOutForIn(bucket: BondingCurveBucketV2, amountIn: bigint, direction: SwapDirection): bigint;
14
14
  /**
15
15
  * Calculate the input amount needed to receive a desired output amount on a bonding curve.
16
16
  * This function determines how much of the input asset you need to provide to get a specific output amount.
@@ -22,17 +22,18 @@ export declare function getSwapAmountOutForIn(bucket: BondingCurveBucketV1, amou
22
22
  * @returns The input amount required to achieve the desired output
23
23
  * @throws Error if the bonding curve type is unsupported or calculation errors occur
24
24
  */
25
- export declare function getSwapAmountInForOut(bucket: BondingCurveBucketV1, amountOut: bigint, direction: SwapDirection): bigint;
25
+ export declare function getSwapAmountInForOut(bucket: BondingCurveBucketV2, amountOut: bigint, direction: SwapDirection): bigint;
26
26
  /**
27
27
  * Calculates the complete swap result including fees for a bonding curve swap.
28
28
  *
29
29
  * @param bucket - The bonding curve bucket
30
30
  * @param amountIn - The input amount (before fees)
31
31
  * @param swapDirection - The swap direction (Buy = SOL in, tokens out; Sell = tokens in, SOL out)
32
+ * @param isFirstBuy - When true the deposit fee is waived (first buy is fee-free)
32
33
  * @returns An object containing the actual input amount, fee, and output amount
33
34
  * @throws Error if the bucket has insufficient reserves or calculation errors occur
34
35
  */
35
- export declare function getSwapResult(bucket: BondingCurveBucketV1, amountIn: bigint, swapDirection: SwapDirection): {
36
+ export declare function getSwapResult(bucket: BondingCurveBucketV2, amountIn: bigint, swapDirection: SwapDirection, isFirstBuy?: boolean): {
36
37
  amountIn: bigint;
37
38
  fee: bigint;
38
39
  amountOut: bigint;
@@ -43,4 +44,4 @@ export declare function getSwapResult(bucket: BondingCurveBucketV1, amountIn: bi
43
44
  * @param bucket - The bonding curve bucket
44
45
  * @returns The current price
45
46
  */
46
- export declare function getCurrentPrice(bucket: BondingCurveBucketV1): bigint;
47
+ export declare function getCurrentPrice(bucket: BondingCurveBucketV2): bigint;
@@ -18,7 +18,7 @@ const bigInt_1 = require("./utils/bigInt");
18
18
  function getSwapAmountOutForIn(bucket, amountIn, direction) {
19
19
  switch (bucket.bondingCurveType) {
20
20
  case generated_1.BondingCurveType.ConstantProduct:
21
- return getConstantProductSwapAmountOutForIn(amountIn, bucket.bondingCurveParameters.virtualSol, bucket.bondingCurveParameters.virtualTokens, bucket.quoteDepositTotal, bucket.tokenBalance, direction);
21
+ return getConstantProductSwapAmountOutForIn(amountIn, bucket.constantProductParams.virtualSol, bucket.constantProductParams.virtualTokens, bucket.quoteTokenDepositTotal, bucket.bucket.baseTokenBalance, direction);
22
22
  default:
23
23
  throw new Error(`Unsupported bonding curve type: ${bucket.bondingCurveType}`);
24
24
  }
@@ -38,7 +38,7 @@ exports.getSwapAmountOutForIn = getSwapAmountOutForIn;
38
38
  function getSwapAmountInForOut(bucket, amountOut, direction) {
39
39
  switch (bucket.bondingCurveType) {
40
40
  case generated_1.BondingCurveType.ConstantProduct:
41
- return getConstantProductSwapAmountInForOut(amountOut, bucket.bondingCurveParameters.virtualSol, bucket.bondingCurveParameters.virtualTokens, bucket.quoteDepositTotal, bucket.tokenBalance, direction);
41
+ return getConstantProductSwapAmountInForOut(amountOut, bucket.constantProductParams.virtualSol, bucket.constantProductParams.virtualTokens, bucket.quoteTokenDepositTotal, bucket.bucket.baseTokenBalance, direction);
42
42
  default:
43
43
  throw new Error(`Unsupported bonding curve type: ${bucket.bondingCurveType}`);
44
44
  }
@@ -50,10 +50,11 @@ exports.getSwapAmountInForOut = getSwapAmountInForOut;
50
50
  * @param bucket - The bonding curve bucket
51
51
  * @param amountIn - The input amount (before fees)
52
52
  * @param swapDirection - The swap direction (Buy = SOL in, tokens out; Sell = tokens in, SOL out)
53
+ * @param isFirstBuy - When true the deposit fee is waived (first buy is fee-free)
53
54
  * @returns An object containing the actual input amount, fee, and output amount
54
55
  * @throws Error if the bucket has insufficient reserves or calculation errors occur
55
56
  */
56
- function getSwapResult(bucket, amountIn, swapDirection) {
57
+ function getSwapResult(bucket, amountIn, swapDirection, isFirstBuy = false) {
57
58
  if (amountIn === 0n) {
58
59
  throw new Error('Invalid amount: must be greater than 0');
59
60
  }
@@ -63,7 +64,9 @@ function getSwapResult(bucket, amountIn, swapDirection) {
63
64
  let amountInAfterFee;
64
65
  let feeIn;
65
66
  if (swapDirection === generated_1.SwapDirection.Buy) {
66
- feeIn = (0, fees_1.calculateFee)(amountIn, bucket.depositFeeType, bucket.depositFee);
67
+ feeIn = isFirstBuy
68
+ ? 0n
69
+ : (0, fees_1.calculateFee)(amountIn, bucket.depositFeeType, bucket.depositFee);
67
70
  amountInAfterFee = (0, bigInt_1.maxBigInt)(amountIn - feeIn, 0n);
68
71
  }
69
72
  else {
@@ -83,8 +86,8 @@ function getSwapResult(bucket, amountIn, swapDirection) {
83
86
  }
84
87
  // Check if we have enough reserves for the swap
85
88
  const reservesOut = swapDirection === generated_1.SwapDirection.Buy
86
- ? bucket.tokenBalance
87
- : bucket.quoteDepositTotal;
89
+ ? bucket.bucket.baseTokenBalance
90
+ : bucket.quoteTokenDepositTotal;
88
91
  if (reservesOut === 0n) {
89
92
  throw new Error('Insufficient liquidity: no reserves available');
90
93
  }
@@ -106,11 +109,16 @@ function getSwapResult(bucket, amountIn, swapDirection) {
106
109
  amountOut = reservesOut;
107
110
  feeOut = 0n;
108
111
  }
109
- // Recalculate the amountIn for the new amountOut
110
- amountInAfterFee = getSwapAmountInForOut(bucket, amountOut, swapDirection);
112
+ // Recalculate amountIn based on the gross amount leaving the pool
113
+ // (reservesOut = amountOut + feeOut), not just the net (amountOut),
114
+ // to maintain the constant product invariant. The AMM produces the
115
+ // gross output; fees are subtracted afterward.
116
+ amountInAfterFee = getSwapAmountInForOut(bucket, swapDirection === generated_1.SwapDirection.Sell ? amountOut + feeOut : amountOut, swapDirection);
111
117
  // No need to remove feeIn from amountIn, as we are adding SOL from the payer to the bucket in the buy case
112
118
  if (swapDirection === generated_1.SwapDirection.Buy) {
113
- feeIn = (0, fees_1.calculateFee)(amountInAfterFee, bucket.depositFeeType, bucket.depositFee);
119
+ feeIn = isFirstBuy
120
+ ? 0n
121
+ : (0, fees_1.calculateFee)(amountInAfterFee, bucket.depositFeeType, bucket.depositFee);
114
122
  }
115
123
  else {
116
124
  feeIn = 0n;
@@ -136,10 +144,11 @@ exports.getSwapResult = getSwapResult;
136
144
  function getCurrentPrice(bucket) {
137
145
  switch (bucket.bondingCurveType) {
138
146
  case generated_1.BondingCurveType.ConstantProduct:
139
- return bucket.bondingCurveParameters.virtualSol > 0n
140
- ? (bucket.bondingCurveParameters.virtualTokens + bucket.tokenBalance) /
141
- (bucket.bondingCurveParameters.virtualSol +
142
- bucket.quoteDepositTotal)
147
+ return bucket.constantProductParams.virtualSol > 0n
148
+ ? (bucket.constantProductParams.virtualTokens +
149
+ bucket.bucket.baseTokenBalance) /
150
+ (bucket.constantProductParams.virtualSol +
151
+ bucket.quoteTokenDepositTotal)
143
152
  : 0n;
144
153
  default:
145
154
  throw new Error(`Unsupported bonding curve type: ${bucket.bondingCurveType}`);
@@ -1 +1 @@
1
- {"version":3,"file":"bondingCurveHelpers.js","sourceRoot":"","sources":["../../src/bondingCurveHelpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bondingCurveHelpers.js","sourceRoot":"","sources":["../../src/bondingCurveHelpers.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@metaplex-foundation/genesis",
3
- "version": "0.26.1",
3
+ "version": "0.27.0",
4
4
  "description": "The Metaplex Genesis Program",
5
5
  "main": "dist/src/index.js",
6
6
  "types": "dist/src/index.d.ts",
@@ -39,6 +39,7 @@
39
39
  "@ava/typescript": "^5.0.0",
40
40
  "@metaplex-foundation/mpl-distro": "^0.4.0",
41
41
  "@metaplex-foundation/umi": "^1.4.1",
42
+ "@metaplex-foundation/umi-bundle-defaults": "^1.5.1",
42
43
  "@metaplex-foundation/umi-bundle-tests": "^1.4.1",
43
44
  "@solana/web3.js": "^1.73.0",
44
45
  "@typescript-eslint/eslint-plugin": "^5.0.0",