BitShares-Core  5.0.0
BitShares blockchain implementation and command-line interface software
Classes | Public Member Functions | Public Attributes | List of all members
graphene::protocol::withdraw_permission_create_operation Struct Reference

Create a new withdrawal permissionThis operation creates a withdrawal permission, which allows some authorized account to withdraw from an authorizing account. This operation is primarily useful for scheduling recurring payments. More...

#include <withdraw_permission.hpp>

Inheritance diagram for graphene::protocol::withdraw_permission_create_operation:
graphene::protocol::base_operation

Classes

struct  fee_parameters_type
 

Public Member Functions

account_id_type fee_payer () const
 
void validate () const
 
- Public Member Functions inherited from graphene::protocol::base_operation
template<typename T >
share_type calculate_fee (const T &params) const
 
void get_required_authorities (vector< authority > &) const
 
void get_required_active_authorities (flat_set< account_id_type > &) const
 
void get_required_owner_authorities (flat_set< account_id_type > &) const
 
void validate () const
 
fc::optional< fc::future< void > > validate_parallel (uint32_t skip) const
 

Public Attributes

asset fee
 
account_id_type withdraw_from_account
 The account authorizing withdrawals from its balances. More...
 
account_id_type authorized_account
 The account authorized to make withdrawals from withdraw_from_account. More...
 
asset withdrawal_limit
 The maximum amount authorized_account is allowed to withdraw in a given withdrawal period. More...
 
uint32_t withdrawal_period_sec = 0
 Length of the withdrawal period in seconds. More...
 
uint32_t periods_until_expiration = 0
 The number of withdrawal periods this permission is valid for. More...
 
time_point_sec period_start_time
 Time at which the first withdrawal period begins; must be in the future. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from graphene::protocol::base_operation
static uint64_t calculate_data_fee (uint64_t bytes, uint64_t price_per_kbyte)
 

Detailed Description

Create a new withdrawal permission

This operation creates a withdrawal permission, which allows some authorized account to withdraw from an authorizing account. This operation is primarily useful for scheduling recurring payments.

Withdrawal permissions define withdrawal periods, which is a span of time during which the authorized account may make a withdrawal. Any number of withdrawals may be made so long as the total amount withdrawn per period does not exceed the limit for any given period.

Withdrawal permissions authorize only a specific pairing, i.e. a permission only authorizes one specified authorized account to withdraw from one specified authorizing account. Withdrawals are limited and may not exceet the withdrawal limit. The withdrawal must be made in the same asset as the limit; attempts with withdraw any other asset type will be rejected.

The fee for this operation is paid by withdraw_from_account, and this account is required to authorize this operation.

Definition at line 50 of file withdraw_permission.hpp.

Member Function Documentation

account_id_type graphene::protocol::withdraw_permission_create_operation::fee_payer ( ) const
inline

Definition at line 68 of file withdraw_permission.hpp.

void graphene::protocol::withdraw_permission_create_operation::validate ( ) const

Definition at line 54 of file withdraw_permission.cpp.

Member Data Documentation

account_id_type graphene::protocol::withdraw_permission_create_operation::authorized_account

The account authorized to make withdrawals from withdraw_from_account.

Definition at line 58 of file withdraw_permission.hpp.

asset graphene::protocol::withdraw_permission_create_operation::fee

Definition at line 54 of file withdraw_permission.hpp.

time_point_sec graphene::protocol::withdraw_permission_create_operation::period_start_time

Time at which the first withdrawal period begins; must be in the future.

Definition at line 66 of file withdraw_permission.hpp.

uint32_t graphene::protocol::withdraw_permission_create_operation::periods_until_expiration = 0

The number of withdrawal periods this permission is valid for.

Definition at line 64 of file withdraw_permission.hpp.

account_id_type graphene::protocol::withdraw_permission_create_operation::withdraw_from_account

The account authorizing withdrawals from its balances.

Definition at line 56 of file withdraw_permission.hpp.

asset graphene::protocol::withdraw_permission_create_operation::withdrawal_limit

The maximum amount authorized_account is allowed to withdraw in a given withdrawal period.

Definition at line 60 of file withdraw_permission.hpp.

uint32_t graphene::protocol::withdraw_permission_create_operation::withdrawal_period_sec = 0

Length of the withdrawal period in seconds.

Definition at line 62 of file withdraw_permission.hpp.


The documentation for this struct was generated from the following files: