├── .github └── workflows │ ├── lint.yml │ └── main.yml ├── .gitignore ├── .gitmodules ├── .husky ├── .gitignore ├── commit-msg └── pre-commit ├── .prettierignore ├── .prettierrc ├── LICENSE ├── README.md ├── assets ├── PanopticFlow.png ├── Smart Contracts_1.png ├── banner.png └── codewalkthrough.jpg ├── commitlint.config.js ├── contracts ├── CollateralTracker.sol ├── PanopticFactory.sol ├── PanopticPool.sol ├── SemiFungiblePositionManager.sol ├── base │ ├── FactoryNFT.sol │ ├── MetadataStore.sol │ └── Multicall.sol ├── libraries │ ├── CallbackLib.sol │ ├── Constants.sol │ ├── Errors.sol │ ├── FeesCalc.sol │ ├── InteractionHelper.sol │ ├── Math.sol │ ├── PanopticMath.sol │ └── SafeTransferLib.sol ├── tokens │ ├── ERC1155Minimal.sol │ ├── ERC20Minimal.sol │ └── interfaces │ │ └── IERC20Partial.sol └── types │ ├── LeftRight.sol │ ├── LiquidityChunk.sol │ ├── Pointer.sol │ ├── PositionBalance.sol │ └── TokenId.sol ├── deployment-info.json ├── foundry.toml ├── gen_safetx.py ├── metadata ├── FactoryNFT.json └── compiler.js ├── package.json ├── remappings.txt ├── scramble_deploy_addresses.py ├── script └── DeployProtocol.s.sol ├── test └── foundry │ ├── core │ ├── CollateralTracker.t.sol │ ├── Misc.t.sol │ ├── PanopticFactory.t.sol │ ├── PanopticPool.t.sol │ └── SemiFungiblePositionManager.t.sol │ ├── libraries │ ├── CallbackLib.t.sol │ ├── FeesCalc.t.sol │ ├── Math.t.sol │ ├── PanopticMath.t.sol │ ├── PositionAmountsTest.sol │ ├── SafeTransferLib.t.sol │ └── harnesses │ │ ├── CallbackLibHarness.sol │ │ ├── FeesCalcHarness.sol │ │ ├── MathHarness.sol │ │ └── PanopticMathHarness.sol │ ├── testUtils │ ├── ERC20S.sol │ ├── PositionUtils.sol │ ├── PriceMocks.sol │ └── ReentrancyMocks.sol │ ├── test_periphery │ └── PanopticHelper.sol │ ├── tokens │ └── ERC1155Minimal.t.sol │ └── types │ ├── LeftRight.t.sol │ ├── LiquidityChunk.t.sol │ ├── PositionBalance.t.sol │ ├── TokenId.t.sol │ └── harnesses │ ├── LeftRightHarness.sol │ ├── LiquidityChunkHarness.sol │ ├── PositionBalanceHarness.sol │ └── TokenIdHarness.sol └── verify_deployments.py /.github/workflows/lint.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoptic-labs/panoptic-v1-core/HEAD/.github/workflows/lint.yml -------------------------------------------------------------------------------- /.github/workflows/main.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoptic-labs/panoptic-v1-core/HEAD/.github/workflows/main.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoptic-labs/panoptic-v1-core/HEAD/.gitignore -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoptic-labs/panoptic-v1-core/HEAD/.gitmodules -------------------------------------------------------------------------------- /.husky/.gitignore: -------------------------------------------------------------------------------- 1 | _ 2 | -------------------------------------------------------------------------------- /.husky/commit-msg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoptic-labs/panoptic-v1-core/HEAD/.husky/commit-msg -------------------------------------------------------------------------------- /.husky/pre-commit: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | . "$(dirname "$0")/_/husky.sh" 3 | 4 | npx lint-staged 5 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | test/hardhat-legacy 2 | lib 3 | package-lock.json -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoptic-labs/panoptic-v1-core/HEAD/.prettierrc -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoptic-labs/panoptic-v1-core/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoptic-labs/panoptic-v1-core/HEAD/README.md -------------------------------------------------------------------------------- /assets/PanopticFlow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoptic-labs/panoptic-v1-core/HEAD/assets/PanopticFlow.png -------------------------------------------------------------------------------- /assets/Smart Contracts_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoptic-labs/panoptic-v1-core/HEAD/assets/Smart Contracts_1.png -------------------------------------------------------------------------------- /assets/banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoptic-labs/panoptic-v1-core/HEAD/assets/banner.png -------------------------------------------------------------------------------- /assets/codewalkthrough.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoptic-labs/panoptic-v1-core/HEAD/assets/codewalkthrough.jpg -------------------------------------------------------------------------------- /commitlint.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { extends: ["@commitlint/config-conventional"] }; 2 | -------------------------------------------------------------------------------- /contracts/CollateralTracker.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoptic-labs/panoptic-v1-core/HEAD/contracts/CollateralTracker.sol -------------------------------------------------------------------------------- /contracts/PanopticFactory.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoptic-labs/panoptic-v1-core/HEAD/contracts/PanopticFactory.sol -------------------------------------------------------------------------------- /contracts/PanopticPool.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoptic-labs/panoptic-v1-core/HEAD/contracts/PanopticPool.sol -------------------------------------------------------------------------------- /contracts/SemiFungiblePositionManager.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoptic-labs/panoptic-v1-core/HEAD/contracts/SemiFungiblePositionManager.sol -------------------------------------------------------------------------------- /contracts/base/FactoryNFT.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoptic-labs/panoptic-v1-core/HEAD/contracts/base/FactoryNFT.sol -------------------------------------------------------------------------------- /contracts/base/MetadataStore.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoptic-labs/panoptic-v1-core/HEAD/contracts/base/MetadataStore.sol -------------------------------------------------------------------------------- /contracts/base/Multicall.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoptic-labs/panoptic-v1-core/HEAD/contracts/base/Multicall.sol -------------------------------------------------------------------------------- /contracts/libraries/CallbackLib.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoptic-labs/panoptic-v1-core/HEAD/contracts/libraries/CallbackLib.sol -------------------------------------------------------------------------------- /contracts/libraries/Constants.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoptic-labs/panoptic-v1-core/HEAD/contracts/libraries/Constants.sol -------------------------------------------------------------------------------- /contracts/libraries/Errors.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoptic-labs/panoptic-v1-core/HEAD/contracts/libraries/Errors.sol -------------------------------------------------------------------------------- /contracts/libraries/FeesCalc.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoptic-labs/panoptic-v1-core/HEAD/contracts/libraries/FeesCalc.sol -------------------------------------------------------------------------------- /contracts/libraries/InteractionHelper.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoptic-labs/panoptic-v1-core/HEAD/contracts/libraries/InteractionHelper.sol -------------------------------------------------------------------------------- /contracts/libraries/Math.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoptic-labs/panoptic-v1-core/HEAD/contracts/libraries/Math.sol -------------------------------------------------------------------------------- /contracts/libraries/PanopticMath.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoptic-labs/panoptic-v1-core/HEAD/contracts/libraries/PanopticMath.sol -------------------------------------------------------------------------------- /contracts/libraries/SafeTransferLib.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoptic-labs/panoptic-v1-core/HEAD/contracts/libraries/SafeTransferLib.sol -------------------------------------------------------------------------------- /contracts/tokens/ERC1155Minimal.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoptic-labs/panoptic-v1-core/HEAD/contracts/tokens/ERC1155Minimal.sol -------------------------------------------------------------------------------- /contracts/tokens/ERC20Minimal.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoptic-labs/panoptic-v1-core/HEAD/contracts/tokens/ERC20Minimal.sol -------------------------------------------------------------------------------- /contracts/tokens/interfaces/IERC20Partial.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoptic-labs/panoptic-v1-core/HEAD/contracts/tokens/interfaces/IERC20Partial.sol -------------------------------------------------------------------------------- /contracts/types/LeftRight.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoptic-labs/panoptic-v1-core/HEAD/contracts/types/LeftRight.sol -------------------------------------------------------------------------------- /contracts/types/LiquidityChunk.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoptic-labs/panoptic-v1-core/HEAD/contracts/types/LiquidityChunk.sol -------------------------------------------------------------------------------- /contracts/types/Pointer.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoptic-labs/panoptic-v1-core/HEAD/contracts/types/Pointer.sol -------------------------------------------------------------------------------- /contracts/types/PositionBalance.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoptic-labs/panoptic-v1-core/HEAD/contracts/types/PositionBalance.sol -------------------------------------------------------------------------------- /contracts/types/TokenId.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoptic-labs/panoptic-v1-core/HEAD/contracts/types/TokenId.sol -------------------------------------------------------------------------------- /deployment-info.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoptic-labs/panoptic-v1-core/HEAD/deployment-info.json -------------------------------------------------------------------------------- /foundry.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoptic-labs/panoptic-v1-core/HEAD/foundry.toml -------------------------------------------------------------------------------- /gen_safetx.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoptic-labs/panoptic-v1-core/HEAD/gen_safetx.py -------------------------------------------------------------------------------- /metadata/FactoryNFT.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoptic-labs/panoptic-v1-core/HEAD/metadata/FactoryNFT.json -------------------------------------------------------------------------------- /metadata/compiler.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoptic-labs/panoptic-v1-core/HEAD/metadata/compiler.js -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoptic-labs/panoptic-v1-core/HEAD/package.json -------------------------------------------------------------------------------- /remappings.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoptic-labs/panoptic-v1-core/HEAD/remappings.txt -------------------------------------------------------------------------------- /scramble_deploy_addresses.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoptic-labs/panoptic-v1-core/HEAD/scramble_deploy_addresses.py -------------------------------------------------------------------------------- /script/DeployProtocol.s.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoptic-labs/panoptic-v1-core/HEAD/script/DeployProtocol.s.sol -------------------------------------------------------------------------------- /test/foundry/core/CollateralTracker.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoptic-labs/panoptic-v1-core/HEAD/test/foundry/core/CollateralTracker.t.sol -------------------------------------------------------------------------------- /test/foundry/core/Misc.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoptic-labs/panoptic-v1-core/HEAD/test/foundry/core/Misc.t.sol -------------------------------------------------------------------------------- /test/foundry/core/PanopticFactory.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoptic-labs/panoptic-v1-core/HEAD/test/foundry/core/PanopticFactory.t.sol -------------------------------------------------------------------------------- /test/foundry/core/PanopticPool.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoptic-labs/panoptic-v1-core/HEAD/test/foundry/core/PanopticPool.t.sol -------------------------------------------------------------------------------- /test/foundry/core/SemiFungiblePositionManager.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoptic-labs/panoptic-v1-core/HEAD/test/foundry/core/SemiFungiblePositionManager.t.sol -------------------------------------------------------------------------------- /test/foundry/libraries/CallbackLib.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoptic-labs/panoptic-v1-core/HEAD/test/foundry/libraries/CallbackLib.t.sol -------------------------------------------------------------------------------- /test/foundry/libraries/FeesCalc.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoptic-labs/panoptic-v1-core/HEAD/test/foundry/libraries/FeesCalc.t.sol -------------------------------------------------------------------------------- /test/foundry/libraries/Math.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoptic-labs/panoptic-v1-core/HEAD/test/foundry/libraries/Math.t.sol -------------------------------------------------------------------------------- /test/foundry/libraries/PanopticMath.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoptic-labs/panoptic-v1-core/HEAD/test/foundry/libraries/PanopticMath.t.sol -------------------------------------------------------------------------------- /test/foundry/libraries/PositionAmountsTest.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoptic-labs/panoptic-v1-core/HEAD/test/foundry/libraries/PositionAmountsTest.sol -------------------------------------------------------------------------------- /test/foundry/libraries/SafeTransferLib.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoptic-labs/panoptic-v1-core/HEAD/test/foundry/libraries/SafeTransferLib.t.sol -------------------------------------------------------------------------------- /test/foundry/libraries/harnesses/CallbackLibHarness.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoptic-labs/panoptic-v1-core/HEAD/test/foundry/libraries/harnesses/CallbackLibHarness.sol -------------------------------------------------------------------------------- /test/foundry/libraries/harnesses/FeesCalcHarness.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoptic-labs/panoptic-v1-core/HEAD/test/foundry/libraries/harnesses/FeesCalcHarness.sol -------------------------------------------------------------------------------- /test/foundry/libraries/harnesses/MathHarness.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoptic-labs/panoptic-v1-core/HEAD/test/foundry/libraries/harnesses/MathHarness.sol -------------------------------------------------------------------------------- /test/foundry/libraries/harnesses/PanopticMathHarness.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoptic-labs/panoptic-v1-core/HEAD/test/foundry/libraries/harnesses/PanopticMathHarness.sol -------------------------------------------------------------------------------- /test/foundry/testUtils/ERC20S.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoptic-labs/panoptic-v1-core/HEAD/test/foundry/testUtils/ERC20S.sol -------------------------------------------------------------------------------- /test/foundry/testUtils/PositionUtils.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoptic-labs/panoptic-v1-core/HEAD/test/foundry/testUtils/PositionUtils.sol -------------------------------------------------------------------------------- /test/foundry/testUtils/PriceMocks.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoptic-labs/panoptic-v1-core/HEAD/test/foundry/testUtils/PriceMocks.sol -------------------------------------------------------------------------------- /test/foundry/testUtils/ReentrancyMocks.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoptic-labs/panoptic-v1-core/HEAD/test/foundry/testUtils/ReentrancyMocks.sol -------------------------------------------------------------------------------- /test/foundry/test_periphery/PanopticHelper.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoptic-labs/panoptic-v1-core/HEAD/test/foundry/test_periphery/PanopticHelper.sol -------------------------------------------------------------------------------- /test/foundry/tokens/ERC1155Minimal.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoptic-labs/panoptic-v1-core/HEAD/test/foundry/tokens/ERC1155Minimal.t.sol -------------------------------------------------------------------------------- /test/foundry/types/LeftRight.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoptic-labs/panoptic-v1-core/HEAD/test/foundry/types/LeftRight.t.sol -------------------------------------------------------------------------------- /test/foundry/types/LiquidityChunk.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoptic-labs/panoptic-v1-core/HEAD/test/foundry/types/LiquidityChunk.t.sol -------------------------------------------------------------------------------- /test/foundry/types/PositionBalance.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoptic-labs/panoptic-v1-core/HEAD/test/foundry/types/PositionBalance.t.sol -------------------------------------------------------------------------------- /test/foundry/types/TokenId.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoptic-labs/panoptic-v1-core/HEAD/test/foundry/types/TokenId.t.sol -------------------------------------------------------------------------------- /test/foundry/types/harnesses/LeftRightHarness.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoptic-labs/panoptic-v1-core/HEAD/test/foundry/types/harnesses/LeftRightHarness.sol -------------------------------------------------------------------------------- /test/foundry/types/harnesses/LiquidityChunkHarness.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoptic-labs/panoptic-v1-core/HEAD/test/foundry/types/harnesses/LiquidityChunkHarness.sol -------------------------------------------------------------------------------- /test/foundry/types/harnesses/PositionBalanceHarness.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoptic-labs/panoptic-v1-core/HEAD/test/foundry/types/harnesses/PositionBalanceHarness.sol -------------------------------------------------------------------------------- /test/foundry/types/harnesses/TokenIdHarness.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoptic-labs/panoptic-v1-core/HEAD/test/foundry/types/harnesses/TokenIdHarness.sol -------------------------------------------------------------------------------- /verify_deployments.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoptic-labs/panoptic-v1-core/HEAD/verify_deployments.py --------------------------------------------------------------------------------