@metaplex-foundation/genesis 0.26.0 → 0.26.2
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.js +6 -0
- 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 +12 -5
- package/dist/src/api/payloadBuilder.js +71 -18
- package/dist/src/api/payloadBuilder.js.map +1 -1
- package/dist/src/api/types.d.ts +52 -3
- package/dist/src/bondingCurveHelpers.d.ts +5 -5
- package/dist/src/bondingCurveHelpers.js +14 -10
- package/dist/src/bondingCurveHelpers.js.map +1 -1
- package/package.json +1 -1
package/dist/src/api/client.js
CHANGED
|
@@ -105,6 +105,12 @@ async function registerLaunch(_umi, configInput, input) {
|
|
|
105
105
|
const requestBody = {
|
|
106
106
|
genesisAccount: toKeyString(input.genesisAccount),
|
|
107
107
|
network: input.createLaunchInput.network ?? 'solana-mainnet',
|
|
108
|
+
...(input.creatorWallet
|
|
109
|
+
? { creatorWallet: toKeyString(input.creatorWallet) }
|
|
110
|
+
: {}),
|
|
111
|
+
...(input.twitterVerificationToken
|
|
112
|
+
? { twitterVerificationToken: input.twitterVerificationToken }
|
|
113
|
+
: {}),
|
|
108
114
|
...payload,
|
|
109
115
|
};
|
|
110
116
|
let response;
|
|
@@ -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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"}
|
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, CreateLaunchResponse, RegisterLaunchInput, RegisterLaunchResponse, CreateAndRegisterLaunchResult, SignAndSendOptions, SvmNetwork, TokenMetadata, LaunchpoolConfig, LaunchpoolLaunchInput, LockedAllocation, ExternalLinks, TimeUnit, QuoteMintInput, CreateLaunchType, } from './types';
|
|
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';
|
|
@@ -1,17 +1,24 @@
|
|
|
1
|
-
import { CreateLaunchInput } from './types';
|
|
1
|
+
import { CreateLaunchInput, SvmNetwork } from './types';
|
|
2
2
|
/**
|
|
3
3
|
* Builds the API payload for `/v1/launches/create` from simplified input.
|
|
4
4
|
*/
|
|
5
5
|
export declare function buildCreateLaunchPayload(input: CreateLaunchInput): {
|
|
6
6
|
wallet: string;
|
|
7
7
|
launch: {
|
|
8
|
-
allocations: unknown[];
|
|
9
|
-
quoteMint?: string | undefined;
|
|
10
|
-
network?: "solana-devnet" | undefined;
|
|
11
8
|
publicKey: string;
|
|
9
|
+
network: SvmNetwork;
|
|
10
|
+
quoteMint: string;
|
|
11
|
+
decimals: number;
|
|
12
|
+
supply: number;
|
|
13
|
+
genesisVersion: string;
|
|
14
|
+
genesisIndex: number;
|
|
15
|
+
isMutable: boolean;
|
|
16
|
+
useExistingToken: boolean;
|
|
17
|
+
finalize: boolean;
|
|
18
|
+
allocations: unknown[];
|
|
12
19
|
externalLinks?: import("./types").ExternalLinks | undefined;
|
|
13
20
|
description?: string | undefined;
|
|
14
|
-
type: "launchpool";
|
|
21
|
+
type: "launchpool" | "bondingCurve";
|
|
15
22
|
name: string;
|
|
16
23
|
symbol: string;
|
|
17
24
|
image: string;
|
|
@@ -1,13 +1,37 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.buildCreateLaunchPayload = void 0;
|
|
4
|
+
/* eslint-disable no-restricted-syntax */
|
|
5
|
+
const __1 = require("..");
|
|
4
6
|
const errors_1 = require("./errors");
|
|
5
7
|
// ─── Constants ──────────────────────────────────────────────────────────────
|
|
6
8
|
const TOTAL_SUPPLY = 1000000000;
|
|
7
9
|
const TOTAL_BPS = 10000;
|
|
10
|
+
const DECIMALS = 6;
|
|
8
11
|
const LAUNCHPOOL_DEPOSIT_DURATION_MS = 48 * 60 * 60 * 1000; // 48 hours
|
|
9
12
|
const RAYDIUM_MIN_BPS = 2000;
|
|
10
13
|
const DEFAULT_UNLOCKED_BUCKET_NAME = 'Creator Allocation';
|
|
14
|
+
// ── Launchpool Bonus/Penalty Defaults ───────────────────────────────────────
|
|
15
|
+
const LAUNCHPOOL_DEPOSIT_BONUS = {
|
|
16
|
+
enabled: true,
|
|
17
|
+
point1TimeBps: 5000,
|
|
18
|
+
point1Bps: 2500,
|
|
19
|
+
point2TimeBps: 7500,
|
|
20
|
+
point2Bps: 0,
|
|
21
|
+
maxBps: 2500,
|
|
22
|
+
};
|
|
23
|
+
const LAUNCHPOOL_WITHDRAW_PENALTY = {
|
|
24
|
+
enabled: true,
|
|
25
|
+
point1TimeBps: 7500,
|
|
26
|
+
point1Bps: 0,
|
|
27
|
+
point2TimeBps: 10000,
|
|
28
|
+
point2Bps: 2500,
|
|
29
|
+
maxBps: 10000,
|
|
30
|
+
};
|
|
31
|
+
// ── LP Lock Schedule Defaults (Streamflow durations in seconds) ─────────────
|
|
32
|
+
const LP_LOCK_DURATION_SECONDS = 31536000; // 1 year
|
|
33
|
+
const LP_LOCK_PERIOD_SECONDS = 7883982; // 1 quarter
|
|
34
|
+
const LP_LOCK_CLIFF_AMOUNT_BPS = 0;
|
|
11
35
|
// ─── Quote Mint Resolution ──────────────────────────────────────────────────
|
|
12
36
|
const USDC_MINTS = {
|
|
13
37
|
'solana-mainnet': 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v',
|
|
@@ -15,7 +39,7 @@ const USDC_MINTS = {
|
|
|
15
39
|
};
|
|
16
40
|
function resolveQuoteMint(input, network) {
|
|
17
41
|
if (!input || input === 'SOL')
|
|
18
|
-
return
|
|
42
|
+
return __1.WRAPPED_SOL_MINT;
|
|
19
43
|
if (input === 'USDC')
|
|
20
44
|
return USDC_MINTS[network];
|
|
21
45
|
throw (0, errors_1.genesisValidationError)(`Unsupported quote mint: '${input}'. Must be 'SOL' or 'USDC'.`, 'quoteMint');
|
|
@@ -47,6 +71,27 @@ function timeAbsolute(time) {
|
|
|
47
71
|
function neverTimeCondition() {
|
|
48
72
|
return { type: 'Never' };
|
|
49
73
|
}
|
|
74
|
+
function raydiumGraduateCondition() {
|
|
75
|
+
return {
|
|
76
|
+
type: 'TimeRelativeToUnknownAddress',
|
|
77
|
+
bucketType: 'raydiumV2',
|
|
78
|
+
bucketIndex: 0,
|
|
79
|
+
bucketTime: 'Graduate',
|
|
80
|
+
timeOffset: 0,
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Normalizes a CliffUnlockAmount value to the API's discriminated union format.
|
|
85
|
+
*/
|
|
86
|
+
function normalizeCliffUnlockAmount(amount) {
|
|
87
|
+
if (amount === undefined || amount === 'linear') {
|
|
88
|
+
return { type: 'linear' };
|
|
89
|
+
}
|
|
90
|
+
if (typeof amount === 'number') {
|
|
91
|
+
return { type: 'custom', value: amount };
|
|
92
|
+
}
|
|
93
|
+
return amount;
|
|
94
|
+
}
|
|
50
95
|
// ─── Validation ─────────────────────────────────────────────────────────────
|
|
51
96
|
function validateTokenMetadata(input) {
|
|
52
97
|
const { token } = input;
|
|
@@ -117,8 +162,15 @@ function assemblePayload(input, walletStr, network, quoteMint, allocations) {
|
|
|
117
162
|
? { externalLinks: input.token.externalLinks }
|
|
118
163
|
: {}),
|
|
119
164
|
publicKey: walletStr,
|
|
120
|
-
|
|
121
|
-
|
|
165
|
+
network,
|
|
166
|
+
quoteMint,
|
|
167
|
+
decimals: DECIMALS,
|
|
168
|
+
supply: TOTAL_SUPPLY,
|
|
169
|
+
genesisVersion: 'v2',
|
|
170
|
+
genesisIndex: 0,
|
|
171
|
+
isMutable: true,
|
|
172
|
+
useExistingToken: false,
|
|
173
|
+
finalize: true,
|
|
122
174
|
allocations,
|
|
123
175
|
},
|
|
124
176
|
};
|
|
@@ -133,16 +185,8 @@ function buildLaunchpoolPayload(input) {
|
|
|
133
185
|
const depositEndMs = depositStartMs + LAUNCHPOOL_DEPOSIT_DURATION_MS;
|
|
134
186
|
const depositStartCondition = timeAbsolute(new Date(depositStartMs));
|
|
135
187
|
const depositEndCondition = timeAbsolute(new Date(depositEndMs));
|
|
188
|
+
const claimStartCondition = raydiumGraduateCondition();
|
|
136
189
|
const claimEndCondition = neverTimeCondition();
|
|
137
|
-
// Claim start is relative to Raydium graduation (not an absolute time).
|
|
138
|
-
// The server resolves the bucket PDA address at transaction build time.
|
|
139
|
-
const claimStartCondition = {
|
|
140
|
-
type: 'TimeRelativeToUnknownAddress',
|
|
141
|
-
bucketType: 'raydiumV2',
|
|
142
|
-
bucketIndex: 0,
|
|
143
|
-
bucketTime: 'Graduate',
|
|
144
|
-
timeOffset: 0,
|
|
145
|
-
};
|
|
146
190
|
// ── Fund flows ────────────────────────────────────────────────────────
|
|
147
191
|
const raydiumBps = launchpool.raydiumLiquidityBps;
|
|
148
192
|
const unlockedBps = TOTAL_BPS - raydiumBps;
|
|
@@ -150,6 +194,8 @@ function buildLaunchpoolPayload(input) {
|
|
|
150
194
|
const fundFlows = [
|
|
151
195
|
{
|
|
152
196
|
type: 'UnlockedFunds',
|
|
197
|
+
name: 'Unlocked',
|
|
198
|
+
supply: 0,
|
|
153
199
|
percentageBps: unlockedBps,
|
|
154
200
|
recipient: toKeyString(launchpool.fundsRecipient),
|
|
155
201
|
claimStartCondition,
|
|
@@ -157,12 +203,17 @@ function buildLaunchpoolPayload(input) {
|
|
|
157
203
|
},
|
|
158
204
|
{
|
|
159
205
|
type: 'RaydiumLP',
|
|
160
|
-
|
|
206
|
+
name: 'Liquidity Pool',
|
|
161
207
|
supply: raydiumLpSupply,
|
|
208
|
+
percentageBps: raydiumBps,
|
|
162
209
|
startCondition: depositEndCondition,
|
|
163
210
|
lpLockSchedule: {
|
|
211
|
+
enabled: true,
|
|
164
212
|
startCondition: depositEndCondition,
|
|
213
|
+
duration: LP_LOCK_DURATION_SECONDS,
|
|
214
|
+
period: LP_LOCK_PERIOD_SECONDS,
|
|
165
215
|
cliffCondition: depositEndCondition,
|
|
216
|
+
cliffAmountBps: LP_LOCK_CLIFF_AMOUNT_BPS,
|
|
166
217
|
},
|
|
167
218
|
},
|
|
168
219
|
];
|
|
@@ -179,8 +230,8 @@ function buildLaunchpoolPayload(input) {
|
|
|
179
230
|
claimStartCondition,
|
|
180
231
|
claimEndCondition,
|
|
181
232
|
minimumQuoteTokenThreshold: launchpool.raiseGoal,
|
|
182
|
-
depositBonus:
|
|
183
|
-
withdrawPenalty:
|
|
233
|
+
depositBonus: LAUNCHPOOL_DEPOSIT_BONUS,
|
|
234
|
+
withdrawPenalty: LAUNCHPOOL_WITHDRAW_PENALTY,
|
|
184
235
|
fundFlows,
|
|
185
236
|
},
|
|
186
237
|
});
|
|
@@ -204,11 +255,13 @@ function buildLaunchpoolPayload(input) {
|
|
|
204
255
|
enabled: true,
|
|
205
256
|
durationValue: alloc.cliff.duration.value,
|
|
206
257
|
durationUnit: alloc.cliff.duration.unit,
|
|
207
|
-
|
|
208
|
-
? { unlockAmount: alloc.cliff.unlockAmount }
|
|
209
|
-
: {}),
|
|
258
|
+
unlockAmount: normalizeCliffUnlockAmount(alloc.cliff.unlockAmount),
|
|
210
259
|
}
|
|
211
260
|
: { enabled: false },
|
|
261
|
+
cancelableBySender: alloc.cancelableBySender ?? false,
|
|
262
|
+
cancelableByRecipient: alloc.cancelableByRecipient ?? false,
|
|
263
|
+
transferableBySender: alloc.transferableBySender ?? false,
|
|
264
|
+
transferableByRecipient: alloc.transferableByRecipient ?? false,
|
|
212
265
|
},
|
|
213
266
|
},
|
|
214
267
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payloadBuilder.js","sourceRoot":"","sources":["../../../src/api/payloadBuilder.ts"],"names":[],"mappings":";;;
|
|
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
|
@@ -54,6 +54,24 @@ 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
|
+
/**
|
|
65
|
+
* Cliff unlock amount configuration.
|
|
66
|
+
* - `'linear'` or `{ type: 'linear' }`: Uses linear vesting calculation for cliff amount
|
|
67
|
+
* - `number` or `{ type: 'custom'; value: number }`: Explicit token amount released at cliff
|
|
68
|
+
*/
|
|
69
|
+
export type CliffUnlockAmount = number | 'linear' | {
|
|
70
|
+
type: 'linear';
|
|
71
|
+
} | {
|
|
72
|
+
type: 'custom';
|
|
73
|
+
value: number;
|
|
74
|
+
};
|
|
57
75
|
export interface LockedAllocation {
|
|
58
76
|
/** Human-readable name (e.g., 'Team', 'Advisors') for this vesting stream (max 64 chars) */
|
|
59
77
|
name: string;
|
|
@@ -77,9 +95,24 @@ export interface LockedAllocation {
|
|
|
77
95
|
value: number;
|
|
78
96
|
unit: TimeUnit;
|
|
79
97
|
};
|
|
80
|
-
/**
|
|
81
|
-
|
|
98
|
+
/**
|
|
99
|
+
* Tokens released at cliff.
|
|
100
|
+
* - Omitted: defaults to linear vesting
|
|
101
|
+
* - `number`: custom token amount (backward compatible shorthand)
|
|
102
|
+
* - `'linear'`: linear vesting calculation
|
|
103
|
+
* - `{ type: 'linear' }`: linear vesting calculation
|
|
104
|
+
* - `{ type: 'custom', value: number }`: explicit custom token amount
|
|
105
|
+
*/
|
|
106
|
+
unlockAmount?: CliffUnlockAmount;
|
|
82
107
|
};
|
|
108
|
+
/** Whether the sender can cancel the vesting stream. Defaults to false. */
|
|
109
|
+
cancelableBySender?: boolean;
|
|
110
|
+
/** Whether the recipient can cancel the vesting stream. Defaults to false. */
|
|
111
|
+
cancelableByRecipient?: boolean;
|
|
112
|
+
/** Whether the sender can transfer the vesting stream. Defaults to false. */
|
|
113
|
+
transferableBySender?: boolean;
|
|
114
|
+
/** Whether the recipient can transfer the vesting stream. Defaults to false. */
|
|
115
|
+
transferableByRecipient?: boolean;
|
|
83
116
|
}
|
|
84
117
|
interface BaseLaunchInput {
|
|
85
118
|
/** The creator's wallet public key (will sign transactions) */
|
|
@@ -99,7 +132,11 @@ export interface CreateLaunchpoolLaunchInput extends BaseLaunchInput {
|
|
|
99
132
|
launchType: 'launchpool';
|
|
100
133
|
launch: LaunchpoolLaunchInput;
|
|
101
134
|
}
|
|
102
|
-
export
|
|
135
|
+
export interface CreateBondingCurveLaunchInput extends BaseLaunchInput {
|
|
136
|
+
launchType: 'bondingCurve';
|
|
137
|
+
launch: BondingCurveLaunchInput;
|
|
138
|
+
}
|
|
139
|
+
export type CreateLaunchInput = CreateLaunchpoolLaunchInput | CreateBondingCurveLaunchInput;
|
|
103
140
|
/**
|
|
104
141
|
* Input for creating a launchpool launch.
|
|
105
142
|
*/
|
|
@@ -109,6 +146,13 @@ export interface LaunchpoolLaunchInput {
|
|
|
109
146
|
/** Optional: locked/vesting token allocations via Streamflow */
|
|
110
147
|
lockedAllocations?: LockedAllocation[];
|
|
111
148
|
}
|
|
149
|
+
/**
|
|
150
|
+
* Input for creating a bonding curve launch.
|
|
151
|
+
*/
|
|
152
|
+
export interface BondingCurveLaunchInput {
|
|
153
|
+
/** Bonding curve (primary sale mechanism) configuration */
|
|
154
|
+
bondingCurve: BondingCurveConfig;
|
|
155
|
+
}
|
|
112
156
|
export interface GenesisApiConfig {
|
|
113
157
|
/** Base URL of the Genesis API. Defaults to 'https://api.metaplex.com'. */
|
|
114
158
|
baseUrl?: string;
|
|
@@ -118,7 +162,12 @@ export interface GenesisApiConfig {
|
|
|
118
162
|
export interface RegisterLaunchInput {
|
|
119
163
|
/** The genesis account public key (returned by createLaunch) */
|
|
120
164
|
genesisAccount: PublicKey | string;
|
|
165
|
+
/** The original create launch input, used to reconstruct the payload for validation */
|
|
121
166
|
createLaunchInput: CreateLaunchInput;
|
|
167
|
+
/** Optional creator wallet override (if different from createLaunchInput.wallet) */
|
|
168
|
+
creatorWallet?: PublicKey | string;
|
|
169
|
+
/** Optional Twitter verification token for verified badge */
|
|
170
|
+
twitterVerificationToken?: string;
|
|
122
171
|
}
|
|
123
172
|
export interface CreateLaunchResponse {
|
|
124
173
|
/** Deserialized Umi transactions ready to be signed and sent */
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
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:
|
|
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,7 +22,7 @@ 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:
|
|
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
|
*
|
|
@@ -32,7 +32,7 @@ export declare function getSwapAmountInForOut(bucket: BondingCurveBucketV1, amou
|
|
|
32
32
|
* @returns An object containing the actual input amount, fee, and output amount
|
|
33
33
|
* @throws Error if the bucket has insufficient reserves or calculation errors occur
|
|
34
34
|
*/
|
|
35
|
-
export declare function getSwapResult(bucket:
|
|
35
|
+
export declare function getSwapResult(bucket: BondingCurveBucketV2, amountIn: bigint, swapDirection: SwapDirection): {
|
|
36
36
|
amountIn: bigint;
|
|
37
37
|
fee: bigint;
|
|
38
38
|
amountOut: bigint;
|
|
@@ -43,4 +43,4 @@ export declare function getSwapResult(bucket: BondingCurveBucketV1, amountIn: bi
|
|
|
43
43
|
* @param bucket - The bonding curve bucket
|
|
44
44
|
* @returns The current price
|
|
45
45
|
*/
|
|
46
|
-
export declare function getCurrentPrice(bucket:
|
|
46
|
+
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.
|
|
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.
|
|
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
|
}
|
|
@@ -83,8 +83,8 @@ function getSwapResult(bucket, amountIn, swapDirection) {
|
|
|
83
83
|
}
|
|
84
84
|
// Check if we have enough reserves for the swap
|
|
85
85
|
const reservesOut = swapDirection === generated_1.SwapDirection.Buy
|
|
86
|
-
? bucket.
|
|
87
|
-
: bucket.
|
|
86
|
+
? bucket.bucket.baseTokenBalance
|
|
87
|
+
: bucket.quoteTokenDepositTotal;
|
|
88
88
|
if (reservesOut === 0n) {
|
|
89
89
|
throw new Error('Insufficient liquidity: no reserves available');
|
|
90
90
|
}
|
|
@@ -106,8 +106,11 @@ function getSwapResult(bucket, amountIn, swapDirection) {
|
|
|
106
106
|
amountOut = reservesOut;
|
|
107
107
|
feeOut = 0n;
|
|
108
108
|
}
|
|
109
|
-
// Recalculate the
|
|
110
|
-
|
|
109
|
+
// Recalculate amountIn based on the gross amount leaving the pool
|
|
110
|
+
// (reservesOut = amountOut + feeOut), not just the net (amountOut),
|
|
111
|
+
// to maintain the constant product invariant. The AMM produces the
|
|
112
|
+
// gross output; fees are subtracted afterward.
|
|
113
|
+
amountInAfterFee = getSwapAmountInForOut(bucket, swapDirection === generated_1.SwapDirection.Sell ? amountOut + feeOut : amountOut, swapDirection);
|
|
111
114
|
// No need to remove feeIn from amountIn, as we are adding SOL from the payer to the bucket in the buy case
|
|
112
115
|
if (swapDirection === generated_1.SwapDirection.Buy) {
|
|
113
116
|
feeIn = (0, fees_1.calculateFee)(amountInAfterFee, bucket.depositFeeType, bucket.depositFee);
|
|
@@ -136,10 +139,11 @@ exports.getSwapResult = getSwapResult;
|
|
|
136
139
|
function getCurrentPrice(bucket) {
|
|
137
140
|
switch (bucket.bondingCurveType) {
|
|
138
141
|
case generated_1.BondingCurveType.ConstantProduct:
|
|
139
|
-
return bucket.
|
|
140
|
-
? (bucket.
|
|
141
|
-
|
|
142
|
-
|
|
142
|
+
return bucket.constantProductParams.virtualSol > 0n
|
|
143
|
+
? (bucket.constantProductParams.virtualTokens +
|
|
144
|
+
bucket.bucket.baseTokenBalance) /
|
|
145
|
+
(bucket.constantProductParams.virtualSol +
|
|
146
|
+
bucket.quoteTokenDepositTotal)
|
|
143
147
|
: 0n;
|
|
144
148
|
default:
|
|
145
149
|
throw new Error(`Unsupported bonding curve type: ${bucket.bondingCurveType}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bondingCurveHelpers.js","sourceRoot":"","sources":["../../src/bondingCurveHelpers.ts"],"names":[],"mappings":";;;AAAA,iCAAsC;AACtC,2CAIqB;AACrB,2CAA2C;AAE3C;;;;;;;;;;GAUG;AACH,SAAgB,qBAAqB,CACnC,MAA4B,EAC5B,QAAgB,EAChB,SAAwB;IAExB,QAAQ,MAAM,CAAC,gBAAgB,EAAE;QAC/B,KAAK,4BAAgB,CAAC,eAAe;YACnC,OAAO,oCAAoC,CACzC,QAAQ,EACR,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"bondingCurveHelpers.js","sourceRoot":"","sources":["../../src/bondingCurveHelpers.ts"],"names":[],"mappings":"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"}
|