Releases: jup-ag/jupiter-swap-api
v6.0.12
Raydium CLMM program breaking changes by supporting Token2022
Changelog
- fix: JupiterError (error 400) on missing AMM and /swap /swap-instructions support
- feat: Price tracker improve locking
- feat: Every jupiter-swap-api arg can be an env var (#643)
- feat: Raydium CLMM V2 add support for token2022 (market cache not including yet)
- fix: Same token mints is an error 400 and other spam user input based errors
- feat: Bellman ford supports exact out
- feat: Tracking account "trackingAccount" transaction config
- fix: ACCESS_CONTROL_MAX_AGE to max, to avoid unnecessary round trip on subsequent requests
Commit a84cc55adfdd6f52acf9ca413ae5b102c07ced4d (release fork from d10812fbc2ffe4749e4d6d83ba790bf1c4a10ce0)
v6.0.11
The /indexed-route-map endpoint no longer returns the indexed-route-map by default, its usage is deprecated and not recommended but can be enabled with --enable-deprecated-indexed-route-maps
Changelog
- feat: on startup dex and tokens filtering:
--dexes
and--exclude-dexes
flag to control dexes loaded, usage identical to the /quote params. All by default.
--filter-markets-with-mints
to filter markets which do not have at least 2 mints from this set.
New integrations are now behind--enable-new-dexes
until stabilized. - chore: Valentine cleanup, remove Jupiter limit order...
- fix: Prevent max accounts usage with ExactOut
- feat: add support for ExactOutRoute
- feat: raydium exact out
- feat: Token not tradable error, return error early and more meaningful than "No routes found"
- feat: enable deprecated indexed route maps cli arg and disable computing indexed-route-maps by default, use --enable-deprecated-indexed-route-maps
- fix: no routes found, typo
- chore: Stakedex-sdk update for lst list, for more flexible new LSTs inclusion
- feat: OpenBook V2 integration
- fix: SplTokenSwapAmm support only cp and stable curve types
- fix: anchor extension to deserialize zero copy accounts using slice of the account struct size, to match on-chain code and avoid client crashes
- feat: get tokens
/tokens
endpoint to fetch all tradable tokens - fix: Mercurial fix stable curve by using precision multiplier for fee amount
- fix: --allow-circular-arbitrage to enable input outputs mints for self hosted
- fix: Fetch unique ALT instead of one per AMM (mass duplicated work)
Commit 52c22bfa1e2ce509190f3dea6e6973f0f8c07816
v6.0.10
v6.0.9
Changelog:
feat: Add enable ping flag, to disable yellowstone grpc ping by default and allow enabling it
feat: Do not use shared accounts if non-openbook single swap, no additional account write contention, less CU consumption.
fix: fetch with sleep for stability, for caches such as address lookup tables
feat: Market endpoint HTTP GET /market?address=<pubkey>
chore: Meteora DLMM add max swapped amount update
chore: Sync stakedex SDK to disable esol and lido deposit
feat: implement Yellowstone grpc ping, see rpcpool/yellowstone-grpc#225
Commit b8347e26f878c14f8a0345211c9fb6d5550c5125
v6.0.8
Changelog:
- fix: Upgrade h2 due to sec advisory https://rustsec.org/advisories/RUSTSEC-2024-0003
- fix: raydium CLMM remove dangerous unwraps in swap math
- fix: update to support dynamic accounts and accounts len for GooseFX
- feat: Meteora DLMM slot activation support
- chore: update GooseFX
- fix: Optimize route map, only a few seconds
- fix: Remove pointless price impact warning when it cannot be computed
- fix: get_program_failure_consumed_units correct logic for multi instructions
- chore: BalanceSol updates their algorithm
- fix: Meteora DLMM find next bin array indices fix loop, a bug was limiting to 2 bin arrays instead of 3
- feat: reduce auto to 0.001 SOL and auto multiplier based on that and remove cap on auto multiplier
- fix: Fluxbeam token2022 fix handling for mint that get closed
- fix: onlyDirectRoutes bellman-ford constraints to be 1 maxhop, 1 totalhops
Commit c93e3d50a91b6ea0ee279896cde2a47d35b7de7b
v6.0.7
- fix: docker image
binary from 6.0.6
v6.0.6
Changelog:
- chore: update rust to 1.75
- feat: Swap build swap through keyedUiAccounts for BYO AMMs, to be used with
--enable-external-amm-loading
- fix: Add input_mint to allowed tokens for calc dist to target to fix
- feat: Raydium use status enforced to reduce accounts, resulting in lower RPC load and significant reduction in egress
- fix: Raydium CLMM continue when no liquidity for first tick array to prevent irrelevant warning and incorrect state
- feat: JupiterError for better api error control, return error code 400 when relevant
- fix: thread block on geyser loop
- fix: bellman-ford direct routes
- hotfix: ExactOut to not use bellman-ford automatically for low input value
- fix: dont fetch what is fetched to reduce initial start load
- fix: Raydium err when event queue is full to set reserves to None, to allow correct quote when the event queue is full
- fix: intermediate tokens auto restrict when top token for bellman-ford
- feat: Use bellman ford when input value is below a threshold, quote below $100 of input value use quoteType bellman-ford rather than rbp (metis algorithm) in order to provide simpler routes for low price impact trades
- feat: restrict intermediate tokens override works with rbp
Commit 4e4ea7a22642cf6903b7757fcbe524f30cb782b2
v6.0.5
Changelog:
- feat: added
skipUserAccountsRpcCalls
to skip checking account on/swap
, this assume the user have all the accounts needed for swap. - feat: added
snapshot_poll_interval_ms
to configure the polling rate of rpc to update states, default is200
ms for polling mode and30000
ms for yellowstone grpc mode - feat:
/swap
and/swap-instructions
returnprioritization_fee_lamports
to indicate the amount of fee that will be used, excluding base fee. - feat:
prioritization_fee_lamports
now accepts{ autoMultiplier: number }
this multiplies theauto
priority fee which is 2x 75th percentile of the recent fee used. - feat: use different runtime for fetching and serving api.
- fix: reduce max accounts for legacy to prevent transaction too large
For documentation on the new parameters go to https://station.jup.ag/api-v6/post-swap
Commit e3f07315756e21e17bacd8171bdb9a173d72c543
v6.0.4
Changelog:
- Add prioritizationFeeLamports to /swap, to set the prioritization fee to be paid. Now defaults to "auto" to prevent underpricing
- Add dynamicComputeUnitLimit to /swap, it will simulate the swap to adjust compute unit limit to 140% of consumed_units
- Increase compute unit micro lamports to be 2x p75 over the last 20 slots when using "auto" prioritizationFeeLamports or computeUnitPriceMicroLamports, to easier outbid.
- Update Stakedex SDK (Sanctum) to latest for preferred withdrawer exhaustion fix and ignore private pools igneous-labs/stakedex-sdk#32
- Update Jupiter Perps AMM to support updated token weightage checks
- Fix and enable again split for ExactOut
- Fix to use other_amount_threshold for ExactOut as input_amount when building swap, to prevent insufficient tokens before slippage tolerance is hit.
For documentation on the new parameters go to https://station.jup.ag/api-v6/post-swap
Commit 2e5258f05825ba9a7f58179bfb03cbad0382b8b2
v6.0.3
Changelog:
- Sync latest GooseFX updates, previous version of GooseFX will not work
- Remove quote splitting for exact out
- Added native SPL pool
- Allow cli variables to be configured through CLI for
jupiter-swap-api
, this is useful for Docker deployment and just set env.- env available:
MARKET_CACHE
,RPC_URL
,YELLOWSTONE_GRPC_ENDPOINT
,YELLOWSTONE_GRPC_X_TOKEN
,PORT
- env available:
Commit 8e842ef6bd666c41f0b270e63ece0dee175b4c80