All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
@mercurial-finance/dynamic-amm-sdk [1.1.23] - PR#192
- Added new parameter
memecoinInfo.isMinted
tocreatePermissionlessConstantProductMemecoinPoolWithConfig
to allow creating a fee vault with minted token
@mercurial-finance/dynamic-amm-sdk [1.1.22] - PR#191
- Bump
@solana/web3.js
@mercurial-finance/dynamic-amm-sdk [1.1.21] - PR#190
- Update
@meteora-ag/[email protected]
@mercurial-finance/dynamic-amm-sdk [1.1.20] - PR#183
- Use optimal CU when creating pool instead of requesting max CU
dynamic-amm [0.6.1] - PR 180
- Add a new endpoint
initialize_customizable_permissionless_constant_product_pool
, that allows pool creator to be able to set trading fee, activation_point and alpha-vault - Add a new endpoint
partner_claim_fees
, that allows pool creator (a.k.a partner) to claim profit shared from the protocol fees.
- Endpoint
create_config
requirepartner_fee_numerator
. It's used to share portion of protocol fee to the partner (pool_authority) - New field
PartnerInfo
inPool
account. It stores the information of the partner for profit sharing.
@mercurial-finance/dynamic-amm-sdk [1.1.19] - PR#180
partnerClaimFees
function to allow partner to claim partner profit shared from the protocol feescreateCustomizablePermissionlessConstantProductPool
function to allow user to create constant product pool with customizable trading fee, activation point, activation type, and alpha vault.
createConfig
function require new parameterpartnerFeeNumerator
. It's used to share portion of protocol fee to the partner (pool_authority)
@mercurial-finance/dynamic-amm-sdk [1.1.18] - PR#185
- Fix
calculateLockAmounts
util not calculatinguserLockAmount
correctly iffeeWrapperRatio
isnull
or zero
@mercurial-finance/dynamic-amm-sdk [1.1.17] - PR#183
- Unified all getLatestBlockhash in all the functions
@mercurial-finance/dynamic-amm-sdk [1.1.16] - PR#182
- Update
@meteora-ag/[email protected]
@mercurial-finance/dynamic-amm-sdk [1.1.15] - PR#178
- Update
@meteora-ag/[email protected]
@mercurial-finance/dynamic-amm-sdk [1.1.14] - PR#177
- Fix function
swapAndStakeForFee
to accept additional paraminAmountLamport
@mercurial-finance/dynamic-amm-sdk [1.1.13] - PR#176
- Fix function
swapAndStakeForFee
@mercurial-finance/dynamic-amm-sdk [1.1.12] - PR#173
- New function
swapAndStakeForFee
@mercurial-finance/dynamic-amm-sdk [1.1.11] - PR#170
- Fix user lock amount was 0
@mercurial-finance/dynamic-amm-sdk [1.1.10] - PR#174
- Allow
startClaimFeeTimestamp
to be set as null to start the claim immediately.
@mercurial-finance/dynamic-amm-sdk [1.1.9] - PR#173
- bump
@meteora-ag/stake-for-fee
version
@mercurial-finance/dynamic-amm-sdk [1.1.8] - PR#173
- Added new parameter
opts.feeVault
forcreatePermissionlessConstantProductMemecoinPoolWithConfig
to allow create fee vault with parameters
dynamic-amm-quote - PR#171
- Fix
compute_quote
result doesn't matches simulation result
@mercurial-finance/dynamic-amm-sdk [1.1.7] - PR#168
- Added
createPermissionlessConstantProductMemecoinPoolWithConfig
that include create mint instruction for create pool
@mercurial-finance/dynamic-amm-sdk [1.1.6] - PR#161
- Added
poolFees
ingetFeeConfigurations
function
@mercurial-finance/dynamic-amm-sdk [1.1.5] - PR#161
- Swap options on create pool config
- Added
calculateSwapQuoteForGoingToCreateMemecoinPool
to allow swap quote on going to be created pool.
@mercurial-finance/dynamic-amm-sdk [1.1.4] - PR#161
- Added extra param
swapInitiator
forgetSwapQuote
function
@mercurial-finance/dynamic-amm-sdk [1.1.3] - PR#161
- update readme
@mercurial-finance/dynamic-amm-sdk [1.1.2] - PR#158
- options to skip preinstruction create associated token account in
createPermissionlessConstantProductPoolWithConfig
function
@mercurial-finance/dynamic-amm-sdk [1.1.1] - PR#157
- Fix locked LP pending claim fee calculation
dynamic-amm-quote [0.0.3] - PR#151
- Throw error if the pool is disabled, or not activated for trading yet.
dynamic-amm [0.6.0] - PR#151
- Added
activation_type
field toBootstrapping
(previously known asAlphaVault
). Used to determine whether the pool is activated by slot or timestamp. - Added
update_activation_point
endpoint. Admin only. - Added
initialize_permissionless_constant_product_pool_with_config2
endpoint. Allow user to create constant product pool withactivation_point
set earlier than the defaultactivation_point
derived from the config.
- Renamed
AlphaVault
structure toBootstrapping
- Renamed
AlphaVaultConfig
toBootstrappingConfig
- Renamed
activation_duration_in_slot
toactivation_duration
. The duration will be in slot or timestamp, based onactivation_type
pool_creator
field ofAlphaVault
structure.
@mercurial-finance/dynamic-amm-sdk [1.1.0] - PR#151
- Added
createPermissionlessConstantProductPoolWithConfig2
. Allow user to create constant product pool withactivation_point
set earlier than the defaultactivation_point
derived from the config.
createConfig
require new parameterActivationType
- Renamed
AlphaVault
toBootstrapping
- Renamed
ActivationDurationInSlot
toActivationDuration
calculateSwapQuote
require new parametercurrentSlot
- Swap quote throw error if the pool is disabled, or not activated for trading yet.
@mercurial-finance/dynamic-amm-sdk [1.0.5] - PR #155
- update vault-sdk version
@mercurial-finance/dynamic-amm-sdk [1.0.4] - PR #154
- optimize
create
&createMultiple
function for rpc call
@mercurial-finance/dynamic-amm-sdk [1.0.2] - PR #153
create
function not working
dynamic-amm [0.5.0] - PR#149
- Rename
admin
tofee_operator
inset_pool_fee
account context. - Removed deprecated field
admin
in pool state. It has been replaced byfee_last_updated_at
.
@mercurial-finance/dynamic-amm-sdk [1.0.2] - PR#149
- Update idl
@mercurial-finance/dynamic-amm-sdk [1.0.1] - PR #150
searchPoolsByToken
, search pool by passing token mint address
@mercurial-finance/dynamic-amm-sdk [1.0.0] - PR #148
- Refactor
AmmImpl.create
function to use only 2 arguments: provider, poolAddress - Add 2 examples for ts-client: swap, get_pool_info
- Update @mercurial-finance/vault-sdk to version 2.0.0
- Use tokenMint instead of tokenInfo in most cases
- Provide address and decimals in tokenAMint and tokenBMint
- Differentiate tokenMint and tokenAddress(PublickKey Only)
@mercurial-finance/dynamic-amm-sdk [0.5.0] - PR #144
- Pump "@solana/spl-token" to 0.4.6 and various relevant packages
- deprecated field
admin
in pool state
- remove endpoint
transfer_admin
- All permissioned operations now can be signed from any address in the group of admins instead of a single admin key
- Fixed
Invalid option nextEpochFee
error when decode LST pool stake pool nextEpochFee
getUserLockEscrow
no longer need to passlockEscrowAccount
as param
- Use
getPoolConfigsWithPoolCreatorAuthority
to retrieve the pool configuration for a specific user. When the pool configuration returned fromgetPoolConfigsWithPoolCreatorAuthority
is passed intocreatePermissionlessConstantProductPoolWithConfig
, only that user can create pools. Please contact meteora team if you're not whitelisted for the config.
-lockLiquidity
function is able to specify feePayer
getPoolConfig
to get pool config based on config pubkeycheckPoolWithConfigsExists
now accepts array of config pubkey
- Protocol fee is now part of LP trade fee.
- update swap function
referralToken
param toreferralOwner
AmmImpl.createPermissionlessConstantProductPoolWithConfig
to create constant product pool based onconfig
account.AmmImpl.getFeeConfigurations
to get all fee configurations to be used inAmmImpl.createPermissionlessConstantProductPoolWithConfig
swap
method paramreferrerToken
is non-ATA address.AmmImpl.lockLiquidityNewlyCreatedPool
method to help lock liquidity for pool that haven't been created yetskipAta
flag to help skipping check for create ata when creating the pool inAmmImpl.createPermissionlessPool
- Program endpoint
initialize_permissionless_constant_product_pool_with_config
. Able to create constant product pool based onconfig
account. - Program endpoint
create_config
. Config account store default fee configuration to be used in program endpointinitialize_permissionless_constant_product_pool_with_config
. - Program endpoint
remove_config
. Remove unused / misconfigured config account. - Account
config
. Used to store default fee configuration.
- Protocol fee is now part of LP trade fee.
- Rename of all
owner_trade_fee
related variables toprotocol_trade_fee
MigrateFeeAccount
andSetAdminFeeAccount
event
- Introduced a new lock escrow mechanism supported by the program.
AmmImpl.getLockedAtaAmount
to retrieve locked LP amounts from the ATA mechanism (old mechanism).AmmImpl.getLockedLpAmount
to fetch locked LP amounts from two versions of locking: ATA (old) and escrow (new), and then sum them.AmmImpl.getUserLockEscrow
to obtain the user's lock escrow state.AmmImpl.lockLiquidity
to lock the user's LP into the lock escrow.AmmImpl.claimLockFee
to claim fees from locked LPs in the lock escrow.
- Protocol fee is now part of LP trade fee.
- update swap function
referralToken
param toreferralOwner
AmmImpl.createPermissionlessConstantProductPoolWithConfig
to create constant product pool based onconfig
account.AmmImpl.getFeeConfigurations
to get all fee configurations to be used inAmmImpl.createPermissionlessConstantProductPoolWithConfig