Skip to content
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

Restore restored functionality tests #11930

Merged
merged 2 commits into from
Feb 5, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 19 additions & 11 deletions contracts/gas-snapshots/llo-feeds.gas-snapshot
Original file line number Diff line number Diff line change
Expand Up @@ -154,30 +154,38 @@ RewardManagerRecipientClaimMultiplePoolsTest:test_singleRecipientClaimMultipleDe
RewardManagerRecipientClaimUnevenWeightTest:test_allRecipientsClaimingReceiveExpectedAmount() (gas: 198450)
RewardManagerRecipientClaimUnevenWeightTest:test_allRecipientsClaimingReceiveExpectedAmountWithSmallDeposit() (gas: 218320)
RewardManagerSetRecipientsTest:test_eventIsEmittedUponSetRecipients() (gas: 191729)
RewardManagerSetRecipientsTest:test_setRecipientContainsDuplicateRecipients() (gas: 126058)
RewardManagerSetRecipientsTest:test_setRecipientContainsDuplicateRecipients() (gas: 126080)
RewardManagerSetRecipientsTest:test_setRewardRecipientFromManagerAddress() (gas: 193880)
RewardManagerSetRecipientsTest:test_setRewardRecipientFromNonOwnerOrFeeManagerAddress() (gas: 21452)
RewardManagerSetRecipientsTest:test_setRewardRecipientTwice() (gas: 193324)
RewardManagerSetRecipientsTest:test_setRewardRecipientWeights() (gas: 180630)
RewardManagerSetRecipientsTest:test_setRewardRecipientWithZeroAddress() (gas: 90224)
RewardManagerSetRecipientsTest:test_setRewardRecipients() (gas: 185567)
RewardManagerSetRecipientsTest:test_setRewardRecipientWithZeroWeight() (gas: 191378)
RewardManagerSetRecipientsTest:test_setRewardRecipients() (gas: 185589)
RewardManagerSetRecipientsTest:test_setRewardRecipientsIsEmpty() (gas: 87113)
RewardManagerSetRecipientsTest:test_setSingleRewardRecipient() (gas: 110414)
RewardManagerSetRecipientsTest:test_setSingleRewardRecipient() (gas: 110371)
RewardManagerSetupTest:test_eventEmittedUponFeeManagerUpdate() (gas: 21388)
RewardManagerSetupTest:test_eventEmittedUponFeePaid() (gas: 259121)
RewardManagerSetupTest:test_rejectsZeroLinkAddressOnConstruction() (gas: 59411)
RewardManagerSetupTest:test_setFeeManagerZeroAddress() (gas: 17038)
RewardManagerUpdateRewardRecipientsMultiplePoolsTest:test_updatePrimaryRecipientWeights() (gas: 373535)
RewardManagerUpdateRewardRecipientsTest:test_eventIsEmittedUponUpdateRecipients() (gas: 279096)
RewardManagerUpdateRewardRecipientsTest:test_onlyAdminCanUpdateRecipients() (gas: 19704)
RewardManagerUpdateRewardRecipientsTest:test_partialUpdateRecipientWeights() (gas: 218880)
RewardManagerUpdateRewardRecipientsTest:test_eventIsEmittedUponUpdateRecipients() (gas: 279119)
RewardManagerUpdateRewardRecipientsTest:test_onlyAdminCanUpdateRecipients() (gas: 19749)
RewardManagerUpdateRewardRecipientsTest:test_partialUpdateRecipientWeights() (gas: 218903)
RewardManagerUpdateRewardRecipientsTest:test_updateAllRecipientsWithSameAddressAndWeight() (gas: 272941)
RewardManagerUpdateRewardRecipientsTest:test_updatePartialRecipientsWithExcessiveWeight() (gas: 259196)
RewardManagerUpdateRewardRecipientsTest:test_updatePartialRecipientsToSubset() (gas: 254254)
RewardManagerUpdateRewardRecipientsTest:test_updatePartialRecipientsWithExcessiveWeight() (gas: 259219)
RewardManagerUpdateRewardRecipientsTest:test_updatePartialRecipientsWithSameAddressAndWeight() (gas: 148912)
RewardManagerUpdateRewardRecipientsTest:test_updatePartialRecipientsWithUnderWeightSet() (gas: 259270)
RewardManagerUpdateRewardRecipientsTest:test_updateRecipientWeights() (gas: 368972)
RewardManagerUpdateRewardRecipientsTest:test_updateRecipientWithNewZeroAddress() (gas: 270802)
RewardManagerUpdateRewardRecipientsTest:test_updateRecipientsContainsDuplicateRecipients() (gas: 288572)
RewardManagerUpdateRewardRecipientsTest:test_updatePartialRecipientsWithUnderWeightSet() (gas: 259293)
RewardManagerUpdateRewardRecipientsTest:test_updateRecipientWeights() (gas: 369016)
RewardManagerUpdateRewardRecipientsTest:test_updateRecipientWithNewZeroAddress() (gas: 270780)
RewardManagerUpdateRewardRecipientsTest:test_updateRecipientsContainsDuplicateRecipients() (gas: 288573)
RewardManagerUpdateRewardRecipientsTest:test_updateRecipientsToDifferentLargerSet() (gas: 407931)
RewardManagerUpdateRewardRecipientsTest:test_updateRecipientsToDifferentPartialSet() (gas: 318029)
RewardManagerUpdateRewardRecipientsTest:test_updateRecipientsToDifferentSet() (gas: 377828)
RewardManagerUpdateRewardRecipientsTest:test_updateRecipientsToDifferentSetWithInvalidWeights() (gas: 312133)
RewardManagerUpdateRewardRecipientsTest:test_updateRecipientsUpdateAndRemoveExistingForLargerSet() (gas: 399721)
RewardManagerUpdateRewardRecipientsTest:test_updateRecipientsUpdateAndRemoveExistingForSmallerSet() (gas: 289546)
VerificationdeactivateConfigWhenThereAreMultipleDigestsTest:test_correctlyRemovesAMiddleDigest() (gas: 24177)
VerificationdeactivateConfigWhenThereAreMultipleDigestsTest:test_correctlyRemovesTheFirstDigest() (gas: 24144)
VerificationdeactivateConfigWhenThereAreMultipleDigestsTest:test_correctlyUnsetsDigestsInSequence() (gas: 44109)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,21 @@ contract RewardManagerSetRecipientsTest is BaseRewardManagerTest {
setRewardRecipients(PRIMARY_POOL_ID, recipients, ADMIN);
}

function test_setRewardRecipientWithZeroWeight() public {
//array of recipients
Common.AddressAndWeight[] memory recipients = new Common.AddressAndWeight[](5);

//init each recipient with even weights
recipients[0] = Common.AddressAndWeight(DEFAULT_RECIPIENT_1, ONE_PERCENT * 25);
recipients[1] = Common.AddressAndWeight(DEFAULT_RECIPIENT_2, ONE_PERCENT * 25);
recipients[2] = Common.AddressAndWeight(DEFAULT_RECIPIENT_3, ONE_PERCENT * 25);
recipients[3] = Common.AddressAndWeight(DEFAULT_RECIPIENT_4, ONE_PERCENT * 25);
recipients[4] = Common.AddressAndWeight(DEFAULT_RECIPIENT_5, 0);

//set the recipients
setRewardRecipients(PRIMARY_POOL_ID, recipients, ADMIN);
}

function test_setRewardRecipientWithZeroAddress() public {
//array of recipients
Common.AddressAndWeight[] memory recipients = getPrimaryRecipients();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,131 @@ contract RewardManagerUpdateRewardRecipientsTest is BaseRewardManagerTest {
updateRewardRecipients(PRIMARY_POOL_ID, recipients, ADMIN);
}

function test_updateRecipientsToDifferentSet() public {
//create a list of containing recipients from the primary configured set, and new recipients
Common.AddressAndWeight[] memory recipients = new Common.AddressAndWeight[](getPrimaryRecipients().length + 4);
for (uint256 i; i < getPrimaryRecipients().length; i++) {
//copy the recipient and set the weight to 0 which implies the recipient is being replaced
recipients[i] = Common.AddressAndWeight(getPrimaryRecipients()[i].addr, 0);
}

//add the new recipients individually
recipients[4] = Common.AddressAndWeight(DEFAULT_RECIPIENT_5, ONE_PERCENT * 25);
recipients[5] = Common.AddressAndWeight(DEFAULT_RECIPIENT_6, ONE_PERCENT * 25);
recipients[6] = Common.AddressAndWeight(DEFAULT_RECIPIENT_7, ONE_PERCENT * 25);
recipients[7] = Common.AddressAndWeight(DEFAULT_RECIPIENT_8, ONE_PERCENT * 25);

//updating a recipient should force the funds to be paid out for the primary recipients
updateRewardRecipients(PRIMARY_POOL_ID, recipients, ADMIN);
}

function test_updateRecipientsToDifferentPartialSet() public {
//create a list of containing recipients from the primary configured set, and new recipients
Common.AddressAndWeight[] memory recipients = new Common.AddressAndWeight[](getPrimaryRecipients().length + 2);
for (uint256 i; i < getPrimaryRecipients().length; i++) {
//copy the recipient and set the weight to 0 which implies the recipient is being replaced
recipients[i] = Common.AddressAndWeight(getPrimaryRecipients()[i].addr, 0);
}

//add the new recipients individually
recipients[4] = Common.AddressAndWeight(DEFAULT_RECIPIENT_5, FIFTY_PERCENT);
recipients[5] = Common.AddressAndWeight(DEFAULT_RECIPIENT_6, FIFTY_PERCENT);

//updating a recipient should force the funds to be paid out for the primary recipients
updateRewardRecipients(PRIMARY_POOL_ID, recipients, ADMIN);
}

function test_updateRecipientsToDifferentLargerSet() public {
//create a list of containing recipients from the primary configured set, and new recipients
Common.AddressAndWeight[] memory recipients = new Common.AddressAndWeight[](getPrimaryRecipients().length + 5);
for (uint256 i; i < getPrimaryRecipients().length; i++) {
//copy the recipient and set the weight to 0 which implies the recipient is being replaced
recipients[i] = Common.AddressAndWeight(getPrimaryRecipients()[i].addr, 0);
}

//add the new recipients individually
recipients[4] = Common.AddressAndWeight(DEFAULT_RECIPIENT_5, TEN_PERCENT * 2);
recipients[5] = Common.AddressAndWeight(DEFAULT_RECIPIENT_6, TEN_PERCENT * 2);
recipients[6] = Common.AddressAndWeight(DEFAULT_RECIPIENT_7, TEN_PERCENT * 2);
recipients[7] = Common.AddressAndWeight(DEFAULT_RECIPIENT_8, TEN_PERCENT * 2);
recipients[8] = Common.AddressAndWeight(DEFAULT_RECIPIENT_9, TEN_PERCENT * 2);

//updating a recipient should force the funds to be paid out for the primary recipients
updateRewardRecipients(PRIMARY_POOL_ID, recipients, ADMIN);
}

function test_updateRecipientsUpdateAndRemoveExistingForLargerSet() public {
//create a list of containing recipients from the primary configured set, and new recipients
Common.AddressAndWeight[] memory recipients = new Common.AddressAndWeight[](9);

//update the existing recipients
recipients[0] = Common.AddressAndWeight(getPrimaryRecipients()[0].addr, 0);
recipients[1] = Common.AddressAndWeight(getPrimaryRecipients()[1].addr, 0);
recipients[2] = Common.AddressAndWeight(getPrimaryRecipients()[2].addr, TEN_PERCENT * 3);
recipients[3] = Common.AddressAndWeight(getPrimaryRecipients()[3].addr, TEN_PERCENT * 3);

//add the new recipients individually
recipients[4] = Common.AddressAndWeight(DEFAULT_RECIPIENT_5, TEN_PERCENT);
recipients[5] = Common.AddressAndWeight(DEFAULT_RECIPIENT_6, TEN_PERCENT);
recipients[6] = Common.AddressAndWeight(DEFAULT_RECIPIENT_7, TEN_PERCENT);
recipients[7] = Common.AddressAndWeight(DEFAULT_RECIPIENT_8, TEN_PERCENT);
recipients[8] = Common.AddressAndWeight(DEFAULT_RECIPIENT_9, TEN_PERCENT);

//should revert as the weight does not equal 100%
vm.expectRevert(INVALID_WEIGHT_ERROR_SELECTOR);

//updating a recipient should force the funds to be paid out for the primary recipients
updateRewardRecipients(PRIMARY_POOL_ID, recipients, ADMIN);
}

function test_updateRecipientsUpdateAndRemoveExistingForSmallerSet() public {
//create a list of containing recipients from the primary configured set, and new recipients
Common.AddressAndWeight[] memory recipients = new Common.AddressAndWeight[](5);

//update the existing recipients
recipients[0] = Common.AddressAndWeight(getPrimaryRecipients()[0].addr, 0);
recipients[1] = Common.AddressAndWeight(getPrimaryRecipients()[1].addr, 0);
recipients[2] = Common.AddressAndWeight(getPrimaryRecipients()[2].addr, TEN_PERCENT * 3);
recipients[3] = Common.AddressAndWeight(getPrimaryRecipients()[3].addr, TEN_PERCENT * 2);

//add the new recipients individually
recipients[4] = Common.AddressAndWeight(DEFAULT_RECIPIENT_5, TEN_PERCENT * 5);

//updating a recipient should force the funds to be paid out for the primary recipients
updateRewardRecipients(PRIMARY_POOL_ID, recipients, ADMIN);
}

function test_updateRecipientsToDifferentSetWithInvalidWeights() public {
//create a list of containing recipients from the primary configured set, and new recipients
Common.AddressAndWeight[] memory recipients = new Common.AddressAndWeight[](getPrimaryRecipients().length + 2);
for (uint256 i; i < getPrimaryRecipients().length; i++) {
//copy the recipient and set the weight to 0 which implies the recipient is being replaced
recipients[i] = Common.AddressAndWeight(getPrimaryRecipients()[i].addr, 0);
}

//add the new recipients individually
recipients[4] = Common.AddressAndWeight(DEFAULT_RECIPIENT_5, TEN_PERCENT * 5);
recipients[5] = Common.AddressAndWeight(DEFAULT_RECIPIENT_6, TEN_PERCENT);

//should revert as the weight will not equal 100%
vm.expectRevert(INVALID_WEIGHT_ERROR_SELECTOR);

//updating a recipient should force the funds to be paid out for the primary recipients
updateRewardRecipients(PRIMARY_POOL_ID, recipients, ADMIN);
}

function test_updatePartialRecipientsToSubset() public {
//create a list of containing recipients from the primary configured set, and new recipients
Common.AddressAndWeight[] memory recipients = new Common.AddressAndWeight[](4);
recipients[0] = Common.AddressAndWeight(DEFAULT_RECIPIENT_1, 0);
recipients[1] = Common.AddressAndWeight(DEFAULT_RECIPIENT_2, 0);
recipients[2] = Common.AddressAndWeight(DEFAULT_RECIPIENT_3, TEN_PERCENT * 5);
recipients[3] = Common.AddressAndWeight(DEFAULT_RECIPIENT_4, TEN_PERCENT * 5);

//updating a recipient should force the funds to be paid out for the primary recipients
updateRewardRecipients(PRIMARY_POOL_ID, recipients, ADMIN);
}

function test_updatePartialRecipientsWithUnderWeightSet() public {
//create a list of containing recipients from the primary configured set, and new recipients
Common.AddressAndWeight[] memory recipients = new Common.AddressAndWeight[](4);
Expand Down
Loading