logos-co / staking

SNT Staking contracts
Creative Commons Zero v1.0 Universal
0 stars 4 forks source link

Refactor Initial Multiplier Logic #52

Closed 3esmit closed 8 months ago

3esmit commented 8 months ago

Description

Checklist

Ensure you completed all of the steps below before submitting your pull request:

0x-r4bbit commented 8 months ago

@3esmit this looks like this needs to be rebased on top of #47

Also, for future PRs please select a reviewer so someone gets notified about it :)

0x-r4bbit commented 8 months ago

@3esmit I've merged #53 and #59 as discussed offline so you can rebase this PR on top of it (now latest develop)

Once done I will review your changes. You might want to squash your commits into https://github.com/logos-co/staking/pull/52/commits/f476860798a2adfb3d9bb166e95b5a724f5fa76e as we don't need the fix test, fix lint etc commits individually.

Let me know if you need any help with this!

3esmit commented 8 months ago

Tests to be written:

mart1n-xyz commented 8 months ago

Here's the cases we were simulating. Case 1 may be interesting as it compares a user with a lock-up and without. I would suggest trying to replicate these parameters for a start. Case 2 deals with restaking - not yet applicable Case 3 might be again interesting as one of the 2 users joins a year later. Case 4&5 are just scaling this to more users and doing stochastic behaviour.

0x-r4bbit commented 8 months ago

Thanks for the updates!

Let's add some tests related to the multiplier/reward calculation, then I think this is good to go.

We can then add all the other tests you've mentioned in your comment in a follow-up PR

3esmit commented 8 months ago

As I am writing tests I am finding other bugs, so I guess this will be a mega PR fixing many bugs.

0x-r4bbit commented 8 months ago

@3esmit I think it's fine if these are part of the refactor changes you've made.

If not, I think it'd be better if we isolate the changes made in this PR so it closes the 1-2 issues it was supposed to close. Then, additional bugs you encounter, unrelated to the refactor changes can be tracked in additional issues and then tackled one by one.

Sometimes it can't be avoided, but we should strive for keep PRs as small as possible