@shogun-sdk/intents-sdk 1.2.5 → 1.2.6-test

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.
Files changed (121) hide show
  1. package/README.md +3 -19
  2. package/dist/esm/chains.js +3 -0
  3. package/dist/esm/chains.js.map +1 -1
  4. package/dist/esm/constants.js +9 -0
  5. package/dist/esm/constants.js.map +1 -1
  6. package/dist/esm/core/evm/chain-provider.js +2 -1
  7. package/dist/esm/core/evm/chain-provider.js.map +1 -1
  8. package/dist/esm/core/evm/cross-chain-limit-order.js +1 -1
  9. package/dist/esm/core/evm/cross-chain-limit-order.js.map +1 -1
  10. package/dist/esm/core/evm/permit2-signature-transfer.js +15 -0
  11. package/dist/esm/core/evm/permit2-signature-transfer.js.map +1 -0
  12. package/dist/esm/core/evm/single-chain-dca-order.js +1 -1
  13. package/dist/esm/core/evm/single-chain-dca-order.js.map +1 -1
  14. package/dist/esm/core/evm/single-chain-limit-order.js +1 -1
  15. package/dist/esm/core/evm/single-chain-limit-order.js.map +1 -1
  16. package/dist/esm/core/solana/dca/single-chain-dca-order.js +3 -2
  17. package/dist/esm/core/solana/dca/single-chain-dca-order.js.map +1 -1
  18. package/dist/esm/core/solana/dca/single-chain-limit-order.js +3 -2
  19. package/dist/esm/core/solana/dca/single-chain-limit-order.js.map +1 -1
  20. package/dist/esm/core/solana/utils.js +14 -4
  21. package/dist/esm/core/solana/utils.js.map +1 -1
  22. package/dist/esm/core/sui/single-chain-dca-order.js +2 -1
  23. package/dist/esm/core/sui/single-chain-dca-order.js.map +1 -1
  24. package/dist/esm/core/sui/single-chain-limit-order.js +2 -1
  25. package/dist/esm/core/sui/single-chain-limit-order.js.map +1 -1
  26. package/dist/esm/index.js +6 -3
  27. package/dist/esm/index.js.map +1 -1
  28. package/dist/esm/types/token-list.js +2 -0
  29. package/dist/esm/types/token-list.js.map +1 -0
  30. package/dist/esm/utils/defillama.js +1 -0
  31. package/dist/esm/utils/defillama.js.map +1 -1
  32. package/dist/esm/utils/quote/aggregator.js +158 -42
  33. package/dist/esm/utils/quote/aggregator.js.map +1 -1
  34. package/dist/esm/utils/quote/paraswap.js +1 -0
  35. package/dist/esm/utils/quote/paraswap.js.map +1 -1
  36. package/dist/esm/utils/quote/pumpfun/estimations.js +169 -0
  37. package/dist/esm/utils/quote/pumpfun/estimations.js.map +1 -0
  38. package/dist/esm/utils/quote/pumpfun/estimations_amm.js +130 -0
  39. package/dist/esm/utils/quote/pumpfun/estimations_amm.js.map +1 -0
  40. package/dist/esm/utils/quote/pumpfun/index.js +198 -0
  41. package/dist/esm/utils/quote/pumpfun/index.js.map +1 -0
  42. package/dist/esm/utils/quote/pumpfun/models.js +70 -0
  43. package/dist/esm/utils/quote/pumpfun/models.js.map +1 -0
  44. package/dist/esm/utils/quote/pumpfun/utils.js +269 -0
  45. package/dist/esm/utils/quote/pumpfun/utils.js.map +1 -0
  46. package/dist/esm/utils/quote/raydium.js +336 -0
  47. package/dist/esm/utils/quote/raydium.js.map +1 -0
  48. package/dist/esm/utils/quote/stablecoins-tokens.js +1 -0
  49. package/dist/esm/utils/quote/stablecoins-tokens.js.map +1 -1
  50. package/dist/esm/utils/quote/utils.js +8 -0
  51. package/dist/esm/utils/quote/utils.js.map +1 -0
  52. package/dist/esm/utils/tokens/index.js +37 -0
  53. package/dist/esm/utils/tokens/index.js.map +1 -0
  54. package/dist/types/chains.d.ts +4 -2
  55. package/dist/types/chains.d.ts.map +1 -1
  56. package/dist/types/constants.d.ts +2 -1
  57. package/dist/types/constants.d.ts.map +1 -1
  58. package/dist/types/core/evm/chain-provider.d.ts.map +1 -1
  59. package/dist/types/core/evm/permit2-signature-transfer.d.ts +3 -0
  60. package/dist/types/core/evm/permit2-signature-transfer.d.ts.map +1 -0
  61. package/dist/types/core/solana/dca/single-chain-dca-order.d.ts +1 -2
  62. package/dist/types/core/solana/dca/single-chain-dca-order.d.ts.map +1 -1
  63. package/dist/types/core/solana/dca/single-chain-limit-order.d.ts +1 -2
  64. package/dist/types/core/solana/dca/single-chain-limit-order.d.ts.map +1 -1
  65. package/dist/types/core/solana/utils.d.ts +2 -0
  66. package/dist/types/core/solana/utils.d.ts.map +1 -1
  67. package/dist/types/core/sui/single-chain-dca-order.d.ts.map +1 -1
  68. package/dist/types/core/sui/single-chain-limit-order.d.ts.map +1 -1
  69. package/dist/types/index.d.ts +5 -3
  70. package/dist/types/index.d.ts.map +1 -1
  71. package/dist/types/types/token-list.d.ts +30 -0
  72. package/dist/types/types/token-list.d.ts.map +1 -0
  73. package/dist/types/utils/defillama.d.ts +1 -0
  74. package/dist/types/utils/defillama.d.ts.map +1 -1
  75. package/dist/types/utils/quote/aggregator.d.ts +42 -5
  76. package/dist/types/utils/quote/aggregator.d.ts.map +1 -1
  77. package/dist/types/utils/quote/paraswap.d.ts.map +1 -1
  78. package/dist/types/utils/quote/pumpfun/estimations.d.ts +30 -0
  79. package/dist/types/utils/quote/pumpfun/estimations.d.ts.map +1 -0
  80. package/dist/types/utils/quote/pumpfun/estimations_amm.d.ts +49 -0
  81. package/dist/types/utils/quote/pumpfun/estimations_amm.d.ts.map +1 -0
  82. package/dist/types/utils/quote/pumpfun/index.d.ts +10 -0
  83. package/dist/types/utils/quote/pumpfun/index.d.ts.map +1 -0
  84. package/dist/types/utils/quote/pumpfun/models.d.ts +94 -0
  85. package/dist/types/utils/quote/pumpfun/models.d.ts.map +1 -0
  86. package/dist/types/utils/quote/pumpfun/utils.d.ts +50 -0
  87. package/dist/types/utils/quote/pumpfun/utils.d.ts.map +1 -0
  88. package/dist/types/utils/quote/raydium.d.ts +98 -0
  89. package/dist/types/utils/quote/raydium.d.ts.map +1 -0
  90. package/dist/types/utils/quote/stablecoins-tokens.d.ts.map +1 -1
  91. package/dist/types/utils/quote/utils.d.ts +5 -0
  92. package/dist/types/utils/quote/utils.d.ts.map +1 -0
  93. package/dist/types/utils/tokens/index.d.ts +20 -0
  94. package/dist/types/utils/tokens/index.d.ts.map +1 -0
  95. package/package.json +20 -18
  96. package/src/chains.ts +3 -0
  97. package/src/constants.ts +12 -2
  98. package/src/core/evm/chain-provider.ts +2 -1
  99. package/src/core/evm/cross-chain-limit-order.ts +1 -1
  100. package/src/core/evm/permit2-signature-transfer.ts +15 -0
  101. package/src/core/evm/single-chain-dca-order.ts +1 -1
  102. package/src/core/evm/single-chain-limit-order.ts +1 -1
  103. package/src/core/solana/dca/single-chain-dca-order.ts +3 -3
  104. package/src/core/solana/dca/single-chain-limit-order.ts +3 -2
  105. package/src/core/solana/utils.ts +24 -12
  106. package/src/core/sui/single-chain-dca-order.ts +2 -2
  107. package/src/core/sui/single-chain-limit-order.ts +2 -2
  108. package/src/index.ts +14 -4
  109. package/src/types/token-list.ts +35 -0
  110. package/src/utils/defillama.ts +1 -0
  111. package/src/utils/quote/aggregator.ts +210 -55
  112. package/src/utils/quote/paraswap.ts +1 -0
  113. package/src/utils/quote/pumpfun/estimations.ts +206 -0
  114. package/src/utils/quote/pumpfun/estimations_amm.ts +165 -0
  115. package/src/utils/quote/pumpfun/index.ts +266 -0
  116. package/src/utils/quote/pumpfun/models.ts +163 -0
  117. package/src/utils/quote/pumpfun/utils.ts +343 -0
  118. package/src/utils/quote/raydium.ts +506 -0
  119. package/src/utils/quote/stablecoins-tokens.ts +1 -0
  120. package/src/utils/quote/utils.ts +8 -0
  121. package/src/utils/tokens/index.ts +38 -0
@@ -4,38 +4,49 @@ import {} from '@jup-ag/api';
4
4
  import { ParaswapQuoteProvider } from './paraswap.js';
5
5
  import { CROSS_CHAIN_TOKENS } from './stablecoins-tokens.js';
6
6
  import { AftermathQuoteProvider } from './aftermath.js';
7
- import { calculateAmounts } from '../defillama.js';
8
7
  import { LiquidSwapQuoteProvider } from './liquidswap.js';
8
+ import { RaydiumQuoteProvider } from './raydium.js';
9
+ import { PumpFunQuoteProvider } from './pumpfun/index.js';
10
+ const compareAddresses = (firstAddress, secondAddress) => {
11
+ return !!firstAddress && !!secondAddress && firstAddress.toLowerCase() === secondAddress.toLowerCase();
12
+ };
9
13
  export class QuoteProvider {
10
- static async getQuoteFromDefillama(params) {
11
- const defillamaQuote = await calculateAmounts({
12
- amountIn: params.amount,
13
- tokenIn: params.tokenIn,
14
- tokenOut: params.tokenOut,
15
- destChainId: params.destChainId,
16
- srcChainId: params.sourceChainId,
17
- });
18
- return {
19
- amountInUsd: 0,
20
- estimatedAmountOutUsd: 0,
21
- estimatedAmountOutUsdReduced: 0,
22
- estimatedAmountInAsMinStablecoinAmount: defillamaQuote.minStablecoinsAmount,
23
- estimatedAmountOut: defillamaQuote.amountOut,
24
- estimatedAmountOutReduced: defillamaQuote.amountOut,
25
- };
26
- }
27
- static async getQuoteWithDefillamaFallback(params) {
14
+ static async getQuote(params) {
28
15
  try {
29
16
  const quote = await this.getQuoteFromRouters(params);
30
- return quote;
17
+ // Adapt QuoteResponseInternal to QuoteResponse by adding tokenIn and tokenOut metadata fields
18
+ return {
19
+ ...quote,
20
+ tokenIn: {
21
+ address: params.tokenIn,
22
+ chainId: params.sourceChainId
23
+ },
24
+ tokenOut: {
25
+ address: params.tokenOut,
26
+ chainId: params.destChainId
27
+ }
28
+ };
31
29
  }
32
30
  catch (e) {
33
- const quote = await this.getQuoteFromDefillama(params);
34
- return quote;
31
+ console.error('Error getting quote from routers:', e);
32
+ throw new Error('Failed to get quote from routers');
35
33
  }
36
34
  }
37
- static async getQuote(params) {
38
- return this.getQuoteWithDefillamaFallback(params);
35
+ /**
36
+ * Get a quote for Solana with explicit provider selection
37
+ * @param params - Quote parameters including provider preference
38
+ * @returns Quote response
39
+ */
40
+ static async getSolanaQuote(params) {
41
+ const singleChainParams = {
42
+ chainId: ChainID.Solana,
43
+ amount: params.amount,
44
+ tokenIn: params.tokenIn,
45
+ tokenOut: params.tokenOut,
46
+ slippageBps: params.slippageBps,
47
+ provider: params.provider,
48
+ };
49
+ return this.getSingleChainQuote(singleChainParams);
39
50
  }
40
51
  static async getQuoteFromRouters(params) {
41
52
  const bridgeTokenSymbol = QuoteProvider.DEFAULT_BRIDGE_TOKEN;
@@ -55,25 +66,24 @@ export class QuoteProvider {
55
66
  tokenOut: params.tokenOut,
56
67
  };
57
68
  const destQuote = await this.getSingleChainQuote(destSingleChainQuoteParams);
58
- // Use weighted reduction instead of fixed percentage
59
- const weightedReductionFactor = this.calculateWeightedReductionFactorForUsd(destQuote.amountOutUsd);
60
- const estimatedAmountOutReduced = BigInt(Math.floor(Number(destQuote.amountOut) * weightedReductionFactor));
61
- const estimatedAmountOutUsdReduced = destQuote.amountOutUsd * weightedReductionFactor;
62
- const reducedAmountInUsd = this.calculateWeightedReductionFactorForUsd(sourceQuote.amountInUsd);
63
- const estimatedAmountInAsMinStablecoinAmount = BigInt(Math.floor(reducedAmountInUsd * 10 ** this.DEFAULT_BRIDGE_TOKEN_DECIMALS));
69
+ // // Use weighted reduction instead of fixed percentage
70
+ // const weightedReductionFactor = this.calculateWeightedReductionFactorForUsd(destQuote.amountOutUsd);
71
+ // const weightedReductionFactor = 0.999;
72
+ const estimatedAmountOutUsdReduced = destQuote.amountOutUsd;
73
+ const estimatedAmountInAsMinStablecoinAmount = BigInt(Math.floor(sourceQuote.amountInUsd * 10 ** this.DEFAULT_BRIDGE_TOKEN_DECIMALS));
64
74
  return {
65
75
  estimatedAmountOut: destQuote.amountOut,
66
76
  estimatedAmountOutUsd: destQuote.amountOutUsd,
67
77
  amountInUsd: sourceQuote.amountInUsd,
68
78
  estimatedAmountInAsMinStablecoinAmount,
69
- estimatedAmountOutReduced,
79
+ estimatedAmountOutReduced: destQuote.amountOutMin || destQuote.amountOut,
70
80
  estimatedAmountOutUsdReduced,
71
81
  };
72
82
  }
73
83
  static async getSingleChainQuote(params) {
74
- if (params.tokenIn.toLowerCase() === params.tokenOut.toLowerCase()) {
84
+ if (compareAddresses(params.tokenIn, params.tokenOut)) {
75
85
  let amountUsd = 0;
76
- if (params.tokenIn.toLowerCase() === CROSS_CHAIN_TOKENS.USDC[params.chainId].toLowerCase()) {
86
+ if (compareAddresses(params.tokenIn, CROSS_CHAIN_TOKENS.USDC[params.chainId])) {
77
87
  amountUsd = Number(params.amount) / 10 ** this.DEFAULT_BRIDGE_TOKEN_DECIMALS;
78
88
  }
79
89
  return {
@@ -83,7 +93,7 @@ export class QuoteProvider {
83
93
  amountInUsd: amountUsd,
84
94
  slippage: 0,
85
95
  priceImpact: 0,
86
- provider: getProviderNameByChainId(params.chainId),
96
+ provider: params.provider || getProviderNameByChainId(params.chainId),
87
97
  rawQuote: null,
88
98
  };
89
99
  }
@@ -92,8 +102,42 @@ export class QuoteProvider {
92
102
  return QuoteProvider.transformLiquidSwapQuote(liquidSwapQuote);
93
103
  }
94
104
  if (params.chainId === ChainID.Solana) {
95
- const jupiterQuote = await QuoteProvider.getJupiterQuote(params);
96
- return QuoteProvider.transformJupiterQuote(jupiterQuote);
105
+ // Check if provider is explicitly specified
106
+ if (params.provider === 'jupiter') {
107
+ const jupiterQuote = await QuoteProvider.getJupiterQuote(params);
108
+ return QuoteProvider.transformJupiterQuote(jupiterQuote);
109
+ }
110
+ else if (params.provider === 'raydium') {
111
+ const raydiumQuote = await QuoteProvider.getRaydiumQuote(params);
112
+ return raydiumQuote;
113
+ }
114
+ else if (params.provider === 'pumpfun') {
115
+ const pumpfunQuote = await QuoteProvider.getPumpFunQuote(params);
116
+ return pumpfunQuote;
117
+ }
118
+ else {
119
+ // Default: Try Jupiter first, fallback to Raydium and Pump if it fails
120
+ try {
121
+ const jupiterQuote = await QuoteProvider.getJupiterQuote(params);
122
+ if (!jupiterQuote.quote) {
123
+ throw new Error('Jupiter quote failed');
124
+ }
125
+ const transformedQuote = QuoteProvider.transformJupiterQuote(jupiterQuote);
126
+ return transformedQuote;
127
+ }
128
+ catch (error) {
129
+ console.warn('Jupiter quote failed, falling back to Raydium:', error);
130
+ // Try Raydium first, then Pumpfun
131
+ try {
132
+ const raydiumQuote = await QuoteProvider.getRaydiumQuote(params);
133
+ return raydiumQuote;
134
+ }
135
+ catch {
136
+ const pumpfunQuote = await QuoteProvider.getPumpFunQuote(params);
137
+ return pumpfunQuote;
138
+ }
139
+ }
140
+ }
97
141
  }
98
142
  if (params.chainId === ChainID.Sui) {
99
143
  const quote = await QuoteProvider.getAftermathQuote(params);
@@ -153,7 +197,7 @@ export class QuoteProvider {
153
197
  tokenIn: params.tokenIn,
154
198
  tokenOut: params.tokenOut,
155
199
  swapMode: 'ExactIn',
156
- slippageBps: params.slippageBps,
200
+ slippageBps: params.slippageBps ? params.slippageBps : 20, // Default 0.2% slippage
157
201
  });
158
202
  }
159
203
  static async getParaswapQuote(params) {
@@ -173,12 +217,39 @@ export class QuoteProvider {
173
217
  tokenOut: params.tokenOut,
174
218
  });
175
219
  }
220
+ //TODO: For Raydium and Pump we are applying slippage twice if there are 2 swaps (e.g., USDC -> SOL -> Token), should we just apply half and half on each swap?
221
+ static async getRaydiumQuote(params) {
222
+ const raydiumQuoter = new RaydiumQuoteProvider();
223
+ let request = {
224
+ inputMint: params.tokenIn,
225
+ outputMint: params.tokenOut,
226
+ amount: params.amount.toString(),
227
+ slippageBps: params.slippageBps || 20, // Default 0.2% slippage
228
+ };
229
+ try {
230
+ return this.transformRaydiumQuote(await raydiumQuoter.getQuote(request));
231
+ }
232
+ catch (e) {
233
+ console.log('Raydium AMM quote cannot find a route, trying with prebonded raydium');
234
+ return simpleQuoteToQuote(await raydiumQuoter.getQuotePrebonded(request), 'raydium');
235
+ }
236
+ }
237
+ static async getPumpFunQuote(params) {
238
+ const pumpfunQuoter = new PumpFunQuoteProvider();
239
+ let request = {
240
+ inputMint: params.tokenIn,
241
+ outputMint: params.tokenOut,
242
+ amount: params.amount.toString(),
243
+ slippageBps: params.slippageBps || 20, // Default 0.2% slippage
244
+ };
245
+ return simpleQuoteToQuote(await pumpfunQuoter.getQuote(request), 'pumpfun');
246
+ }
176
247
  static transformAftermathQuote({ quote, request, }) {
177
248
  let amountUsd = 0;
178
- if (request.tokenIn === CROSS_CHAIN_TOKENS.USDC[request.chainId]) {
249
+ if (compareAddresses(request.tokenIn, CROSS_CHAIN_TOKENS.USDC[request.chainId])) {
179
250
  amountUsd = Number(quote.coinIn.amount) / 10 ** this.DEFAULT_BRIDGE_TOKEN_DECIMALS;
180
251
  }
181
- if (request.tokenOut === CROSS_CHAIN_TOKENS.USDC[request.chainId]) {
252
+ if (compareAddresses(request.tokenOut, CROSS_CHAIN_TOKENS.USDC[request.chainId])) {
182
253
  amountUsd = Number(quote.coinOut.amount) / 10 ** this.DEFAULT_BRIDGE_TOKEN_DECIMALS;
183
254
  }
184
255
  return {
@@ -207,17 +278,19 @@ export class QuoteProvider {
207
278
  static transformJupiterQuote({ quote }) {
208
279
  const amountIn = Number(quote.inAmount);
209
280
  const amountOut = Number(quote.outAmount);
281
+ const amountOutMin = Number(quote.otherAmountThreshold);
210
282
  let amountUsd = 0;
211
283
  const priceImpact = quote.priceImpactPct ? Number(quote.priceImpactPct) * 100 : 0;
212
- if (quote.outputMint === CROSS_CHAIN_TOKENS.USDC[ChainID.Solana]) {
284
+ if (compareAddresses(quote.outputMint, CROSS_CHAIN_TOKENS.USDC[ChainID.Solana])) {
213
285
  amountUsd = amountOut / 10 ** this.DEFAULT_BRIDGE_TOKEN_DECIMALS;
214
286
  }
215
- if (quote.inputMint === CROSS_CHAIN_TOKENS.USDC[ChainID.Solana]) {
287
+ if (compareAddresses(quote.inputMint, CROSS_CHAIN_TOKENS.USDC[ChainID.Solana])) {
216
288
  amountUsd = amountIn / 10 ** this.DEFAULT_BRIDGE_TOKEN_DECIMALS;
217
289
  }
218
290
  return {
219
291
  amountIn: BigInt(amountIn),
220
292
  amountOut: BigInt(amountOut),
293
+ amountOutMin: BigInt(amountOutMin),
221
294
  amountOutUsd: amountUsd,
222
295
  amountInUsd: amountUsd,
223
296
  slippage: quote.slippageBps ? quote.slippageBps / 100 : 0,
@@ -226,6 +299,28 @@ export class QuoteProvider {
226
299
  rawQuote: quote,
227
300
  };
228
301
  }
302
+ static transformRaydiumQuote(raydiumQuote) {
303
+ const amountIn = BigInt(raydiumQuote.data.inAmount);
304
+ const amountOut = BigInt(raydiumQuote.data.outAmount);
305
+ let amountUsd = 0;
306
+ const priceImpact = Number(raydiumQuote.data.priceImpactPct) * 100;
307
+ if (compareAddresses(raydiumQuote.data.outputMint, CROSS_CHAIN_TOKENS.USDC[ChainID.Solana])) {
308
+ amountUsd = Number(amountOut) / 10 ** this.DEFAULT_BRIDGE_TOKEN_DECIMALS;
309
+ }
310
+ if (compareAddresses(raydiumQuote.data.inputMint, CROSS_CHAIN_TOKENS.USDC[ChainID.Solana])) {
311
+ amountUsd = Number(amountIn) / 10 ** this.DEFAULT_BRIDGE_TOKEN_DECIMALS;
312
+ }
313
+ return {
314
+ amountIn,
315
+ amountOut,
316
+ amountOutUsd: amountUsd,
317
+ amountInUsd: amountUsd,
318
+ slippage: raydiumQuote.data.slippageBps / 100,
319
+ priceImpact,
320
+ provider: 'raydium',
321
+ rawQuote: raydiumQuote,
322
+ };
323
+ }
229
324
  }
230
325
  Object.defineProperty(QuoteProvider, "DEFAULT_BRIDGE_TOKEN", {
231
326
  enumerable: true,
@@ -244,11 +339,32 @@ function getProviderNameByChainId(chainId) {
244
339
  case ChainID.Sui:
245
340
  return 'aftermath';
246
341
  case ChainID.Solana:
247
- return 'jupiter';
342
+ return 'jupiter'; // Primary provider, with Raydium and Pumpfun as fallbacks
248
343
  case ChainID.Hyperliquid:
249
344
  return 'liquidswap';
250
345
  default:
251
346
  return 'paraswap';
252
347
  }
253
348
  }
349
+ export function quoteToSimpleQuote(quote) {
350
+ return {
351
+ amountIn: quote.amountIn,
352
+ amountOut: quote.amountOut,
353
+ amountOutMin: quote.amountOutMin,
354
+ slippage: quote.slippage,
355
+ };
356
+ }
357
+ export function simpleQuoteToQuote(simpleQuote, provider) {
358
+ return {
359
+ amountIn: simpleQuote.amountIn,
360
+ amountOut: simpleQuote.amountOut,
361
+ amountOutMin: simpleQuote.amountOutMin,
362
+ slippage: simpleQuote.slippage,
363
+ amountInUsd: 0,
364
+ amountOutUsd: 0,
365
+ priceImpact: 0,
366
+ provider,
367
+ rawQuote: simpleQuote,
368
+ };
369
+ }
254
370
  //# sourceMappingURL=aggregator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"aggregator.js","sourceRoot":"","sources":["../../../../src/utils/quote/aggregator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"aggregator.js","sourceRoot":"","sources":["../../../../src/utils/quote/aggregator.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ const rpcProvidersUrl = {
9
9
  [ChainID.Optimism]: 'https://optimism-rpc.publicnode.com',
10
10
  [ChainID.Base]: 'https://base-rpc.publicnode.com',
11
11
  [ChainID.Hyperliquid]: 'https://rpc.hyperliquid.xyz/evm',
12
+ [ChainID.BSC]: 'https://bsc-dataseed.ninicoin.io',
12
13
  };
13
14
  export class ParaswapQuoteProvider {
14
15
  constructor(chainId) {
@@ -1 +1 @@
1
- {"version":3,"file":"paraswap.js","sourceRoot":"","sources":["../../../../src/utils/quote/paraswap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"paraswap.js","sourceRoot":"","sources":["../../../../src/utils/quote/paraswap.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,169 @@
1
+ export const BPS_DEN = 10000n;
2
+ export var PreBondedTradeType;
3
+ (function (PreBondedTradeType) {
4
+ PreBondedTradeType["BuyExactIn"] = "BuyExactIn";
5
+ PreBondedTradeType["BuyExactOut"] = "BuyExactOut";
6
+ PreBondedTradeType["SellExactIn"] = "SellExactIn";
7
+ PreBondedTradeType["SellExactOut"] = "SellExactOut";
8
+ })(PreBondedTradeType || (PreBondedTradeType = {}));
9
+ class PreBondingError extends Error {
10
+ constructor(message) {
11
+ super(message);
12
+ this.name = 'PreBondingError';
13
+ }
14
+ }
15
+ /**
16
+ * Calculate output amount for constant product AMM: (amount_in * y_out) / (x_in + amount_in)
17
+ */
18
+ function cpAmountOut(amountIn, xIn, yOut) {
19
+ if (xIn === 0n || yOut === 0n) {
20
+ throw new PreBondingError('Zero value for reserve');
21
+ }
22
+ const num = amountIn * yOut;
23
+ const den = xIn + amountIn;
24
+ return num / den;
25
+ }
26
+ /**
27
+ * Buy exact SOL in, get tokens out.
28
+ * Fee is deducted from SOL before the swap calculation.
29
+ */
30
+ export function buyExactIn(curve, solIn, feeBps) {
31
+ if (curve.complete) {
32
+ throw new PreBondingError(`Pool not in fundraising state: ${JSON.stringify(curve)}`);
33
+ }
34
+ if (solIn === 0n) {
35
+ return 0n;
36
+ }
37
+ const vSol = curve.virtualSolReserves;
38
+ const vTok = curve.virtualTokenReserves;
39
+ // Deduct protocol + creator fee from input SOL
40
+ const fee = (solIn * feeBps) / BPS_DEN;
41
+ const effectiveSolIn = solIn - fee;
42
+ let out = cpAmountOut(effectiveSolIn, vSol, vTok);
43
+ // Observed rounding in buy path (+1)
44
+ out = out + 1n;
45
+ // Cap by real tokens available
46
+ return out < curve.realTokenReserves ? out : curve.realTokenReserves;
47
+ }
48
+ /**
49
+ * Sell exact tokens in, get SOL out.
50
+ * Fee is deducted from SOL output.
51
+ */
52
+ export function sellExactIn(curve, tokensIn, feeBps) {
53
+ if (curve.complete) {
54
+ throw new PreBondingError(`Pool not in fundraising state: ${JSON.stringify(curve)}`);
55
+ }
56
+ if (tokensIn === 0n) {
57
+ return 0n;
58
+ }
59
+ const vTok = curve.virtualTokenReserves;
60
+ const vSol = curve.virtualSolReserves;
61
+ const gross = cpAmountOut(tokensIn, vTok, vSol);
62
+ // Deduct protocol + creator fee from output SOL
63
+ const fee = (gross * feeBps) / BPS_DEN;
64
+ let net = gross - fee;
65
+ // Cap by real SOL available
66
+ net = net < curve.realSolReserves ? net : curve.realSolReserves;
67
+ return net;
68
+ }
69
+ /**
70
+ * Buy exact tokens out, calculate required SOL in.
71
+ * This calculates the EXACT amount needed, but doesn't account for slippage buffer.
72
+ */
73
+ export function buyExactOut(curve, tokensOut, feeBps) {
74
+ if (curve.complete) {
75
+ throw new PreBondingError(`Pool not in fundraising state: ${JSON.stringify(curve)}`);
76
+ }
77
+ if (tokensOut === 0n) {
78
+ return 0n;
79
+ }
80
+ if (tokensOut > curve.realTokenReserves) {
81
+ throw new PreBondingError('Insufficient liquidity: real_token cap');
82
+ }
83
+ const vSol = curve.virtualSolReserves;
84
+ const vTok = curve.virtualTokenReserves;
85
+ if (tokensOut >= vTok) {
86
+ throw new PreBondingError('Insufficient liquidity: tokens_out >= v_tok');
87
+ }
88
+ // Calculate effective SOL needed before fees: ceil((vSol * tokensOut) / (vTok - tokensOut))
89
+ const num = vSol * tokensOut;
90
+ const den = vTok - tokensOut;
91
+ const effIn = (num + den - 1n) / den; // ceiling division
92
+ const feeNum = BPS_DEN - feeBps;
93
+ if (feeNum === 0n) {
94
+ throw new PreBondingError('Invalid fee configuration');
95
+ }
96
+ // Calculate gross SOL including fees: ceil((effIn * BPS_DEN) / feeNum)
97
+ const grossIn = (effIn * BPS_DEN + feeNum - 1n) / feeNum;
98
+ return grossIn;
99
+ }
100
+ /**
101
+ * Sell exact SOL out, calculate required tokens in.
102
+ * This calculates the EXACT amount needed, but doesn't account for slippage buffer.
103
+ */
104
+ export function sellExactOut(curve, solOut, feeBps) {
105
+ if (curve.complete) {
106
+ throw new PreBondingError(`Pool not in fundraising state: ${JSON.stringify(curve)}`);
107
+ }
108
+ if (solOut === 0n) {
109
+ return 0n;
110
+ }
111
+ if (solOut > curve.realSolReserves) {
112
+ throw new PreBondingError('Insufficient liquidity: real_sol cap');
113
+ }
114
+ const vTok = curve.virtualTokenReserves;
115
+ const vSol = curve.virtualSolReserves;
116
+ // fee_num = BPS_DEN - fee_bps
117
+ const feeNum = BPS_DEN - feeBps;
118
+ if (feeNum === 0n) {
119
+ throw new PreBondingError('Invalid fee configuration');
120
+ }
121
+ // Upper bound via continuous formula: gross = ceil((solOut * BPS_DEN) / feeNum)
122
+ const gross = (solOut * BPS_DEN + feeNum - 1n) / feeNum; // ceil
123
+ if (gross >= vSol) {
124
+ throw new PreBondingError('Insufficient liquidity: gross >= v_sol');
125
+ }
126
+ // hi = ceil((vTok * gross) / (vSol - gross))
127
+ const num = vTok * gross;
128
+ const den = vSol - gross;
129
+ let hi = (num + den - 1n) / den; // ceil
130
+ if (hi === 0n) {
131
+ hi = 1n;
132
+ }
133
+ // Monotonic binary search on sellExactIn using forward path (with real floors)
134
+ let lo = 0n;
135
+ let ans = hi;
136
+ while (lo <= hi) {
137
+ const mid = lo + (hi - lo) / 2n;
138
+ const got = sellExactIn(curve, mid, feeBps);
139
+ if (got >= solOut) {
140
+ ans = mid;
141
+ if (mid === 0n)
142
+ break;
143
+ hi = mid - 1n;
144
+ }
145
+ else {
146
+ lo = mid + 1n;
147
+ }
148
+ }
149
+ return ans;
150
+ }
151
+ export function estimatePumpFunPrebonded(bondingCurve, globalAccount, amount, tradeType) {
152
+ if (bondingCurve.complete) {
153
+ throw new PreBondingError(`Pool not in fundraising state: ${JSON.stringify(bondingCurve)}`);
154
+ }
155
+ const totalFeeBps = globalAccount.feeBasisPoints + globalAccount.creatorFeeBasisPoints;
156
+ switch (tradeType) {
157
+ case PreBondedTradeType.BuyExactIn:
158
+ return buyExactIn(bondingCurve, amount, totalFeeBps);
159
+ case PreBondedTradeType.BuyExactOut:
160
+ return buyExactOut(bondingCurve, amount, totalFeeBps);
161
+ case PreBondedTradeType.SellExactIn:
162
+ return sellExactIn(bondingCurve, amount, totalFeeBps);
163
+ case PreBondedTradeType.SellExactOut:
164
+ return sellExactOut(bondingCurve, amount, totalFeeBps);
165
+ default:
166
+ throw new PreBondingError(`Invalid trade type: ${tradeType}`);
167
+ }
168
+ }
169
+ //# sourceMappingURL=estimations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"estimations.js","sourceRoot":"","sources":["../../../../../src/utils/quote/pumpfun/estimations.ts"],"names":[],"mappings":"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"}