-
Notifications
You must be signed in to change notification settings - Fork 15
Airdrop deployment script #149
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
Slither reportStatic Analysis Report**THIS CHECKLIST IS NOT COMPLETE**. Use `--show-ignored-findings` to show all the results. Summary - [locked-ether](#locked-ether) (1 results) (Medium) - [reentrancy-no-eth](#reentrancy-no-eth) (2 results) (Medium) - [unused-return](#unused-return) (9 results) (Medium) - [incorrect-modifier](#incorrect-modifier) (1 results) (Low) - [calls-loop](#calls-loop) (2 results) (Low) - [reentrancy-benign](#reentrancy-benign) (3 results) (Low) - [reentrancy-events](#reentrancy-events) (4 results) (Low) - [dead-code](#dead-code) (44 results) (Informational) - [solc-version](#solc-version) (3 results) (Informational) - [incorrect-using-for](#incorrect-using-for) (1 results) (Informational) - [missing-inheritance](#missing-inheritance) (2 results) (Informational) - [naming-convention](#naming-convention) (13 results) (Informational) - [unimplemented-functions](#unimplemented-functions) (4 results) (Informational) ## locked-ether Impact: Medium Confidence: High - [ ] ID-0 Contract locking ether found: Contract [MutablePauseTarget](https://github.com/equilibria-xyz/root/blob/1f7579ef2566a86f4e87a1bfcbc43186466730eb/src/mutability/Mutable.sol#L132-L137) has payable functions: - [MutablePauseTarget.fallback()](https://github.com/equilibria-xyz/root/blob/1f7579ef2566a86f4e87a1bfcbc43186466730eb/src/mutability/Mutable.sol#L133-L135) But does not have a function to withdraw the etherreentrancy-no-ethImpact: Medium
root/src/mutability/Mutable.sol Lines 94 to 107 in 1f7579e
root/src/mutability/Mutable.sol Lines 117 to 121 in 1f7579e
unused-returnImpact: Medium
root/src/token/types/Token6.sol Lines 43 to 45 in 1f7579e
root/src/distribution/Airdrop.sol Lines 46 to 51 in 1f7579e
root/src/token/types/Token.sol Lines 51 to 53 in 1f7579e
root/src/token/types/Token18.sol Lines 53 to 55 in 1f7579e
root/src/token/types/Token6.sol Lines 54 to 56 in 1f7579e
root/src/distribution/Airdrop.sol Lines 28 to 34 in 1f7579e
root/src/mutability/Mutator.sol Lines 34 to 43 in 1f7579e
root/src/token/types/Token.sol Lines 40 to 42 in 1f7579e
root/src/token/types/Token18.sol Lines 43 to 45 in 1f7579e
incorrect-modifierImpact: Low
root/src/attribute/Attribute.sol Lines 28 to 32 in 1f7579e
calls-loopImpact: Low
root/src/mutability/Mutator.sol Lines 54 to 57 in 1f7579e
root/src/mutability/Mutator.sol Lines 59 to 62 in 1f7579e
reentrancy-benignImpact: Low
root/src/mutability/Mutator.sol Lines 59 to 62 in 1f7579e
root/src/mutability/Mutator.sol Lines 54 to 57 in 1f7579e
root/src/mutability/Mutator.sol Lines 34 to 43 in 1f7579e
reentrancy-eventsImpact: Low
root/src/mutability/Mutable.sol Lines 117 to 121 in 1f7579e
root/src/mutability/Mutator.sol Lines 54 to 57 in 1f7579e
root/src/mutability/Mutator.sol Lines 59 to 62 in 1f7579e
root/src/mutability/Mutable.sol Lines 110 to 114 in 1f7579e
dead-codeImpact: Informational
root/src/number/types/UFixed18.sol Lines 288 to 290 in 1f7579e
root/src/number/types/Fixed6.sol Lines 295 to 297 in 1f7579e
root/src/number/types/UFixed6.sol Lines 295 to 297 in 1f7579e
root/src/number/types/Fixed6.sol Lines 287 to 289 in 1f7579e
root/src/mutability/Implementation.sol Lines 54 to 56 in 1f7579e
root/src/number/types/Fixed18.sol Lines 288 to 290 in 1f7579e
root/src/number/types/Fixed6.sol Lines 311 to 313 in 1f7579e
root/src/number/types/Fixed6.sol Lines 327 to 329 in 1f7579e
root/src/number/types/UFixed6.sol Lines 311 to 314 in 1f7579e
root/src/number/types/Fixed6.sol Lines 335 to 337 in 1f7579e
root/src/number/types/Fixed18.sol Lines 304 to 306 in 1f7579e
root/src/number/types/Fixed6.sol Lines 343 to 346 in 1f7579e
root/src/number/types/UFixed18.sol Lines 313 to 316 in 1f7579e
root/src/number/types/UFixed18.sol Lines 280 to 282 in 1f7579e
root/src/number/types/UFixed6.sol Lines 329 to 331 in 1f7579e
root/src/number/types/Fixed18.sol Lines 280 to 282 in 1f7579e
root/src/number/types/Fixed6.sol Lines 303 to 305 in 1f7579e
root/src/number/types/Fixed6.sol Lines 361 to 363 in 1f7579e
root/src/number/types/UFixed6.sol Lines 279 to 281 in 1f7579e
root/src/number/types/Fixed6.sol Lines 369 to 371 in 1f7579e
root/src/number/types/UFixed18.sol Lines 330 to 332 in 1f7579e
root/src/number/types/UFixed18.sol Lines 272 to 274 in 1f7579e
root/src/number/types/Fixed6.sol Lines 352 to 355 in 1f7579e
root/src/number/types/Fixed6.sol Lines 319 to 321 in 1f7579e
root/src/number/types/UFixed18.sol Lines 296 to 298 in 1f7579e
root/src/mutability/Implementation.sol Lines 59 to 61 in 1f7579e
root/src/number/types/Fixed18.sol Lines 312 to 314 in 1f7579e
root/src/number/types/UFixed6.sol Lines 320 to 323 in 1f7579e
root/src/number/types/Fixed18.sol Lines 345 to 348 in 1f7579e
root/src/number/types/Fixed18.sol Lines 336 to 339 in 1f7579e
root/src/number/types/Fixed18.sol Lines 362 to 364 in 1f7579e
root/src/number/types/Fixed18.sol Lines 320 to 322 in 1f7579e
root/src/number/types/UFixed18.sol Lines 264 to 266 in 1f7579e
root/src/number/types/UFixed6.sol Lines 303 to 305 in 1f7579e
root/src/number/types/UFixed18.sol Lines 304 to 307 in 1f7579e
root/src/number/types/UFixed18.sol Lines 322 to 324 in 1f7579e
root/src/number/types/UFixed6.sol Lines 271 to 273 in 1f7579e
root/src/number/types/UFixed6.sol Lines 263 to 265 in 1f7579e
root/src/number/types/Fixed18.sol Lines 296 to 298 in 1f7579e
root/src/number/types/Fixed18.sol Lines 354 to 356 in 1f7579e
root/src/number/types/UFixed6.sol Lines 337 to 339 in 1f7579e
root/src/number/types/UFixed6.sol Lines 287 to 289 in 1f7579e
root/src/number/types/UFixed18.sol Lines 256 to 258 in 1f7579e
root/src/number/types/Fixed18.sol Lines 328 to 330 in 1f7579e
solc-versionImpact: Informational
root/src/number/types/Fixed18.sol Line 2 in 1f7579e
root/src/vrgda/VRGDADecayMath.sol Line 2 in 1f7579e
root/src/attribute/Attribute.sol Line 2 in 1f7579e
incorrect-using-forImpact: Informational
root/src/mutability/types/Version.sol Lines 16 to 20 in 1f7579e
missing-inheritanceImpact: Informational
root/src/utils/OwnableStub.sol Lines 9 to 15 in 1f7579e
naming-conventionImpact: Informational
root/src/attribute/Pausable.sol Lines 34 to 36 in 1f7579e
root/src/mutability/Mutable.sol Lines 34 to 38 in 1f7579e
root/src/mutability/Mutable.sol Line 31 in 1f7579e
root/src/attribute/Ownable.sol Line 21 in 1f7579e
root/src/attribute/Ownable.sol Lines 42 to 44 in 1f7579e
root/src/mutability/Implementation.sol Line 19 in 1f7579e
root/src/attribute/Ownable.sol Lines 24 to 28 in 1f7579e
root/src/mutability/Implementation.sol Lines 22 to 26 in 1f7579e
root/src/attribute/Pausable.sol Line 23 in 1f7579e
root/src/attribute/Pausable.sol Lines 26 to 30 in 1f7579e
root/src/mutability/Implementation.sol Line 64 in 1f7579e
root/src/attribute/Attribute.sol Lines 20 to 24 in 1f7579e
root/src/attribute/Attribute.sol Line 17 in 1f7579e
unimplemented-functionsImpact: Informational
root/src/attribute/OwnerExecutable.sol Lines 10 to 19 in 1f7579e
root/src/attribute/OwnerWithdrawable.sol Lines 9 to 16 in 1f7579e
root/src/attribute/OwnerDelegatable.sol Lines 10 to 18 in 1f7579e
root/src/mutability/Implementation.sol Lines 11 to 65 in 1f7579e
|
EdNoepel
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good; just needs some doco.
EdNoepel
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
|
LTGM Let's not actually merge this in though — (1) We shouldn't be tying anything Perennial-specific to root and (2) I'm thinking we shouldn't be opinionated about how the end user ends up deploying this. Let's maybe just stick this in a gist we can keep track of in case we want to look back on it, but this should be good to use to deploy in the meantime. |
| Airdrop airdrop = new Airdrop(); | ||
|
|
||
| // set pending owner to protocol multisig | ||
| airdrop.updatePendingOwner(PROTOCOL_MULTISIG_ADDRESS); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This address should be loaded as an environment variable using vm.envAddress, and should be referred to as OWNER_ADDRESS.
move OwnableStub
Unit Test Coverage ReportCoverage after merging prateek/pe-2671-deploy-airdrop into v3 will be
Coverage Report
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Issue: https://linear.app/perennial/issue/PE-2671/deploy-airdrop-contract