fix get_vesting_balance method
This commit is contained in:
parent
2a3d8a4c66
commit
397ecda855
1 changed files with 22 additions and 12 deletions
|
|
@ -44,6 +44,15 @@ asset linear_vesting_policy::get_allowed_withdraw( const vesting_policy_context&
|
|||
assert( elapsed_seconds > 0 );
|
||||
|
||||
if( elapsed_seconds >= vesting_cliff_seconds )
|
||||
{
|
||||
// BLOCKBACK-154 fix, Begin balance for linear vesting applies only to initial account balance from genesis
|
||||
// So, for any GPOS vesting, the begin balance would be 0 and should be able to withdraw balance amount based on lockin period
|
||||
if(begin_balance == 0)
|
||||
{
|
||||
allowed_withdraw = ctx.balance.amount;
|
||||
return asset( allowed_withdraw, ctx.balance.asset_id );
|
||||
}
|
||||
else
|
||||
{
|
||||
share_type total_vested = 0;
|
||||
if( elapsed_seconds < vesting_duration_seconds )
|
||||
|
|
@ -63,6 +72,7 @@ asset linear_vesting_policy::get_allowed_withdraw( const vesting_policy_context&
|
|||
assert( allowed_withdraw >= 0 );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return asset( allowed_withdraw, ctx.balance.asset_id );
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue