├── .editorconfig ├── .env.template ├── .github └── workflows │ ├── contracts.yml │ └── lint.yml ├── .gitignore ├── .gitmodules ├── .husky └── pre-commit ├── .npmrc ├── .nvmrc ├── .prettierrc.json ├── .solhint.json ├── .solhintignore ├── .vscode ├── extensions.json └── settings.json ├── CHANGELOG.md ├── LICENSE ├── Makefile ├── README.md ├── THIRD_PARTY_LICENSES ├── book.toml ├── docs ├── CHECKLIST.md ├── CONTRIBUTORS.md └── IMPLEMENTERS.md ├── foundry.toml ├── package.json ├── remappings.txt ├── reports ├── REENTRANCY_LAYOUT.md └── SLITHER_CHECKLIST.md ├── script └── Deploy.s.sol ├── scripts ├── abi-generate.sh ├── build.sh ├── coverage.sh ├── deploy.sh ├── docs-generate.sh ├── reentrancy-check.sh ├── reentrancy-generate.sh ├── slither-checklist.sh ├── slither-reports.sh ├── snapshot.sh └── test.sh ├── src ├── ReflexConstants.sol ├── ReflexDispatcher.sol ├── ReflexEndpoint.sol ├── ReflexInstaller.sol ├── ReflexModule.sol ├── ReflexStorage.sol ├── interfaces │ ├── IReflexDispatcher.sol │ ├── IReflexEndpoint.sol │ ├── IReflexInstaller.sol │ ├── IReflexModule.sol │ └── IReflexStorage.sol └── periphery │ ├── ReflexBatch.sol │ └── interfaces │ └── IReflexBatch.sol └── test ├── GasBenchmark.t.sol ├── ImplementationERC20.t.sol ├── ImplementationEndpoint.t.sol ├── ImplementationModuleInternal.t.sol ├── ImplementationModuleMultiEndpoint.t.sol ├── ImplementationModuleSingleEndpoint.t.sol ├── ImplementationStorage.t.sol ├── ReflexBatch.t.sol ├── ReflexDispatcher.t.sol ├── ReflexInstaller.t.sol ├── ReflexModule.t.sol ├── fixtures ├── ImplementationFixture.sol ├── MockHarness.sol ├── ReflexFixture.sol ├── TestHarness.sol └── Users.sol └── mocks ├── MockImplementationDispatcher.sol ├── MockImplementationERC20.sol ├── MockImplementationERC20Hub.sol ├── MockImplementationInstaller.sol ├── MockImplementationMaliciousStorageModule.sol ├── MockImplementationModule.sol ├── MockReflexBatch.sol ├── MockReflexDispatcher.sol ├── MockReflexEndpoint.sol ├── MockReflexInstaller.sol ├── MockReflexModule.sol └── abstracts ├── ImplementationERC20.sol └── ImplementationStorage.sol /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chromaxyz/reflex/HEAD/.editorconfig -------------------------------------------------------------------------------- /.env.template: -------------------------------------------------------------------------------- 1 | PRIVATE_KEY= 2 | -------------------------------------------------------------------------------- /.github/workflows/contracts.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chromaxyz/reflex/HEAD/.github/workflows/contracts.yml -------------------------------------------------------------------------------- /.github/workflows/lint.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chromaxyz/reflex/HEAD/.github/workflows/lint.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chromaxyz/reflex/HEAD/.gitignore -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chromaxyz/reflex/HEAD/.gitmodules -------------------------------------------------------------------------------- /.husky/pre-commit: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | . "$(dirname -- "$0")/_/husky.sh" 3 | 4 | npx lint-staged 5 | -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | # .npmrc 2 | engine-strict=true 3 | -------------------------------------------------------------------------------- /.nvmrc: -------------------------------------------------------------------------------- 1 | v20.3.1 2 | -------------------------------------------------------------------------------- /.prettierrc.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chromaxyz/reflex/HEAD/.prettierrc.json -------------------------------------------------------------------------------- /.solhint.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chromaxyz/reflex/HEAD/.solhint.json -------------------------------------------------------------------------------- /.solhintignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | lib/ 3 | -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chromaxyz/reflex/HEAD/.vscode/extensions.json -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chromaxyz/reflex/HEAD/.vscode/settings.json -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chromaxyz/reflex/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chromaxyz/reflex/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chromaxyz/reflex/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chromaxyz/reflex/HEAD/README.md -------------------------------------------------------------------------------- /THIRD_PARTY_LICENSES: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chromaxyz/reflex/HEAD/THIRD_PARTY_LICENSES -------------------------------------------------------------------------------- /book.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chromaxyz/reflex/HEAD/book.toml -------------------------------------------------------------------------------- /docs/CHECKLIST.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chromaxyz/reflex/HEAD/docs/CHECKLIST.md -------------------------------------------------------------------------------- /docs/CONTRIBUTORS.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chromaxyz/reflex/HEAD/docs/CONTRIBUTORS.md -------------------------------------------------------------------------------- /docs/IMPLEMENTERS.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chromaxyz/reflex/HEAD/docs/IMPLEMENTERS.md -------------------------------------------------------------------------------- /foundry.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chromaxyz/reflex/HEAD/foundry.toml -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chromaxyz/reflex/HEAD/package.json -------------------------------------------------------------------------------- /remappings.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chromaxyz/reflex/HEAD/remappings.txt -------------------------------------------------------------------------------- /reports/REENTRANCY_LAYOUT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chromaxyz/reflex/HEAD/reports/REENTRANCY_LAYOUT.md -------------------------------------------------------------------------------- /reports/SLITHER_CHECKLIST.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chromaxyz/reflex/HEAD/reports/SLITHER_CHECKLIST.md -------------------------------------------------------------------------------- /script/Deploy.s.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chromaxyz/reflex/HEAD/script/Deploy.s.sol -------------------------------------------------------------------------------- /scripts/abi-generate.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chromaxyz/reflex/HEAD/scripts/abi-generate.sh -------------------------------------------------------------------------------- /scripts/build.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chromaxyz/reflex/HEAD/scripts/build.sh -------------------------------------------------------------------------------- /scripts/coverage.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chromaxyz/reflex/HEAD/scripts/coverage.sh -------------------------------------------------------------------------------- /scripts/deploy.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chromaxyz/reflex/HEAD/scripts/deploy.sh -------------------------------------------------------------------------------- /scripts/docs-generate.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chromaxyz/reflex/HEAD/scripts/docs-generate.sh -------------------------------------------------------------------------------- /scripts/reentrancy-check.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chromaxyz/reflex/HEAD/scripts/reentrancy-check.sh -------------------------------------------------------------------------------- /scripts/reentrancy-generate.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chromaxyz/reflex/HEAD/scripts/reentrancy-generate.sh -------------------------------------------------------------------------------- /scripts/slither-checklist.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chromaxyz/reflex/HEAD/scripts/slither-checklist.sh -------------------------------------------------------------------------------- /scripts/slither-reports.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chromaxyz/reflex/HEAD/scripts/slither-reports.sh -------------------------------------------------------------------------------- /scripts/snapshot.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chromaxyz/reflex/HEAD/scripts/snapshot.sh -------------------------------------------------------------------------------- /scripts/test.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chromaxyz/reflex/HEAD/scripts/test.sh -------------------------------------------------------------------------------- /src/ReflexConstants.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chromaxyz/reflex/HEAD/src/ReflexConstants.sol -------------------------------------------------------------------------------- /src/ReflexDispatcher.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chromaxyz/reflex/HEAD/src/ReflexDispatcher.sol -------------------------------------------------------------------------------- /src/ReflexEndpoint.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chromaxyz/reflex/HEAD/src/ReflexEndpoint.sol -------------------------------------------------------------------------------- /src/ReflexInstaller.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chromaxyz/reflex/HEAD/src/ReflexInstaller.sol -------------------------------------------------------------------------------- /src/ReflexModule.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chromaxyz/reflex/HEAD/src/ReflexModule.sol -------------------------------------------------------------------------------- /src/ReflexStorage.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chromaxyz/reflex/HEAD/src/ReflexStorage.sol -------------------------------------------------------------------------------- /src/interfaces/IReflexDispatcher.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chromaxyz/reflex/HEAD/src/interfaces/IReflexDispatcher.sol -------------------------------------------------------------------------------- /src/interfaces/IReflexEndpoint.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chromaxyz/reflex/HEAD/src/interfaces/IReflexEndpoint.sol -------------------------------------------------------------------------------- /src/interfaces/IReflexInstaller.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chromaxyz/reflex/HEAD/src/interfaces/IReflexInstaller.sol -------------------------------------------------------------------------------- /src/interfaces/IReflexModule.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chromaxyz/reflex/HEAD/src/interfaces/IReflexModule.sol -------------------------------------------------------------------------------- /src/interfaces/IReflexStorage.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chromaxyz/reflex/HEAD/src/interfaces/IReflexStorage.sol -------------------------------------------------------------------------------- /src/periphery/ReflexBatch.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chromaxyz/reflex/HEAD/src/periphery/ReflexBatch.sol -------------------------------------------------------------------------------- /src/periphery/interfaces/IReflexBatch.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chromaxyz/reflex/HEAD/src/periphery/interfaces/IReflexBatch.sol -------------------------------------------------------------------------------- /test/GasBenchmark.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chromaxyz/reflex/HEAD/test/GasBenchmark.t.sol -------------------------------------------------------------------------------- /test/ImplementationERC20.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chromaxyz/reflex/HEAD/test/ImplementationERC20.t.sol -------------------------------------------------------------------------------- /test/ImplementationEndpoint.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chromaxyz/reflex/HEAD/test/ImplementationEndpoint.t.sol -------------------------------------------------------------------------------- /test/ImplementationModuleInternal.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chromaxyz/reflex/HEAD/test/ImplementationModuleInternal.t.sol -------------------------------------------------------------------------------- /test/ImplementationModuleMultiEndpoint.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chromaxyz/reflex/HEAD/test/ImplementationModuleMultiEndpoint.t.sol -------------------------------------------------------------------------------- /test/ImplementationModuleSingleEndpoint.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chromaxyz/reflex/HEAD/test/ImplementationModuleSingleEndpoint.t.sol -------------------------------------------------------------------------------- /test/ImplementationStorage.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chromaxyz/reflex/HEAD/test/ImplementationStorage.t.sol -------------------------------------------------------------------------------- /test/ReflexBatch.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chromaxyz/reflex/HEAD/test/ReflexBatch.t.sol -------------------------------------------------------------------------------- /test/ReflexDispatcher.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chromaxyz/reflex/HEAD/test/ReflexDispatcher.t.sol -------------------------------------------------------------------------------- /test/ReflexInstaller.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chromaxyz/reflex/HEAD/test/ReflexInstaller.t.sol -------------------------------------------------------------------------------- /test/ReflexModule.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chromaxyz/reflex/HEAD/test/ReflexModule.t.sol -------------------------------------------------------------------------------- /test/fixtures/ImplementationFixture.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chromaxyz/reflex/HEAD/test/fixtures/ImplementationFixture.sol -------------------------------------------------------------------------------- /test/fixtures/MockHarness.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chromaxyz/reflex/HEAD/test/fixtures/MockHarness.sol -------------------------------------------------------------------------------- /test/fixtures/ReflexFixture.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chromaxyz/reflex/HEAD/test/fixtures/ReflexFixture.sol -------------------------------------------------------------------------------- /test/fixtures/TestHarness.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chromaxyz/reflex/HEAD/test/fixtures/TestHarness.sol -------------------------------------------------------------------------------- /test/fixtures/Users.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chromaxyz/reflex/HEAD/test/fixtures/Users.sol -------------------------------------------------------------------------------- /test/mocks/MockImplementationDispatcher.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chromaxyz/reflex/HEAD/test/mocks/MockImplementationDispatcher.sol -------------------------------------------------------------------------------- /test/mocks/MockImplementationERC20.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chromaxyz/reflex/HEAD/test/mocks/MockImplementationERC20.sol -------------------------------------------------------------------------------- /test/mocks/MockImplementationERC20Hub.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chromaxyz/reflex/HEAD/test/mocks/MockImplementationERC20Hub.sol -------------------------------------------------------------------------------- /test/mocks/MockImplementationInstaller.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chromaxyz/reflex/HEAD/test/mocks/MockImplementationInstaller.sol -------------------------------------------------------------------------------- /test/mocks/MockImplementationMaliciousStorageModule.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chromaxyz/reflex/HEAD/test/mocks/MockImplementationMaliciousStorageModule.sol -------------------------------------------------------------------------------- /test/mocks/MockImplementationModule.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chromaxyz/reflex/HEAD/test/mocks/MockImplementationModule.sol -------------------------------------------------------------------------------- /test/mocks/MockReflexBatch.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chromaxyz/reflex/HEAD/test/mocks/MockReflexBatch.sol -------------------------------------------------------------------------------- /test/mocks/MockReflexDispatcher.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chromaxyz/reflex/HEAD/test/mocks/MockReflexDispatcher.sol -------------------------------------------------------------------------------- /test/mocks/MockReflexEndpoint.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chromaxyz/reflex/HEAD/test/mocks/MockReflexEndpoint.sol -------------------------------------------------------------------------------- /test/mocks/MockReflexInstaller.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chromaxyz/reflex/HEAD/test/mocks/MockReflexInstaller.sol -------------------------------------------------------------------------------- /test/mocks/MockReflexModule.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chromaxyz/reflex/HEAD/test/mocks/MockReflexModule.sol -------------------------------------------------------------------------------- /test/mocks/abstracts/ImplementationERC20.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chromaxyz/reflex/HEAD/test/mocks/abstracts/ImplementationERC20.sol -------------------------------------------------------------------------------- /test/mocks/abstracts/ImplementationStorage.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chromaxyz/reflex/HEAD/test/mocks/abstracts/ImplementationStorage.sol --------------------------------------------------------------------------------