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

Vesting account and coins support #2228

Closed
1 of 2 tasks
fedekunze opened this issue Mar 11, 2019 · 3 comments
Closed
1 of 2 tasks

Vesting account and coins support #2228

fedekunze opened this issue Mar 11, 2019 · 3 comments
Labels
design-work-needed 🎨 issues that require design work before development epic stale

Comments

@fedekunze
Copy link
Contributor

fedekunze commented Mar 11, 2019

Is your feature request related to a problem? Please describe.

I'd like to know if any of my coins are vesting (locked) and the time they vest so I can choose those vesting coins over the regular ones to delegate.

Describe the solution you'd like

  • Clearly separate vesting coins from regular coins on the wallet balance
  • Choose either vesting (original_vesting) or regular coins (coins) for staking (delegation, redelegation) and governance.
  • If (re)delegate using my vesting coins, I want to see that the delegation was made with them and not with regular coins
  • Show a message on Send action modal that the original_vesting coins are locked and I can't transfer them until end_time date
  • (optional) show a time progress bar for when coins become vested (unlocked) on the Wallet Page

Describe alternatives you've considered

  • create a separate state for vesting balances (original_vesting)
  • add a dropdown on action modals to choose which coin to use: regular or vesting (original_vesting)

BaseVestingAccount

A vesting account has the following additional fields:

type BaseVestingAccount struct {
	*BaseAccount

	OriginalVesting  sdk.Coins `json:"original_vesting"`  // coins in account upon initialization
	DelegatedFree    sdk.Coins `json:"delegated_free"`    // coins that are vested and delegated
	DelegatedVesting sdk.Coins `json:"delegated_vesting"` // coins that vesting and delegated

	EndTime int64 `json:"end_time"` // when the coins become unlocked
}

ContinuousVestingAccount

Same as the BaseVestingAccount, but it additionally has a start_time for when the coins start to vest:

type ContinuousVestingAccount struct {
	*BaseVestingAccount

	StartTime int64 `json:"start_time"` // when the coins start to vest
}

AC:

  • display vesting accounts tokens
  • display vesting account information
@fedekunze fedekunze added the epic label Mar 11, 2019
@faboweb faboweb added discuss low priority has been discussed, will be addressed later labels Mar 11, 2019
@fedekunze
Copy link
Contributor Author

low priority label description: has been discussed, will be addressed later. This hasn't been discussed yet, so removing the label until then

@fedekunze fedekunze removed the low priority has been discussed, will be addressed later label Mar 11, 2019
@faboweb faboweb added the design-work-needed 🎨 issues that require design work before development label Mar 11, 2019
@faboweb
Copy link
Collaborator

faboweb commented Mar 11, 2019

also make default account a vesting account

@stale
Copy link

stale bot commented Aug 23, 2019

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the stale label Aug 23, 2019
@stale stale bot closed this as completed Aug 30, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
design-work-needed 🎨 issues that require design work before development epic stale
Projects
None yet
Development

No branches or pull requests

2 participants