gitextract_2ntasox1/ ├── .github/ │ └── workflows/ │ ├── lint-from-fork.yml │ └── unit-tests-from-fork.yml ├── .gitignore ├── .prettierrc.json ├── LICENSE ├── README.md ├── SUMMARY.md ├── abi/ │ ├── OHM.json │ ├── UniswapV3Pool2.json │ └── Visor.json ├── docs/ │ ├── about-core-pool-config.md │ ├── building-a-client-instance.md │ ├── configuration.md │ ├── contributing.md │ ├── fetching-all-the-data-of-a-certain-pool-from-ethereum.md │ ├── forking-and-retracing.md │ ├── getting-a-core-pool-instance.md │ ├── getting-a-pool-instance-with-the-data-fetched.md │ ├── how-tuner-library-works.md │ ├── installing-tuner.md │ ├── interacting-with-core-pool.md │ ├── loading-and-streaming-events-into-a-pool.md │ ├── performance.md │ ├── persisting-and-recovering.md │ ├── pool-state-and-transition.md │ ├── post-processor.md │ ├── quick-start.md │ └── simulator-roadmap-manager.md ├── examples/ │ ├── Uniswap-v3-Events-Downloader/ │ │ ├── EventsDownloader.ts │ │ └── EventsUpdater.ts │ └── Uniswap-v3-Strategy-Backtest/ │ └── README.md ├── hardhat.config.ts ├── package.json ├── src/ │ ├── client/ │ │ ├── BSCDataDownloader.ts │ │ ├── SimulatorClient.ts │ │ └── index.ts │ ├── config/ │ │ └── TunerConfig.ts │ ├── core/ │ │ ├── ConfigurableCorePool.ts │ │ ├── CorePool.ts │ │ └── index.ts │ ├── entity/ │ │ ├── EndBlockType.ts │ │ ├── LiquidityEvent.ts │ │ ├── Record.ts │ │ ├── Snapshot.ts │ │ ├── SnapshotProfile.ts │ │ ├── StepComputations.ts │ │ ├── SwapEvent.ts │ │ └── index.ts │ ├── enum/ │ │ ├── ActionType.ts │ │ ├── EventDataSourceType.ts │ │ ├── EventType.ts │ │ ├── FeeAmount.ts │ │ ├── InternalConstants.ts │ │ └── index.ts │ ├── index.ts │ ├── interface/ │ │ ├── ActionParams.ts │ │ ├── ConfigurableCorePool.ts │ │ ├── CorePoolView.ts │ │ ├── PoolStateContainer.ts │ │ ├── PoolStateView.ts │ │ ├── PositionView.ts │ │ ├── SimulationDataManager.ts │ │ ├── SimulatorRoadmapManager.ts │ │ ├── SimulatorVisitor.ts │ │ ├── TickView.ts │ │ ├── Transition.ts │ │ ├── Visitable.ts │ │ └── index.ts │ ├── manager/ │ │ ├── EventDBManager.ts │ │ ├── PositionManager.ts │ │ ├── SQLiteSimulationDataManager.ts │ │ ├── SimulatorConsoleVisitor.ts │ │ ├── SimulatorPersistenceVisitor.ts │ │ ├── SimulatorRoadmapManager.ts │ │ ├── TickManager.ts │ │ └── index.ts │ ├── model/ │ │ ├── PoolConfig.ts │ │ ├── PoolState.ts │ │ ├── Position.ts │ │ ├── Roadmap.ts │ │ ├── Tick.ts │ │ ├── Transition.ts │ │ └── index.ts │ └── util/ │ ├── BNUtils.ts │ ├── DateConverter.ts │ ├── DateUtils.ts │ ├── FileUtils.ts │ ├── FullMath.ts │ ├── IdGenerator.ts │ ├── LiquidityMath.ts │ ├── PoolStateHelper.ts │ ├── Serializer.ts │ ├── SqrtPriceMath.ts │ ├── SwapMath.ts │ ├── TickMath.ts │ └── index.ts ├── test/ │ ├── ConfigurableCorePool.test.ts │ ├── JSBI.test.ts │ ├── LiquidityMath.test.ts │ ├── Serializer.test.ts │ ├── SimulationDataManager.test.ts │ ├── SimulatorClient.test.ts │ ├── SimulatorRoadmapManager.test.ts │ ├── SwapMath.spec.ts │ ├── TestSubgraph.test.ts │ ├── Tick.spec.ts │ ├── TickManager.test.ts │ ├── TickMath.test.ts │ ├── UniswapV3Pool.spec.ts.pending │ ├── UniswapV3Pool.swaps.spec.ts.pending │ ├── contracts/ │ │ ├── CorePool.test.ts │ │ ├── Ticks.test.ts │ │ └── src/ │ │ └── contracts/ │ │ ├── NoDelegateCall.sol │ │ ├── UniswapV3Factory2.sol │ │ ├── UniswapV3Pool2.sol │ │ ├── UniswapV3PoolDeployer2.sol │ │ ├── interfaces/ │ │ │ ├── IERC20Minimal.sol │ │ │ ├── IUniswapV3Factory.sol │ │ │ ├── IUniswapV3Pool.sol │ │ │ ├── IUniswapV3PoolDeployer.sol │ │ │ ├── LICENSE │ │ │ ├── callback/ │ │ │ │ ├── IUniswapV3FlashCallback.sol │ │ │ │ ├── IUniswapV3MintCallback.sol │ │ │ │ └── IUniswapV3SwapCallback.sol │ │ │ └── pool/ │ │ │ ├── IUniswapV3PoolActions.sol │ │ │ ├── IUniswapV3PoolDerivedState.sol │ │ │ ├── IUniswapV3PoolEvents.sol │ │ │ ├── IUniswapV3PoolImmutables.sol │ │ │ ├── IUniswapV3PoolOwnerActions.sol │ │ │ └── IUniswapV3PoolState.sol │ │ └── libraries/ │ │ ├── BitMath.sol │ │ ├── FixedPoint128.sol │ │ ├── FixedPoint96.sol │ │ ├── FullMath.sol │ │ ├── LICENSE_GPL │ │ ├── LICENSE_MIT │ │ ├── LiquidityMath.sol │ │ ├── LowGasSafeMath.sol │ │ ├── Oracle.sol │ │ ├── Position.sol │ │ ├── SafeCast.sol │ │ ├── SqrtPriceMath.sol │ │ ├── SwapMath.sol │ │ ├── Tick.sol │ │ ├── TickBitmap.sol │ │ ├── TickMath.sol │ │ ├── TransferHelper.sol │ │ └── UnsafeMath.sol │ ├── shared/ │ │ ├── MockableTick.ts │ │ ├── checkObservationEquals.ts │ │ ├── expect.ts │ │ ├── fixtures.ts │ │ ├── format.ts │ │ ├── snapshotGasCost.ts │ │ └── utilities.ts │ └── stubs/ │ ├── MockTimeUniswapV3Pool.ts │ ├── TestERC20.d.ts │ ├── TestUniswapV3Callee.d.ts │ ├── TestUniswapV3ReentrantCallee.d.ts │ ├── TestUniswapV3SwapPay.d.ts │ ├── TickTest.ts │ └── UniswapV3Factory.d.ts ├── tsconfig.json └── tuner.config.js