Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This change adds two libraries
PoolAddressPancakeSwapV3
andCallbackValidationPancakeSwapV3
that support PCSV3; all existing contract code remains unchanged except for moving thePoolKey
struct definition to a separatePoolKey.sol
file.Tests have been refactored to test against both UniV3 and PCSV3 implementations where applicable.
Notable differences between UniV3 and PCSV3:
feeProtocol
isuint32
instead ofuint8
. A PCSV3 counterpart of thePoolCaller
library has NOT been created because Aperture doesn't have an immediate need for this. However, all other functions in thePoolCaller
library should also work for PCSV3.pancakeV3SwapCallback
instead ofuniswapV3SwapCallback
. This is reflected in the PoolCaller swap test (PoolCaller.t.sol
).