# Certik Audit Scope (in order of importance) - Contracts in folders governance, reserve, staking, ubi - Upgrade process script and contract - scripts/upgradeToV2/upgradeToV2.ts - utils/ProtocolUpgrade.sol - GDX + GDAO merklehash calculations for airdrop - scripts/gdx/gdxAirdropCalculations.ts - scripts/governance/airdropCalculations.ts - Helpers contracts in utils folder - NameService.sol - DAOContract.sol - DAOUpgradeableContract.sol ### Contracts to fully audit #### Governance - GReputation.sol - GDAO token contract - ClaimersDistribution.sol - integrate with ubi/UBIScheme to distribute GDAO to claimers - StakersDistribution.sol - integrates with staking/SimpleStaking to distribute GDAO to stakers - GovernanceStaking.sol - G$ staking contract, distributes GDAO to G$ stakers. - MultiBaseGovernanceShareField.sol - helper contract used in StakersDistribution and GovernanceStaking to calculate pro-rata GDAO rewards #### Staking - SimpleStaking.sol - Basic logic used by all staking contracts - BaseShareField.sol - helper contract to calculate staking rewards pro-rata - GoodCompoundStaking.sol - instance of SimpleStaking using Compound #### Utils - ProtocolUpgrade.sol - DAO actions to execute by Avatar to migrate existing DAO to new version - NameService.sol - simple contracts registery - DAOContract.sol - simple helper contract to get basic DAO data - DAOUpgradeableContract.sol - DAOContract that is UUPS upgradable and can be upgraded only by DAO (avatar) ### The following contracts should only be audited for changes #### Governance - CompoundVotingMachine.sol vs https://github.com/compound-finance/compound-protocol/blob/b9b14038612d846b83f8a009a82c38974ff2dcfe/contracts/Governance/GovernorAlpha.sol - Reputation.sol vs https://github.com/daostack/infra/blob/60a79a1be02942174e21156c3c9655a7f0695dbd/contracts/Reputation.sol #### Reserve - GoodMarketMaker.sol vs https://github.com/GoodDollar/GoodContracts/blob/b84605c983cb431cbca11ecd3185f1afd1494ce4/stakingModel/contracts/GoodMarketMaker.sol - GoodReserveCDai.sol vs https://github.com/GoodDollar/GoodContracts/blob/b84605c983cb431cbca11ecd3185f1afd1494ce4/stakingModel/contracts/GoodReserveCDai.sol #### Staking - GoodFundManager.sol vs https://github.com/GoodDollar/GoodContracts/blob/b84605c983cb431cbca11ecd3185f1afd1494ce4/stakingModel/contracts/GoodFundManager.sol #### UBI - UBIScheme.sol https://github.com/GoodDollar/GoodContracts/blob/b84605c983cb431cbca11ecd3185f1afd1494ce4/stakingModel/contracts/UBIScheme.sol ### Scripts to audit - scripts/upgradeToV2/upgradeToV2.ts - scripts/gdx/gdxAirdropCalculations.ts - scripts/governance/airdropCalculations.ts