├── .env.sample ├── .eslintrc ├── .gitattributes ├── .github └── workflows │ ├── cov.yaml │ ├── lint.yaml │ └── test.yaml ├── .gitignore ├── .prettierignore ├── .prettierrc ├── .solcover.js ├── .solhint.json ├── .solhintignore ├── .vscode └── settings.json ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── audits ├── Element_ChainSafe_Council_Audit_October_2021.pdf └── Element_Finance_RuntimeVerification_Governance_Security_Audit_Report.pdf ├── cSpell.json ├── contracts ├── CoreVoting.sol ├── features │ ├── Airdrop.sol │ ├── OptimisticGrants.sol │ ├── Spender.sol │ ├── Timelock.sol │ └── Treasury.sol ├── interfaces │ ├── ICoreVoting.sol │ ├── IERC20.sol │ ├── IERC20Permit.sol │ ├── ILockingVault.sol │ └── IVotingVault.sol ├── libraries │ ├── Authorizable.sol │ ├── ERC20Permit.sol │ ├── ERC20PermitWithMint.sol │ ├── History.sol │ ├── MerkleRewards.sol │ ├── ReentrancyBlock.sol │ ├── Storage.sol │ └── VestingVaultStorage.sol ├── mocks │ ├── MockCoreVoting.sol │ ├── MockDoubleSpender.sol │ ├── MockERC20.sol │ ├── MockHistoryTracker.sol │ ├── MockLockingVault.sol │ ├── MockTokenLogic.sol │ ├── MockVotingVault.sol │ ├── Reverter.sol │ ├── StorageRead.sol │ ├── TestCoreVoting.sol │ ├── TestTreasury.sol │ └── TestVestingVault.sol ├── simpleProxy.sol └── vaults │ ├── FrozenLockingVault.sol │ ├── FrozenVestingVault.sol │ ├── GSCVault.sol │ ├── LockingVault.sol │ ├── NonvotingVault.sol │ ├── OptimisticRewards.sol │ └── VestingVault.sol ├── hardhat.config.test.ts ├── hardhat.config.ts ├── package.json ├── test ├── airdropTest.ts ├── coreVotingTest.ts ├── erc20Test.ts ├── frozenVaultsTest.ts ├── gscVaultTests.ts ├── helpers │ ├── merkle.ts │ ├── signatures.ts │ ├── snapshots.ts │ └── time.ts ├── historicalTracking.ts ├── integration │ ├── helpers │ │ ├── deploy.ts │ │ ├── runner.ts │ │ └── runnerInputs.ts │ ├── integrationTest.ts │ └── storageStress.ts ├── lockingVault.ts ├── nonvotingVaultTest.ts ├── optimisticGrantTest.ts ├── optimisticRewardsTest.ts ├── proxyTests.ts ├── spendingTest.ts ├── timelockTest.ts ├── treasuryTest.ts └── vestingVaultTest.ts └── tsconfig.json /.env.sample: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/.env.sample -------------------------------------------------------------------------------- /.eslintrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/.eslintrc -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | *.sol linguist-language=Solidity 2 | -------------------------------------------------------------------------------- /.github/workflows/cov.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/.github/workflows/cov.yaml -------------------------------------------------------------------------------- /.github/workflows/lint.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/.github/workflows/lint.yaml -------------------------------------------------------------------------------- /.github/workflows/test.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/.github/workflows/test.yaml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/.gitignore -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/.prettierignore -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "bracketSpacing": true 3 | } 4 | -------------------------------------------------------------------------------- /.solcover.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/.solcover.js -------------------------------------------------------------------------------- /.solhint.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/.solhint.json -------------------------------------------------------------------------------- /.solhintignore: -------------------------------------------------------------------------------- 1 | contracts/balancer-core-v2 2 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/.vscode/settings.json -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/README.md -------------------------------------------------------------------------------- /audits/Element_ChainSafe_Council_Audit_October_2021.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/audits/Element_ChainSafe_Council_Audit_October_2021.pdf -------------------------------------------------------------------------------- /audits/Element_Finance_RuntimeVerification_Governance_Security_Audit_Report.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/audits/Element_Finance_RuntimeVerification_Governance_Security_Audit_Report.pdf -------------------------------------------------------------------------------- /cSpell.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/cSpell.json -------------------------------------------------------------------------------- /contracts/CoreVoting.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/contracts/CoreVoting.sol -------------------------------------------------------------------------------- /contracts/features/Airdrop.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/contracts/features/Airdrop.sol -------------------------------------------------------------------------------- /contracts/features/OptimisticGrants.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/contracts/features/OptimisticGrants.sol -------------------------------------------------------------------------------- /contracts/features/Spender.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/contracts/features/Spender.sol -------------------------------------------------------------------------------- /contracts/features/Timelock.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/contracts/features/Timelock.sol -------------------------------------------------------------------------------- /contracts/features/Treasury.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/contracts/features/Treasury.sol -------------------------------------------------------------------------------- /contracts/interfaces/ICoreVoting.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/contracts/interfaces/ICoreVoting.sol -------------------------------------------------------------------------------- /contracts/interfaces/IERC20.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/contracts/interfaces/IERC20.sol -------------------------------------------------------------------------------- /contracts/interfaces/IERC20Permit.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/contracts/interfaces/IERC20Permit.sol -------------------------------------------------------------------------------- /contracts/interfaces/ILockingVault.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/contracts/interfaces/ILockingVault.sol -------------------------------------------------------------------------------- /contracts/interfaces/IVotingVault.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/contracts/interfaces/IVotingVault.sol -------------------------------------------------------------------------------- /contracts/libraries/Authorizable.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/contracts/libraries/Authorizable.sol -------------------------------------------------------------------------------- /contracts/libraries/ERC20Permit.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/contracts/libraries/ERC20Permit.sol -------------------------------------------------------------------------------- /contracts/libraries/ERC20PermitWithMint.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/contracts/libraries/ERC20PermitWithMint.sol -------------------------------------------------------------------------------- /contracts/libraries/History.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/contracts/libraries/History.sol -------------------------------------------------------------------------------- /contracts/libraries/MerkleRewards.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/contracts/libraries/MerkleRewards.sol -------------------------------------------------------------------------------- /contracts/libraries/ReentrancyBlock.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/contracts/libraries/ReentrancyBlock.sol -------------------------------------------------------------------------------- /contracts/libraries/Storage.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/contracts/libraries/Storage.sol -------------------------------------------------------------------------------- /contracts/libraries/VestingVaultStorage.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/contracts/libraries/VestingVaultStorage.sol -------------------------------------------------------------------------------- /contracts/mocks/MockCoreVoting.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/contracts/mocks/MockCoreVoting.sol -------------------------------------------------------------------------------- /contracts/mocks/MockDoubleSpender.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/contracts/mocks/MockDoubleSpender.sol -------------------------------------------------------------------------------- /contracts/mocks/MockERC20.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/contracts/mocks/MockERC20.sol -------------------------------------------------------------------------------- /contracts/mocks/MockHistoryTracker.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/contracts/mocks/MockHistoryTracker.sol -------------------------------------------------------------------------------- /contracts/mocks/MockLockingVault.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/contracts/mocks/MockLockingVault.sol -------------------------------------------------------------------------------- /contracts/mocks/MockTokenLogic.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/contracts/mocks/MockTokenLogic.sol -------------------------------------------------------------------------------- /contracts/mocks/MockVotingVault.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/contracts/mocks/MockVotingVault.sol -------------------------------------------------------------------------------- /contracts/mocks/Reverter.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/contracts/mocks/Reverter.sol -------------------------------------------------------------------------------- /contracts/mocks/StorageRead.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/contracts/mocks/StorageRead.sol -------------------------------------------------------------------------------- /contracts/mocks/TestCoreVoting.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/contracts/mocks/TestCoreVoting.sol -------------------------------------------------------------------------------- /contracts/mocks/TestTreasury.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/contracts/mocks/TestTreasury.sol -------------------------------------------------------------------------------- /contracts/mocks/TestVestingVault.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/contracts/mocks/TestVestingVault.sol -------------------------------------------------------------------------------- /contracts/simpleProxy.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/contracts/simpleProxy.sol -------------------------------------------------------------------------------- /contracts/vaults/FrozenLockingVault.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/contracts/vaults/FrozenLockingVault.sol -------------------------------------------------------------------------------- /contracts/vaults/FrozenVestingVault.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/contracts/vaults/FrozenVestingVault.sol -------------------------------------------------------------------------------- /contracts/vaults/GSCVault.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/contracts/vaults/GSCVault.sol -------------------------------------------------------------------------------- /contracts/vaults/LockingVault.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/contracts/vaults/LockingVault.sol -------------------------------------------------------------------------------- /contracts/vaults/NonvotingVault.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/contracts/vaults/NonvotingVault.sol -------------------------------------------------------------------------------- /contracts/vaults/OptimisticRewards.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/contracts/vaults/OptimisticRewards.sol -------------------------------------------------------------------------------- /contracts/vaults/VestingVault.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/contracts/vaults/VestingVault.sol -------------------------------------------------------------------------------- /hardhat.config.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/hardhat.config.test.ts -------------------------------------------------------------------------------- /hardhat.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/hardhat.config.ts -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/package.json -------------------------------------------------------------------------------- /test/airdropTest.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/test/airdropTest.ts -------------------------------------------------------------------------------- /test/coreVotingTest.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/test/coreVotingTest.ts -------------------------------------------------------------------------------- /test/erc20Test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/test/erc20Test.ts -------------------------------------------------------------------------------- /test/frozenVaultsTest.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/test/frozenVaultsTest.ts -------------------------------------------------------------------------------- /test/gscVaultTests.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/test/gscVaultTests.ts -------------------------------------------------------------------------------- /test/helpers/merkle.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/test/helpers/merkle.ts -------------------------------------------------------------------------------- /test/helpers/signatures.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/test/helpers/signatures.ts -------------------------------------------------------------------------------- /test/helpers/snapshots.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/test/helpers/snapshots.ts -------------------------------------------------------------------------------- /test/helpers/time.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/test/helpers/time.ts -------------------------------------------------------------------------------- /test/historicalTracking.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/test/historicalTracking.ts -------------------------------------------------------------------------------- /test/integration/helpers/deploy.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/test/integration/helpers/deploy.ts -------------------------------------------------------------------------------- /test/integration/helpers/runner.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/test/integration/helpers/runner.ts -------------------------------------------------------------------------------- /test/integration/helpers/runnerInputs.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/test/integration/helpers/runnerInputs.ts -------------------------------------------------------------------------------- /test/integration/integrationTest.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/test/integration/integrationTest.ts -------------------------------------------------------------------------------- /test/integration/storageStress.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/test/integration/storageStress.ts -------------------------------------------------------------------------------- /test/lockingVault.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/test/lockingVault.ts -------------------------------------------------------------------------------- /test/nonvotingVaultTest.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/test/nonvotingVaultTest.ts -------------------------------------------------------------------------------- /test/optimisticGrantTest.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/test/optimisticGrantTest.ts -------------------------------------------------------------------------------- /test/optimisticRewardsTest.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/test/optimisticRewardsTest.ts -------------------------------------------------------------------------------- /test/proxyTests.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/test/proxyTests.ts -------------------------------------------------------------------------------- /test/spendingTest.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/test/spendingTest.ts -------------------------------------------------------------------------------- /test/timelockTest.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/test/timelockTest.ts -------------------------------------------------------------------------------- /test/treasuryTest.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/test/treasuryTest.ts -------------------------------------------------------------------------------- /test/vestingVaultTest.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/test/vestingVaultTest.ts -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delvtech/council/HEAD/tsconfig.json --------------------------------------------------------------------------------