├── .fuzz.yml ├── .github ├── CODEOWNERS ├── ISSUE_TEMPLATE │ └── bug_report.md ├── executables │ ├── checkAllSpecs │ ├── solc │ └── solc8.24 └── workflows │ ├── checkrules.yml │ └── test.yml ├── .gitignore ├── .gitmodules ├── LICENSE ├── README.md ├── SECURITY.md ├── audits ├── Euler Cantina Code Competition report.pdf ├── Euler Certora report.pdf ├── Euler ChainSecurity report.pdf ├── Euler Hunter Security report.pdf ├── Euler Omniscia report.pdf ├── Euler OpenZeppelin report.pdf ├── Euler Spearbit report.pdf ├── Euler Trail of Bits report.pdf ├── Euler yAudit Code Competition Fixes report.pdf ├── Euler yAudit report (EVC + EVK + Price Oracle).pdf └── Euler yAudit report (EVC).pdf ├── certora ├── conf │ ├── CER-1-Owner │ │ ├── CER-59-Owner-override.conf │ │ └── CER-60-Owner-addressPrefix.conf │ ├── CER-11-Controllers │ │ ├── CER-12-Controllers-number.conf │ │ ├── CER-56-Controllers-disabling.conf │ │ └── CER-81-Controllers-restrictions.conf │ ├── CER-15-Permit │ │ ├── CER-51-Permit-msg-sender.conf │ │ └── CER-65-Permit-onBehalfOfAccount.conf │ ├── CER-2-Operator │ │ ├── CER-52-Operator-deauthorization.conf │ │ ├── CER-54-Operator-owner.conf │ │ ├── CER-62-Operator-setAccountOperator.conf │ │ └── CER-68-Operator-authorization.conf │ ├── CER-20-ChecksDeferrable │ │ ├── CER-22-ChecksDeferrable-controlCollateral.conf │ │ └── CER-23-ChecksDeferrable-callbatch-callback.conf │ ├── CER-27-ExecutionContext │ │ ├── CER-32-ExecutionContext-checksDeferred.conf │ │ ├── CER-33-ExecutionContext-onBehalfOfAccount.conf │ │ └── CER-38-ExecutionContext-restored.conf │ ├── CER-40-AccountStatusCheck │ │ ├── CER-326-checkStatusAll-called.conf │ │ ├── CER-41-AccountStatusCheck-OnlyOne.conf │ │ └── CER-42-AccountStatusCheck-NoController.conf │ ├── CER-44-VaultStatusCheck │ │ └── CER-78-VaultStatusCheck-scheduling.conf │ ├── CER-83-Set.conf │ └── misc │ │ ├── ExecutionContext.conf │ │ └── MustRevertFunctions.conf ├── harness │ ├── EthereumVaultConnectorHarness.sol │ ├── ExecutionContextHarness.sol │ └── SetHarness.sol ├── mutation │ ├── README.md │ ├── conf │ │ └── MutateCER68.conf │ ├── mutants │ │ └── CER-68 │ │ │ └── EthereumVaultConnector.sol │ └── scripts │ │ └── run_mutant_cer68.sh ├── scripts │ └── rerun_all_confs.sh └── specs │ ├── CER-1-Owner │ ├── CER-59-Owner-override.spec │ └── CER-60-Owner-addressPrefix.spec │ ├── CER-11-Controllers │ ├── CER-12-Controllers-number.spec │ ├── CER-56-Controllers-disabling.spec │ └── CER-81-Controllers-restrictions.spec │ ├── CER-15-Permit │ ├── CER-51-Permit-msg-sender.spec │ └── CER-65-Permit-onBehalfOfAccount.spec │ ├── CER-2-Operator │ ├── CER-52-Operator-deauthorization.spec │ ├── CER-54-Operator-owner.spec │ ├── CER-62-Operator-setAccountOperator.spec │ └── CER-68-Operator-authorization.spec │ ├── CER-20-ChecksDeferrable │ ├── CER-22-ChecksDeferrable-controlCollateral.spec │ └── CER-23-ChecksDeferrable-callbatch-callback.spec │ ├── CER-27-ExecutionContext │ ├── CER-32-ExecutionContext-checksDeferred.spec │ ├── CER-33-ExecutionContext-onBehalfOfAccount.spec │ └── CER-38-ExecutionContext-restored.spec │ ├── CER-40-AccountStatusCheck │ ├── CER-326-checkStatusAll-called.spec │ ├── CER-41-AccountStatusCheck-OnlyOne.spec │ └── CER-42-AccountStatusCheck-NoController.spec │ ├── CER-44-VaultStatusCheck │ └── CER-78-VaultStatusCheck-scheduling.spec │ ├── CER-83-Set.spec │ ├── misc │ ├── ExecutionContext.spec │ ├── MustRevertFunctions.spec │ └── Permit-onBehalf-unSpoofable.spec │ └── utils │ ├── ActualCaller.spec │ ├── CallOpSanity.spec │ ├── IsChecksDeferredFunction.spec │ ├── IsLowLevelCallFunction.spec │ └── IsMustRevertFunction.spec ├── docs ├── diagrams │ ├── Direct Vault Interaction Sequence.md │ ├── EVC Batch Vault Interaction Sequence.md │ ├── EVC Call Vault Interaction Sequence.md │ ├── EVC Permit Vault Interaction Sequence.md │ ├── External Calls Sequence.svg │ ├── How EVC Works Example Sequence.md │ ├── Liquidation Interaction Sequence.md │ ├── Liquidation.svg │ └── Typical Interaction.svg ├── specs.md └── whitepaper.md ├── foundry.toml ├── mythril.config.json ├── package.json ├── slither.config.json ├── src ├── Errors.sol ├── EthereumVaultConnector.sol ├── Events.sol ├── ExecutionContext.sol ├── Set.sol ├── TransientStorage.sol ├── interfaces │ ├── IERC1271.sol │ ├── IEthereumVaultConnector.sol │ └── IVault.sol └── utils │ └── EVCUtil.sol └── test ├── evc ├── EthereumVaultConnectorHarness.sol └── EthereumVaultConnectorScribble.sol ├── gas ├── EVCGas.t.sol └── SetGas.t.sol ├── invariants └── EthereumVaultConnector.t.sol ├── unit ├── EVCUtil │ └── EVCUtil.t.sol ├── EthereumVaultConnector │ ├── AccountAndVaultStatus.t.sol │ ├── AccountStatus.t.sol │ ├── Batch.t.sol │ ├── Call.t.sol │ ├── CollateralsManagement.t.sol │ ├── ControlCollateral.t.sol │ ├── ControllersManagement.t.sol │ ├── GetExecutionContext.t.sol │ ├── IsAccountStatusCheckDeferred.t.sol │ ├── IsVaultStatusCheckDeferred.t.sol │ ├── POC.t.sol │ ├── Permit.t.sol │ ├── Receive.t.sol │ ├── SetLockdownMode.t.sol │ ├── SetNonce.t.sol │ ├── SetOperator.t.sol │ ├── SetPermitDisabledMode.t.sol │ └── VaultStatus.t.sol └── Set │ └── Set.t.sol └── utils └── mocks ├── Target.sol └── Vault.sol /.fuzz.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/.fuzz.yml -------------------------------------------------------------------------------- /.github/CODEOWNERS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/.github/CODEOWNERS -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/.github/ISSUE_TEMPLATE/bug_report.md -------------------------------------------------------------------------------- /.github/executables/checkAllSpecs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/.github/executables/checkAllSpecs -------------------------------------------------------------------------------- /.github/executables/solc: -------------------------------------------------------------------------------- 1 | solc8.24 -------------------------------------------------------------------------------- /.github/executables/solc8.24: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/.github/executables/solc8.24 -------------------------------------------------------------------------------- /.github/workflows/checkrules.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/.github/workflows/checkrules.yml -------------------------------------------------------------------------------- /.github/workflows/test.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/.github/workflows/test.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/.gitignore -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/.gitmodules -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/README.md -------------------------------------------------------------------------------- /SECURITY.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/SECURITY.md -------------------------------------------------------------------------------- /audits/Euler Cantina Code Competition report.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/audits/Euler Cantina Code Competition report.pdf -------------------------------------------------------------------------------- /audits/Euler Certora report.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/audits/Euler Certora report.pdf -------------------------------------------------------------------------------- /audits/Euler ChainSecurity report.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/audits/Euler ChainSecurity report.pdf -------------------------------------------------------------------------------- /audits/Euler Hunter Security report.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/audits/Euler Hunter Security report.pdf -------------------------------------------------------------------------------- /audits/Euler Omniscia report.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/audits/Euler Omniscia report.pdf -------------------------------------------------------------------------------- /audits/Euler OpenZeppelin report.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/audits/Euler OpenZeppelin report.pdf -------------------------------------------------------------------------------- /audits/Euler Spearbit report.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/audits/Euler Spearbit report.pdf -------------------------------------------------------------------------------- /audits/Euler Trail of Bits report.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/audits/Euler Trail of Bits report.pdf -------------------------------------------------------------------------------- /audits/Euler yAudit Code Competition Fixes report.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/audits/Euler yAudit Code Competition Fixes report.pdf -------------------------------------------------------------------------------- /audits/Euler yAudit report (EVC + EVK + Price Oracle).pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/audits/Euler yAudit report (EVC + EVK + Price Oracle).pdf -------------------------------------------------------------------------------- /audits/Euler yAudit report (EVC).pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/audits/Euler yAudit report (EVC).pdf -------------------------------------------------------------------------------- /certora/conf/CER-1-Owner/CER-59-Owner-override.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/certora/conf/CER-1-Owner/CER-59-Owner-override.conf -------------------------------------------------------------------------------- /certora/conf/CER-1-Owner/CER-60-Owner-addressPrefix.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/certora/conf/CER-1-Owner/CER-60-Owner-addressPrefix.conf -------------------------------------------------------------------------------- /certora/conf/CER-11-Controllers/CER-12-Controllers-number.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/certora/conf/CER-11-Controllers/CER-12-Controllers-number.conf -------------------------------------------------------------------------------- /certora/conf/CER-11-Controllers/CER-56-Controllers-disabling.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/certora/conf/CER-11-Controllers/CER-56-Controllers-disabling.conf -------------------------------------------------------------------------------- /certora/conf/CER-11-Controllers/CER-81-Controllers-restrictions.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/certora/conf/CER-11-Controllers/CER-81-Controllers-restrictions.conf -------------------------------------------------------------------------------- /certora/conf/CER-15-Permit/CER-51-Permit-msg-sender.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/certora/conf/CER-15-Permit/CER-51-Permit-msg-sender.conf -------------------------------------------------------------------------------- /certora/conf/CER-15-Permit/CER-65-Permit-onBehalfOfAccount.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/certora/conf/CER-15-Permit/CER-65-Permit-onBehalfOfAccount.conf -------------------------------------------------------------------------------- /certora/conf/CER-2-Operator/CER-52-Operator-deauthorization.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/certora/conf/CER-2-Operator/CER-52-Operator-deauthorization.conf -------------------------------------------------------------------------------- /certora/conf/CER-2-Operator/CER-54-Operator-owner.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/certora/conf/CER-2-Operator/CER-54-Operator-owner.conf -------------------------------------------------------------------------------- /certora/conf/CER-2-Operator/CER-62-Operator-setAccountOperator.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/certora/conf/CER-2-Operator/CER-62-Operator-setAccountOperator.conf -------------------------------------------------------------------------------- /certora/conf/CER-2-Operator/CER-68-Operator-authorization.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/certora/conf/CER-2-Operator/CER-68-Operator-authorization.conf -------------------------------------------------------------------------------- /certora/conf/CER-20-ChecksDeferrable/CER-22-ChecksDeferrable-controlCollateral.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/certora/conf/CER-20-ChecksDeferrable/CER-22-ChecksDeferrable-controlCollateral.conf -------------------------------------------------------------------------------- /certora/conf/CER-20-ChecksDeferrable/CER-23-ChecksDeferrable-callbatch-callback.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/certora/conf/CER-20-ChecksDeferrable/CER-23-ChecksDeferrable-callbatch-callback.conf -------------------------------------------------------------------------------- /certora/conf/CER-27-ExecutionContext/CER-32-ExecutionContext-checksDeferred.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/certora/conf/CER-27-ExecutionContext/CER-32-ExecutionContext-checksDeferred.conf -------------------------------------------------------------------------------- /certora/conf/CER-27-ExecutionContext/CER-33-ExecutionContext-onBehalfOfAccount.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/certora/conf/CER-27-ExecutionContext/CER-33-ExecutionContext-onBehalfOfAccount.conf -------------------------------------------------------------------------------- /certora/conf/CER-27-ExecutionContext/CER-38-ExecutionContext-restored.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/certora/conf/CER-27-ExecutionContext/CER-38-ExecutionContext-restored.conf -------------------------------------------------------------------------------- /certora/conf/CER-40-AccountStatusCheck/CER-326-checkStatusAll-called.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/certora/conf/CER-40-AccountStatusCheck/CER-326-checkStatusAll-called.conf -------------------------------------------------------------------------------- /certora/conf/CER-40-AccountStatusCheck/CER-41-AccountStatusCheck-OnlyOne.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/certora/conf/CER-40-AccountStatusCheck/CER-41-AccountStatusCheck-OnlyOne.conf -------------------------------------------------------------------------------- /certora/conf/CER-40-AccountStatusCheck/CER-42-AccountStatusCheck-NoController.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/certora/conf/CER-40-AccountStatusCheck/CER-42-AccountStatusCheck-NoController.conf -------------------------------------------------------------------------------- /certora/conf/CER-44-VaultStatusCheck/CER-78-VaultStatusCheck-scheduling.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/certora/conf/CER-44-VaultStatusCheck/CER-78-VaultStatusCheck-scheduling.conf -------------------------------------------------------------------------------- /certora/conf/CER-83-Set.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/certora/conf/CER-83-Set.conf -------------------------------------------------------------------------------- /certora/conf/misc/ExecutionContext.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/certora/conf/misc/ExecutionContext.conf -------------------------------------------------------------------------------- /certora/conf/misc/MustRevertFunctions.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/certora/conf/misc/MustRevertFunctions.conf -------------------------------------------------------------------------------- /certora/harness/EthereumVaultConnectorHarness.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/certora/harness/EthereumVaultConnectorHarness.sol -------------------------------------------------------------------------------- /certora/harness/ExecutionContextHarness.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/certora/harness/ExecutionContextHarness.sol -------------------------------------------------------------------------------- /certora/harness/SetHarness.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/certora/harness/SetHarness.sol -------------------------------------------------------------------------------- /certora/mutation/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/certora/mutation/README.md -------------------------------------------------------------------------------- /certora/mutation/conf/MutateCER68.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/certora/mutation/conf/MutateCER68.conf -------------------------------------------------------------------------------- /certora/mutation/mutants/CER-68/EthereumVaultConnector.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/certora/mutation/mutants/CER-68/EthereumVaultConnector.sol -------------------------------------------------------------------------------- /certora/mutation/scripts/run_mutant_cer68.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/certora/mutation/scripts/run_mutant_cer68.sh -------------------------------------------------------------------------------- /certora/scripts/rerun_all_confs.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/certora/scripts/rerun_all_confs.sh -------------------------------------------------------------------------------- /certora/specs/CER-1-Owner/CER-59-Owner-override.spec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/certora/specs/CER-1-Owner/CER-59-Owner-override.spec -------------------------------------------------------------------------------- /certora/specs/CER-1-Owner/CER-60-Owner-addressPrefix.spec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/certora/specs/CER-1-Owner/CER-60-Owner-addressPrefix.spec -------------------------------------------------------------------------------- /certora/specs/CER-11-Controllers/CER-12-Controllers-number.spec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/certora/specs/CER-11-Controllers/CER-12-Controllers-number.spec -------------------------------------------------------------------------------- /certora/specs/CER-11-Controllers/CER-56-Controllers-disabling.spec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/certora/specs/CER-11-Controllers/CER-56-Controllers-disabling.spec -------------------------------------------------------------------------------- /certora/specs/CER-11-Controllers/CER-81-Controllers-restrictions.spec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/certora/specs/CER-11-Controllers/CER-81-Controllers-restrictions.spec -------------------------------------------------------------------------------- /certora/specs/CER-15-Permit/CER-51-Permit-msg-sender.spec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/certora/specs/CER-15-Permit/CER-51-Permit-msg-sender.spec -------------------------------------------------------------------------------- /certora/specs/CER-15-Permit/CER-65-Permit-onBehalfOfAccount.spec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/certora/specs/CER-15-Permit/CER-65-Permit-onBehalfOfAccount.spec -------------------------------------------------------------------------------- /certora/specs/CER-2-Operator/CER-52-Operator-deauthorization.spec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/certora/specs/CER-2-Operator/CER-52-Operator-deauthorization.spec -------------------------------------------------------------------------------- /certora/specs/CER-2-Operator/CER-54-Operator-owner.spec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/certora/specs/CER-2-Operator/CER-54-Operator-owner.spec -------------------------------------------------------------------------------- /certora/specs/CER-2-Operator/CER-62-Operator-setAccountOperator.spec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/certora/specs/CER-2-Operator/CER-62-Operator-setAccountOperator.spec -------------------------------------------------------------------------------- /certora/specs/CER-2-Operator/CER-68-Operator-authorization.spec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/certora/specs/CER-2-Operator/CER-68-Operator-authorization.spec -------------------------------------------------------------------------------- /certora/specs/CER-20-ChecksDeferrable/CER-22-ChecksDeferrable-controlCollateral.spec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/certora/specs/CER-20-ChecksDeferrable/CER-22-ChecksDeferrable-controlCollateral.spec -------------------------------------------------------------------------------- /certora/specs/CER-20-ChecksDeferrable/CER-23-ChecksDeferrable-callbatch-callback.spec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/certora/specs/CER-20-ChecksDeferrable/CER-23-ChecksDeferrable-callbatch-callback.spec -------------------------------------------------------------------------------- /certora/specs/CER-27-ExecutionContext/CER-32-ExecutionContext-checksDeferred.spec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/certora/specs/CER-27-ExecutionContext/CER-32-ExecutionContext-checksDeferred.spec -------------------------------------------------------------------------------- /certora/specs/CER-27-ExecutionContext/CER-33-ExecutionContext-onBehalfOfAccount.spec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/certora/specs/CER-27-ExecutionContext/CER-33-ExecutionContext-onBehalfOfAccount.spec -------------------------------------------------------------------------------- /certora/specs/CER-27-ExecutionContext/CER-38-ExecutionContext-restored.spec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/certora/specs/CER-27-ExecutionContext/CER-38-ExecutionContext-restored.spec -------------------------------------------------------------------------------- /certora/specs/CER-40-AccountStatusCheck/CER-326-checkStatusAll-called.spec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/certora/specs/CER-40-AccountStatusCheck/CER-326-checkStatusAll-called.spec -------------------------------------------------------------------------------- /certora/specs/CER-40-AccountStatusCheck/CER-41-AccountStatusCheck-OnlyOne.spec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/certora/specs/CER-40-AccountStatusCheck/CER-41-AccountStatusCheck-OnlyOne.spec -------------------------------------------------------------------------------- /certora/specs/CER-40-AccountStatusCheck/CER-42-AccountStatusCheck-NoController.spec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/certora/specs/CER-40-AccountStatusCheck/CER-42-AccountStatusCheck-NoController.spec -------------------------------------------------------------------------------- /certora/specs/CER-44-VaultStatusCheck/CER-78-VaultStatusCheck-scheduling.spec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/certora/specs/CER-44-VaultStatusCheck/CER-78-VaultStatusCheck-scheduling.spec -------------------------------------------------------------------------------- /certora/specs/CER-83-Set.spec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/certora/specs/CER-83-Set.spec -------------------------------------------------------------------------------- /certora/specs/misc/ExecutionContext.spec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/certora/specs/misc/ExecutionContext.spec -------------------------------------------------------------------------------- /certora/specs/misc/MustRevertFunctions.spec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/certora/specs/misc/MustRevertFunctions.spec -------------------------------------------------------------------------------- /certora/specs/misc/Permit-onBehalf-unSpoofable.spec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/certora/specs/misc/Permit-onBehalf-unSpoofable.spec -------------------------------------------------------------------------------- /certora/specs/utils/ActualCaller.spec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/certora/specs/utils/ActualCaller.spec -------------------------------------------------------------------------------- /certora/specs/utils/CallOpSanity.spec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/certora/specs/utils/CallOpSanity.spec -------------------------------------------------------------------------------- /certora/specs/utils/IsChecksDeferredFunction.spec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/certora/specs/utils/IsChecksDeferredFunction.spec -------------------------------------------------------------------------------- /certora/specs/utils/IsLowLevelCallFunction.spec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/certora/specs/utils/IsLowLevelCallFunction.spec -------------------------------------------------------------------------------- /certora/specs/utils/IsMustRevertFunction.spec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/certora/specs/utils/IsMustRevertFunction.spec -------------------------------------------------------------------------------- /docs/diagrams/Direct Vault Interaction Sequence.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/docs/diagrams/Direct Vault Interaction Sequence.md -------------------------------------------------------------------------------- /docs/diagrams/EVC Batch Vault Interaction Sequence.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/docs/diagrams/EVC Batch Vault Interaction Sequence.md -------------------------------------------------------------------------------- /docs/diagrams/EVC Call Vault Interaction Sequence.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/docs/diagrams/EVC Call Vault Interaction Sequence.md -------------------------------------------------------------------------------- /docs/diagrams/EVC Permit Vault Interaction Sequence.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/docs/diagrams/EVC Permit Vault Interaction Sequence.md -------------------------------------------------------------------------------- /docs/diagrams/External Calls Sequence.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/docs/diagrams/External Calls Sequence.svg -------------------------------------------------------------------------------- /docs/diagrams/How EVC Works Example Sequence.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/docs/diagrams/How EVC Works Example Sequence.md -------------------------------------------------------------------------------- /docs/diagrams/Liquidation Interaction Sequence.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/docs/diagrams/Liquidation Interaction Sequence.md -------------------------------------------------------------------------------- /docs/diagrams/Liquidation.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/docs/diagrams/Liquidation.svg -------------------------------------------------------------------------------- /docs/diagrams/Typical Interaction.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/docs/diagrams/Typical Interaction.svg -------------------------------------------------------------------------------- /docs/specs.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/docs/specs.md -------------------------------------------------------------------------------- /docs/whitepaper.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/docs/whitepaper.md -------------------------------------------------------------------------------- /foundry.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/foundry.toml -------------------------------------------------------------------------------- /mythril.config.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/mythril.config.json -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/package.json -------------------------------------------------------------------------------- /slither.config.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/slither.config.json -------------------------------------------------------------------------------- /src/Errors.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/src/Errors.sol -------------------------------------------------------------------------------- /src/EthereumVaultConnector.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/src/EthereumVaultConnector.sol -------------------------------------------------------------------------------- /src/Events.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/src/Events.sol -------------------------------------------------------------------------------- /src/ExecutionContext.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/src/ExecutionContext.sol -------------------------------------------------------------------------------- /src/Set.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/src/Set.sol -------------------------------------------------------------------------------- /src/TransientStorage.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/src/TransientStorage.sol -------------------------------------------------------------------------------- /src/interfaces/IERC1271.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/src/interfaces/IERC1271.sol -------------------------------------------------------------------------------- /src/interfaces/IEthereumVaultConnector.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/src/interfaces/IEthereumVaultConnector.sol -------------------------------------------------------------------------------- /src/interfaces/IVault.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/src/interfaces/IVault.sol -------------------------------------------------------------------------------- /src/utils/EVCUtil.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/src/utils/EVCUtil.sol -------------------------------------------------------------------------------- /test/evc/EthereumVaultConnectorHarness.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/test/evc/EthereumVaultConnectorHarness.sol -------------------------------------------------------------------------------- /test/evc/EthereumVaultConnectorScribble.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/test/evc/EthereumVaultConnectorScribble.sol -------------------------------------------------------------------------------- /test/gas/EVCGas.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/test/gas/EVCGas.t.sol -------------------------------------------------------------------------------- /test/gas/SetGas.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/test/gas/SetGas.t.sol -------------------------------------------------------------------------------- /test/invariants/EthereumVaultConnector.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/test/invariants/EthereumVaultConnector.t.sol -------------------------------------------------------------------------------- /test/unit/EVCUtil/EVCUtil.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/test/unit/EVCUtil/EVCUtil.t.sol -------------------------------------------------------------------------------- /test/unit/EthereumVaultConnector/AccountAndVaultStatus.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/test/unit/EthereumVaultConnector/AccountAndVaultStatus.t.sol -------------------------------------------------------------------------------- /test/unit/EthereumVaultConnector/AccountStatus.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/test/unit/EthereumVaultConnector/AccountStatus.t.sol -------------------------------------------------------------------------------- /test/unit/EthereumVaultConnector/Batch.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/test/unit/EthereumVaultConnector/Batch.t.sol -------------------------------------------------------------------------------- /test/unit/EthereumVaultConnector/Call.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/test/unit/EthereumVaultConnector/Call.t.sol -------------------------------------------------------------------------------- /test/unit/EthereumVaultConnector/CollateralsManagement.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/test/unit/EthereumVaultConnector/CollateralsManagement.t.sol -------------------------------------------------------------------------------- /test/unit/EthereumVaultConnector/ControlCollateral.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/test/unit/EthereumVaultConnector/ControlCollateral.t.sol -------------------------------------------------------------------------------- /test/unit/EthereumVaultConnector/ControllersManagement.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/test/unit/EthereumVaultConnector/ControllersManagement.t.sol -------------------------------------------------------------------------------- /test/unit/EthereumVaultConnector/GetExecutionContext.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/test/unit/EthereumVaultConnector/GetExecutionContext.t.sol -------------------------------------------------------------------------------- /test/unit/EthereumVaultConnector/IsAccountStatusCheckDeferred.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/test/unit/EthereumVaultConnector/IsAccountStatusCheckDeferred.t.sol -------------------------------------------------------------------------------- /test/unit/EthereumVaultConnector/IsVaultStatusCheckDeferred.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/test/unit/EthereumVaultConnector/IsVaultStatusCheckDeferred.t.sol -------------------------------------------------------------------------------- /test/unit/EthereumVaultConnector/POC.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/test/unit/EthereumVaultConnector/POC.t.sol -------------------------------------------------------------------------------- /test/unit/EthereumVaultConnector/Permit.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/test/unit/EthereumVaultConnector/Permit.t.sol -------------------------------------------------------------------------------- /test/unit/EthereumVaultConnector/Receive.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/test/unit/EthereumVaultConnector/Receive.t.sol -------------------------------------------------------------------------------- /test/unit/EthereumVaultConnector/SetLockdownMode.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/test/unit/EthereumVaultConnector/SetLockdownMode.t.sol -------------------------------------------------------------------------------- /test/unit/EthereumVaultConnector/SetNonce.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/test/unit/EthereumVaultConnector/SetNonce.t.sol -------------------------------------------------------------------------------- /test/unit/EthereumVaultConnector/SetOperator.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/test/unit/EthereumVaultConnector/SetOperator.t.sol -------------------------------------------------------------------------------- /test/unit/EthereumVaultConnector/SetPermitDisabledMode.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/test/unit/EthereumVaultConnector/SetPermitDisabledMode.t.sol -------------------------------------------------------------------------------- /test/unit/EthereumVaultConnector/VaultStatus.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/test/unit/EthereumVaultConnector/VaultStatus.t.sol -------------------------------------------------------------------------------- /test/unit/Set/Set.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/test/unit/Set/Set.t.sol -------------------------------------------------------------------------------- /test/utils/mocks/Target.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/test/utils/mocks/Target.sol -------------------------------------------------------------------------------- /test/utils/mocks/Vault.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euler-xyz/ethereum-vault-connector/HEAD/test/utils/mocks/Vault.sol --------------------------------------------------------------------------------