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

Enforce the round lasting at least roundPeriodInSecs #161

Open
blorange opened this issue May 17, 2017 · 3 comments
Open

Enforce the round lasting at least roundPeriodInSecs #161

blorange opened this issue May 17, 2017 · 3 comments

Comments

@blorange
Copy link

It's a small thing and subject to discussion but currently if nobody advances the round, it eats into the possible time of the next round. This could lead to a situation where one round of a 7-round-ROSCA lasts for 8 days, but the next round only lasts 6.

I understand the way around it now is to allow anyone to advance the round, but we've only opened this up to the foreperson on the FE.

To attempt to avoid throwing if startRound is called too early, we could store the nextRoundStartTime in a variable, and look it up before the user is able to call startRound from the FE.

@rmerom
Copy link
Contributor

rmerom commented May 17, 2017

That's a good point.
I would suggest we fix that by making the startRound implied in any other action, so anyone who bids/contributes will also advance the round if needed.
It sounds to me a bit "unfair" that only the foreperson can advance the round.

@blorange
Copy link
Author

Wouldn't that create a very large gas differential between a 'normal' action and an action which also needed to advance the round? IIRC startRound is the most gas-heavy function we have.

Additionally, would the round be advanced before or after the 'normal' action?

@rmerom
Copy link
Contributor

rmerom commented May 17, 2017

It would create a "gas burden" - but that could be fixed by Metropolis's "collect call" feature.
I would imagine that if the end time of this round has passed, the round would be advanced before handling this call.

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

No branches or pull requests

2 participants