Skip to content

Conversation

@j-h-scheufen
Copy link

@j-h-scheufen j-h-scheufen commented Sep 18, 2020

Changes in the PR:

  • Support for multiple stakes per staker address
  • Changed function signatures checkIn, claimBooty, and withdrawStake to work with multiple stakes to reduce the number of transactions a staker has to perform. E.g. it is now possible to checkIn on multiple stakes with a single call.
  • New function increaseStake
  • Refactored the core logic of a stake's lifecycle to remove the "waiting period". A stake now locks the staked amount for exactly X periods from its creation timestamp. Also, a staker now checks in for the current period and can claim any booty in the following period.

…e stakes. Refactored checkIn function to allow multiple stakes by the same staker. Renamed function _updateNextPeriodPoints to _applyStakeToCurrentPeriod and modified to calculate points for currentPeriod instead of nextPeriod. Refactored function checkIn to be able to iterate over a defined set of stakes for check-in.

Signed-off-by: Jan Hendrik Scheufen <[email protected]>
…ke now requires the source stake ID as an additional parameter and it allows the receiver to be an existing staker. withdrawStake now requires an array of stake IDs to withdraw which allows withdrawing multiple eligable stakes to be withdrawn in one transaction.

Signed-off-by: Jan Hendrik Scheufen <[email protected]>
…ty now allows claiming booty from multiple periods by specifying a start period. withdrawStake now allows specifying an array of stake IDs and withdrawing all stakes in one transaction.

Removed unused and duplicate verify* functions at top of file

Signed-off-by: Jan Hendrik Scheufen <[email protected]>
… structs back to SpankBank.sol as it didn't warrant the extra file.

Signed-off-by: Jan Hendrik Scheufen <[email protected]>
… appropriate test cases to test/spank.js

Improved natspec doc in SpankBank.sol

Signed-off-by: Jan Hendrik Scheufen <[email protected]>
…me field that allows all SpankBank rules to rely on timestamps rather than the period numbers. Above all, the Spankbank does not discriminate against early or late stakers; a staker will always commit to a number of periods based on the exact time when the stake was created, before it can be withdrawn. Removed obsolete test/utils.js. Fixed the periodLength in SpankBank.sol to exactly 30 days and removed the constructor parameter.

Signed-off-by: Jan Hendrik Scheufen <[email protected]>
@j-h-scheufen j-h-scheufen changed the title [DON'T MERGE] - Proposed updates to the SpankBank contract v1.2 Updates to the SpankBank contract v1.2 Nov 27, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant