-
Notifications
You must be signed in to change notification settings - Fork 87
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
Tj/fee contract improvements #1877
Conversation
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 but please check with @alysiahuggins regarding the upgradeability of the contract.
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.
Some tests fail on my machine:
> just sol-test
[FAIL. Reason: DepositTooLarge()] test_depositForManyDifferentUsers() (gas: 44817)
[FAIL. Reason: DepositTooLarge()] test_depositManyTimesForTheSameUser() (gas: 40448)
[PASS] test_depositMaxAmount() (gas: 27816)
[FAIL. Reason: panic: arithmetic underflow or overflow (0x11)] test_depositMinAmount() (gas: 16785)
[FAIL. Reason: Error != expected error: 0xc56d46d3 != 0x702b3d90] test_invalidUserAddress() (gas: 24845)
// === Constants === | ||
// | ||
/// @notice max amount allowed to be deposited to prevent fat finger errors | ||
// @TODO confirm this amount with product | ||
uint256 public maxDepositAmount = 1 ether; |
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.
as it's an upgradable contract - we can't assign values to state variables on the implementation contract since we actually use the storage on the proxy contract. Only set these values in the initialize
function
@@ -49,8 +48,6 @@ contract FeeContract is Initializable, OwnableUpgradeable, UUPSUpgradeable { | |||
function initialize(address multisig) public initializer { | |||
__Ownable_init(multisig); //sets owner to msg.sender | |||
__UUPSUpgradeable_init(); | |||
maxDepositAmount = 1 ether; |
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.
see comment above but these values have to set here as opposed to assigning it upon declaration of the state variable.
thanks for tagging me @philippecamacho , i left comments |
This PR:
Minor gas optimizations
This PR does not:
Key places to review: