27 namespace graphene {
namespace chain {
34 bool is_balance_owner = (
43 balance_claim_owner_mismatch,
44 "Balance owner key was specified as '${op}' but balance's actual owner is '${bal}'",
58 balance_claim_invalid_claim_amount,
59 "Attempted to claim ${c} from a vesting balance with ${a} available",
64 balance_claim_claimed_too_often,
65 "Genesis vesting balances may not be claimed more than once per day." 84 b.vesting_policy->on_withdraw({b.balance, d.head_block_time(), op.total_claimed});
91 d.adjust_balance(op.deposit_to_account, op.total_claimed);
void modify(const T &obj, const Lambda &m)
optional< linear_vesting_policy > vesting_policy
public_key_type balance_owner_key
time_point_sec head_block_time() const
tracks the blockchain state in an extensible manner
void_result do_evaluate(const balance_claim_operation &op)
bool is_vesting_balance() const
Claim a balance in a graphene::chain::balance_object.
asset available(fc::time_point_sec now) const
microseconds days(int64_t d)
#define FC_ASSERT(TEST,...)
Checks a condition and throws an assert_exception if the test is FALSE.
void_result do_apply(const balance_claim_operation &op)
balance_id_type balance_to_claim
const balance_object * balance
#define GRAPHENE_ASSERT(expr, exc_type, FORMAT,...)
asset_id_type asset_type() const
time_point_sec last_claim_date