@metaplex-foundation/genesis 0.26.2 → 0.28.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/src/api/client.d.ts +76 -20
- package/dist/src/api/client.js +120 -23
- package/dist/src/api/client.js.map +1 -1
- package/dist/src/api/index.d.ts +1 -1
- package/dist/src/api/payloadBuilder.d.ts +1 -0
- package/dist/src/api/payloadBuilder.js +68 -2
- package/dist/src/api/payloadBuilder.js.map +1 -1
- package/dist/src/api/types.d.ts +34 -12
- package/dist/src/bondingCurveHelpers.d.ts +58 -1
- package/dist/src/bondingCurveHelpers.js +127 -4
- package/dist/src/bondingCurveHelpers.js.map +1 -1
- package/package.json +2 -1
package/dist/src/api/client.d.ts
CHANGED
|
@@ -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
|
|
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({},
|
|
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
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
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(
|
|
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
|
|
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({},
|
|
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
|
-
*
|
|
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>;
|
package/dist/src/api/client.js
CHANGED
|
@@ -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
|
-
*
|
|
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({},
|
|
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
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
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
|
|
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(
|
|
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
|
|
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:
|
|
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
|
|
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({},
|
|
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
|
-
*
|
|
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":";;;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/api/client.ts"],"names":[],"mappings":"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"}
|
package/dist/src/api/index.d.ts
CHANGED
|
@@ -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,
|
|
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';
|
|
@@ -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:
|
|
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:
|
|
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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"}
|
package/dist/src/api/types.d.ts
CHANGED
|
@@ -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
|
-
/**
|
|
154
|
-
|
|
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
|
|
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
|
-
/**
|
|
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,3 +1,4 @@
|
|
|
1
|
+
import { Context } from '@metaplex-foundation/umi';
|
|
1
2
|
import { BondingCurveBucketV2, SwapDirection } from './generated';
|
|
2
3
|
/**
|
|
3
4
|
* Calculate the output amount for a given input amount on a bonding curve.
|
|
@@ -29,10 +30,11 @@ export declare function getSwapAmountInForOut(bucket: BondingCurveBucketV2, amou
|
|
|
29
30
|
* @param bucket - The bonding curve bucket
|
|
30
31
|
* @param amountIn - The input amount (before fees)
|
|
31
32
|
* @param swapDirection - The swap direction (Buy = SOL in, tokens out; Sell = tokens in, SOL out)
|
|
33
|
+
* @param isFirstBuy - When true the deposit fee is waived (first buy is fee-free)
|
|
32
34
|
* @returns An object containing the actual input amount, fee, and output amount
|
|
33
35
|
* @throws Error if the bucket has insufficient reserves or calculation errors occur
|
|
34
36
|
*/
|
|
35
|
-
export declare function getSwapResult(bucket: BondingCurveBucketV2, amountIn: bigint, swapDirection: SwapDirection): {
|
|
37
|
+
export declare function getSwapResult(bucket: BondingCurveBucketV2, amountIn: bigint, swapDirection: SwapDirection, isFirstBuy?: boolean): {
|
|
36
38
|
amountIn: bigint;
|
|
37
39
|
fee: bigint;
|
|
38
40
|
amountOut: bigint;
|
|
@@ -44,3 +46,58 @@ export declare function getSwapResult(bucket: BondingCurveBucketV2, amountIn: bi
|
|
|
44
46
|
* @returns The current price
|
|
45
47
|
*/
|
|
46
48
|
export declare function getCurrentPrice(bucket: BondingCurveBucketV2): bigint;
|
|
49
|
+
/**
|
|
50
|
+
* Returns `true` if the bonding curve is currently accepting swaps.
|
|
51
|
+
*
|
|
52
|
+
* A curve is swappable when:
|
|
53
|
+
* - The swap start condition has been satisfied
|
|
54
|
+
* - The swap end condition has **not** yet been triggered
|
|
55
|
+
* - There are still base tokens available in the bucket
|
|
56
|
+
*/
|
|
57
|
+
export declare function isSwappable(bucket: BondingCurveBucketV2): boolean;
|
|
58
|
+
/**
|
|
59
|
+
* Returns `true` if the bonding curve has sold out — all base tokens have
|
|
60
|
+
* been purchased.
|
|
61
|
+
*
|
|
62
|
+
* Once sold out, the curve is no longer swappable and graduation to a
|
|
63
|
+
* Raydium CPMM pool will occur (or has already occurred).
|
|
64
|
+
*/
|
|
65
|
+
export declare function isSoldOut(bucket: BondingCurveBucketV2): boolean;
|
|
66
|
+
/**
|
|
67
|
+
* Returns the fill percentage of the bonding curve as a value between 0
|
|
68
|
+
* and 100. This represents how much of the token allocation has been
|
|
69
|
+
* purchased.
|
|
70
|
+
*
|
|
71
|
+
* @param bucket - The bonding curve bucket
|
|
72
|
+
* @returns Fill percentage (0 = no tokens sold, 100 = fully sold out)
|
|
73
|
+
*/
|
|
74
|
+
export declare function getFillPercentage(bucket: BondingCurveBucketV2): number;
|
|
75
|
+
/**
|
|
76
|
+
* Returns `true` if the bonding curve's liquidity has graduated to a
|
|
77
|
+
* Raydium CPMM pool. This fetches the Raydium bucket account on-chain,
|
|
78
|
+
* so it requires an RPC call.
|
|
79
|
+
*
|
|
80
|
+
* Use {@link isSoldOut} for a quick synchronous check on whether the
|
|
81
|
+
* curve has sold out (graduation follows sell-out but may not have
|
|
82
|
+
* completed yet).
|
|
83
|
+
*
|
|
84
|
+
* @param context - Umi context with RPC, eddsa, and programs
|
|
85
|
+
* @param bucket - The deserialized `BondingCurveBucketV2` account
|
|
86
|
+
* @returns `true` if graduated, `false` otherwise
|
|
87
|
+
*/
|
|
88
|
+
export declare function isGraduated(context: Pick<Context, 'rpc' | 'eddsa' | 'programs'>, bucket: BondingCurveBucketV2): Promise<boolean>;
|
|
89
|
+
/**
|
|
90
|
+
* Applies a slippage tolerance to an expected output amount to derive
|
|
91
|
+
* a `minAmountOut` value suitable for the swap instruction.
|
|
92
|
+
*
|
|
93
|
+
* @param expectedAmountOut - The expected output from `getSwapResult`
|
|
94
|
+
* @param slippageBps - Slippage tolerance in basis points (e.g. 50 = 0.5%, 200 = 2%)
|
|
95
|
+
* @returns The minimum acceptable output amount
|
|
96
|
+
*
|
|
97
|
+
* @example
|
|
98
|
+
* ```ts
|
|
99
|
+
* const quote = getSwapResult(bucket, 1_000_000n, SwapDirection.Buy);
|
|
100
|
+
* const minOut = applySlippage(quote.amountOut, 200); // 2% slippage
|
|
101
|
+
* ```
|
|
102
|
+
*/
|
|
103
|
+
export declare function applySlippage(expectedAmountOut: bigint, slippageBps: number): bigint;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getCurrentPrice = exports.getSwapResult = exports.getSwapAmountInForOut = exports.getSwapAmountOutForIn = void 0;
|
|
3
|
+
exports.applySlippage = exports.isGraduated = exports.getFillPercentage = exports.isSoldOut = exports.isSwappable = exports.getCurrentPrice = exports.getSwapResult = exports.getSwapAmountInForOut = exports.getSwapAmountOutForIn = void 0;
|
|
4
|
+
const umi_1 = require("@metaplex-foundation/umi");
|
|
4
5
|
const fees_1 = require("./fees");
|
|
5
6
|
const generated_1 = require("./generated");
|
|
6
7
|
const bigInt_1 = require("./utils/bigInt");
|
|
@@ -50,10 +51,11 @@ exports.getSwapAmountInForOut = getSwapAmountInForOut;
|
|
|
50
51
|
* @param bucket - The bonding curve bucket
|
|
51
52
|
* @param amountIn - The input amount (before fees)
|
|
52
53
|
* @param swapDirection - The swap direction (Buy = SOL in, tokens out; Sell = tokens in, SOL out)
|
|
54
|
+
* @param isFirstBuy - When true the deposit fee is waived (first buy is fee-free)
|
|
53
55
|
* @returns An object containing the actual input amount, fee, and output amount
|
|
54
56
|
* @throws Error if the bucket has insufficient reserves or calculation errors occur
|
|
55
57
|
*/
|
|
56
|
-
function getSwapResult(bucket, amountIn, swapDirection) {
|
|
58
|
+
function getSwapResult(bucket, amountIn, swapDirection, isFirstBuy = false) {
|
|
57
59
|
if (amountIn === 0n) {
|
|
58
60
|
throw new Error('Invalid amount: must be greater than 0');
|
|
59
61
|
}
|
|
@@ -63,7 +65,9 @@ function getSwapResult(bucket, amountIn, swapDirection) {
|
|
|
63
65
|
let amountInAfterFee;
|
|
64
66
|
let feeIn;
|
|
65
67
|
if (swapDirection === generated_1.SwapDirection.Buy) {
|
|
66
|
-
feeIn =
|
|
68
|
+
feeIn = isFirstBuy
|
|
69
|
+
? 0n
|
|
70
|
+
: (0, fees_1.calculateFee)(amountIn, bucket.depositFeeType, bucket.depositFee);
|
|
67
71
|
amountInAfterFee = (0, bigInt_1.maxBigInt)(amountIn - feeIn, 0n);
|
|
68
72
|
}
|
|
69
73
|
else {
|
|
@@ -113,7 +117,9 @@ function getSwapResult(bucket, amountIn, swapDirection) {
|
|
|
113
117
|
amountInAfterFee = getSwapAmountInForOut(bucket, swapDirection === generated_1.SwapDirection.Sell ? amountOut + feeOut : amountOut, swapDirection);
|
|
114
118
|
// No need to remove feeIn from amountIn, as we are adding SOL from the payer to the bucket in the buy case
|
|
115
119
|
if (swapDirection === generated_1.SwapDirection.Buy) {
|
|
116
|
-
feeIn =
|
|
120
|
+
feeIn = isFirstBuy
|
|
121
|
+
? 0n
|
|
122
|
+
: (0, fees_1.calculateFee)(amountInAfterFee, bucket.depositFeeType, bucket.depositFee);
|
|
117
123
|
}
|
|
118
124
|
else {
|
|
119
125
|
feeIn = 0n;
|
|
@@ -150,6 +156,123 @@ function getCurrentPrice(bucket) {
|
|
|
150
156
|
}
|
|
151
157
|
}
|
|
152
158
|
exports.getCurrentPrice = getCurrentPrice;
|
|
159
|
+
/**
|
|
160
|
+
* Returns `true` if the bonding curve is currently accepting swaps.
|
|
161
|
+
*
|
|
162
|
+
* A curve is swappable when:
|
|
163
|
+
* - The swap start condition has been satisfied
|
|
164
|
+
* - The swap end condition has **not** yet been triggered
|
|
165
|
+
* - There are still base tokens available in the bucket
|
|
166
|
+
*/
|
|
167
|
+
function isSwappable(bucket) {
|
|
168
|
+
const startOk = isStartConditionMet(bucket);
|
|
169
|
+
const endTriggered = (0, umi_1.isSome)(bucket.swapEndCondition.triggeredTimestamp);
|
|
170
|
+
return startOk && !endTriggered && bucket.bucket.baseTokenBalance > 0n;
|
|
171
|
+
}
|
|
172
|
+
exports.isSwappable = isSwappable;
|
|
173
|
+
// The program only allows Always, TimeAbsolute, and TimeRelative as start
|
|
174
|
+
// conditions (validated by `validate_as_start` on-chain). Today all bonding
|
|
175
|
+
// curves use Always so they start immediately.
|
|
176
|
+
//
|
|
177
|
+
// TimeRelative conditions cannot be fully evaluated client-side because they
|
|
178
|
+
// depend on another bucket's on-chain timestamp. For those, we can only
|
|
179
|
+
// return true once the program has set triggeredTimestamp.
|
|
180
|
+
function isStartConditionMet(bucket) {
|
|
181
|
+
const cond = bucket.swapStartCondition;
|
|
182
|
+
switch (cond.__kind) {
|
|
183
|
+
case 'Always':
|
|
184
|
+
return true;
|
|
185
|
+
case 'TimeAbsolute': {
|
|
186
|
+
if ((0, umi_1.isSome)(cond.triggeredTimestamp))
|
|
187
|
+
return true;
|
|
188
|
+
// The on-chain program compares against the validator's Clock
|
|
189
|
+
// sysvar, which may differ slightly from the client's Date.now()
|
|
190
|
+
// near the boundary.
|
|
191
|
+
const nowSec = BigInt(Math.floor(Date.now() / 1000));
|
|
192
|
+
return cond.time <= nowSec;
|
|
193
|
+
}
|
|
194
|
+
case 'TimeRelative':
|
|
195
|
+
return (0, umi_1.isSome)(cond.triggeredTimestamp);
|
|
196
|
+
default:
|
|
197
|
+
// Never, Uninitialized, and Triggered are rejected by the program
|
|
198
|
+
// for start conditions, but handle gracefully if encountered.
|
|
199
|
+
return false;
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Returns `true` if the bonding curve has sold out — all base tokens have
|
|
204
|
+
* been purchased.
|
|
205
|
+
*
|
|
206
|
+
* Once sold out, the curve is no longer swappable and graduation to a
|
|
207
|
+
* Raydium CPMM pool will occur (or has already occurred).
|
|
208
|
+
*/
|
|
209
|
+
function isSoldOut(bucket) {
|
|
210
|
+
return bucket.bucket.baseTokenBalance === 0n;
|
|
211
|
+
}
|
|
212
|
+
exports.isSoldOut = isSoldOut;
|
|
213
|
+
/**
|
|
214
|
+
* Returns the fill percentage of the bonding curve as a value between 0
|
|
215
|
+
* and 100. This represents how much of the token allocation has been
|
|
216
|
+
* purchased.
|
|
217
|
+
*
|
|
218
|
+
* @param bucket - The bonding curve bucket
|
|
219
|
+
* @returns Fill percentage (0 = no tokens sold, 100 = fully sold out)
|
|
220
|
+
*/
|
|
221
|
+
function getFillPercentage(bucket) {
|
|
222
|
+
const allocation = bucket.bucket.baseTokenAllocation;
|
|
223
|
+
if (allocation === 0n)
|
|
224
|
+
return 100;
|
|
225
|
+
const sold = allocation - bucket.bucket.baseTokenBalance;
|
|
226
|
+
return Number((sold * 10000n) / allocation) / 100;
|
|
227
|
+
}
|
|
228
|
+
exports.getFillPercentage = getFillPercentage;
|
|
229
|
+
/**
|
|
230
|
+
* Returns `true` if the bonding curve's liquidity has graduated to a
|
|
231
|
+
* Raydium CPMM pool. This fetches the Raydium bucket account on-chain,
|
|
232
|
+
* so it requires an RPC call.
|
|
233
|
+
*
|
|
234
|
+
* Use {@link isSoldOut} for a quick synchronous check on whether the
|
|
235
|
+
* curve has sold out (graduation follows sell-out but may not have
|
|
236
|
+
* completed yet).
|
|
237
|
+
*
|
|
238
|
+
* @param context - Umi context with RPC, eddsa, and programs
|
|
239
|
+
* @param bucket - The deserialized `BondingCurveBucketV2` account
|
|
240
|
+
* @returns `true` if graduated, `false` otherwise
|
|
241
|
+
*/
|
|
242
|
+
async function isGraduated(context, bucket) {
|
|
243
|
+
const raydiumBucket = await (0, generated_1.safeFetchRaydiumCpmmBucketV2)(context, (0, generated_1.findRaydiumCpmmBucketV2Pda)(context, {
|
|
244
|
+
genesisAccount: bucket.bucket.genesis,
|
|
245
|
+
bucketIndex: bucket.bucket.bucketIndex,
|
|
246
|
+
}));
|
|
247
|
+
if (!raydiumBucket)
|
|
248
|
+
return false;
|
|
249
|
+
return raydiumBucket.graduatedBaseTokenAmount > 0n;
|
|
250
|
+
}
|
|
251
|
+
exports.isGraduated = isGraduated;
|
|
252
|
+
/**
|
|
253
|
+
* Applies a slippage tolerance to an expected output amount to derive
|
|
254
|
+
* a `minAmountOut` value suitable for the swap instruction.
|
|
255
|
+
*
|
|
256
|
+
* @param expectedAmountOut - The expected output from `getSwapResult`
|
|
257
|
+
* @param slippageBps - Slippage tolerance in basis points (e.g. 50 = 0.5%, 200 = 2%)
|
|
258
|
+
* @returns The minimum acceptable output amount
|
|
259
|
+
*
|
|
260
|
+
* @example
|
|
261
|
+
* ```ts
|
|
262
|
+
* const quote = getSwapResult(bucket, 1_000_000n, SwapDirection.Buy);
|
|
263
|
+
* const minOut = applySlippage(quote.amountOut, 200); // 2% slippage
|
|
264
|
+
* ```
|
|
265
|
+
*/
|
|
266
|
+
function applySlippage(expectedAmountOut, slippageBps) {
|
|
267
|
+
if (!Number.isFinite(slippageBps) ||
|
|
268
|
+
!Number.isInteger(slippageBps) ||
|
|
269
|
+
slippageBps < 0 ||
|
|
270
|
+
slippageBps > 10000) {
|
|
271
|
+
throw new Error(`slippageBps must be an integer between 0 and 10000, got ${slippageBps}`);
|
|
272
|
+
}
|
|
273
|
+
return (expectedAmountOut * BigInt(10000 - slippageBps)) / 10000n;
|
|
274
|
+
}
|
|
275
|
+
exports.applySlippage = applySlippage;
|
|
153
276
|
// Constant Product swap helpers
|
|
154
277
|
/**
|
|
155
278
|
* Calculate the output amount for a given input amount using constant product AMM formula.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bondingCurveHelpers.js","sourceRoot":"","sources":["../../src/bondingCurveHelpers.ts"],"names":[],"mappings":";;;AAAA,iCAAsC;AACtC,
|
|
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.
|
|
3
|
+
"version": "0.28.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",
|