Bitshares-Core  2.0.181105
BitShares blockchain implementation and command-line interface software
Classes | Public Member Functions | Public Attributes | List of all members
graphene::chain::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::chain::withdraw_permission_create_operation:
graphene::chain::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::chain::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
 

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::chain::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 49 of file withdraw_permission.hpp.

Member Function Documentation

◆ fee_payer()

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

Definition at line 67 of file withdraw_permission.hpp.

◆ validate()

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

Definition at line 52 of file withdraw_permission.cpp.

Member Data Documentation

◆ authorized_account

account_id_type graphene::chain::withdraw_permission_create_operation::authorized_account

The account authorized to make withdrawals from withdraw_from_account.

Definition at line 57 of file withdraw_permission.hpp.

◆ fee

asset graphene::chain::withdraw_permission_create_operation::fee

Definition at line 53 of file withdraw_permission.hpp.

◆ period_start_time

time_point_sec graphene::chain::withdraw_permission_create_operation::period_start_time

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

Definition at line 65 of file withdraw_permission.hpp.

◆ periods_until_expiration

uint32_t graphene::chain::withdraw_permission_create_operation::periods_until_expiration = 0

The number of withdrawal periods this permission is valid for.

Definition at line 63 of file withdraw_permission.hpp.

◆ withdraw_from_account

account_id_type graphene::chain::withdraw_permission_create_operation::withdraw_from_account

The account authorizing withdrawals from its balances.

Definition at line 55 of file withdraw_permission.hpp.

◆ withdrawal_limit

asset graphene::chain::withdraw_permission_create_operation::withdrawal_limit

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

Definition at line 59 of file withdraw_permission.hpp.

◆ withdrawal_period_sec

uint32_t graphene::chain::withdraw_permission_create_operation::withdrawal_period_sec = 0

Length of the withdrawal period in seconds.

Definition at line 61 of file withdraw_permission.hpp.


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