Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Middleware remove #145

Open
wants to merge 88 commits into
base: base-middleware
Choose a base branch
from
Open

Middleware remove #145

wants to merge 88 commits into from

Commits on Jul 10, 2024

  1. discover deltas bug

    Jun1on committed Jul 10, 2024
    Configuration menu
    Copy the full SHA
    62f093a View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    fcd3b34 View commit details
    Browse the repository at this point in the history

Commits on Jul 11, 2024

  1. Configuration menu
    Copy the full SHA
    bb2641c View commit details
    Browse the repository at this point in the history
  2. fix bugs

    Jun1on committed Jul 11, 2024
    Configuration menu
    Copy the full SHA
    266c61e View commit details
    Browse the repository at this point in the history

Commits on Jul 12, 2024

  1. add frontrun protection

    Jun1on committed Jul 12, 2024
    Configuration menu
    Copy the full SHA
    43717e8 View commit details
    Browse the repository at this point in the history
  2. fix bug

    Jun1on committed Jul 12, 2024
    Configuration menu
    Copy the full SHA
    8f41cf5 View commit details
    Browse the repository at this point in the history

Commits on Jul 14, 2024

  1. remove unused struct

    Jun1on committed Jul 14, 2024
    Configuration menu
    Copy the full SHA
    802f466 View commit details
    Browse the repository at this point in the history

Commits on Jul 15, 2024

  1. use msg.data instead of params

    Jun1on committed Jul 15, 2024
    Configuration menu
    Copy the full SHA
    feb48f2 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    26524f4 View commit details
    Browse the repository at this point in the history
  3. fix removeLiquidity in tests

    Jun1on committed Jul 15, 2024
    Configuration menu
    Copy the full SHA
    f3cc913 View commit details
    Browse the repository at this point in the history

Commits on Jul 16, 2024

  1. increase foundry gas_limit

    Jun1on committed Jul 16, 2024
    Configuration menu
    Copy the full SHA
    c7353bb View commit details
    Browse the repository at this point in the history

Commits on Jul 17, 2024

  1. update to solidity ^0.8.24

    Jun1on committed Jul 17, 2024
    Configuration menu
    Copy the full SHA
    33b1775 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    23a8644 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    3cb9689 View commit details
    Browse the repository at this point in the history
  4. fix breaking ci (#157)

    snreynolds authored Jul 17, 2024
    Configuration menu
    Copy the full SHA
    a54a92e View commit details
    Browse the repository at this point in the history
  5. Update core in periphery (#156)

    Co-authored-by: Sara Reynolds <[email protected]>
    hensha256 and snreynolds authored Jul 17, 2024
    Configuration menu
    Copy the full SHA
    087a262 View commit details
    Browse the repository at this point in the history

Commits on Jul 18, 2024

  1. Clean up repo (#159)

    * Clean up repo
    
    * Move safe callback
    hensha256 authored Jul 18, 2024
    Configuration menu
    Copy the full SHA
    f242024 View commit details
    Browse the repository at this point in the history

Commits on Jul 19, 2024

  1. Configuration menu
    Copy the full SHA
    4ecb379 View commit details
    Browse the repository at this point in the history
  2. fix PR comments

    Jun1on committed Jul 19, 2024
    Configuration menu
    Copy the full SHA
    9d1b36e View commit details
    Browse the repository at this point in the history
  3. discover deltas bug

    rebase
    Jun1on committed Jul 19, 2024
    Configuration menu
    Copy the full SHA
    7602a8a View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    368e318 View commit details
    Browse the repository at this point in the history
  5. update imports

    Jun1on committed Jul 19, 2024
    Configuration menu
    Copy the full SHA
    5e66d57 View commit details
    Browse the repository at this point in the history
  6. fix conflict

    Jun1on committed Jul 19, 2024
    Configuration menu
    Copy the full SHA
    17885b9 View commit details
    Browse the repository at this point in the history

Commits on Jul 22, 2024

  1. Shared actions router (#160)

    * Clean up repo
    
    * Move safe callback
    
    * starting work on shared actions router
    
    * Compiling with todos
    
    * correct function
    
    * PR comments
    
    * tests for base actions router
    
    * gas test
    
    * calldata gas optimisation
    
    * linting
    
    * add todo
    
    * Optimised bytes function
    
    * Additional refactor for generalisation
    
    * comments
    
    * Added natspec
    
    * PR comments
    hensha256 authored Jul 22, 2024
    Configuration menu
    Copy the full SHA
    a9cfd38 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    e5db8e2 View commit details
    Browse the repository at this point in the history

Commits on Jul 23, 2024

  1. add position manager [wip] (#141)

    * initial thoughts lock and batch
    
    * update safecallback with constructor
    
    * simple batch under lock
    
    * oops
    
    * misc version bump; will conflict but can resolve later
    
    * defining types and different levels of abstractions
    
    * merge in main; resolve conflicts
    
    * wip
    
    * misc fixes with main:latest
    
    * basic mint
    
    * begin moving tests to fuzz
    
    * test for slippage
    
    * burning
    
    * decrease liquidity
    
    * mint transfer burn, liquidityOf accounting
    
    * wip
    
    * refactor to use CurrencySettleTake
    
    * basic fee collection
    
    * wip
    
    * misc fix
    
    * fee collection for independent same-range parties
    
    * LiquidityPosition -> LiquidityRange
    
    * erc20 fee collection
    
    * decrease liquidity with fee collection
    
    * wip test decrease liquidity on same range
    
    * reworked fuzzers; more testing on fee claims for liquidity decreasing
    
    * forge fmt
    
    * test fixes for flipped deltas
    
    * wip
    
    * test coverage for increase liquidity cases
    
    * preliminary gas benchmarks
    
    * Position manager refactor (#2)
    
    * chore: update v4-core:latest (#105)
    
    * update core
    
    * rename lockAcquired to unlockCallback
    
    * update core; temporary path hack in remappings
    
    * update v4-core; remove remapping
    
    * wip: fix compatibility
    
    * update core; fix renaming of swap fee to lp fee
    
    * update core; fix events
    
    * update core; address liquidity salt and modify liquidity return values
    
    * fix incorrect delta accounting when modifying liquidity
    
    * fix todo, use CurrencySettleTake
    
    * remove deadcode
    
    * update core; use StateLibrary; update sqrtRatio to sqrtPrice
    
    * fix beforeSwap return signatures
    
    * forge fmt; remove commented out code
    
    * update core (wow gas savings)
    
    * update core
    
    * update core
    
    * update core; hook flags LSB
    
    * update core
    
    * update core
    
    * chore: update v4 core (#115)
    
    * Update v4-core
    
    * CurrencySettleTake -> CurrencySettler
    
    * Snapshots
    
    * compiling but very broken
    
    * replace PoolStateLibrary
    
    * update currency settle take
    
    * compiling
    
    * wip
    
    * use v4-core's forge-std
    
    * test liquidity increase
    
    * additional fixes for collection and liquidity decrease
    
    * test migration
    
    * replace old implementation with new
    
    ---------
    
    Signed-off-by: saucepoint <[email protected]>
    Co-authored-by: 0x57 <[email protected]>
    
    * cleanup: TODOs and imports
    
    * Position manager Consolidate (#3)
    
    * wip: consolidation
    
    * further consolidation
    
    * consolidate to single file
    
    * yay no more stack too deep
    
    * some code comments
    
    * use currency settler syntax
    
    * use v4-core's gas snapshot
    
    * use snapLastCall and isolate for posm benchmarks
    
    * Update contracts/libraries/CurrencySettleTake.sol
    
    Co-authored-by: 0x57 <[email protected]>
    
    * use v4-core's solmate its more recent
    
    * use v4-core's openzeppelin-contracts
    
    * add ERC721Permit
    
    * feedback: memory hookData
    
    * initial refactor. stack too deep
    
    * passing tests
    
    * gutted LockAndBatchCall
    
    * cleanup diff
    
    * renaming vanilla functions
    
    * sanitize
    
    * change add liq accounting (#126)
    
    * change add liq accounting
    
    * remove rand comments
    
    * fix exact fees
    
    * use closeAllDeltas
    
    * comments cleanup
    
    * additional liquidity tests (#129)
    
    * additional increase liquidity tests
    
    * edge case of using cached fees for autocompound
    
    * wip
    
    * fix autocompound bug, use custodied and unclaimed fees in the autocompound
    
    * fix tests and use BalanceDeltas (#130)
    
    * fix some assertions
    
    * use BalanceDeltas for arithmetic
    
    * cleanest code in the game???
    
    * additional cleaning
    
    * typo lol
    
    * autocompound gas benchmarks
    
    * autocompound excess credit gas benchmark
    
    * save 600 gas, cleaner code when moving caller delta to tokensOwed
    
    ---------
    
    Co-authored-by: saucepoint <[email protected]>
    
    * create compatibility with arbitrary execute handler
    
    * being supporting batched ops on vanilla functions
    
    * some initial tests to drive TDD
    
    * gas with isolate
    
    * mint to recipient
    
    * refactor for external call and code reuse (#134)
    
    * updated interface with unlockAndExecute
    
    * update decrease (#133)
    
    * update decrease
    
    * update collect
    
    * update decrease/collect
    
    * remove delta function
    
    * update burn
    
    * fix bubbling different return types because of recursive calls
    
    * all operations only return a BalanceDelta type (#136)
    
    * temp-dev-update (#135)
    
    * checkpointing
    
    * move decrease and collect to transient storage
    
    * remove returns since they are now saved to transient storage
    
    * draft: delta closing
    
    * wip
    
    * Sra/edits (#137)
    
    * consolidate using owner, update burn
    
    * fix: accrue deltas to caller in increase
    
    * Rip Out Vanilla (#138)
    
    * rip out vanilla and benchmark
    
    * fix gas benchmark
    
    * check posm is the locker before allowing access to external functions
    
    * restore execute tests
    
    * posm takes as 6909; remove legacy deadcode
    
    * restore tests
    
    * move helpers to the same file
    
    * fix: cleanup
    
    ---------
    
    Co-authored-by: Sara Reynolds <[email protected]>
    Co-authored-by: Sara Reynolds <[email protected]>
    
    * using internal calls, first pass (#143)
    
    * using internal calls, first pass
    
    * fix gas tests
    
    * fix execute test
    
    * fix tests
    
    * edit mint gas test
    
    * fix mint test
    
    * fix warnings
    
    * dumb fix to test ci (#146)
    
    * dumb fix to test ci
    
    * memory limit
    
    * update gas limit to pass tests
    
    ---------
    
    Co-authored-by: gretzke <[email protected]>
    
    * some more gas snapshots (#150)
    
    * feat: posm, use salts for all positions & update permit (#148)
    
    * use position salts
    
    * use fees owed in some tests
    
    * remove claims from increase,decrease
    
    * increment token id before reading it
    
    * Revert "increment token id before reading it"
    
    This reverts commit d366d75.
    
    * owner to alice
    
    * add more mint gas tests
    
    * update comment
    
    * Owner-level ERC721 Permit (#153)
    
    * checkpointing
    
    * move decrease and collect to transient storage
    
    * remove returns since they are now saved to transient storage
    
    * draft: delta closing
    
    * wip
    
    * Sra/edits (#137)
    
    * consolidate using owner, update burn
    
    * fix: accrue deltas to caller in increase
    
    * Rip Out Vanilla (#138)
    
    * rip out vanilla and benchmark
    
    * fix gas benchmark
    
    * check posm is the locker before allowing access to external functions
    
    * restore execute tests
    
    * posm takes as 6909; remove legacy deadcode
    
    * restore tests
    
    * move helpers to the same file
    
    * move operator to NFTposm; move nonce to ERC721Permit; owner-level nonce
    
    * tests for operator/permit
    
    * snapshots
    
    * gas benchmarks for permit
    
    * test fixes
    
    * unordered nonces
    
    * fix tests / cheatcode usage
    
    * fix tests
    
    ---------
    
    Co-authored-by: Sara Reynolds <[email protected]>
    
    ---------
    
    Co-authored-by: gretzke <[email protected]>
    Co-authored-by: saucepoint <[email protected]>
    
    * Multicall & initialize (#154)
    
    * add multicall and an external function for initialization, with tests
    
    * test multicall contract
    
    * gas snapshot multicall
    
    * fix ci test
    
    * fix tests
    
    * forge fmt
    
    * change how msg.value is used in multicall mock
    
    ---------
    
    Co-authored-by: Sara Reynolds <[email protected]>
    
    * prep shared actions (#158)
    
    * update main (#162)
    
    * ERC721Permit cleanup (#161)
    
    * wip Solmate ERC721
    
    * the queens dead, you may put down your arms. with this commit, i hereby lay BaseLiquidityManagement and the ideals of fee accounting finally to rest
    
    * refactor tokenId => LiquidityRange; begin separating PoolKey
    
    * move comment
    
    ---------
    
    Co-authored-by: Sara Reynolds <[email protected]>
    
    * remove old files, imports
    
    * Update src/NonfungiblePositionManager.sol
    
    Co-authored-by: saucepoint <[email protected]>
    
    * pr comments
    
    * pr comments
    
    * refactor test helpers per feedback
    
    * fix gas
    
    * remove permit
    
    * fix compiler warnings
    
    * rename to PositionManager
    
    * cache length
    
    * skip take for 0
    
    * fix tests
    
    * Update src/interfaces/IPositionManager.sol
    
    Co-authored-by: Alice <[email protected]>
    
    * update multicall tests per feedback
    
    * remove unused imports
    
    * more unused imports
    
    * improve assertion
    
    * assert mint recipient is the payer and not the recipient
    
    * pr feedback
    
    * assert pool creation
    
    * use poolManager
    
    * remove liquidityrange imports
    
    * remove version string
    
    * pr comments, use base test setup
    
    * fuzz sqrtPrice
    
    * use fuzz, assert eq
    
    * other final rand pr comment fixes
    
    * fix off by 1
    
    * use bound
    
    * use nextTokenId
    
    ---------
    
    Signed-off-by: saucepoint <[email protected]>
    Co-authored-by: saucepoint <[email protected]>
    Co-authored-by: saucepoint <[email protected]>
    Co-authored-by: 0x57 <[email protected]>
    Co-authored-by: 0x57 <[email protected]>
    Co-authored-by: gretzke <[email protected]>
    Co-authored-by: Alice <[email protected]>
    7 people authored Jul 23, 2024
    Configuration menu
    Copy the full SHA
    1abe26d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    675e85b View commit details
    Browse the repository at this point in the history
  3. add more tests and fix bug

    Jun1on committed Jul 23, 2024
    Configuration menu
    Copy the full SHA
    845aa81 View commit details
    Browse the repository at this point in the history
  4. add useless variables

    Jun1on committed Jul 23, 2024
    Configuration menu
    Copy the full SHA
    b98912f View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    f1a680f View commit details
    Browse the repository at this point in the history

Commits on Jul 24, 2024

  1. fix import (#190)

    dianakocsis authored Jul 24, 2024
    Configuration menu
    Copy the full SHA
    6f094c3 View commit details
    Browse the repository at this point in the history
  2. fix failing test

    Jun1on committed Jul 24, 2024
    Configuration menu
    Copy the full SHA
    181b9ea View commit details
    Browse the repository at this point in the history
  3. reduce gas limit to 5M

    Jun1on committed Jul 24, 2024
    Configuration menu
    Copy the full SHA
    e13ba65 View commit details
    Browse the repository at this point in the history
  4. posm: Native Token (#189)

    * payable modifyLiquidities
    
    * wip scaffold
    
    * test for minting with native tokens
    
    * test burn and receive native token
    
    * test increase liquidity with native token
    
    * test overpaying on increase liquidity
    
    * test for decreasing liquidity native tokens
    
    * test collecting native tokens
    
    * regenerate snapshots
    
    * gas snapshots for native token operations
    
    * add gas check for sweep; move sweep logic to an internal function
    
    * fix
    
    * optimize sweep
    
    ---------
    
    Co-authored-by: gretzke <[email protected]>
    saucepoint and gretzke authored Jul 24, 2024
    Configuration menu
    Copy the full SHA
    a266de8 View commit details
    Browse the repository at this point in the history
  5. add natspec

    Jun1on committed Jul 24, 2024
    Configuration menu
    Copy the full SHA
    800e169 View commit details
    Browse the repository at this point in the history
  6. add state view contract (#187)

    * add state view contract
    
    * deploy state view
    
    * remove console log
    
    * pr comments, fix natspec
    
    ---------
    
    Co-authored-by: Alice <[email protected]>
    snreynolds and hensha256 authored Jul 24, 2024
    Configuration menu
    Copy the full SHA
    d3ee037 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    6c4a6b6 View commit details
    Browse the repository at this point in the history
  8. Test folder cleanup (#191)

    * combine mocks
    
    * shared and utils
    hensha256 authored Jul 24, 2024
    Configuration menu
    Copy the full SHA
    511ce32 View commit details
    Browse the repository at this point in the history
  9. add return value griefing test

    Jun1on committed Jul 24, 2024
    Configuration menu
    Copy the full SHA
    51f9aae View commit details
    Browse the repository at this point in the history

Commits on Jul 25, 2024

  1. Configuration menu
    Copy the full SHA
    dcadfc7 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    ffde495 View commit details
    Browse the repository at this point in the history
  3. CurrencySettler -> DeltaResolver (#186)

    * Simplify currency settler
    
    * Safe transfer lib
    
    * Update to DeltaResolver
    
    * mock contract for tests
    
    * Tests for delta resolver
    
    * move _take to DR
    
    * fix comment
    
    * remove duplicate import
    hensha256 authored Jul 25, 2024
    Configuration menu
    Copy the full SHA
    1c1d153 View commit details
    Browse the repository at this point in the history
  4. fix overflow griefing

    Jun1on committed Jul 25, 2024
    Configuration menu
    Copy the full SHA
    f3fc0ac View commit details
    Browse the repository at this point in the history
  5. uncomment

    Jun1on committed Jul 25, 2024
    Configuration menu
    Copy the full SHA
    98e7fa5 View commit details
    Browse the repository at this point in the history
  6. feat: store PoolPositionId (#196)

    * cherrypick poolPositionId, no burn support
    
    * add burn support
    
    * rename and pr comments
    
    * with safecast in lib
    
    * no unchecked
    
    * comment
    snreynolds authored Jul 25, 2024
    Configuration menu
    Copy the full SHA
    d7c5302 View commit details
    Browse the repository at this point in the history
  7. Reentrancy lock posm (#204)

    * Reentrancy lock on posm
    
    * test for lock
    
    * undo weird comment spacing
    
    * Update src/PositionManager.sol
    
    Co-authored-by: Sara Reynolds <[email protected]>
    
    ---------
    
    Co-authored-by: Sara Reynolds <[email protected]>
    hensha256 and snreynolds authored Jul 25, 2024
    Configuration menu
    Copy the full SHA
    1d1d91e View commit details
    Browse the repository at this point in the history
  8. clean up with baseremove

    Jun1on committed Jul 25, 2024
    Configuration menu
    Copy the full SHA
    cb902e1 View commit details
    Browse the repository at this point in the history
  9. update against latest core (#206)

    * update against latest core
    
    * fix from merge main
    snreynolds authored Jul 25, 2024
    Configuration menu
    Copy the full SHA
    2a9026f View commit details
    Browse the repository at this point in the history

Commits on Jul 26, 2024

  1. remove isApprovedOrOwner from increase (#207)

    * remove isApprovedOrOwner from increase
    
    * separate test
    
    * simplify test
    
    * extra comment
    dianakocsis authored Jul 26, 2024
    Configuration menu
    Copy the full SHA
    b973438 View commit details
    Browse the repository at this point in the history
  2. test override

    Jun1on committed Jul 26, 2024
    Configuration menu
    Copy the full SHA
    540664f View commit details
    Browse the repository at this point in the history

Commits on Jul 27, 2024

  1. Configuration menu
    Copy the full SHA
    10f748e View commit details
    Browse the repository at this point in the history

Commits on Jul 29, 2024

  1. feat: Use permit2 transferFrom (#208)

    * forge install: permit2
    
    * permit2 integration on pay
    
    * comment update
    
    * try new remapping
    
    * check CI remappings
    
    * lock remappings
    
    * remove print remappings from workflow
    
    * change approve naming
    
    * rename, comment
    
    * fix
    
    * redo approval helper functions
    
    * fix reentrancy test
    
    * remove PositionManagerImmutableState
    
    ---------
    
    Co-authored-by: Alice Henshaw <[email protected]>
    snreynolds and hensha256 authored Jul 29, 2024
    Configuration menu
    Copy the full SHA
    2603731 View commit details
    Browse the repository at this point in the history
  2. Routing (#58)

    * start routing
    
    * start routing contract
    
    * naive swapExactIn impl
    
    * lint + bytecode snapshot
    
    * change concept of hops to token hops
    
    * UniswapV4Routing --> Routing
    
    * use PathKey
    
    * exactInputSingle
    
    * save DRY progress
    
    * no sqrtPriceLimit for multipool hops
    
    * exactOut implemented w awkward loops/int conversions
    
    single hops passing on exactOut
    
    * gas savings from not doing  double negative number
    
    * gas savings from unchecked math
    
    * add swapExactOuputSingle
    
    * break out structs into interface
    
    * PR comments
    
    * pass hook data along
    
    * gas and coherency optimization
    
    * updated lib/v4-core submodule to main branch
    
    * feat: abstract router (#86)
    
    * add PoolTicksCounter library
    
    * quoter exact input single
    
    * quoter test
    
    * return deltas instead
    
    * safe casting to correct types
    
    * QuoteExactInput skeleton
    
    * multiple entries
    
    * break handleRevert by type
    
    * quoteExactInput and unit tests
    
    * more QuoteExactInput tests
    
    * remove lgos
    
    * remove commented out struct
    
    * via-ir in ci
    
    * remove unused imports/functions
    
    * store iteration params locally instead of editing function input
    
    * pull out sqrtPriceLimit to its own function
    
    * PathKey to its own library
    
    * rename initializedTicksCrossed to initializedTicksLoaded
    
    * remove manual abi encoding in yul :p
    
    * fix linter warnings for Quoter
    
    * natspec for IQuoter
    
    * feat: update v4-core
    
    This commit updates v4 core to latest and fixes integration issues
    
    * fix: tests
    
    * style fixes
    
    * inheritdoc
    
    * ExactInSingleBatch
    
    * fix: update tests
    
    * fix: test router was borked
    
    * exact out
    
    * fix: alice comments
    
    * fix ExactOutput
    
    * add ExactOput unit tests
    
    * add quoteExactOutputBatch
    
    * remove solhint config
    
    * remove newline
    
    * add QuoteExactOutput in interface
    
    * refactor lockAcquired
    
    * move magic numbers to constants + doc
    
    * add more natspec
    
    * natspec
    
    * named imports
    
    * self-call branching
    
    * remove old code
    
    * remove console2 import
    
    * refactor PathKeyLib
    
    * amountOutCached
    
    * inherit ILockCallback
    
    * add base contracts and interfaces (#75)
    
    * remove unused errors
    
    * test lockAcquired reverts
    
    * remove ...Batch interface
    
    * REASON -> RESPONSE when valid
    
    * complete natspec
    
    * remove SwapInfo imports
    
    * rename to SwapParameters
    
    * move quoter structs into IQuoter interface
    
    * update to latest core
    
    * use prev values
    
    * change twamm to use pool getters
    
    * changes after merging main
    
    * use --via-ir in cli
    
    * fix formatting
    
    * fix FullRange/TWAMM hook
    
    * update ticks counter
    
    * update Quoter test
    
    * typo
    
    * typo
    
    * simplify handleRevertSingle
    
    * merge QuoteInput/OutputSingle structs
    
    * combine IQuoter structs
    
    * using ... ordering
    
    * update snapshots
    
    * start routing
    
    * start routing contract
    
    * naive swapExactIn impl
    
    * lint + bytecode snapshot
    
    * change concept of hops to token hops
    
    * UniswapV4Routing --> Routing
    
    * use PathKey
    
    * exactInputSingle
    
    * save DRY progress
    
    * no sqrtPriceLimit for multipool hops
    
    * exactOut implemented w awkward loops/int conversions
    
    single hops passing on exactOut
    
    * gas savings from not doing  double negative number
    
    * gas savings from unchecked math
    
    * add swapExactOuputSingle
    
    * break out structs into interface
    
    * PR comments
    
    * pass hook data along
    
    * gas and coherency optimization
    
    * merge Quoter
    
    * remove SwapIntention
    
    * IV4Router structs
    
    * remove SwapIntention
    
    * remove logs
    
    * natspec
    
    * rebase onto latest core
    
    * simplify function naming
    
    * Routing diana (#104)
    
    * feat: Revert style quoter (#73)
    
    * add PoolTicksCounter library
    
    * quoter exact input single
    
    * quoter test
    
    * return deltas instead
    
    * safe casting to correct types
    
    * QuoteExactInput skeleton
    
    * multiple entries
    
    * break handleRevert by type
    
    * quoteExactInput and unit tests
    
    * more QuoteExactInput tests
    
    * remove lgos
    
    * remove commented out struct
    
    * via-ir in ci
    
    * remove unused imports/functions
    
    * store iteration params locally instead of editing function input
    
    * pull out sqrtPriceLimit to its own function
    
    * PathKey to its own library
    
    * rename initializedTicksCrossed to initializedTicksLoaded
    
    * remove manual abi encoding in yul :p
    
    * fix linter warnings for Quoter
    
    * natspec for IQuoter
    
    * feat: update v4-core
    
    This commit updates v4 core to latest and fixes integration issues
    
    * fix: tests
    
    * style fixes
    
    * inheritdoc
    
    * ExactInSingleBatch
    
    * fix: update tests
    
    * fix: test router was borked
    
    * exact out
    
    * fix: alice comments
    
    * fix ExactOutput
    
    * add ExactOput unit tests
    
    * add quoteExactOutputBatch
    
    * remove solhint config
    
    * remove newline
    
    * add QuoteExactOutput in interface
    
    * refactor lockAcquired
    
    * move magic numbers to constants + doc
    
    * add more natspec
    
    * natspec
    
    * named imports
    
    * self-call branching
    
    * remove old code
    
    * remove console2 import
    
    * refactor PathKeyLib
    
    * amountOutCached
    
    * inherit ILockCallback
    
    * add base contracts and interfaces (#75)
    
    * remove unused errors
    
    * test lockAcquired reverts
    
    * remove ...Batch interface
    
    * REASON -> RESPONSE when valid
    
    * complete natspec
    
    * remove SwapInfo imports
    
    * rename to SwapParameters
    
    * move quoter structs into IQuoter interface
    
    * update to latest core
    
    * use prev values
    
    * change twamm to use pool getters
    
    * changes after merging main
    
    * use --via-ir in cli
    
    * fix formatting
    
    * fix FullRange/TWAMM hook
    
    * update ticks counter
    
    * update Quoter test
    
    * typo
    
    * typo
    
    * simplify handleRevertSingle
    
    * merge QuoteInput/OutputSingle structs
    
    * combine IQuoter structs
    
    * using ... ordering
    
    * update snapshots
    
    * move amountOutCached into inner call
    
    * using PathKeyLib for PathKey
    
    * fix amountOutCached
    
    * remove console2 import
    
    * resurface revert reason
    
    * clean up validateRevert
    
    * update natsppec
    
    * remove unused
    
    ---------
    
    Co-authored-by: Mark Toda <[email protected]>
    Co-authored-by: Tina <[email protected]>
    Co-authored-by: Sara Reynolds <[email protected]>
    
    * (Quoter) Avoid IR (#93)
    
    * avoid stack too deep
    
    * pack local variables into structs; remove need for IR
    
    * reorg struct
    
    * snapshots
    
    * forge fmt
    
    * restore settings
    
    * remove IR
    
    * ensure tokens are ordered properly by using salts
    
    * gas snapshot
    
    * remove console logs
    
    * chore: update v4-core:latest (#89)
    
    * update v4-core
    
    * update to new liquidity hooks
    
    * forge fmt; reuse v4-core justfile
    
    * snapshots
    
    * rename getHooksCalls --> getHookPermissions
    
    * enforce permanent liquidity with beforeRemoveLiquidity
    
    * snapshot
    
    * update v4-core (again)
    
    * snapshots with new v4-core
    
    * v4-core:latest
    
    * pin 0.8.24
    
    * merge in remote; regenerate snapshots
    
    * remove justfile
    
    * repin cancun
    
    * pin token addresses using vm.etch
    
    * snapshots
    
    * forge fmt
    
    * remove via-ir and custom solc from CI
    
    * test nit
    
    * Update v4-core submodule to use https (#97)
    
    Co-authored-by: saucepoint <[email protected]>
    
    * chore: add semgrep (#94)
    
    * [Chore] Update v4-core:latest (#100)
    
    * Update v4-core
    
    * Update various examples, BaseHook, Quoter and tests
    
    * Remove nested locking for LimitOrder
    
    * Fix Quoter
    
    * update v4-core
    
    * fix: remove getLocker as its a bool now
    
    * update v4-core: flipped signs, push dynamic fees
    
    * fix: flip delta signs
    
    * flip delta signs
    
    * flip delta signs
    
    * flip delta signs
    
    * fix getSlot0 calls
    
    * snapshots
    
    * remove deadcode
    
    * remove unused param
    
    * update core
    
    * update for modifyLiquidity; misc doc updates
    
    * correct min int256
    
    * allow for manual fee updates
    
    ---------
    
    Co-authored-by: saucepoint <[email protected]>
    
    * changes with core update
    
    * fix casing
    
    * switch versions back
    
    * Updated lib/v4-core submodule to main branch
    
    * switch to 0.8.19
    
    ---------
    
    Co-authored-by: Zach Yang <[email protected]>
    Co-authored-by: Mark Toda <[email protected]>
    Co-authored-by: Tina <[email protected]>
    Co-authored-by: Sara Reynolds <[email protected]>
    Co-authored-by: saucepoint <[email protected]>
    Co-authored-by: 0x57 <[email protected]>
    Co-authored-by: mr-uniswap <[email protected]>
    Co-authored-by: 0x57 <[email protected]>
    Co-authored-by: saucepoint <[email protected]>
    Co-authored-by: Alice Henshaw <[email protected]>
    
    * update imports
    
    ---------
    
    Co-authored-by: Mark Toda <[email protected]>
    Co-authored-by: Tina <[email protected]>
    Co-authored-by: Sara Reynolds <[email protected]>
    Co-authored-by: Emily Williams <[email protected]>
    Co-authored-by: Alice Henshaw <[email protected]>
    Co-authored-by: diana <[email protected]>
    Co-authored-by: saucepoint <[email protected]>
    Co-authored-by: 0x57 <[email protected]>
    Co-authored-by: mr-uniswap <[email protected]>
    Co-authored-by: 0x57 <[email protected]>
    Co-authored-by: saucepoint <[email protected]>
    
    * allow payer and recipient to be different
    
    * try to fix ci
    
    * improve casting
    
    * reverting 3 commits to make branch
    
    * remove unused recipient param
    
    * remove payment logic from swap logic
    
    * factor out payment functions
    
    * gas opt removing struct
    
    * gas opt: decode in assembly
    
    * merge error
    
    * use base actions router in v4router
    
    * use isolate
    
    * merge conflicts
    
    * removing submodules
    
    * renaming to stop clashes in UR
    
    * PR comments and gas optimisations
    
    * add _getLocker
    
    * Amount field on settle and take
    
    * rename snaps
    
    * correcy casting order
    
    * Add deltaresolver to router
    
    * take_all command, remove from delta resolver
    
    * Routing test helper
    
    * Separate gas tests and regular tests
    
    * remove duplicate snapshot name
    
    * another gas test
    
    * PR comments
    
    * remove unused function
    
    * PR cmments
    
    * handle hook edgecase
    
    ---------
    
    Co-authored-by: Diana Kocsis <[email protected]>
    Co-authored-by: Alice Henshaw <[email protected]>
    Co-authored-by: Zach Yang <[email protected]>
    Co-authored-by: Mark Toda <[email protected]>
    Co-authored-by: Tina <[email protected]>
    Co-authored-by: Sara Reynolds <[email protected]>
    Co-authored-by: diana <[email protected]>
    Co-authored-by: saucepoint <[email protected]>
    Co-authored-by: 0x57 <[email protected]>
    Co-authored-by: mr-uniswap <[email protected]>
    Co-authored-by: 0x57 <[email protected]>
    Co-authored-by: saucepoint <[email protected]>
    Co-authored-by: Alice <[email protected]>
    14 people authored Jul 29, 2024
    Configuration menu
    Copy the full SHA
    de79c94 View commit details
    Browse the repository at this point in the history

Commits on Jul 30, 2024

  1. Support native routing (#224)

    * native testing
    
    * exact input native gas tests
    
    * exact output native gas tests
    
    * PR comments
    hensha256 authored Jul 30, 2024
    Configuration menu
    Copy the full SHA
    9c134d1 View commit details
    Browse the repository at this point in the history
  2. posm : use actions router, remove return vals (#214)

    * move to a base actions router
    
    * use one Planner file
    
    * msgSender
    
    * use delta saving hook to get deltas
    
    * remove return values
    
    * add burn comment
    
    * make gas snapshots more accurate, remove hook
    
    * move to 1 planner, fix merge conf
    
    * rename, add liquidityDelta return param
    
    * rename
    
    * comment
    
    * comments
    
    * remove SafeCallback
    snreynolds authored Jul 30, 2024
    Configuration menu
    Copy the full SHA
    a96a8f6 View commit details
    Browse the repository at this point in the history
  3. rename lib (#228)

    hensha256 authored Jul 30, 2024
    Configuration menu
    Copy the full SHA
    f37734c View commit details
    Browse the repository at this point in the history

Commits on Jul 31, 2024

  1. Add transfer support (#218)

    * move to a base actions router
    
    * use one Planner file
    
    * msgSender
    
    * add transfer
    
    * add transfer test
    
    * use delta saving hook to get deltas
    
    * remove return values
    
    * add burn comment
    
    * make gas snapshots more accurate, remove hook
    
    * move to 1 planner, fix merge conf
    
    * sweep currency, pr comments
    
    * rename, add liquidityDelta return param
    
    * rename
    
    * comment
    
    * gas check
    
    * add gas test, using uint256
    
    * gas check, using 0
    
    * comments
    
    * remove SafeCallback
    
    * remove FULL_DELTA
    
    * move helpers to delta resolver
    
    * remove import
    
    * increase liq with sttle with balance test
    
    ---------
    
    Co-authored-by: Alice Henshaw <[email protected]>
    Co-authored-by: Alice <[email protected]>
    3 people authored Jul 31, 2024
    Configuration menu
    Copy the full SHA
    b065dcd View commit details
    Browse the repository at this point in the history
  2. some posm tests (#194)

    * fix assertions
    
    * additional tests around using donate for fee revenue
    
    * restore test: decreasing liquidity also claims fees
    
    * add NFT transfer-and-operation tests
    
    * test for complex operation: rebalance
    
    * additional cleanup and fuzz initialize
    
    * fix cherry picked commits
    
    * merge in main; regenerate snapshots
    
    * forge fmt
    
    * fix tests
    
    * use calculatePositionKey instead of manual keccak256
    
    * change nextTokenId - 1
    
    * review feedback
    
    * fuzz getFeesOwed against donate revenue
    
    * fix test by clearing delta state and adding net delta getter
    saucepoint authored Jul 31, 2024
    Configuration menu
    Copy the full SHA
    463d030 View commit details
    Browse the repository at this point in the history
  3. Decode posm params in calldata (#226)

    * Decode posm params in calldata
    
    * calculate config id in assembly
    
    * use Position library
    
    * fuzz toId
    
    * fuzz calldata decoder
    
    * 2 more helper functions
    
    * decode before call
    
    * natspec in calldata decoder
    hensha256 authored Jul 31, 2024
    Configuration menu
    Copy the full SHA
    db359ca View commit details
    Browse the repository at this point in the history
  4. test SafeCallback (#220)

    * test SafeCallback
    
    * assert PM address
    saucepoint authored Jul 31, 2024
    Configuration menu
    Copy the full SHA
    0f03176 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    f38a66f View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    b54c7bc View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    e12bd98 View commit details
    Browse the repository at this point in the history
  8. clean imports

    Jun1on committed Jul 31, 2024
    Configuration menu
    Copy the full SHA
    eda7534 View commit details
    Browse the repository at this point in the history

Commits on Aug 1, 2024

  1. Slippage checks routing (#233)

    * slippage checks on single trades
    
    * SLippage check tests
    hensha256 authored Aug 1, 2024
    Configuration menu
    Copy the full SHA
    e77f698 View commit details
    Browse the repository at this point in the history
  2. Optimise actions encoding (#234)

    * Optimise actions encoding
    
    * PR comment
    hensha256 authored Aug 1, 2024
    Configuration menu
    Copy the full SHA
    c77742c View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    1f473ec View commit details
    Browse the repository at this point in the history
  4. clean imports

    Jun1on committed Aug 1, 2024
    Configuration menu
    Copy the full SHA
    256f7a7 View commit details
    Browse the repository at this point in the history
  5. chore: remove recipient from QuoteParams (#241)

    * remove recipient from QuoteParams
    
    * run test with --isolate
    ConjunctiveNormalForm authored Aug 1, 2024
    Configuration menu
    Copy the full SHA
    598b02e View commit details
    Browse the repository at this point in the history
  6. add gas snapshots

    Jun1on committed Aug 1, 2024
    Configuration menu
    Copy the full SHA
    2e1cf9b View commit details
    Browse the repository at this point in the history
  7. make function abstract

    Jun1on committed Aug 1, 2024
    Configuration menu
    Copy the full SHA
    c9cbfe2 View commit details
    Browse the repository at this point in the history

Commits on Aug 2, 2024

  1. Multi CurrencyDeltas Library (#245)

    * i might just be insane
    
    * additional assertion
    
    * fix pseudorandom seeding
    
    * do not bound seed
    
    * pr feedback
    saucepoint authored Aug 2, 2024
    Configuration menu
    Copy the full SHA
    fff8413 View commit details
    Browse the repository at this point in the history
  2. posm slippage (#225)

    * poc: slippage check on increase
    
    * additional slippage tests
    
    * slippage check on mint
    
    * slippage on decrease liquidity
    
    * slippage on burn
    
    * fix tests
    
    * fix decoder; regenerate gas
    
    * forge fmt
    
    * PR feedback
    
    * rename
    
    * forge fmt
    saucepoint authored Aug 2, 2024
    Configuration menu
    Copy the full SHA
    83ca829 View commit details
    Browse the repository at this point in the history
  3. Router settle with balance (#235)

    * settle with balance router
    
    * tests for commands
    
    * use currency lib and rename mock
    hensha256 authored Aug 2, 2024
    Configuration menu
    Copy the full SHA
    a421a06 View commit details
    Browse the repository at this point in the history
  4. posm: Clear (#243)

    * add CLEAR action; test gas
    
    * test clear decoding
    
    * test clear on mint, increase, and decrease
    
    * Update test/libraries/CalldataDecoder.t.sol
    
    Co-authored-by: Sara Reynolds <[email protected]>
    
    * restore old tests
    
    * forge fmt
    
    * fix tests
    
    * forge fmt
    
    * Update src/PositionManager.sol
    
    Co-authored-by: Alice <[email protected]>
    
    * natspec: decode currency and uint256
    
    ---------
    
    Co-authored-by: Sara Reynolds <[email protected]>
    Co-authored-by: Alice <[email protected]>
    3 people authored Aug 2, 2024
    Configuration menu
    Copy the full SHA
    a44f768 View commit details
    Browse the repository at this point in the history
  5. Decode router params calldata (#230)

    * router decode calldata
    
    * add as functions to library
    
    * fuzz tests
    hensha256 authored Aug 2, 2024
    Configuration menu
    Copy the full SHA
    1bbeef5 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    8011598 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    f8f6deb View commit details
    Browse the repository at this point in the history
  8. create HookFees library

    Jun1on committed Aug 2, 2024
    Configuration menu
    Copy the full SHA
    92d6f70 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    8c91ab3 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    8d99c45 View commit details
    Browse the repository at this point in the history
  11. fix conflicts

    Jun1on committed Aug 2, 2024
    Configuration menu
    Copy the full SHA
    b230ee2 View commit details
    Browse the repository at this point in the history
  12. store fee in factory

    Jun1on committed Aug 2, 2024
    Configuration menu
    Copy the full SHA
    3eab6cb View commit details
    Browse the repository at this point in the history
  13. remove BaseMiddlewareFactory

    Jun1on committed Aug 2, 2024
    Configuration menu
    Copy the full SHA
    e52fb04 View commit details
    Browse the repository at this point in the history
  14. Create ABOUT_MIDDLEWARE.md

    Jun1on authored Aug 2, 2024
    Configuration menu
    Copy the full SHA
    fb02259 View commit details
    Browse the repository at this point in the history

Commits on Aug 5, 2024

  1. require success on override

    Jun1on committed Aug 5, 2024
    Configuration menu
    Copy the full SHA
    5e7e959 View commit details
    Browse the repository at this point in the history
  2. update docs

    Jun1on committed Aug 5, 2024
    Configuration menu
    Copy the full SHA
    2b62627 View commit details
    Browse the repository at this point in the history
  3. add fuzz test

    Jun1on committed Aug 5, 2024
    Configuration menu
    Copy the full SHA
    564f941 View commit details
    Browse the repository at this point in the history