29 #include <graphene/chain/hardfork.hpp> 32 namespace graphene {
namespace chain {
49 "The creator account is not allowed to transact the asset" );
51 "The owner account is not allowed to transact the asset" );
107 obj.owner = op.
owner;
init_policy_visitor(vesting_policy &po, const share_type &begin_balance, const fc::time_point_sec &n)
fc::time_point_sec begin_timestamp
This is the time at which funds begin vesting.
void modify(const T &obj, const Lambda &m)
uint32_t vesting_duration_seconds
Duration of the vesting period, in seconds. Must be greater than 0 and greater than vesting_cliff_sec...
void adjust_balance(account_id_type account, asset delta)
Adjust a particular account's balance in a given asset by a delta.
uint32_t vesting_cliff_seconds
No amount may be withdrawn before this many seconds of the vesting period have elapsed.
bool is_authorized_asset(const database &d, const account_object &acct, const asset_object &asset_obj)
time_point_sec head_block_time() const
This class represents an account on the object graphAccounts are the primary unit of authority on the...
tracks the blockchain state in an extensible manner
account_id_type owner
Must be vesting_balance.owner.
uint32_t vesting_cliff_seconds
const account_object * fee_paying_account
fc::time_point_sec start_claim
fc::time_point_sec start_claim
visitor::result_type visit(visitor &v)
void_result do_apply(const vesting_balance_withdraw_operation &op)
fc::time_point_sec begin_timestamp
fc::uint128_t coin_seconds_earned
void_result do_evaluate(const vesting_balance_withdraw_operation &op)
bool is_transfer_restricted() const
Create a vesting balance.The chain allows a user to create a vesting balance. Normally, vesting balances are created automatically as part of cashback and worker operations. This operation allows vesting balances to be created manually as well.
share_type begin_balance
The total amount of asset to vest.
#define FC_CAPTURE_AND_RETHROW(...)
#define FC_ASSERT(TEST,...)
Checks a condition and throws an assert_exception if the test is FALSE.
void withdraw(const fc::time_point_sec &now, const asset &amount)
object_id_type do_apply(const vesting_balance_create_operation &op)
vesting_policy_initializer policy
account_id_type owner
Who is able to withdraw the balance.
Withdraw from a vesting balance.Withdrawal from a not-completely-mature vesting balance will result i...
tracks the parameters of an assetAll assets have a globally unique symbol name that controls how they...
uint32_t vesting_duration_seconds
vesting_balance_id_type vesting_balance
defines vesting in terms of coin-days accrued which allows for dynamic deposit/withdraw ...
fc::time_point_sec coin_seconds_earned_last_update
void operator()(const cdd_vesting_policy_initializer &i) const
void operator()(const linear_vesting_policy_initializer &i) const
bool is_withdraw_allowed(const fc::time_point_sec &now, const asset &amount) const
account_id_type creator
Who provides funds initially.
const T & create(F &&constructor)
Linear vesting balance with cliff.
void_result do_evaluate(const vesting_balance_create_operation &op)
void operator()(const instant_vesting_policy_initializer &i) const
account_id_type owner
Account which owns and may withdraw from this vesting balance.