├── .gitattributes ├── .github └── workflows │ └── tests.yml ├── .gitignore ├── .prettierrc ├── .solcover.js ├── .solcover.pre.js ├── CONTRIBUTING.md ├── DEPLOYMENT.md ├── LICENSE ├── README.md ├── audits └── certik │ └── CertiK-Audit-for-Gridex.pdf ├── contracts ├── Grid.sol ├── GridDeployer.sol ├── GridFactory.sol ├── LICENSE ├── PriceOracle.sol ├── interfaces │ ├── IGrid.sol │ ├── IGridDeployer.sol │ ├── IGridEvents.sol │ ├── IGridFactory.sol │ ├── IGridParameters.sol │ ├── IGridStructs.sol │ ├── IPriceOracle.sol │ ├── IWETHMinimum.sol │ ├── LICENSE │ └── callback │ │ ├── IGridFlashCallback.sol │ │ ├── IGridPlaceMakerOrderCallback.sol │ │ ├── IGridSwapCallback.sol │ │ └── LICENSE ├── libraries │ ├── BitMath.sol │ ├── BoundaryBitmap.sol │ ├── BoundaryMath.sol │ ├── BundleMath.sol │ ├── CallbackValidator.sol │ ├── FixedPointX128.sol │ ├── FixedPointX192.sol │ ├── FixedPointX96.sol │ ├── GridAddress.sol │ ├── LICENSE │ ├── SwapMath.sol │ ├── Uint128Math.sol │ └── Uint160Math.sol └── test │ ├── AbstractPayFacade.sol │ ├── BoundaryBitmapTest.sol │ ├── BoundaryMathTest.sol │ ├── BundleMathTest.sol │ ├── ERC20Test.sol │ ├── FlashTest.sol │ ├── GridAddressTest.sol │ ├── GridTestHelper.sol │ ├── PriceOracleTestHelper.sol │ ├── SwapMathTest.sol │ ├── SwapTest.sol │ ├── Uint128MathTest.sol │ ├── Uint160MathTest.sol │ └── UnsafeERC20.sol ├── coverage.sh ├── hardhat.config.ts ├── package.json ├── test ├── BoundaryBitmap.test.ts ├── BoundaryMath.gas.test.ts ├── BoundaryMath.test.ts ├── BundleMath.test.ts ├── Grid.gas.test.ts ├── Grid.test.ts ├── GridAddress.test.ts ├── GridFactory.test.ts ├── PriceOracle.test.ts ├── SwapMath.test.ts ├── Uint128Math.test.ts ├── Uint160Math.test.ts ├── __snapshots__ │ ├── BoundaryMath.gas.test.ts.snap │ ├── Grid.gas.test.ts.snap │ └── GridAddress.test.ts.snap ├── contracts │ └── WETH9.json └── shared │ ├── GridAddress.ts │ ├── deployer.ts │ ├── expect.ts │ ├── math.ts │ └── util.ts └── tsconfig.json /.gitattributes: -------------------------------------------------------------------------------- 1 | *.ts linguist-detectable=false 2 | -------------------------------------------------------------------------------- /.github/workflows/tests.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/.github/workflows/tests.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/.gitignore -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/.prettierrc -------------------------------------------------------------------------------- /.solcover.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/.solcover.js -------------------------------------------------------------------------------- /.solcover.pre.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/.solcover.pre.js -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /DEPLOYMENT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/DEPLOYMENT.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/README.md -------------------------------------------------------------------------------- /audits/certik/CertiK-Audit-for-Gridex.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/audits/certik/CertiK-Audit-for-Gridex.pdf -------------------------------------------------------------------------------- /contracts/Grid.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/contracts/Grid.sol -------------------------------------------------------------------------------- /contracts/GridDeployer.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/contracts/GridDeployer.sol -------------------------------------------------------------------------------- /contracts/GridFactory.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/contracts/GridFactory.sol -------------------------------------------------------------------------------- /contracts/LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/contracts/LICENSE -------------------------------------------------------------------------------- /contracts/PriceOracle.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/contracts/PriceOracle.sol -------------------------------------------------------------------------------- /contracts/interfaces/IGrid.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/contracts/interfaces/IGrid.sol -------------------------------------------------------------------------------- /contracts/interfaces/IGridDeployer.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/contracts/interfaces/IGridDeployer.sol -------------------------------------------------------------------------------- /contracts/interfaces/IGridEvents.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/contracts/interfaces/IGridEvents.sol -------------------------------------------------------------------------------- /contracts/interfaces/IGridFactory.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/contracts/interfaces/IGridFactory.sol -------------------------------------------------------------------------------- /contracts/interfaces/IGridParameters.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/contracts/interfaces/IGridParameters.sol -------------------------------------------------------------------------------- /contracts/interfaces/IGridStructs.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/contracts/interfaces/IGridStructs.sol -------------------------------------------------------------------------------- /contracts/interfaces/IPriceOracle.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/contracts/interfaces/IPriceOracle.sol -------------------------------------------------------------------------------- /contracts/interfaces/IWETHMinimum.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/contracts/interfaces/IWETHMinimum.sol -------------------------------------------------------------------------------- /contracts/interfaces/LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/contracts/interfaces/LICENSE -------------------------------------------------------------------------------- /contracts/interfaces/callback/IGridFlashCallback.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/contracts/interfaces/callback/IGridFlashCallback.sol -------------------------------------------------------------------------------- /contracts/interfaces/callback/IGridPlaceMakerOrderCallback.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/contracts/interfaces/callback/IGridPlaceMakerOrderCallback.sol -------------------------------------------------------------------------------- /contracts/interfaces/callback/IGridSwapCallback.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/contracts/interfaces/callback/IGridSwapCallback.sol -------------------------------------------------------------------------------- /contracts/interfaces/callback/LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/contracts/interfaces/callback/LICENSE -------------------------------------------------------------------------------- /contracts/libraries/BitMath.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/contracts/libraries/BitMath.sol -------------------------------------------------------------------------------- /contracts/libraries/BoundaryBitmap.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/contracts/libraries/BoundaryBitmap.sol -------------------------------------------------------------------------------- /contracts/libraries/BoundaryMath.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/contracts/libraries/BoundaryMath.sol -------------------------------------------------------------------------------- /contracts/libraries/BundleMath.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/contracts/libraries/BundleMath.sol -------------------------------------------------------------------------------- /contracts/libraries/CallbackValidator.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/contracts/libraries/CallbackValidator.sol -------------------------------------------------------------------------------- /contracts/libraries/FixedPointX128.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/contracts/libraries/FixedPointX128.sol -------------------------------------------------------------------------------- /contracts/libraries/FixedPointX192.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/contracts/libraries/FixedPointX192.sol -------------------------------------------------------------------------------- /contracts/libraries/FixedPointX96.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/contracts/libraries/FixedPointX96.sol -------------------------------------------------------------------------------- /contracts/libraries/GridAddress.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/contracts/libraries/GridAddress.sol -------------------------------------------------------------------------------- /contracts/libraries/LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/contracts/libraries/LICENSE -------------------------------------------------------------------------------- /contracts/libraries/SwapMath.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/contracts/libraries/SwapMath.sol -------------------------------------------------------------------------------- /contracts/libraries/Uint128Math.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/contracts/libraries/Uint128Math.sol -------------------------------------------------------------------------------- /contracts/libraries/Uint160Math.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/contracts/libraries/Uint160Math.sol -------------------------------------------------------------------------------- /contracts/test/AbstractPayFacade.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/contracts/test/AbstractPayFacade.sol -------------------------------------------------------------------------------- /contracts/test/BoundaryBitmapTest.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/contracts/test/BoundaryBitmapTest.sol -------------------------------------------------------------------------------- /contracts/test/BoundaryMathTest.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/contracts/test/BoundaryMathTest.sol -------------------------------------------------------------------------------- /contracts/test/BundleMathTest.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/contracts/test/BundleMathTest.sol -------------------------------------------------------------------------------- /contracts/test/ERC20Test.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/contracts/test/ERC20Test.sol -------------------------------------------------------------------------------- /contracts/test/FlashTest.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/contracts/test/FlashTest.sol -------------------------------------------------------------------------------- /contracts/test/GridAddressTest.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/contracts/test/GridAddressTest.sol -------------------------------------------------------------------------------- /contracts/test/GridTestHelper.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/contracts/test/GridTestHelper.sol -------------------------------------------------------------------------------- /contracts/test/PriceOracleTestHelper.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/contracts/test/PriceOracleTestHelper.sol -------------------------------------------------------------------------------- /contracts/test/SwapMathTest.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/contracts/test/SwapMathTest.sol -------------------------------------------------------------------------------- /contracts/test/SwapTest.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/contracts/test/SwapTest.sol -------------------------------------------------------------------------------- /contracts/test/Uint128MathTest.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/contracts/test/Uint128MathTest.sol -------------------------------------------------------------------------------- /contracts/test/Uint160MathTest.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/contracts/test/Uint160MathTest.sol -------------------------------------------------------------------------------- /contracts/test/UnsafeERC20.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/contracts/test/UnsafeERC20.sol -------------------------------------------------------------------------------- /coverage.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/coverage.sh -------------------------------------------------------------------------------- /hardhat.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/hardhat.config.ts -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/package.json -------------------------------------------------------------------------------- /test/BoundaryBitmap.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/test/BoundaryBitmap.test.ts -------------------------------------------------------------------------------- /test/BoundaryMath.gas.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/test/BoundaryMath.gas.test.ts -------------------------------------------------------------------------------- /test/BoundaryMath.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/test/BoundaryMath.test.ts -------------------------------------------------------------------------------- /test/BundleMath.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/test/BundleMath.test.ts -------------------------------------------------------------------------------- /test/Grid.gas.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/test/Grid.gas.test.ts -------------------------------------------------------------------------------- /test/Grid.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/test/Grid.test.ts -------------------------------------------------------------------------------- /test/GridAddress.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/test/GridAddress.test.ts -------------------------------------------------------------------------------- /test/GridFactory.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/test/GridFactory.test.ts -------------------------------------------------------------------------------- /test/PriceOracle.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/test/PriceOracle.test.ts -------------------------------------------------------------------------------- /test/SwapMath.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/test/SwapMath.test.ts -------------------------------------------------------------------------------- /test/Uint128Math.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/test/Uint128Math.test.ts -------------------------------------------------------------------------------- /test/Uint160Math.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/test/Uint160Math.test.ts -------------------------------------------------------------------------------- /test/__snapshots__/BoundaryMath.gas.test.ts.snap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/test/__snapshots__/BoundaryMath.gas.test.ts.snap -------------------------------------------------------------------------------- /test/__snapshots__/Grid.gas.test.ts.snap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/test/__snapshots__/Grid.gas.test.ts.snap -------------------------------------------------------------------------------- /test/__snapshots__/GridAddress.test.ts.snap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/test/__snapshots__/GridAddress.test.ts.snap -------------------------------------------------------------------------------- /test/contracts/WETH9.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/test/contracts/WETH9.json -------------------------------------------------------------------------------- /test/shared/GridAddress.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/test/shared/GridAddress.ts -------------------------------------------------------------------------------- /test/shared/deployer.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/test/shared/deployer.ts -------------------------------------------------------------------------------- /test/shared/expect.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/test/shared/expect.ts -------------------------------------------------------------------------------- /test/shared/math.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/test/shared/math.ts -------------------------------------------------------------------------------- /test/shared/util.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/test/shared/util.ts -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GridexProtocol/core/HEAD/tsconfig.json --------------------------------------------------------------------------------