29 #include <graphene/chain/hardfork.hpp> 32 namespace graphene {
namespace chain {
74 if( _asset.is_transfer_restricted() )
77 "Asset ${a} '${sym}' has transfer_restricted flag enabled",
78 (
"a", _asset.id)(
"sym", _asset.symbol) );
83 "Account ${acct} '${name}' is unauthorized to transact asset ${a} '${sym}' due to whitelist / blacklist",
84 (
"acct", to.
id)(
"name", to.
name)(
"a", _asset.id)(
"sym", _asset.symbol) );
89 "Account ${acct} '${name}' is unauthorized to withdraw asset ${a} '${sym}' due to whitelist / blacklist",
90 (
"acct", from.
id)(
"name", from.
name)(
"a", _asset.id)(
"sym", _asset.symbol) );
uint32_t withdrawal_period_sec
The duration of a withdrawal period in seconds.
account_id_type authorized_account
The account authorized to make withdrawals from withdraw_from_account.
void modify(const T &obj, const Lambda &m)
account_id_type withdraw_from_account
Must match withdraw_permission->withdraw_from_account.
chain_parameters parameters
void_result do_evaluate(const operation_type &op) const
uint32_t periods_until_expiration
The new number of withdrawal periods for which this permission will be valid.
void adjust_balance(account_id_type account, asset delta)
Adjust a particular account's balance in a given asset by a delta.
void_result do_apply(const operation_type &op) const
account_id_type withdraw_to_account
Must match withdraw_permision->authorized_account.
account_id_type authorized_account
The account authorized to make withdrawals from withdraw_from_account.
bool is_authorized_asset(const database &d, const account_object &acct, const asset_object &asset_obj)
void_result do_evaluate(const operation_type &op) const
time_point_sec head_block_time() const
asset withdrawal_limit
New maximum amount the withdrawer is allowed to charge per withdrawal period.
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
asset withdrawal_limit
The maximum amount authorized_account is allowed to withdraw in a given withdrawal period...
Delete an existing withdrawal permissionThis operation cancels a withdrawal permission, thus preventing any future withdrawals using that permission.
time_point_sec period_start_time
account_id_type withdraw_from_account
The account authorizing withdrawals from its balances.
asset amount_to_withdraw
Amount to withdraw. Must not exceed withdraw_permission->withdrawal_limit.
asset get_balance(account_id_type owner, asset_id_type asset_id) const
Retrieve a particular account's balance in a given asset.
uint32_t withdrawal_period_sec
Length of the withdrawal period in seconds.
time_point_sec period_start_time
Time at which the first withdrawal period begins; must be in the future.
uint32_t periods_until_expiration
The number of withdrawal periods this permission is valid for.
Withdraw from an account which has published a withdrawal permissionThis operation is used to withdra...
account_id_type authorized_account
The account authorized to make withdrawals. Must match permission_to_update->authorized_account.
void_result do_evaluate(const operation_type &op) const
Grants another account authority to withdraw a limited amount of funds per interval.
object_id_type do_apply(const operation_type &op) const
const T & get(const object_id_type &id) const
account_id_type withdraw_from_account
Must match withdrawal_permission->withdraw_from_account. This account pays the fee.
const T * find(const object_id_type &id) const
time_point_sec expiration
The time at which this withdraw permission expires.
account_id_type withdraw_from_account
This account pays the fee. Must match permission_to_update->withdraw_from_account.
#define FC_CAPTURE_AND_RETHROW(...)
#define FC_ASSERT(TEST,...)
Checks a condition and throws an assert_exception if the test is FALSE.
string name
The account's name. This name must be unique among all account names on the graph. May not be empty.
share_type claimed_this_period
asset available_this_period(fc::time_point_sec current_time) const
void_result do_apply(const operation_type &op) const
account_id_type withdraw_from_account
The account authorizing authorized_account to withdraw from it.
withdraw_permission_id_type withdraw_permission
ID of the permission authorizing this withdrawal.
withdraw_permission_id_type withdrawal_permission
ID of the permission to be revoked.
withdraw_permission_id_type permission_to_update
ID of the permission which is being updated.
Update an existing withdraw permissionThis oeration is used to update the settings for an existing wi...
tracks the parameters of an assetAll assets have a globally unique symbol name that controls how they...
uint32_t withdrawal_period_sec
New length of the period between withdrawals.
void_result do_apply(const operation_type &op) const
void remove(const object &obj)
account_id_type authorized_account
The account previously authorized to make withdrawals. Must match withdrawal_permission->authorized_a...
void_result do_evaluate(const operation_type &op) const
const T & create(F &&constructor)
Create a new withdrawal permissionThis operation creates a withdrawal permission, which allows some a...
uint8_t block_interval
interval in seconds between blocks
const global_property_object & get_global_properties() const
time_point_sec period_start_time
New beginning of the next withdrawal period; must be in the future.