├── .github └── workflows │ ├── certora.yml │ └── test.yml ├── .gitignore ├── .gitmodules ├── LICENSE ├── README.MD ├── audits ├── FeeFlow Ottersec Report.pdf ├── FeeFlow Team Omega Report.pdf └── FeeFlow Zellic Report.pdf ├── docs └── whitepaper.md ├── formal-verification ├── .gitignore ├── Makefile ├── NOTES.md ├── certora │ ├── conf │ │ └── default.conf │ ├── harnesses │ │ └── FeeFlowControllerHarness.sol │ └── specs │ │ ├── FeeFlowController.spec │ │ ├── helpers │ │ ├── ArbitraryValues.sol │ │ ├── erc20.spec │ │ └── tokens │ │ │ ├── DummyERC20A.sol │ │ │ ├── DummyERC20B.sol │ │ │ ├── DummyERC20Impl.sol │ │ │ ├── DummyWeth.sol │ │ │ ├── ERC20Basic.sol │ │ │ ├── FTT.sol │ │ │ ├── SushiToken.sol │ │ │ ├── USDC.sol │ │ │ └── USDT.sol │ │ └── methods │ │ └── IFeeFlowController.spec ├── diff │ └── MinimalEVCClient.sol.patch ├── make-patch.sh ├── make-record.sh └── run.sh ├── foundry.toml ├── remappings.txt ├── src └── FeeFlowController.sol └── test ├── FeeFlowController.t.sol ├── MinimalEVCClient.t.sol └── lib ├── MockEVC.sol ├── MockToken.sol ├── OverflowableEpochIdFeeFlowController.sol ├── PredictAddress.sol ├── ReenteringMockToken.sol └── TestableMinimalEVCClient.sol /.github/workflows/certora.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/fee-flow/HEAD/.github/workflows/certora.yml -------------------------------------------------------------------------------- /.github/workflows/test.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/fee-flow/HEAD/.github/workflows/test.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/fee-flow/HEAD/.gitignore -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/fee-flow/HEAD/.gitmodules -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/fee-flow/HEAD/LICENSE -------------------------------------------------------------------------------- /README.MD: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/fee-flow/HEAD/README.MD -------------------------------------------------------------------------------- /audits/FeeFlow Ottersec Report.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/fee-flow/HEAD/audits/FeeFlow Ottersec Report.pdf -------------------------------------------------------------------------------- /audits/FeeFlow Team Omega Report.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/fee-flow/HEAD/audits/FeeFlow Team Omega Report.pdf -------------------------------------------------------------------------------- /audits/FeeFlow Zellic Report.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/fee-flow/HEAD/audits/FeeFlow Zellic Report.pdf -------------------------------------------------------------------------------- /docs/whitepaper.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/fee-flow/HEAD/docs/whitepaper.md -------------------------------------------------------------------------------- /formal-verification/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/fee-flow/HEAD/formal-verification/.gitignore -------------------------------------------------------------------------------- /formal-verification/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/fee-flow/HEAD/formal-verification/Makefile -------------------------------------------------------------------------------- /formal-verification/NOTES.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/fee-flow/HEAD/formal-verification/NOTES.md -------------------------------------------------------------------------------- /formal-verification/certora/conf/default.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/fee-flow/HEAD/formal-verification/certora/conf/default.conf -------------------------------------------------------------------------------- /formal-verification/certora/harnesses/FeeFlowControllerHarness.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/fee-flow/HEAD/formal-verification/certora/harnesses/FeeFlowControllerHarness.sol -------------------------------------------------------------------------------- /formal-verification/certora/specs/FeeFlowController.spec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/fee-flow/HEAD/formal-verification/certora/specs/FeeFlowController.spec -------------------------------------------------------------------------------- /formal-verification/certora/specs/helpers/ArbitraryValues.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/fee-flow/HEAD/formal-verification/certora/specs/helpers/ArbitraryValues.sol -------------------------------------------------------------------------------- /formal-verification/certora/specs/helpers/erc20.spec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/fee-flow/HEAD/formal-verification/certora/specs/helpers/erc20.spec -------------------------------------------------------------------------------- /formal-verification/certora/specs/helpers/tokens/DummyERC20A.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/fee-flow/HEAD/formal-verification/certora/specs/helpers/tokens/DummyERC20A.sol -------------------------------------------------------------------------------- /formal-verification/certora/specs/helpers/tokens/DummyERC20B.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/fee-flow/HEAD/formal-verification/certora/specs/helpers/tokens/DummyERC20B.sol -------------------------------------------------------------------------------- /formal-verification/certora/specs/helpers/tokens/DummyERC20Impl.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/fee-flow/HEAD/formal-verification/certora/specs/helpers/tokens/DummyERC20Impl.sol -------------------------------------------------------------------------------- /formal-verification/certora/specs/helpers/tokens/DummyWeth.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/fee-flow/HEAD/formal-verification/certora/specs/helpers/tokens/DummyWeth.sol -------------------------------------------------------------------------------- /formal-verification/certora/specs/helpers/tokens/ERC20Basic.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/fee-flow/HEAD/formal-verification/certora/specs/helpers/tokens/ERC20Basic.sol -------------------------------------------------------------------------------- /formal-verification/certora/specs/helpers/tokens/FTT.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/fee-flow/HEAD/formal-verification/certora/specs/helpers/tokens/FTT.sol -------------------------------------------------------------------------------- /formal-verification/certora/specs/helpers/tokens/SushiToken.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/fee-flow/HEAD/formal-verification/certora/specs/helpers/tokens/SushiToken.sol -------------------------------------------------------------------------------- /formal-verification/certora/specs/helpers/tokens/USDC.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/fee-flow/HEAD/formal-verification/certora/specs/helpers/tokens/USDC.sol -------------------------------------------------------------------------------- /formal-verification/certora/specs/helpers/tokens/USDT.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/fee-flow/HEAD/formal-verification/certora/specs/helpers/tokens/USDT.sol -------------------------------------------------------------------------------- /formal-verification/certora/specs/methods/IFeeFlowController.spec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/fee-flow/HEAD/formal-verification/certora/specs/methods/IFeeFlowController.spec -------------------------------------------------------------------------------- /formal-verification/diff/MinimalEVCClient.sol.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/fee-flow/HEAD/formal-verification/diff/MinimalEVCClient.sol.patch -------------------------------------------------------------------------------- /formal-verification/make-patch.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/fee-flow/HEAD/formal-verification/make-patch.sh -------------------------------------------------------------------------------- /formal-verification/make-record.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/fee-flow/HEAD/formal-verification/make-record.sh -------------------------------------------------------------------------------- /formal-verification/run.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/fee-flow/HEAD/formal-verification/run.sh -------------------------------------------------------------------------------- /foundry.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/fee-flow/HEAD/foundry.toml -------------------------------------------------------------------------------- /remappings.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/fee-flow/HEAD/remappings.txt -------------------------------------------------------------------------------- /src/FeeFlowController.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/fee-flow/HEAD/src/FeeFlowController.sol -------------------------------------------------------------------------------- /test/FeeFlowController.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/fee-flow/HEAD/test/FeeFlowController.t.sol -------------------------------------------------------------------------------- /test/MinimalEVCClient.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/fee-flow/HEAD/test/MinimalEVCClient.t.sol -------------------------------------------------------------------------------- /test/lib/MockEVC.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/fee-flow/HEAD/test/lib/MockEVC.sol -------------------------------------------------------------------------------- /test/lib/MockToken.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/fee-flow/HEAD/test/lib/MockToken.sol -------------------------------------------------------------------------------- /test/lib/OverflowableEpochIdFeeFlowController.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/fee-flow/HEAD/test/lib/OverflowableEpochIdFeeFlowController.sol -------------------------------------------------------------------------------- /test/lib/PredictAddress.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/fee-flow/HEAD/test/lib/PredictAddress.sol -------------------------------------------------------------------------------- /test/lib/ReenteringMockToken.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/fee-flow/HEAD/test/lib/ReenteringMockToken.sol -------------------------------------------------------------------------------- /test/lib/TestableMinimalEVCClient.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/fee-flow/HEAD/test/lib/TestableMinimalEVCClient.sol --------------------------------------------------------------------------------