@metaplex-foundation/genesis 0.29.1 → 0.31.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/bondingCurveHelpers.d.ts +34 -5
- package/dist/src/bondingCurveHelpers.js +164 -42
- package/dist/src/bondingCurveHelpers.js.map +1 -1
- package/dist/src/generated/accounts/raydiumCpmmBucketV2.d.ts +3 -0
- package/dist/src/generated/accounts/raydiumCpmmBucketV2.js +4 -2
- package/dist/src/generated/accounts/raydiumCpmmBucketV2.js.map +1 -1
- package/dist/src/generated/errors/genesis.d.ts +24 -0
- package/dist/src/generated/errors/genesis.js +45 -1
- package/dist/src/generated/errors/genesis.js.map +1 -1
- package/dist/src/generated/instructions/addConstantProductBondingCurveBucketV2.d.ts +3 -1
- package/dist/src/generated/instructions/addConstantProductBondingCurveBucketV2.js +47 -0
- package/dist/src/generated/instructions/addConstantProductBondingCurveBucketV2.js.map +1 -1
- package/dist/src/generated/instructions/addRaydiumCpmmBucketV2.d.ts +6 -6
- package/dist/src/generated/instructions/addRaydiumCpmmBucketV2.js +57 -32
- package/dist/src/generated/instructions/addRaydiumCpmmBucketV2.js.map +1 -1
- package/dist/src/generated/instructions/addRaydiumCpmmBucketV2Base.d.ts +18 -13
- package/dist/src/generated/instructions/addRaydiumCpmmBucketV2Base.js +50 -3
- package/dist/src/generated/instructions/addRaydiumCpmmBucketV2Base.js.map +1 -1
- package/dist/src/generated/instructions/collectRaydiumCpmmFeesV2.js +1 -1
- package/dist/src/generated/instructions/collectRaydiumCpmmFeesV2.js.map +1 -1
- package/dist/src/generated/instructions/collectRaydiumCpmmFeesWithCreatorFeeV2.d.ts +70 -0
- package/dist/src/generated/instructions/collectRaydiumCpmmFeesWithCreatorFeeV2.js +167 -0
- package/dist/src/generated/instructions/collectRaydiumCpmmFeesWithCreatorFeeV2.js.map +1 -0
- package/dist/src/generated/instructions/graduateToRaydiumCpmmV2.d.ts +2 -0
- package/dist/src/generated/instructions/graduateToRaydiumCpmmV2.js +12 -7
- package/dist/src/generated/instructions/graduateToRaydiumCpmmV2.js.map +1 -1
- package/dist/src/generated/instructions/index.d.ts +1 -0
- package/dist/src/generated/instructions/index.js +1 -0
- package/dist/src/generated/instructions/index.js.map +1 -1
- package/dist/src/generated/instructions/swapBondingCurveV2.d.ts +4 -2
- package/dist/src/generated/instructions/swapBondingCurveV2.js +6 -1
- package/dist/src/generated/instructions/swapBondingCurveV2.js.map +1 -1
- package/dist/src/generated/types/bondingCurveSwapEvent.d.ts +2 -0
- package/dist/src/generated/types/bondingCurveSwapEvent.js +1 -0
- package/dist/src/generated/types/bondingCurveSwapEvent.js.map +1 -1
- package/dist/src/generated/types/bondingCurveV2Extension.d.ts +8 -1
- package/dist/src/generated/types/bondingCurveV2Extension.js +6 -0
- package/dist/src/generated/types/bondingCurveV2Extension.js.map +1 -1
- package/dist/src/generated/types/bondingCurveV2ExtensionType.d.ts +2 -1
- package/dist/src/generated/types/bondingCurveV2ExtensionType.js +1 -0
- package/dist/src/generated/types/bondingCurveV2ExtensionType.js.map +1 -1
- package/dist/src/generated/types/bondingCurveV2Extensions.d.ts +5 -1
- package/dist/src/generated/types/bondingCurveV2Extensions.js +49 -1
- package/dist/src/generated/types/bondingCurveV2Extensions.js.map +1 -1
- package/dist/src/generated/types/bucketBase.d.ts +7 -3
- package/dist/src/generated/types/bucketBase.js +94 -1
- package/dist/src/generated/types/bucketBase.js.map +1 -1
- package/dist/src/generated/types/creatorFee.d.ts +23 -0
- package/dist/src/generated/types/creatorFee.js +22 -0
- package/dist/src/generated/types/creatorFee.js.map +1 -0
- package/dist/src/generated/types/creatorFeeInitArgs.d.ts +14 -0
- package/dist/src/generated/types/creatorFeeInitArgs.js +18 -0
- package/dist/src/generated/types/creatorFeeInitArgs.js.map +1 -0
- package/dist/src/generated/types/index.d.ts +2 -0
- package/dist/src/generated/types/index.js +2 -0
- package/dist/src/generated/types/index.js.map +1 -1
- package/dist/src/generated/types/raydiumCpmmV2Extension.d.ts +8 -1
- package/dist/src/generated/types/raydiumCpmmV2Extension.js +6 -0
- package/dist/src/generated/types/raydiumCpmmV2Extension.js.map +1 -1
- package/dist/src/generated/types/raydiumCpmmV2ExtensionType.d.ts +2 -1
- package/dist/src/generated/types/raydiumCpmmV2ExtensionType.js +1 -0
- package/dist/src/generated/types/raydiumCpmmV2ExtensionType.js.map +1 -1
- package/dist/src/generated/types/raydiumCpmmV2Extensions.d.ts +3 -1
- package/dist/src/generated/types/raydiumCpmmV2Extensions.js +48 -1
- package/dist/src/generated/types/raydiumCpmmV2Extensions.js.map +1 -1
- package/dist/src/raydium.d.ts +5 -0
- package/dist/src/raydium.js +11 -2
- package/dist/src/raydium.js.map +1 -1
- package/package.json +1 -1
|
@@ -27,25 +27,54 @@ export declare function getSwapAmountInForOut(bucket: BondingCurveBucketV2, amou
|
|
|
27
27
|
/**
|
|
28
28
|
* Calculates the complete swap result including fees for a bonding curve swap.
|
|
29
29
|
*
|
|
30
|
+
* Both the protocol fee and creator fee are calculated independently on the
|
|
31
|
+
* gross amount (not stacked). The first buy is fee-free for both fee types.
|
|
32
|
+
*
|
|
30
33
|
* @param bucket - The bonding curve bucket
|
|
31
34
|
* @param amountIn - The input amount (before fees)
|
|
32
35
|
* @param swapDirection - The swap direction (Buy = SOL in, tokens out; Sell = tokens in, SOL out)
|
|
33
|
-
* @param isFirstBuy - When true
|
|
34
|
-
* @returns An object containing the actual input amount,
|
|
36
|
+
* @param isFirstBuy - When true all fees are waived (first buy is fee-free)
|
|
37
|
+
* @returns An object containing the actual input amount, fees, and output amount
|
|
35
38
|
* @throws Error if the bucket has insufficient reserves or calculation errors occur
|
|
36
39
|
*/
|
|
37
40
|
export declare function getSwapResult(bucket: BondingCurveBucketV2, amountIn: bigint, swapDirection: SwapDirection, isFirstBuy?: boolean): {
|
|
38
41
|
amountIn: bigint;
|
|
39
42
|
fee: bigint;
|
|
43
|
+
creatorFee: bigint;
|
|
40
44
|
amountOut: bigint;
|
|
41
45
|
};
|
|
42
46
|
/**
|
|
43
|
-
* Get the current price of the bonding curve.
|
|
47
|
+
* Get the current price of the bonding curve as tokens per unit of quote.
|
|
48
|
+
* This performs integer division and rounds down.
|
|
44
49
|
*
|
|
45
50
|
* @param bucket - The bonding curve bucket
|
|
46
|
-
* @returns The current price
|
|
51
|
+
* @returns The current price (tokens per quote, rounded down)
|
|
47
52
|
*/
|
|
48
53
|
export declare function getCurrentPrice(bucket: BondingCurveBucketV2): bigint;
|
|
54
|
+
/**
|
|
55
|
+
* Get the current price of the bonding curve as quote per unit of base token.
|
|
56
|
+
* This is the inverse of `getCurrentPrice` and is typically what users think
|
|
57
|
+
* of as "price" (e.g. SOL per token). Performs integer division and rounds down.
|
|
58
|
+
*
|
|
59
|
+
* @param bucket - The bonding curve bucket
|
|
60
|
+
* @returns The current price (quote per base token, rounded down)
|
|
61
|
+
*/
|
|
62
|
+
export declare function getCurrentPriceQuotePerBase(bucket: BondingCurveBucketV2): bigint;
|
|
63
|
+
/**
|
|
64
|
+
* Get the raw reserve components that define the current price.
|
|
65
|
+
* Use this when you need full precision for your own rounding or
|
|
66
|
+
* decimal formatting (e.g. price = quoteReserves / baseReserves
|
|
67
|
+
* for quote-per-token, or baseReserves / quoteReserves for
|
|
68
|
+
* tokens-per-quote).
|
|
69
|
+
*
|
|
70
|
+
* @param bucket - The bonding curve bucket
|
|
71
|
+
* @returns `{ baseReserves, quoteReserves }` — the total virtual + real
|
|
72
|
+
* reserves on each side of the curve
|
|
73
|
+
*/
|
|
74
|
+
export declare function getCurrentPriceComponents(bucket: BondingCurveBucketV2): {
|
|
75
|
+
baseReserves: bigint;
|
|
76
|
+
quoteReserves: bigint;
|
|
77
|
+
};
|
|
49
78
|
/**
|
|
50
79
|
* Returns `true` if a first-buy restriction is configured and the first
|
|
51
80
|
* buy has not yet been completed. While pending, only the designated
|
|
@@ -96,7 +125,7 @@ export declare function getFillPercentage(bucket: BondingCurveBucketV2): number;
|
|
|
96
125
|
export declare function isGraduated(context: Pick<Context, 'rpc' | 'eddsa' | 'programs'>, bucket: BondingCurveBucketV2): Promise<boolean>;
|
|
97
126
|
/**
|
|
98
127
|
* Applies a slippage tolerance to an expected output amount to derive
|
|
99
|
-
* a `
|
|
128
|
+
* a `minAmountOutScaled` value suitable for the V2 swap instruction.
|
|
100
129
|
*
|
|
101
130
|
* @param expectedAmountOut - The expected output from `getSwapResult`
|
|
102
131
|
* @param slippageBps - Slippage tolerance in basis points (e.g. 50 = 0.5%, 200 = 2%)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.applySlippage = exports.isGraduated = exports.getFillPercentage = exports.isSoldOut = exports.isSwappable = exports.isFirstBuyPending = exports.getCurrentPrice = exports.getSwapResult = exports.getSwapAmountInForOut = exports.getSwapAmountOutForIn = void 0;
|
|
3
|
+
exports.applySlippage = exports.isGraduated = exports.getFillPercentage = exports.isSoldOut = exports.isSwappable = exports.isFirstBuyPending = exports.getCurrentPriceComponents = exports.getCurrentPriceQuotePerBase = exports.getCurrentPrice = exports.getSwapResult = exports.getSwapAmountInForOut = exports.getSwapAmountOutForIn = void 0;
|
|
4
4
|
const umi_1 = require("@metaplex-foundation/umi");
|
|
5
5
|
const fees_1 = require("./fees");
|
|
6
6
|
const generated_1 = require("./generated");
|
|
@@ -48,42 +48,52 @@ exports.getSwapAmountInForOut = getSwapAmountInForOut;
|
|
|
48
48
|
/**
|
|
49
49
|
* Calculates the complete swap result including fees for a bonding curve swap.
|
|
50
50
|
*
|
|
51
|
+
* Both the protocol fee and creator fee are calculated independently on the
|
|
52
|
+
* gross amount (not stacked). The first buy is fee-free for both fee types.
|
|
53
|
+
*
|
|
51
54
|
* @param bucket - The bonding curve bucket
|
|
52
55
|
* @param amountIn - The input amount (before fees)
|
|
53
56
|
* @param swapDirection - The swap direction (Buy = SOL in, tokens out; Sell = tokens in, SOL out)
|
|
54
|
-
* @param isFirstBuy - When true
|
|
55
|
-
* @returns An object containing the actual input amount,
|
|
57
|
+
* @param isFirstBuy - When true all fees are waived (first buy is fee-free)
|
|
58
|
+
* @returns An object containing the actual input amount, fees, and output amount
|
|
56
59
|
* @throws Error if the bucket has insufficient reserves or calculation errors occur
|
|
57
60
|
*/
|
|
58
61
|
function getSwapResult(bucket, amountIn, swapDirection, isFirstBuy = false) {
|
|
59
62
|
if (amountIn === 0n) {
|
|
60
63
|
throw new Error('Invalid amount: must be greater than 0');
|
|
61
64
|
}
|
|
62
|
-
|
|
63
|
-
//
|
|
64
|
-
//
|
|
65
|
+
const creatorFeeExt = getCreatorFeeExtension(bucket);
|
|
66
|
+
// Fee handling: both protocol and creator fees are applied to the SOL
|
|
67
|
+
// amount (input for buys, output for sells). Both are calculated
|
|
68
|
+
// independently on the gross amount, matching the on-chain logic.
|
|
65
69
|
let amountInAfterFee;
|
|
66
70
|
let feeIn;
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
71
|
+
let creatorFeeIn;
|
|
72
|
+
if (swapDirection === generated_1.SwapDirection.Buy && !isFirstBuy) {
|
|
73
|
+
feeIn = (0, fees_1.calculateFee)(amountIn, bucket.depositFeeType, bucket.depositFee);
|
|
74
|
+
creatorFeeIn = creatorFeeExt
|
|
75
|
+
? (0, fees_1.calculateFee)(amountIn, creatorFeeExt.feeType, creatorFeeExt.fee)
|
|
76
|
+
: 0n;
|
|
77
|
+
amountInAfterFee = (0, bigInt_1.maxBigInt)(amountIn - feeIn - creatorFeeIn, 0n);
|
|
72
78
|
}
|
|
73
79
|
else {
|
|
74
80
|
amountInAfterFee = amountIn;
|
|
75
81
|
feeIn = 0n;
|
|
82
|
+
creatorFeeIn = 0n;
|
|
76
83
|
}
|
|
77
|
-
// Calculate the swap amount
|
|
78
84
|
let amountOut = getSwapAmountOutForIn(bucket, amountInAfterFee, swapDirection);
|
|
79
|
-
// If we're swapping tokens for SOL (Sell), we apply the fee to the output amount
|
|
80
85
|
let feeOut;
|
|
86
|
+
let creatorFeeOut;
|
|
81
87
|
if (swapDirection === generated_1.SwapDirection.Sell) {
|
|
82
88
|
feeOut = (0, fees_1.calculateFee)(amountOut, bucket.withdrawFeeType, bucket.withdrawFee);
|
|
83
|
-
|
|
89
|
+
creatorFeeOut = creatorFeeExt
|
|
90
|
+
? (0, fees_1.calculateFee)(amountOut, creatorFeeExt.feeType, creatorFeeExt.fee)
|
|
91
|
+
: 0n;
|
|
92
|
+
amountOut = (0, bigInt_1.maxBigInt)(amountOut - feeOut - creatorFeeOut, 0n);
|
|
84
93
|
}
|
|
85
94
|
else {
|
|
86
95
|
feeOut = 0n;
|
|
96
|
+
creatorFeeOut = 0n;
|
|
87
97
|
}
|
|
88
98
|
// Check if we have enough reserves for the swap
|
|
89
99
|
const reservesOut = swapDirection === generated_1.SwapDirection.Buy
|
|
@@ -92,70 +102,182 @@ function getSwapResult(bucket, amountIn, swapDirection, isFirstBuy = false) {
|
|
|
92
102
|
if (reservesOut === 0n) {
|
|
93
103
|
throw new Error('Insufficient liquidity: no reserves available');
|
|
94
104
|
}
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
105
|
+
const totalFeeOut = feeOut + creatorFeeOut;
|
|
106
|
+
// If we're swapping more tokens than the bucket has, recalculate
|
|
107
|
+
if (amountOut + totalFeeOut > reservesOut) {
|
|
98
108
|
if (swapDirection === generated_1.SwapDirection.Sell) {
|
|
99
109
|
feeOut = (0, fees_1.calculateFee)(reservesOut, bucket.withdrawFeeType, bucket.withdrawFee);
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
110
|
+
creatorFeeOut = creatorFeeExt
|
|
111
|
+
? (0, fees_1.calculateFee)(reservesOut, creatorFeeExt.feeType, creatorFeeExt.fee)
|
|
112
|
+
: 0n;
|
|
113
|
+
amountOut = reservesOut - feeOut - creatorFeeOut;
|
|
104
114
|
if (amountOut < 0n) {
|
|
105
115
|
amountOut = 0n;
|
|
106
116
|
feeOut = reservesOut;
|
|
117
|
+
creatorFeeOut = 0n;
|
|
107
118
|
}
|
|
108
119
|
}
|
|
109
120
|
else {
|
|
110
121
|
amountOut = reservesOut;
|
|
111
122
|
feeOut = 0n;
|
|
123
|
+
creatorFeeOut = 0n;
|
|
112
124
|
}
|
|
113
125
|
// Recalculate amountIn based on the gross amount leaving the pool
|
|
114
|
-
// (reservesOut = amountOut + feeOut), not just the
|
|
115
|
-
// to maintain the constant product invariant.
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
126
|
+
// (reservesOut = amountOut + feeOut + creatorFeeOut), not just the
|
|
127
|
+
// net, to maintain the constant product invariant.
|
|
128
|
+
amountInAfterFee = getSwapAmountInForOut(bucket, swapDirection === generated_1.SwapDirection.Sell
|
|
129
|
+
? amountOut + feeOut + creatorFeeOut
|
|
130
|
+
: amountOut, swapDirection);
|
|
131
|
+
// amountInAfterFee is the NET the AMM needs. Derive the GROSS the
|
|
132
|
+
// user must pay, then calculate fees on that gross. This matches the
|
|
133
|
+
// on-chain gross_for_combined_net / gross_for_net logic and avoids
|
|
134
|
+
// systematic fee undercharging due to rounding.
|
|
135
|
+
if (swapDirection === generated_1.SwapDirection.Buy && !isFirstBuy) {
|
|
136
|
+
if (creatorFeeExt) {
|
|
137
|
+
const gross = grossForCombinedNet(amountInAfterFee, bucket.depositFeeType, bucket.depositFee, creatorFeeExt.feeType, creatorFeeExt.fee);
|
|
138
|
+
feeIn = (0, fees_1.calculateFee)(gross, bucket.depositFeeType, bucket.depositFee);
|
|
139
|
+
creatorFeeIn = (0, fees_1.calculateFee)(gross, creatorFeeExt.feeType, creatorFeeExt.fee);
|
|
140
|
+
}
|
|
141
|
+
else {
|
|
142
|
+
const gross = grossForNet(amountInAfterFee, bucket.depositFeeType, bucket.depositFee);
|
|
143
|
+
feeIn = gross - amountInAfterFee;
|
|
144
|
+
creatorFeeIn = 0n;
|
|
145
|
+
}
|
|
123
146
|
}
|
|
124
147
|
else {
|
|
125
148
|
feeIn = 0n;
|
|
149
|
+
creatorFeeIn = 0n;
|
|
126
150
|
}
|
|
127
151
|
}
|
|
128
|
-
// Calculate total amount in (including fees) - this is what the user actually pays
|
|
129
152
|
const totalAmountIn = swapDirection === generated_1.SwapDirection.Buy
|
|
130
|
-
? amountInAfterFee + feeIn
|
|
153
|
+
? amountInAfterFee + feeIn + creatorFeeIn
|
|
131
154
|
: amountInAfterFee;
|
|
132
155
|
return {
|
|
133
156
|
amountIn: totalAmountIn,
|
|
134
157
|
fee: feeIn + feeOut,
|
|
158
|
+
creatorFee: creatorFeeIn + creatorFeeOut,
|
|
135
159
|
amountOut,
|
|
136
160
|
};
|
|
137
161
|
}
|
|
138
162
|
exports.getSwapResult = getSwapResult;
|
|
163
|
+
function getCreatorFeeExtension(bucket) {
|
|
164
|
+
if ((0, umi_1.isSome)(bucket.extensions.creatorFee)) {
|
|
165
|
+
return bucket.extensions.creatorFee.value;
|
|
166
|
+
}
|
|
167
|
+
return null;
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Inverse of calculateFee for a single fee: given a net amount, find the
|
|
171
|
+
* gross such that `gross - calculateFee(gross) >= net`. Matches the Rust
|
|
172
|
+
* `Fee::gross_for_net`.
|
|
173
|
+
*/
|
|
174
|
+
function grossForNet(net, feeType, fee) {
|
|
175
|
+
if (net === 0n)
|
|
176
|
+
return 0n;
|
|
177
|
+
if (feeType === generated_1.FeeDiscriminants.BasisPoints) {
|
|
178
|
+
if (fee >= 10000n)
|
|
179
|
+
throw new Error('Fee would consume 100% or more');
|
|
180
|
+
if (fee === 0n)
|
|
181
|
+
return net;
|
|
182
|
+
const denominator = 10000n - fee;
|
|
183
|
+
const gross = (net * 10000n) / denominator;
|
|
184
|
+
const feeOnGross = (gross * fee) / 10000n;
|
|
185
|
+
const actualNet = gross - feeOnGross;
|
|
186
|
+
return actualNet < net ? gross + 1n : gross;
|
|
187
|
+
}
|
|
188
|
+
// Flat fee
|
|
189
|
+
return net + fee;
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* Inverse of two independent fees applied to the same gross: given a net
|
|
193
|
+
* amount, find the gross such that
|
|
194
|
+
* `gross - fee1(gross) - fee2(gross) >= net`. Matches the Rust
|
|
195
|
+
* `Fee::gross_for_combined_net`.
|
|
196
|
+
*/
|
|
197
|
+
function grossForCombinedNet(net, feeType1, fee1, feeType2, fee2) {
|
|
198
|
+
if (net === 0n)
|
|
199
|
+
return 0n;
|
|
200
|
+
if (feeType1 === generated_1.FeeDiscriminants.BasisPoints &&
|
|
201
|
+
feeType2 === generated_1.FeeDiscriminants.BasisPoints) {
|
|
202
|
+
const totalBps = fee1 + fee2;
|
|
203
|
+
if (totalBps >= 10000n)
|
|
204
|
+
throw new Error('Combined fees >= 100%');
|
|
205
|
+
if (totalBps === 0n)
|
|
206
|
+
return net;
|
|
207
|
+
const denominator = 10000n - totalBps;
|
|
208
|
+
const gross = (net * 10000n) / denominator;
|
|
209
|
+
const f1 = (gross * fee1) / 10000n;
|
|
210
|
+
const f2 = (gross * fee2) / 10000n;
|
|
211
|
+
const actualNet = gross - f1 - f2;
|
|
212
|
+
return actualNet < net ? gross + 1n : gross;
|
|
213
|
+
}
|
|
214
|
+
if (feeType1 === generated_1.FeeDiscriminants.Flat &&
|
|
215
|
+
feeType2 === generated_1.FeeDiscriminants.Flat) {
|
|
216
|
+
return net + fee1 + fee2;
|
|
217
|
+
}
|
|
218
|
+
// One BasisPoints, one Flat
|
|
219
|
+
const [bps, flat] = feeType1 === generated_1.FeeDiscriminants.BasisPoints ? [fee1, fee2] : [fee2, fee1];
|
|
220
|
+
if (bps >= 10000n)
|
|
221
|
+
throw new Error('BPS fee >= 100%');
|
|
222
|
+
const adjustedNet = net + flat;
|
|
223
|
+
if (bps === 0n)
|
|
224
|
+
return adjustedNet;
|
|
225
|
+
const denominator = 10000n - bps;
|
|
226
|
+
const gross = (adjustedNet * 10000n) / denominator;
|
|
227
|
+
const bpsFee = (gross * bps) / 10000n;
|
|
228
|
+
const actualNet = gross - bpsFee - flat;
|
|
229
|
+
return actualNet < net ? gross + 1n : gross;
|
|
230
|
+
}
|
|
139
231
|
/**
|
|
140
|
-
* Get the current price of the bonding curve.
|
|
232
|
+
* Get the current price of the bonding curve as tokens per unit of quote.
|
|
233
|
+
* This performs integer division and rounds down.
|
|
141
234
|
*
|
|
142
235
|
* @param bucket - The bonding curve bucket
|
|
143
|
-
* @returns The current price
|
|
236
|
+
* @returns The current price (tokens per quote, rounded down)
|
|
144
237
|
*/
|
|
145
238
|
function getCurrentPrice(bucket) {
|
|
239
|
+
const { baseReserves, quoteReserves } = getCurrentPriceComponents(bucket);
|
|
240
|
+
return quoteReserves > 0n ? baseReserves / quoteReserves : 0n;
|
|
241
|
+
}
|
|
242
|
+
exports.getCurrentPrice = getCurrentPrice;
|
|
243
|
+
/**
|
|
244
|
+
* Get the current price of the bonding curve as quote per unit of base token.
|
|
245
|
+
* This is the inverse of `getCurrentPrice` and is typically what users think
|
|
246
|
+
* of as "price" (e.g. SOL per token). Performs integer division and rounds down.
|
|
247
|
+
*
|
|
248
|
+
* @param bucket - The bonding curve bucket
|
|
249
|
+
* @returns The current price (quote per base token, rounded down)
|
|
250
|
+
*/
|
|
251
|
+
function getCurrentPriceQuotePerBase(bucket) {
|
|
252
|
+
const { baseReserves, quoteReserves } = getCurrentPriceComponents(bucket);
|
|
253
|
+
return baseReserves > 0n ? quoteReserves / baseReserves : 0n;
|
|
254
|
+
}
|
|
255
|
+
exports.getCurrentPriceQuotePerBase = getCurrentPriceQuotePerBase;
|
|
256
|
+
/**
|
|
257
|
+
* Get the raw reserve components that define the current price.
|
|
258
|
+
* Use this when you need full precision for your own rounding or
|
|
259
|
+
* decimal formatting (e.g. price = quoteReserves / baseReserves
|
|
260
|
+
* for quote-per-token, or baseReserves / quoteReserves for
|
|
261
|
+
* tokens-per-quote).
|
|
262
|
+
*
|
|
263
|
+
* @param bucket - The bonding curve bucket
|
|
264
|
+
* @returns `{ baseReserves, quoteReserves }` — the total virtual + real
|
|
265
|
+
* reserves on each side of the curve
|
|
266
|
+
*/
|
|
267
|
+
function getCurrentPriceComponents(bucket) {
|
|
146
268
|
switch (bucket.bondingCurveType) {
|
|
147
269
|
case generated_1.BondingCurveType.ConstantProduct:
|
|
148
|
-
return
|
|
149
|
-
|
|
150
|
-
bucket.bucket.baseTokenBalance
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
270
|
+
return {
|
|
271
|
+
baseReserves: bucket.constantProductParams.virtualTokens +
|
|
272
|
+
bucket.bucket.baseTokenBalance,
|
|
273
|
+
quoteReserves: bucket.constantProductParams.virtualSol +
|
|
274
|
+
bucket.quoteTokenDepositTotal,
|
|
275
|
+
};
|
|
154
276
|
default:
|
|
155
277
|
throw new Error(`Unsupported bonding curve type: ${bucket.bondingCurveType}`);
|
|
156
278
|
}
|
|
157
279
|
}
|
|
158
|
-
exports.
|
|
280
|
+
exports.getCurrentPriceComponents = getCurrentPriceComponents;
|
|
159
281
|
/**
|
|
160
282
|
* Returns `true` if a first-buy restriction is configured and the first
|
|
161
283
|
* buy has not yet been completed. While pending, only the designated
|
|
@@ -265,7 +387,7 @@ async function isGraduated(context, bucket) {
|
|
|
265
387
|
exports.isGraduated = isGraduated;
|
|
266
388
|
/**
|
|
267
389
|
* Applies a slippage tolerance to an expected output amount to derive
|
|
268
|
-
* a `
|
|
390
|
+
* a `minAmountOutScaled` value suitable for the V2 swap instruction.
|
|
269
391
|
*
|
|
270
392
|
* @param expectedAmountOut - The expected output from `getSwapResult`
|
|
271
393
|
* @param slippageBps - Slippage tolerance in basis points (e.g. 50 = 0.5%, 200 = 2%)
|
|
@@ -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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"}
|
|
@@ -24,6 +24,7 @@ export type RaydiumCpmmBucketV2AccountData = {
|
|
|
24
24
|
lpTokensClaimed: bigint;
|
|
25
25
|
startCondition: Condition;
|
|
26
26
|
graduateCondition: Condition;
|
|
27
|
+
poolState: PublicKey;
|
|
27
28
|
reserved: Array<number>;
|
|
28
29
|
extensions: RaydiumCpmmV2Extensions;
|
|
29
30
|
padding2: Array<number>;
|
|
@@ -44,6 +45,7 @@ export type RaydiumCpmmBucketV2AccountDataArgs = {
|
|
|
44
45
|
lpTokensClaimed: number | bigint;
|
|
45
46
|
startCondition: ConditionArgs;
|
|
46
47
|
graduateCondition: ConditionArgs;
|
|
48
|
+
poolState: PublicKey;
|
|
47
49
|
reserved: Array<number>;
|
|
48
50
|
extensions: RaydiumCpmmV2ExtensionsArgs;
|
|
49
51
|
padding2: Array<number>;
|
|
@@ -70,6 +72,7 @@ export declare function getRaydiumCpmmBucketV2GpaBuilder(context: Pick<Context,
|
|
|
70
72
|
lpTokensClaimed: number | bigint;
|
|
71
73
|
startCondition: ConditionArgs;
|
|
72
74
|
graduateCondition: ConditionArgs;
|
|
75
|
+
poolState: PublicKey;
|
|
73
76
|
reserved: Array<number>;
|
|
74
77
|
extensions: RaydiumCpmmV2ExtensionsArgs;
|
|
75
78
|
padding2: Array<number>;
|
|
@@ -72,7 +72,8 @@ function getRaydiumCpmmBucketV2AccountDataSerializer() {
|
|
|
72
72
|
['lpTokensClaimed', (0, serializers_1.u64)()],
|
|
73
73
|
['startCondition', (0, types_1.getConditionSerializer)()],
|
|
74
74
|
['graduateCondition', (0, types_1.getConditionSerializer)()],
|
|
75
|
-
['
|
|
75
|
+
['poolState', (0, serializers_1.publicKey)()],
|
|
76
|
+
['reserved', (0, serializers_1.array)((0, serializers_1.u8)(), { size: 96 })],
|
|
76
77
|
['extensions', (0, types_1.getRaydiumCpmmV2ExtensionsSerializer)()],
|
|
77
78
|
['padding2', (0, serializers_1.array)((0, serializers_1.u8)(), { size: 4 })],
|
|
78
79
|
['endBehaviors', (0, serializers_1.array)((0, types_1.getBehaviorSerializer)())],
|
|
@@ -174,7 +175,8 @@ function getRaydiumCpmmBucketV2GpaBuilder(context) {
|
|
|
174
175
|
lpTokensClaimed: [312, (0, serializers_1.u64)()],
|
|
175
176
|
startCondition: [320, (0, types_1.getConditionSerializer)()],
|
|
176
177
|
graduateCondition: [384, (0, types_1.getConditionSerializer)()],
|
|
177
|
-
|
|
178
|
+
poolState: [448, (0, serializers_1.publicKey)()],
|
|
179
|
+
reserved: [480, (0, serializers_1.array)((0, serializers_1.u8)(), { size: 96 })],
|
|
178
180
|
extensions: [576, (0, types_1.getRaydiumCpmmV2ExtensionsSerializer)()],
|
|
179
181
|
padding2: [1016, (0, serializers_1.array)((0, serializers_1.u8)(), { size: 4 })],
|
|
180
182
|
endBehaviors: [1020, (0, serializers_1.array)((0, types_1.getBehaviorSerializer)())],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"raydiumCpmmBucketV2.js","sourceRoot":"","sources":["../../../../src/generated/accounts/raydiumCpmmBucketV2.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH,kDAiBkC;AAClC,sEAQ8C;AAC9C,oCAgBkB;
|
|
1
|
+
{"version":3,"file":"raydiumCpmmBucketV2.js","sourceRoot":"","sources":["../../../../src/generated/accounts/raydiumCpmmBucketV2.ts"],"names":[],"mappings":"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"}
|
|
@@ -1296,6 +1296,30 @@ export declare class MissingFirstBuySignerError extends ProgramError {
|
|
|
1296
1296
|
readonly code: number;
|
|
1297
1297
|
constructor(program: Program, cause?: Error);
|
|
1298
1298
|
}
|
|
1299
|
+
/** SwapAmountBelowMinimum: Swap buy amount is below the minimum of 1000 lamports */
|
|
1300
|
+
export declare class SwapAmountBelowMinimumError extends ProgramError {
|
|
1301
|
+
readonly name: string;
|
|
1302
|
+
readonly code: number;
|
|
1303
|
+
constructor(program: Program, cause?: Error);
|
|
1304
|
+
}
|
|
1305
|
+
/** InvalidCreatorFeeConfig: Invalid creator fee: wallet cannot be default key, fee must be non-zero, and fee_type must be valid */
|
|
1306
|
+
export declare class InvalidCreatorFeeConfigError extends ProgramError {
|
|
1307
|
+
readonly name: string;
|
|
1308
|
+
readonly code: number;
|
|
1309
|
+
constructor(program: Program, cause?: Error);
|
|
1310
|
+
}
|
|
1311
|
+
/** MissingCreatorFeeAccount: Creator fee extension is set but the creator fee token account was not provided */
|
|
1312
|
+
export declare class MissingCreatorFeeAccountError extends ProgramError {
|
|
1313
|
+
readonly name: string;
|
|
1314
|
+
readonly code: number;
|
|
1315
|
+
constructor(program: Program, cause?: Error);
|
|
1316
|
+
}
|
|
1317
|
+
/** InvalidCreatorFeeWallet: Creator fee token account owner does not match the configured creator fee wallet */
|
|
1318
|
+
export declare class InvalidCreatorFeeWalletError extends ProgramError {
|
|
1319
|
+
readonly name: string;
|
|
1320
|
+
readonly code: number;
|
|
1321
|
+
constructor(program: Program, cause?: Error);
|
|
1322
|
+
}
|
|
1299
1323
|
/**
|
|
1300
1324
|
* Attempts to resolve a custom program error from the provided error code.
|
|
1301
1325
|
* @category Errors
|
|
@@ -11,7 +11,7 @@ exports.DepositAlreadyClaimedError = exports.InvalidBucketIndexError = exports.I
|
|
|
11
11
|
exports.InvalidAuctionTreeError = exports.BucketPausedError = exports.VaultDepositConsumedError = exports.VaultWithdrawNotAllowedError = exports.InvalidActionsAuthorityError = exports.InvalidOrdinalError = exports.BondingCurveInsufficientFundsError = exports.BondingCurveConstantProductDecreasedError = exports.BondingCurveEndedError = exports.BondingCurveNotStartedError = exports.InvalidConstantProductError = exports.BondingCurveNotEndedError = exports.InsufficientOutputAmountError = exports.InvalidAmountError = exports.VaultEndedError = exports.VaultNotStartedError = exports.VaultNotEndedError = exports.InvalidScheduleTimingError = exports.InsufficientFundsForPenaltyFeeError = exports.InvalidLinearScheduleError = exports.InvalidPenaltyWalletError = exports.FeeTransferFailedError = exports.InvalidFeeOverrideError = exports.InvalidFeeOverrideTypeError = exports.InvalidFeeAuthorityError = exports.InvalidMerkleProofError = exports.PresalePerCooldownDepositLimitExceededError = exports.PresaleDepositCooldownActiveError = exports.PresaleDepositLimitExceededError = exports.InvalidPresaleDepositAmountError = exports.InvalidBackendSignerError = exports.PresaleBucketWithdrawNotAllowedError = exports.PresaleBucketNotEndedError = exports.PresaleBucketAlreadyFundedError = exports.PresaleSaleEndedError = exports.PresaleSaleNotStartedError = exports.DistributionEndedError = exports.InvalidMintForDistributionError = exports.InvalidSolAllocationBpsError = exports.GenesisAccountAlreadyFinalizedError = exports.DistributionNotStartedError = exports.InvalidAtaDerivationError = exports.InflowsMustBeCompletedError = exports.BucketDoesNotSupportFundingError = exports.UnlockedBucketNotInitializedError = exports.StreamflowNotInitializedError = exports.BucketIsNotYetFundedError = exports.InvalidProgramOwnerForBucketError = exports.UnlockedBucketAlreadyClaimedError = exports.InvalidBucketAddressError = void 0;
|
|
12
12
|
exports.InvalidPrimaryBucketError = exports.InvalidPrimaryBucketOwnerError = exports.DestinationBucketNotFoundError = exports.PresaleClaimEndedError = exports.MissingBackendSignerError = exports.InvalidDepositPdaAccountError = exports.InvalidQuoteTokenAccountOwnerError = exports.InvalidQuoteTokenAccountMintError = exports.InvalidGenesisAccountIndexError = exports.InvalidQuoteMintForGenesisAccountError = exports.InvalidQuoteMintError = exports.InvalidNativeSolMintError = exports.InvalidRaydiumProgramError = exports.InvalidRaydiumBucketSignerError = exports.RaydiumBucketNotFundedError = exports.MissingRaydiumBucketSignerError = exports.RaydiumBucketNotInitializedError = exports.RefundNotClaimedError = exports.TokensNotClaimedError = exports.TokensAlreadyClaimedError = exports.InvalidAuctionCapacityError = exports.LosingBidderCannotRebidError = exports.BidNotWinningError = exports.RefundAlreadyClaimedError = exports.CannotCloseWinningBidError = exports.BidQuantityCannotDecreaseError = exports.BidPriceCannotDecreaseError = exports.BidNotCompetitiveError = exports.BidQuantityExceedsTotalAllocationError = exports.BidQuantityExceedsMaximumError = exports.BidQuantityBelowMinimumError = exports.BidPriceBelowMinimumError = exports.BidQuantityCannotBeZeroError = exports.BidPriceCannotBeZeroError = exports.UnauthorizedBidderError = exports.InvalidBidIndexError = exports.InvalidBucketForAuctionBidError = exports.InvalidAuctionBidPdaDerivationError = exports.InvalidAuctionBidError = exports.AuctionNotEndedError = exports.AuctionEndedError = exports.AuctionNotStartedError = exports.InvalidAuctionExtensionConfigError = exports.MaximumBidQuantityExceedsAllocationError = exports.InvalidMaximumBidQuantityError = exports.InvalidMinimumPriceError = exports.InvalidTokenQuantityBpsError = exports.InvalidBidIncrementError = exports.InvalidTokenAllocationError = exports.InvalidAuctionTreeStateError = void 0;
|
|
13
13
|
exports.InsufficientUnlockedAmountError = exports.InvalidRemainingAccountsLengthError = exports.InvalidConditionTypeError = exports.InvalidAuthorityDestinationTokenAccountError = exports.MissingAuthorityDestinationTokenAccountError = exports.SupplyBelowAllocatedError = exports.InvalidMintAndBurnError = exports.InvalidMintAuthorityError = exports.InvalidSupplyDeltaError = exports.InvalidStreamflowMetadataAccountError = exports.GraduationNotStartedError = exports.BucketAlreadyGraduatedError = exports.TotalSupplyNotFullyAllocatedError = exports.InvalidStreamflowConfigError = exports.LockEndedError = exports.StreamflowBucketAlreadyLockedError = exports.MissingFinalizeBucketAccountsError = exports.LaunchPoolMissingGraduationBehaviorError = exports.InvalidRaydiumPermissionPdaError = exports.InvalidRaydiumSignerError = exports.InvalidAllocationQuoteTokenCapError = exports.InvalidBaseTokenAllocationError = exports.DepositAlreadyRefundedError = exports.MissingPenaltyQuoteTokenAccountError = exports.BehaviorNotSupportedForBucketTypeError = exports.InvalidMinimumQuoteTokenThresholdError = exports.LaunchPoolThresholdMetError = exports.LaunchPoolFundingThresholdNotMetError = exports.LaunchPoolClaimEndedError = exports.InvalidMetadataAccountError = exports.InvalidTokenAccountProgramOwnerError = exports.BehaviorPercentageOverflowError = exports.PresaleDepositBelowMinimumError = exports.InvalidMinimumDepositAmountError = exports.SourceBucketNotFoundError = exports.PresaleNotFullyClaimedError = exports.BucketDoesNotSupportUnsoldWithdrawalError = exports.InvalidUnsoldWithdrawalAmountError = exports.NoUnsoldTokensError = exports.SaleNotEndedError = exports.ClaimScheduleDurationTooShortError = exports.InvalidClaimScheduleCliffAmountError = exports.InvalidClaimScheduleDurationError = exports.InvalidClaimSchedulePeriodError = exports.InvalidPresaleDepositError = exports.InvalidAuthoritySourceTokenAccountError = exports.MissingAuthoritySourceTokenAccountError = exports.UnlockedBucketClaimEndedError = exports.InvalidFundingModeError = exports.InvalidSecondaryBucketError = void 0;
|
|
14
|
-
exports.getGenesisErrorFromName = exports.getGenesisErrorFromCode = exports.MissingFirstBuySignerError = exports.InvalidBehaviorTypeError = exports.InvalidFirstBuyConfigError = exports.FirstBuyAmountMismatchError = exports.FirstBuyRestrictedError = exports.BondingCurveMissingGraduationBehaviorError = exports.InvalidSwapDirectionError = exports.InvalidLaunchTypeError = exports.InvalidRaydiumPoolStateError = exports.InstructionDeprecatedError = exports.InvalidConditionTypeForSlotError = exports.UninitializedConditionError = exports.InvalidRaydiumAmmConfigError = exports.InvalidLpClaimAuthorityError = exports.NoLpTokensToClaimError = void 0;
|
|
14
|
+
exports.getGenesisErrorFromName = exports.getGenesisErrorFromCode = exports.InvalidCreatorFeeWalletError = exports.MissingCreatorFeeAccountError = exports.InvalidCreatorFeeConfigError = exports.SwapAmountBelowMinimumError = exports.MissingFirstBuySignerError = exports.InvalidBehaviorTypeError = exports.InvalidFirstBuyConfigError = exports.FirstBuyAmountMismatchError = exports.FirstBuyRestrictedError = exports.BondingCurveMissingGraduationBehaviorError = exports.InvalidSwapDirectionError = exports.InvalidLaunchTypeError = exports.InvalidRaydiumPoolStateError = exports.InstructionDeprecatedError = exports.InvalidConditionTypeForSlotError = exports.UninitializedConditionError = exports.InvalidRaydiumAmmConfigError = exports.InvalidLpClaimAuthorityError = exports.NoLpTokensToClaimError = void 0;
|
|
15
15
|
const umi_1 = require("@metaplex-foundation/umi");
|
|
16
16
|
const codeToErrorMap = new Map();
|
|
17
17
|
const nameToErrorMap = new Map();
|
|
@@ -2380,6 +2380,50 @@ class MissingFirstBuySignerError extends umi_1.ProgramError {
|
|
|
2380
2380
|
exports.MissingFirstBuySignerError = MissingFirstBuySignerError;
|
|
2381
2381
|
codeToErrorMap.set(0xd6, MissingFirstBuySignerError);
|
|
2382
2382
|
nameToErrorMap.set('MissingFirstBuySigner', MissingFirstBuySignerError);
|
|
2383
|
+
/** SwapAmountBelowMinimum: Swap buy amount is below the minimum of 1000 lamports */
|
|
2384
|
+
class SwapAmountBelowMinimumError extends umi_1.ProgramError {
|
|
2385
|
+
constructor(program, cause) {
|
|
2386
|
+
super('Swap buy amount is below the minimum of 1000 lamports', program, cause);
|
|
2387
|
+
this.name = 'SwapAmountBelowMinimum';
|
|
2388
|
+
this.code = 0xd7; // 215
|
|
2389
|
+
}
|
|
2390
|
+
}
|
|
2391
|
+
exports.SwapAmountBelowMinimumError = SwapAmountBelowMinimumError;
|
|
2392
|
+
codeToErrorMap.set(0xd7, SwapAmountBelowMinimumError);
|
|
2393
|
+
nameToErrorMap.set('SwapAmountBelowMinimum', SwapAmountBelowMinimumError);
|
|
2394
|
+
/** InvalidCreatorFeeConfig: Invalid creator fee: wallet cannot be default key, fee must be non-zero, and fee_type must be valid */
|
|
2395
|
+
class InvalidCreatorFeeConfigError extends umi_1.ProgramError {
|
|
2396
|
+
constructor(program, cause) {
|
|
2397
|
+
super('Invalid creator fee: wallet cannot be default key, fee must be non-zero, and fee_type must be valid', program, cause);
|
|
2398
|
+
this.name = 'InvalidCreatorFeeConfig';
|
|
2399
|
+
this.code = 0xd8; // 216
|
|
2400
|
+
}
|
|
2401
|
+
}
|
|
2402
|
+
exports.InvalidCreatorFeeConfigError = InvalidCreatorFeeConfigError;
|
|
2403
|
+
codeToErrorMap.set(0xd8, InvalidCreatorFeeConfigError);
|
|
2404
|
+
nameToErrorMap.set('InvalidCreatorFeeConfig', InvalidCreatorFeeConfigError);
|
|
2405
|
+
/** MissingCreatorFeeAccount: Creator fee extension is set but the creator fee token account was not provided */
|
|
2406
|
+
class MissingCreatorFeeAccountError extends umi_1.ProgramError {
|
|
2407
|
+
constructor(program, cause) {
|
|
2408
|
+
super('Creator fee extension is set but the creator fee token account was not provided', program, cause);
|
|
2409
|
+
this.name = 'MissingCreatorFeeAccount';
|
|
2410
|
+
this.code = 0xd9; // 217
|
|
2411
|
+
}
|
|
2412
|
+
}
|
|
2413
|
+
exports.MissingCreatorFeeAccountError = MissingCreatorFeeAccountError;
|
|
2414
|
+
codeToErrorMap.set(0xd9, MissingCreatorFeeAccountError);
|
|
2415
|
+
nameToErrorMap.set('MissingCreatorFeeAccount', MissingCreatorFeeAccountError);
|
|
2416
|
+
/** InvalidCreatorFeeWallet: Creator fee token account owner does not match the configured creator fee wallet */
|
|
2417
|
+
class InvalidCreatorFeeWalletError extends umi_1.ProgramError {
|
|
2418
|
+
constructor(program, cause) {
|
|
2419
|
+
super('Creator fee token account owner does not match the configured creator fee wallet', program, cause);
|
|
2420
|
+
this.name = 'InvalidCreatorFeeWallet';
|
|
2421
|
+
this.code = 0xda; // 218
|
|
2422
|
+
}
|
|
2423
|
+
}
|
|
2424
|
+
exports.InvalidCreatorFeeWalletError = InvalidCreatorFeeWalletError;
|
|
2425
|
+
codeToErrorMap.set(0xda, InvalidCreatorFeeWalletError);
|
|
2426
|
+
nameToErrorMap.set('InvalidCreatorFeeWallet', InvalidCreatorFeeWalletError);
|
|
2383
2427
|
/**
|
|
2384
2428
|
* Attempts to resolve a custom program error from the provided error code.
|
|
2385
2429
|
* @category Errors
|